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;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{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","\"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: 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: 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: 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\nexports.Mod = (node, mods) => ({\r\n ...node, ...(typeof mods === 'function' ? mods(node) : mods)\r\n});\r\nexports.Has = (key, node) => exports.Mod(node, {\r\n enabled: (p) => p.push(key).get() !== undefined\r\n});\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\nexports.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\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\nexports.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\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\nexports.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\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\nexports.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 = 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\nconst XOrList = (x) => ((node, config) => {\r\n return 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: 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\nexports.ObjectOrPreset = (presetNode, objectNode, presets) => {\r\n return 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\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\nexports.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\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\nexports.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.NumberEnum = ({ integer, values }) => __1.Mod(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\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\nexports.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 = 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 ? 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 = 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\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Reference = void 0;\r\nexports.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\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 var _a;\r\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.enum);\r\n};\r\nconst isValidator = (value) => {\r\n var _a;\r\n return !!((_a = value) === null || _a === void 0 ? void 0 : _a.validator);\r\n};\r\n/**\r\n * Simple string node with one text field\r\n */\r\nexports.StringNode = (collections, config) => {\r\n const getValues = isEnum(config)\r\n ? ((typeof config.enum === 'string')\r\n ? () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.enum)) !== null && _a !== void 0 ? _a : []; }\r\n : () => config.enum)\r\n : (((config === null || config === void 0 ? void 0 : config.validator) === 'resource')\r\n ? ((typeof config.params.pool === 'string')\r\n ? (config.params.pool.startsWith('$')\r\n ? () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.params.pool.slice(1))) !== null && _a !== void 0 ? _a : []; }\r\n : () => { var _a; return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.params.pool)) !== null && _a !== void 0 ? _a : []; })\r\n : () => config.params.pool)\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[0] === '#'\r\n ? '#minecraft:' + value.slice(1)\r\n : 'minecraft:' + value;\r\n }\r\n if (config.validator === 'resource' && ((typeof config.params.pool === 'string' && config.params.pool.startsWith('$')) ||\r\n (config.params.allowTag && value[0] === '#') ||\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\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 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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\" && !exports.hasOwnProperty(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","\n/*! pako 2.0.4 https://github.com/nodeca/pako @license (MIT AND Zlib) */\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//const Z_FILTERED = 1;\n//const Z_HUFFMAN_ONLY = 2;\n//const Z_RLE = 3;\nconst Z_FIXED$1 = 4;\n//const Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nconst Z_BINARY = 0;\nconst Z_TEXT = 1;\n//const Z_ASCII = 1; // = Z_TEXT\nconst Z_UNKNOWN$1 = 2;\n\n/*============================================================================*/\n\n\nfunction zero$1(buf) { let len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nconst STORED_BLOCK = 0;\nconst STATIC_TREES = 1;\nconst DYN_TREES = 2;\n/* The three kinds of block type */\n\nconst MIN_MATCH$1 = 3;\nconst MAX_MATCH$1 = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nconst LENGTH_CODES$1 = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nconst LITERALS$1 = 256;\n/* number of literal bytes 0..255 */\n\nconst L_CODES$1 = LITERALS$1 + 1 + LENGTH_CODES$1;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nconst D_CODES$1 = 30;\n/* number of distance codes */\n\nconst BL_CODES$1 = 19;\n/* number of codes used to transfer the bit lengths */\n\nconst HEAP_SIZE$1 = 2 * L_CODES$1 + 1;\n/* maximum heap size */\n\nconst MAX_BITS$1 = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nconst Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nconst MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nconst END_BLOCK = 256;\n/* end of block literal code */\n\nconst REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nconst REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nconst REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nconst extra_lbits = /* extra bits for each length code */\n new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]);\n\nconst extra_dbits = /* extra bits for each distance code */\n new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]);\n\nconst extra_blbits = /* extra bits for each bit length code */\n new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]);\n\nconst bl_order =\n new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nconst DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nconst static_ltree = new Array((L_CODES$1 + 2) * 2);\nzero$1(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nconst static_dtree = new Array(D_CODES$1 * 2);\nzero$1(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nconst _dist_code = new Array(DIST_CODE_LEN);\nzero$1(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nconst _length_code = new Array(MAX_MATCH$1 - MIN_MATCH$1 + 1);\nzero$1(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nconst base_length = new Array(LENGTH_CODES$1);\nzero$1(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nconst base_dist = new Array(D_CODES$1);\nzero$1(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n}\n\n\nlet static_l_desc;\nlet static_d_desc;\nlet static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n}\n\n\n\nconst d_code = (dist) => {\n\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n};\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nconst put_short = (s, w) => {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n};\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nconst send_bits = (s, value, length) => {\n\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n};\n\n\nconst send_code = (s, c, tree) => {\n\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n};\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nconst bi_reverse = (code, len) => {\n\n let res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n};\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nconst bi_flush = (s) => {\n\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n};\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nconst gen_bitlen = (s, desc) =>\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n const tree = desc.dyn_tree;\n const max_code = desc.max_code;\n const stree = desc.stat_desc.static_tree;\n const has_stree = desc.stat_desc.has_stree;\n const extra = desc.stat_desc.extra_bits;\n const base = desc.stat_desc.extra_base;\n const max_length = desc.stat_desc.max_length;\n let h; /* heap index */\n let n, m; /* iterate over the tree elements */\n let bits; /* bit length */\n let xbits; /* extra bits */\n let f; /* frequency */\n let overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS$1; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max + 1; h < HEAP_SIZE$1; h++) {\n n = s.heap[h];\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n * 2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n - base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n tree[m * 2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n};\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nconst gen_codes = (tree, max_code, bl_count) =>\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n const next_code = new Array(MAX_BITS$1 + 1); /* next code value for each bit length */\n let code = 0; /* running code value */\n let bits; /* bit index */\n let n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS$1; bits++) {\n next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< {\n\n let n; /* iterates over tree elements */\n let bits; /* bit counter */\n let length; /* length value */\n let code; /* code value */\n let dist; /* distance index */\n const bl_count = new Array(MAX_BITS$1 + 1);\n /* number of codes at each bit length for an optimal tree */\n\n // do check in _tr_init()\n //if (static_init_done) return;\n\n /* For some embedded targets, global variables are not initialized: */\n/*#ifdef NO_INIT_GLOBAL_POINTERS\n static_l_desc.static_tree = static_ltree;\n static_l_desc.extra_bits = extra_lbits;\n static_d_desc.static_tree = static_dtree;\n static_d_desc.extra_bits = extra_dbits;\n static_bl_desc.extra_bits = extra_blbits;\n#endif*/\n\n /* Initialize the mapping length (0..255) -> length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES$1 - 1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\n _length_code[length++] = code;\n }\n }\n //Assert (length == 256, \"tr_static_init: length != 256\");\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n _length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\n _dist_code[dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: dist != 256\");\n dist >>= 7; /* from now on, all distances are divided by 128 */\n for (; code < D_CODES$1; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS$1; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES$1 + 1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES$1; n++) {\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS$1 + 1, L_CODES$1, MAX_BITS$1);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES$1, MAX_BITS$1);\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES$1, MAX_BL_BITS);\n\n //static_init_done = true;\n};\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nconst init_block = (s) => {\n\n let n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES$1; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES$1; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES$1; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n};\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nconst bi_windup = (s) =>\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n};\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nconst copy_block = (s, buf, len, header) =>\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n s.pending_buf.set(s.window.subarray(buf, buf + len), s.pending);\n s.pending += len;\n};\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nconst smaller = (tree, n, m, depth) => {\n\n const _n2 = n * 2;\n const _m2 = m * 2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n};\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nconst pqdownheap = (s, tree, k) =>\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n const v = s.heap[k];\n let j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n};\n\n\n// inlined manually\n// const SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nconst compress_block = (s, ltree, dtree) =>\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n let dist; /* distance of matched string */\n let lc; /* match length or unmatched char (if dist == 0) */\n let lx = 0; /* running index in l_buf */\n let code; /* the code to send */\n let extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code + LITERALS$1 + 1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n};\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nconst build_tree = (s, desc) =>\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n const tree = desc.dyn_tree;\n const stree = desc.stat_desc.static_tree;\n const has_stree = desc.stat_desc.has_stree;\n const elems = desc.stat_desc.elems;\n let n, m; /* iterate over heap elements */\n let max_code = -1; /* largest code with non zero frequency */\n let node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE$1;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n * 2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n};\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nconst scan_tree = (s, tree, max_code) =>\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n let n; /* iterates over all tree elements */\n let prevlen = -1; /* last emitted length */\n let curlen; /* length of current code */\n\n let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n let count = 0; /* repeat count of the current code */\n let max_count = 7; /* max repeat count */\n let min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n};\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nconst send_tree = (s, tree, max_code) =>\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n let n; /* iterates over all tree elements */\n let prevlen = -1; /* last emitted length */\n let curlen; /* length of current code */\n\n let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n let count = 0; /* repeat count of the current code */\n let max_count = 7; /* max repeat count */\n let min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count - 3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count - 3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count - 11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n};\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nconst build_bl_tree = (s) => {\n\n let max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES$1 - 1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n};\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nconst send_all_trees = (s, lcodes, dcodes, blcodes) =>\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n let rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes - 1, 5);\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n};\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nconst detect_data_type = (s) => {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n let black_mask = 0xf3ffc07f;\n let n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS$1; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n};\n\n\nlet static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nconst _tr_init$1 = (s) =>\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n};\n\n\n/* ===========================================================================\n * Send a stored block\n */\nconst _tr_stored_block$1 = (s, buf, stored_len, last) =>\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n};\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nconst _tr_align$1 = (s) => {\n send_bits(s, STATIC_TREES << 1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n};\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nconst _tr_flush_block$1 = (s, buf, stored_len, last) =>\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n let opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n let max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN$1) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block$1(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED$1 || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n};\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nconst _tr_tally$1 = (s, dist, lc) =>\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //let out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc * 2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc] + LITERALS$1 + 1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize - 1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n};\n\nvar _tr_init_1 = _tr_init$1;\nvar _tr_stored_block_1 = _tr_stored_block$1;\nvar _tr_flush_block_1 = _tr_flush_block$1;\nvar _tr_tally_1 = _tr_tally$1;\nvar _tr_align_1 = _tr_align$1;\n\nvar trees = {\n\t_tr_init: _tr_init_1,\n\t_tr_stored_block: _tr_stored_block_1,\n\t_tr_flush_block: _tr_flush_block_1,\n\t_tr_tally: _tr_tally_1,\n\t_tr_align: _tr_align_1\n};\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst adler32 = (adler, buf, len, pos) => {\n let s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n};\n\n\nvar adler32_1 = adler32;\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nconst makeTable = () => {\n let c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n};\n\n// Create table on load. Just 255 signed longs. Not a problem.\nconst crcTable = new Uint32Array(makeTable());\n\n\nconst crc32 = (crc, buf, len, pos) => {\n const t = crcTable;\n const end = pos + len;\n\n crc ^= -1;\n\n for (let i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n};\n\n\nvar crc32_1 = crc32;\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar messages = {\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\n 1: 'stream end', /* Z_STREAM_END 1 */\n 0: '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar constants$2 = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst { _tr_init, _tr_stored_block, _tr_flush_block, _tr_tally, _tr_align } = trees;\n\n\n\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_NO_FLUSH: Z_NO_FLUSH$2, Z_PARTIAL_FLUSH, Z_FULL_FLUSH: Z_FULL_FLUSH$1, Z_FINISH: Z_FINISH$3, Z_BLOCK: Z_BLOCK$1,\n Z_OK: Z_OK$3, Z_STREAM_END: Z_STREAM_END$3, Z_STREAM_ERROR: Z_STREAM_ERROR$2, Z_DATA_ERROR: Z_DATA_ERROR$2, Z_BUF_ERROR: Z_BUF_ERROR$1,\n Z_DEFAULT_COMPRESSION: Z_DEFAULT_COMPRESSION$1,\n Z_FILTERED, Z_HUFFMAN_ONLY, Z_RLE, Z_FIXED, Z_DEFAULT_STRATEGY: Z_DEFAULT_STRATEGY$1,\n Z_UNKNOWN,\n Z_DEFLATED: Z_DEFLATED$2\n} = constants$2;\n\n/*============================================================================*/\n\n\nconst MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nconst MAX_WBITS$1 = 15;\n/* 32K LZ77 window */\nconst DEF_MEM_LEVEL = 8;\n\n\nconst LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nconst LITERALS = 256;\n/* number of literal bytes 0..255 */\nconst L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nconst D_CODES = 30;\n/* number of distance codes */\nconst BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nconst HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\nconst MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nconst MIN_MATCH = 3;\nconst MAX_MATCH = 258;\nconst MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nconst PRESET_DICT = 0x20;\n\nconst INIT_STATE = 42;\nconst EXTRA_STATE = 69;\nconst NAME_STATE = 73;\nconst COMMENT_STATE = 91;\nconst HCRC_STATE = 103;\nconst BUSY_STATE = 113;\nconst FINISH_STATE = 666;\n\nconst BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nconst BS_BLOCK_DONE = 2; /* block flush performed */\nconst BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nconst BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nconst OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nconst err = (strm, errorCode) => {\n strm.msg = messages[errorCode];\n return errorCode;\n};\n\nconst rank = (f) => {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n};\n\nconst zero = (buf) => {\n let len = buf.length; while (--len >= 0) { buf[len] = 0; }\n};\n\n\n/* eslint-disable new-cap */\nlet HASH_ZLIB = (s, prev, data) => ((prev << s.hash_shift) ^ data) & s.hash_mask;\n// This hash causes less collisions, https://github.com/nodeca/pako/issues/135\n// But breaks binary compatibility\n//let HASH_FAST = (s, prev, data) => ((prev << 8) + (prev >> 8) + (data << 4)) & s.hash_mask;\nlet HASH = HASH_ZLIB;\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nconst flush_pending = (strm) => {\n const s = strm.state;\n\n //_tr_flush_bits(s);\n let len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n strm.output.set(s.pending_buf.subarray(s.pending_out, s.pending_out + len), strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n};\n\n\nconst flush_block_only = (s, last) => {\n _tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n};\n\n\nconst put_byte = (s, b) => {\n s.pending_buf[s.pending++] = b;\n};\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nconst putShortMSB = (s, b) => {\n\n // put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n};\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nconst read_buf = (strm, buf, start, size) => {\n\n let len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n // zmemcpy(buf, strm->next_in, len);\n buf.set(strm.input.subarray(strm.next_in, strm.next_in + len), start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32_1(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32_1(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n};\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nconst longest_match = (s, cur_match) => {\n\n let chain_length = s.max_chain_length; /* max hash chain length */\n let scan = s.strstart; /* current string */\n let match; /* matched string */\n let len; /* length of current match */\n let best_len = s.prev_length; /* best match length so far */\n let nice_match = s.nice_match; /* stop if match long enough */\n const limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n const _win = s.window; // shortcut\n\n const wmask = s.w_mask;\n const prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n const strend = s.strstart + MAX_MATCH;\n let scan_end1 = _win[scan + best_len - 1];\n let scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n};\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nconst fill_window = (s) => {\n\n const _w_size = s.w_size;\n let p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n s.window.set(s.window.subarray(_w_size, _w_size + _w_size), 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[str + 1]);\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// const curr = s.strstart + s.lookahead;\n// let init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n};\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nconst deflate_stored = (s, flush) => {\n\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n let max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n const max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n};\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nconst deflate_fast = (s, flush) => {\n\n let hash_head; /* head of the hash chain */\n let bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = _tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + 1]);\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n};\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nconst deflate_slow = (s, flush) => {\n\n let hash_head; /* head of hash chain */\n let bflush; /* set if current block must be flushed */\n\n let max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH - 1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH - 1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = _tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length - 1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH - 1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n};\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nconst deflate_rle = (s, flush) => {\n\n let bflush; /* set if current block must be flushed */\n let prev; /* byte at distance one to match */\n let scan, strend; /* scan goes up to strend for length of run */\n\n const _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = _tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n};\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nconst deflate_huff = (s, flush) => {\n\n let bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n};\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n}\n\nconst configuration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nconst lm_init = (s) => {\n\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n};\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED$2; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new Uint16Array(HEAP_SIZE * 2);\n this.dyn_dtree = new Uint16Array((2 * D_CODES + 1) * 2);\n this.bl_tree = new Uint16Array((2 * BL_CODES + 1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new Uint16Array(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new Uint16Array(2 * L_CODES + 1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new Uint16Array(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nconst deflateResetKeep = (strm) => {\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR$2);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n const s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH$2;\n _tr_init(s);\n return Z_OK$3;\n};\n\n\nconst deflateReset = (strm) => {\n\n const ret = deflateResetKeep(strm);\n if (ret === Z_OK$3) {\n lm_init(strm.state);\n }\n return ret;\n};\n\n\nconst deflateSetHeader = (strm, head) => {\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR$2; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR$2; }\n strm.state.gzhead = head;\n return Z_OK$3;\n};\n\n\nconst deflateInit2 = (strm, level, method, windowBits, memLevel, strategy) => {\n\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR$2;\n }\n let wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION$1) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED$2 ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR$2);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n const s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new Uint8Array(s.w_size * 2);\n s.head = new Uint16Array(s.hash_size);\n s.prev = new Uint16Array(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n\n //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n //s->pending_buf = (uchf *) overlay;\n s.pending_buf = new Uint8Array(s.pending_buf_size);\n\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n s.d_buf = 1 * s.lit_bufsize;\n\n //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n};\n\nconst deflateInit = (strm, level) => {\n\n return deflateInit2(strm, level, Z_DEFLATED$2, MAX_WBITS$1, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY$1);\n};\n\n\nconst deflate$2 = (strm, flush) => {\n\n let beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK$1 || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR$2) : Z_STREAM_ERROR$2;\n }\n\n const s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH$3)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR$1 : Z_STREAM_ERROR$2);\n }\n\n s.strm = strm; /* just in case */\n const old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n let header = (Z_DEFLATED$2 + ((s.w_bits - 8) << 4)) << 8;\n let level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK$3;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH$3) {\n return err(strm, Z_BUF_ERROR$1);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR$1);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH$2 && s.status !== FINISH_STATE)) {\n let bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK$3;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n _tr_align(s);\n }\n else if (flush !== Z_BLOCK$1) { /* FULL_FLUSH or SYNC_FLUSH */\n\n _tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH$1) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK$3;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH$3) { return Z_OK$3; }\n if (s.wrap <= 0) { return Z_STREAM_END$3; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK$3 : Z_STREAM_END$3;\n};\n\n\nconst deflateEnd = (strm) => {\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR$2;\n }\n\n const status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR$2);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR$2) : Z_OK$3;\n};\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nconst deflateSetDictionary = (strm, dictionary) => {\n\n let dictLength = dictionary.length;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR$2;\n }\n\n const s = strm.state;\n const wrap = s.wrap;\n\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n return Z_STREAM_ERROR$2;\n }\n\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n if (wrap === 1) {\n /* adler32(strm->adler, dictionary, dictLength); */\n strm.adler = adler32_1(strm.adler, dictionary, dictLength, 0);\n }\n\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\n\n /* if dictionary would fill window, just replace the history */\n if (dictLength >= s.w_size) {\n if (wrap === 0) { /* already empty otherwise */\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n /* use the tail */\n // dictionary = dictionary.slice(dictLength - s.w_size);\n let tmpDict = new Uint8Array(s.w_size);\n tmpDict.set(dictionary.subarray(dictLength - s.w_size, dictLength), 0);\n dictionary = tmpDict;\n dictLength = s.w_size;\n }\n /* insert dictionary into window and hash */\n const avail = strm.avail_in;\n const next = strm.next_in;\n const input = strm.input;\n strm.avail_in = dictLength;\n strm.next_in = 0;\n strm.input = dictionary;\n fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n let str = s.strstart;\n let n = s.lookahead - (MIN_MATCH - 1);\n do {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n s.head[s.ins_h] = str;\n str++;\n } while (--n);\n s.strstart = str;\n s.lookahead = MIN_MATCH - 1;\n fill_window(s);\n }\n s.strstart += s.lookahead;\n s.block_start = s.strstart;\n s.insert = s.lookahead;\n s.lookahead = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n strm.next_in = next;\n strm.input = input;\n strm.avail_in = avail;\n s.wrap = wrap;\n return Z_OK$3;\n};\n\n\nvar deflateInit_1 = deflateInit;\nvar deflateInit2_1 = deflateInit2;\nvar deflateReset_1 = deflateReset;\nvar deflateResetKeep_1 = deflateResetKeep;\nvar deflateSetHeader_1 = deflateSetHeader;\nvar deflate_2$1 = deflate$2;\nvar deflateEnd_1 = deflateEnd;\nvar deflateSetDictionary_1 = deflateSetDictionary;\nvar deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nmodule.exports.deflateBound = deflateBound;\nmodule.exports.deflateCopy = deflateCopy;\nmodule.exports.deflateParams = deflateParams;\nmodule.exports.deflatePending = deflatePending;\nmodule.exports.deflatePrime = deflatePrime;\nmodule.exports.deflateTune = deflateTune;\n*/\n\nvar deflate_1$2 = {\n\tdeflateInit: deflateInit_1,\n\tdeflateInit2: deflateInit2_1,\n\tdeflateReset: deflateReset_1,\n\tdeflateResetKeep: deflateResetKeep_1,\n\tdeflateSetHeader: deflateSetHeader_1,\n\tdeflate: deflate_2$1,\n\tdeflateEnd: deflateEnd_1,\n\tdeflateSetDictionary: deflateSetDictionary_1,\n\tdeflateInfo: deflateInfo\n};\n\nconst _has = (obj, key) => {\n return Object.prototype.hasOwnProperty.call(obj, key);\n};\n\nvar assign = function (obj /*from1, from2, from3, ...*/) {\n const sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n const source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (const p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// Join array of chunks to single array.\nvar flattenChunks = (chunks) => {\n // calculate data length\n let len = 0;\n\n for (let i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n const result = new Uint8Array(len);\n\n for (let i = 0, pos = 0, l = chunks.length; i < l; i++) {\n let chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n};\n\nvar common = {\n\tassign: assign,\n\tflattenChunks: flattenChunks\n};\n\n// String encode/decode helpers\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\n//\nlet STR_APPLY_UIA_OK = true;\n\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\n\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nconst _utf8len = new Uint8Array(256);\nfor (let q = 0; q < 256; q++) {\n _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n}\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nvar string2buf = (str) => {\n if (typeof TextEncoder === 'function' && TextEncoder.prototype.encode) {\n return new TextEncoder().encode(str);\n }\n\n let buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new Uint8Array(buf_len);\n\n // convert\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper\nconst buf2binstring = (buf, len) => {\n // On Chrome, the arguments in a function call that are allowed is `65534`.\n // If the length of the buffer is smaller than that, we can use this optimization,\n // otherwise we will take a slower path.\n if (len < 65534) {\n if (buf.subarray && STR_APPLY_UIA_OK) {\n return String.fromCharCode.apply(null, buf.length === len ? buf : buf.subarray(0, len));\n }\n }\n\n let result = '';\n for (let i = 0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n};\n\n\n// convert array to string\nvar buf2string = (buf, max) => {\n const len = max || buf.length;\n\n if (typeof TextDecoder === 'function' && TextDecoder.prototype.decode) {\n return new TextDecoder().decode(buf.subarray(0, max));\n }\n\n let i, out;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n const utf16buf = new Array(len * 2);\n\n for (out = 0, i = 0; i < len;) {\n let c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n let c_len = _utf8len[c];\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nvar utf8border = (buf, max) => {\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n let pos = max - 1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means buffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\nvar strings = {\n\tstring2buf: string2buf,\n\tbuf2string: buf2string,\n\tutf8border: utf8border\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nvar zstream = ZStream;\n\nconst toString$1 = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_NO_FLUSH: Z_NO_FLUSH$1, Z_SYNC_FLUSH, Z_FULL_FLUSH, Z_FINISH: Z_FINISH$2,\n Z_OK: Z_OK$2, Z_STREAM_END: Z_STREAM_END$2,\n Z_DEFAULT_COMPRESSION,\n Z_DEFAULT_STRATEGY,\n Z_DEFLATED: Z_DEFLATED$1\n} = constants$2;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * , chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * const deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nfunction Deflate$1(options) {\n this.options = common.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED$1,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY\n }, options || {});\n\n let opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n let status = deflate_1$2.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK$2) {\n throw new Error(messages[status]);\n }\n\n if (opt.header) {\n deflate_1$2.deflateSetHeader(this.strm, opt.header);\n }\n\n if (opt.dictionary) {\n let dict;\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n // If we need to compress text, change encoding to utf8.\n dict = strings.string2buf(opt.dictionary);\n } else if (toString$1.call(opt.dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(opt.dictionary);\n } else {\n dict = opt.dictionary;\n }\n\n status = deflate_1$2.deflateSetDictionary(this.strm, dict);\n\n if (status !== Z_OK$2) {\n throw new Error(messages[status]);\n }\n\n this._dict_set = true;\n }\n}\n\n/**\n * Deflate#push(data[, flush_mode]) -> Boolean\n * - data (Uint8Array|ArrayBuffer|String): input data. Strings will be\n * converted to utf8 byte sequence.\n * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must\n * have `flush_mode` Z_FINISH (or `true`). That will flush internal pending\n * buffers and call [[Deflate#onEnd]].\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate$1.prototype.push = function (data, flush_mode) {\n const strm = this.strm;\n const chunkSize = this.options.chunkSize;\n let status, _flush_mode;\n\n if (this.ended) { return false; }\n\n if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;\n else _flush_mode = flush_mode === true ? Z_FINISH$2 : Z_NO_FLUSH$1;\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else if (toString$1.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n for (;;) {\n if (strm.avail_out === 0) {\n strm.output = new Uint8Array(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n // Make sure avail_out > 6 to avoid repeating markers\n if ((_flush_mode === Z_SYNC_FLUSH || _flush_mode === Z_FULL_FLUSH) && strm.avail_out <= 6) {\n this.onData(strm.output.subarray(0, strm.next_out));\n strm.avail_out = 0;\n continue;\n }\n\n status = deflate_1$2.deflate(strm, _flush_mode);\n\n // Ended => flush and finish\n if (status === Z_STREAM_END$2) {\n if (strm.next_out > 0) {\n this.onData(strm.output.subarray(0, strm.next_out));\n }\n status = deflate_1$2.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK$2;\n }\n\n // Flush if out buffer full\n if (strm.avail_out === 0) {\n this.onData(strm.output);\n continue;\n }\n\n // Flush if requested and has data\n if (_flush_mode > 0 && strm.next_out > 0) {\n this.onData(strm.output.subarray(0, strm.next_out));\n strm.avail_out = 0;\n continue;\n }\n\n if (strm.avail_in === 0) break;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array): output data.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate$1.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH). By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate$1.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK$2) {\n this.result = common.flattenChunks(this.chunks);\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array\n * - data (Uint8Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * const data = new Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate$1(input, options) {\n const deflator = new Deflate$1(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg || messages[deflator.err]; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array\n * - data (Uint8Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw$1(input, options) {\n options = options || {};\n options.raw = true;\n return deflate$1(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array\n * - data (Uint8Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip$1(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate$1(input, options);\n}\n\n\nvar Deflate_1$1 = Deflate$1;\nvar deflate_2 = deflate$1;\nvar deflateRaw_1$1 = deflateRaw$1;\nvar gzip_1$1 = gzip$1;\nvar constants$1 = constants$2;\n\nvar deflate_1$1 = {\n\tDeflate: Deflate_1$1,\n\tdeflate: deflate_2,\n\tdeflateRaw: deflateRaw_1$1,\n\tgzip: gzip_1$1,\n\tconstants: constants$1\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nconst BAD$1 = 30; /* got a data error -- remain here until reset */\nconst TYPE$1 = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nvar inffast = function inflate_fast(strm, start) {\n let _in; /* local strm.input */\n let last; /* have enough input while in < last */\n let _out; /* local strm.output */\n let beg; /* inflate()'s initial strm.output */\n let end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n let dmax; /* maximum distance from zlib header */\n//#endif\n let wsize; /* window size or zero if not using window */\n let whave; /* valid bytes in the window */\n let wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n let s_window; /* allocated sliding window, if wsize != 0 */\n let hold; /* local strm.hold */\n let bits; /* local strm.bits */\n let lcode; /* local strm.lencode */\n let dcode; /* local strm.distcode */\n let lmask; /* mask for first level of length codes */\n let dmask; /* mask for first level of distance codes */\n let here; /* retrieved table entry */\n let op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n let len; /* match length, unused bytes */\n let dist; /* match distance */\n let from; /* where to copy match from */\n let from_source;\n\n\n let input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n const state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD$1;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD$1;\n break top;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD$1;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE$1;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD$1;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst MAXBITS = 15;\nconst ENOUGH_LENS$1 = 852;\nconst ENOUGH_DISTS$1 = 592;\n//const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nconst CODES$1 = 0;\nconst LENS$1 = 1;\nconst DISTS$1 = 2;\n\nconst lbase = new Uint16Array([ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n]);\n\nconst lext = new Uint8Array([ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n]);\n\nconst dbase = new Uint16Array([ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n]);\n\nconst dext = new Uint8Array([ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n]);\n\nconst inflate_table = (type, lens, lens_index, codes, table, table_index, work, opts) =>\n{\n const bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n let len = 0; /* a code's length in bits */\n let sym = 0; /* index of code symbols */\n let min = 0, max = 0; /* minimum and maximum code lengths */\n let root = 0; /* number of index bits for root table */\n let curr = 0; /* number of index bits for current table */\n let drop = 0; /* code bits to drop for sub-table */\n let left = 0; /* number of prefix codes available */\n let used = 0; /* code entries in table used */\n let huff = 0; /* Huffman code */\n let incr; /* for incrementing code, index */\n let fill; /* index for replicating entries */\n let low; /* low bits for current root entry */\n let mask; /* mask for low root bits */\n let next; /* next available space in table */\n let base = null; /* base value table to use */\n let base_index = 0;\n// let shoextra; /* extra bits table to use */\n let end; /* use base and extra for symbol > end */\n const count = new Uint16Array(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n const offs = new Uint16Array(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n let extra = null;\n let extra_index = 0;\n\n let here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES$1 || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES$1) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n\n } else if (type === LENS$1) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS$1 && used > ENOUGH_LENS$1) ||\n (type === DISTS$1 && used > ENOUGH_DISTS$1)) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS$1 && used > ENOUGH_LENS$1) ||\n (type === DISTS$1 && used > ENOUGH_DISTS$1)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n\nvar inftrees = inflate_table;\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n\n\n\n\n\nconst CODES = 0;\nconst LENS = 1;\nconst DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_FINISH: Z_FINISH$1, Z_BLOCK, Z_TREES,\n Z_OK: Z_OK$1, Z_STREAM_END: Z_STREAM_END$1, Z_NEED_DICT: Z_NEED_DICT$1, Z_STREAM_ERROR: Z_STREAM_ERROR$1, Z_DATA_ERROR: Z_DATA_ERROR$1, Z_MEM_ERROR: Z_MEM_ERROR$1, Z_BUF_ERROR,\n Z_DEFLATED\n} = constants$2;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nconst HEAD = 1; /* i: waiting for magic header */\nconst FLAGS = 2; /* i: waiting for method and flags (gzip) */\nconst TIME = 3; /* i: waiting for modification time (gzip) */\nconst OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nconst EXLEN = 5; /* i: waiting for extra length (gzip) */\nconst EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nconst NAME = 7; /* i: waiting for end of file name (gzip) */\nconst COMMENT = 8; /* i: waiting for end of comment (gzip) */\nconst HCRC = 9; /* i: waiting for header crc (gzip) */\nconst DICTID = 10; /* i: waiting for dictionary check value */\nconst DICT = 11; /* waiting for inflateSetDictionary() call */\nconst TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nconst TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nconst STORED = 14; /* i: waiting for stored size (length and complement) */\nconst COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nconst COPY = 16; /* i/o: waiting for input or output to copy stored block */\nconst TABLE = 17; /* i: waiting for dynamic block table lengths */\nconst LENLENS = 18; /* i: waiting for code length code lengths */\nconst CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nconst LEN_ = 20; /* i: same as LEN below, but only first time in */\nconst LEN = 21; /* i: waiting for length/lit/eob code */\nconst LENEXT = 22; /* i: waiting for length extra bits */\nconst DIST = 23; /* i: waiting for distance code */\nconst DISTEXT = 24; /* i: waiting for distance extra bits */\nconst MATCH = 25; /* o: waiting for output space to copy string */\nconst LIT = 26; /* o: waiting for output space to write literal */\nconst CHECK = 27; /* i: waiting for 32-bit check value */\nconst LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nconst DONE = 29; /* finished check, done -- remain here until reset */\nconst BAD = 30; /* got a data error -- remain here until reset */\nconst MEM = 31; /* got an inflate() memory error -- remain here until reset */\nconst SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nconst ENOUGH_LENS = 852;\nconst ENOUGH_DISTS = 592;\n//const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nconst MAX_WBITS = 15;\n/* 32K LZ77 window */\nconst DEF_WBITS = MAX_WBITS;\n\n\nconst zswap32 = (q) => {\n\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n};\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new Uint16Array(320); /* temporary storage for code lengths */\n this.work = new Uint16Array(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new Int32Array(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\n\nconst inflateResetKeep = (strm) => {\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new Int32Array(ENOUGH_LENS);\n state.distcode = state.distdyn = new Int32Array(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK$1;\n};\n\n\nconst inflateReset = (strm) => {\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n};\n\n\nconst inflateReset2 = (strm, windowBits) => {\n let wrap;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR$1;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n};\n\n\nconst inflateInit2 = (strm, windowBits) => {\n\n if (!strm) { return Z_STREAM_ERROR$1; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n const state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n const ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK$1) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n};\n\n\nconst inflateInit = (strm) => {\n\n return inflateInit2(strm, DEF_WBITS);\n};\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nlet virgin = true;\n\nlet lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\n\nconst fixedtables = (state) => {\n\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n lenfix = new Int32Array(512);\n distfix = new Int32Array(32);\n\n /* literal/length table */\n let sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inftrees(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inftrees(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n};\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nconst updatewindow = (strm, src, end, copy) => {\n\n let dist;\n const state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new Uint8Array(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n state.window.set(src.subarray(end - state.wsize, end), 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n state.window.set(src.subarray(end - copy, end - copy + dist), state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n state.window.set(src.subarray(end - copy, end), 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n};\n\n\nconst inflate$2 = (strm, flush) => {\n\n let state;\n let input, output; // input/output buffers\n let next; /* next input INDEX */\n let put; /* next output INDEX */\n let have, left; /* available input and output */\n let hold; /* bit buffer */\n let bits; /* bits in bit buffer */\n let _in, _out; /* save starting available input and output */\n let copy; /* number of stored or match bytes to copy */\n let from; /* where to copy match bytes from */\n let from_source;\n let here = 0; /* current decoding table entry */\n let here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //let last; /* parent table entry */\n let last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n let len; /* length to copy for repeats, bits to drop */\n let ret; /* return code */\n const hbuf = new Uint8Array(4); /* buffer for gzip header crc calculation */\n let opts;\n\n let n; // temporary variable for NEED_BITS\n\n const order = /* permutation of code lengths */\n new Uint8Array([ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]);\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR$1;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK$1;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n\n // !!! pako patch. Force use `options.windowBits` if passed.\n // Required to always use max window size by default.\n state.dmax = 1 << state.wbits;\n //state.dmax = 1 << len;\n\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32_1(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more convenient processing later\n state.head.extra = new Uint8Array(state.head.extra_len);\n }\n state.head.extra.set(\n input.subarray(\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n next + copy\n ),\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32_1(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32_1(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32_1(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT$1;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n output.set(input.subarray(next, next + copy), put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = inftrees(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = inftrees(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = inftrees(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inffast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' instead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32_1(state.check, output, _out, put - _out) : adler32_1(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END$1;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR$1;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR$1;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR$1;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH$1))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) ;\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32_1(state.check, output, _out, strm.next_out - _out) : adler32_1(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH$1) && ret === Z_OK$1) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n};\n\n\nconst inflateEnd = (strm) => {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR$1;\n }\n\n let state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK$1;\n};\n\n\nconst inflateGetHeader = (strm, head) => {\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR$1; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK$1;\n};\n\n\nconst inflateSetDictionary = (strm, dictionary) => {\n const dictLength = dictionary.length;\n\n let state;\n let dictid;\n let ret;\n\n /* check state */\n if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR$1; }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR$1;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = adler32_1(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR$1;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR$1;\n }\n state.havedict = 1;\n // Tracev((stderr, \"inflate: dictionary set\\n\"));\n return Z_OK$1;\n};\n\n\nvar inflateReset_1 = inflateReset;\nvar inflateReset2_1 = inflateReset2;\nvar inflateResetKeep_1 = inflateResetKeep;\nvar inflateInit_1 = inflateInit;\nvar inflateInit2_1 = inflateInit2;\nvar inflate_2$1 = inflate$2;\nvar inflateEnd_1 = inflateEnd;\nvar inflateGetHeader_1 = inflateGetHeader;\nvar inflateSetDictionary_1 = inflateSetDictionary;\nvar inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nmodule.exports.inflateCopy = inflateCopy;\nmodule.exports.inflateGetDictionary = inflateGetDictionary;\nmodule.exports.inflateMark = inflateMark;\nmodule.exports.inflatePrime = inflatePrime;\nmodule.exports.inflateSync = inflateSync;\nmodule.exports.inflateSyncPoint = inflateSyncPoint;\nmodule.exports.inflateUndermine = inflateUndermine;\n*/\n\nvar inflate_1$2 = {\n\tinflateReset: inflateReset_1,\n\tinflateReset2: inflateReset2_1,\n\tinflateResetKeep: inflateResetKeep_1,\n\tinflateInit: inflateInit_1,\n\tinflateInit2: inflateInit2_1,\n\tinflate: inflate_2$1,\n\tinflateEnd: inflateEnd_1,\n\tinflateGetHeader: inflateGetHeader_1,\n\tinflateSetDictionary: inflateSetDictionary_1,\n\tinflateInfo: inflateInfo\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nvar gzheader = GZheader;\n\nconst toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_NO_FLUSH, Z_FINISH,\n Z_OK, Z_STREAM_END, Z_NEED_DICT, Z_STREAM_ERROR, Z_DATA_ERROR, Z_MEM_ERROR\n} = constants$2;\n\n/* ===========================================================================*/\n\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * const chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])\n * const chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * const inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nfunction Inflate$1(options) {\n this.options = common.assign({\n chunkSize: 1024 * 64,\n windowBits: 15,\n to: ''\n }, options || {});\n\n const opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n let status = inflate_1$2.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== Z_OK) {\n throw new Error(messages[status]);\n }\n\n this.header = new gzheader();\n\n inflate_1$2.inflateGetHeader(this.strm, this.header);\n\n // Setup dictionary\n if (opt.dictionary) {\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n opt.dictionary = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n opt.dictionary = new Uint8Array(opt.dictionary);\n }\n if (opt.raw) { //In raw mode we need to set the dictionary early\n status = inflate_1$2.inflateSetDictionary(this.strm, opt.dictionary);\n if (status !== Z_OK) {\n throw new Error(messages[status]);\n }\n }\n }\n}\n\n/**\n * Inflate#push(data[, flush_mode]) -> Boolean\n * - data (Uint8Array|ArrayBuffer): input data\n * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE\n * flush modes. See constants. Skipped or `false` means Z_NO_FLUSH,\n * `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. If end of stream detected,\n * [[Inflate#onEnd]] will be called.\n *\n * `flush_mode` is not needed for normal operation, because end of stream\n * detected automatically. You may try to use it for advanced things, but\n * this functionality was not tested.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate$1.prototype.push = function (data, flush_mode) {\n const strm = this.strm;\n const chunkSize = this.options.chunkSize;\n const dictionary = this.options.dictionary;\n let status, _flush_mode, last_avail_out;\n\n if (this.ended) return false;\n\n if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;\n else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;\n\n // Convert data if needed\n if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n for (;;) {\n if (strm.avail_out === 0) {\n strm.output = new Uint8Array(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = inflate_1$2.inflate(strm, _flush_mode);\n\n if (status === Z_NEED_DICT && dictionary) {\n status = inflate_1$2.inflateSetDictionary(strm, dictionary);\n\n if (status === Z_OK) {\n status = inflate_1$2.inflate(strm, _flush_mode);\n } else if (status === Z_DATA_ERROR) {\n // Replace code with more verbose\n status = Z_NEED_DICT;\n }\n }\n\n // Skip snyc markers if more data follows and not raw mode\n while (strm.avail_in > 0 &&\n status === Z_STREAM_END &&\n strm.state.wrap > 0 &&\n data[strm.next_in] !== 0)\n {\n inflate_1$2.inflateReset(strm);\n status = inflate_1$2.inflate(strm, _flush_mode);\n }\n\n switch (status) {\n case Z_STREAM_ERROR:\n case Z_DATA_ERROR:\n case Z_NEED_DICT:\n case Z_MEM_ERROR:\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n // Remember real `avail_out` value, because we may patch out buffer content\n // to align utf8 strings boundaries.\n last_avail_out = strm.avail_out;\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === Z_STREAM_END) {\n\n if (this.options.to === 'string') {\n\n let next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n let tail = strm.next_out - next_out_utf8;\n let utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail & realign counters\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) strm.output.set(strm.output.subarray(next_out_utf8, next_out_utf8 + tail), 0);\n\n this.onData(utf8str);\n\n } else {\n this.onData(strm.output.length === strm.next_out ? strm.output : strm.output.subarray(0, strm.next_out));\n }\n }\n }\n\n // Must repeat iteration if out buffer is full\n if (status === Z_OK && last_avail_out === 0) continue;\n\n // Finalize if end of stream reached.\n if (status === Z_STREAM_END) {\n status = inflate_1$2.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return true;\n }\n\n if (strm.avail_in === 0) break;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|String): output data. When string output requested,\n * each chunk will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate$1.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH). By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate$1.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = common.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|String\n * - data (Uint8Array): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako');\n * const input = pako.deflate(new Uint8Array([1,2,3,4,5,6,7,8,9]));\n * let output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err) {\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate$1(input, options) {\n const inflator = new Inflate$1(options);\n\n inflator.push(input);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) throw inflator.msg || messages[inflator.err];\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|String\n * - data (Uint8Array): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw$1(input, options) {\n options = options || {};\n options.raw = true;\n return inflate$1(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|String\n * - data (Uint8Array): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nvar Inflate_1$1 = Inflate$1;\nvar inflate_2 = inflate$1;\nvar inflateRaw_1$1 = inflateRaw$1;\nvar ungzip$1 = inflate$1;\nvar constants = constants$2;\n\nvar inflate_1$1 = {\n\tInflate: Inflate_1$1,\n\tinflate: inflate_2,\n\tinflateRaw: inflateRaw_1$1,\n\tungzip: ungzip$1,\n\tconstants: constants\n};\n\nconst { Deflate, deflate, deflateRaw, gzip } = deflate_1$1;\n\nconst { Inflate, inflate, inflateRaw, ungzip } = inflate_1$1;\n\n\n\nvar Deflate_1 = Deflate;\nvar deflate_1 = deflate;\nvar deflateRaw_1 = deflateRaw;\nvar gzip_1 = gzip;\nvar Inflate_1 = Inflate;\nvar inflate_1 = inflate;\nvar inflateRaw_1 = inflateRaw;\nvar ungzip_1 = ungzip;\nvar constants_1 = constants$2;\n\nvar pako = {\n\tDeflate: Deflate_1,\n\tdeflate: deflate_1,\n\tdeflateRaw: deflateRaw_1,\n\tgzip: gzip_1,\n\tInflate: Inflate_1,\n\tinflate: inflate_1,\n\tinflateRaw: inflateRaw_1,\n\tungzip: ungzip_1,\n\tconstants: constants_1\n};\n\nexport { Deflate_1 as Deflate, Inflate_1 as Inflate, constants_1 as constants, pako as default, deflate_1 as deflate, deflateRaw_1 as deflateRaw, gzip_1 as gzip, inflate_1 as inflate, inflateRaw_1 as inflateRaw, ungzip_1 as ungzip };\n","(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 \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 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 y(t,e,i,s){const n=x(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 x(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 S(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 B(t,e,i,s){const n=S(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 I(t,e){try{return t()}catch(t){return e}}var P,E,A,C,R;!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}}(P||(P={}));class N{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=S(t.value,\"Name\",\"string\"),i=I((()=>S(t.value,\"Properties\",\"compound\")),{}),s=Object.keys(i).reduce(((t,e)=>Object.assign(Object.assign({},t),{[e]:S(i,e,\"string\")})),{});return new N(e,s)}static fromJson(t){var e,i;const s=null!==(e=P.readObject(t))&&void 0!==e?e:{},n=null!==(i=P.readString(s.Name))&&void 0!==i?i:\"minecraft:stone\",r=P.readMap(s.Properties,(t=>{var e;return null!==(e=P.readString(t))&&void 0!==e?e:\"\"}));return new N(n,r)}}N.AIR=new N(\"minecraft:air\");class k{constructor(t){this.minY=t,this.storage=Array(k.SIZE),this.palette=[N.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:N.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}}k.WIDTH=16,k.SIZE=k.WIDTH*k.WIDTH*k.WIDTH;class T{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:N.AIR}setBlockState(t,e){const[i,s,n]=t,r=this.getSectionIndex(s);let o=this.sections[r];if(null===o){if(e.equals(N.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 k(this.minSection+t)),this.sections[t]}}!function(t){t.create=function(t,e){return[t,e]},t.fromBlockPos=function(t){return[t[0]>>4,t[2]>>4]},t.fromLong=function(t){return[4294967295&Number(t),Number(t>>BigInt(32))]},t.minBlockX=function(t){return t[0]<<4},t.minBlockZ=function(t){return t[1]<<4},t.maxBlockX=function(t){return t[0]<<19},t.maxBlockZ=function(t){return t[1]<<19}}(E||(E={}));class _{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 N(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]N.fromNbt({name:\"\",value:t}))),s=B(t.value,\"blocks\",\"compound\").map((t=>({pos:B(t,\"pos\",\"int\",3),state:S(t,\"state\",\"int\"),nbt:I((()=>S(t,\"nbt\",\"compound\")),void 0)})));return new _(e,i,s)}}function O(t){return t*t}function M(t,e,i){return Math.max(e,Math.min(i,t))}function L(t,e,i){return e+t*(i-e)}function D(t,e,i,s,n,r){return L(e,L(t,i,s),L(t,n,r))}function U(t,e,i,s,n,r,o,a,l,h,u){return L(i,D(t,e,s,n,r,o),D(t,e,a,l,h,u))}function X(t,e,i){return i<0?t:i>1?e:L(i,t,e)}function z(t){return t*t*t*(t*(6*t-15)+10)}function j(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}class V{constructor(t){this.seed=BigInt(0),this.setSeed(t)}fork(){return new V(this.nextLong())}setSeed(t){this.seed=t^V.MULTIPLIER&V.MODULUS_MASK}advance(){this.seed=this.seed*V.MULTIPLIER+V.INCREMENT&V.MODULUS_MASK}consume(t){for(let e=0;e>BigInt(V.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^W.SILVER_RATIO_64,i=e+W.GOLDEN_RATIO_64&BigInt(\"0xFFFFFFFFFFFFFFFF\");return[W.mixStafford13(e),W.mixStafford13(i)]}static rotateLeft(t,e){return t<>BigInt(64)-e}setSeed(t){this.seed=W.upgradeSeedTo128bit(t)}fork(){return new W([this.next(),this.next()])}static getSeed(t,e,i){let s=t*BigInt(3129871)^i*BigInt(116129781)^e;return s=s*s*BigInt(42317861)+s*BigInt(11),s>>BigInt(16)}forkAt(t,e,i){const s=W.getSeed(t,e,i)^this.seed[0];return new W([s,this.seed[1]])}static LongfromBytes(t,e,i,s,n,r,o,a){return BigInt(t)<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){var e=this.next()&BigInt(4294967295);if(t){const o=BigInt(t);var i=e*o,s=i&BigInt(4294967295);if(s>BigInt(32);return Number(r)}var o=Number(e);return o>=2147483648&&(o-=4294967296),o}nextFloat(){return Number(this.nextBits(24))*W.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*W.DOUBLE_MULTIPLIER}parityConfigString(){return\"seedLo: \"+this.seed[0]+\", seedHi: \"+this.seed[1]}}W.SILVER_RATIO_64=BigInt(\"7640891576956012809\"),W.GOLDEN_RATIO_64=BigInt(\"-7046029254386353131\"),W.FLOAT_MULTIPLIER=1/Math.pow(2,24),W.DOUBLE_MULTIPLIER=11102230246251565e-32;class Y{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)*Y.F2,o=Math.floor(t+r),a=t-(o-(i=(o+(s=Math.floor(e+r)))*Y.G2));let l,h;a>(n=e-(s-i))?(l=1,h=0):(l=0,h=1);const u=a-l+Y.G2,c=n-h+Y.G2,d=a-1+2*Y.G2,f=n-1+2*Y.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 X(o/512,a/512,n)/128}}!function(t){t.fromJson=function(t){var e,i,s,n,r;const o=null!==(e=P.readObject(t))&&void 0!==e?e:{};return{xzScale:null!==(i=P.readNumber(o.xz_scale))&&void 0!==i?i:1,yScale:null!==(s=P.readNumber(o.y_scale))&&void 0!==s?s:1,xzFactor:null!==(n=P.readNumber(o.xz_factor))&&void 0!==n?n:80,yFactor:null!==(r=P.readNumber(o.y_factor))&&void 0!==r?r:80}}}(A||(A={}));class G{constructor(t,{firstOctave:e,amplitudes:i}){this.first=new Z(t,e,i),this.second=new Z(t,e,i);let s=1/0,n=-1/0;for(let t=0;t{var e;return null!==(e=P.readNumber(t))&&void 0!==e?e:0})))&&void 0!==s?s:[]}}}(C||(C={}));class ${constructor(t,e){const i=e[e.length-1],s=-e[0]+i+1,n=new Set(e),r=new Y(t);this.noiseLevels=Array(s),i>=0&&i=0&&n.has(i-e)?this.noiseLevels[e]=new Y(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=P.readObject(t))&&void 0!==e?e:{}})))&&void 0!==n?n:[];if(0===h.length)return new q(0);for(const e of h){const s=null!==(r=P.readNumber(e.location))&&void 0!==r?r:0,n=t.fromJson(e.value,i),a=null!==(o=P.readNumber(e.derivative))&&void 0!==o?o:0;l.addPoint(s,n,a)}return l}}(R||(R={}));class q{constructor(t){this.value=t}apply(){return this.value}toJson(){return this.value}}class K{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=j(0,this.locations.length,(t=>e({location:t,value:this.values[e].toJson(),derivative:this.derivatives[e]})))}}}const Q=t=>[(t>>16&255)/256,(t>>8&255)/256,(255&t)/256],tt=[124/256,189/256,107/256],et=Q(6396257),it=Q(8431445),st=Q(4764952),nt=Q(4159204),rt=Q(8431445),ot=Q(2129968),at=t=>[t/8,1-t/32,64*t],lt={large_fern:()=>tt,tall_grass:()=>tt,grass_block:()=>tt,fern:()=>tt,grass:()=>tt,potted_fern:()=>tt,spruce_leaves:()=>et,birch_leaves:()=>it,oak_leaves:()=>st,jungle_leaves:()=>st,acacia_leaves:()=>st,dark_oak_leaves:()=>st,vine:()=>st,water:()=>nt,bubble_column:()=>nt,cauldron:()=>nt,redstone_wire:t=>{var e;return(t=>{const e=t/15;return[.6*e+(e>0?.4:.3),M(e*e*.7-.5,0,1),M(e*e*.6-.7,0,1)]})(parseInt(null!==(e=t.power)&&void 0!==e?e:\"0\"))},sugar_cane:()=>tt,attached_melon_stem:()=>rt,attached_pumpkin_stem:()=>rt,melon_stem:t=>{var e;return at(parseInt(null!==(e=t.age)&&void 0!==e?e:\"0\"))},pumpkin_stem:t=>{var e;return at(parseInt(null!==(e=t.age)&&void 0!==e?e:\"0\"))},lily_pad:()=>ot};var ht;function ut(...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 ct(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=ht.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]),ct(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=ut(...f);return ct(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 dt(t,e.variants,e.multipart)}}const ft={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]},gt={x:[1,0,0],y:[0,1,0],z:[0,0,1]},pt=1.41421356237,mt={x:[1,pt,pt],y:[pt,1,pt],z:[pt,pt,1]};class vt{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:ut(...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,w,F;const y=r.from[0],x=r.from[1],S=r.from[2],B=r.to[0],I=r.to[1],P=r.to[2],E=[],A=[],C=[],R=[],N=(i,s,n)=>{var r,l,h,u,c,d,f,g,p,m,v,b;const[w,F,y,x]=a.getTextureUV(this.getTexture(i.texture)),S=(y-w)/16,B=(x-F)/16,I=S/16,P=B/16;s[0]=(null!==(l=null===(r=i.uv)||void 0===r?void 0:r[0])&&void 0!==l?l:s[0])*S+I,s[1]=(null!==(u=null===(h=i.uv)||void 0===h?void 0:h[1])&&void 0!==u?u:s[1])*B+P,s[2]=(null!==(d=null===(c=i.uv)||void 0===c?void 0:c[2])&&void 0!==d?d:s[2])*S-I,s[3]=(null!==(g=null===(f=i.uv)||void 0===f?void 0:f[3])&&void 0!==g?g:s[3])*B-P;const N=ft[null!==(p=i.rotation)&&void 0!==p?p:0];A.push(w+s[N[0]],F+s[N[1]],w+s[N[2]],F+s[N[3]],w+s[N[4]],F+s[N[5]],w+s[N[6]],F+s[N[7]]);const k=(null!==(m=i.tintindex)&&void 0!==m?m:-1)>=0&&null!==(b=null===(v=lt[t.slice(10)])||void 0===v?void 0:v.call(lt,e))&&void 0!==b?b:[1,1,1];C.push(...k,...k,...k,...k),E.push(...n),R.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]||N(r.faces.up,[y,16-P,B,16-S],[y,I,P,B,I,P,B,I,S,y,I,S]),!(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]||N(r.faces.down,[16-P,16-B,16-S,16-y],[y,x,S,B,x,S,B,x,P,y,x,P]),!(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]||N(r.faces.south,[y,16-I,B,16-x],[y,x,P,B,x,P,B,I,P,y,I,P]),!(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]||N(r.faces.north,[16-B,16-I,16-y,16-x],[B,x,S,y,x,S,y,I,S,B,I,S]),!(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]||N(r.faces.east,[16-P,16-I,16-S,16-x],[B,x,P,B,x,S,B,I,S,B,I,P]),!(null===(F=null===(w=r.faces)||void 0===w?void 0:w.west)||void 0===F?void 0:F.texture)||r.faces.west.cullface&&l[r.faces.west.cullface]||N(r.faces.west,[S,16-I,P,16-x],[y,x,S,y,x,P,y,I,P,y,I,S]);const k=s.create();if(s.identity(k),r.rotation){const t=i.fromValues(...r.rotation.origin);s.translate(k,k,t),s.rotate(k,k,n.toRadian(r.rotation.angle),gt[r.rotation.axis]),r.rotation.rescale&&s.scale(k,k,mt[r.rotation.axis]),i.negate(t,t),s.translate(k,k,t)}const T=new Float32Array(E);return ct(T,k),{position:T,texCoord:A,tintColor:C,index:R}}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 vt(t,i,e.textures,e.elements)}}class bt{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 wt(t,e,i,s,n){const r=new dt(\"\",{\"\":{model:\"\"}},void 0),o={getBlockModel:()=>n};return n.flatten(o),r.getBuffers(t,{},e,o,i,s)}function Ft(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 wt(`minecraft:${t}`,s,e,n,new vt(\"\",\"\",{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 yt={\"minecraft:water\":(t,e,i,s)=>Ft(\"water\",t,parseInt(e.level),i,s,0),\"minecraft:lava\":(t,e,i,s)=>Ft(\"lava\",t,parseInt(e.level),i,s),\"minecraft:chest\":(t,e,i)=>function(t,e,i,s){return wt(\"minecraft:chest\",s,t,{},new vt(\"\",\"\",{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(yt));class St{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 bt(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 bt(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 bt(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),ct(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,ut(...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,ut(...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=yt[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 Bt(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 It{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 Bt(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=>Bt(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 It(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 It.drawInvalidTexture(e),new It(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 Pt,Et,At,Ct,Rt,Nt,kt,Tt,_t;!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=P.readArray(t,(t=>P.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=P.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=P.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}(Pt||(Pt={}));class Ot{constructor(t){this.biome=t}getBiome(){return this.biome}static fromJson(t){var e,i;const s=null!==(e=P.readObject(t))&&void 0!==e?e:{},n=null!==(i=P.readString(s.biome))&&void 0!==i?i:\"minecraft:the_void\";return new Ot(n)}}class Mt{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=P.readObject(t))&&void 0!==e?e:{},n=(null!==(i=P.readArray(s.biomes,(t=>{var e;return(t=>{var e;return{biome:null!==(e=P.readString(t.biome))&&void 0!==e?e:\"minecraft:the_void\",parameters:Pt.ParamPoint.fromJson(t.parameters)}})(null!==(e=P.readObject(t))&&void 0!==e?e:{})})))&&void 0!==i?i:[]).map((t=>[t.parameters,()=>t.biome]));return new Mt(new Pt.Parameters(n))}}class Lt{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=P.readObject(t))&&void 0!==e?e:{};return new Lt(R.fromJson(i.offset,this.EXTRACTOR),R.fromJson(i.factor,this.EXTRACTOR),R.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)+Lt.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 K(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 K(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 K(this.CONTINENTS).addPoint(.11,0).addPoint(.03,this.buildErosionJaggednessSpline(1,.5,0,0)).addPoint(.65,this.buildErosionJaggednessSpline(1,1,1,0));return new Lt(n,r,o)}static getErosionFactor(t,e){const i=new K(this.WEIRDNESS).addPoint(-.2,6.3).addPoint(.2,t),s=new K(this.EROSION).addPoint(-.6,i).addPoint(-.5,new K(this.WEIRDNESS).addPoint(-.05,6.3).addPoint(.05,2.67)).addPoint(-.35,i).addPoint(-.25,i).addPoint(-.1,new K(this.WEIRDNESS).addPoint(-.05,2.67).addPoint(.05,6.3)).addPoint(.03,i);if(e){const e=new K(this.WEIRDNESS).addPoint(0,t).addPoint(.1,.625),i=new K(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 K(this.RIDGES).addPoint(-.7,i).addPoint(-.15,1.37),n=new K(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(L(s,.6,1.5),a),h=this.buildMountainRidgeSplineWithPoints(L(s,.6,1),a),u=this.buildMountainRidgeSplineWithPoints(s,a),c=this.ridgeSpline(t-.15,.5*s,L(.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 K(this.RIDGES).addPoint(-1,t).addPoint(-.4,f).addPoint(0,i+.07),m=this.ridgeSpline(-.02,r,r,e,i,0),v=new K(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 K(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 K(Lt.WEIRDNESS).addPoint(-.01,.63*t).addPoint(.01,.3*t)}}Lt.GLOBAL_OFFSET=-.50375,Lt.EXTRACTOR=t=>{var e;const i=null!==(e=P.readString(t))&&void 0!==e?e:\"continents\";return Lt.extractor(i)},Lt.CONTINENTS=Lt.extractor(\"continents\"),Lt.EROSION=Lt.extractor(\"erosion\"),Lt.WEIRDNESS=Lt.extractor(\"weirdness\"),Lt.RIDGES=Lt.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}}}(Et||(Et={}));class Dt{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=Dt.allocateSlice(t.cellCountY,t.cellCountXZ),this.slice1=Dt.allocateSlice(t.cellCountY,t.cellCountXZ)}static allocateSlice(t,e){const i=Array(e+1);for(let s=0;st.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}}}(At||(At={})),function(t){t.create=function(t,e,i){const s=e+t.getOffset(e,0,i),n=i+t.getOffset(i,e,0),r=t.getContinentalness(s,n),o=t.getWeirdness(s,n),a=t.getErosion(s,n);return{shiftedX:s,shiftedZ:n,continentalness:r,weirdness:o,erosion:a,terrainInfo:t.getTerrainInfo(s<<2,n<<2,r,o,a)}}}(Ct||(Ct={})),function(t){t.fromJson=function(t){var e,i,s,n,r,o,a,l,h,u,c,d;const f=null!==(e=P.readObject(t))&&void 0!==e?e:{};return{minY:null!==(i=P.readInt(f.min_y))&&void 0!==i?i:0,height:null!==(s=P.readInt(f.height))&&void 0!==s?s:256,xzSize:null!==(n=P.readInt(f.size_horizontal))&&void 0!==n?n:1,ySize:null!==(r=P.readInt(f.size_vertical))&&void 0!==r?r:1,densityFactor:null!==(o=P.readNumber(f.density_factor))&&void 0!==o?o:0,densityOffset:null!==(a=P.readNumber(f.density_offset))&&void 0!==a?a:0,sampling:A.fromJson(f.sampling),topSlide:Nt.fromJson(f.top_slide),bottomSlide:Nt.fromJson(f.bottom_slide),terrainShaper:Lt.fromJson(f.terrain_shaper),useSimplexSurfaceNoise:null!==(l=P.readBoolean(f.simplex_surface_noise))&&void 0!==l&&l,randomDensityOffset:null!==(h=P.readBoolean(f.random_density_offset))&&void 0!==h&&h,islandNoiseOverride:null!==(u=P.readBoolean(f.island_noise_override))&&void 0!==u&&u,isAmplified:null!==(c=P.readBoolean(f.amplified))&&void 0!==c&&c,useLegacyRandom:null!==(d=P.readBoolean(f.use_legacy_random))&&void 0!==d&&d}}}(Rt||(Rt={})),function(t){t.fromJson=function(t){var e,i,s,n;const r=null!==(e=P.readObject(t))&&void 0!==e?e:{};return{target:null!==(i=P.readNumber(r.target))&&void 0!==i?i:0,size:null!==(s=P.readInt(r.size))&&void 0!==s?s:0,offset:null!==(n=P.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 X(t.target,e,s)}}(Nt||(Nt={}));class Xt{constructor(t,e,i,s,n,r,o=!1){if(this.cellWidth=t,this.cellHeight=e,this.cellCountY=i,this.settings=s,o){const i=new V(r),o=s.useLegacyRandom?new V(r):i.fork();this.blendedNoise=new H(o,s.sampling,t,e),i.consume(8),this.temperatureNoise=new G(new V(r),n.temperature),this.humidityNoise=new G(new V(r+BigInt(1)),n.humidity),this.continentalnessNoise=new G(new V(r+BigInt(2)),n.continentalness),this.erosionNoise=new G(new V(r+BigInt(3)),n.erosion),this.weirdnessNoise=new G(new V(r+BigInt(4)),n.weirdness),this.offsetNoise=new G(new V(r+BigInt(5)),n.shift),this.jaggedNoise=new G(i.fork(),{firstOctave:-16,amplitudes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]})}else{const i=W.create(r).fork();this.blendedNoise=new H(i.forkWithHashOf(\"minecraft:terrain\"),s.sampling,t,e),this.temperatureNoise=new G(i.forkWithHashOf(\"minecraft:temperature\"),n.temperature),this.humidityNoise=new G(i.forkWithHashOf(\"minecraft:vegetation\"),n.humidity),this.continentalnessNoise=new G(i.forkWithHashOf(\"minecraft:continentalness\"),n.continentalness),this.erosionNoise=new G(i.forkWithHashOf(\"minecraft:erosion\"),n.erosion),this.weirdnessNoise=new G(i.forkWithHashOf(\"minecraft:ridge\"),n.weirdness),this.offsetNoise=new G(i.forkWithHashOf(\"minecraft:offset\"),n.shift),this.jaggedNoise=new G(i.forkWithHashOf(\"minecraft:jagged\"),{firstOctave:-16,amplitudes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]})}this.shaper=s.terrainShaper,this.baseNoise=t=>{const e=t.createNoiseInterpolator(((e,i,s)=>this.calculateBaseNoise(e,i,s,t.getTerrainInfo(e>>2,s>>2))));return()=>e.sample()}}sample(t,e,i){const s=t+this.getOffset(t,0,i),n=i+this.getOffset(i,t,0),r=this.getContinentalness(s,n),o=this.getErosion(s,n),a=this.getWeirdness(s,n),l=this.shaper.offset(Lt.point(r,o,a));return this.target(t,e,i,s,n,r,o,a,l)}target(t,e,i,s,n,r,o,a,l){const h=e+this.getOffset(e,i,t),u=this.getTemperature(s,h,n),c=this.getHumidity(s,h,n),d=this.computeDimensionDensity(e<<2)+l;return Pt.target(u,c,r,o,d,a)}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)}getTerrainInfo(t,e,i,s,n){const r=Lt.point(i,s,n);return At.create(this.shaper.offset(r),this.shaper.factor(r),this.shaper.jaggedness(r))}makeBaseNoiseFiller(t,e){const i=this.baseNoise(t);return(t,s,n)=>{let r=i();return r=M(.64*r,-1,1),r=r/2-r*r*r/24,r+=e(t,s,n),r>0?null:N.AIR}}calculateBaseNoise(t,e,i,s){let n=this.blendedNoise.sample(t,e,i);if(s){const r=this.sampleJaggedNoise(s.jaggedness,t,i),o=this.computeDimensionDensity(e),a=s.factor*(s.offset+r+o);n+=a>0?4*a:a}return n=M(n,-64,64),n=this.applySlide(n,e/this.cellHeight),n=M(n,-64,64),n}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){return(1-t/128)*this.settings.densityFactor+this.settings.densityOffset}applySlide(t,e){const i=e-Math.floor(this.settings.minY/this.cellHeight);return t=Nt.apply(this.settings.topSlide,t,this.cellCountY-i),t=Nt.apply(this.settings.bottomSlide,t,i)}}class zt{constructor(t,e,i){this.biomeSource=e,this.settings=i,this.cellHeight=i.noise.ySize<<2,this.cellWidth=i.noise.xzSize<<2,this.cellCountXZ=Math.floor(16/this.cellWidth),this.cellCountY=Math.floor(i.noise.height/this.cellHeight),this.sampler=new Xt(this.cellWidth,this.cellHeight,this.cellCountY,i.noise,i.octaves,t,i.legacyRandomSource),this.materialRule=Et.fromList([(t,e,i,s)=>t.updateNoiseAndGenerateBaseState(e,i,s)])}fillBiomes(t){const e=Math.max(t.minY,this.settings.noise.minY),i=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),s=Math.floor(e/this.cellHeight);Math.floor((i-e)/this.cellHeight);const n=E.minBlockX(t.pos),r=E.minBlockZ(t.pos),o=new Ut(this.cellWidth,this.cellHeight,this.cellCountXZ,this.cellCountY,s,this.sampler,n,r,(()=>0));for(let e=0;em))}}}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=Math.floor(i/this.cellHeight),r=Math.floor((s-i)/this.cellHeight),o=E.minBlockX(t.pos),a=E.minBlockZ(t.pos),l=new Ut(this.cellWidth,this.cellHeight,this.cellCountXZ,this.cellCountY,n,this.sampler,o,a,(()=>0));l.initializeForFirstCellX();for(let i=0;i=0;u-=1){l.selectCellYZ(u,s);for(let r=this.cellHeight-1;r>=0;r-=1){const c=(n+u)*this.cellHeight+r,d=15&c,f=t.getSectionIndex(c);t.getSectionIndex(h.minBlockY)!==f&&(h=t.getOrCreateSection(f));const g=r/this.cellHeight;l.updateForY(g);for(let t=0;t{var e,i,s;return{distance:null!==(e=P.readInt(t.distance))&&void 0!==e?e:0,spread:null!==(i=P.readInt(t.spread))&&void 0!==i?i:0,count:null!==(s=P.readInt(t.count))&&void 0!==s?s:0}})),structures:P.readMap(i.structures,(t=>{var e;return(t=>{var e,i,s;return{spacing:null!==(e=P.readInt(t.spacing))&&void 0!==e?e:0,separation:null!==(i=P.readInt(t.separation))&&void 0!==i?i:0,salt:null!==(s=P.readInt(t.salt))&&void 0!==s?s:0}})(null!==(e=P.readObject(t))&&void 0!==e?e:{})}))}}}(Tt||(Tt={})),function(t){t.fromJson=function(t){var e;const i=null!==(e=P.readObject(t))&&void 0!==e?e:{};return{temperature:C.fromJson(i.temperature),humidity:C.fromJson(i.humidity),continentalness:C.fromJson(i.continentalness),erosion:C.fromJson(i.erosion),weirdness:C.fromJson(i.weirdness),shift:C.fromJson(i.shift)}}}(_t||(_t={}));export{H as BlendedNoise,lt as BlockColors,dt as BlockDefinition,vt as BlockModel,a as BlockPos,N as BlockState,T as Chunk,E as ChunkPos,k as ChunkSection,Pt as Climate,q as ConstantProvider,r as Direction,Ot as FixedBiome,Ct as FlatNoiseData,J as ImprovedNoise,P as Json,V as LegacyRandom,Et as MaterialRule,Mt as MultiNoise,u as NbtReader,c as NbtWriter,Ut as NoiseChunk,zt as NoiseChunkGenerator,kt as NoiseGeneratorSettings,Dt as NoiseInterpolator,_t as NoiseOctaves,C as NoiseParameters,Xt as NoiseSampler,A as NoiseSamplingSettings,Rt as NoiseSettings,Nt as NoiseSlideSettings,G as NormalNoise,R as NumberProvider,Z as PerlinNoise,$ as PerlinSimplexNoise,Y as SimplexNoise,K as Spline,_ as Structure,St as StructureRenderer,Tt as StructureSettings,At as TerrainInfo,Lt as TerrainShaper,It as TextureAtlas,W as XoroshiroRandom,j as binarySearch,M as clamp,X as clampedLerp,B as getListTag,I as getOptional,S as getTag,L as lerp,D as lerp2,U as lerp3,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,w as write,y as writeChunk,b as writeCompressed,F as writeRegion,v as writeUncompressed};\n//# sourceMappingURL=deepslate.esm.js.map\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__\"","'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","\"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}\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', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(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', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true })), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => core_1.ChoiceNode([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: 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: core_1.ObjectNode({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(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: core_1.ObjectNode({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: core_1.NumberNode({ integer: true, min: 0 }),\r\n p: 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: 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: 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: core_1.MapNode(StringNode({ validator: 'objective' }), 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: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(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: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: 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: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: exports.Range(),\r\n period: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(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 = 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: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(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: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: core_1.Opt(Common_1.Range())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(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', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n exports.LocationFields = {\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range())\r\n })),\r\n biome: core_1.Opt(StringNode({ enum: 'biome' })),\r\n feature: core_1.Opt(StringNode({ enum: 'structure_feature' })),\r\n dimension: core_1.Opt(StringNode({ enum: 'dimension' })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: core_1.Opt(Common_1.Range({ integer: true, min: 0, max: 15 }))\r\n })),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n };\r\n schemas.register('location_predicate', core_1.ObjectNode(exports.LocationFields, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: 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', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: core_1.Opt(Common_1.Range()),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range()),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range()),\r\n absolute: core_1.Opt(Common_1.Range()),\r\n horizontal: core_1.Opt(Common_1.Range())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n effects: core_1.Opt(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', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: core_1.Opt(Common_1.Range()),\r\n taken: core_1.Opt(Common_1.Range()),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: 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', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: 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: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(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', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: core_1.Opt(Reference('entity_predicate')),\r\n partner: core_1.Opt(Reference('entity_predicate')),\r\n child: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ enum: 'dimension' })),\r\n to: core_1.Opt(StringNode({ enum: 'dimension' }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(core_1.Opt(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:consume_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n zombie: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(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: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: 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: core_1.Opt(core_1.ObjectNode({\r\n empty: core_1.Opt(Common_1.Range()),\r\n occupied: core_1.Opt(Common_1.Range()),\r\n full: core_1.Opt(Common_1.Range())\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: core_1.Opt(Common_1.Range()),\r\n victims: core_1.Opt(core_1.ListNode(core_1.Opt(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:levitation': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:location': Predicates_1.LocationFields,\r\n 'minecraft:nether_travel': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: core_1.Opt(Reference('damage_predicate')),\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n killing_blow: 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: core_1.Opt(core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } }))\r\n })),\r\n item: 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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: core_1.Opt(Reference('entity_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: 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.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', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(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: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(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 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', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Common_1.Range({ allowBinomial: true, integer: true }),\r\n bonus_rolls: core_1.Opt(Common_1.Range({ integer: true })),\r\n entries: 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: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(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: 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: 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: 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: core_1.Opt(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', core_1.Mod(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: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(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: core_1.ListNode(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: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Common_1.Range({ allowBinomial: true }),\r\n treasure: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'structure_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(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: Common_1.Range({ bounds: true })\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Common_1.Range({ bounds: true }),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Common_1.Range({ allowBinomial: true })\r\n },\r\n 'minecraft:set_damage': {\r\n damage: 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: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n name: 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: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: 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', core_1.Mod(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: core_1.MapNode(StringNode({ validator: 'objective' }), 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', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Common_1.Range({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: 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', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: 5, max: 5 }), { default: () => 5 }),\r\n description: 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', core_1.Mod(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: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: 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: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: 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', core_1.Mod(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: 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', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: 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', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(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) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(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: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: 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', core_1.Mod(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: 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: 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: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(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: core_1.Opt(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: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } }))\r\n },\r\n 'show_entity': {\r\n value: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n }))\r\n }\r\n }\r\n })),\r\n extra: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(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: 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: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: 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: core_1.ObjectNode({\r\n score: 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: 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: 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: 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: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(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', core_1.Mod(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 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 Common_1.initCommonSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n 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 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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.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 = 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 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 schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"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}\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', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(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', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => core_1.ChoiceNode([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: 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: core_1.ObjectNode({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(core_1.NumberNode(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? core_1.NumberNode(config) : core_1.Opt(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: core_1.ObjectNode({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: core_1.NumberNode({ integer: true, min: 0 }),\r\n p: 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) => core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: 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: core_1.ObjectNode({\r\n base: 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: 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: 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: 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: core_1.MapNode(StringNode({ validator: 'objective' }), 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: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(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: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: 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: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: exports.Range(),\r\n period: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(core_1.BooleanNode())\r\n }\r\n };\r\n exports.DimensionTypePresets = (node) => 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) => 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 = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: 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: 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', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: 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: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(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', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: 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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: 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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:consume_item': {\r\n item: 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: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(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: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(core_1.ObjectNode({\r\n empty: core_1.Opt(Common_1.Range()),\r\n occupied: core_1.Opt(Common_1.Range()),\r\n full: core_1.Opt(Common_1.Range())\r\n })),\r\n items: core_1.Opt(core_1.ListNode(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: core_1.Opt(Common_1.Range()),\r\n victims: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:location': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: core_1.Opt(Common_1.Range()),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: 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: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: 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: 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: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: 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: core_1.Opt(Common_1.Range({ integer: true }))\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Common_1.Range())\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: 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.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', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(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) => core_1.Mod(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: 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: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: 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: core_1.NumberNode({ integer: true }),\r\n preset: 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(core_1.Mod(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: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n legacy_biome_init_layer: core_1.Opt(core_1.BooleanNode())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: 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', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: core_1.ObjectNode({\r\n altitude: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n humidity: core_1.NumberNode(),\r\n weirdness: core_1.NumberNode(),\r\n offset: 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', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(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', core_1.Mod(core_1.ObjectNode({\r\n name: 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: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n effects: 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: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(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 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', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Common_1.Range({ allowBinomial: true, integer: true }),\r\n bonus_rolls: core_1.Opt(Common_1.Range({ integer: true })),\r\n entries: 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: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(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: 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: 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: 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: core_1.Opt(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', core_1.Mod(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: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(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: core_1.ListNode(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: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Common_1.Range({ allowBinomial: true }),\r\n treasure: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(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: Common_1.Range({ bounds: true })\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Common_1.Range({ bounds: true }),\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Common_1.Range({ allowBinomial: true })\r\n },\r\n 'minecraft:set_damage': {\r\n damage: 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: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceSwtichNode),\r\n name: 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: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: 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', core_1.Mod(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: core_1.MapNode(StringNode({ validator: 'objective' }), 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', core_1.Mod(core_1.ObjectNode({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Common_1.Range({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: 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', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(core_1.NumberNode({ integer: true, min: 6, max: 6 }), { default: () => 6 }),\r\n description: 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 = 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: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(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: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: core_1.Opt(Common_1.Range()),\r\n durability: core_1.Opt(Common_1.Range()),\r\n potion: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: core_1.Opt(Common_1.Range())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', core_1.ObjectNode({\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(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', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range())\r\n })),\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: core_1.Opt(Common_1.Range({ integer: true, min: 0, max: 15 }))\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: 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', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: core_1.Opt(Common_1.Range()),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: core_1.Opt(Common_1.Range()),\r\n duration: core_1.Opt(Common_1.Range()),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', core_1.ObjectNode({\r\n x: core_1.Opt(Common_1.Range()),\r\n y: core_1.Opt(Common_1.Range()),\r\n z: core_1.Opt(Common_1.Range()),\r\n absolute: core_1.Opt(Common_1.Range()),\r\n horizontal: core_1.Opt(Common_1.Range())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(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', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: core_1.Opt(Common_1.Range()),\r\n taken: core_1.Opt(Common_1.Range()),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: 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', core_1.Mod(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: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: 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: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: 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', core_1.Mod(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: 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', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: 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', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(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) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(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: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: 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', core_1.Mod(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: 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: 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: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(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: core_1.Opt(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: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: 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: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: 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: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(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: 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: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: 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: core_1.ObjectNode({\r\n score: 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: 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: 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: 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: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(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', core_1.Mod(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', core_1.Mod(core_1.ObjectNode({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: core_1.NumberNode(),\r\n scale: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: 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 ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: 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: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: 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: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: 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: core_1.NumberNode({ integer: true }),\r\n bottom_offset: core_1.NumberNode({ integer: true }),\r\n top_offset: core_1.NumberNode({ integer: true })\r\n };\r\n const ChanceConfig = {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n };\r\n const CountConfig = {\r\n count: Common_1.UniformInt({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n schemas.register('configured_decorator', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: 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: 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: core_1.NumberNode({ integer: true }),\r\n extra_count: core_1.NumberNode({ integer: true }),\r\n extra_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(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: core_1.NumberNode({ integer: true }),\r\n spread: 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', core_1.Mod(core_1.ObjectNode({\r\n processors: 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', core_1.Mod(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: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:rule': {\r\n rules: 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', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: 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: 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: core_1.NumberNode({ min: 0, max: 255, integer: true }),\r\n max_dist: core_1.NumberNode({ min: 0, max: 255, integer: true }),\r\n min_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n };\r\n schemas.register('pos_rule_test', 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', 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: 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: 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: core_1.BooleanNode(),\r\n project: core_1.BooleanNode(),\r\n need_water: core_1.BooleanNode(),\r\n xspread: core_1.NumberNode({ integer: true }),\r\n yspread: core_1.NumberNode({ integer: true }),\r\n zspread: core_1.NumberNode({ integer: true }),\r\n tries: core_1.NumberNode({ integer: true }),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: core_1.ListNode(Reference('block_state')),\r\n blacklist: core_1.ListNode(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: Common_1.UniformInt({ min: 0, max: 4, maxSpread: 4 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: 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: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const OreConfig = {\r\n state: Reference('block_state'),\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n target: Reference('rule_test')\r\n };\r\n const CountConfig = {\r\n count: Common_1.UniformInt({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n const Feature = 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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.UniformInt({ min: 0, max: 2, maxSpread: 1 }),\r\n height: 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: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n rim_size: 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: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: 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: core_1.Opt(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: 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: core_1.ListNode(core_1.ObjectNode({\r\n chance: 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: 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: core_1.ListNode(Reference('block_state')),\r\n place_in: core_1.ListNode(Reference('block_state')),\r\n place_under: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: core_1.ListNode(Feature)\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n max_water_depth: core_1.NumberNode({ integer: true }),\r\n ignore_vines: 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: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: core_1.NumberNode({ integer: true, min: 0, max: 24 })\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.UniformInt({ min: 0, max: 8, maxSpread: 8 }),\r\n offset: 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: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.UniformInt({ min: 0, max: 16, maxSpread: 8 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(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: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: 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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(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: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(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', core_1.Mod(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: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: 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', core_1.Mod(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: core_1.NumberNode({ integer: true }),\r\n extra_size: 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', core_1.Mod(core_1.ObjectNode({\r\n name: 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: core_1.NumberNode({ integer: true }),\r\n bedrock_floor_position: core_1.NumberNode({ integer: true }),\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n height: core_1.NumberNode({ integer: true }),\r\n density_factor: core_1.NumberNode(),\r\n density_offset: core_1.NumberNode(),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n simplex_surface_noise: core_1.BooleanNode(),\r\n random_density_offset: core_1.Opt(core_1.BooleanNode()),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: core_1.NumberNode()\r\n }),\r\n bottom_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }),\r\n top_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true }),\r\n offset: 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', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(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: 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', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: 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: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: 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: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: 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: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: 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: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: 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 = 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', core_1.Mod(core_1.ObjectNode({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: 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', core_1.Mod(core_1.ObjectNode({\r\n weight: 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', core_1.Mod(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: 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 Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceBuilder_1.initSurfaceBuilderSchemas(schemas, collections);\r\n 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', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: 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 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 Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n 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 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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.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 = 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 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 schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"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}\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 = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: 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: 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', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: 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: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(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', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: 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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: 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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(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: 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: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: core_1.Opt(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(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: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(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: core_1.Opt(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: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: 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: core_1.Opt(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: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: Reference('distance_predicate'),\r\n entered: core_1.Opt(Reference('location_predicate')),\r\n exited: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: 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: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: 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: 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: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: 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: core_1.Opt(Reference('entity_predicate')),\r\n item: 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: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: 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.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', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(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', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => core_1.Opt(core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: 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: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer })),\r\n max: core_1.Opt(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', core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(Reference('number_provider')),\r\n max: core_1.Opt(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: 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] = 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 = core_1.ObjectNode({\r\n type: core_1.Mod(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 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: 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: core_1.Opt(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: 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: 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: core_1.NumberNode(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode(config),\r\n max_exclusive: core_1.NumberNode(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n mean: core_1.NumberNode(),\r\n deviation: core_1.NumberNode()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n plateau: core_1.NumberNode()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', 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: core_1.NumberNode({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n }\r\n });\r\n schemas.register('int_provider', exports.IntProvider());\r\n schemas.register('vertical_anchor', 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: core_1.ObjectNode({\r\n [t]: 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: core_1.Opt(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: core_1.Opt(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: core_1.Opt(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: 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: 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: 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: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(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: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: 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: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: core_1.Opt(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: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(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: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(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: core_1.ListNode(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: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(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: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(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: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: core_1.ListNode(core_1.ObjectNode({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceNode),\r\n name: 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: core_1.Opt(core_1.ListNode(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) => 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) => 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', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(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) => core_1.Mod(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: 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: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: 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: core_1.NumberNode({ integer: true }),\r\n preset: 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(core_1.Mod(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: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: core_1.NumberNode({ integer: true }),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n legacy_biome_init_layer: core_1.Opt(core_1.BooleanNode())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: 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', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: core_1.ObjectNode({\r\n altitude: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n humidity: core_1.NumberNode(),\r\n weirdness: core_1.NumberNode(),\r\n offset: 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', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(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', core_1.Mod(core_1.ObjectNode({\r\n name: 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: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n effects: 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: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: 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', core_1.ObjectOrList(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('condition')))\r\n };\r\n schemas.register('function', core_1.Mod(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]: 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: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(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 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', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: core_1.Opt(Reference('number_provider')),\r\n entries: 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: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(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: 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: 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: 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: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: 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', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: 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', core_1.Mod(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: 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', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(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: 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 = 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: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(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: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n items: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: 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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: 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', core_1.ObjectNode({\r\n blocks: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(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', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', 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', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate'))),\r\n looking_at: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', 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', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n stepping_on: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n passenger: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n lightning_bolt: core_1.Opt(core_1.ObjectNode({\r\n blocks_set_on_fire: core_1.Opt(Reference('int_bounds')),\r\n entity_struck: core_1.Opt(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(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', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: 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', core_1.Mod(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: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: 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: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: 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', core_1.Mod(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: 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', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: 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', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(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) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(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: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: 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', core_1.Mod(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: 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: 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: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(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: core_1.Opt(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: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: 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: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: 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: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(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: 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: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: 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: core_1.ObjectNode({\r\n score: 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: 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: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: 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: 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: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n separator: 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', core_1.Mod(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', core_1.Mod(core_1.ObjectNode({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: core_1.NumberNode(),\r\n scale: core_1.NumberNode(),\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: 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 ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: 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: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: 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: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(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: Common_1.FloatProvider(),\r\n shape: core_1.ObjectNode({\r\n distance_factor: Common_1.FloatProvider(),\r\n thickness: Common_1.FloatProvider(),\r\n width_smoothness: core_1.NumberNode({ integer: true, min: 0 }),\r\n horizontal_radius_factor: Common_1.FloatProvider(),\r\n vertical_radius_default_factor: core_1.NumberNode(),\r\n vertical_radius_center_factor: core_1.NumberNode()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: Common_1.FloatProvider(),\r\n vertical_radius_multiplier: Common_1.FloatProvider(),\r\n floor_level: Common_1.FloatProvider({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: Common_1.FloatProvider(),\r\n lava_level: Reference('vertical_anchor'),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n debug_settings: core_1.Opt(core_1.ObjectNode({\r\n debug_mode: core_1.Opt(core_1.BooleanNode()),\r\n air_state: core_1.Opt(Reference('block_state')),\r\n water_state: core_1.Opt(Reference('block_state')),\r\n lava_state: core_1.Opt(Reference('block_state')),\r\n barrier_state: 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: Common_1.IntProvider({ min: 0, max: 256 })\r\n };\r\n schemas.register('configured_decorator', core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: 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: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:chance': {\r\n chance: core_1.NumberNode({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_count: core_1.NumberNode({ integer: true, min: 0 }),\r\n extra_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(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: 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: 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 = 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', core_1.Mod(core_1.ObjectNode({\r\n processors: 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', core_1.Mod(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: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: 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: 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', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: 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: 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: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n max_dist: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n min_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n max_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', 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', 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: 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: 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: core_1.Opt(core_1.BooleanNode()),\r\n project: core_1.Opt(core_1.BooleanNode()),\r\n need_water: core_1.Opt(core_1.BooleanNode()),\r\n xspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n yspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n zspread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n tries: core_1.Opt(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: core_1.ListNode(Reference('block_state')),\r\n blacklist: core_1.ListNode(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: Common_1.IntProvider({ min: 0, max: 8 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: 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: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const TargetBlockState = core_1.ObjectNode({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: core_1.NumberNode({ min: 0, max: 1 }),\r\n targets: core_1.ListNode(TargetBlockState)\r\n };\r\n const Feature = 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: Common_1.IntProvider({ min: 1, max: 128 }),\r\n vertical_range: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n extra_edge_column_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n vegetation_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n xz_radius: 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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.IntProvider({ min: 0, max: 3 }),\r\n height: 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: Common_1.IntProvider({ min: 0, max: 16 }),\r\n rim_size: 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: core_1.NumberNode({ integer: true, min: 1, max: 512 }),\r\n height: Common_1.IntProvider({ min: 0, max: 128 }),\r\n radius: Common_1.IntProvider({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n height_deviation: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: Common_1.IntProvider({ min: 0, max: 128 }),\r\n density: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n wetness: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: core_1.NumberNode({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: 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: core_1.NumberNode({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: 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: 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: 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: core_1.ObjectNode({\r\n filling: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n inner_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n middle_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n outer_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n }),\r\n crack: core_1.ObjectNode({\r\n generate_crack_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n base_crack_size: core_1.Opt(core_1.NumberNode({ min: 0, max: 5 })),\r\n crack_point_offset: core_1.Opt(core_1.NumberNode({ min: 0, max: 10, integer: true })),\r\n }),\r\n noise_multiplier: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_potential_placements_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: core_1.Opt(core_1.BooleanNode()),\r\n outer_wall_distance: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n distribution_points: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n point_offset: core_1.Opt(Common_1.IntProvider({ min: 0, max: 10 })),\r\n min_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n invalid_blocks_threshold: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: core_1.Opt(core_1.NumberNode({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n can_place_on_floor: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_ceiling: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_wall: core_1.Opt(core_1.BooleanNode()),\r\n can_be_placed_on: 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: core_1.BooleanNode(),\r\n height_distribution: core_1.ListNode(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true }),\r\n data: 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: core_1.Opt(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: core_1.Opt(core_1.NumberNode({ integer: true, min: 1, max: 512 })),\r\n column_radius: Common_1.IntProvider({ min: 0, max: 60 }),\r\n height_scale: Common_1.FloatProvider({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: core_1.NumberNode({ min: 0, max: 1 }),\r\n stalactite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n wind_speed: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n min_radius_for_wind: core_1.NumberNode({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: 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: 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: core_1.ListNode(core_1.ObjectNode({\r\n chance: 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: core_1.ListNode(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: core_1.NumberNode({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: core_1.NumberNode({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: 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: Common_1.IntProvider({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: 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: core_1.Opt(core_1.ListNode(Reference('block_state'))),\r\n place_in: core_1.Opt(core_1.ListNode(Reference('block_state'))),\r\n place_under: core_1.Opt(core_1.ListNode(Reference('block_state')))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: core_1.ListNode(Feature)\r\n },\r\n 'minecraft:small_dripstone': {\r\n max_placements: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 100 })),\r\n empty_space_search_radius: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 20 })),\r\n max_offset_from_origin: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 20 })),\r\n chance_of_taller_dripstone: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: core_1.Opt(core_1.BooleanNode()),\r\n force_dirt: core_1.Opt(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: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: 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: Common_1.IntProvider({ min: 1, max: 64 }),\r\n min_height_for_leaves: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.IntProvider({ min: 0, max: 16 }),\r\n offset: 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: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: Common_1.IntProvider({ min: 1, max: 512 }),\r\n leaf_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(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: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: 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: core_1.NumberNode({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: 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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(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: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(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', core_1.Mod(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: 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: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: 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', core_1.Mod(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: 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', core_1.Mod(core_1.ObjectNode({\r\n name: 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: core_1.NumberNode({ integer: true }),\r\n bedrock_floor_position: core_1.NumberNode({ integer: true }),\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n min_surface_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n noise_caves_enabled: core_1.BooleanNode(),\r\n noodle_caves_enabled: core_1.BooleanNode(),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n deepslate_enabled: core_1.BooleanNode(),\r\n ore_veins_enabled: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n min_y: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n density_factor: core_1.NumberNode(),\r\n density_offset: core_1.NumberNode(),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n simplex_surface_noise: core_1.BooleanNode(),\r\n random_density_offset: core_1.Opt(core_1.BooleanNode()),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: core_1.NumberNode()\r\n }),\r\n bottom_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }),\r\n top_slide: core_1.ObjectNode({\r\n target: core_1.NumberNode({ integer: true }),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: 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', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(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: 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', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: 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: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: 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: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: 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: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: 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: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: 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', core_1.Mod(core_1.ObjectNode({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: 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', core_1.Mod(core_1.ObjectNode({\r\n weight: 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', core_1.Mod(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: 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 ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceBuilder_1.initSurfaceBuilderSchemas(schemas, collections);\r\n 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', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: 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 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 Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n ItemModifier_1.initItemModifierSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n 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 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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.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 = 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 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 schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","\"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}\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 = core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: 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: 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', core_1.Mod(core_1.ObjectNode({\r\n display: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n icon: core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: 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: core_1.Opt(StringNode()),\r\n frame: core_1.Opt(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: core_1.Opt(core_1.BooleanNode()),\r\n announce_to_chat: core_1.Opt(core_1.BooleanNode()),\r\n hidden: core_1.Opt(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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: core_1.MapNode(StringNode(), Reference('advancement_criteria')),\r\n requirements: core_1.Opt(core_1.ListNode(core_1.ListNode(StringNode() // TODO: add validation\r\n ))),\r\n rewards: core_1.Opt(core_1.ObjectNode({\r\n function: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: core_1.Opt(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', core_1.ObjectNode({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: core_1.Opt(core_1.ObjectNode({\r\n player: 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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n item: 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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: core_1.Opt(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: 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: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: core_1.Opt(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(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: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: core_1.Opt(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: core_1.Opt(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:fall_from_height': {\r\n start_position: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: core_1.Opt(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: core_1.Opt(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: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: 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: core_1.Opt(core_1.ListNode(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: 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: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n start_position: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n },\r\n 'minecraft:placed_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: core_1.Opt(Reference('item_predicate')),\r\n location: 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: core_1.Opt(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: 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: 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: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: core_1.Opt(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: 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: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: core_1.Opt(Reference('float_bounds'))\r\n },\r\n 'minecraft:used_totem': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: core_1.Opt(Reference('entity_predicate')),\r\n item: core_1.Opt(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: 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) => core_1.ListNode(core_1.NumberNode({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = 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', core_1.Mod(core_1.ObjectNode({\r\n parent: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n ambientocclusion: core_1.Opt(core_1.BooleanNode()),\r\n gui_light: core_1.Opt(StringNode({ enum: 'gui_light' })),\r\n textures: core_1.Opt(core_1.MapNode(StringNode(), Texture)),\r\n elements: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: core_1.Opt(core_1.ObjectNode({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: core_1.NumberEnum({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n shade: core_1.Opt(core_1.BooleanNode()),\r\n faces: core_1.MapNode(StringNode({ enum: 'direction' }), core_1.ObjectNode({\r\n texture: Texture,\r\n uv: core_1.Opt(Vec(4)),\r\n cullface: core_1.Opt(StringNode({ enum: 'direction' })),\r\n rotation: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tintindex: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: core_1.Opt(core_1.MapNode(StringNode({ enum: 'display_position' }), 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: core_1.Opt(core_1.ListNode(core_1.ObjectNode({\r\n predicate: core_1.MapNode(StringNode({ enum: 'item_model_predicates' }), 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', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: core_1.ObjectNode({\r\n variants: 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: core_1.ObjectNode({\r\n multipart: core_1.ListNode(core_1.ObjectNode({\r\n when: 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: core_1.Opt(core_1.NumberEnum({ integer: true, values: [0, 90, 180, 270] })),\r\n y: core_1.Opt(core_1.NumberEnum({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: core_1.Opt(core_1.BooleanNode()),\r\n };\r\n schemas.register('model_variant', core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: 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: core_1.ListNode(core_1.ObjectNode({\r\n ...VariantChildren,\r\n weight: core_1.Opt(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', core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: 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: core_1.ObjectNode({\r\n OR: 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 BlockDefinition_1.initBlockDefinitionSchemas(schemas, collections);\r\n 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', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: core_1.Opt(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', core_1.Mod(core_1.ListNode(core_1.NumberNode({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => core_1.Opt(core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: 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: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer })),\r\n max: core_1.Opt(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', core_1.ChoiceNode([\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(Reference('number_provider')),\r\n max: core_1.Opt(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: 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] = 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 = core_1.ObjectNode({\r\n type: core_1.Mod(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 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: 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: core_1.Opt(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: 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: 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: core_1.NumberNode(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode(config),\r\n max_exclusive: core_1.NumberNode(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n mean: core_1.NumberNode(),\r\n deviation: core_1.NumberNode()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: core_1.ObjectNode({\r\n min: core_1.NumberNode(),\r\n max: core_1.NumberNode(),\r\n plateau: core_1.NumberNode()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', 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: core_1.NumberNode({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n max_inclusive: core_1.NumberNode({ integer: true, ...config }),\r\n mean: core_1.NumberNode(),\r\n deviation: core_1.NumberNode()\r\n })\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: core_1.ListNode(core_1.ObjectNode({\r\n weight: core_1.NumberNode({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n });\r\n schemas.register('int_provider', exports.IntProvider());\r\n schemas.register('vertical_anchor', 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: core_1.ObjectNode({\r\n [t]: 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: core_1.Opt(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: core_1.Opt(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: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n }\r\n }));\r\n exports.InclusiveRange = (config) => core_1.ObjectNode({\r\n min_inclusive: core_1.NumberNode(config),\r\n max_inclusive: core_1.NumberNode(config)\r\n }, { context: 'range' });\r\n schemas.register('noise_parameters', core_1.Mod(core_1.ObjectNode({\r\n firstOctave: core_1.NumberNode({ integer: true }),\r\n amplitudes: core_1.ListNode(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: 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: 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: 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: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetY: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n offsetZ: core_1.Opt(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: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n looting_multiplier: 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: core_1.ListNode(core_1.NumberNode({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: core_1.Opt(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: core_1.Opt(core_1.BooleanNode()),\r\n thundering: core_1.Opt(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: core_1.Mod(core_1.ObjectNode({\r\n bonusMultiplier: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: core_1.Mod(core_1.NumberNode(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: core_1.Mod(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: core_1.ListNode(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: core_1.ListNode(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: core_1.Opt(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: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: core_1.Opt(StringNode({ enum: 'map_feature' })),\r\n decoration: core_1.Opt(StringNode({ enum: 'map_decoration' })),\r\n zoom: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n search_radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n skip_existing_chunks: core_1.Opt(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: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: core_1.ListNode(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: core_1.ListNode(core_1.ObjectNode({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_contents': {\r\n entries: core_1.ListNode(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: core_1.Opt(entitySourceNode),\r\n lore: core_1.ListNode(Reference('text_component')),\r\n replace: core_1.Opt(core_1.BooleanNode())\r\n },\r\n 'minecraft:set_name': {\r\n entity: core_1.Opt(entitySourceNode),\r\n name: 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: core_1.Opt(core_1.ListNode(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) => 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) => 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', core_1.ObjectOrList(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', core_1.Mod(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 schemas.register('dimension', core_1.Mod(core_1.ObjectNode({\r\n type: Common_1.DimensionTypePresets(Reference('dimension_type')),\r\n generator: 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: core_1.NumberNode({ integer: true }),\r\n settings: Common_1.NoiseSettingsPresets(Reference('noise_settings')),\r\n biome_source: 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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: ['minecraft:overworld', 'minecraft:nether'] } })),\r\n biomes: core_1.Mod(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: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 62 })),\r\n biomes: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: core_1.NumberNode({ integer: true })\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: core_1.ObjectNode({\r\n biome: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: core_1.Opt(core_1.BooleanNode()),\r\n features: core_1.Opt(core_1.BooleanNode()),\r\n layers: 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 = core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: 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: core_1.ListNode(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', core_1.Mod(core_1.ObjectNode({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: 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: 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', core_1.Mod(core_1.ObjectNode({\r\n ultrawarm: core_1.BooleanNode(),\r\n natural: core_1.BooleanNode(),\r\n piglin_safe: core_1.BooleanNode(),\r\n respawn_anchor_works: core_1.BooleanNode(),\r\n bed_works: core_1.BooleanNode(),\r\n has_raids: core_1.BooleanNode(),\r\n has_skylight: core_1.BooleanNode(),\r\n has_ceiling: core_1.BooleanNode(),\r\n coordinate_scale: core_1.NumberNode({ min: 0.00001, max: 30000000 }),\r\n ambient_light: core_1.NumberNode(),\r\n fixed_time: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n logical_height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n effects: 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: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: 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', core_1.ObjectOrList(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: core_1.Opt(core_1.ListNode(Reference('condition')))\r\n };\r\n schemas.register('function', core_1.Mod(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]: 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: core_1.Opt(core_1.ListNode(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: core_1.Opt(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 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', core_1.Mod(core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: core_1.Opt(core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: core_1.Opt(Reference('number_provider')),\r\n entries: 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: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true, min: 1 }), weightMod)),\r\n quality: core_1.Opt(core_1.Mod(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: 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: 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: 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: core_1.Opt(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', core_1.Mod(core_1.ObjectNode({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: 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', core_1.Mod(core_1.ObjectNode({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: 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', core_1.Mod(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: 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', core_1.Mod(core_1.ObjectNode({\r\n pack: core_1.Mod(core_1.ObjectNode({\r\n pack_format: core_1.Mod(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: 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 = 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: core_1.NumberNode(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n min: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max: core_1.Opt(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: core_1.BooleanNode(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', core_1.ObjectNode({\r\n items: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: 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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: core_1.Opt(core_1.ListNode(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', core_1.ObjectNode({\r\n enchantment: 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', core_1.ObjectNode({\r\n blocks: core_1.Opt(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: core_1.Opt(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', core_1.ObjectNode({\r\n fluid: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: core_1.Opt(core_1.MapNode(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', core_1.ObjectNode({\r\n position: core_1.Opt(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: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: core_1.Opt(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: core_1.Opt(core_1.ObjectNode({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: core_1.Opt(core_1.BooleanNode()),\r\n block: core_1.Opt(Reference('block_predicate')),\r\n fluid: core_1.Opt(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', 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', core_1.ObjectNode({\r\n gamemode: core_1.Opt(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), core_1.ChoiceNode([\r\n { type: 'boolean', node: core_1.BooleanNode(), change: _ => true },\r\n {\r\n type: 'object', node: core_1.MapNode(StringNode(), core_1.BooleanNode())\r\n }\r\n ]))),\r\n recipes: core_1.Opt(core_1.MapNode(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), core_1.BooleanNode())),\r\n stats: core_1.Opt(core_1.ListNode(Reference('statistic_predicate'))),\r\n looking_at: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', core_1.ObjectNode({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: core_1.Opt(core_1.BooleanNode()),\r\n visible: core_1.Opt(core_1.BooleanNode())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', 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', core_1.ObjectNode({\r\n type: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: core_1.Opt(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: core_1.Opt(StringNode({ validator: 'team' })),\r\n location: core_1.Opt(Reference('location_predicate')),\r\n stepping_on: core_1.Opt(Reference('location_predicate')),\r\n distance: core_1.Opt(Reference('distance_predicate')),\r\n flags: core_1.Opt(core_1.ObjectNode({\r\n is_on_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_sneaking: core_1.Opt(core_1.BooleanNode()),\r\n is_sprinting: core_1.Opt(core_1.BooleanNode()),\r\n is_swimming: core_1.Opt(core_1.BooleanNode()),\r\n is_baby: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n equipment: core_1.Opt(core_1.MapNode(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: core_1.Opt(Reference('player_predicate')),\r\n vehicle: core_1.Opt(Reference('entity_predicate')),\r\n passenger: core_1.Opt(Reference('entity_predicate')),\r\n targeted_entity: core_1.Opt(Reference('entity_predicate')),\r\n lightning_bolt: core_1.Opt(core_1.ObjectNode({\r\n blocks_set_on_fire: core_1.Opt(Reference('int_bounds')),\r\n entity_struck: core_1.Opt(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: core_1.Opt(core_1.ObjectNode({\r\n in_open_water: core_1.Opt(core_1.BooleanNode())\r\n })),\r\n effects: core_1.Opt(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', core_1.ObjectNode({\r\n is_explosion: core_1.Opt(core_1.BooleanNode()),\r\n is_fire: core_1.Opt(core_1.BooleanNode()),\r\n is_magic: core_1.Opt(core_1.BooleanNode()),\r\n is_projectile: core_1.Opt(core_1.BooleanNode()),\r\n is_lightning: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_armor: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_invulnerability: core_1.Opt(core_1.BooleanNode()),\r\n bypasses_magic: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n direct_entity: core_1.Opt(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', core_1.ObjectNode({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: core_1.Opt(core_1.BooleanNode()),\r\n source_entity: core_1.Opt(Reference('entity_predicate')),\r\n type: 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', core_1.Mod(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: core_1.Opt(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: core_1.ListNode(StringNode()),\r\n key: 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: core_1.Opt(StringNode()),\r\n ingredients: core_1.ListNode(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: core_1.Opt(core_1.NumberNode()),\r\n cookingtime: core_1.Opt(core_1.Mod(core_1.NumberNode({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: core_1.Opt(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: 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', core_1.Mod(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: 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', core_1.Mod(core_1.ObjectNode({\r\n item: core_1.Opt(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: 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', core_1.Mod(core_1.ObjectNode({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.Mod(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) => core_1.Mod(core_1.ObjectNode({\r\n replace: core_1.Opt(core_1.BooleanNode()),\r\n values: core_1.ListNode(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: core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: 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', core_1.Mod(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: 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: 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: core_1.Opt(StringNode()) /* TODO */,\r\n font: core_1.Opt(StringNode()),\r\n bold: core_1.Opt(core_1.BooleanNode()),\r\n italic: core_1.Opt(core_1.BooleanNode()),\r\n underlined: core_1.Opt(core_1.BooleanNode()),\r\n strikethrough: core_1.Opt(core_1.BooleanNode()),\r\n obfuscated: core_1.Opt(core_1.BooleanNode()),\r\n insertion: core_1.Opt(StringNode()),\r\n clickEvent: core_1.Opt(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: core_1.Opt(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: core_1.Opt(Reference('text_component')),\r\n contents: core_1.Opt(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: core_1.Opt(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: core_1.Opt(core_1.ObjectNode({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n tag: 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: core_1.Opt(core_1.ObjectNode({\r\n name: core_1.Opt(StringNode()),\r\n type: core_1.Opt(StringNode()),\r\n id: core_1.Opt(StringNode())\r\n })),\r\n contents: core_1.Opt(core_1.Mod(core_1.ObjectNode({\r\n name: 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: core_1.Opt(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', core_1.Mod(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: 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: core_1.ObjectNode({\r\n translate: StringNode(),\r\n with: 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: core_1.ObjectNode({\r\n score: 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: 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: core_1.ObjectNode({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: 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: 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: core_1.ObjectNode({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: core_1.Opt(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: core_1.Opt(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: core_1.Opt(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: core_1.Opt(core_1.BooleanNode()),\r\n separator: 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', core_1.Mod(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', core_1.Mod(core_1.ObjectNode({\r\n temperature: core_1.NumberNode(),\r\n downfall: core_1.NumberNode(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: core_1.Opt(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: core_1.Opt(core_1.BooleanNode()),\r\n creature_spawn_probability: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n effects: core_1.ObjectNode({\r\n sky_color: core_1.NumberNode({ color: true }),\r\n fog_color: core_1.NumberNode({ color: true }),\r\n water_color: core_1.NumberNode({ color: true }),\r\n water_fog_color: core_1.NumberNode({ color: true }),\r\n grass_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n foliage_color: core_1.Opt(core_1.NumberNode({ color: true })),\r\n grass_color_modifier: core_1.Opt(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: core_1.Opt(StringNode()),\r\n mood_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_delay: core_1.NumberNode({ integer: true }),\r\n block_search_extent: core_1.NumberNode({ integer: true }),\r\n offset: core_1.NumberNode()\r\n })),\r\n additions_sound: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n tick_chance: core_1.NumberNode({ min: 0, max: 1 })\r\n })),\r\n music: core_1.Opt(core_1.ObjectNode({\r\n sound: StringNode(),\r\n min_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n max_delay: core_1.NumberNode({ integer: true, min: 0 }),\r\n replace_current_music: core_1.BooleanNode()\r\n })),\r\n particle: core_1.Opt(core_1.ObjectNode({\r\n options: core_1.ObjectNode({\r\n type: StringNode()\r\n }),\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n }))\r\n }),\r\n spawners: 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 ] }), core_1.Mod(core_1.ListNode(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: core_1.NumberNode({ integer: true }),\r\n minCount: core_1.NumberNode({ integer: true }),\r\n maxCount: 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: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), core_1.Mod(core_1.ObjectNode({\r\n energy_budget: core_1.NumberNode(),\r\n charge: 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: core_1.MapNode(StringNode({ enum: ['air', 'liquid'] }), core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: core_1.ListNode(core_1.Mod(core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_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: Common_1.FloatProvider(),\r\n shape: core_1.ObjectNode({\r\n distance_factor: Common_1.FloatProvider(),\r\n thickness: Common_1.FloatProvider(),\r\n width_smoothness: core_1.NumberNode({ integer: true, min: 0 }),\r\n horizontal_radius_factor: Common_1.FloatProvider(),\r\n vertical_radius_default_factor: core_1.NumberNode(),\r\n vertical_radius_center_factor: core_1.NumberNode()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: Common_1.FloatProvider(),\r\n vertical_radius_multiplier: Common_1.FloatProvider(),\r\n floor_level: Common_1.FloatProvider({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: core_1.ObjectNode({\r\n probability: core_1.NumberNode({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: Common_1.FloatProvider(),\r\n lava_level: Reference('vertical_anchor'),\r\n debug_settings: core_1.Opt(core_1.ObjectNode({\r\n debug_mode: core_1.Opt(core_1.BooleanNode()),\r\n air_state: core_1.Opt(Reference('block_state')),\r\n water_state: core_1.Opt(Reference('block_state')),\r\n lava_state: core_1.Opt(Reference('block_state')),\r\n barrier_state: 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', 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: core_1.NumberNode({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n },\r\n 'minecraft:count_on_every_layer': {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n },\r\n 'minecraft:noise_threshold_count': {\r\n noise_level: core_1.NumberNode(),\r\n below_noise: core_1.NumberNode({ integer: true }),\r\n above_noise: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:noise_based_count': {\r\n noise_to_count_ratio: core_1.NumberNode({ integer: true }),\r\n noise_factor: core_1.NumberNode(),\r\n noise_offset: core_1.Opt(core_1.NumberNode())\r\n },\r\n 'minecraft:environment_scan': {\r\n direction_of_search: StringNode({ enum: ['up', 'down'] }),\r\n max_steps: core_1.NumberNode({ integer: true, min: 1, max: 32 }),\r\n target_condition: Reference('block_predicate_worldgen'),\r\n allowed_search_condition: 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: Common_1.IntProvider({ min: -16, max: 16 }),\r\n y_spread: 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: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max_inclusive: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n },\r\n 'minecraft:surface_water_depth_filter': {\r\n max_water_depth: 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 = 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', core_1.Mod(core_1.ObjectNode({\r\n processors: 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', core_1.Mod(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: core_1.NumberNode()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: 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: 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', core_1.Mod(core_1.ObjectNode({\r\n position_predicate: 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: 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: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n max_dist: core_1.Opt(core_1.NumberNode({ min: 0, max: 255, integer: true })),\r\n min_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n max_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', 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', 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: 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: 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 = 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 = 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: 'feature' });\r\n const RandomPatchConfig = {\r\n tries: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 })),\r\n xz_spread: core_1.Opt(core_1.NumberNode({ integer: true, min: 0 })),\r\n y_spread: core_1.Opt(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: Common_1.IntProvider({ min: 0, max: 8 }),\r\n half_height: core_1.NumberNode({ integer: true, min: 0, max: 4 }),\r\n targets: 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: core_1.Opt(core_1.NumberNode({ integer: true }))\r\n };\r\n const TargetBlockState = core_1.ObjectNode({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: core_1.NumberNode({ min: 0, max: 1 }),\r\n targets: core_1.ListNode(TargetBlockState)\r\n };\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: 'cave_surface' }),\r\n depth: Common_1.IntProvider({ min: 1, max: 128 }),\r\n vertical_range: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n extra_edge_column_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n vegetation_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n xz_radius: 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: ConfiguredFeature\r\n };\r\n schemas.register('configured_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: core_1.ObjectNode({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: Common_1.IntProvider({ min: 0, max: 3 }),\r\n height: 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: core_1.BooleanNode(),\r\n layers: core_1.ListNode(core_1.ObjectNode({\r\n height: 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: Common_1.IntProvider({ min: 0, max: 16 }),\r\n rim_size: 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: core_1.NumberNode({ integer: true, min: 1, max: 512 }),\r\n height: Common_1.IntProvider({ min: 0, max: 128 }),\r\n radius: Common_1.IntProvider({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n height_deviation: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: Common_1.IntProvider({ min: 0, max: 128 }),\r\n density: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n wetness: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: core_1.NumberNode({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: core_1.NumberNode({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: core_1.BooleanNode(),\r\n exit: core_1.Opt(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: core_1.Opt(core_1.BooleanNode()),\r\n crystal_beam_target: core_1.Opt(Reference('block_pos')),\r\n spikes: core_1.ListNode(core_1.ObjectNode({\r\n centerX: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n centerZ: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n radius: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n height: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n guarded: core_1.Opt(core_1.BooleanNode())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: 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: core_1.NumberNode({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: 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: 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: 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: core_1.ObjectNode({\r\n filling: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n inner_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n middle_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n outer_layer: core_1.Opt(core_1.NumberNode({ min: 0.01, max: 50 })),\r\n }),\r\n crack: core_1.ObjectNode({\r\n generate_crack_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n base_crack_size: core_1.Opt(core_1.NumberNode({ min: 0, max: 5 })),\r\n crack_point_offset: core_1.Opt(core_1.NumberNode({ min: 0, max: 10, integer: true })),\r\n }),\r\n noise_multiplier: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_potential_placements_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: core_1.Opt(core_1.BooleanNode()),\r\n outer_wall_distance: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n distribution_points: core_1.Opt(Common_1.IntProvider({ min: 1, max: 20 })),\r\n point_offset: core_1.Opt(Common_1.IntProvider({ min: 0, max: 10 })),\r\n min_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n max_gen_offset: core_1.Opt(core_1.NumberNode({ integer: true })),\r\n invalid_blocks_threshold: core_1.NumberNode({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: core_1.Opt(core_1.NumberNode({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n can_place_on_floor: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_ceiling: core_1.Opt(core_1.BooleanNode()),\r\n can_place_on_wall: core_1.Opt(core_1.BooleanNode()),\r\n can_be_placed_on: core_1.ListNode(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: core_1.Opt(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: core_1.Opt(core_1.NumberNode({ integer: true, min: 1, max: 512 })),\r\n column_radius: Common_1.IntProvider({ min: 0, max: 60 }),\r\n height_scale: Common_1.FloatProvider({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: core_1.NumberNode({ min: 0, max: 1 }),\r\n stalactite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: Common_1.FloatProvider({ min: 0.1, max: 10 }),\r\n wind_speed: Common_1.FloatProvider({ min: 0, max: 2 }),\r\n min_radius_for_wind: core_1.NumberNode({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: 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: core_1.NumberNode({ integer: true, min: 1 }),\r\n spread_height: 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: 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: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n chance_of_directional_spread: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n chance_of_spread_radius2: core_1.Opt(core_1.NumberNode({ min: 0, max: 1 })),\r\n chance_of_spread_radius3: core_1.Opt(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: ConfiguredFeature,\r\n feature_true: ConfiguredFeature\r\n },\r\n 'minecraft:random_selector': {\r\n features: core_1.ListNode(core_1.ObjectNode({\r\n chance: 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: core_1.ListNode(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: core_1.NumberNode({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: core_1.NumberNode({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: core_1.NumberNode({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: core_1.NumberNode({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: 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: PlacedFeature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: Common_1.IntProvider({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: 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: core_1.ListNode(PlacedFeature)\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: core_1.NumberNode({ integer: true }),\r\n hole_count: core_1.NumberNode({ integer: true }),\r\n requires_block_below: core_1.BooleanNode(),\r\n valid_blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: core_1.Opt(core_1.BooleanNode()),\r\n force_dirt: core_1.Opt(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: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: core_1.NumberNode({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: core_1.NumberNode({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: 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: Common_1.IntProvider({ min: 1, max: 64 }),\r\n min_height_for_leaves: core_1.Opt(core_1.NumberNode({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: Common_1.IntProvider({ min: 0, max: 16 }),\r\n offset: 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: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: Common_1.IntProvider({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: Common_1.IntProvider({ min: 1, max: 512 }),\r\n leaf_placement_attempts: core_1.NumberNode({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: Common_1.IntProvider({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: core_1.ListNode(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: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: 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: core_1.NumberNode({ integer: true, min: 1 }),\r\n spread_height: core_1.NumberNode({ integer: true, min: 1 }),\r\n max_height: core_1.NumberNode({ integer: true, min: 1 }),\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: core_1.NumberNode({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: core_1.NumberNode({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: 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', core_1.Mod(core_1.ObjectNode({\r\n feature: ConfiguredFeature,\r\n placement: 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', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: core_1.Opt(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: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 81 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n upper_limit: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 80 })),\r\n lower_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n middle_size: core_1.Opt(core_1.NumberNode({ integer: true, min: 0, max: 16 })),\r\n upper_size: core_1.Opt(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: core_1.NumberNode({ integer: true }),\r\n noise: Reference('noise_parameters'),\r\n scale: core_1.Mod(core_1.NumberNode({ min: Number.MIN_VALUE }), { default: () => 1 })\r\n };\r\n schemas.register('block_state_provider', core_1.Mod(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: Common_1.InclusiveRange({ integer: true, min: 1, max: 64 }),\r\n slow_noise: Reference('noise_parameters'),\r\n slow_scale: core_1.Mod(core_1.NumberNode({ min: Number.MIN_VALUE }), { default: () => 1 }),\r\n states: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:noise_threshold_provider': {\r\n ...NoiseProvider,\r\n threshold: core_1.NumberNode({ min: -1, max: 1 }),\r\n high_chance: core_1.NumberNode({ min: 0, max: 1 }),\r\n default_state: Reference('block_state'),\r\n low_states: core_1.ListNode(Reference('block_state')),\r\n high_states: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:noise_provider': {\r\n ...NoiseProvider,\r\n states: core_1.ListNode(Reference('block_state'))\r\n },\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: 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: core_1.ListNode(core_1.Mod(core_1.ObjectNode({\r\n weight: 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_predicate_worldgen', core_1.Mod(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: core_1.ListNode(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:any_of': {\r\n predicates: core_1.ListNode(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:inside_world_bounds': {\r\n offset: core_1.Opt(core_1.ListNode(core_1.NumberNode({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 })),\r\n },\r\n 'minecraft:matching_blocks': {\r\n offset: core_1.Opt(Reference('block_pos')),\r\n blocks: core_1.ListNode(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:matching_fluids': {\r\n offset: core_1.Opt(core_1.ListNode(core_1.NumberNode({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 })),\r\n fluids: 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: core_1.Opt(core_1.ListNode(core_1.NumberNode({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 })),\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', core_1.Mod(core_1.ObjectNode({\r\n sea_level: core_1.NumberNode({ integer: true }),\r\n disable_mob_generation: core_1.BooleanNode(),\r\n noise_caves_enabled: core_1.BooleanNode(),\r\n noodle_caves_enabled: core_1.BooleanNode(),\r\n aquifers_enabled: core_1.BooleanNode(),\r\n ore_veins_enabled: core_1.BooleanNode(),\r\n legacy_random_source: core_1.BooleanNode(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: core_1.ObjectNode({\r\n min_y: core_1.NumberNode({ integer: true, min: -2048, max: 2047 }),\r\n height: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n size_horizontal: core_1.NumberNode({ integer: true }),\r\n size_vertical: core_1.NumberNode({ integer: true }),\r\n island_noise_override: core_1.Opt(core_1.BooleanNode()),\r\n amplified: core_1.Opt(core_1.BooleanNode()),\r\n large_biomes: core_1.Opt(core_1.BooleanNode()),\r\n sampling: core_1.ObjectNode({\r\n xz_scale: core_1.NumberNode(),\r\n y_scale: core_1.NumberNode(),\r\n xz_factor: core_1.NumberNode(),\r\n y_factor: 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', core_1.ObjectNode({\r\n target: core_1.NumberNode(),\r\n size: core_1.NumberNode({ integer: true, min: 0 }),\r\n offset: core_1.NumberNode({ integer: true })\r\n }));\r\n schemas.register('generator_structures', core_1.ObjectNode({\r\n stronghold: core_1.Opt(core_1.ObjectNode({\r\n distance: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n spread: core_1.NumberNode({ integer: true, min: 0, max: 1023 }),\r\n count: core_1.NumberNode({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: core_1.MapNode(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), core_1.Mod(core_1.ObjectNode({\r\n spacing: core_1.NumberNode({ integer: true, min: 0, max: 4096 }),\r\n separation: core_1.Mod(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: 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', core_1.Mod(core_1.ObjectNode({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: 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', core_1.Mod(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', core_1.Mod(core_1.ChoiceNode([\r\n {\r\n type: 'number',\r\n node: core_1.NumberNode()\r\n },\r\n {\r\n type: 'object',\r\n node: core_1.ObjectNode({\r\n coordinate: core_1.Mod(StringNode({ enum: ['continents', 'erosion', 'weirdness', 'ridges'] }), { default: () => 'continents' }),\r\n points: core_1.ListNode(core_1.ObjectNode({\r\n location: core_1.NumberNode(),\r\n derivative: 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: core_1.NumberNode({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', core_1.Mod(core_1.ObjectNode({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: 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: core_1.NumberNode({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: 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: core_1.NumberNode({ min: 0, max: 1 }),\r\n cluster_probability: 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: core_1.Opt(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', core_1.Mod(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: 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', core_1.Mod(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: 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: core_1.NumberNode(),\r\n max_threshold: 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: core_1.NumberNode({ integer: true }),\r\n surface_type: StringNode({ enum: 'cave_surface' }),\r\n add_surface_depth: core_1.BooleanNode(),\r\n add_surface_secondary_depth: 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: core_1.NumberNode({ integer: true }),\r\n surface_depth_multiplier: core_1.NumberNode({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: core_1.BooleanNode()\r\n },\r\n 'minecraft:y_above': {\r\n anchor: Reference('vertical_anchor'),\r\n surface_depth_multiplier: core_1.NumberNode({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: 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', core_1.Mod(core_1.ObjectNode({\r\n fallback: StringNode(),\r\n elements: 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', core_1.Mod(core_1.ObjectNode({\r\n weight: 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', core_1.Mod(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: 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 ProcessorList_1.initProcessorListSchemas(schemas, collections);\r\n Biome_1.initBiomeSchemas(schemas, collections);\r\n Carver_1.initCarverSchemas(schemas, collections);\r\n Decorator_1.initDecoratorSchemas(schemas, collections);\r\n Feature_1.initFeatureSchemas(schemas, collections);\r\n NoiseSettings_1.initNoiseSettingsSchemas(schemas, collections);\r\n StructureFeature_1.initStructureFeatureSchemas(schemas, collections);\r\n SurfaceRule_1.initSurfaceRuleSchemas(schemas, collections);\r\n 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', core_1.Mod(core_1.ObjectNode({\r\n generate_features: core_1.BooleanNode(),\r\n bonus_chest: core_1.BooleanNode(),\r\n seed: core_1.NumberNode({ integer: true }),\r\n dimensions: 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 Common_1.initCommonSchemas(schemas, collections);\r\n Advancement_1.initAdvancementSchemas(schemas, collections);\r\n assets_1.initAssetsSchemas(schemas, collections);\r\n Condition_1.initConditionSchemas(schemas, collections);\r\n DimensionType_1.initDimensionTypeSchemas(schemas, collections);\r\n Dimension_1.initDimensionSchemas(schemas, collections);\r\n ItemModifier_1.initItemModifierSchemas(schemas, collections);\r\n LootTable_1.initLootTableSchemas(schemas, collections);\r\n PackMcmeta_1.initPackMcmetaSchemas(schemas, collections);\r\n Predicates_1.initPredicatesSchemas(schemas, collections);\r\n Recipe_1.initRecipeSchemas(schemas, collections);\r\n Tags_1.initTagsSchemas(schemas, collections);\r\n TextComponent_1.initTextComponentSchemas(schemas, collections);\r\n worldgen_1.initWorldgenSchemas(schemas, collections);\r\n 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 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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.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 = 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 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 schemas_1.initSchemas(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n","(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 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. 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 {} ...;\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 ...;\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; // `|$)/;\nblock$1.html = edit(block$1.html, 'i')\n .replace('comment', block$1._comment)\n .replace('tag', block$1._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock$1.paragraph = edit(block$1._paragraph)\n .replace('hr', block$1.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\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$1._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock$1.blockquote = edit(block$1.blockquote)\n .replace('paragraph', block$1.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock$1.normal = merge$1({}, block$1);\n\n/**\n * GFM Block Grammar\n */\n\nblock$1.gfm = merge$1({}, block$1.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$1.gfm.table = edit(block$1.gfm.table)\n .replace('hr', block$1.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$1._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock$1.pedantic = merge$1({}, block$1.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block$1._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$1.normal._paragraph)\n .replace('hr', block$1.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block$1.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$1 = {\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. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\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]*?(?:(?=[\\\\?@\\\\[\\\\]`^{|}~';\ninline$1.punctuation = edit(inline$1.punctuation).replace(/punctuation/g, inline$1._punctuation).getRegex();\n\n// sequences em should skip over [title](link), `code`, \ninline$1.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\ninline$1.escapedEmSt = /\\\\\\*|\\\\_/g;\n\ninline$1._comment = edit(block$1._comment).replace('(?:-->|$)', '-->').getRegex();\n\ninline$1.emStrong.lDelim = edit(inline$1.emStrong.lDelim)\n .replace(/punct/g, inline$1._punctuation)\n .getRegex();\n\ninline$1.emStrong.rDelimAst = edit(inline$1.emStrong.rDelimAst, 'g')\n .replace(/punct/g, inline$1._punctuation)\n .getRegex();\n\ninline$1.emStrong.rDelimUnd = edit(inline$1.emStrong.rDelimUnd, 'g')\n .replace(/punct/g, inline$1._punctuation)\n .getRegex();\n\ninline$1._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline$1._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline$1._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$1.autolink = edit(inline$1.autolink)\n .replace('scheme', inline$1._scheme)\n .replace('email', inline$1._email)\n .getRegex();\n\ninline$1._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline$1.tag = edit(inline$1.tag)\n .replace('comment', inline$1._comment)\n .replace('attribute', inline$1._attribute)\n .getRegex();\n\ninline$1._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline$1._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\ninline$1._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline$1.link = edit(inline$1.link)\n .replace('label', inline$1._label)\n .replace('href', inline$1._href)\n .replace('title', inline$1._title)\n .getRegex();\n\ninline$1.reflink = edit(inline$1.reflink)\n .replace('label', inline$1._label)\n .getRegex();\n\ninline$1.reflinkSearch = edit(inline$1.reflinkSearch, 'g')\n .replace('reflink', inline$1.reflink)\n .replace('nolink', inline$1.nolink)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline$1.normal = merge$1({}, inline$1);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline$1.pedantic = merge$1({}, inline$1.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$1._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline$1._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline$1.gfm = merge$1({}, inline$1.normal, {\n escape: edit(inline$1.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]*?(?:(?=[\\\\ 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '' + ch + ';';\n }\n\n return out;\n}\n\n/**\n * Block Lexer\n */\nvar Lexer_1$1 = class Lexer {\n constructor(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || defaults$3;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer$2();\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.type) {\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\nconst { defaults: defaults$2 } = defaults$5.exports;\nconst {\n cleanUrl,\n escape: escape$1\n} = helpers;\n\n/**\n * Renderer\n */\nvar Renderer_1$1 = class Renderer {\n constructor(options) {\n this.options = options || defaults$2;\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 ''\n + (escaped ? code : escape$1(code, true))\n + '
\\n';\n }\n\n return ''\n + (escaped ? code : escape$1(code, true))\n + '
\\n';\n }\n\n blockquote(quote) {\n return '\\n' + quote + '
\\n';\n }\n\n html(html) {\n return html;\n }\n\n heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n }\n\n hr() {\n return this.options.xhtml ? '
\\n' : '
\\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 '' + text + '\\n';\n }\n\n checkbox(checked) {\n return ' ';\n }\n\n paragraph(text) {\n return '' + text + '
\\n';\n }\n\n table(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
\\n';\n }\n\n tablerow(content) {\n return '\\n' + content + '
\\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 '' + text + '';\n }\n\n em(text) {\n return '' + text + '';\n }\n\n codespan(text) {\n return '' + text + '';\n }\n\n br() {\n return this.options.xhtml ? '
' : '
';\n }\n\n del(text) {\n return '' + text + '';\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 = '' + text + '';\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 = '
' : '>';\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 */\n\nvar TextRenderer_1$1 = class 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 */\n\nvar Slugger_1$1 = class 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\nconst Renderer$2 = Renderer_1$1;\nconst TextRenderer$2 = TextRenderer_1$1;\nconst Slugger$2 = Slugger_1$1;\nconst { defaults: defaults$1 } = defaults$5.exports;\nconst {\n unescape\n} = helpers;\n\n/**\n * Parsing & Compiling\n */\nvar Parser_1$1 = class Parser {\n constructor(options) {\n this.options = options || defaults$1;\n this.options.renderer = this.options.renderer || new Renderer$2();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer$2();\n this.slugger = new Slugger$2();\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\nconst Lexer$1 = Lexer_1$1;\nconst Parser$1 = Parser_1$1;\nconst Tokenizer$1 = Tokenizer_1$1;\nconst Renderer$1 = Renderer_1$1;\nconst TextRenderer$1 = TextRenderer_1$1;\nconst Slugger$1 = Slugger_1$1;\nconst {\n merge,\n checkSanitizeDeprecation,\n escape\n} = helpers;\nconst {\n getDefaults,\n changeDefaults,\n defaults\n} = defaults$5.exports;\n\n/**\n * Marked\n */\nfunction marked$1(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$1.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n if (callback) {\n const highlight = opt.highlight;\n let tokens;\n\n try {\n tokens = Lexer$1.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$1.walkTokens(tokens, opt.walkTokens);\n }\n out = Parser$1.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$1.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$1.lex(src, opt);\n if (opt.walkTokens) {\n marked$1.walkTokens(tokens, opt.walkTokens);\n }\n return Parser$1.parse(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (opt.silent) {\n return 'An error occurred:
'\n + escape(e.message + '', true)\n + '
';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked$1.options =\nmarked$1.setOptions = function(opt) {\n merge(marked$1.defaults, opt);\n changeDefaults(marked$1.defaults);\n return marked$1;\n};\n\nmarked$1.getDefaults = getDefaults;\n\nmarked$1.defaults = defaults;\n\n/**\n * Use Extension\n */\n\nmarked$1.use = function(...args) {\n const opts = merge({}, ...args);\n const extensions = marked$1.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$1.defaults.renderer || new Renderer$1();\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$1.defaults.tokenizer || new Tokenizer$1();\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$1.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$1.setOptions(opts);\n });\n};\n\n/**\n * Run callback for every token\n */\n\nmarked$1.walkTokens = function(tokens, callback) {\n for (const token of tokens) {\n callback.call(marked$1, token);\n switch (token.type) {\n case 'table': {\n for (const cell of token.header) {\n marked$1.walkTokens(cell.tokens, callback);\n }\n for (const row of token.rows) {\n for (const cell of row) {\n marked$1.walkTokens(cell.tokens, callback);\n }\n }\n break;\n }\n case 'list': {\n marked$1.walkTokens(token.items, callback);\n break;\n }\n default: {\n if (marked$1.defaults.extensions && marked$1.defaults.extensions.childTokens && marked$1.defaults.extensions.childTokens[token.type]) { // Walk any extensions\n marked$1.defaults.extensions.childTokens[token.type].forEach(function(childTokens) {\n marked$1.walkTokens(token[childTokens], callback);\n });\n } else if (token.tokens) {\n marked$1.walkTokens(token.tokens, callback);\n }\n }\n }\n }\n};\n\n/**\n * Parse Inline\n */\nmarked$1.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$1.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n try {\n const tokens = Lexer$1.lexInline(src, opt);\n if (opt.walkTokens) {\n marked$1.walkTokens(tokens, opt.walkTokens);\n }\n return Parser$1.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (opt.silent) {\n return 'An error occurred:
'\n + escape(e.message + '', true)\n + '
';\n }\n throw e;\n }\n};\n\n/**\n * Expose\n */\nmarked$1.Parser = Parser$1;\nmarked$1.parser = Parser$1.parse;\nmarked$1.Renderer = Renderer$1;\nmarked$1.TextRenderer = TextRenderer$1;\nmarked$1.Lexer = Lexer$1;\nmarked$1.lexer = Lexer$1.lex;\nmarked$1.Tokenizer = Tokenizer$1;\nmarked$1.Slugger = Slugger$1;\nmarked$1.parse = marked$1;\n\nvar marked_1 = marked$1;\n\nconst marked = marked_1;\nconst Lexer = Lexer_1$1;\nconst Parser = Parser_1$1;\nconst Tokenizer = Tokenizer_1$1;\nconst Renderer = Renderer_1$1;\nconst TextRenderer = TextRenderer_1$1;\nconst Slugger = Slugger_1$1;\n\nesmEntry$1.exports = marked;\nvar parse = esmEntry$1.exports.parse = marked;\nvar Parser_1 = esmEntry$1.exports.Parser = Parser;\nvar parser = esmEntry$1.exports.parser = Parser.parse;\nvar Renderer_1 = esmEntry$1.exports.Renderer = Renderer;\nvar TextRenderer_1 = esmEntry$1.exports.TextRenderer = TextRenderer;\nvar Lexer_1 = esmEntry$1.exports.Lexer = Lexer;\nvar lexer = esmEntry$1.exports.lexer = Lexer.lex;\nvar Tokenizer_1 = esmEntry$1.exports.Tokenizer = Tokenizer;\nvar Slugger_1 = esmEntry$1.exports.Slugger = Slugger;\n\nvar esmEntry = esmEntry$1.exports;\n\nexport { Lexer_1 as Lexer, Parser_1 as Parser, Renderer_1 as Renderer, Slugger_1 as Slugger, TextRenderer_1 as TextRenderer, Tokenizer_1 as Tokenizer, esmEntry as default, lexer, parse, parser };\n"],"names":["n","u","i","t","r","f","e","n2","l2","u2","parentNode","removeChild","t2","o2","r2","arguments","f2","length","push","children","defaultProps","v","type","props","key","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","this","context","d","indexOf","base","_","b","__r","debounceRendering","sort","n3","some","__P","c","I","__n","ownerSVGElement","T","e2","c2","s2","a2","h","p2","_2","k2","b2","m2","w2","A2","P2","Array","isArray","y","g","x","value","L","appendChild","nextSibling","insertBefore","setProperty","test","style","cssText","P","replace","toLowerCase","slice","l","addEventListener","H","$","removeEventListener","setAttribute","removeAttribute","event","v2","d2","g2","x2","contextType","__E","prototype","render","p","M","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","m","y2","localName","nodeType","document","createTextNode","createElementNS","createElement","is","data","call","childNodes","dangerouslySetInnerHTML","attributes","name","__html","innerHTML","C","A","firstChild","s","checked","j","diffed","l3","u3","current","unmount","z","componentWillUnmount","a","getDerivedStateFromError","setState","componentDidCatch","k","forceUpdate","Promise","then","bind","resolve","setTimeout","EMPTY$1","obj","url","route2","opts","ret","reg","match","matches","split","decodeURIComponent","join","segmentize","max","Math","i$1","charAt","param","flags","plus","star","val","map","default","rank","index","index2","path","rankSegment","rankChild","segment","customHistory","ROUTERS","subscribers","EMPTY","location","getCurrentLocation","pathname","search","canRoute","type2","history","routeTo","didRoute","node","getAttribute","href","target","route","ctrlKey","metaKey","altKey","shiftKey","button","currentTarget","prevent","stopImmediatePropagation","stopPropagation","preventDefault","String","nodeName","toUpperCase","hasAttribute","routeFromLink","eventListenersInitialized","Router","Component$$1","getCurrentUrl","delegateLinkHandler","__proto__","Object","create","Router2","static","onChange","toChildArray","getMatchingChildren","updating","this$1","unlisten","listen","location2","splice","invoke","filter","prepareVNodeForRanking","pathRankSort","exec","newProps","cloneElement","Boolean","ref$1","active","current2","previous","previousUrl","router","Component","Link","assign","onClick","handleLinkClick","Route","component","o","__H","w","requestAnimationFrame","t3","cancelAnimationFrame","defineProperty","Path_1","start","relativePath2","reduce","pop","[object Object]","modelArr","contextArr","end","Path","element","modelPush","contextPush","copy","newElement","startsWith","model","ModelPath","other","every","offset","fn","thisArg","_a","get","set","super","shift","Errors_1","errors","error","params","exact","equals","Symbol","iterator","Errors","str2","utils","escapeString","dec2hex","dec","toString","substr","arr","Uint8Array","crypto","getRandomValues","from","DataModel_1","require$$0","require$$1","utils_1","require$$2","schema2","options","_b","_c","_d","historyMax","verbose","wrapLists","schema","initialData","DataModel","listeners","JSON","stringify","historyIndex","listener","newHistory","silentInvalidate","invalidated","loose","validate","invalidate","silent","getArray","reset","id","hexId","isNaN","last","log","parse","withModel","clear","tempErrors","add","res2","getOwnPropertySymbols","entries","unwrapLists","exports","category","enabled","keep","optional","pathPush","suggest","validationOption","hook","args","canUpdate","update","mods","__spreadValues","Mod","__spreadProps","BooleanNode","Node_1","Base","boolean","ListNode","config","min","minLength","maxLength","Infinity","between","nextIndex","navigate","parseInt","newObj","_a2","list","SwitchNode","cases","activeCase","concat","fallback","sorter","priority","matchedCases","ListNode_1","SwitchNode_1","choices","switchNode","choice","isValid","XOrList","ChoiceNode","change","presetNode","objectNode","presets","keys","MapNode","validation","__1","DataModel_12","Node_12","integer","color","Number","isInteger","number","values","NumberNode","includes","Path_12","Errors_12","utils_12","require$$3","require$$4","fields","Switch","Case","defaultFields","__restKey","getActiveFields","switchValue","relativePath","getChildModelPath","childKey","caseFields","caseKeys","pathWithContext","getModel","disableSwitchContext","pathElements","activeFields","existingKeys","quoteString","filterPath","filterField","activeKeys","forcedKeys","Set","newValue","object","Reference","schemas2","transform","StringNode","isEnum","enum","isValidator","validator","collections","getValues","pool","allowTag","isDefinition","allowUnknown","additional","string","Hook","Registries","registry","warn","ValidationOption","__createBinding2","__createBinding","k22","enumerable","__exportStar","exports2","hasOwnProperty","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","buf","len","extra_lbits","extra_dbits","extra_blbits","bl_order","static_ltree","zero$1","static_dtree","D_CODES$1","_dist_code","_length_code","MAX_MATCH$1","base_length","base_dist","static_tree","extra_bits","extra_base","elems","max_length","has_stree","static_l_desc","static_d_desc","static_bl_desc","dyn_tree","stat_desc","max_code","d_code","dist","put_short","pending_buf","pending","send_bits","bi_valid","bi_buf","send_code","tree","bi_reverse","code2","gen_codes","bl_count","next_code","MAX_BITS$1","bits","init_block","LITERALS$1","dyn_ltree","dyn_dtree","bl_tree","END_BLOCK","opt_len","static_len","last_lit","bi_windup","smaller","depth","_n2","_m2","pqdownheap","heap","j2","heap_len","compress_block","ltree","dtree","lc","extra","lx","d_buf","l_buf","build_tree","desc","stree","heap_max","xbits","overflow","scan_tree","curlen","prevlen","nextlen","count","max_count","min_count","REP_3_6","REPZ_3_10","REPZ_11_138","send_tree","static_init_done","_tr_stored_block$1","stored_len","last2","header","window","subarray","trees","_tr_init","LENGTH_CODES$1","L_CODES$1","StaticTreeDesc","l_desc","TreeDesc","d_desc","bl_desc","_tr_stored_block","_tr_flush_block","opt_lenb","static_lenb","max_blindex","level","strm","data_type","black_mask","detect_data_type","BL_CODES$1","build_bl_tree","strategy","lcodes","dcodes","blcodes","rank2","_tr_tally","lit_bufsize","_tr_align","STATIC_TREES","adler32_1","adler","pos","s1","crcTable","Uint32Array","table","makeTable","crc32_1","crc","messages","2","1","0","-1","-2","-3","-4","-5","-6","constants$2","Z_NO_FLUSH","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_FINISH","Z_BLOCK","Z_TREES","Z_OK","Z_STREAM_END","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_MEM_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","Z_NO_FLUSH$2","Z_FULL_FLUSH$1","Z_FINISH$3","Z_BLOCK$1","Z_OK$3","Z_STREAM_END$3","Z_STREAM_ERROR$2","Z_DATA_ERROR$2","Z_BUF_ERROR$1","Z_DEFAULT_COMPRESSION$1","Z_DEFAULT_STRATEGY$1","Z_DEFLATED$2","err","errorCode","msg","zero","HASH","prev","hash_shift","hash_mask","flush_pending","avail_out","output","pending_out","next_out","total_out","flush_block_only","block_start","strstart","put_byte","putShortMSB","read_buf","size","avail_in","input","next_in","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","limit","w_size","MAX_MATCH","_win","wmask","w_mask","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","more","window_size","hash_size","head","insert","ins_h","deflate_fast","flush","hash_head","bflush","match_length","max_lazy_match","MIN_MATCH","deflate_slow","max_insert","prev_match","match_available","good_length","max_lazy","nice_length","max_chain","func","configuration_table","Config","max_block_size","pending_buf_size","max_start","status","gzhead","gzindex","method","last_flush","w_bits","hash_bits","Uint16Array","HEAP_SIZE","MAX_BITS","deflateResetKeep","deflateReset","deflateInit2","windowBits","memLevel","DeflateState","deflate_1$2","deflateInit","deflateSetHeader","deflate","beg","old_flush","text","hcrc","comment","time","os","level_flags","charCodeAt","bstate","deflate_huff","deflate_rle","deflateEnd","deflateSetDictionary","dictionary","dictLength","tmpDict","avail","next2","deflateInfo","_has","common","sources","source","TypeError","chunks","result","chunk","STR_APPLY_UIA_OK","fromCharCode","apply","_utf8len","q2","strings","TextEncoder","encode","c22","m_pos","str_len","buf_len","TextDecoder","decode","out","utf16buf","c_len","buf2binstring","zstream","toString$1","Z_NO_FLUSH$1","Z_FINISH$2","Z_OK$2","Z_STREAM_END$2","Z_DEFLATED$1","chunkSize","opt","raw","gzip","ended","Error","dict","_dict_set","Deflate$1","flush_mode","_flush_mode","onData","onEnd","inffast","_in","_out","dmax","wsize","whave","wnext","s_window","hold","lcode","dcode","lmask","dmask","here","op","from_source","lencode","distcode","lenbits","distbits","mode","sane","lbase","lext","dbase","dext","inftrees","lens","lens_index","codes","table_index","work","incr","fill","low","mask","sym","root","curr","drop","left","used","huff","base_index","MAXBITS","offs","here_bits","here_op","here_val","extra_index","Z_FINISH$1","Z_OK$1","Z_STREAM_END$1","Z_NEED_DICT$1","Z_STREAM_ERROR$1","Z_DATA_ERROR$1","Z_MEM_ERROR$1","zswap32","havedict","check","total","wbits","ncode","nlen","ndist","have","next","lendyn","distdyn","back","was","inflateResetKeep","Int32Array","inflateReset","inflateReset2","inflateInit2","InflateState","lenfix","distfix","virgin","fixedtables","updatewindow","src2","inflate_1$2","inflateInit","inflate","put","last_bits","last_op","last_val","hbuf","order","done","xflags","extra_len","inflateEnd","inflateGetHeader","inflateSetDictionary","dictid","inflateInfo","gzheader","to","Inflate$1","last_avail_out","next_out_utf8","tail","utf8str","base64map","crypt","rotl","rotr","endian","randomBytes","bytes","floor","random","bytesToWords","words","wordsToBytes","bytesToHex","hex","hexToBytes","bytesToBase64","base64","triplet","base64ToBytes","imod4","pow","charenc","utf8","stringToBytes","bin","unescape","encodeURIComponent","bytesToString","escape","charenc_1","isBuffer_1","readFloatLE","isBuffer","isSlowBuffer","_isBuffer","isBuffer2","md5","message","encoding","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","_blocksize","_digestsize","digestbytes","asBytes","asString","UP","DOWN","NORTH","EAST","SOUTH","WEST","E","R","ht","Pt","Et","At","Ct","Rt","Nt","kt","Tt","_t","ALL","normal","towards","readNumber","readInt","readString","readBoolean","readObject","readArray","e3","t4","readMap","fromEntries","compose","properties","S","N","Name","Properties","AIR","minY","storage","SIZE","palette","findIndex","WIDTH","height","sections","sectionsCount","maxY","maxSection","minSection","getSectionIndex","getBlockState","getOrCreateSection","setBlockState","fromBlockPos","fromLong","BigInt","minBlockX","minBlockZ","maxBlockX","maxBlockZ","seed","setSeed","V","nextLong","MULTIPLIER","MODULUS_MASK","INCREMENT","advance","MODULUS_BITS","FLOAT_MULTIPLIER","DOUBLE_MULTIPLIER","W","upgradeSeedTo128bit","SILVER_RATIO_64","GOLDEN_RATIO_64","mixStafford13","getSeed","LongfromBytes","rotateLeft","o3","nextBits","xo","nextDouble","yo","zo","nextInt","Y","F2","G2","getCornerNoise3D","S2","B","I2","E2","C2","R2","N2","gradDot","GRADIENT","sqrt","sampleAndLerp","D","U","fork","noiseLevels","i2","J","forkWithHashOf","consume","amplitudes","lowestFreqInputFactor","lowestFreqValueFactor","sample","Z","cellWidth","cellHeight","minLimitNoise","maxLimitNoise","mainNoise","xzScale","yScale","xzMainScale","xzFactor","yMainScale","yFactor","getOctaveNoise","o4","a3","X","fromJson","xz_scale","y_scale","xz_factor","y_factor","firstOctave","first","second","valueFactor","G","INPUT_FACTOR","q","K","coordinate","points","s3","derivative","addPoint","locations","derivatives","toJson","rotate","up","down","north","east","south","west","r3","parameters","Param","temperature","humidity","continentalness","erosion","weirdness","O","distance","ParamPoint","TargetPoint","Parameters","things","build","CHILDREN_PER_NODE","e4","e5","i3","s4","space","abs","bucketize","area","toArray","thing","RTree","RNode","buildSpace","union","RSubTree","RLeaf","biome","Ot","offsetSampler","factorSampler","jaggednessSampler","Lt","EXTRACTOR","factor","jaggedness","GLOBAL_OFFSET","continents","ridges","peaksAndValleys","buildErosionOffsetSpline","CONTINENTS","getErosionFactor","buildErosionJaggednessSpline","WEIRDNESS","EROSION","RIDGES","buildMountainRidgeSplineWithPoints","ridgeSpline","mountainContinentalness","calculateMountainRidgeZeroContinentalnessPoint","calculateSlope","buildRidgeJaggednessSpline","buildWeirdnessJaggednessSpline","extractor","fromList","filler","noise000","noise001","noise100","noise101","noise010","noise011","noise110","noise111","valueXZ00","valueXZ10","valueXZ01","valueXZ11","valueZ0","valueZ1","slice0","Dt","allocateSlice","cellCountY","cellCountXZ","slice1","fillSlice","firstCellX","firstCellZ","cellCountNoiseMinY","interpolators","terrainInfo","Map","shiftedX","shiftedZ","terrainInfoBuffer","baseNoise","makeBaseNoiseFiller","initializeForFirstCellX","advanceCellX","selectCellYZ","updateForY","updateForX","updateForZ","swapSlices","getOffset","getContinentalness","getWeirdness","getErosion","getTerrainInfo","min_y","xzSize","size_horizontal","ySize","size_vertical","densityFactor","density_factor","densityOffset","density_offset","sampling","topSlide","top_slide","bottomSlide","bottom_slide","terrainShaper","terrain_shaper","useSimplexSurfaceNoise","simplex_surface_noise","randomDensityOffset","random_density_offset","islandNoiseOverride","island_noise_override","isAmplified","amplified","useLegacyRandom","use_legacy_random","settings","blendedNoise","temperatureNoise","humidityNoise","continentalnessNoise","erosionNoise","weirdnessNoise","offsetNoise","jaggedNoise","shaper","createNoiseInterpolator","calculateBaseNoise","point","getTemperature","getHumidity","computeDimensionDensity","sampleJaggedNoise","applySlide","biomeSource","noise","sampler","Xt","octaves","legacyRandomSource","materialRule","updateNoiseAndGenerateBaseState","Ut","minBlockY","getShiftedX","getShiftedZ","getBiome","r4","u4","f3","defaultBlock","seaLevel","defaultFluid","wasm","structures","default_block","default_fluid","bedrockRoofPosition","bedrock_roof_position","bedrockFloorPosition","bedrock_floor_position","sea_level","disableMobGeneration","disable_mob_generation","aquifersEnabled","aquifers_enabled","noiseCavesEnabled","noise_caves_enabled","deepslateEnabled","deepslate_enabled","oreVeinsEnabled","ore_veins_enabled","noodleCavesEnabled","noodle_caves_enabled","legacy_random_source","stronghold","spread","spacing","t5","separation","salt","cachedTextDecoder","ignoreBOM","fatal","cachegetUint8Memory0","ptr","buffer","memory","u32CvtShim","int64CvtShim","BigInt64Array","cachegetInt32Memory0","cachegetFloat64Memory0","Float64Array","WASM_VECTOR_LEN","arg","malloc","cachegetUint32Memory0","t_min","t_max","h_min","h_max","c_min","c_max","e_min","e_max","w_min","w_max","d_min","d_max","ptr0","passArrayF64ToWasm0","__wbindgen_malloc","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","passArray32ToWasm0","len13","biome_parameters","ParameterList","__wrap","t_first","t_amplitudes","h_first","h_amplitudes","c_first","c_amplitudes","e_first","e_amplitudes","w_first","w_amplitudes","s_first","s_amplitudes","low0","high0","climate_sampler","Sampler","instance","klass","x_from","x_to","x_step","y_from","y_to","y_step","z_from","z_to","z_step","retptr","__wbindgen_add_to_stack_pointer","multi_noise","r0","getInt32Memory0","r1","v0","getArrayI32FromWasm0","__wbindgen_free","climate_noise","getFloat64Memory0","getArrayF64FromWasm0","__destroy_into_raw","__wbg_parameterlist_free","__wbg_sampler_free","async","URL","import_meta","imports","wbg","__wbindgen_throw","arg0","arg1","getStringFromWasm0","Request","fetch","module","Response","WebAssembly","instantiateStreaming","headers","arrayBuffer","instantiate","Instance","load","__wbindgen_wasm_module","rfdc_1","circles","refs","refsNew","proto","Date","cloneArray","cloneProto","o22","cur","ArrayBuffer","isView","copyBuffer","clone","a22","rfdcCircles","Buffer","byteOffset","Collections","register","core_12","StringNode2","Reference2","ObjectNode","Opt","forceRange","bounds","allowBinomial","choiceContext","minecraft:alternative","terms","minecraft:block_state_property","block","minecraft:damage_source_properties","predicate","minecraft:entity_properties","entity","minecraft:entity_scores","scores","Range","minecraft:inverted","term","minecraft:killed_by_player","inverse","minecraft:location_check","offsetX","offsetY","offsetZ","minecraft:match_tool","minecraft:random_chance","chance","minecraft:random_chance_with_looting","looting_multiplier","minecraft:reference","minecraft:table_bonus","enchantment","chances","minecraft:time_check","period","minecraft:weather_check","raining","thundering","Common_12","StateChoice","item","tag","durability","potion","nbt","enchantments","levels","fluid","position","feature","dimension","light","LocationFields","stat","minecraft:mined","minecraft:crafted","minecraft:used","minecraft:broken","minecraft:picked_up","minecraft:dropped","minecraft:killed","minecraft:killed_by","minecraft:custom","gamemode","advancements","recipes","stats","amplifier","duration","ambient","visible","absolute","horizontal","team","is_on_fire","is_sneaking","is_sprinting","is_swimming","is_baby","equipment","player","effects","is_explosion","is_fire","is_magic","is_projectile","is_lightning","bypasses_armor","bypasses_invulnerability","bypasses_magic","source_entity","direct_entity","dealt","taken","blocked","Advancement","core_1","Common_1","Predicates_1","display","icon","title","description","background","frame","show_toast","announce_to_chat","hidden","parent","criteria","requirements","rewards","function","loot","experience","requirement","trigger","conditions","minecraft:bee_nest_destroyed","num_bees_inside","minecraft:bred_animals","partner","child","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","victims","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","villager","zombie","minecraft:effects_changed","minecraft:enter_block","minecraft:enchanted_item","minecraft:entity_hurt_player","damage","minecraft:entity_killed_player","killing_blow","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:inventory_changed","slots","empty","occupied","full","items","minecraft:item_durability_changed","delta","minecraft:killed_by_crossbow","unique_entity_types","minecraft:levitation","minecraft:location","minecraft:nether_travel","entered","exited","minecraft:placed_block","minecraft:player_hurt_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","recipe","minecraft:safely_harvest_honey","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:shot_crossbow","minecraft:summoned_entity","minecraft:tame_animal","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile","Condition","ObjectOrList","condition","ConditionCases","LootContext","requires","allows","LootTable","LootContext_1","functionsAndConditions","functions","contextMap","collectionID","getNode","getAvailableOptions","providedContext","tableType","LootTableTypes","conditionSwtichNode","compileSwitchNode","LootConditions","functionSwtichNode","LootFunctions","entitySourceSwtichNode","LootEntitySources","copySourceSwtichNode","LootCopySources","pools","rolls","bonus_rolls","weightMod","weight","quality","minecraft:alternatives","minecraft:dynamic","minecraft:group","minecraft:item","minecraft:loot_table","minecraft:sequence","minecraft:tag","expand","minecraft:apply_bonus","formula","bonusMultiplier","probability","minecraft:copy_name","minecraft:copy_nbt","ops","getter","minecraft:copy_state","minecraft:enchant_randomly","minecraft:enchant_with_levels","treasure","minecraft:exploration_map","destination","decoration","zoom","search_radius","skip_existing_chunks","minecraft:fill_player_head","minecraft:limit_count","minecraft:looting_enchant","minecraft:set_attributes","modifiers","minecraft:set_contents","minecraft:set_count","minecraft:set_damage","minecraft:set_loot_table","minecraft:set_lore","lore","minecraft:set_name","minecraft:set_nbt","minecraft:set_stew_effect","attribute","amount","operation","slot","StringOrList","PackMcmeta","pack","pack_format","Recipe","minecraft:crafting_shaped","group","pattern","minecraft:crafting_shapeless","ingredients","minecraft:smelting","ingredient","cookingtime","minecraft:blasting","minecraft:smoking","minecraft:campfire_cooking","minecraft:stonecutting","minecraft:smithing","addition","Tags","TagBase","required","TextComponent","getSimpleString","parseFloat","isFinite","CommonFields","bold","italic","underlined","strikethrough","obfuscated","insertion","clickEvent","action","change_page","copy_to_clipboard","open_file","open_url","run_command","leadingSlash","allowPartial","suggest_command","hoverEvent","show_text","show_item","show_entity","translate","with","score","isScoreHolder","objective","selector","keybind","interpret","schemas","Advancement_1","Condition_1","LootTable_1","PackMcmeta_1","Recipe_1","Tags_1","TextComponent_1","initCommonSchemas","initPredicatesSchemas","initAdvancementSchemas","initConditionSchemas","initLootTableSchemas","initPackMcmetaSchemas","initRecipeSchemas","initTagsSchemas","initTextComponentSchemas","__setModuleDefault","__importStar","mod","__esModule","lib","Collections_1","schemas_1","CollectionRegistry","initCollections","getSchemas_1","SchemaRegistry","initSchemas","ultrawarm","natural","piglin_safe","respawn_anchor_works","bed_works","has_raids","has_skylight","has_ceiling","coordinate_scale","ambient_light","logical_height","infiniburn","maxSpread","ObjectOrPreset","minecraft:overworld","DefaultDimensionType","minecraft:the_nether","shrunk","fixed_time","minecraft:the_end","DefaultNoiseSettings","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands","EntityPredicate","minecraft:item_used_on_block","minecraft:player_generates_container_loot","loot_table","minecraft:player_interacted_with_entity","minecraft:target_hit","projectile","shooter","signal_strength","minecraft:thrown_item_picked_up_by_entity","Dimension","NoPreset","DimensionTypePresets","generator","minecraft:noise","NoiseSettingsPresets","biome_source","minecraft:fixed","minecraft:multi_noise","preset","altitude_noise","temperature_noise","humidity_noise","weirdness_noise","biomes","minecraft:checkerboard","scale","minecraft:vanilla_layered","large_biomes","legacy_biome_init_layer","minecraft:flat","lakes","features","layers","altitude","DimensionType","Predicates","smokey","vehicle","targeted_entity","fishing_hook","in_open_water","font","contents","Biome","surface_builder","downfall","precipitation","temperature_modifier","player_spawn_friendly","creature_spawn_probability","sky_color","fog_color","water_color","water_fog_color","grass_color","foliage_color","grass_color_modifier","ambient_sound","mood_sound","sound","tick_delay","block_search_extent","additions_sound","tick_chance","music","min_delay","max_delay","replace_current_music","particle","starts","spawners","minCount","maxCount","spawn_costs","energy_budget","charge","carvers","Carver","Decorator","RangeConfig","maximum","bottom_offset","top_offset","ChanceConfig","CountConfig","UniformInt","minecraft:carving_mask","step","minecraft:chance","minecraft:count","minecraft:count_extra","extra_count","extra_chance","minecraft:count_multilayer","minecraft:count_noise","noise_level","below_noise","above_noise","minecraft:count_noise_biased","noise_to_count_ratio","noise_factor","noise_offset","minecraft:decorated","outer","inner","minecraft:depth_average","baseline","minecraft:fire","minecraft:glowstone","minecraft:lava_lake","minecraft:range","minecraft:range_biased","minecraft:range_very_biased","minecraft:water_lake","ProcessorList","processors","processor_type","rules","location_predicate","predicate_type","input_predicate","minecraft:block_age","mossiness","minecraft:block_ignore","blocks","minecraft:block_rot","integrity","minecraft:gravity","heightmap","minecraft:rule","position_predicate","output_state","output_nbt","posTestFields","min_dist","max_dist","min_chance","max_chance","minecraft:axis_aligned_linear_pos","axis","minecraft:linear_pos","minecraft:block_match","minecraft:blockstate_match","block_state","minecraft:random_block_match","minecraft:random_blockstate_match","minecraft:tag_match","Feature","RandomPatchConfig","can_replace","project","need_water","xspread","yspread","zspread","tries","state_provider","block_placer","whitelist","blacklist","DiskConfig","radius","half_height","targets","HugeMushroomConfig","cap_provider","stem_provider","foliage_radius","OreConfig","Feature2","minecraft:bamboo","minecraft:basalt_columns","reach","minecraft:block_pile","decorator","minecraft:delta_feature","rim","rim_size","minecraft:disk","minecraft:emerald_ore","minecraft:end_gateway","exit","minecraft:end_spike","crystal_invulnerable","crystal_beam_target","spikes","centerX","centerZ","guarded","minecraft:fill_layer","minecraft:flower","minecraft:forest_rock","minecraft:huge_brown_mushroom","minecraft:huge_fungus","hat_state","decor_state","stem_state","valid_base_block","planted","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:iceberg","minecraft:lake","minecraft:nether_forest_vegetation","minecraft:netherrack_replace_blobs","minecraft:no_bonemeal_flower","minecraft:no_surface_ore","minecraft:ore","minecraft:random_patch","minecraft:random_boolean_selector","feature_false","feature_true","minecraft:random_selector","minecraft:sea_pickle","minecraft:seagrass","minecraft:simple_block","to_place","place_on","place_in","place_under","minecraft:simple_random_selector","minecraft:spring_feature","rock_count","hole_count","requires_block_below","valid_blocks","minecraft:tree","max_water_depth","ignore_vines","minimum_size","trunk_provider","leaves_provider","trunk_placer","base_height","height_rand_a","height_rand_b","foliage_placer","minecraft:blob_foliage_placer","minecraft:bush_foliage_placer","minecraft:fancy_foliage_placer","minecraft:jungle_foliage_placer","minecraft:mega_pine_foliage_placer","crown_height","minecraft:pine_foliage_placer","minecraft:spruce_foliage_placer","trunk_height","decorators","minecraft:alter_ground","provider","minecraft:beehive","minecraft:cocoa","min_clipped_height","minecraft:two_layers_feature_size","lower_size","upper_size","minecraft:three_layers_feature_size","upper_limit","middle_size","minecraft:rotated_block_provider","minecraft:simple_state_provider","minecraft:weighted_state_provider","minecraft:column_placer","min_size","extra_size","NoiseSettings","StructureFeature","templatePoolConfig","start_pool","minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:mineshaft","minecraft:ocean_ruin","biome_temp","large_probability","cluster_probability","minecraft:pillager_outpost","minecraft:ruined_portal","portal_type","minecraft:shipwreck","is_beached","minecraft:village","SurfaceBuilder","top_material","under_material","underwater_material","snowy","TemplatePool","Processors","elements","element_type","projection","minecraft:feature_pool_element","minecraft:legacy_single_pool_element","minecraft:list_pool_element","minecraft:single_pool_element","worldgen","Biome_1","Carver_1","Decorator_1","Feature_1","NoiseSettings_1","ProcessorList_1","StructureFeature_1","SurfaceBuilder_1","TemplatePool_1","initBiomeSchemas","initCarverSchemas","initDecoratorSchemas","initFeatureSchemas","initNoiseSettingsSchemas","initProcessorListSchemas","initStructureFeatureSchemas","initSurfaceBuilderSchemas","initTemplatePoolSchemas","WorldSettings","generate_features","bonus_chest","dimensions","Dimension_1","DimensionType_1","worldgen_1","WorldSettings_1","initDimensionTypeSchemas","initDimensionSchemas","initWorldgenSchemas","initWorldSettingsSchemas","minecraft:lightning_strike","lightning","bystander","minecraft:using_item","Bounds","ObjectWithType","directType","directPath","directDefault","objectDefault","defaultCase","minecraft:constant","minecraft:uniform","minecraft:binomial","minecraft:score","minecraft:context","minecraft:storage","min_inclusive","max_exclusive","minecraft:clamped_normal","mean","deviation","minecraft:trapezoid","plateau","FloatProvider","max_inclusive","minecraft:biased_to_bottom","minecraft:clamped","IntProvider","above_bottom","below_top","minecraft:very_biased_to_bottom","entitySourceNode","minecraft:value_check","range","copySourceNode","minecraft:set_banner_pattern","patterns","append","minecraft:set_enchantments","ItemModifier","FunctionCases","conditionIDSwtichNode","functionIDSwtichNode","_p","looking_at","stepping_on","passenger","lightning_bolt","blocks_set_on_fire","entity_struck","separator","CanyonConfig","vertical_rotation","shape","distance_factor","thickness","width_smoothness","horizontal_radius_factor","vertical_radius_default_factor","vertical_radius_center_factor","CaveConfig","horizontal_radius_multiplier","vertical_radius_multiplier","floor_level","lava_level","debug_settings","debug_mode","air_state","water_state","lava_state","barrier_state","minecraft:canyon","minecraft:cave","minecraft:nether_cave","minecraft:cave_surface","surface","floor_to_ceiling_search_range","minecraft:heightmap","minecraft:heightmap_spread_double","minecraft:water_depth_threshold","minecraft:protected_blocks","TargetBlockState","discard_chance_on_air_exposure","VegetationPatchConfig","vertical_range","extra_bottom_block_chance","extra_edge_column_chance","vegetation_chance","xz_radius","replaceable","ground_state","vegetation_feature","minecraft:decorated_flower","minecraft:dripstone_cluster","max_stalagmite_stalactite_height_diff","height_deviation","dripstone_block_layer_thickness","density","wetness","chance_of_dripstone_column_at_max_distance_from_center","max_distance_from_edge_affecting_chance_of_dripstone_column","max_distance_from_center_affecting_height_bias","minecraft:fossil","max_empty_corners_allowed","fossil_structures","overlay_structures","fossil_processors","overlay_processors","minecraft:geode","filling_provider","inner_layer_provider","alternate_inner_layer_provider","middle_layer_provider","outer_layer_provider","inner_placements","cannot_replace","invalid_blocks","filling","inner_layer","middle_layer","outer_layer","crack","generate_crack_chance","base_crack_size","crack_point_offset","noise_multiplier","use_potential_placements_chance","use_alternate_layer0_chance","placements_require_layer0_alternate","outer_wall_distance","distribution_points","point_offset","min_gen_offset","max_gen_offset","invalid_blocks_threshold","minecraft:glow_lichen","search_range","chance_of_spreading","can_place_on_floor","can_place_on_ceiling","can_place_on_wall","can_be_placed_on","minecraft:growing_plant","direction","allow_water","height_distribution","body_provider","head_provider","minecraft:large_dripstone","column_radius","height_scale","max_column_radius_to_cave_height_ratio","stalactite_bluntness","stalagmite_bluntness","wind_speed","min_radius_for_wind","min_bluntness_for_wind","minecraft:replace_single_block","minecraft:root_system","required_vertical_space_for_tree","root_radius","root_placement_attempts","root_column_max_height","hanging_root_radius","hanging_roots_vertical_span","hanging_root_placement_attempts","allowed_vertical_water_for_tree","root_replaceable","root_state_provider","hanging_root_state_provider","minecraft:scattered_ore","minecraft:small_dripstone","max_placements","empty_space_search_radius","max_offset_from_origin","chance_of_taller_dripstone","force_dirt","dirt_provider","sapling_provider","foliage_provider","minecraft:bending_trunk_placer","bend_length","min_height_for_leaves","minecraft:random_spread_foliage_placer","foliage_height","leaf_placement_attempts","minecraft:underwater_magma","floor_search_range","placement_radius_around_floor","placement_probability_per_valid_position","minecraft:vegetation_patch","minecraft:waterlogged_vegetation_patch","minecraft:randomized_int_state_provider","property","min_surface_level","minecraft:nether_fossil","ItemModifier_1","initItemModifierSchemas","minecraft:fall_from_height","start_position","minecraft:ride_entity_in_lava","Model","Vec","Texture","ambientocclusion","gui_light","textures","rotation","origin","angle","NumberEnum","rescale","shade","faces","texture","uv","cullface","tintindex","translation","overrides","layer0","BlockDefinition","variants","multipart","when","VariantChildren","uvlock","OR","assets","Model_1","BlockDefinition_1","initBlockDefinitionSchemas","initModelSchemas","DefaultStructureSettings","minecraft:igloo","minecraft:mansion","minecraft:jungle_pyramid","minecraft:stronghold","minecraft:desert_pyramid","minecraft:fortress","minecraft:endcity","minecraft:swamp_hut","minecraft:monument","surface_rule","sequence","minecraft:weighted_list","distribution","minecraft:set_potion","ClimateParameter","minecraft:block_predicate_filter","minecraft:rarity_filter","minecraft:count_on_every_layer","minecraft:noise_threshold_count","minecraft:noise_based_count","minecraft:environment_scan","direction_of_search","max_steps","target_condition","allowed_search_condition","minecraft:height_range","minecraft:random_offset","xz_spread","y_spread","minecraft:surface_relative_threshold_filter","minecraft:surface_water_depth_filter","ConfiguredFeature","PlacedFeature","minecraft:block_column","allowed_placement","prioritize_tip","barrier","spread_width","spread_height","minecraft:pointed_dripstone","chance_of_directional_spread","chance_of_spread_radius2","chance_of_spread_radius3","minecraft:twisting_vines","max_height","placement","NoiseProvider","MIN_VALUE","minecraft:dual_noise_provider","variety","InclusiveRange","slow_noise","slow_scale","states","minecraft:noise_threshold_provider","threshold","high_chance","default_state","low_states","high_states","minecraft:noise_provider","minecraft:all_of","predicates","minecraft:any_of","minecraft:inside_world_bounds","minecraft:matching_blocks","minecraft:matching_fluids","fluids","minecraft:not","minecraft:would_survive","SurfaceRule","minecraft:block","result_state","minecraft:condition","if_true","then_run","minecraft:biome","biome_is","minecraft:noise_threshold","min_threshold","max_threshold","invert","minecraft:stone_depth","surface_type","add_surface_depth","add_surface_secondary_depth","minecraft:vertical_gradient","random_name","true_at_and_below","false_at_and_above","minecraft:water","surface_depth_multiplier","add_stone_depth","minecraft:y_above","anchor","is_biome","SurfaceRule_1","initSurfaceRuleSchemas","assets_1","initAssetsSchemas","modules","installedModules","moduleId","module2","loaded","__webpack_require__","comment_handler_1","jsx_parser_1","parser_1","tokenizer_1","delegate","commentHandler","proxyDelegate","metadata","visit","parserDelegate","collectComment","attachComment","CommentHandler","attach","parser","isModule","sourceType","jsx","JSXParser","Parser","ast","parseModule","parseScript","comments","tokens","tolerant","errorHandler","parse2","parsingOptions","tokenize","tokens2","tokenizer","Tokenizer","token","getNextToken","tolerate","syntax_1","Syntax","version","stack","leading","trailing","insertInnerComments","BlockStatement","body","innerComments","entry","unshift","findTrailingComments","trailingComments","entry_1","firstComment","findLeadingComments","leadingComments","visitNode","Program","visitComment","loc","CommentHandler2","AssignmentExpression","AssignmentPattern","ArrayExpression","ArrayPattern","ArrowFunctionExpression","AwaitExpression","BinaryExpression","BreakStatement","CallExpression","CatchClause","ClassBody","ClassDeclaration","ClassExpression","ConditionalExpression","ContinueStatement","DoWhileStatement","DebuggerStatement","EmptyStatement","ExportAllDeclaration","ExportDefaultDeclaration","ExportNamedDeclaration","ExportSpecifier","ExpressionStatement","ForStatement","ForOfStatement","ForInStatement","FunctionDeclaration","FunctionExpression","Identifier","IfStatement","ImportDeclaration","ImportDefaultSpecifier","ImportNamespaceSpecifier","ImportSpecifier","Literal","LabeledStatement","LogicalExpression","MemberExpression","MetaProperty","MethodDefinition","NewExpression","ObjectExpression","ObjectPattern","Property","RestElement","ReturnStatement","SequenceExpression","SpreadElement","Super","SwitchCase","SwitchStatement","TaggedTemplateExpression","TemplateElement","TemplateLiteral","ThisExpression","ThrowStatement","TryStatement","UnaryExpression","UpdateExpression","VariableDeclaration","VariableDeclarator","WhileStatement","WithStatement","YieldExpression","extendStatics","__extends","setPrototypeOf","character_1","JSXNode","jsx_syntax_1","Node2","token_1","xhtml_entities_1","elementName","qualifiedName","JSXSyntax","JSXIdentifier","JSXNamespacedName","ns","getQualifiedElementName","namespace","JSXMemberExpression","expr","TokenName","_super","JSXParser2","parsePrimaryExpression","parseJSXRoot","startJSX","scanner","startMarker","lineNumber","line","lineStart","column","finishJSX","nextToken","reenterJSX","expectJSX","createJSXNode","collectComments","createJSXChildNode","scanXHTMLEntity","quote2","valid","terminated","numeric","eof","ch","Character","isDecimalDigit","isHexDigit","XHTMLEntities","lexJSX","cp","n1","isIdentifierStart","isIdentifierPart","lex","nextJSXToken","lastMarker","convertToken","nextJSXText","isLineTerminator","peekJSXToken","saveState","scanComments","restoreState","throwUnexpectedToken","matchJSX","parseJSXIdentifier","finalize","parseJSXElementName","name_1","parseJSXAttributeName","attributeName","identifier","name_2","parseJSXStringLiteralAttribute","getTokenRaw","parseJSXExpressionAttribute","tolerateError","expression","parseAssignmentExpression","JSXExpressionContainer","parseJSXAttributeValue","parseJSXElement","parseJSXNameValueAttribute","JSXAttribute","parseJSXSpreadAttribute","argument","JSXSpreadAttribute","parseJSXAttributes","parseJSXOpeningElement","selfClosing","JSXOpeningElement","parseJSXBoundaryElement","name_3","JSXClosingElement","parseJSXEmptyExpression","JSXEmptyExpression","parseJSXExpressionContainer","parseJSXChildren","JSXText","container","parseComplexJSXElement","el","opening","JSXElement","closing","open_1","isStartOfExpression","Regex","NonAsciiIdentifierStart","NonAsciiIdentifierPart","fromCodePoint","isWhiteSpace","isOctalDigit","openingElement","closingElement","operator","right","AsyncArrowFunctionExpression","AsyncFunctionDeclaration","AsyncFunctionExpression","logical","label","callee","superClass","ComputedMemberExpression","computed","consequent","alternate","Directive","directive","declaration","specifiers","local","exported","each","init2","init","imported","meta2","meta","kind","isStatic","Module","shorthand","RegexLiteral","regex","Script","expressions","StaticMemberExpression","discriminant","quasi","quasis","block2","handler","finalizer","prefix","declarations","assert_1","error_handler_1","messages_1","scanner_1","ArrowParameterPlaceHolder","Parser3","ErrorHandler","Scanner","trackComment","operatorPrecedence",")",";",",","=","]","||","&&","|","^","&","==","!=","===","!==","<",">","<=",">=","<<",">>",">>>","+","-","*","/","%","hasLineTerminator","await","allowIn","allowStrictDirective","allowYield","firstCoverInitializedNameError","isAssignmentTarget","isBindingElement","inFunctionBody","inIteration","inSwitch","labelSet","strict","throwError","messageFormat","_i","whole","idx","assert","createError","unexpectedTokenError","Messages","UnexpectedToken","UnexpectedEOS","UnexpectedIdentifier","UnexpectedNumber","UnexpectedString","UnexpectedTemplate","isFutureReservedWord","UnexpectedReserved","isStrictModeReservedWord","StrictReservedWord","lastMarkerLineStart","tolerateUnexpectedToken","multiLine","nextRegexToken","scanRegExp","createNode","startNode","lastLineStart","marker","expect","expectCommaSeparator","expectKeyword","keyword","matchKeyword","matchContextualKeyword","matchAssign","isolateCoverGrammar","parseFunction","previousIsBindingElement","previousIsAssignmentTarget","previousFirstCoverInitializedNameError","inheritCoverGrammar","consumeSemicolon","matchAsyncFunction","parseFunctionExpression","octal","StrictOctalLiteral","parseTemplateLiteral","parseGroupExpression","parseArrayInitializer","parseObjectInitializer","parseIdentifierName","parseClassExpression","parseSpreadElement","parsePropertyMethod","previousStrict","previousAllowStrictDirective","simple","parseFunctionSourceElements","firstRestricted","stricted","parsePropertyMethodFunction","previousAllowYield","parseFormalParameters","parsePropertyMethodAsyncFunction","previousAwait","parseObjectPropertyKey","isPropertyKey","parseObjectProperty","hasProto","isAsync","lookaheadPropertyKey","qualifiedPropertyName","parseGetterMethod","parseSetterMethod","parseGeneratorMethod","DuplicateProtoProperty","parseTemplateHead","cooked","parseTemplateElement","parseExpression","reinterpretExpressionAsPattern","startToken","parseRestElement","arrow","parseArguments","isIdentifierName","parseNewExpression","parseLeftHandSideExpression","parseAsyncArgument","parseAsyncArguments","parseLeftHandSideExpressionAllowCall","maybeAsync","previousAllowIn","asyncArrow","parseSuper","parseUpdateExpression","parseUnaryExpression","isRestrictedWord","StrictLHSPrefix","InvalidLHSInAssignment","StrictLHSPostfix","parseAwaitExpression","StrictDelete","parseExponentiationExpression","binaryPrecedence","parseBinaryExpression","prec","markers","precedences","parseConditionalExpression","checkPatternParam","validateParam","reinterpretAsCoverFormalsList","paramSet","StrictParamDupe","parseYieldExpression","StrictLHSAssignment","parseStatementListItem","statement","IllegalExportDeclaration","parseExportDeclaration","IllegalImportDeclaration","parseImportDeclaration","parseLexicalDeclaration","inFor","parseFunctionDeclaration","parseClassDeclaration","isLexicalDeclaration","parseStatement","parseBlock","parseLexicalBinding","parsePattern","StrictVarName","DeclarationMissingInitializer","parseBindingList","parseBindingRestElement","parseArrayPattern","parsePatternWithDefault","parsePropertyPattern","keyToken","parseVariableIdentifier","parseObjectPattern","LetInLexicalBinding","parseVariableDeclaration","parseVariableDeclarationList","parseVariableStatement","parseEmptyStatement","parseExpressionStatement","parseIfClause","StrictFunction","parseIfStatement","parseDoWhileStatement","previousInIteration","parseWhileStatement","parseForStatement","forIn","decl","ForInOfLoopInitializer","initStartToken","InvalidLHSInForIn","InvalidLHSInForLoop","initSeq","parseContinueStatement","UnknownLabel","IllegalContinue","parseBreakStatement","IllegalBreak","parseReturnStatement","IllegalReturn","parseWithStatement","StrictModeWith","parseSwitchCase","parseSwitchStatement","previousInSwitch","defaultFound","clause","MultipleDefaultsInSwitch","parseLabelledStatement","Redeclaration","GeneratorInLegacyContext","parseThrowStatement","NewlineAfterThrow","parseCatchClause","paramMap","DuplicateBinding","StrictCatchVariable","parseFinallyClause","parseTryStatement","NoCatchOrFinally","parseDebuggerStatement","parseDirectivePrologues","previousLabelSet","previousInFunctionBody","StrictParamName","writable","configurable","DefaultRestParameter","ParameterAfterRestParameter","parseFormalParameter","identifierIsOptional","isGenerator","StrictFunctionName","previousAllowAwait","formalParameters","parseDirective","IllegalLanguageModeDirective","BadGetterArity","BadSetterArity","BadSetterRestParameter","parseClassElement","hasConstructor","punctuator","ConstructorIsAsync","StaticPrototype","ConstructorSpecialMethod","DuplicateConstructor","parseClassElementList","parseClassBody","elementList","classBody","parseModuleSpecifier","InvalidModuleSpecifier","parseImportSpecifier","parseNamedImports","parseImportDefaultSpecifier","parseImportNamespaceSpecifier","NoAsAfterImportNamespace","MissingFromClause","parseExportSpecifier","exportDeclaration","isExportFromIdentifier","Parser4","recordError","constructError","col","ErrorHandler2","InvalidEscapedReservedWord","InvalidHexEscapeSequence","InvalidRegExp","TemplateOctalLiteral","UnexpectedTokenIllegal","UnterminatedRegExp","curlyStack","skipSingleLineComment","skipMultiLineComment","isKeyword","codePointAt","scanHexEscape","hexValue","scanUnicodeCodePointEscape","getIdentifier","getComplexIdentifier","octalToDecimal","octalValue","code","scanIdentifier","restore","scanPunctuator","scanHexLiteral","num","scanBinaryLiteral","scanOctalLiteral","isImplicitOctalLiteral","scanNumericLiteral","scanStringLiteral","unescaped_1","unescaped","octToDec","scanTemplate","rawOffset","unescaped_2","testRegExp","tmp","self2","$0","$1","$2","codePoint","RegExp","exception2","scanRegExpBody","classMarker","scanRegExpFlags","char","Scanner2","quot","amp","apos","gt","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","ordf","laquo","not","shy","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","times","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","divide","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","OElig","oelig","Scaron","scaron","Yuml","fnof","circ","tilde","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","alpha","beta","gamma","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","bull","hellip","permil","prime","Prime","lsaquo","rsaquo","oline","frasl","euro","image","weierp","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","part","exist","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","prop","infin","ang","and","or","cap","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","loz","spades","clubs","hearts","diams","lang","rang","Reader","curly","paren","beforeFunctionExpression","isRegexStart","Reader2","Tokenizer3","trackRange","trackLoc","reader","Tokenizer4","b64","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","parts","maxChunkLength","encodeChunk","lookup","buffer2","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","LN2","ieee754","customInspectSymbol","Buffer2","alloc","K_MAX_LENGTH","RangeError","encodingOrOffset","allocUnsafe","isEncoding","byteLength2","createBuffer","actual","write","fromString","arrayView","isInstance","fromArrayBuffer","byteLength","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","numberIsNaN","fromObject","toPrimitive","array2","mustMatch","loweredCase","utf8ToBytes","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","read","found","remaining","strLen","parsed","blitBuffer","byteArray","asciiToBytes","units","hi","lo","utf16leToBytes","fromByteArray","firstByte","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","TYPED_ARRAY_SUPPORT","foo","typedArraySupport","console","poolSize","allocUnsafeSlow","compare","swap16","swap32","swap64","slowToString","toLocaleString","inspect","INSPECT_MAX_BYTES","trim","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","hexWrite","utf8Write","asciiWrite","base64Write","ucs2Write","toJSON","_arr","hexSliceLookupTable","ext","littleEndian","noAssert","newBuf","readUintLE","readUIntLE","byteLength3","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","readBigUInt64BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","wrtBigUInt64LE","writeBigUInt64BE","wrtBigUInt64BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloat","writeFloatBE","writeDoubleLE","writeDouble","writeDoubleBE","targetStart","copyWithin","getMessage","ERR_OUT_OF_RANGE","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","received","addNumericalSeparator","INVALID_BASE64_RE","leadSurrogate","toByteArray","base64clean","dst","alphabet","i16","BufferBigIntNotDefined","objectToString","re","POWERS_OF_TEN","results","log10","al","bl","aStr","bStr","runHi","pivot","pivotIndex","mid","hint","lastOffset","maxOffset","array","minGallop","tmpStorageLength","tmpIndex","stackLength","runStart","runLength","stackSize","mergeAt","start1","length1","start2","length2","gallopRight","gallopLeft","mergeLow","mergeHigh","cursor1","cursor2","dest","count1","count2","customCursor","customDest","src","alphabeticalCompare","makeAscendingRun","ts","TimSort","minRun","minRunLength","force","pushRun","mergeRuns","forceMergeRuns","hasOwnProp","isObject","PREFIX_BEFORE","PREFIX_BEFORE_ALL","PREFIX_AFTER_ALL","SYMBOL_PREFIXES","NON_PROP_SYMBOL_KEYS","for","symbol","define","copy_comments_by_kind","target_key","source_key","remove_source","source_prop","target_prop","copy_comments","assign_non_prop_comments","UNDEFINED","swap_comments","move_comment","remove","move_comments","ii","remove_comments","begin","deleteCount","item_length","CommentArray","before","items_length","reverse","map2","source_index","real_source_index","mapped","get_mapped","esprima","PREFIX_AFTER_PROP","PREFIX_AFTER_COLON","PREFIX_AFTER_VALUE","PREFIX_AFTER","BRACKET_OPEN","BRACKET_CLOSE","CURLY_BRACKET_OPEN","CURLY_BRACKET_CLOSE","COLON","COMMA","MINUS","previous_hosts","comments_host","unassigned_comments","previous_props","last_prop","inline","reviver","clean","symbolFor","unexpected","SyntaxError","unexpected_end","new_token","set_comments_host","new_host","restore_comments_host","assign_after_comments","after_comments","assign_comments","parse_comments","set_prop","restore_prop","tt","started","walk","parse_object","parse_array","negative","cache","parse_1","rev","no_comments","subject","res","repeatString","isFunction","isNumber","isString","repeat","ESCAPABLE","BEFORE","AFTER_VALUE","AFTER","\b","\t","\n","\f","\r","\"","\\","quote","lastIndex","process_comments","host","symbol_tag","deeper_gap","display_block","is_line_comment","inline2","comment_stringify","replacer","indent","one","two","gap","trimRight","join_content","inside","object_stringify","after_comma","sv","AFTER_COLON","holder","array_stringify","PRIMITIVE_OBJECT_TYPES","replacer_","indent_","get_indent","is_primitive_object","trimLeft","reason","mark2","mark","captureStackTrace","isNothing","cycle","NEGATIVE_INFINITY","sourceKeys","YAMLException","compact","exception","Mark","getSnippet","indent2","snippet","where","TYPE_CONSTRUCTOR_OPTIONS","YAML_NODE_KINDS","construct","instanceOf","represent","defaultStyle","styleAliases","alias","Type","exclude","include","includedSchema","compileList","currentType","previousType","previousIndex","definition","implicit","explicit","loadKind","compiledImplicit","compiledExplicit","compiledTypeMap","scalar","mapping","collectType","compileMap","Schema","DEFAULT","types","failsafe","_null","canonical","lowercase","uppercase","camelcase","bool","hasDigits","isOctCode","isDecCode","sign","digits","isNegativeZero","binary","decimal","hexadecimal","YAML_FLOAT_PATTERN","SCIENTIFIC_WITHOUT_DOT","json","POSITIVE_INFINITY","core","YAML_DATE_REGEXP","YAML_TIMESTAMP_REGEXP","timestamp","year","month","day","hour","minute","date","fraction","UTC","setTime","getTime","toISOString","NodeBuffer","merge","_require","require","BASE64_MAP","bitlen","tailbits","_hasOwnProperty","_toString","omap","pair","pairKey","pairHasKey","objectKeys","pairs","default_safe","_undefined","regexp","regexp2","global","multiline","ignoreCase","_function","err2","Function","default_full","DEFAULT_SAFE_SCHEMA","DEFAULT_FULL_SCHEMA","PATTERN_NON_PRINTABLE","PATTERN_NON_ASCII_LINE_BREAKS","PATTERN_FLOW_INDICATORS","PATTERN_TAG_HANDLE","PATTERN_TAG_URI","simpleEscapeCheck","simpleEscapeMap","simpleEscapeSequence","filename","onWarning","legacy","implicitTypes","typeMap","lineIndent","documents","generateError","directiveHandlers","YAML","major","minor","checkLineBreaks","TAG","handle","tagMap","checkJson","_position","_length","_character","_result","overridableKeys","quantity","keyTag","keyNode","valueNode","startLine","startPos","_class","allowComments","checkIndent","lineBreaks","is_WHITE_SPACE","is_EOL","is_WS_OR_EOL","nodeIndent","_line","_tag","_anchor","detected","anchorMap","skipSeparationSpace","tagHandle","tagName","isVerbatim","isNamed","is_FLOW_INDICATOR","parentIndent","nodeContext","allowToSeek","allowCompact","allowBlockStyles","allowBlockScalars","allowBlockCollections","typeIndex","typeQuantity","flowIndent","blockIndent","indentStatus","atNewLine","hasContent","readTagProperty","readAnchorProperty","following","_pos","atExplicitKey","composeNode","readBlockMapping","terminator","isPair","isExplicitPair","isMapping","readNext","storeMappingPair","readFlowCollection","captureStart","folding","chomping","didReadContent","detectedIndent","textIndent","emptyLines","atMoreIndented","readBlockScalar","captureEnd","testDocumentSeparator","readSingleQuotedScalar","hexLength","hexResult","fromHexCode","charFromCodepoint","readDoubleQuotedScalar","readAlias","withinFlowCollection","hasPendingContent","_lineStart","_lineIndent","_kind","readPlainScalar","readBlockSequence","directiveName","directiveArgs","documentStart","hasDirectives","State","nullpos","loadDocuments","loadAll","extend","ESCAPE_SEQUENCES","7","8","9","10","11","12","13","27","34","92","133","160","8232","8233","DEPRECATED_BOOLEANS_SYNTAX","character","noArrayIndent","skipInvalid","flowLevel","styleMap","compileStyleMap","sortKeys","lineWidth","noRefs","noCompatMode","condenseFlow","explicitTypes","duplicates","usedDuplicates","spaces","ind","isPrintable","isWhitespace","isNsChar","singleLineOnly","indentPerLevel","testAmbiguousType","prev_char","hasLineBreak","hasFoldableLine","shouldTrackWidth","previousLineBreak","plain","isPlainSafe","needIndentIndicator","iskey","dump","chooseScalarStyle","string2","testImplicitResolving","blockHeader","dropEndingNewline","indentString","width","moreIndented","lineRe","nextLF","foldLine","prevMoreIndented","foldString","nextChar","escapeSeq","encodeHex","indentIndicator","clip","breakRe","typeList","detectType","duplicateIndex","duplicate","objectOrArray","objectKey","objectValue","explicitPair","pairBuffer","objectKeyList","generateNextLine","writeNode","arrayLevel","objects","duplicatesIndexes","loader","dumper","safeLoad","safeLoadAll","safeDump","deprecated","jsYaml","displayName","isReactComponent","__f","isPureReactComponent","__u","__R","n4","__O","delete","revealOrder","F","cancelBubble","defaultPrevented","persist","isPropagationStopped","isDefaultPrevented","nativeEvent","class","multiple","selected","defaultValue","className","$$typeof","performance","now","HowlerGlobal2","Howler2","_counter","_html5AudioPool","html5PoolSize","_codecs","_howls","_muted","_volume","_canPlayEvent","_navigator","navigator","masterGain","noAudio","usingWebAudio","autoSuspend","ctx","autoUnlock","_setup","volume","vol","gain","setValueAtTime","currentTime","_webAudio","ids","_getSoundIds","_soundById","_node","mute","muted","stop","unload","close","codecs","_autoSuspend","Audio","oncanplaythrough","_setupCodecs","audioTest","canPlayType","mpegTest","ua","userAgent","checkOpera","isOldOpera","checkSafari","safariVersion","isOldSafari","mp3","mpeg","opus","ogg","oga","wav","aac","caf","m4a","m4b","mp4","weba","webm","dolby","flac","_unlockAudio","_audioUnlocked","_mobileUnloaded","sampleRate","_scratchBuffer","unlock","audioNode","_unlocked","_releaseHtml5Audio","_autoResume","createBufferSource","connect","noteOn","resume","onended","disconnect","_emit","_obtainHtml5Audio","testPlay","play","catch","audio","suspend","_sounds","_paused","_suspendTimer","handleSuspension","_resumeAfterSuspend","Howl2","_autoplay","autoplay","_format","format","_html5","html5","_loop","loop","_pool","_preload","preload","_rate","rate","_sprite","sprite","_src","_xhr","xhr","withCredentials","_duration","_state","_endTimers","_queue","_playLock","_onend","onend","_onfade","onfade","_onload","onload","_onloaderror","onloaderror","_onplayerror","onplayerror","_onpause","onpause","_onplay","onplay","_onstop","onstop","_onmute","onmute","_onvolume","onvolume","_onrate","onrate","_onseek","onseek","_onunlock","onunlock","_onresume","protocol","Sound2","internal","_ended","_id","_inactiveSound","soundId","_loadQueue","seek","_seek","timeout","setParams","_start","_stop","playWebAudio","_refreshBuffer","_playStart","bufferSource","noteGrainOn","once","_clearTimer","playHtml5","playbackRate","paused","loadedNoReadyState","ejecta","readyState","isCocoonJS","pause","_rateSeek","_stopFade","noteOff","_cleanBuffer","_clearSound","_interval","fade","linearRampToValueAtTime","_startFadeInterval","isGroup","diff","steps","stepLen","lastTick","_fadeTo","setInterval","tick","round","cancelScheduledValues","loopStart","loopEnd","playing","realTime","rateSeek","seekAndEmit","emitSeek","sounds","_errorFn","_loadFn","_endFn","remCache","cache2","on","events","off","isId","task","_drain","cnt","_panner","isIOS","vendor","howl","_parent","createGain","createGainNode","_errorListener","_loadListener","_endListener","ceil","__default","loadBuffer","atob","dataView","XMLHttpRequest","open","responseType","setRequestHeader","response","onerror","safeXhrSend","send","decodeAudioData","arraybuffer","success","loadSound","setupAudioContext","AudioContext","webkitAudioContext","iOS","platform","appVersion","safari","HowlerGlobal","Howler","Howl","Sound","_orientation","stereo","pan","z2","positionX","setTargetAtTime","positionY","positionZ","setPosition","orientation","xUp","yUp","zUp","forwardX","forwardY","forwardZ","upX","upY","upZ","setOrientation","_stereo","_pannerAttr","coneInnerAngle","coneOuterAngle","coneOuterGain","distanceModel","maxDistance","panningModel","refDistance","rolloffFactor","_onstereo","onstereo","_onpos","onpos","_onorientation","onorientation","pannerType","createStereoPanner","orientationX","orientationY","orientationZ","pannerAttr","_coneInnerAngle","_coneOuterAngle","_coneOuterGain","_distanceModel","_maxDistance","_refDistance","_rolloffFactor","_panningModel","pa","panner","setupPanner","createPanner","esmEntry$1","defaults$5","baseUrl","breaks","extensions","gfm","headerIds","headerPrefix","highlight","langPrefix","mangle","pedantic","renderer","sanitize","sanitizer","smartLists","smartypants","walkTokens","xhtml","defaults","getDefaults","getDefaults$1","changeDefaults","newDefaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","'","getEscapeReplacement","unescapeTest","html","substring","caret","nonWordAndColonTest","originIndependentUrl","baseUrls","justDomain","domain","rtrim$1","relativeBase","suffLen","currChar","helpers","unescape$1","edit","getRegex","cleanUrl","prot","resolveUrl","encodeURI","noopTest","splitCells","tableRow","cells","escaped","rtrim","findClosingBracket","checkSanitizeDeprecation","defaults$4","escape$2","link","lexer","inLink","inlineTokens","Tokenizer_1$1","newline","codeBlockStyle","fences","matchIndentToCode","indentToCode","matchIndentInNode","indentInNode","indentCodeCompensation","heading","trimmed","hr","blockquote","blockTokens","istask","ischecked","blankLine","endsWithBlankLine","lines","itemContents","isordered","ordered","itemRegex","nextBulletRegex","top","pre","def","align","rows","row","lheading","paragraph","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","outputLink","_escapes","links","reflink","nolink","maskedSrc","prevChar","emStrong","lDelim","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","rDelimAst","rDelimUnd","text2","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","mangle2","autolink","prevCapZero","_backpedal","smartypants2","merge$1","block$1","noopTest2","_paragraph","_label","_title","bullet","listItemStart","_comment","inline$1","reflinkSearch","_punctuation","blockSkip","escapedEmSt","_scheme","_email","_attribute","_href","strong","middle","endAst","endUnd","em","_extended_email","Tokenizer$2","defaults$3","Lexer_1$1","inlineQueue","rules2","Lexer","lastToken","cutSrc","lastParagraphClipped","extTokenizer","startBlock","startIndex","tempSrc","tempStart","getStartIndex","errMsg","keepPrevChar","codespan","startInline","inlineText","defaults$2","escape$1","Renderer_1$1","infostring","slugger","slug","content","TextRenderer_1$1","Slugger_1$1","seen","originalSlug","isDryRun","occurenceAccumulator","serialize","getNextSafeSlug","dryrun","Renderer$2","TextRenderer$2","Slugger$2","defaults$1","Parser_1$1","textRenderer","parseInline","cell","itemBody","checkbox","l4","renderers","tablecell","tablerow","listitem","Lexer$1","Parser$1","Tokenizer$1","Renderer$1","TextRenderer$1","Slugger$1","callback","marked$1","setOptions","use","childTokens","hasExtensions","prevRenderer","args2","prevTokenizer","lexInline","Renderer","TextRenderer","Slugger","marked","Lexer2","Parser2","Tokenizer2","Renderer2","TextRenderer2","Slugger2","esmEntry"],"mappings":"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,YAAqBL,UACfA,aAAeO,OACVA,OAAOpqC,KAAK6pC,GAGd,IAAIA,EAAIx7C,YAAYw7C,EAAIlI,OAAOnwC,QAASq4C,EAAIQ,WAAYR,EAAIx8C,wBCPrEkN,OAAOwC,eAAeutC,GAAS,aAAc,CAAE15C,OAAO,4BAC5B,qBAC1B,SAAyB2Y,KACTghC,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,gCAEQA,SAAS,uBAAwB,CACzC,kBACA,iBACA,gBACA,uBACA,yBACA,qBACA,kBACA,wBAEQA,SAAS,sBAAuB,CACxC,wBACA,qBACA,sBACA,8BACA,iCACA,uBACA,qCACA,2BACA,0BACA,uBACA,0BACA,0BACA,uCACA,wBACA,6BACA,mCAEQA,SAAS,qBAAsB,CACvC,sBACA,uBACA,qBACA,qBACA,oBACA,2BACA,yBACA,6BACA,gCACA,4BACA,wBACA,0BACA,4BACA,6BACA,sBACA,qBACA,uBACA,wBACA,4BACA,gCAEQA,SAAS,YAAa,CAC9B,oBACA,sBACA,8BACA,wBACA,uBACA,gBACA,yBACA,sBACA,eACA,qBACA,0BACA,sBACA,iCAEQA,SAAS,oBAAqB,CACtC,mBACA,YACA,UACA,iBACA,iBACA,QACA,YACA,YACA,aACA,WACA,aACA,WACA,UACA,kBACA,cAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,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,cAEQA,SAAS,OAAQ,CACzB,WACA,UA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ACA,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,gCAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,SAAS,iBAAkB,CACnC,sBACA,uBACA,wBAEQA,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,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,iCAEQA,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,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,mBAEQA,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,cAEQA,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,sBAEQA,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,8BAEQA,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,8BAEQA,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,gCAEQA,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,cAEQA,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,uBAEQA,SAAS,kBAAmB,CACpC,MACA,aAEQA,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,+DCngBDxtC,iBAAwB,aAAc,CAAEnM,OAAO,wBAC1BiS,aAAqBA,QAAgBA,uBAA+BA,uBAA+BA,uBAA+BA,uBAA+BA,sBAAyB,QAChN2nC,EAAStqC,0BACgB,CAC3Bu/C,WAAW,EACXC,SAAS,EACTC,aAAa,EACbC,sBAAsB,EACtBC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,aAAa,EACbC,iBAAkB,EAClBC,cAAe,EACfC,eAAgB,IAChBC,WAAY,yDAEe,CAC3B9rD,KAAM,sBACNyrC,0BACAE,uBAAwB,EACxBC,UAAW,GACXE,wBAAwB,EACxB5B,MAAO,CACHvC,eAAgB,EAChBE,uBACAS,uBAAuB,EACvBE,uBAAuB,EACvBjB,gBAAiB,EACjBE,cAAe,EACfhO,OAAQ,IACRqO,SAAU,CACN9I,SAAU,EACVC,QAAS,EACTC,UAAW,GACXC,SAAU,KAEd6I,UAAW,CACPtjC,WACAmf,KAAM,EACN/Z,OAAQ,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VP,EAAU,IAAI4nC,GAAO2O,yBACjBC,YAAYx2C,EAASO,GACxBP,iMChDXzO,OAAOwC,eAAeutC,GAAS,aAAc,CAAE15C,OAAO,4BAC5B,qBAC1B,SAAyB2Y,KACTghC,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,gCAEQA,SAAS,YAAa,CAC9B,sBACA,uBACA,wBAEQA,SAAS,iBAAkB,CACnC,sBACA,uBACA,wBAEQA,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,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,iCAEQA,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,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,mBAEQA,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,cAEQA,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,sBAEQA,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,8BAEQA,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,8BAEQA,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,gCAEQA,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,UACA,kBAEQA,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,uBAEQA,SAAS,kBAAmB,CACpC,MACA,aAEQA,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,sBAEQA,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,aAEQA,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,2BCpkBRhwC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C,IAMnC,yBALA,iBACUoC,EAAc,IAAIqnC,GAAOwO,6BACjBC,gBAAgB91C,GACvBA,GAsBX+1C,iBALA,SAAoB/1C,SACVP,EAAU,IAAI4nC,GAAO2O,yBACjBC,YAAYx2C,EAASO,GACxBP,iMChDXzO,OAAOwC,eAAeutC,GAAS,aAAc,CAAE15C,OAAO,4BAC5B,qBAC1B,SAAyB2Y,KACTghC,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,gCAEQA,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,cAEQA,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,WAEQA,SAAS,WAAY,CAC7B,WACA,WACA,YACA,gBAEQA,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,oBAEQA,SAAS,cAAe,CAChC,eACA,OACA,SACA,oBAEQA,SAAS,iCAAkC,CACnD,gCACA,sCACA,0BAEQA,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,mBAEQA,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,cAEQA,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,sBAEQA,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,UACA,kBAEQA,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,uBAEQA,SAAS,kBAAmB,CACpC,MACA,aAEQA,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,sBAEQA,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,aAEQA,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,YAEQA,SAAS,eAAgB,CACjC,QACA,cAEQA,SAAS,YAAa,CAC9B,OACA,KACA,QACA,OACA,QACA,WAEQA,SAAS,OAAQ,CACzB,IACA,IACA,QAEQA,SAAS,mBAAoB,CACrC,wBACA,uBACA,wBACA,uBACA,MACA,OACA,SACA,YAEQA,SAAS,YAAa,CAC9B,QACA,WAEQA,SAAS,wBAAyB,CAC1C,QACA,WACA,SACA,OACA,UACA,WACA,oBACA,SACA,UACA,WACA,aACA,OACA,UACA,WACA,0BC1WRhwC,OAAOwC,eAAe4zC,GAAS,aAAc,CAAE//C,OAAO,mCACrB,EACjC,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"}
\ No newline at end of file
diff --git a/assets/vendor.3ed297e6.js b/assets/vendor.e49c13eb.js
similarity index 76%
rename from assets/vendor.3ed297e6.js
rename to assets/vendor.e49c13eb.js
index 77cb4569..bac95b75 100644
--- a/assets/vendor.3ed297e6.js
+++ b/assets/vendor.e49c13eb.js
@@ -1,4 +1,4 @@
-var e=Object.defineProperty,t=Object.defineProperties,r=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,a=(t,r,n)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[r]=n,s=(e,t)=>{for(var r in t||(t={}))i.call(t,r)&&a(e,r,t[r]);if(n)for(var r of n(t))o.call(t,r)&&a(e,r,t[r]);return e},c=(e,n)=>t(e,r(n)),l=e=>"symbol"==typeof e?e:e+"";const u={};var d,p,m,h,f={},_=[],g=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function b(e,t){for(var r in t)e[r]=t[r];return e}function y(e){var t=e.parentNode;t&&t.removeChild(e)}function v(e,t,r){var n,i,o,a=arguments,s={};for(o in t)"key"==o?n=t[o]:"ref"==o?i=t[o]:s[o]=t[o];if(arguments.length>3)for(r=[r],o=3;o0?x(m.type,m.props,m.key,null,m.__v):m)){if(m.__=r,m.__b=r.__b+1,null===(p=y[u])||p&&m.key==p.key&&m.type===p.type)y[u]=void 0;else for(d=0;dt.rank?-1:e.index-t.index}function H(e,t){return e.index=t,e.rank=function(e){return e.props.default?0:(t=e.props.path,W(t).map(Z).join(""));var t}(e),e.props}function W(e){return e.replace(/(^\/+|\/+$)/g,"").split("/")}function Z(e){return":"==e.charAt(0)?1+"*+?".indexOf(e.charAt(e.length-1))||4:5}var G=null,K=[],Y=[],V={};function Q(){var e;return""+((e=G&&G.location?G.location:G&&G.getCurrentLocation?G.getCurrentLocation():"undefined"!=typeof location?location:V).pathname||"")+(e.search||"")}function ee(e,t){return void 0===t&&(t=!1),"string"!=typeof e&&e.url&&(t=e.replace,e=e.url),function(e){for(var t=K.length;t--;)if(K[t].canRoute(e))return!0;return!1}(e)&&function(e,t){void 0===t&&(t="push"),G&&G[t]?G[t](e):"undefined"!=typeof history&&history[t+"State"]&&history[t+"State"](null,null,e)}(e,t?"replace":"push"),te(e)}function te(e){for(var t=!1,r=0;r0},t.prototype.routeTo=function(e){this.setState({url:e});var t=this.canRoute(e);return this.updating||this.forceUpdate(),t},t.prototype.componentWillMount=function(){K.push(this),this.updating=!0},t.prototype.componentDidMount=function(){var e=this;G&&(this.unlisten=G.listen((function(t){e.routeTo(""+(t.pathname||"")+(t.search||""))}))),this.updating=!1},t.prototype.componentWillUnmount=function(){"function"==typeof this.unlisten&&this.unlisten(),K.splice(K.indexOf(this),1)},t.prototype.componentWillUpdate=function(){this.updating=!0},t.prototype.componentDidUpdate=function(){this.updating=!1},t.prototype.getMatchingChildren=function(e,t,r){return e.filter(H).sort(q).map((function(e){var n=J(t,e.props.path,e.props);if(n){if(!1!==r){var i={url:t,matches:n};return X(i,n),delete i.ref,delete i.key,function(e,t,r){var n,i,o,a=arguments,s=b({},e.props);for(o in t)"key"==o?n=t[o]:"ref"==o?i=t[o]:s[o]=t[o];if(arguments.length>3)for(r=[r],o=3;o=r.__.length&&r.__.push({}),r.__[e]}function ve(e){return pe=1,function(e,t,r){var n=ye(le++,2);return n.t=e,n.__c||(n.__=[r?r(t):Fe(void 0,t),function(e){var t=n.t(n.__[0],e);n.__[0]!==t&&(n.__=[t,n.__[1]],n.__c.setState({}))}],n.__c=ue),n.__}(Fe,e)}function xe(e,t){var r=ye(le++,3);!d.__s&&Ee(r.__H,t)&&(r.__=e,r.__H=t,ue.__H.__h.push(r))}function Ne(e){return pe=5,we((function(){return{current:e}}),[])}function we(e,t){var r=ye(le++,7);return Ee(r.__H,t)&&(r.__=e(),r.__H=t,r.__h=e),r.__}function ke(e,t){return pe=8,we((function(){return e}),t)}function Oe(e){var t=ye(le++,10),r=ve();return t.__=e,ue.componentDidCatch||(ue.componentDidCatch=function(e){t.__&&t.__(e),r[1](e)}),[r[0],function(){r[1](void 0)}]}function Se(){me.forEach((function(e){if(e.__P)try{e.__H.__h.forEach(De),e.__H.__h.forEach(Ce),e.__H.__h=[]}catch(t){e.__H.__h=[],d.__e(t,e.__v)}})),me=[]}d.__b=function(e){ue=null,he&&he(e)},d.__r=function(e){fe&&fe(e),le=0;var t=(ue=e.__c).__H;t&&(t.__h.forEach(De),t.__h.forEach(Ce),t.__h=[])},d.diffed=function(e){_e&&_e(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(1!==me.push(t)&&de===d.requestAnimationFrame||((de=d.requestAnimationFrame)||function(e){var t,r=function(){clearTimeout(n),Ae&&cancelAnimationFrame(t),setTimeout(e)},n=setTimeout(r,100);Ae&&(t=requestAnimationFrame(r))})(Se)),ue=void 0},d.__c=function(e,t){t.some((function(e){try{e.__h.forEach(De),e.__h=e.__h.filter((function(e){return!e.__||Ce(e)}))}catch(r){t.some((function(e){e.__h&&(e.__h=[])})),t=[],d.__e(r,e.__v)}})),ge&&ge(e,t)},d.unmount=function(e){be&&be(e);var t=e.__c;if(t&&t.__H)try{t.__H.__.forEach(De)}catch(r){d.__e(r,t.__v)}};var Ae="function"==typeof requestAnimationFrame;function De(e){var t=ue;"function"==typeof e.__c&&e.__c(),ue=t}function Ce(e){var t=ue;e.__c=e.__(),ue=t}function Ee(e,t){return!e||e.length!==t.length||t.some((function(t,r){return t!==e[r]}))}function Fe(e,t){return"function"==typeof t?t(e):t}var Be="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Me={},je={},Te={};Object.defineProperty(Te,"__esModule",{value:!0}),Te.ModelPath=Te.Path=Te.relativePath=void 0,Te.relativePath=function(e,t){return t.reduce(((e,t)=>"pop"===t?e.pop():e.push(t.push)),e)};class Ie{constructor(e,t){this.modelArr=null!=e?e:[],this.contextArr=null!=t?t:[]}last(){return this.modelArr[this.modelArr.length-1]}slice(e,t){return new Ie(this.modelArr.slice(e,t),this.contextArr)}shift(){return new Ie(this.modelArr.slice(1),this.contextArr)}pop(){return new Ie(this.modelArr.slice(0,-1),this.contextArr)}push(e){return this.modelPush(e).contextPush(e)}modelPush(e){return new Ie([...this.modelArr,e],[...this.contextArr])}contextPush(e){if("number"==typeof e)return this.copy();const t=e.startsWith("minecraft:")?e.slice(10):e;return new Ie([...this.modelArr],[...this.contextArr,t])}copy(){return new Ie([...this.modelArr],[...this.contextArr])}getArray(){return this.modelArr}withModel(e){return new Pe(e,this)}getContext(){return this.contextArr}equals(e){return e.modelArr.length===this.modelArr.length&&e.modelArr.every(((e,t)=>e===this.modelArr[t]))}startsWith(e){return!(this.modelArr.lengthe===this.modelArr[t]))}endsWith(e){const t=this.modelArr.length-e.modelArr.length;return!(t<0)&&e.modelArr.every(((e,r)=>e===this.modelArr[t+r]))}toString(){return this.modelArr.map((e=>"string"==typeof e?`.${e}`:`[${e}]`)).join("").replace(/^\./,"")}forEach(e,t){return this.modelArr.forEach(e,t)}}Te.Path=Ie;class Pe extends Ie{constructor(e,t){super(null==t?void 0:t.modelArr,null==t?void 0:t.contextArr),this.model=e}getModel(){return this.model}get(){var e;return null===(e=this.model)||void 0===e?void 0:e.get(this)}set(e){var t;null===(t=this.model)||void 0===t||t.set(this,e)}slice(e,t){return new Pe(this.model,super.slice(e,t))}shift(){return new Pe(this.model,super.shift())}pop(){return new Pe(this.model,super.pop())}push(e){return this.modelPush(e).contextPush(e)}modelPush(e){return new Pe(this.model,super.modelPush(e))}contextPush(e){return new Pe(this.model,super.contextPush(e))}copy(){return new Pe(this.model,super.copy())}}Te.ModelPath=Pe;var Le={};Object.defineProperty(Le,"__esModule",{value:!0}),Le.Errors=void 0;class Re{constructor(){this.errors=[]}add(e,t,...r){return this.errors.push({path:e,error:t,params:r}),!1}get(e,t=!1){return t?this.errors.filter((t=>t.path.equals(e))):this.errors.filter((t=>t.path.startsWith(e)))}getAll(){return this.errors}clear(){this.errors=[]}count(){return this.errors.length}*[Symbol.iterator](){for(const e of this.errors)yield e}}Le.Errors=Re;var ze={};function Ue(e){return e.replace(/(\\|")/g,"\\$1")}Object.defineProperty(ze,"__esModule",{value:!0}),ze.hexId=ze.quoteString=ze.escapeString=void 0,ze.escapeString=Ue,ze.quoteString=function(e){return`"${Ue(e)}"`};const $e=e=>("0"+e.toString(16)).substr(-2);ze.hexId=function(e=12){var t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t,$e).join("")},Object.defineProperty(je,"__esModule",{value:!0}),je.DataModel=void 0;const Xe=Te,Je=Le,qe=ze;class He{constructor(e,t){var r,n,i,o;this.historyMax=null!==(r=null==t?void 0:t.historyMax)&&void 0!==r?r:50,this.verbose=null!==(n=null==t?void 0:t.verbose)&&void 0!==n&&n,this.wrapLists=null!==(i=null==t?void 0:t.wrapLists)&&void 0!==i&&i,this.schema=e;const a=null!==(o=null==t?void 0:t.initialData)&&void 0!==o?o:e.default();this.data=this.wrapLists?He.wrapLists(a):a,this.listeners=[],this.errors=new Je.Errors,this.history=[JSON.stringify(this.data)],this.historyIndex=0}addListener(e){this.listeners.push(e)}removeListener(e){const t=this.listeners.indexOf(e);t>-1&&this.listeners.splice(t,1)}invalidate(){const e=JSON.stringify(this.data);this.history[this.historyIndex]!==e&&(this.historyIndex+=1,this.history.splice(this.historyIndex,this.historyMax,e),this.history.length>this.historyMax&&(this.history.splice(0,1),this.historyIndex-=1)),this.silentInvalidate()}silentInvalidate(){this.listeners.forEach((e=>{e.invalidated&&e.invalidated(this),e.errors&&e.errors(this.errors)}))}reset(e,t){this.data=e,this.validate(t),this.invalidate()}get(e){let t=this.data;return e.forEach((e=>{if(void 0===t)return t;t=this.wrapLists&&"number"==typeof e?t[e].node:t[e]})),t}set(e,t,r){if(0===e.getArray().length)return void this.reset(t,!0);let n=this.data;e.pop().forEach((e=>{void 0!==n[e]&&"string"!=typeof n[e]&&"number"!=typeof n[e]||(this.wrapLists&&"number"==typeof e?n[e]={node:{},id:qe.hexId()}:n[e]={}),n=this.wrapLists&&"number"==typeof e?n[e].node:n[e]})),null!==n&&(void 0===t||"number"==typeof t&&isNaN(t)?"number"==typeof e.last()?n.splice(e.last(),1):delete n[e.last()]:this.wrapLists&&"number"==typeof e.last()?n[e.last()]={node:t,id:qe.hexId()}:n[e.last()]=t,r||(this.verbose&&console.log("Set",e.toString(),JSON.stringify(t)),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{e.errors&&e.errors(n)}))}static wrapLists(e){if(Array.isArray(e)){const t=e.map((e=>({node:this.wrapLists(e),id:qe.hexId()})));for(const r of Object.getOwnPropertySymbols(e))t[r]=e[r];return t}if("object"==typeof e&&null!==e){const t={};Object.entries(e).map((([e,r])=>{t[e]=this.wrapLists(r)}));for(const r of Object.getOwnPropertySymbols(e))t[r]=e[r];return t}return e}static unwrapLists(e){if(Array.isArray(e)){const t=e.map((e=>this.unwrapLists(e.node)));for(const r of Object.getOwnPropertySymbols(e))t[r]=e[r];return t}if("object"==typeof e&&null!==e){const t={};Object.entries(e).map((([e,r])=>{t[e]=this.unwrapLists(r)}));for(const r of Object.getOwnPropertySymbols(e))t[r]=e[r];return t}return e}}je.DataModel=He;var We,Ze={};We=Ze,Object.defineProperty(We,"__esModule",{value:!0}),We.Keep=We.Opt=We.Has=We.Mod=We.Base=void 0,We.Base={type:()=>"base",category:()=>{},default:()=>{},enabled:()=>!0,keep:()=>!1,optional:()=>!1,navigate(){return this},pathPush:e=>e,suggest:()=>[],validate:(e,t)=>t,validationOption:()=>{},hook(e,t,...r){return e.base({node:this},t,...r)},canUpdate:()=>!1,update:()=>[]},We.Mod=(e,t)=>s(s({},e),"function"==typeof t?t(e):t),We.Has=(e,t)=>We.Mod(t,{enabled:t=>void 0!==t.push(e).get()}),We.Opt=function(e){return c(s({},e),{optional:()=>!0})},We.Keep=function(e){return c(s({},e),{keep:()=>!0})};var Ge={};Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.BooleanNode=void 0;const Ke=je,Ye=Ze;Ge.BooleanNode=()=>c(s({},Ye.Base),{type:()=>"boolean",default:()=>!1,suggest:()=>["false","true"],validate(e,t,r,n){return n.loose&&"boolean"!=typeof t&&(t=n.wrapLists?Ke.DataModel.wrapLists(this.default()):this.default()),"boolean"==typeof t&&void 0!==t||r.add(e,"error.expected_boolean"),t},hook(e,t,...r){var n;return(null!==(n=e.boolean)&&void 0!==n?n:e.base).call(e,{node:this},t,...r)}});var Ve={},Qe={};Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.ListNode=void 0;const et=je,tt=Ze;Qe.ListNode=(e,t)=>{var r,n;const i=null!==(r=null==t?void 0:t.minLength)&&void 0!==r?r:0,o=null!==(n=null==t?void 0:t.maxLength)&&void 0!==n?n:1/0,a=(null==t?void 0:t.minLength)&&(null==t?void 0:t.maxLength);return c(s({},tt.Base),{type:()=>"list",default:()=>(null==t?void 0:t.minLength)?[...Array(i)].map((t=>e.default())):[],navigate(t,r){const n=r+1;return t.getArray().length<=n?this:e.navigate(t,n)},pathPush:(e,t)=>e.push(parseInt(t.toString())).contextPush("entry"),validate(t,r,n,s){if(s.loose&&!Array.isArray(r)&&(r=s.wrapLists?et.DataModel.wrapLists(this.default()):this.default()),!Array.isArray(r))return n.add(t,"error.expected_list"),r;a&&(r.lengtho)?i===o?n.add(t,"error.invalid_list_range.exact",r.length,i):n.add(t,"error.invalid_list_range.between",r.length,i,o):r.lengtho&&n.add(t,"error.invalid_list_range.larger",r.length,o);const c=r.map(((r,i)=>{const o=e.validate(t.push(i),s.wrapLists?r.node:r,n,s);return s.wrapLists?{node:o,id:r.id}:o}));for(const e of Object.getOwnPropertySymbols(r))c[e]=r[e];return c},hook(r,n,...i){var o;return(null!==(o=r.list)&&void 0!==o?o:r.base).call(r,{node:this,children:e,config:null!=t?t:{}},n,...i)}})};var rt={};Object.defineProperty(rt,"__esModule",{value:!0}),rt.SwitchNode=void 0;const nt=Ze;rt.SwitchNode=e=>c(s({},nt.Base),{type(e){return this.activeCase(e,!0).node.type(e)},category(e){return this.activeCase(e,!0).node.category(e)},default:()=>e[0].node.default(),navigate(e,t){var r;const n=t+1;return null===(r=this.activeCase(e.slice(0,n)))||void 0===r?void 0:r.node.navigate(e,t)},pathPush(e,t){var r,n;return null!==(n=null===(r=this.activeCase(e))||void 0===r?void 0:r.node.pathPush(e,t))&&void 0!==n?n:e},suggest(t,r){var n,i;return null!==(i=null===(n=this.activeCase(t))||void 0===n?void 0:n.node.suggest(t,r))&&void 0!==i?i:e.filter((e=>e.match(t))).map((e=>e.node.suggest(t,r))).reduce(((e,t)=>e.concat(t)))},validate(e,t,r,n){let i=this.activeCase(e);return void 0===i?t:i.node.validate(e,t,r,n)},validationOption(e){var t;return null===(t=this.activeCase(e))||void 0===t?void 0:t.node.validationOption(e)},activeCase(t,r){const n=(e,t)=>{var r,n;return(null!==(r=t.priority)&&void 0!==r?r:0)-(null!==(n=e.priority)&&void 0!==n?n:0)},i=e.filter((e=>e.match(t))).sort(n);return r&&0===i.length?e.sort(n)[0]:i.length>0?i[0]:void 0},hook(e,t,...r){return this.activeCase(t,!0).node.hook(e,t,...r)}}),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectOrPreset=e.StringOrList=e.ObjectOrList=e.ChoiceNode=void 0;const t=Qe,r=rt;e.ChoiceNode=(e,t)=>{const n=r.SwitchNode(e.map((e=>({type:e.type,priority:e.priority,match:t=>((e,t)=>{if(e.match)return e.match(t);switch(e.type){case"list":return Array.isArray(t);case"object":return"object"==typeof t&&!Array.isArray(t);default:return typeof t===e.type}})(e,t.get()),node:e.node}))));return c(s({},n),{validate(e,t,r,i){let o=n.activeCase(e,!0);return o.node.optional()?t:o.node.validate(e,t,r,i)},hook(r,i,...o){var a;return(null!==(a=r.choice)&&void 0!==a?a:r.base).call(r,{node:this,choices:e,config:null!=t?t:{},switchNode:n},i,...o)}})};const n=r=>(n,i)=>e.ChoiceNode([{type:r,node:n,change:e=>{var t;return null!==(t=e[0])&&void 0!==t?t:n.default()}},{type:"list",node:t.ListNode(n),change:e=>e?[e]:[]}],i);e.ObjectOrList=n("object"),e.StringOrList=n("string"),e.ObjectOrPreset=(t,r,n)=>e.ChoiceNode([{type:"string",priority:1,node:t,change:e=>Object.keys(n)[0]},{type:"object",node:r,change:e=>{var t;return null!==(t=n[e])&&void 0!==t?t:n[Object.keys(n)[0]]}}])}(Ve);var it={};Object.defineProperty(it,"__esModule",{value:!0}),it.MapNode=void 0;const ot=Ze,at=je;it.MapNode=(e,t,r)=>c(s({},ot.Base),{type:()=>"map",default:()=>({}),navigate(e,r){const n=r+1;return e.getArray().length<=n?this:t.navigate(e,n)},pathPush:(e,t)=>e.modelPush(t),suggest:t=>e.suggest(t,""),validate(r,n,i,o){if(o.loose&&"object"!=typeof n&&(n=o.wrapLists?at.DataModel.wrapLists(this.default()):this.default()),null===n||"object"!=typeof n)return i.add(r,"error.expected_object"),n;const a={};Object.keys(n).forEach((s=>{e.validate(r,s,i,o),a[s]=t.validate(r.push(s),n[s],i,o)}));for(const e of Object.getOwnPropertySymbols(n))a[e]=n[e];return a},validationOption(t){var n;return null!==(n=null==r?void 0:r.validation)&&void 0!==n?n:e.validationOption(t.push(""))},hook(n,i,...o){var a;return(null!==(a=n.map)&&void 0!==a?a:n.base).call(n,{node:this,keys:e,children:t,config:null!=r?r:{}},i,...o)}});var st={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.NumberEnum=e.NumberNode=void 0;const t=Me,r=je,n=Ze;e.NumberNode=e=>{var t,i,o;const a=!!(null==e?void 0:e.color)||null!==(t=null==e?void 0:e.integer)&&void 0!==t&&t,l=(null==e?void 0:e.color)?0:null!==(i=null==e?void 0:e.min)&&void 0!==i?i:-1/0,u=(null==e?void 0:e.color)?16777215:null!==(o=null==e?void 0:e.max)&&void 0!==o?o:1/0,d=void 0!==(null==e?void 0:e.min)&&void 0!==(null==e?void 0:e.max);return c(s({},n.Base),{type:()=>"number",default:()=>l>0?l:0,validate(e,t,n,i){return i.loose&&"number"!=typeof t&&(t=i.wrapLists?r.DataModel.wrapLists(this.default()):this.default()),"number"!=typeof t?n.add(e,"error.expected_number"):a&&!Number.isInteger(t)?n.add(e,"error.expected_integer"):d&&(tu)?n.add(e,"error.invalid_number_range.between",t,l,u):tu&&n.add(e,"error.invalid_number_range.larger",t,u),t},hook(t,r,...n){var i;return(null!==(i=t.number)&&void 0!==i?i:t.base).call(t,{node:this,integer:a,min:l,max:u,between:d,config:null!=e?e:{}},r,...n)}})},e.NumberEnum=({integer:r,values:n})=>t.Mod(e.NumberNode({integer:r}),(e=>({validate:(t,r,i,o)=>(r=e.validate(t,r,i,o),n.includes(r)||i.add(t,"error.invalid_number_enum",n.join(", ")),r)})))}(st);var ct={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectNode=e.Case=e.Switch=void 0;const t=Ze,r=Te,a=Le,u=ze,d=je;e.Switch=Symbol("switch"),e.Case=Symbol("case"),e.ObjectNode=(p,m)=>{var h,f;const _=p,{[h=e.Switch]:g,[f=e.Case]:b}=_,y=((e,t)=>{var r={};for(var a in e)i.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&n)for(var a of n(e))t.indexOf(a)<0&&o.call(e,a)&&(r[a]=e[a]);return r})(_,[l(h),l(f)]),v=e=>{if(void 0===g)return y;const t=r.relativePath(e,g).get(),n=b[t];return s(s({},y),n)},x=(e,t)=>{var n;const i=g?r.relativePath(e,g).get():void 0,o=g&&null!==(n=b[i])&&void 0!==n?n:{},a=Object.keys(o),s=(null==m?void 0:m.context)?new r.ModelPath(e.getModel(),new r.Path(e.getArray(),[m.context])):e;return(!(null==m?void 0:m.disableSwitchContext)&&i&&a.includes(t)?s.contextPush(i):s).push(t)};return c(s({},t.Base),{type:()=>"object",category:()=>null==m?void 0:m.category,default:()=>({}),keep(){return this.optional()},navigate(e,t){const r=t+1,n=e.getArray();if(n.length<=r)return this;const i=v(e.slice(0,r))[n[r]];return null==i?void 0:i.navigate(e,r)},pathPush:(e,t)=>x(e,t.toString()),suggest(e,t){const r=v(e),n=Object.keys("object"==typeof t?t:{});return Object.keys(r).filter((t=>r[t].enabled(e))).filter((e=>!n.includes(e))).map(u.quoteString)},validate(e,t,n,i){if(i.loose&&"object"!=typeof t&&(t=i.wrapLists?d.DataModel.wrapLists(this.default()):this.default()),"object"!=typeof t||null===t)return n.add(e,"error.expected_object"),t;let o=y;if(g){const n=r.relativePath(e,g);let c=n.get();if(e.equals(n.pop())){const r=n.last();c=y[r].validate(e.push(r),t[r],new a.Errors,i)}o=s(s({},o),b[c])}const c=Object.keys(o),l=c.filter((e=>!o[e].optional())),u=new Set([...l,...Object.keys(t)]),p={};u.forEach((r=>{if(c.includes(r)){if(!o[r].enabled(e))return;const a=o[r].validate(e.push(r),t[r],n,i);!o[r].keep()&&o[r].optional()&&(void 0===a||Array.isArray(a)&&0===a.length||a.constructor===Object&&0===Object.keys(a).length)?delete p[r]:(p[r]=a,e.getModel().set(e.push(r),a,!0))}else p[r]=t[r]}));for(const r of Object.getOwnPropertySymbols(t))p[r]=t[r];return p},hook(e,t,...r){var n;return(null!==(n=e.object)&&void 0!==n?n:e.base).call(e,{node:this,fields:y,config:null!=m?m:{},filter:g,cases:b,getActiveFields:v,getChildModelPath:x},t,...r)}})}}(ct);var lt={};Object.defineProperty(lt,"__esModule",{value:!0}),lt.Reference=void 0,lt.Reference=(e,t)=>({type(r){return e.get(t).type.bind(this)(r)},category(r){return e.get(t).category.bind(this)(r)},default(){return e.get(t).default.bind(this)()},transform:(r,n)=>e.get(t).transform(r,n),enabled(r){return e.get(t).enabled.bind(this)(r)},keep(){return e.get(t).keep.bind(this)()},optional(){return e.get(t).optional.bind(this)()},navigate(r,n){return e.get(t).navigate.bind(this)(r,n)},pathPush(r,n){return e.get(t).pathPush.bind(this)(r,n)},suggest(r,n){return e.get(t).suggest.bind(this)(r,n)},validate(r,n,i,o){return e.get(t).validate.bind(this)(r,n,i,o)},validationOption(r){return e.get(t).validationOption.bind(this)(r)},hook(r,n,...i){return e.get(t).hook.bind(this)(r,n,...i)},activeCase(r,n){return e.get(t).activeCase.bind(this)(r,n)},canUpdate(r,n){return e.get(t).canUpdate.bind(this)(r,n)},update(r,n){return e.get(t).update.bind(this)(r,n)}});var ut={};Object.defineProperty(ut,"__esModule",{value:!0}),ut.StringNode=void 0;const dt=Ze,pt=ze,mt=je,ht=e=>{var t;return!!(null===(t=e)||void 0===t?void 0:t.enum)},ft=e=>{var t;return!!(null===(t=e)||void 0===t?void 0:t.validator)};ut.StringNode=(e,t)=>{const r=ht(t)?"string"==typeof t.enum?()=>{var r;return null!==(r=null==e?void 0:e.get(t.enum))&&void 0!==r?r:[]}:()=>t.enum:"resource"===(null==t?void 0:t.validator)?"string"==typeof t.params.pool?t.params.pool.startsWith("$")?()=>{var r;return null!==(r=null==e?void 0:e.get(t.params.pool.slice(1)))&&void 0!==r?r:[]}:()=>{var r;return null!==(r=null==e?void 0:e.get(t.params.pool))&&void 0!==r?r:[]}:()=>t.params.pool:()=>[];return c(s({},dt.Base),{type:()=>"string",default:()=>"",validate(e,n,i,o){if(o.loose&&"string"!=typeof n&&(n=(o.wrapLists?mt.DataModel.wrapLists(this.default()):this.default())||void 0),"string"!=typeof n)return i.add(e,"error.expected_string"),n;if(ft(t)&&("resource"===t.validator&&n.length>0&&!n.includes(":")&&(n="#"===n[0]?"#minecraft:"+n.slice(1):"minecraft:"+n),"resource"===t.validator&&("string"==typeof t.params.pool&&t.params.pool.startsWith("$")||t.params.allowTag&&"#"===n[0]||t.params.isDefinition||t.params.allowUnknown)))return n;if(ht(t)&&t.additional)return n;const a=r();return a.length>0&&!a.includes(n)&&i.add(e,"error.invalid_enum_option",n),n},suggest:()=>r().map(pt.quoteString),validationOption:()=>ft(t)?t:void 0,hook(e,n,...i){var o;return(null!==(o=e.string)&&void 0!==o?o:e.base).call(e,{node:this,getValues:r,config:t},n,...i)}})};var _t={};Object.defineProperty(_t,"__esModule",{value:!0});var gt={};Object.defineProperty(gt,"__esModule",{value:!0}),gt.CollectionRegistry=gt.SchemaRegistry=void 0;gt.SchemaRegistry=class{constructor(){this.registry={}}register(e,t){this.registry[e]=t}get(e){const t=this.registry[e];return void 0===t&&console.error(`Tried to access schema "${e}", but that doesn't exist.`),t}};gt.CollectionRegistry=class{constructor(){this.registry={}}register(e,t){this.registry[e]=t}get(e){const t=this.registry[e];return void 0===t&&console.warn(`Tried to access collection "${e}", but that doesn't exist.`),null!=t?t:[]}};var bt={};Object.defineProperty(bt,"__esModule",{value:!0}),function(e){var t=Be&&Be.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=Be&&Be.__exportStar||function(e,r){for(var n in e)"default"===n||r.hasOwnProperty(n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),r(je,e),r(Te,e),r(Le,e),r(Ze,e),r(Ge,e),r(Ve,e),r(Qe,e),r(it,e),r(st,e),r(ct,e),r(lt,e),r(ut,e),r(rt,e),r(_t,e),r(gt,e),r(bt,e)}(Me);function yt(e){let t=e.length;for(;--t>=0;)e[t]=0}const vt=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),xt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Nt=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),wt=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),kt=new Array(576);yt(kt);const Ot=new Array(60);yt(Ot);const St=new Array(512);yt(St);const At=new Array(256);yt(At);const Dt=new Array(29);yt(Dt);const Ct=new Array(30);function Et(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}let Ft,Bt,Mt;function jt(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}yt(Ct);const Tt=e=>e<256?St[e]:St[256+(e>>>7)],It=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},Pt=(e,t,r)=>{e.bi_valid>16-r?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=r-16):(e.bi_buf|=t<{Pt(e,r[2*t],r[2*t+1])},Rt=(e,t)=>{let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1},zt=(e,t,r)=>{const n=new Array(16);let i,o,a=0;for(i=1;i<=15;i++)n[i]=a=a+r[i-1]<<1;for(o=0;o<=t;o++){let t=e[2*o+1];0!==t&&(e[2*o]=Rt(n[t]++,t))}},Ut=e=>{let t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0},$t=e=>{e.bi_valid>8?It(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Xt=(e,t,r,n)=>{const i=2*t,o=2*r;return e[i]{const n=e.heap[r];let i=r<<1;for(;i<=e.heap_len&&(i{let n,i,o,a,s=0;if(0!==e.last_lit)do{n=e.pending_buf[e.d_buf+2*s]<<8|e.pending_buf[e.d_buf+2*s+1],i=e.pending_buf[e.l_buf+s],s++,0===n?Lt(e,i,t):(o=At[i],Lt(e,o+256+1,t),a=vt[o],0!==a&&(i-=Dt[o],Pt(e,i,a)),n--,o=Tt(n),Lt(e,o,r),a=xt[o],0!==a&&(n-=Ct[o],Pt(e,n,a)))}while(s{const r=t.dyn_tree,n=t.stat_desc.static_tree,i=t.stat_desc.has_stree,o=t.stat_desc.elems;let a,s,c,l=-1;for(e.heap_len=0,e.heap_max=573,a=0;a>1;a>=1;a--)Jt(e,r,a);c=o;do{a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Jt(e,r,1),s=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=s,r[2*c]=r[2*a]+r[2*s],e.depth[c]=(e.depth[a]>=e.depth[s]?e.depth[a]:e.depth[s])+1,r[2*a+1]=r[2*s+1]=c,e.heap[1]=c++,Jt(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const r=t.dyn_tree,n=t.max_code,i=t.stat_desc.static_tree,o=t.stat_desc.has_stree,a=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length;let l,u,d,p,m,h,f=0;for(p=0;p<=15;p++)e.bl_count[p]=0;for(r[2*e.heap[e.heap_max]+1]=0,l=e.heap_max+1;l<573;l++)u=e.heap[l],p=r[2*r[2*u+1]+1]+1,p>c&&(p=c,f++),r[2*u+1]=p,u>n||(e.bl_count[p]++,m=0,u>=s&&(m=a[u-s]),h=r[2*u],e.opt_len+=h*(p+m),o&&(e.static_len+=h*(i[2*u+1]+m)));if(0!==f){do{for(p=c-1;0===e.bl_count[p];)p--;e.bl_count[p]--,e.bl_count[p+1]+=2,e.bl_count[c]--,f-=2}while(f>0);for(p=c;0!==p;p--)for(u=e.bl_count[p];0!==u;)d=e.heap[--l],d>n||(r[2*d+1]!==p&&(e.opt_len+=(p-r[2*d+1])*r[2*d],r[2*d+1]=p),u--)}})(e,t),zt(r,l,e.bl_count)},Wt=(e,t,r)=>{let n,i,o=-1,a=t[1],s=0,c=7,l=4;for(0===a&&(c=138,l=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++s{let n,i,o=-1,a=t[1],s=0,c=7,l=4;for(0===a&&(c=138,l=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++s{Pt(e,0+(n?1:0),3),((e,t,r,n)=>{$t(e),n&&(It(e,r),It(e,~r)),e.pending_buf.set(e.window.subarray(t,t+r),e.pending),e.pending+=r})(e,t,r,!0)};var Yt={_tr_init:e=>{Gt||((()=>{let e,t,r,n,i;const o=new Array(16);for(r=0,n=0;n<28;n++)for(Dt[n]=r,e=0;e<1<>=7;n<30;n++)for(Ct[n]=i<<7,e=0;e<1<{let i,o,a=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),Ht(e,e.l_desc),Ht(e,e.d_desc),a=(e=>{let t;for(Wt(e,e.dyn_ltree,e.l_desc.max_code),Wt(e,e.dyn_dtree,e.d_desc.max_code),Ht(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*wt[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),i=e.opt_len+3+7>>>3,o=e.static_len+3+7>>>3,o<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?Kt(e,t,r,n):4===e.strategy||o===i?(Pt(e,2+(n?1:0),3),qt(e,kt,Ot)):(Pt(e,4+(n?1:0),3),((e,t,r,n)=>{let i;for(Pt(e,t-257,5),Pt(e,r-1,5),Pt(e,n-4,4),i=0;i(e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(At[r]+256+1)]++,e.dyn_dtree[2*Tt(t)]++),e.last_lit===e.lit_bufsize-1),_tr_align:e=>{Pt(e,2,3),Lt(e,256,kt),(e=>{16===e.bi_valid?(It(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)})(e)}};var Vt=(e,t,r,n)=>{let i=65535&e|0,o=e>>>16&65535|0,a=0;for(;0!==r;){a=r>2e3?2e3:r,r-=a;do{i=i+t[n++]|0,o=o+i|0}while(--a);i%=65521,o%=65521}return i|o<<16|0};const Qt=new Uint32Array((()=>{let e,t=[];for(var r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t})());var er=(e,t,r,n)=>{const i=Qt,o=n+r;e^=-1;for(let a=n;a>>8^i[255&(e^t[a])];return-1^e},tr={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},rr={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:nr,_tr_stored_block:ir,_tr_flush_block:or,_tr_tally:ar,_tr_align:sr}=Yt,{Z_NO_FLUSH:cr,Z_PARTIAL_FLUSH:lr,Z_FULL_FLUSH:ur,Z_FINISH:dr,Z_BLOCK:pr,Z_OK:mr,Z_STREAM_END:hr,Z_STREAM_ERROR:fr,Z_DATA_ERROR:_r,Z_BUF_ERROR:gr,Z_DEFAULT_COMPRESSION:br,Z_FILTERED:yr,Z_HUFFMAN_ONLY:vr,Z_RLE:xr,Z_FIXED:Nr,Z_DEFAULT_STRATEGY:wr,Z_UNKNOWN:kr,Z_DEFLATED:Or}=rr,Sr=(e,t)=>(e.msg=tr[t],t),Ar=e=>(e<<1)-(e>4?9:0),Dr=e=>{let t=e.length;for(;--t>=0;)e[t]=0};let Cr=(e,t,r)=>(t<