@tsparticles/simplex-noise 4.0.0-alpha.0 → 4.0.0-alpha.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.14
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -34,7 +34,7 @@ return /******/ (() => { // webpackBootstrap
34
34
  \************************************************/
35
35
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
36
36
 
37
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise2D: () => (/* binding */ SimplexNoise2D)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ \"./dist/browser/utils.js\");\n\nclass SimplexNoise2D {\n constructor() {\n this._NORM_2D = 1.0 / 47.0;\n this._SQUISH_2D = (Math.sqrt(2 + 1) - 1) / 2;\n this._STRETCH_2D = (1 / Math.sqrt(2 + 1) - 1) / 2;\n this._base2D = [[1, 1, 0, 1, 0, 1, 0, 0, 0], [1, 1, 0, 1, 0, 1, 2, 1, 1]];\n this._gradients2D = [5, 2, 2, 5, -5, 2, -2, 5, 5, -2, 2, -5, -5, -2, -2, -5];\n this._lookup = [];\n this._lookupPairs2D = [0, 1, 1, 0, 4, 1, 17, 0, 20, 2, 21, 2, 22, 5, 23, 5, 26, 4, 39, 3, 42, 4, 43, 3];\n this._p2D = [0, 0, 1, -1, 0, 0, -1, 1, 0, 2, 1, 1, 1, 2, 2, 0, 1, 2, 0, 2, 1, 0, 0, 0];\n this._perm = new Uint8Array(256);\n this._perm2D = new Uint8Array(256);\n }\n noise(x, y) {\n const {\n _gradients2D,\n _NORM_2D,\n _SQUISH_2D,\n _STRETCH_2D,\n _lookup,\n _perm,\n _perm2D\n } = this;\n const stretchOffset = (x + y) * _STRETCH_2D,\n xs = x + stretchOffset,\n ys = y + stretchOffset,\n xsb = Math.floor(xs),\n ysb = Math.floor(ys),\n squishOffset = (xsb + ysb) * _SQUISH_2D,\n dx0 = x - (xsb + squishOffset),\n dy0 = y - (ysb + squishOffset),\n xins = xs - xsb,\n yins = ys - ysb,\n inSum = xins + yins,\n hash = xins - yins + 1 | inSum << 1 | inSum + yins << 2 | inSum + xins << 4;\n let value = 0;\n for (let c = _lookup[hash]; c !== undefined; c = c.next) {\n const dx = dx0 + c.dx,\n dy = dy0 + c.dy,\n attn = 2 - dx * dx - dy * dy;\n if (attn > 0) {\n const px = xsb + c.xsb,\n py = ysb + c.ysb,\n indexPartA = _perm[px & 0xff],\n index = _perm2D[indexPartA + py & 0xff],\n valuePart = _gradients2D[index] * dx + _gradients2D[index + 1] * dy;\n value += attn * attn * attn * attn * valuePart;\n }\n }\n return value * _NORM_2D;\n }\n seed(clientSeed) {\n const {\n _p2D,\n _base2D,\n _lookupPairs2D\n } = this;\n const contributions = [];\n for (let i = 0; i < _p2D.length; i += 4) {\n const baseSet = _base2D[_p2D[i]];\n let previous = null,\n current = null;\n for (let k = 0; k < baseSet.length; k += 3) {\n current = this._contribution2D(baseSet[k], baseSet[k + 1], baseSet[k + 2]);\n if (previous === null) {\n contributions[i / 4] = current;\n } else {\n previous.next = current;\n }\n previous = current;\n }\n if (current) {\n current.next = this._contribution2D(_p2D[i + 1], _p2D[i + 2], _p2D[i + 3]);\n }\n }\n this._lookup = [];\n for (let i = 0; i < _lookupPairs2D.length; i += 2) {\n this._lookup[_lookupPairs2D[i]] = contributions[_lookupPairs2D[i + 1]];\n }\n this._perm = new Uint8Array(256);\n this._perm2D = new Uint8Array(256);\n const source = new Uint8Array(256);\n for (let i = 0; i < 256; i++) {\n source[i] = i;\n }\n let seed = new Uint32Array(1);\n seed[0] = clientSeed;\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed)));\n for (let i = 255; i >= 0; i--) {\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed);\n const r = new Uint32Array(1);\n r[0] = (seed[0] + 31) % (i + 1);\n if (r[0] < 0) {\n r[0] += i + 1;\n }\n this._perm[i] = source[r[0]];\n this._perm2D[i] = this._perm[i] & 0x0e;\n source[r[0]] = source[i];\n }\n }\n _contribution2D(multiplier, xsb, ysb) {\n const {\n _SQUISH_2D\n } = this;\n return {\n dx: -xsb - multiplier * _SQUISH_2D,\n dy: -ysb - multiplier * _SQUISH_2D,\n xsb,\n ysb\n };\n }\n}\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/Classes/SimplexNoise2D.js?\n}");
37
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise2D: () => (/* binding */ SimplexNoise2D)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ \"./dist/browser/utils.js\");\n\nclass SimplexNoise2D {\n _NORM_2D;\n _SQUISH_2D;\n _STRETCH_2D;\n _base2D;\n _gradients2D;\n _lookup;\n _lookupPairs2D;\n _p2D;\n _perm;\n _perm2D;\n constructor(){\n this._NORM_2D = 1.0 / 47.0;\n this._SQUISH_2D = (Math.sqrt(2 + 1) - 1) / 2;\n this._STRETCH_2D = (1 / Math.sqrt(2 + 1) - 1) / 2;\n this._base2D = [\n [\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0\n ],\n [\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 2,\n 1,\n 1\n ]\n ];\n this._gradients2D = [\n 5,\n 2,\n 2,\n 5,\n -5,\n 2,\n -2,\n 5,\n 5,\n -2,\n 2,\n -5,\n -5,\n -2,\n -2,\n -5\n ];\n this._lookup = [];\n this._lookupPairs2D = [\n 0,\n 1,\n 1,\n 0,\n 4,\n 1,\n 17,\n 0,\n 20,\n 2,\n 21,\n 2,\n 22,\n 5,\n 23,\n 5,\n 26,\n 4,\n 39,\n 3,\n 42,\n 4,\n 43,\n 3\n ];\n this._p2D = [\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n -1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 1,\n 2,\n 2,\n 0,\n 1,\n 2,\n 0,\n 2,\n 1,\n 0,\n 0,\n 0\n ];\n this._perm = new Uint8Array(256);\n this._perm2D = new Uint8Array(256);\n }\n noise(x, y) {\n const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this, stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = xins - yins + 1 | inSum << 1 | inSum + yins << 2 | inSum + xins << 4;\n let value = 0;\n for(let c = _lookup[hash]; c !== undefined; c = c.next){\n const dx = dx0 + c.dx, dy = dy0 + c.dy, attn = 2 - dx * dx - dy * dy;\n if (attn > 0) {\n const px = xsb + c.xsb, py = ysb + c.ysb, indexPartA = _perm[px & 0xff], index = _perm2D[indexPartA + py & 0xff], valuePart = _gradients2D[index] * dx + _gradients2D[index + 1] * dy;\n value += attn * attn * attn * attn * valuePart;\n }\n }\n return value * _NORM_2D;\n }\n seed(clientSeed) {\n const { _p2D, _base2D, _lookupPairs2D } = this, contributions = [];\n for(let i = 0; i < _p2D.length; i += 4){\n const baseSet = _base2D[_p2D[i]];\n let previous = null, current = null;\n for(let k = 0; k < baseSet.length; k += 3){\n current = this._contribution2D(baseSet[k], baseSet[k + 1], baseSet[k + 2]);\n if (previous === null) {\n contributions[i / 4] = current;\n } else {\n previous.next = current;\n }\n previous = current;\n }\n if (current) {\n current.next = this._contribution2D(_p2D[i + 1], _p2D[i + 2], _p2D[i + 3]);\n }\n }\n this._lookup = [];\n for(let i = 0; i < _lookupPairs2D.length; i += 2){\n this._lookup[_lookupPairs2D[i]] = contributions[_lookupPairs2D[i + 1]];\n }\n this._perm = new Uint8Array(256);\n this._perm2D = new Uint8Array(256);\n const source = new Uint8Array(256);\n for(let i = 0; i < 256; i++){\n source[i] = i;\n }\n let seed = new Uint32Array(1);\n seed[0] = clientSeed;\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed)));\n for(let i = 255; i >= 0; i--){\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed);\n const r = new Uint32Array(1);\n r[0] = (seed[0] + 31) % (i + 1);\n if (r[0] < 0) {\n r[0] += i + 1;\n }\n this._perm[i] = source[r[0]];\n this._perm2D[i] = this._perm[i] & 0x0e;\n source[r[0]] = source[i];\n }\n }\n _contribution2D(multiplier, xsb, ysb) {\n const { _SQUISH_2D } = this;\n return {\n dx: -xsb - multiplier * _SQUISH_2D,\n dy: -ysb - multiplier * _SQUISH_2D,\n xsb,\n ysb\n };\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/Classes/SimplexNoise2D.js?\n}");
38
38
 
39
39
  /***/ },
40
40
 
@@ -44,7 +44,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
44
44
  \************************************************/
45
45
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
46
46
 
47
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise3D: () => (/* binding */ SimplexNoise3D)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ \"./dist/browser/utils.js\");\n\nclass SimplexNoise3D {\n constructor() {\n this._NORM_3D = 1.0 / 103.0;\n this._SQUISH_3D = (Math.sqrt(3 + 1) - 1) / 3;\n this._STRETCH_3D = (1 / Math.sqrt(3 + 1) - 1) / 3;\n this._base3D = [[0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1], [2, 1, 1, 0, 2, 1, 0, 1, 2, 0, 1, 1, 3, 1, 1, 1], [1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 1, 0, 2, 1, 0, 1, 2, 0, 1, 1]];\n this._gradients3D = [-11, 4, 4, -4, 11, 4, -4, 4, 11, 11, 4, 4, 4, 11, 4, 4, 4, 11, -11, -4, 4, -4, -11, 4, -4, -4, 11, 11, -4, 4, 4, -11, 4, 4, -4, 11, -11, 4, -4, -4, 11, -4, -4, 4, -11, 11, 4, -4, 4, 11, -4, 4, 4, -11, -11, -4, -4, -4, -11, -4, -4, -4, -11, 11, -4, -4, 4, -11, -4, 4, -4, -11];\n this._lookup = [];\n this._lookupPairs3D = [0, 2, 1, 1, 2, 2, 5, 1, 6, 0, 7, 0, 32, 2, 34, 2, 129, 1, 133, 1, 160, 5, 161, 5, 518, 0, 519, 0, 546, 4, 550, 4, 645, 3, 647, 3, 672, 5, 673, 5, 674, 4, 677, 3, 678, 4, 679, 3, 680, 13, 681, 13, 682, 12, 685, 14, 686, 12, 687, 14, 712, 20, 714, 18, 809, 21, 813, 23, 840, 20, 841, 21, 1198, 19, 1199, 22, 1226, 18, 1230, 19, 1325, 23, 1327, 22, 1352, 15, 1353, 17, 1354, 15, 1357, 17, 1358, 16, 1359, 16, 1360, 11, 1361, 10, 1362, 11, 1365, 10, 1366, 9, 1367, 9, 1392, 11, 1394, 11, 1489, 10, 1493, 10, 1520, 8, 1521, 8, 1878, 9, 1879, 9, 1906, 7, 1910, 7, 2005, 6, 2007, 6, 2032, 8, 2033, 8, 2034, 7, 2037, 6, 2038, 7, 2039, 6];\n this._p3D = [0, 0, 1, -1, 0, 0, 1, 0, -1, 0, 0, -1, 1, 0, 0, 0, 1, -1, 0, 0, -1, 0, 1, 0, 0, -1, 1, 0, 2, 1, 1, 0, 1, 1, 1, -1, 0, 2, 1, 0, 1, 1, 1, -1, 1, 0, 2, 0, 1, 1, 1, -1, 1, 1, 1, 3, 2, 1, 0, 3, 1, 2, 0, 1, 3, 2, 0, 1, 3, 1, 0, 2, 1, 3, 0, 2, 1, 3, 0, 1, 2, 1, 1, 1, 0, 0, 2, 2, 0, 0, 1, 1, 0, 1, 0, 2, 0, 2, 0, 1, 1, 0, 0, 1, 2, 0, 0, 2, 2, 0, 0, 0, 0, 1, 1, -1, 1, 2, 0, 0, 0, 0, 1, -1, 1, 1, 2, 0, 0, 0, 0, 1, 1, 1, -1, 2, 3, 1, 1, 1, 2, 0, 0, 2, 2, 3, 1, 1, 1, 2, 2, 0, 0, 2, 3, 1, 1, 1, 2, 0, 2, 0, 2, 1, 1, -1, 1, 2, 0, 0, 2, 2, 1, 1, -1, 1, 2, 2, 0, 0, 2, 1, -1, 1, 1, 2, 0, 0, 2, 2, 1, -1, 1, 1, 2, 0, 2, 0, 2, 1, 1, 1, -1, 2, 2, 0, 0, 2, 1, 1, 1, -1, 2, 0, 2, 0];\n this._perm = new Uint8Array(256);\n this._perm3D = new Uint8Array(256);\n }\n noise(x, y, z) {\n const {\n _STRETCH_3D,\n _NORM_3D,\n _SQUISH_3D,\n _lookup,\n _perm,\n _perm3D,\n _gradients3D\n } = this,\n stretchOffset = (x + y + z) * _STRETCH_3D,\n xs = x + stretchOffset,\n ys = y + stretchOffset,\n zs = z + stretchOffset,\n xsb = Math.floor(xs),\n ysb = Math.floor(ys),\n zsb = Math.floor(zs),\n squishOffset = (xsb + ysb + zsb) * _SQUISH_3D,\n dx0 = x - (xsb + squishOffset),\n dy0 = y - (ysb + squishOffset),\n dz0 = z - (zsb + squishOffset),\n xins = xs - xsb,\n yins = ys - ysb,\n zins = zs - zsb,\n inSum = xins + yins + zins,\n hash = yins - zins + 1 | xins - yins + 1 << 1 | xins - zins + 1 << 2 | inSum << 3 | inSum + zins << 5 | inSum + yins << 7 | inSum + xins << 9;\n let value = 0;\n for (let c = _lookup[hash]; c !== undefined; c = c.next) {\n const dx = dx0 + c.dx,\n dy = dy0 + c.dy,\n dz = dz0 + c.dz,\n attn = 2 - dx * dx - dy * dy - dz * dz;\n if (attn > 0) {\n const px = xsb + c.xsb,\n py = ysb + c.ysb,\n pz = zsb + c.zsb,\n indexPartA = _perm[px & 0xff],\n indexPartB = _perm[indexPartA + py & 0xff],\n index = _perm3D[indexPartB + pz & 0xff],\n valuePart = _gradients3D[index] * dx + _gradients3D[index + 1] * dy + _gradients3D[index + 2] * dz;\n value += attn * attn * attn * attn * valuePart;\n }\n }\n return value * _NORM_3D;\n }\n seed(clientSeed) {\n const {\n _base3D,\n _lookupPairs3D,\n _p3D\n } = this,\n contributions = [];\n for (let i = 0; i < _p3D.length; i += 9) {\n const baseSet = _base3D[_p3D[i]];\n let previous = null,\n current = null;\n for (let k = 0; k < baseSet.length; k += 4) {\n current = this._contribution3D(baseSet[k], baseSet[k + 1], baseSet[k + 2], baseSet[k + 3]);\n if (previous === null) {\n contributions[i / 9] = current;\n } else {\n previous.next = current;\n }\n previous = current;\n }\n if (current) {\n current.next = this._contribution3D(_p3D[i + 1], _p3D[i + 2], _p3D[i + 3], _p3D[i + 4]);\n current.next.next = this._contribution3D(_p3D[i + 5], _p3D[i + 6], _p3D[i + 7], _p3D[i + 8]);\n }\n }\n this._lookup = [];\n for (let i = 0; i < _lookupPairs3D.length; i += 2) {\n this._lookup[_lookupPairs3D[i]] = contributions[_lookupPairs3D[i + 1]];\n }\n this._perm = new Uint8Array(256);\n this._perm3D = new Uint8Array(256);\n const source = new Uint8Array(256);\n for (let i = 0; i < 256; i++) {\n source[i] = i;\n }\n let seed = new Uint32Array(1);\n seed[0] = clientSeed;\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed)));\n for (let i = 255; i >= 0; i--) {\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed);\n const r = new Uint32Array(1);\n r[0] = (seed[0] + 31) % (i + 1);\n if (r[0] < 0) {\n r[0] += i + 1;\n }\n this._perm[i] = source[r[0]];\n this._perm3D[i] = this._perm[i] % 24 * 3;\n source[r[0]] = source[i];\n }\n }\n _contribution3D(multiplier, xsb, ysb, zsb) {\n const {\n _SQUISH_3D\n } = this;\n return {\n dx: -xsb - multiplier * _SQUISH_3D,\n dy: -ysb - multiplier * _SQUISH_3D,\n dz: -zsb - multiplier * _SQUISH_3D,\n xsb,\n ysb,\n zsb\n };\n }\n}\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/Classes/SimplexNoise3D.js?\n}");
47
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise3D: () => (/* binding */ SimplexNoise3D)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ \"./dist/browser/utils.js\");\n\nclass SimplexNoise3D {\n _NORM_3D;\n _SQUISH_3D;\n _STRETCH_3D;\n _base3D;\n _gradients3D;\n _lookup;\n _lookupPairs3D;\n _p3D;\n _perm;\n _perm3D;\n constructor(){\n this._NORM_3D = 1.0 / 103.0;\n this._SQUISH_3D = (Math.sqrt(3 + 1) - 1) / 3;\n this._STRETCH_3D = (1 / Math.sqrt(3 + 1) - 1) / 3;\n this._base3D = [\n [\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 1\n ],\n [\n 2,\n 1,\n 1,\n 0,\n 2,\n 1,\n 0,\n 1,\n 2,\n 0,\n 1,\n 1,\n 3,\n 1,\n 1,\n 1\n ],\n [\n 1,\n 1,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 1,\n 2,\n 1,\n 1,\n 0,\n 2,\n 1,\n 0,\n 1,\n 2,\n 0,\n 1,\n 1\n ]\n ];\n this._gradients3D = [\n -11,\n 4,\n 4,\n -4,\n 11,\n 4,\n -4,\n 4,\n 11,\n 11,\n 4,\n 4,\n 4,\n 11,\n 4,\n 4,\n 4,\n 11,\n -11,\n -4,\n 4,\n -4,\n -11,\n 4,\n -4,\n -4,\n 11,\n 11,\n -4,\n 4,\n 4,\n -11,\n 4,\n 4,\n -4,\n 11,\n -11,\n 4,\n -4,\n -4,\n 11,\n -4,\n -4,\n 4,\n -11,\n 11,\n 4,\n -4,\n 4,\n 11,\n -4,\n 4,\n 4,\n -11,\n -11,\n -4,\n -4,\n -4,\n -11,\n -4,\n -4,\n -4,\n -11,\n 11,\n -4,\n -4,\n 4,\n -11,\n -4,\n 4,\n -4,\n -11\n ];\n this._lookup = [];\n this._lookupPairs3D = [\n 0,\n 2,\n 1,\n 1,\n 2,\n 2,\n 5,\n 1,\n 6,\n 0,\n 7,\n 0,\n 32,\n 2,\n 34,\n 2,\n 129,\n 1,\n 133,\n 1,\n 160,\n 5,\n 161,\n 5,\n 518,\n 0,\n 519,\n 0,\n 546,\n 4,\n 550,\n 4,\n 645,\n 3,\n 647,\n 3,\n 672,\n 5,\n 673,\n 5,\n 674,\n 4,\n 677,\n 3,\n 678,\n 4,\n 679,\n 3,\n 680,\n 13,\n 681,\n 13,\n 682,\n 12,\n 685,\n 14,\n 686,\n 12,\n 687,\n 14,\n 712,\n 20,\n 714,\n 18,\n 809,\n 21,\n 813,\n 23,\n 840,\n 20,\n 841,\n 21,\n 1198,\n 19,\n 1199,\n 22,\n 1226,\n 18,\n 1230,\n 19,\n 1325,\n 23,\n 1327,\n 22,\n 1352,\n 15,\n 1353,\n 17,\n 1354,\n 15,\n 1357,\n 17,\n 1358,\n 16,\n 1359,\n 16,\n 1360,\n 11,\n 1361,\n 10,\n 1362,\n 11,\n 1365,\n 10,\n 1366,\n 9,\n 1367,\n 9,\n 1392,\n 11,\n 1394,\n 11,\n 1489,\n 10,\n 1493,\n 10,\n 1520,\n 8,\n 1521,\n 8,\n 1878,\n 9,\n 1879,\n 9,\n 1906,\n 7,\n 1910,\n 7,\n 2005,\n 6,\n 2007,\n 6,\n 2032,\n 8,\n 2033,\n 8,\n 2034,\n 7,\n 2037,\n 6,\n 2038,\n 7,\n 2039,\n 6\n ];\n this._p3D = [\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n 1,\n 0,\n -1,\n 0,\n 0,\n -1,\n 1,\n 0,\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n -1,\n 0,\n 1,\n 0,\n 0,\n -1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n -1,\n 0,\n 2,\n 1,\n 0,\n 1,\n 1,\n 1,\n -1,\n 1,\n 0,\n 2,\n 0,\n 1,\n 1,\n 1,\n -1,\n 1,\n 1,\n 1,\n 3,\n 2,\n 1,\n 0,\n 3,\n 1,\n 2,\n 0,\n 1,\n 3,\n 2,\n 0,\n 1,\n 3,\n 1,\n 0,\n 2,\n 1,\n 3,\n 0,\n 2,\n 1,\n 3,\n 0,\n 1,\n 2,\n 1,\n 1,\n 1,\n 0,\n 0,\n 2,\n 2,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 0,\n 2,\n 0,\n 2,\n 0,\n 1,\n 1,\n 0,\n 0,\n 1,\n 2,\n 0,\n 0,\n 2,\n 2,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n -1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 0,\n 1,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n -1,\n 2,\n 3,\n 1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 2,\n 3,\n 1,\n 1,\n 1,\n 2,\n 2,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 1,\n 2,\n 0,\n 2,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 2,\n 1,\n 1,\n -1,\n 1,\n 2,\n 2,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 2,\n 1,\n -1,\n 1,\n 1,\n 2,\n 0,\n 2,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 2,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 2,\n 0,\n 2,\n 0\n ];\n this._perm = new Uint8Array(256);\n this._perm3D = new Uint8Array(256);\n }\n noise(x, y, z) {\n const { _STRETCH_3D, _NORM_3D, _SQUISH_3D, _lookup, _perm, _perm3D, _gradients3D } = this, stretchOffset = (x + y + z) * _STRETCH_3D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), squishOffset = (xsb + ysb + zsb) * _SQUISH_3D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, inSum = xins + yins + zins, hash = yins - zins + 1 | xins - yins + 1 << 1 | xins - zins + 1 << 2 | inSum << 3 | inSum + zins << 5 | inSum + yins << 7 | inSum + xins << 9;\n let value = 0;\n for(let c = _lookup[hash]; c !== undefined; c = c.next){\n const dx = dx0 + c.dx, dy = dy0 + c.dy, dz = dz0 + c.dz, attn = 2 - dx * dx - dy * dy - dz * dz;\n if (attn > 0) {\n const px = xsb + c.xsb, py = ysb + c.ysb, pz = zsb + c.zsb, indexPartA = _perm[px & 0xff], indexPartB = _perm[indexPartA + py & 0xff], index = _perm3D[indexPartB + pz & 0xff], valuePart = _gradients3D[index] * dx + _gradients3D[index + 1] * dy + _gradients3D[index + 2] * dz;\n value += attn * attn * attn * attn * valuePart;\n }\n }\n return value * _NORM_3D;\n }\n seed(clientSeed) {\n const { _base3D, _lookupPairs3D, _p3D } = this, contributions = [];\n for(let i = 0; i < _p3D.length; i += 9){\n const baseSet = _base3D[_p3D[i]];\n let previous = null, current = null;\n for(let k = 0; k < baseSet.length; k += 4){\n current = this._contribution3D(baseSet[k], baseSet[k + 1], baseSet[k + 2], baseSet[k + 3]);\n if (previous === null) {\n contributions[i / 9] = current;\n } else {\n previous.next = current;\n }\n previous = current;\n }\n if (current) {\n current.next = this._contribution3D(_p3D[i + 1], _p3D[i + 2], _p3D[i + 3], _p3D[i + 4]);\n current.next.next = this._contribution3D(_p3D[i + 5], _p3D[i + 6], _p3D[i + 7], _p3D[i + 8]);\n }\n }\n this._lookup = [];\n for(let i = 0; i < _lookupPairs3D.length; i += 2){\n this._lookup[_lookupPairs3D[i]] = contributions[_lookupPairs3D[i + 1]];\n }\n this._perm = new Uint8Array(256);\n this._perm3D = new Uint8Array(256);\n const source = new Uint8Array(256);\n for(let i = 0; i < 256; i++){\n source[i] = i;\n }\n let seed = new Uint32Array(1);\n seed[0] = clientSeed;\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed)));\n for(let i = 255; i >= 0; i--){\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed);\n const r = new Uint32Array(1);\n r[0] = (seed[0] + 31) % (i + 1);\n if (r[0] < 0) {\n r[0] += i + 1;\n }\n this._perm[i] = source[r[0]];\n this._perm3D[i] = this._perm[i] % 24 * 3;\n source[r[0]] = source[i];\n }\n }\n _contribution3D(multiplier, xsb, ysb, zsb) {\n const { _SQUISH_3D } = this;\n return {\n dx: -xsb - multiplier * _SQUISH_3D,\n dy: -ysb - multiplier * _SQUISH_3D,\n dz: -zsb - multiplier * _SQUISH_3D,\n xsb,\n ysb,\n zsb\n };\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/Classes/SimplexNoise3D.js?\n}");
48
48
 
49
49
  /***/ },
50
50
 
@@ -54,7 +54,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
54
54
  \************************************************/
55
55
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
56
56
 
57
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise4D: () => (/* binding */ SimplexNoise4D)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ \"./dist/browser/utils.js\");\n\nclass SimplexNoise4D {\n constructor() {\n this._NORM_4D = 1.0 / 30.0;\n this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * 0.25;\n this._STRETCH_4D = (1 / Math.sqrt(4 + 1) - 1) * 0.25;\n this._lookup = [];\n this._perm = new Uint8Array(0);\n this._perm4D = new Uint8Array(0);\n this._base4D = [[0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1], [3, 1, 1, 1, 0, 3, 1, 1, 0, 1, 3, 1, 0, 1, 1, 3, 0, 1, 1, 1, 4, 1, 1, 1, 1], [1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 1, 1, 0, 0, 2, 1, 0, 1, 0, 2, 1, 0, 0, 1, 2, 0, 1, 1, 0, 2, 0, 1, 0, 1, 2, 0, 0, 1, 1], [3, 1, 1, 1, 0, 3, 1, 1, 0, 1, 3, 1, 0, 1, 1, 3, 0, 1, 1, 1, 2, 1, 1, 0, 0, 2, 1, 0, 1, 0, 2, 1, 0, 0, 1, 2, 0, 1, 1, 0, 2, 0, 1, 0, 1, 2, 0, 0, 1, 1]];\n this._gradients4D = [3, 1, 1, 1, 1, 3, 1, 1, 1, 1, 3, 1, 1, 1, 1, 3, -3, 1, 1, 1, -1, 3, 1, 1, -1, 1, 3, 1, -1, 1, 1, 3, 3, -1, 1, 1, 1, -3, 1, 1, 1, -1, 3, 1, 1, -1, 1, 3, -3, -1, 1, 1, -1, -3, 1, 1, -1, -1, 3, 1, -1, -1, 1, 3, 3, 1, -1, 1, 1, 3, -1, 1, 1, 1, -3, 1, 1, 1, -1, 3, -3, 1, -1, 1, -1, 3, -1, 1, -1, 1, -3, 1, -1, 1, -1, 3, 3, -1, -1, 1, 1, -3, -1, 1, 1, -1, -3, 1, 1, -1, -1, 3, -3, -1, -1, 1, -1, -3, -1, 1, -1, -1, -3, 1, -1, -1, -1, 3, 3, 1, 1, -1, 1, 3, 1, -1, 1, 1, 3, -1, 1, 1, 1, -3, -3, 1, 1, -1, -1, 3, 1, -1, -1, 1, 3, -1, -1, 1, 1, -3, 3, -1, 1, -1, 1, -3, 1, -1, 1, -1, 3, -1, 1, -1, 1, -3, -3, -1, 1, -1, -1, -3, 1, -1, -1, -1, 3, -1, -1, -1, 1, -3, 3, 1, -1, -1, 1, 3, -1, -1, 1, 1, -3, -1, 1, 1, -1, -3, -3, 1, -1, -1, -1, 3, -1, -1, -1, 1, -3, -1, -1, 1, -1, -3, 3, -1, -1, -1, 1, -3, -1, -1, 1, -1, -3, -1, 1, -1, -1, -3, -3, -1, -1, -1, -1, -3, -1, -1, -1, -1, -3, -1, -1, -1, -1, -3];\n this._lookupPairs4D = [0, 3, 1, 2, 2, 3, 5, 2, 6, 1, 7, 1, 8, 3, 9, 2, 10, 3, 13, 2, 16, 3, 18, 3, 22, 1, 23, 1, 24, 3, 26, 3, 33, 2, 37, 2, 38, 1, 39, 1, 41, 2, 45, 2, 54, 1, 55, 1, 56, 0, 57, 0, 58, 0, 59, 0, 60, 0, 61, 0, 62, 0, 63, 0, 256, 3, 258, 3, 264, 3, 266, 3, 272, 3, 274, 3, 280, 3, 282, 3, 2049, 2, 2053, 2, 2057, 2, 2061, 2, 2081, 2, 2085, 2, 2089, 2, 2093, 2, 2304, 9, 2305, 9, 2312, 9, 2313, 9, 16390, 1, 16391, 1, 16406, 1, 16407, 1, 16422, 1, 16423, 1, 16438, 1, 16439, 1, 16642, 8, 16646, 8, 16658, 8, 16662, 8, 18437, 6, 18439, 6, 18469, 6, 18471, 6, 18688, 9, 18689, 9, 18690, 8, 18693, 6, 18694, 8, 18695, 6, 18696, 9, 18697, 9, 18706, 8, 18710, 8, 18725, 6, 18727, 6, 131128, 0, 131129, 0, 131130, 0, 131131, 0, 131132, 0, 131133, 0, 131134, 0, 131135, 0, 131352, 7, 131354, 7, 131384, 7, 131386, 7, 133161, 5, 133165, 5, 133177, 5, 133181, 5, 133376, 9, 133377, 9, 133384, 9, 133385, 9, 133400, 7, 133402, 7, 133417, 5, 133421, 5, 133432, 7, 133433, 5, 133434, 7, 133437, 5, 147510, 4, 147511, 4, 147518, 4, 147519, 4, 147714, 8, 147718, 8, 147730, 8, 147734, 8, 147736, 7, 147738, 7, 147766, 4, 147767, 4, 147768, 7, 147770, 7, 147774, 4, 147775, 4, 149509, 6, 149511, 6, 149541, 6, 149543, 6, 149545, 5, 149549, 5, 149558, 4, 149559, 4, 149561, 5, 149565, 5, 149566, 4, 149567, 4, 149760, 9, 149761, 9, 149762, 8, 149765, 6, 149766, 8, 149767, 6, 149768, 9, 149769, 9, 149778, 8, 149782, 8, 149784, 7, 149786, 7, 149797, 6, 149799, 6, 149801, 5, 149805, 5, 149814, 4, 149815, 4, 149816, 7, 149817, 5, 149818, 7, 149821, 5, 149822, 4, 149823, 4, 149824, 37, 149825, 37, 149826, 36, 149829, 34, 149830, 36, 149831, 34, 149832, 37, 149833, 37, 149842, 36, 149846, 36, 149848, 35, 149850, 35, 149861, 34, 149863, 34, 149865, 33, 149869, 33, 149878, 32, 149879, 32, 149880, 35, 149881, 33, 149882, 35, 149885, 33, 149886, 32, 149887, 32, 150080, 49, 150082, 48, 150088, 49, 150098, 48, 150104, 47, 150106, 47, 151873, 46, 151877, 45, 151881, 46, 151909, 45, 151913, 44, 151917, 44, 152128, 49, 152129, 46, 152136, 49, 152137, 46, 166214, 43, 166215, 42, 166230, 43, 166247, 42, 166262, 41, 166263, 41, 166466, 48, 166470, 43, 166482, 48, 166486, 43, 168261, 45, 168263, 42, 168293, 45, 168295, 42, 168512, 31, 168513, 28, 168514, 31, 168517, 28, 168518, 25, 168519, 25, 280952, 40, 280953, 39, 280954, 40, 280957, 39, 280958, 38, 280959, 38, 281176, 47, 281178, 47, 281208, 40, 281210, 40, 282985, 44, 282989, 44, 283001, 39, 283005, 39, 283208, 30, 283209, 27, 283224, 30, 283241, 27, 283256, 22, 283257, 22, 297334, 41, 297335, 41, 297342, 38, 297343, 38, 297554, 29, 297558, 24, 297562, 29, 297590, 24, 297594, 21, 297598, 21, 299365, 26, 299367, 23, 299373, 26, 299383, 23, 299389, 20, 299391, 20, 299584, 31, 299585, 28, 299586, 31, 299589, 28, 299590, 25, 299591, 25, 299592, 30, 299593, 27, 299602, 29, 299606, 24, 299608, 30, 299610, 29, 299621, 26, 299623, 23, 299625, 27, 299629, 26, 299638, 24, 299639, 23, 299640, 22, 299641, 22, 299642, 21, 299645, 20, 299646, 21, 299647, 20, 299648, 61, 299649, 60, 299650, 61, 299653, 60, 299654, 59, 299655, 59, 299656, 58, 299657, 57, 299666, 55, 299670, 54, 299672, 58, 299674, 55, 299685, 52, 299687, 51, 299689, 57, 299693, 52, 299702, 54, 299703, 51, 299704, 56, 299705, 56, 299706, 53, 299709, 50, 299710, 53, 299711, 50, 299904, 61, 299906, 61, 299912, 58, 299922, 55, 299928, 58, 299930, 55, 301697, 60, 301701, 60, 301705, 57, 301733, 52, 301737, 57, 301741, 52, 301952, 79, 301953, 79, 301960, 76, 301961, 76, 316038, 59, 316039, 59, 316054, 54, 316071, 51, 316086, 54, 316087, 51, 316290, 78, 316294, 78, 316306, 73, 316310, 73, 318085, 77, 318087, 77, 318117, 70, 318119, 70, 318336, 79, 318337, 79, 318338, 78, 318341, 77, 318342, 78, 318343, 77, 430776, 56, 430777, 56, 430778, 53, 430781, 50, 430782, 53, 430783, 50, 431000, 75, 431002, 72, 431032, 75, 431034, 72, 432809, 74, 432813, 69, 432825, 74, 432829, 69, 433032, 76, 433033, 76, 433048, 75, 433065, 74, 433080, 75, 433081, 74, 447158, 71, 447159, 68, 447166, 71, 447167, 68, 447378, 73, 447382, 73, 447386, 72, 447414, 71, 447418, 72, 447422, 71, 449189, 70, 449191, 70, 449197, 69, 449207, 68, 449213, 69, 449215, 68, 449408, 67, 449409, 67, 449410, 66, 449413, 64, 449414, 66, 449415, 64, 449416, 67, 449417, 67, 449426, 66, 449430, 66, 449432, 65, 449434, 65, 449445, 64, 449447, 64, 449449, 63, 449453, 63, 449462, 62, 449463, 62, 449464, 65, 449465, 63, 449466, 65, 449469, 63, 449470, 62, 449471, 62, 449472, 19, 449473, 19, 449474, 18, 449477, 16, 449478, 18, 449479, 16, 449480, 19, 449481, 19, 449490, 18, 449494, 18, 449496, 17, 449498, 17, 449509, 16, 449511, 16, 449513, 15, 449517, 15, 449526, 14, 449527, 14, 449528, 17, 449529, 15, 449530, 17, 449533, 15, 449534, 14, 449535, 14, 449728, 19, 449729, 19, 449730, 18, 449734, 18, 449736, 19, 449737, 19, 449746, 18, 449750, 18, 449752, 17, 449754, 17, 449784, 17, 449786, 17, 451520, 19, 451521, 19, 451525, 16, 451527, 16, 451528, 19, 451529, 19, 451557, 16, 451559, 16, 451561, 15, 451565, 15, 451577, 15, 451581, 15, 451776, 19, 451777, 19, 451784, 19, 451785, 19, 465858, 18, 465861, 16, 465862, 18, 465863, 16, 465874, 18, 465878, 18, 465893, 16, 465895, 16, 465910, 14, 465911, 14, 465918, 14, 465919, 14, 466114, 18, 466118, 18, 466130, 18, 466134, 18, 467909, 16, 467911, 16, 467941, 16, 467943, 16, 468160, 13, 468161, 13, 468162, 13, 468163, 13, 468164, 13, 468165, 13, 468166, 13, 468167, 13, 580568, 17, 580570, 17, 580585, 15, 580589, 15, 580598, 14, 580599, 14, 580600, 17, 580601, 15, 580602, 17, 580605, 15, 580606, 14, 580607, 14, 580824, 17, 580826, 17, 580856, 17, 580858, 17, 582633, 15, 582637, 15, 582649, 15, 582653, 15, 582856, 12, 582857, 12, 582872, 12, 582873, 12, 582888, 12, 582889, 12, 582904, 12, 582905, 12, 596982, 14, 596983, 14, 596990, 14, 596991, 14, 597202, 11, 597206, 11, 597210, 11, 597214, 11, 597234, 11, 597238, 11, 597242, 11, 597246, 11, 599013, 10, 599015, 10, 599021, 10, 599023, 10, 599029, 10, 599031, 10, 599037, 10, 599039, 10, 599232, 13, 599233, 13, 599234, 13, 599235, 13, 599236, 13, 599237, 13, 599238, 13, 599239, 13, 599240, 12, 599241, 12, 599250, 11, 599254, 11, 599256, 12, 599257, 12, 599258, 11, 599262, 11, 599269, 10, 599271, 10, 599272, 12, 599273, 12, 599277, 10, 599279, 10, 599282, 11, 599285, 10, 599286, 11, 599287, 10, 599288, 12, 599289, 12, 599290, 11, 599293, 10, 599294, 11, 599295, 10];\n this._p4D = [0, 0, 1, -1, 0, 0, 0, 1, 0, -1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 0, 0, 1, 0, -1, 0, 0, -1, 0, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 0, -1, 0, 0, 1, 0, 0, -1, 0, 1, 0, 0, 0, -1, 1, 0, 2, 1, 1, 0, 0, 1, 1, 1, -1, 0, 1, 1, 1, 0, -1, 0, 2, 1, 0, 1, 0, 1, 1, -1, 1, 0, 1, 1, 0, 1, -1, 0, 2, 0, 1, 1, 0, 1, -1, 1, 1, 0, 1, 0, 1, 1, -1, 0, 2, 1, 0, 0, 1, 1, 1, -1, 0, 1, 1, 1, 0, -1, 1, 0, 2, 0, 1, 0, 1, 1, -1, 1, 0, 1, 1, 0, 1, -1, 1, 0, 2, 0, 0, 1, 1, 1, -1, 0, 1, 1, 1, 0, -1, 1, 1, 1, 4, 2, 1, 1, 0, 4, 1, 2, 1, 0, 4, 1, 1, 2, 0, 1, 4, 2, 1, 0, 1, 4, 1, 2, 0, 1, 4, 1, 1, 0, 2, 1, 4, 2, 0, 1, 1, 4, 1, 0, 2, 1, 4, 1, 0, 1, 2, 1, 4, 0, 2, 1, 1, 4, 0, 1, 2, 1, 4, 0, 1, 1, 2, 1, 2, 1, 1, 0, 0, 3, 2, 1, 0, 0, 3, 1, 2, 0, 0, 1, 2, 1, 0, 1, 0, 3, 2, 0, 1, 0, 3, 1, 0, 2, 0, 1, 2, 0, 1, 1, 0, 3, 0, 2, 1, 0, 3, 0, 1, 2, 0, 1, 2, 1, 0, 0, 1, 3, 2, 0, 0, 1, 3, 1, 0, 0, 2, 1, 2, 0, 1, 0, 1, 3, 0, 2, 0, 1, 3, 0, 1, 0, 2, 1, 2, 0, 0, 1, 1, 3, 0, 0, 2, 1, 3, 0, 0, 1, 2, 2, 3, 1, 1, 1, 0, 2, 1, 1, 1, -1, 2, 2, 0, 0, 0, 2, 3, 1, 1, 0, 1, 2, 1, 1, -1, 1, 2, 2, 0, 0, 0, 2, 3, 1, 0, 1, 1, 2, 1, -1, 1, 1, 2, 2, 0, 0, 0, 2, 3, 1, 1, 1, 0, 2, 1, 1, 1, -1, 2, 0, 2, 0, 0, 2, 3, 1, 1, 0, 1, 2, 1, 1, -1, 1, 2, 0, 2, 0, 0, 2, 3, 0, 1, 1, 1, 2, -1, 1, 1, 1, 2, 0, 2, 0, 0, 2, 3, 1, 1, 1, 0, 2, 1, 1, 1, -1, 2, 0, 0, 2, 0, 2, 3, 1, 0, 1, 1, 2, 1, -1, 1, 1, 2, 0, 0, 2, 0, 2, 3, 0, 1, 1, 1, 2, -1, 1, 1, 1, 2, 0, 0, 2, 0, 2, 3, 1, 1, 0, 1, 2, 1, 1, -1, 1, 2, 0, 0, 0, 2, 2, 3, 1, 0, 1, 1, 2, 1, -1, 1, 1, 2, 0, 0, 0, 2, 2, 3, 0, 1, 1, 1, 2, -1, 1, 1, 1, 2, 0, 0, 0, 2, 2, 1, 1, 1, -1, 0, 1, 1, 1, 0, -1, 0, 0, 0, 0, 0, 2, 1, 1, -1, 1, 0, 1, 1, 0, 1, -1, 0, 0, 0, 0, 0, 2, 1, -1, 1, 1, 0, 1, 0, 1, 1, -1, 0, 0, 0, 0, 0, 2, 1, 1, -1, 0, 1, 1, 1, 0, -1, 1, 0, 0, 0, 0, 0, 2, 1, -1, 1, 0, 1, 1, 0, 1, -1, 1, 0, 0, 0, 0, 0, 2, 1, -1, 0, 1, 1, 1, 0, -1, 1, 1, 0, 0, 0, 0, 0, 2, 1, 1, 1, -1, 0, 1, 1, 1, 0, -1, 2, 2, 0, 0, 0, 2, 1, 1, -1, 1, 0, 1, 1, 0, 1, -1, 2, 2, 0, 0, 0, 2, 1, 1, -1, 0, 1, 1, 1, 0, -1, 1, 2, 2, 0, 0, 0, 2, 1, 1, 1, -1, 0, 1, 1, 1, 0, -1, 2, 0, 2, 0, 0, 2, 1, -1, 1, 1, 0, 1, 0, 1, 1, -1, 2, 0, 2, 0, 0, 2, 1, -1, 1, 0, 1, 1, 0, 1, -1, 1, 2, 0, 2, 0, 0, 2, 1, 1, -1, 1, 0, 1, 1, 0, 1, -1, 2, 0, 0, 2, 0, 2, 1, -1, 1, 1, 0, 1, 0, 1, 1, -1, 2, 0, 0, 2, 0, 2, 1, -1, 0, 1, 1, 1, 0, -1, 1, 1, 2, 0, 0, 2, 0, 2, 1, 1, -1, 0, 1, 1, 1, 0, -1, 1, 2, 0, 0, 0, 2, 2, 1, -1, 1, 0, 1, 1, 0, 1, -1, 1, 2, 0, 0, 0, 2, 2, 1, -1, 0, 1, 1, 1, 0, -1, 1, 1, 2, 0, 0, 0, 2, 3, 1, 1, 0, 0, 0, 2, 2, 0, 0, 0, 2, 1, 1, 1, -1, 3, 1, 0, 1, 0, 0, 2, 0, 2, 0, 0, 2, 1, 1, 1, -1, 3, 1, 0, 0, 1, 0, 2, 0, 0, 2, 0, 2, 1, 1, 1, -1, 3, 1, 1, 0, 0, 0, 2, 2, 0, 0, 0, 2, 1, 1, -1, 1, 3, 1, 0, 1, 0, 0, 2, 0, 2, 0, 0, 2, 1, 1, -1, 1, 3, 1, 0, 0, 0, 1, 2, 0, 0, 0, 2, 2, 1, 1, -1, 1, 3, 1, 1, 0, 0, 0, 2, 2, 0, 0, 0, 2, 1, -1, 1, 1, 3, 1, 0, 0, 1, 0, 2, 0, 0, 2, 0, 2, 1, -1, 1, 1, 3, 1, 0, 0, 0, 1, 2, 0, 0, 0, 2, 2, 1, -1, 1, 1, 3, 1, 0, 1, 0, 0, 2, 0, 2, 0, 0, 2, -1, 1, 1, 1, 3, 1, 0, 0, 1, 0, 2, 0, 0, 2, 0, 2, -1, 1, 1, 1, 3, 1, 0, 0, 0, 1, 2, 0, 0, 0, 2, 2, -1, 1, 1, 1, 3, 3, 2, 1, 0, 0, 3, 1, 2, 0, 0, 4, 1, 1, 1, 1, 3, 3, 2, 0, 1, 0, 3, 1, 0, 2, 0, 4, 1, 1, 1, 1, 3, 3, 0, 2, 1, 0, 3, 0, 1, 2, 0, 4, 1, 1, 1, 1, 3, 3, 2, 0, 0, 1, 3, 1, 0, 0, 2, 4, 1, 1, 1, 1, 3, 3, 0, 2, 0, 1, 3, 0, 1, 0, 2, 4, 1, 1, 1, 1, 3, 3, 0, 0, 2, 1, 3, 0, 0, 1, 2, 4, 1, 1, 1, 1, 3, 3, 2, 1, 0, 0, 3, 1, 2, 0, 0, 2, 1, 1, 1, -1, 3, 3, 2, 0, 1, 0, 3, 1, 0, 2, 0, 2, 1, 1, 1, -1, 3, 3, 0, 2, 1, 0, 3, 0, 1, 2, 0, 2, 1, 1, 1, -1, 3, 3, 2, 1, 0, 0, 3, 1, 2, 0, 0, 2, 1, 1, -1, 1, 3, 3, 2, 0, 0, 1, 3, 1, 0, 0, 2, 2, 1, 1, -1, 1, 3, 3, 0, 2, 0, 1, 3, 0, 1, 0, 2, 2, 1, 1, -1, 1, 3, 3, 2, 0, 1, 0, 3, 1, 0, 2, 0, 2, 1, -1, 1, 1, 3, 3, 2, 0, 0, 1, 3, 1, 0, 0, 2, 2, 1, -1, 1, 1, 3, 3, 0, 0, 2, 1, 3, 0, 0, 1, 2, 2, 1, -1, 1, 1, 3, 3, 0, 2, 1, 0, 3, 0, 1, 2, 0, 2, -1, 1, 1, 1, 3, 3, 0, 2, 0, 1, 3, 0, 1, 0, 2, 2, -1, 1, 1, 1, 3, 3, 0, 0, 2, 1, 3, 0, 0, 1, 2, 2, -1, 1, 1, 1];\n }\n noise(x, y, z, w) {\n const {\n _perm,\n _perm4D,\n _lookup,\n _STRETCH_4D,\n _SQUISH_4D,\n _gradients4D,\n _NORM_4D\n } = this;\n const stretchOffset = (x + y + z + w) * _STRETCH_4D,\n xs = x + stretchOffset,\n ys = y + stretchOffset,\n zs = z + stretchOffset,\n ws = w + stretchOffset,\n xsb = Math.floor(xs),\n ysb = Math.floor(ys),\n zsb = Math.floor(zs),\n wsb = Math.floor(ws),\n squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D,\n dx0 = x - (xsb + squishOffset),\n dy0 = y - (ysb + squishOffset),\n dz0 = z - (zsb + squishOffset),\n dw0 = w - (wsb + squishOffset),\n xins = xs - xsb,\n yins = ys - ysb,\n zins = zs - zsb,\n wins = ws - wsb,\n inSum = xins + yins + zins + wins,\n hash = zins - wins + 1 | yins - zins + 1 << 1 | yins - wins + 1 << 2 | xins - yins + 1 << 3 | xins - zins + 1 << 4 | xins - wins + 1 << 5 | inSum << 6 | inSum + wins << 8 | inSum + zins << 11 | inSum + yins << 14 | inSum + xins << 17;\n let value = 0;\n for (let c = _lookup[hash]; c !== undefined; c = c.next) {\n const dx = dx0 + c.dx,\n dy = dy0 + c.dy,\n dz = dz0 + c.dz,\n dw = dw0 + c.dw,\n attn = 2 - dx * dx - dy * dy - dz * dz - dw * dw;\n if (attn > 0) {\n const px = xsb + c.xsb,\n py = ysb + c.ysb,\n pz = zsb + c.zsb,\n pw = wsb + c.wsb,\n indexPartA = _perm[px & 0xff],\n indexPartB = _perm[indexPartA + py & 0xff],\n indexPartC = _perm[indexPartB + pz & 0xff],\n index = _perm4D[indexPartC + pw & 0xff],\n valuePart = _gradients4D[index] * dx + _gradients4D[index + 1] * dy + _gradients4D[index + 2] * dz + _gradients4D[index + 3] * dw;\n value += attn * attn * attn * attn * valuePart;\n }\n }\n return value * _NORM_4D;\n }\n seed(clientSeed) {\n const {\n _p4D,\n _base4D,\n _lookupPairs4D\n } = this;\n const contributions = [];\n for (let i = 0; i < _p4D.length; i += 16) {\n const baseSet = _base4D[_p4D[i]];\n let previous = null,\n current = null;\n for (let k = 0; k < baseSet.length; k += 5) {\n current = this._contribution4D(baseSet[k], baseSet[k + 1], baseSet[k + 2], baseSet[k + 3], baseSet[k + 4]);\n if (previous === null) {\n contributions[i / 16] = current;\n } else {\n previous.next = current;\n }\n previous = current;\n }\n if (current) {\n current.next = this._contribution4D(_p4D[i + 1], _p4D[i + 2], _p4D[i + 3], _p4D[i + 4], _p4D[i + 5]);\n current.next.next = this._contribution4D(_p4D[i + 6], _p4D[i + 7], _p4D[i + 8], _p4D[i + 9], _p4D[i + 10]);\n current.next.next.next = this._contribution4D(_p4D[i + 11], _p4D[i + 12], _p4D[i + 13], _p4D[i + 14], _p4D[i + 15]);\n }\n }\n this._lookup = [];\n for (let i = 0; i < _lookupPairs4D.length; i += 2) {\n this._lookup[_lookupPairs4D[i]] = contributions[_lookupPairs4D[i + 1]];\n }\n this._perm = new Uint8Array(256);\n this._perm4D = new Uint8Array(256);\n const source = new Uint8Array(256);\n for (let i = 0; i < 256; i++) {\n source[i] = i;\n }\n let seed = new Uint32Array(1);\n seed[0] = clientSeed;\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed)));\n for (let i = 255; i >= 0; i--) {\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed);\n const r = new Uint32Array(1);\n r[0] = (seed[0] + 31) % (i + 1);\n if (r[0] < 0) {\n r[0] += i + 1;\n }\n this._perm[i] = source[r[0]];\n this._perm4D[i] = this._perm[i] & 0xfc;\n source[r[0]] = source[i];\n }\n }\n _contribution4D(multiplier, xsb, ysb, zsb, wsb) {\n const {\n _SQUISH_4D\n } = this;\n return {\n dx: -xsb - multiplier * _SQUISH_4D,\n dy: -ysb - multiplier * _SQUISH_4D,\n dz: -zsb - multiplier * _SQUISH_4D,\n dw: -wsb - multiplier * _SQUISH_4D,\n xsb,\n ysb,\n zsb,\n wsb\n };\n }\n}\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/Classes/SimplexNoise4D.js?\n}");
57
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise4D: () => (/* binding */ SimplexNoise4D)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ \"./dist/browser/utils.js\");\n\nclass SimplexNoise4D {\n _NORM_4D;\n _SQUISH_4D;\n _STRETCH_4D;\n _base4D;\n _gradients4D;\n _lookup;\n _lookupPairs4D;\n _p4D;\n _perm;\n _perm4D;\n constructor(){\n this._NORM_4D = 1.0 / 30.0;\n this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * 0.25;\n this._STRETCH_4D = (1 / Math.sqrt(4 + 1) - 1) * 0.25;\n this._lookup = [];\n this._perm = new Uint8Array(0);\n this._perm4D = new Uint8Array(0);\n this._base4D = [\n [\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 1,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 1\n ],\n [\n 3,\n 1,\n 1,\n 1,\n 0,\n 3,\n 1,\n 1,\n 0,\n 1,\n 3,\n 1,\n 0,\n 1,\n 1,\n 3,\n 0,\n 1,\n 1,\n 1,\n 4,\n 1,\n 1,\n 1,\n 1\n ],\n [\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 1,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 1,\n 2,\n 1,\n 1,\n 0,\n 0,\n 2,\n 1,\n 0,\n 1,\n 0,\n 2,\n 1,\n 0,\n 0,\n 1,\n 2,\n 0,\n 1,\n 1,\n 0,\n 2,\n 0,\n 1,\n 0,\n 1,\n 2,\n 0,\n 0,\n 1,\n 1\n ],\n [\n 3,\n 1,\n 1,\n 1,\n 0,\n 3,\n 1,\n 1,\n 0,\n 1,\n 3,\n 1,\n 0,\n 1,\n 1,\n 3,\n 0,\n 1,\n 1,\n 1,\n 2,\n 1,\n 1,\n 0,\n 0,\n 2,\n 1,\n 0,\n 1,\n 0,\n 2,\n 1,\n 0,\n 0,\n 1,\n 2,\n 0,\n 1,\n 1,\n 0,\n 2,\n 0,\n 1,\n 0,\n 1,\n 2,\n 0,\n 0,\n 1,\n 1\n ]\n ];\n this._gradients4D = [\n 3,\n 1,\n 1,\n 1,\n 1,\n 3,\n 1,\n 1,\n 1,\n 1,\n 3,\n 1,\n 1,\n 1,\n 1,\n 3,\n -3,\n 1,\n 1,\n 1,\n -1,\n 3,\n 1,\n 1,\n -1,\n 1,\n 3,\n 1,\n -1,\n 1,\n 1,\n 3,\n 3,\n -1,\n 1,\n 1,\n 1,\n -3,\n 1,\n 1,\n 1,\n -1,\n 3,\n 1,\n 1,\n -1,\n 1,\n 3,\n -3,\n -1,\n 1,\n 1,\n -1,\n -3,\n 1,\n 1,\n -1,\n -1,\n 3,\n 1,\n -1,\n -1,\n 1,\n 3,\n 3,\n 1,\n -1,\n 1,\n 1,\n 3,\n -1,\n 1,\n 1,\n 1,\n -3,\n 1,\n 1,\n 1,\n -1,\n 3,\n -3,\n 1,\n -1,\n 1,\n -1,\n 3,\n -1,\n 1,\n -1,\n 1,\n -3,\n 1,\n -1,\n 1,\n -1,\n 3,\n 3,\n -1,\n -1,\n 1,\n 1,\n -3,\n -1,\n 1,\n 1,\n -1,\n -3,\n 1,\n 1,\n -1,\n -1,\n 3,\n -3,\n -1,\n -1,\n 1,\n -1,\n -3,\n -1,\n 1,\n -1,\n -1,\n -3,\n 1,\n -1,\n -1,\n -1,\n 3,\n 3,\n 1,\n 1,\n -1,\n 1,\n 3,\n 1,\n -1,\n 1,\n 1,\n 3,\n -1,\n 1,\n 1,\n 1,\n -3,\n -3,\n 1,\n 1,\n -1,\n -1,\n 3,\n 1,\n -1,\n -1,\n 1,\n 3,\n -1,\n -1,\n 1,\n 1,\n -3,\n 3,\n -1,\n 1,\n -1,\n 1,\n -3,\n 1,\n -1,\n 1,\n -1,\n 3,\n -1,\n 1,\n -1,\n 1,\n -3,\n -3,\n -1,\n 1,\n -1,\n -1,\n -3,\n 1,\n -1,\n -1,\n -1,\n 3,\n -1,\n -1,\n -1,\n 1,\n -3,\n 3,\n 1,\n -1,\n -1,\n 1,\n 3,\n -1,\n -1,\n 1,\n 1,\n -3,\n -1,\n 1,\n 1,\n -1,\n -3,\n -3,\n 1,\n -1,\n -1,\n -1,\n 3,\n -1,\n -1,\n -1,\n 1,\n -3,\n -1,\n -1,\n 1,\n -1,\n -3,\n 3,\n -1,\n -1,\n -1,\n 1,\n -3,\n -1,\n -1,\n 1,\n -1,\n -3,\n -1,\n 1,\n -1,\n -1,\n -3,\n -3,\n -1,\n -1,\n -1,\n -1,\n -3,\n -1,\n -1,\n -1,\n -1,\n -3,\n -1,\n -1,\n -1,\n -1,\n -3\n ];\n this._lookupPairs4D = [\n 0,\n 3,\n 1,\n 2,\n 2,\n 3,\n 5,\n 2,\n 6,\n 1,\n 7,\n 1,\n 8,\n 3,\n 9,\n 2,\n 10,\n 3,\n 13,\n 2,\n 16,\n 3,\n 18,\n 3,\n 22,\n 1,\n 23,\n 1,\n 24,\n 3,\n 26,\n 3,\n 33,\n 2,\n 37,\n 2,\n 38,\n 1,\n 39,\n 1,\n 41,\n 2,\n 45,\n 2,\n 54,\n 1,\n 55,\n 1,\n 56,\n 0,\n 57,\n 0,\n 58,\n 0,\n 59,\n 0,\n 60,\n 0,\n 61,\n 0,\n 62,\n 0,\n 63,\n 0,\n 256,\n 3,\n 258,\n 3,\n 264,\n 3,\n 266,\n 3,\n 272,\n 3,\n 274,\n 3,\n 280,\n 3,\n 282,\n 3,\n 2049,\n 2,\n 2053,\n 2,\n 2057,\n 2,\n 2061,\n 2,\n 2081,\n 2,\n 2085,\n 2,\n 2089,\n 2,\n 2093,\n 2,\n 2304,\n 9,\n 2305,\n 9,\n 2312,\n 9,\n 2313,\n 9,\n 16390,\n 1,\n 16391,\n 1,\n 16406,\n 1,\n 16407,\n 1,\n 16422,\n 1,\n 16423,\n 1,\n 16438,\n 1,\n 16439,\n 1,\n 16642,\n 8,\n 16646,\n 8,\n 16658,\n 8,\n 16662,\n 8,\n 18437,\n 6,\n 18439,\n 6,\n 18469,\n 6,\n 18471,\n 6,\n 18688,\n 9,\n 18689,\n 9,\n 18690,\n 8,\n 18693,\n 6,\n 18694,\n 8,\n 18695,\n 6,\n 18696,\n 9,\n 18697,\n 9,\n 18706,\n 8,\n 18710,\n 8,\n 18725,\n 6,\n 18727,\n 6,\n 131128,\n 0,\n 131129,\n 0,\n 131130,\n 0,\n 131131,\n 0,\n 131132,\n 0,\n 131133,\n 0,\n 131134,\n 0,\n 131135,\n 0,\n 131352,\n 7,\n 131354,\n 7,\n 131384,\n 7,\n 131386,\n 7,\n 133161,\n 5,\n 133165,\n 5,\n 133177,\n 5,\n 133181,\n 5,\n 133376,\n 9,\n 133377,\n 9,\n 133384,\n 9,\n 133385,\n 9,\n 133400,\n 7,\n 133402,\n 7,\n 133417,\n 5,\n 133421,\n 5,\n 133432,\n 7,\n 133433,\n 5,\n 133434,\n 7,\n 133437,\n 5,\n 147510,\n 4,\n 147511,\n 4,\n 147518,\n 4,\n 147519,\n 4,\n 147714,\n 8,\n 147718,\n 8,\n 147730,\n 8,\n 147734,\n 8,\n 147736,\n 7,\n 147738,\n 7,\n 147766,\n 4,\n 147767,\n 4,\n 147768,\n 7,\n 147770,\n 7,\n 147774,\n 4,\n 147775,\n 4,\n 149509,\n 6,\n 149511,\n 6,\n 149541,\n 6,\n 149543,\n 6,\n 149545,\n 5,\n 149549,\n 5,\n 149558,\n 4,\n 149559,\n 4,\n 149561,\n 5,\n 149565,\n 5,\n 149566,\n 4,\n 149567,\n 4,\n 149760,\n 9,\n 149761,\n 9,\n 149762,\n 8,\n 149765,\n 6,\n 149766,\n 8,\n 149767,\n 6,\n 149768,\n 9,\n 149769,\n 9,\n 149778,\n 8,\n 149782,\n 8,\n 149784,\n 7,\n 149786,\n 7,\n 149797,\n 6,\n 149799,\n 6,\n 149801,\n 5,\n 149805,\n 5,\n 149814,\n 4,\n 149815,\n 4,\n 149816,\n 7,\n 149817,\n 5,\n 149818,\n 7,\n 149821,\n 5,\n 149822,\n 4,\n 149823,\n 4,\n 149824,\n 37,\n 149825,\n 37,\n 149826,\n 36,\n 149829,\n 34,\n 149830,\n 36,\n 149831,\n 34,\n 149832,\n 37,\n 149833,\n 37,\n 149842,\n 36,\n 149846,\n 36,\n 149848,\n 35,\n 149850,\n 35,\n 149861,\n 34,\n 149863,\n 34,\n 149865,\n 33,\n 149869,\n 33,\n 149878,\n 32,\n 149879,\n 32,\n 149880,\n 35,\n 149881,\n 33,\n 149882,\n 35,\n 149885,\n 33,\n 149886,\n 32,\n 149887,\n 32,\n 150080,\n 49,\n 150082,\n 48,\n 150088,\n 49,\n 150098,\n 48,\n 150104,\n 47,\n 150106,\n 47,\n 151873,\n 46,\n 151877,\n 45,\n 151881,\n 46,\n 151909,\n 45,\n 151913,\n 44,\n 151917,\n 44,\n 152128,\n 49,\n 152129,\n 46,\n 152136,\n 49,\n 152137,\n 46,\n 166214,\n 43,\n 166215,\n 42,\n 166230,\n 43,\n 166247,\n 42,\n 166262,\n 41,\n 166263,\n 41,\n 166466,\n 48,\n 166470,\n 43,\n 166482,\n 48,\n 166486,\n 43,\n 168261,\n 45,\n 168263,\n 42,\n 168293,\n 45,\n 168295,\n 42,\n 168512,\n 31,\n 168513,\n 28,\n 168514,\n 31,\n 168517,\n 28,\n 168518,\n 25,\n 168519,\n 25,\n 280952,\n 40,\n 280953,\n 39,\n 280954,\n 40,\n 280957,\n 39,\n 280958,\n 38,\n 280959,\n 38,\n 281176,\n 47,\n 281178,\n 47,\n 281208,\n 40,\n 281210,\n 40,\n 282985,\n 44,\n 282989,\n 44,\n 283001,\n 39,\n 283005,\n 39,\n 283208,\n 30,\n 283209,\n 27,\n 283224,\n 30,\n 283241,\n 27,\n 283256,\n 22,\n 283257,\n 22,\n 297334,\n 41,\n 297335,\n 41,\n 297342,\n 38,\n 297343,\n 38,\n 297554,\n 29,\n 297558,\n 24,\n 297562,\n 29,\n 297590,\n 24,\n 297594,\n 21,\n 297598,\n 21,\n 299365,\n 26,\n 299367,\n 23,\n 299373,\n 26,\n 299383,\n 23,\n 299389,\n 20,\n 299391,\n 20,\n 299584,\n 31,\n 299585,\n 28,\n 299586,\n 31,\n 299589,\n 28,\n 299590,\n 25,\n 299591,\n 25,\n 299592,\n 30,\n 299593,\n 27,\n 299602,\n 29,\n 299606,\n 24,\n 299608,\n 30,\n 299610,\n 29,\n 299621,\n 26,\n 299623,\n 23,\n 299625,\n 27,\n 299629,\n 26,\n 299638,\n 24,\n 299639,\n 23,\n 299640,\n 22,\n 299641,\n 22,\n 299642,\n 21,\n 299645,\n 20,\n 299646,\n 21,\n 299647,\n 20,\n 299648,\n 61,\n 299649,\n 60,\n 299650,\n 61,\n 299653,\n 60,\n 299654,\n 59,\n 299655,\n 59,\n 299656,\n 58,\n 299657,\n 57,\n 299666,\n 55,\n 299670,\n 54,\n 299672,\n 58,\n 299674,\n 55,\n 299685,\n 52,\n 299687,\n 51,\n 299689,\n 57,\n 299693,\n 52,\n 299702,\n 54,\n 299703,\n 51,\n 299704,\n 56,\n 299705,\n 56,\n 299706,\n 53,\n 299709,\n 50,\n 299710,\n 53,\n 299711,\n 50,\n 299904,\n 61,\n 299906,\n 61,\n 299912,\n 58,\n 299922,\n 55,\n 299928,\n 58,\n 299930,\n 55,\n 301697,\n 60,\n 301701,\n 60,\n 301705,\n 57,\n 301733,\n 52,\n 301737,\n 57,\n 301741,\n 52,\n 301952,\n 79,\n 301953,\n 79,\n 301960,\n 76,\n 301961,\n 76,\n 316038,\n 59,\n 316039,\n 59,\n 316054,\n 54,\n 316071,\n 51,\n 316086,\n 54,\n 316087,\n 51,\n 316290,\n 78,\n 316294,\n 78,\n 316306,\n 73,\n 316310,\n 73,\n 318085,\n 77,\n 318087,\n 77,\n 318117,\n 70,\n 318119,\n 70,\n 318336,\n 79,\n 318337,\n 79,\n 318338,\n 78,\n 318341,\n 77,\n 318342,\n 78,\n 318343,\n 77,\n 430776,\n 56,\n 430777,\n 56,\n 430778,\n 53,\n 430781,\n 50,\n 430782,\n 53,\n 430783,\n 50,\n 431000,\n 75,\n 431002,\n 72,\n 431032,\n 75,\n 431034,\n 72,\n 432809,\n 74,\n 432813,\n 69,\n 432825,\n 74,\n 432829,\n 69,\n 433032,\n 76,\n 433033,\n 76,\n 433048,\n 75,\n 433065,\n 74,\n 433080,\n 75,\n 433081,\n 74,\n 447158,\n 71,\n 447159,\n 68,\n 447166,\n 71,\n 447167,\n 68,\n 447378,\n 73,\n 447382,\n 73,\n 447386,\n 72,\n 447414,\n 71,\n 447418,\n 72,\n 447422,\n 71,\n 449189,\n 70,\n 449191,\n 70,\n 449197,\n 69,\n 449207,\n 68,\n 449213,\n 69,\n 449215,\n 68,\n 449408,\n 67,\n 449409,\n 67,\n 449410,\n 66,\n 449413,\n 64,\n 449414,\n 66,\n 449415,\n 64,\n 449416,\n 67,\n 449417,\n 67,\n 449426,\n 66,\n 449430,\n 66,\n 449432,\n 65,\n 449434,\n 65,\n 449445,\n 64,\n 449447,\n 64,\n 449449,\n 63,\n 449453,\n 63,\n 449462,\n 62,\n 449463,\n 62,\n 449464,\n 65,\n 449465,\n 63,\n 449466,\n 65,\n 449469,\n 63,\n 449470,\n 62,\n 449471,\n 62,\n 449472,\n 19,\n 449473,\n 19,\n 449474,\n 18,\n 449477,\n 16,\n 449478,\n 18,\n 449479,\n 16,\n 449480,\n 19,\n 449481,\n 19,\n 449490,\n 18,\n 449494,\n 18,\n 449496,\n 17,\n 449498,\n 17,\n 449509,\n 16,\n 449511,\n 16,\n 449513,\n 15,\n 449517,\n 15,\n 449526,\n 14,\n 449527,\n 14,\n 449528,\n 17,\n 449529,\n 15,\n 449530,\n 17,\n 449533,\n 15,\n 449534,\n 14,\n 449535,\n 14,\n 449728,\n 19,\n 449729,\n 19,\n 449730,\n 18,\n 449734,\n 18,\n 449736,\n 19,\n 449737,\n 19,\n 449746,\n 18,\n 449750,\n 18,\n 449752,\n 17,\n 449754,\n 17,\n 449784,\n 17,\n 449786,\n 17,\n 451520,\n 19,\n 451521,\n 19,\n 451525,\n 16,\n 451527,\n 16,\n 451528,\n 19,\n 451529,\n 19,\n 451557,\n 16,\n 451559,\n 16,\n 451561,\n 15,\n 451565,\n 15,\n 451577,\n 15,\n 451581,\n 15,\n 451776,\n 19,\n 451777,\n 19,\n 451784,\n 19,\n 451785,\n 19,\n 465858,\n 18,\n 465861,\n 16,\n 465862,\n 18,\n 465863,\n 16,\n 465874,\n 18,\n 465878,\n 18,\n 465893,\n 16,\n 465895,\n 16,\n 465910,\n 14,\n 465911,\n 14,\n 465918,\n 14,\n 465919,\n 14,\n 466114,\n 18,\n 466118,\n 18,\n 466130,\n 18,\n 466134,\n 18,\n 467909,\n 16,\n 467911,\n 16,\n 467941,\n 16,\n 467943,\n 16,\n 468160,\n 13,\n 468161,\n 13,\n 468162,\n 13,\n 468163,\n 13,\n 468164,\n 13,\n 468165,\n 13,\n 468166,\n 13,\n 468167,\n 13,\n 580568,\n 17,\n 580570,\n 17,\n 580585,\n 15,\n 580589,\n 15,\n 580598,\n 14,\n 580599,\n 14,\n 580600,\n 17,\n 580601,\n 15,\n 580602,\n 17,\n 580605,\n 15,\n 580606,\n 14,\n 580607,\n 14,\n 580824,\n 17,\n 580826,\n 17,\n 580856,\n 17,\n 580858,\n 17,\n 582633,\n 15,\n 582637,\n 15,\n 582649,\n 15,\n 582653,\n 15,\n 582856,\n 12,\n 582857,\n 12,\n 582872,\n 12,\n 582873,\n 12,\n 582888,\n 12,\n 582889,\n 12,\n 582904,\n 12,\n 582905,\n 12,\n 596982,\n 14,\n 596983,\n 14,\n 596990,\n 14,\n 596991,\n 14,\n 597202,\n 11,\n 597206,\n 11,\n 597210,\n 11,\n 597214,\n 11,\n 597234,\n 11,\n 597238,\n 11,\n 597242,\n 11,\n 597246,\n 11,\n 599013,\n 10,\n 599015,\n 10,\n 599021,\n 10,\n 599023,\n 10,\n 599029,\n 10,\n 599031,\n 10,\n 599037,\n 10,\n 599039,\n 10,\n 599232,\n 13,\n 599233,\n 13,\n 599234,\n 13,\n 599235,\n 13,\n 599236,\n 13,\n 599237,\n 13,\n 599238,\n 13,\n 599239,\n 13,\n 599240,\n 12,\n 599241,\n 12,\n 599250,\n 11,\n 599254,\n 11,\n 599256,\n 12,\n 599257,\n 12,\n 599258,\n 11,\n 599262,\n 11,\n 599269,\n 10,\n 599271,\n 10,\n 599272,\n 12,\n 599273,\n 12,\n 599277,\n 10,\n 599279,\n 10,\n 599282,\n 11,\n 599285,\n 10,\n 599286,\n 11,\n 599287,\n 10,\n 599288,\n 12,\n 599289,\n 12,\n 599290,\n 11,\n 599293,\n 10,\n 599294,\n 11,\n 599295,\n 10\n ];\n this._p4D = [\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n 0,\n 1,\n 0,\n -1,\n 0,\n 0,\n 1,\n 0,\n 0,\n -1,\n 0,\n 0,\n -1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n 0,\n 1,\n 0,\n -1,\n 0,\n 0,\n -1,\n 0,\n 1,\n 0,\n 0,\n 0,\n -1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n -1,\n 0,\n 0,\n 1,\n 0,\n 0,\n -1,\n 0,\n 1,\n 0,\n 0,\n 0,\n -1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 0,\n 2,\n 1,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 0,\n 2,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 0,\n 2,\n 1,\n 0,\n 0,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 0,\n 2,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 1,\n 0,\n 2,\n 0,\n 0,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 1,\n 1,\n 4,\n 2,\n 1,\n 1,\n 0,\n 4,\n 1,\n 2,\n 1,\n 0,\n 4,\n 1,\n 1,\n 2,\n 0,\n 1,\n 4,\n 2,\n 1,\n 0,\n 1,\n 4,\n 1,\n 2,\n 0,\n 1,\n 4,\n 1,\n 1,\n 0,\n 2,\n 1,\n 4,\n 2,\n 0,\n 1,\n 1,\n 4,\n 1,\n 0,\n 2,\n 1,\n 4,\n 1,\n 0,\n 1,\n 2,\n 1,\n 4,\n 0,\n 2,\n 1,\n 1,\n 4,\n 0,\n 1,\n 2,\n 1,\n 4,\n 0,\n 1,\n 1,\n 2,\n 1,\n 2,\n 1,\n 1,\n 0,\n 0,\n 3,\n 2,\n 1,\n 0,\n 0,\n 3,\n 1,\n 2,\n 0,\n 0,\n 1,\n 2,\n 1,\n 0,\n 1,\n 0,\n 3,\n 2,\n 0,\n 1,\n 0,\n 3,\n 1,\n 0,\n 2,\n 0,\n 1,\n 2,\n 0,\n 1,\n 1,\n 0,\n 3,\n 0,\n 2,\n 1,\n 0,\n 3,\n 0,\n 1,\n 2,\n 0,\n 1,\n 2,\n 1,\n 0,\n 0,\n 1,\n 3,\n 2,\n 0,\n 0,\n 1,\n 3,\n 1,\n 0,\n 0,\n 2,\n 1,\n 2,\n 0,\n 1,\n 0,\n 1,\n 3,\n 0,\n 2,\n 0,\n 1,\n 3,\n 0,\n 1,\n 0,\n 2,\n 1,\n 2,\n 0,\n 0,\n 1,\n 1,\n 3,\n 0,\n 0,\n 2,\n 1,\n 3,\n 0,\n 0,\n 1,\n 2,\n 2,\n 3,\n 1,\n 1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 0,\n 1,\n 2,\n 1,\n 1,\n -1,\n 1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 3,\n 1,\n 0,\n 1,\n 1,\n 2,\n 1,\n -1,\n 1,\n 1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 0,\n 1,\n 2,\n 1,\n 1,\n -1,\n 1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 3,\n 0,\n 1,\n 1,\n 1,\n 2,\n -1,\n 1,\n 1,\n 1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 3,\n 1,\n 0,\n 1,\n 1,\n 2,\n 1,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 3,\n 0,\n 1,\n 1,\n 1,\n 2,\n -1,\n 1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 3,\n 1,\n 1,\n 0,\n 1,\n 2,\n 1,\n 1,\n -1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 3,\n 1,\n 0,\n 1,\n 1,\n 2,\n 1,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 3,\n 0,\n 1,\n 1,\n 1,\n 2,\n -1,\n 1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 0,\n 0,\n 0,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 1,\n 0,\n 1,\n 0,\n 0,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 1,\n 0,\n 0,\n 1,\n 0,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 1,\n 1,\n 0,\n 0,\n 0,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 1,\n 0,\n 1,\n 0,\n 0,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 1,\n 0,\n 0,\n 0,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 1,\n 1,\n 0,\n 0,\n 0,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 1,\n 0,\n 0,\n 1,\n 0,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 1,\n 0,\n 0,\n 0,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 1,\n 0,\n 1,\n 0,\n 0,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n -1,\n 1,\n 1,\n 1,\n 3,\n 1,\n 0,\n 0,\n 1,\n 0,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n -1,\n 1,\n 1,\n 1,\n 3,\n 1,\n 0,\n 0,\n 0,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n -1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 2,\n 1,\n 0,\n 0,\n 3,\n 1,\n 2,\n 0,\n 0,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 2,\n 0,\n 1,\n 0,\n 3,\n 1,\n 0,\n 2,\n 0,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 2,\n 1,\n 0,\n 3,\n 0,\n 1,\n 2,\n 0,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 2,\n 0,\n 0,\n 1,\n 3,\n 1,\n 0,\n 0,\n 2,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 2,\n 0,\n 1,\n 3,\n 0,\n 1,\n 0,\n 2,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 0,\n 2,\n 1,\n 3,\n 0,\n 0,\n 1,\n 2,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 2,\n 1,\n 0,\n 0,\n 3,\n 1,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 3,\n 2,\n 0,\n 1,\n 0,\n 3,\n 1,\n 0,\n 2,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 3,\n 0,\n 2,\n 1,\n 0,\n 3,\n 0,\n 1,\n 2,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 3,\n 2,\n 1,\n 0,\n 0,\n 3,\n 1,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 3,\n 2,\n 0,\n 0,\n 1,\n 3,\n 1,\n 0,\n 0,\n 2,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 3,\n 0,\n 2,\n 0,\n 1,\n 3,\n 0,\n 1,\n 0,\n 2,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 3,\n 2,\n 0,\n 1,\n 0,\n 3,\n 1,\n 0,\n 2,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 3,\n 2,\n 0,\n 0,\n 1,\n 3,\n 1,\n 0,\n 0,\n 2,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 0,\n 2,\n 1,\n 3,\n 0,\n 0,\n 1,\n 2,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 2,\n 1,\n 0,\n 3,\n 0,\n 1,\n 2,\n 0,\n 2,\n -1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 2,\n 0,\n 1,\n 3,\n 0,\n 1,\n 0,\n 2,\n 2,\n -1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 0,\n 2,\n 1,\n 3,\n 0,\n 0,\n 1,\n 2,\n 2,\n -1,\n 1,\n 1,\n 1\n ];\n }\n noise(x, y, z, w) {\n const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this, stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = zins - wins + 1 | yins - zins + 1 << 1 | yins - wins + 1 << 2 | xins - yins + 1 << 3 | xins - zins + 1 << 4 | xins - wins + 1 << 5 | inSum << 6 | inSum + wins << 8 | inSum + zins << 11 | inSum + yins << 14 | inSum + xins << 17;\n let value = 0;\n for(let c = _lookup[hash]; c !== undefined; c = c.next){\n const dx = dx0 + c.dx, dy = dy0 + c.dy, dz = dz0 + c.dz, dw = dw0 + c.dw, attn = 2 - dx * dx - dy * dy - dz * dz - dw * dw;\n if (attn > 0) {\n const px = xsb + c.xsb, py = ysb + c.ysb, pz = zsb + c.zsb, pw = wsb + c.wsb, indexPartA = _perm[px & 0xff], indexPartB = _perm[indexPartA + py & 0xff], indexPartC = _perm[indexPartB + pz & 0xff], index = _perm4D[indexPartC + pw & 0xff], valuePart = _gradients4D[index] * dx + _gradients4D[index + 1] * dy + _gradients4D[index + 2] * dz + _gradients4D[index + 3] * dw;\n value += attn * attn * attn * attn * valuePart;\n }\n }\n return value * _NORM_4D;\n }\n seed(clientSeed) {\n const { _p4D, _base4D, _lookupPairs4D } = this, contributions = [];\n for(let i = 0; i < _p4D.length; i += 16){\n const baseSet = _base4D[_p4D[i]];\n let previous = null, current = null;\n for(let k = 0; k < baseSet.length; k += 5){\n current = this._contribution4D(baseSet[k], baseSet[k + 1], baseSet[k + 2], baseSet[k + 3], baseSet[k + 4]);\n if (previous === null) {\n contributions[i / 16] = current;\n } else {\n previous.next = current;\n }\n previous = current;\n }\n if (current) {\n current.next = this._contribution4D(_p4D[i + 1], _p4D[i + 2], _p4D[i + 3], _p4D[i + 4], _p4D[i + 5]);\n current.next.next = this._contribution4D(_p4D[i + 6], _p4D[i + 7], _p4D[i + 8], _p4D[i + 9], _p4D[i + 10]);\n current.next.next.next = this._contribution4D(_p4D[i + 11], _p4D[i + 12], _p4D[i + 13], _p4D[i + 14], _p4D[i + 15]);\n }\n }\n this._lookup = [];\n for(let i = 0; i < _lookupPairs4D.length; i += 2){\n this._lookup[_lookupPairs4D[i]] = contributions[_lookupPairs4D[i + 1]];\n }\n this._perm = new Uint8Array(256);\n this._perm4D = new Uint8Array(256);\n const source = new Uint8Array(256);\n for(let i = 0; i < 256; i++){\n source[i] = i;\n }\n let seed = new Uint32Array(1);\n seed[0] = clientSeed;\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed)));\n for(let i = 255; i >= 0; i--){\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed);\n const r = new Uint32Array(1);\n r[0] = (seed[0] + 31) % (i + 1);\n if (r[0] < 0) {\n r[0] += i + 1;\n }\n this._perm[i] = source[r[0]];\n this._perm4D[i] = this._perm[i] & 0xfc;\n source[r[0]] = source[i];\n }\n }\n _contribution4D(multiplier, xsb, ysb, zsb, wsb) {\n const { _SQUISH_4D } = this;\n return {\n dx: -xsb - multiplier * _SQUISH_4D,\n dy: -ysb - multiplier * _SQUISH_4D,\n dz: -zsb - multiplier * _SQUISH_4D,\n dw: -wsb - multiplier * _SQUISH_4D,\n xsb,\n ysb,\n zsb,\n wsb\n };\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/Classes/SimplexNoise4D.js?\n}");
58
58
 
59
59
  /***/ },
60
60
 
@@ -64,7 +64,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
64
64
  \**************************************/
65
65
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
66
66
 
67
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise: () => (/* binding */ SimplexNoise)\n/* harmony export */ });\n/* harmony import */ var _Classes_SimplexNoise2D_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Classes/SimplexNoise2D.js */ \"./dist/browser/Classes/SimplexNoise2D.js\");\n/* harmony import */ var _Classes_SimplexNoise3D_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Classes/SimplexNoise3D.js */ \"./dist/browser/Classes/SimplexNoise3D.js\");\n/* harmony import */ var _Classes_SimplexNoise4D_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Classes/SimplexNoise4D.js */ \"./dist/browser/Classes/SimplexNoise4D.js\");\n\n\n\nclass SimplexNoise {\n constructor() {\n this.noise2d = new _Classes_SimplexNoise2D_js__WEBPACK_IMPORTED_MODULE_0__.SimplexNoise2D();\n this.noise3d = new _Classes_SimplexNoise3D_js__WEBPACK_IMPORTED_MODULE_1__.SimplexNoise3D();\n this.noise4d = new _Classes_SimplexNoise4D_js__WEBPACK_IMPORTED_MODULE_2__.SimplexNoise4D();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/SimplexNoise.js?\n}");
67
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise: () => (/* binding */ SimplexNoise)\n/* harmony export */ });\n/* harmony import */ var _Classes_SimplexNoise2D_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Classes/SimplexNoise2D.js */ \"./dist/browser/Classes/SimplexNoise2D.js\");\n/* harmony import */ var _Classes_SimplexNoise3D_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Classes/SimplexNoise3D.js */ \"./dist/browser/Classes/SimplexNoise3D.js\");\n/* harmony import */ var _Classes_SimplexNoise4D_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Classes/SimplexNoise4D.js */ \"./dist/browser/Classes/SimplexNoise4D.js\");\n\n\n\nclass SimplexNoise {\n noise2d;\n noise3d;\n noise4d;\n constructor(){\n this.noise2d = new _Classes_SimplexNoise2D_js__WEBPACK_IMPORTED_MODULE_0__.SimplexNoise2D();\n this.noise3d = new _Classes_SimplexNoise3D_js__WEBPACK_IMPORTED_MODULE_1__.SimplexNoise3D();\n this.noise4d = new _Classes_SimplexNoise4D_js__WEBPACK_IMPORTED_MODULE_2__.SimplexNoise4D();\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/SimplexNoise.js?\n}");
68
68
 
69
69
  /***/ },
70
70
 
@@ -74,7 +74,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
74
74
  \*******************************/
75
75
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
76
76
 
77
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise: () => (/* reexport safe */ _SimplexNoise_js__WEBPACK_IMPORTED_MODULE_0__.SimplexNoise)\n/* harmony export */ });\n/* harmony import */ var _SimplexNoise_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SimplexNoise.js */ \"./dist/browser/SimplexNoise.js\");\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/index.js?\n}");
77
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise: () => (/* reexport safe */ _SimplexNoise_js__WEBPACK_IMPORTED_MODULE_0__.SimplexNoise)\n/* harmony export */ });\n/* harmony import */ var _SimplexNoise_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SimplexNoise.js */ \"./dist/browser/SimplexNoise.js\");\n\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/index.js?\n}");
78
78
 
79
79
  /***/ },
80
80
 
@@ -84,7 +84,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
84
84
  \*******************************/
85
85
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
86
86
 
87
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ shuffleSeed: () => (/* binding */ shuffleSeed)\n/* harmony export */ });\nfunction shuffleSeed(seed) {\n const newSeed = new Uint32Array(1);\n newSeed[0] = seed[0] * 1664525 + 1013904223;\n return newSeed;\n}\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/utils.js?\n}");
87
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ shuffleSeed: () => (/* binding */ shuffleSeed)\n/* harmony export */ });\nfunction shuffleSeed(seed) {\n const newSeed = new Uint32Array(1);\n newSeed[0] = seed[0] * 1664525 + 1013904223;\n return newSeed;\n}\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/utils.js?\n}");
88
88
 
89
89
  /***/ }
90
90
 
@@ -1,2 +1 @@
1
- /*! For license information please see tsparticles.simplex.noise.min.js.LICENSE.txt */
2
- !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)("object"==typeof exports?exports:t)[n]=r[n]}}(this,(()=>(()=>{var t={d:(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};function r(t){const e=new Uint32Array(1);return e[0]=1664525*t[0]+1013904223,e}t.r(e),t.d(e,{SimplexNoise:()=>i});class n{constructor(){this._NORM_2D=1/47,this._SQUISH_2D=(Math.sqrt(3)-1)/2,this._STRETCH_2D=(1/Math.sqrt(3)-1)/2,this._base2D=[[1,1,0,1,0,1,0,0,0],[1,1,0,1,0,1,2,1,1]],this._gradients2D=[5,2,2,5,-5,2,-2,5,5,-2,2,-5,-5,-2,-2,-5],this._lookup=[],this._lookupPairs2D=[0,1,1,0,4,1,17,0,20,2,21,2,22,5,23,5,26,4,39,3,42,4,43,3],this._p2D=[0,0,1,-1,0,0,-1,1,0,2,1,1,1,2,2,0,1,2,0,2,1,0,0,0],this._perm=new Uint8Array(256),this._perm2D=new Uint8Array(256)}noise(t,e){const{_gradients2D:r,_NORM_2D:n,_SQUISH_2D:o,_STRETCH_2D:s,_lookup:i,_perm:_,_perm2D:l}=this,h=(t+e)*s,a=t+h,D=e+h,p=Math.floor(a),u=Math.floor(D),c=(p+u)*o,f=t-(p+c),d=e-(u+c),b=a-p,y=D-u,m=b+y;let x=0;for(let t=i[b-y+1|m<<1|m+y<<2|m+b<<4];void 0!==t;t=t.next){const e=f+t.dx,n=d+t.dy,o=2-e*e-n*n;if(o>0){const s=p+t.xsb,i=u+t.ysb,h=l[_[255&s]+i&255];x+=o*o*o*o*(r[h]*e+r[h+1]*n)}}return x*n}seed(t){const{_p2D:e,_base2D:n,_lookupPairs2D:o}=this,s=[];for(let t=0;t<e.length;t+=4){const r=n[e[t]];let o=null,i=null;for(let e=0;e<r.length;e+=3)i=this._contribution2D(r[e],r[e+1],r[e+2]),null===o?s[t/4]=i:o.next=i,o=i;i&&(i.next=this._contribution2D(e[t+1],e[t+2],e[t+3]))}this._lookup=[];for(let t=0;t<o.length;t+=2)this._lookup[o[t]]=s[o[t+1]];this._perm=new Uint8Array(256),this._perm2D=new Uint8Array(256);const i=new Uint8Array(256);for(let t=0;t<256;t++)i[t]=t;let _=new Uint32Array(1);_[0]=t,_=r(r(r(_)));for(let t=255;t>=0;t--){_=r(_);const e=new Uint32Array(1);e[0]=(_[0]+31)%(t+1),e[0]<0&&(e[0]+=t+1),this._perm[t]=i[e[0]],this._perm2D[t]=14&this._perm[t],i[e[0]]=i[t]}}_contribution2D(t,e,r){const{_SQUISH_2D:n}=this;return{dx:-e-t*n,dy:-r-t*n,xsb:e,ysb:r}}}class o{constructor(){this._NORM_3D=1/103,this._SQUISH_3D=(Math.sqrt(4)-1)/3,this._STRETCH_3D=(1/Math.sqrt(4)-1)/3,this._base3D=[[0,0,0,0,1,1,0,0,1,0,1,0,1,0,0,1],[2,1,1,0,2,1,0,1,2,0,1,1,3,1,1,1],[1,1,0,0,1,0,1,0,1,0,0,1,2,1,1,0,2,1,0,1,2,0,1,1]],this._gradients3D=[-11,4,4,-4,11,4,-4,4,11,11,4,4,4,11,4,4,4,11,-11,-4,4,-4,-11,4,-4,-4,11,11,-4,4,4,-11,4,4,-4,11,-11,4,-4,-4,11,-4,-4,4,-11,11,4,-4,4,11,-4,4,4,-11,-11,-4,-4,-4,-11,-4,-4,-4,-11,11,-4,-4,4,-11,-4,4,-4,-11],this._lookup=[],this._lookupPairs3D=[0,2,1,1,2,2,5,1,6,0,7,0,32,2,34,2,129,1,133,1,160,5,161,5,518,0,519,0,546,4,550,4,645,3,647,3,672,5,673,5,674,4,677,3,678,4,679,3,680,13,681,13,682,12,685,14,686,12,687,14,712,20,714,18,809,21,813,23,840,20,841,21,1198,19,1199,22,1226,18,1230,19,1325,23,1327,22,1352,15,1353,17,1354,15,1357,17,1358,16,1359,16,1360,11,1361,10,1362,11,1365,10,1366,9,1367,9,1392,11,1394,11,1489,10,1493,10,1520,8,1521,8,1878,9,1879,9,1906,7,1910,7,2005,6,2007,6,2032,8,2033,8,2034,7,2037,6,2038,7,2039,6],this._p3D=[0,0,1,-1,0,0,1,0,-1,0,0,-1,1,0,0,0,1,-1,0,0,-1,0,1,0,0,-1,1,0,2,1,1,0,1,1,1,-1,0,2,1,0,1,1,1,-1,1,0,2,0,1,1,1,-1,1,1,1,3,2,1,0,3,1,2,0,1,3,2,0,1,3,1,0,2,1,3,0,2,1,3,0,1,2,1,1,1,0,0,2,2,0,0,1,1,0,1,0,2,0,2,0,1,1,0,0,1,2,0,0,2,2,0,0,0,0,1,1,-1,1,2,0,0,0,0,1,-1,1,1,2,0,0,0,0,1,1,1,-1,2,3,1,1,1,2,0,0,2,2,3,1,1,1,2,2,0,0,2,3,1,1,1,2,0,2,0,2,1,1,-1,1,2,0,0,2,2,1,1,-1,1,2,2,0,0,2,1,-1,1,1,2,0,0,2,2,1,-1,1,1,2,0,2,0,2,1,1,1,-1,2,2,0,0,2,1,1,1,-1,2,0,2,0],this._perm=new Uint8Array(256),this._perm3D=new Uint8Array(256)}noise(t,e,r){const{_STRETCH_3D:n,_NORM_3D:o,_SQUISH_3D:s,_lookup:i,_perm:_,_perm3D:l,_gradients3D:h}=this,a=(t+e+r)*n,D=t+a,p=e+a,u=r+a,c=Math.floor(D),f=Math.floor(p),d=Math.floor(u),b=(c+f+d)*s,y=t-(c+b),m=e-(f+b),x=r-(d+b),U=D-c,w=p-f,S=u-d,M=U+w+S;let A=0;for(let t=i[w-S+1|U-w+1<<1|U-S+1<<2|M<<3|M+S<<5|M+w<<7|M+U<<9];void 0!==t;t=t.next){const e=y+t.dx,r=m+t.dy,n=x+t.dz,o=2-e*e-r*r-n*n;if(o>0){const s=c+t.xsb,i=f+t.ysb,a=d+t.zsb,D=l[_[_[255&s]+i&255]+a&255];A+=o*o*o*o*(h[D]*e+h[D+1]*r+h[D+2]*n)}}return A*o}seed(t){const{_base3D:e,_lookupPairs3D:n,_p3D:o}=this,s=[];for(let t=0;t<o.length;t+=9){const r=e[o[t]];let n=null,i=null;for(let e=0;e<r.length;e+=4)i=this._contribution3D(r[e],r[e+1],r[e+2],r[e+3]),null===n?s[t/9]=i:n.next=i,n=i;i&&(i.next=this._contribution3D(o[t+1],o[t+2],o[t+3],o[t+4]),i.next.next=this._contribution3D(o[t+5],o[t+6],o[t+7],o[t+8]))}this._lookup=[];for(let t=0;t<n.length;t+=2)this._lookup[n[t]]=s[n[t+1]];this._perm=new Uint8Array(256),this._perm3D=new Uint8Array(256);const i=new Uint8Array(256);for(let t=0;t<256;t++)i[t]=t;let _=new Uint32Array(1);_[0]=t,_=r(r(r(_)));for(let t=255;t>=0;t--){_=r(_);const e=new Uint32Array(1);e[0]=(_[0]+31)%(t+1),e[0]<0&&(e[0]+=t+1),this._perm[t]=i[e[0]],this._perm3D[t]=this._perm[t]%24*3,i[e[0]]=i[t]}}_contribution3D(t,e,r,n){const{_SQUISH_3D:o}=this;return{dx:-e-t*o,dy:-r-t*o,dz:-n-t*o,xsb:e,ysb:r,zsb:n}}}class s{constructor(){this._NORM_4D=1/30,this._SQUISH_4D=.25*(Math.sqrt(5)-1),this._STRETCH_4D=.25*(1/Math.sqrt(5)-1),this._lookup=[],this._perm=new Uint8Array(0),this._perm4D=new Uint8Array(0),this._base4D=[[0,0,0,0,0,1,1,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1],[3,1,1,1,0,3,1,1,0,1,3,1,0,1,1,3,0,1,1,1,4,1,1,1,1],[1,1,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1,2,1,1,0,0,2,1,0,1,0,2,1,0,0,1,2,0,1,1,0,2,0,1,0,1,2,0,0,1,1],[3,1,1,1,0,3,1,1,0,1,3,1,0,1,1,3,0,1,1,1,2,1,1,0,0,2,1,0,1,0,2,1,0,0,1,2,0,1,1,0,2,0,1,0,1,2,0,0,1,1]],this._gradients4D=[3,1,1,1,1,3,1,1,1,1,3,1,1,1,1,3,-3,1,1,1,-1,3,1,1,-1,1,3,1,-1,1,1,3,3,-1,1,1,1,-3,1,1,1,-1,3,1,1,-1,1,3,-3,-1,1,1,-1,-3,1,1,-1,-1,3,1,-1,-1,1,3,3,1,-1,1,1,3,-1,1,1,1,-3,1,1,1,-1,3,-3,1,-1,1,-1,3,-1,1,-1,1,-3,1,-1,1,-1,3,3,-1,-1,1,1,-3,-1,1,1,-1,-3,1,1,-1,-1,3,-3,-1,-1,1,-1,-3,-1,1,-1,-1,-3,1,-1,-1,-1,3,3,1,1,-1,1,3,1,-1,1,1,3,-1,1,1,1,-3,-3,1,1,-1,-1,3,1,-1,-1,1,3,-1,-1,1,1,-3,3,-1,1,-1,1,-3,1,-1,1,-1,3,-1,1,-1,1,-3,-3,-1,1,-1,-1,-3,1,-1,-1,-1,3,-1,-1,-1,1,-3,3,1,-1,-1,1,3,-1,-1,1,1,-3,-1,1,1,-1,-3,-3,1,-1,-1,-1,3,-1,-1,-1,1,-3,-1,-1,1,-1,-3,3,-1,-1,-1,1,-3,-1,-1,1,-1,-3,-1,1,-1,-1,-3,-3,-1,-1,-1,-1,-3,-1,-1,-1,-1,-3,-1,-1,-1,-1,-3],this._lookupPairs4D=[0,3,1,2,2,3,5,2,6,1,7,1,8,3,9,2,10,3,13,2,16,3,18,3,22,1,23,1,24,3,26,3,33,2,37,2,38,1,39,1,41,2,45,2,54,1,55,1,56,0,57,0,58,0,59,0,60,0,61,0,62,0,63,0,256,3,258,3,264,3,266,3,272,3,274,3,280,3,282,3,2049,2,2053,2,2057,2,2061,2,2081,2,2085,2,2089,2,2093,2,2304,9,2305,9,2312,9,2313,9,16390,1,16391,1,16406,1,16407,1,16422,1,16423,1,16438,1,16439,1,16642,8,16646,8,16658,8,16662,8,18437,6,18439,6,18469,6,18471,6,18688,9,18689,9,18690,8,18693,6,18694,8,18695,6,18696,9,18697,9,18706,8,18710,8,18725,6,18727,6,131128,0,131129,0,131130,0,131131,0,131132,0,131133,0,131134,0,131135,0,131352,7,131354,7,131384,7,131386,7,133161,5,133165,5,133177,5,133181,5,133376,9,133377,9,133384,9,133385,9,133400,7,133402,7,133417,5,133421,5,133432,7,133433,5,133434,7,133437,5,147510,4,147511,4,147518,4,147519,4,147714,8,147718,8,147730,8,147734,8,147736,7,147738,7,147766,4,147767,4,147768,7,147770,7,147774,4,147775,4,149509,6,149511,6,149541,6,149543,6,149545,5,149549,5,149558,4,149559,4,149561,5,149565,5,149566,4,149567,4,149760,9,149761,9,149762,8,149765,6,149766,8,149767,6,149768,9,149769,9,149778,8,149782,8,149784,7,149786,7,149797,6,149799,6,149801,5,149805,5,149814,4,149815,4,149816,7,149817,5,149818,7,149821,5,149822,4,149823,4,149824,37,149825,37,149826,36,149829,34,149830,36,149831,34,149832,37,149833,37,149842,36,149846,36,149848,35,149850,35,149861,34,149863,34,149865,33,149869,33,149878,32,149879,32,149880,35,149881,33,149882,35,149885,33,149886,32,149887,32,150080,49,150082,48,150088,49,150098,48,150104,47,150106,47,151873,46,151877,45,151881,46,151909,45,151913,44,151917,44,152128,49,152129,46,152136,49,152137,46,166214,43,166215,42,166230,43,166247,42,166262,41,166263,41,166466,48,166470,43,166482,48,166486,43,168261,45,168263,42,168293,45,168295,42,168512,31,168513,28,168514,31,168517,28,168518,25,168519,25,280952,40,280953,39,280954,40,280957,39,280958,38,280959,38,281176,47,281178,47,281208,40,281210,40,282985,44,282989,44,283001,39,283005,39,283208,30,283209,27,283224,30,283241,27,283256,22,283257,22,297334,41,297335,41,297342,38,297343,38,297554,29,297558,24,297562,29,297590,24,297594,21,297598,21,299365,26,299367,23,299373,26,299383,23,299389,20,299391,20,299584,31,299585,28,299586,31,299589,28,299590,25,299591,25,299592,30,299593,27,299602,29,299606,24,299608,30,299610,29,299621,26,299623,23,299625,27,299629,26,299638,24,299639,23,299640,22,299641,22,299642,21,299645,20,299646,21,299647,20,299648,61,299649,60,299650,61,299653,60,299654,59,299655,59,299656,58,299657,57,299666,55,299670,54,299672,58,299674,55,299685,52,299687,51,299689,57,299693,52,299702,54,299703,51,299704,56,299705,56,299706,53,299709,50,299710,53,299711,50,299904,61,299906,61,299912,58,299922,55,299928,58,299930,55,301697,60,301701,60,301705,57,301733,52,301737,57,301741,52,301952,79,301953,79,301960,76,301961,76,316038,59,316039,59,316054,54,316071,51,316086,54,316087,51,316290,78,316294,78,316306,73,316310,73,318085,77,318087,77,318117,70,318119,70,318336,79,318337,79,318338,78,318341,77,318342,78,318343,77,430776,56,430777,56,430778,53,430781,50,430782,53,430783,50,431e3,75,431002,72,431032,75,431034,72,432809,74,432813,69,432825,74,432829,69,433032,76,433033,76,433048,75,433065,74,433080,75,433081,74,447158,71,447159,68,447166,71,447167,68,447378,73,447382,73,447386,72,447414,71,447418,72,447422,71,449189,70,449191,70,449197,69,449207,68,449213,69,449215,68,449408,67,449409,67,449410,66,449413,64,449414,66,449415,64,449416,67,449417,67,449426,66,449430,66,449432,65,449434,65,449445,64,449447,64,449449,63,449453,63,449462,62,449463,62,449464,65,449465,63,449466,65,449469,63,449470,62,449471,62,449472,19,449473,19,449474,18,449477,16,449478,18,449479,16,449480,19,449481,19,449490,18,449494,18,449496,17,449498,17,449509,16,449511,16,449513,15,449517,15,449526,14,449527,14,449528,17,449529,15,449530,17,449533,15,449534,14,449535,14,449728,19,449729,19,449730,18,449734,18,449736,19,449737,19,449746,18,449750,18,449752,17,449754,17,449784,17,449786,17,451520,19,451521,19,451525,16,451527,16,451528,19,451529,19,451557,16,451559,16,451561,15,451565,15,451577,15,451581,15,451776,19,451777,19,451784,19,451785,19,465858,18,465861,16,465862,18,465863,16,465874,18,465878,18,465893,16,465895,16,465910,14,465911,14,465918,14,465919,14,466114,18,466118,18,466130,18,466134,18,467909,16,467911,16,467941,16,467943,16,468160,13,468161,13,468162,13,468163,13,468164,13,468165,13,468166,13,468167,13,580568,17,580570,17,580585,15,580589,15,580598,14,580599,14,580600,17,580601,15,580602,17,580605,15,580606,14,580607,14,580824,17,580826,17,580856,17,580858,17,582633,15,582637,15,582649,15,582653,15,582856,12,582857,12,582872,12,582873,12,582888,12,582889,12,582904,12,582905,12,596982,14,596983,14,596990,14,596991,14,597202,11,597206,11,597210,11,597214,11,597234,11,597238,11,597242,11,597246,11,599013,10,599015,10,599021,10,599023,10,599029,10,599031,10,599037,10,599039,10,599232,13,599233,13,599234,13,599235,13,599236,13,599237,13,599238,13,599239,13,599240,12,599241,12,599250,11,599254,11,599256,12,599257,12,599258,11,599262,11,599269,10,599271,10,599272,12,599273,12,599277,10,599279,10,599282,11,599285,10,599286,11,599287,10,599288,12,599289,12,599290,11,599293,10,599294,11,599295,10],this._p4D=[0,0,1,-1,0,0,0,1,0,-1,0,0,1,0,0,-1,0,0,-1,1,0,0,0,0,1,-1,0,0,0,1,0,-1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,-1,0,0,-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,2,1,1,0,0,1,1,1,-1,0,1,1,1,0,-1,0,2,1,0,1,0,1,1,-1,1,0,1,1,0,1,-1,0,2,0,1,1,0,1,-1,1,1,0,1,0,1,1,-1,0,2,1,0,0,1,1,1,-1,0,1,1,1,0,-1,1,0,2,0,1,0,1,1,-1,1,0,1,1,0,1,-1,1,0,2,0,0,1,1,1,-1,0,1,1,1,0,-1,1,1,1,4,2,1,1,0,4,1,2,1,0,4,1,1,2,0,1,4,2,1,0,1,4,1,2,0,1,4,1,1,0,2,1,4,2,0,1,1,4,1,0,2,1,4,1,0,1,2,1,4,0,2,1,1,4,0,1,2,1,4,0,1,1,2,1,2,1,1,0,0,3,2,1,0,0,3,1,2,0,0,1,2,1,0,1,0,3,2,0,1,0,3,1,0,2,0,1,2,0,1,1,0,3,0,2,1,0,3,0,1,2,0,1,2,1,0,0,1,3,2,0,0,1,3,1,0,0,2,1,2,0,1,0,1,3,0,2,0,1,3,0,1,0,2,1,2,0,0,1,1,3,0,0,2,1,3,0,0,1,2,2,3,1,1,1,0,2,1,1,1,-1,2,2,0,0,0,2,3,1,1,0,1,2,1,1,-1,1,2,2,0,0,0,2,3,1,0,1,1,2,1,-1,1,1,2,2,0,0,0,2,3,1,1,1,0,2,1,1,1,-1,2,0,2,0,0,2,3,1,1,0,1,2,1,1,-1,1,2,0,2,0,0,2,3,0,1,1,1,2,-1,1,1,1,2,0,2,0,0,2,3,1,1,1,0,2,1,1,1,-1,2,0,0,2,0,2,3,1,0,1,1,2,1,-1,1,1,2,0,0,2,0,2,3,0,1,1,1,2,-1,1,1,1,2,0,0,2,0,2,3,1,1,0,1,2,1,1,-1,1,2,0,0,0,2,2,3,1,0,1,1,2,1,-1,1,1,2,0,0,0,2,2,3,0,1,1,1,2,-1,1,1,1,2,0,0,0,2,2,1,1,1,-1,0,1,1,1,0,-1,0,0,0,0,0,2,1,1,-1,1,0,1,1,0,1,-1,0,0,0,0,0,2,1,-1,1,1,0,1,0,1,1,-1,0,0,0,0,0,2,1,1,-1,0,1,1,1,0,-1,1,0,0,0,0,0,2,1,-1,1,0,1,1,0,1,-1,1,0,0,0,0,0,2,1,-1,0,1,1,1,0,-1,1,1,0,0,0,0,0,2,1,1,1,-1,0,1,1,1,0,-1,2,2,0,0,0,2,1,1,-1,1,0,1,1,0,1,-1,2,2,0,0,0,2,1,1,-1,0,1,1,1,0,-1,1,2,2,0,0,0,2,1,1,1,-1,0,1,1,1,0,-1,2,0,2,0,0,2,1,-1,1,1,0,1,0,1,1,-1,2,0,2,0,0,2,1,-1,1,0,1,1,0,1,-1,1,2,0,2,0,0,2,1,1,-1,1,0,1,1,0,1,-1,2,0,0,2,0,2,1,-1,1,1,0,1,0,1,1,-1,2,0,0,2,0,2,1,-1,0,1,1,1,0,-1,1,1,2,0,0,2,0,2,1,1,-1,0,1,1,1,0,-1,1,2,0,0,0,2,2,1,-1,1,0,1,1,0,1,-1,1,2,0,0,0,2,2,1,-1,0,1,1,1,0,-1,1,1,2,0,0,0,2,3,1,1,0,0,0,2,2,0,0,0,2,1,1,1,-1,3,1,0,1,0,0,2,0,2,0,0,2,1,1,1,-1,3,1,0,0,1,0,2,0,0,2,0,2,1,1,1,-1,3,1,1,0,0,0,2,2,0,0,0,2,1,1,-1,1,3,1,0,1,0,0,2,0,2,0,0,2,1,1,-1,1,3,1,0,0,0,1,2,0,0,0,2,2,1,1,-1,1,3,1,1,0,0,0,2,2,0,0,0,2,1,-1,1,1,3,1,0,0,1,0,2,0,0,2,0,2,1,-1,1,1,3,1,0,0,0,1,2,0,0,0,2,2,1,-1,1,1,3,1,0,1,0,0,2,0,2,0,0,2,-1,1,1,1,3,1,0,0,1,0,2,0,0,2,0,2,-1,1,1,1,3,1,0,0,0,1,2,0,0,0,2,2,-1,1,1,1,3,3,2,1,0,0,3,1,2,0,0,4,1,1,1,1,3,3,2,0,1,0,3,1,0,2,0,4,1,1,1,1,3,3,0,2,1,0,3,0,1,2,0,4,1,1,1,1,3,3,2,0,0,1,3,1,0,0,2,4,1,1,1,1,3,3,0,2,0,1,3,0,1,0,2,4,1,1,1,1,3,3,0,0,2,1,3,0,0,1,2,4,1,1,1,1,3,3,2,1,0,0,3,1,2,0,0,2,1,1,1,-1,3,3,2,0,1,0,3,1,0,2,0,2,1,1,1,-1,3,3,0,2,1,0,3,0,1,2,0,2,1,1,1,-1,3,3,2,1,0,0,3,1,2,0,0,2,1,1,-1,1,3,3,2,0,0,1,3,1,0,0,2,2,1,1,-1,1,3,3,0,2,0,1,3,0,1,0,2,2,1,1,-1,1,3,3,2,0,1,0,3,1,0,2,0,2,1,-1,1,1,3,3,2,0,0,1,3,1,0,0,2,2,1,-1,1,1,3,3,0,0,2,1,3,0,0,1,2,2,1,-1,1,1,3,3,0,2,1,0,3,0,1,2,0,2,-1,1,1,1,3,3,0,2,0,1,3,0,1,0,2,2,-1,1,1,1,3,3,0,0,2,1,3,0,0,1,2,2,-1,1,1,1]}noise(t,e,r,n){const{_perm:o,_perm4D:s,_lookup:i,_STRETCH_4D:_,_SQUISH_4D:l,_gradients4D:h,_NORM_4D:a}=this,D=(t+e+r+n)*_,p=t+D,u=e+D,c=r+D,f=n+D,d=Math.floor(p),b=Math.floor(u),y=Math.floor(c),m=Math.floor(f),x=(d+b+y+m)*l,U=t-(d+x),w=e-(b+x),S=r-(y+x),M=n-(m+x),A=p-d,g=u-b,k=c-y,H=f-m,T=A+g+k+H;let R=0;for(let t=i[k-H+1|g-k+1<<1|g-H+1<<2|A-g+1<<3|A-k+1<<4|A-H+1<<5|T<<6|T+H<<8|T+k<<11|T+g<<14|T+A<<17];void 0!==t;t=t.next){const e=U+t.dx,r=w+t.dy,n=S+t.dz,i=M+t.dw,_=2-e*e-r*r-n*n-i*i;if(_>0){const l=d+t.xsb,a=b+t.ysb,D=y+t.zsb,p=m+t.wsb,u=s[o[o[o[255&l]+a&255]+D&255]+p&255];R+=_*_*_*_*(h[u]*e+h[u+1]*r+h[u+2]*n+h[u+3]*i)}}return R*a}seed(t){const{_p4D:e,_base4D:n,_lookupPairs4D:o}=this,s=[];for(let t=0;t<e.length;t+=16){const r=n[e[t]];let o=null,i=null;for(let e=0;e<r.length;e+=5)i=this._contribution4D(r[e],r[e+1],r[e+2],r[e+3],r[e+4]),null===o?s[t/16]=i:o.next=i,o=i;i&&(i.next=this._contribution4D(e[t+1],e[t+2],e[t+3],e[t+4],e[t+5]),i.next.next=this._contribution4D(e[t+6],e[t+7],e[t+8],e[t+9],e[t+10]),i.next.next.next=this._contribution4D(e[t+11],e[t+12],e[t+13],e[t+14],e[t+15]))}this._lookup=[];for(let t=0;t<o.length;t+=2)this._lookup[o[t]]=s[o[t+1]];this._perm=new Uint8Array(256),this._perm4D=new Uint8Array(256);const i=new Uint8Array(256);for(let t=0;t<256;t++)i[t]=t;let _=new Uint32Array(1);_[0]=t,_=r(r(r(_)));for(let t=255;t>=0;t--){_=r(_);const e=new Uint32Array(1);e[0]=(_[0]+31)%(t+1),e[0]<0&&(e[0]+=t+1),this._perm[t]=i[e[0]],this._perm4D[t]=252&this._perm[t],i[e[0]]=i[t]}}_contribution4D(t,e,r,n,o){const{_SQUISH_4D:s}=this;return{dx:-e-t*s,dy:-r-t*s,dz:-n-t*s,dw:-o-t*s,xsb:e,ysb:r,zsb:n,wsb:o}}}class i{constructor(){this.noise2d=new n,this.noise3d=new o,this.noise4d=new s}}return e})()));
1
+ !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var i in r)("object"==typeof exports?exports:t)[i]=r[i]}}(this,()=>(()=>{"use strict";var t={};t.d=(e,r)=>{for(var i in r)t.o(r,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:r[i]})},t.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),t.r=t=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var e={};function r(t){let e=new Uint32Array(1);return e[0]=1664525*t[0]+0x3c6ef35f,e}t.r(e),t.d(e,{SimplexNoise:()=>s});class i{_NORM_2D;_SQUISH_2D;_STRETCH_2D;_base2D;_gradients2D;_lookup;_lookupPairs2D;_p2D;_perm;_perm2D;constructor(){this._NORM_2D=1/47,this._SQUISH_2D=(Math.sqrt(3)-1)/2,this._STRETCH_2D=(1/Math.sqrt(3)-1)/2,this._base2D=[[1,1,0,1,0,1,0,0,0],[1,1,0,1,0,1,2,1,1]],this._gradients2D=[5,2,2,5,-5,2,-2,5,5,-2,2,-5,-5,-2,-2,-5],this._lookup=[],this._lookupPairs2D=[0,1,1,0,4,1,17,0,20,2,21,2,22,5,23,5,26,4,39,3,42,4,43,3],this._p2D=[0,0,1,-1,0,0,-1,1,0,2,1,1,1,2,2,0,1,2,0,2,1,0,0,0],this._perm=new Uint8Array(256),this._perm2D=new Uint8Array(256)}noise(t,e){let{_gradients2D:r,_NORM_2D:i,_SQUISH_2D:o,_STRETCH_2D:n,_lookup:s,_perm:l,_perm2D:_}=this,h=(t+e)*n,a=t+h,p=e+h,D=Math.floor(a),u=Math.floor(p),f=(D+u)*o,d=t-(D+f),y=e-(u+f),b=a-D,c=p-u,m=b+c,x=0;for(let t=s[b-c+1|m<<1|m+c<<2|m+b<<4];void 0!==t;t=t.next){let e=d+t.dx,i=y+t.dy,o=2-e*e-i*i;if(o>0){let n=D+t.xsb,s=u+t.ysb,h=_[l[255&n]+s&255];x+=o*o*o*o*(r[h]*e+r[h+1]*i)}}return x*i}seed(t){let{_p2D:e,_base2D:i,_lookupPairs2D:o}=this,n=[];for(let t=0;t<e.length;t+=4){let r=i[e[t]],o=null,s=null;for(let e=0;e<r.length;e+=3)s=this._contribution2D(r[e],r[e+1],r[e+2]),null===o?n[t/4]=s:o.next=s,o=s;s&&(s.next=this._contribution2D(e[t+1],e[t+2],e[t+3]))}this._lookup=[];for(let t=0;t<o.length;t+=2)this._lookup[o[t]]=n[o[t+1]];this._perm=new Uint8Array(256),this._perm2D=new Uint8Array(256);let s=new Uint8Array(256);for(let t=0;t<256;t++)s[t]=t;let l=new Uint32Array(1);l[0]=t,l=r(r(r(l)));for(let t=255;t>=0;t--){l=r(l);let e=new Uint32Array(1);e[0]=(l[0]+31)%(t+1),e[0]<0&&(e[0]+=t+1),this._perm[t]=s[e[0]],this._perm2D[t]=14&this._perm[t],s[e[0]]=s[t]}}_contribution2D(t,e,r){let{_SQUISH_2D:i}=this;return{dx:-e-t*i,dy:-r-t*i,xsb:e,ysb:r}}}class o{_NORM_3D;_SQUISH_3D;_STRETCH_3D;_base3D;_gradients3D;_lookup;_lookupPairs3D;_p3D;_perm;_perm3D;constructor(){this._NORM_3D=1/103,this._SQUISH_3D=(Math.sqrt(4)-1)/3,this._STRETCH_3D=(1/Math.sqrt(4)-1)/3,this._base3D=[[0,0,0,0,1,1,0,0,1,0,1,0,1,0,0,1],[2,1,1,0,2,1,0,1,2,0,1,1,3,1,1,1],[1,1,0,0,1,0,1,0,1,0,0,1,2,1,1,0,2,1,0,1,2,0,1,1]],this._gradients3D=[-11,4,4,-4,11,4,-4,4,11,11,4,4,4,11,4,4,4,11,-11,-4,4,-4,-11,4,-4,-4,11,11,-4,4,4,-11,4,4,-4,11,-11,4,-4,-4,11,-4,-4,4,-11,11,4,-4,4,11,-4,4,4,-11,-11,-4,-4,-4,-11,-4,-4,-4,-11,11,-4,-4,4,-11,-4,4,-4,-11],this._lookup=[],this._lookupPairs3D=[0,2,1,1,2,2,5,1,6,0,7,0,32,2,34,2,129,1,133,1,160,5,161,5,518,0,519,0,546,4,550,4,645,3,647,3,672,5,673,5,674,4,677,3,678,4,679,3,680,13,681,13,682,12,685,14,686,12,687,14,712,20,714,18,809,21,813,23,840,20,841,21,1198,19,1199,22,1226,18,1230,19,1325,23,1327,22,1352,15,1353,17,1354,15,1357,17,1358,16,1359,16,1360,11,1361,10,1362,11,1365,10,1366,9,1367,9,1392,11,1394,11,1489,10,1493,10,1520,8,1521,8,1878,9,1879,9,1906,7,1910,7,2005,6,2007,6,2032,8,2033,8,2034,7,2037,6,2038,7,2039,6],this._p3D=[0,0,1,-1,0,0,1,0,-1,0,0,-1,1,0,0,0,1,-1,0,0,-1,0,1,0,0,-1,1,0,2,1,1,0,1,1,1,-1,0,2,1,0,1,1,1,-1,1,0,2,0,1,1,1,-1,1,1,1,3,2,1,0,3,1,2,0,1,3,2,0,1,3,1,0,2,1,3,0,2,1,3,0,1,2,1,1,1,0,0,2,2,0,0,1,1,0,1,0,2,0,2,0,1,1,0,0,1,2,0,0,2,2,0,0,0,0,1,1,-1,1,2,0,0,0,0,1,-1,1,1,2,0,0,0,0,1,1,1,-1,2,3,1,1,1,2,0,0,2,2,3,1,1,1,2,2,0,0,2,3,1,1,1,2,0,2,0,2,1,1,-1,1,2,0,0,2,2,1,1,-1,1,2,2,0,0,2,1,-1,1,1,2,0,0,2,2,1,-1,1,1,2,0,2,0,2,1,1,1,-1,2,2,0,0,2,1,1,1,-1,2,0,2,0],this._perm=new Uint8Array(256),this._perm3D=new Uint8Array(256)}noise(t,e,r){let{_STRETCH_3D:i,_NORM_3D:o,_SQUISH_3D:n,_lookup:s,_perm:l,_perm3D:_,_gradients3D:h}=this,a=(t+e+r)*i,p=t+a,D=e+a,u=r+a,f=Math.floor(p),d=Math.floor(D),y=Math.floor(u),b=(f+d+y)*n,c=t-(f+b),m=e-(d+b),x=r-(y+b),w=p-f,U=D-d,S=u-y,M=w+U+S,A=U-S+1|w-U+1<<1|w-S+1<<2|M<<3|M+S<<5|M+U<<7|M+w<<9,g=0;for(let t=s[A];void 0!==t;t=t.next){let e=c+t.dx,r=m+t.dy,i=x+t.dz,o=2-e*e-r*r-i*i;if(o>0){let n=f+t.xsb,s=d+t.ysb,a=y+t.zsb,p=l[255&n],D=_[l[p+s&255]+a&255];g+=o*o*o*o*(h[D]*e+h[D+1]*r+h[D+2]*i)}}return g*o}seed(t){let{_base3D:e,_lookupPairs3D:i,_p3D:o}=this,n=[];for(let t=0;t<o.length;t+=9){let r=e[o[t]],i=null,s=null;for(let e=0;e<r.length;e+=4)s=this._contribution3D(r[e],r[e+1],r[e+2],r[e+3]),null===i?n[t/9]=s:i.next=s,i=s;s&&(s.next=this._contribution3D(o[t+1],o[t+2],o[t+3],o[t+4]),s.next.next=this._contribution3D(o[t+5],o[t+6],o[t+7],o[t+8]))}this._lookup=[];for(let t=0;t<i.length;t+=2)this._lookup[i[t]]=n[i[t+1]];this._perm=new Uint8Array(256),this._perm3D=new Uint8Array(256);let s=new Uint8Array(256);for(let t=0;t<256;t++)s[t]=t;let l=new Uint32Array(1);l[0]=t,l=r(r(r(l)));for(let t=255;t>=0;t--){l=r(l);let e=new Uint32Array(1);e[0]=(l[0]+31)%(t+1),e[0]<0&&(e[0]+=t+1),this._perm[t]=s[e[0]],this._perm3D[t]=this._perm[t]%24*3,s[e[0]]=s[t]}}_contribution3D(t,e,r,i){let{_SQUISH_3D:o}=this;return{dx:-e-t*o,dy:-r-t*o,dz:-i-t*o,xsb:e,ysb:r,zsb:i}}}class n{_NORM_4D;_SQUISH_4D;_STRETCH_4D;_base4D;_gradients4D;_lookup;_lookupPairs4D;_p4D;_perm;_perm4D;constructor(){this._NORM_4D=1/30,this._SQUISH_4D=(Math.sqrt(5)-1)*.25,this._STRETCH_4D=(1/Math.sqrt(5)-1)*.25,this._lookup=[],this._perm=new Uint8Array(0),this._perm4D=new Uint8Array(0),this._base4D=[[0,0,0,0,0,1,1,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1],[3,1,1,1,0,3,1,1,0,1,3,1,0,1,1,3,0,1,1,1,4,1,1,1,1],[1,1,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1,2,1,1,0,0,2,1,0,1,0,2,1,0,0,1,2,0,1,1,0,2,0,1,0,1,2,0,0,1,1],[3,1,1,1,0,3,1,1,0,1,3,1,0,1,1,3,0,1,1,1,2,1,1,0,0,2,1,0,1,0,2,1,0,0,1,2,0,1,1,0,2,0,1,0,1,2,0,0,1,1]],this._gradients4D=[3,1,1,1,1,3,1,1,1,1,3,1,1,1,1,3,-3,1,1,1,-1,3,1,1,-1,1,3,1,-1,1,1,3,3,-1,1,1,1,-3,1,1,1,-1,3,1,1,-1,1,3,-3,-1,1,1,-1,-3,1,1,-1,-1,3,1,-1,-1,1,3,3,1,-1,1,1,3,-1,1,1,1,-3,1,1,1,-1,3,-3,1,-1,1,-1,3,-1,1,-1,1,-3,1,-1,1,-1,3,3,-1,-1,1,1,-3,-1,1,1,-1,-3,1,1,-1,-1,3,-3,-1,-1,1,-1,-3,-1,1,-1,-1,-3,1,-1,-1,-1,3,3,1,1,-1,1,3,1,-1,1,1,3,-1,1,1,1,-3,-3,1,1,-1,-1,3,1,-1,-1,1,3,-1,-1,1,1,-3,3,-1,1,-1,1,-3,1,-1,1,-1,3,-1,1,-1,1,-3,-3,-1,1,-1,-1,-3,1,-1,-1,-1,3,-1,-1,-1,1,-3,3,1,-1,-1,1,3,-1,-1,1,1,-3,-1,1,1,-1,-3,-3,1,-1,-1,-1,3,-1,-1,-1,1,-3,-1,-1,1,-1,-3,3,-1,-1,-1,1,-3,-1,-1,1,-1,-3,-1,1,-1,-1,-3,-3,-1,-1,-1,-1,-3,-1,-1,-1,-1,-3,-1,-1,-1,-1,-3],this._lookupPairs4D=[0,3,1,2,2,3,5,2,6,1,7,1,8,3,9,2,10,3,13,2,16,3,18,3,22,1,23,1,24,3,26,3,33,2,37,2,38,1,39,1,41,2,45,2,54,1,55,1,56,0,57,0,58,0,59,0,60,0,61,0,62,0,63,0,256,3,258,3,264,3,266,3,272,3,274,3,280,3,282,3,2049,2,2053,2,2057,2,2061,2,2081,2,2085,2,2089,2,2093,2,2304,9,2305,9,2312,9,2313,9,16390,1,16391,1,16406,1,16407,1,16422,1,16423,1,16438,1,16439,1,16642,8,16646,8,16658,8,16662,8,18437,6,18439,6,18469,6,18471,6,18688,9,18689,9,18690,8,18693,6,18694,8,18695,6,18696,9,18697,9,18706,8,18710,8,18725,6,18727,6,131128,0,131129,0,131130,0,131131,0,131132,0,131133,0,131134,0,131135,0,131352,7,131354,7,131384,7,131386,7,133161,5,133165,5,133177,5,133181,5,133376,9,133377,9,133384,9,133385,9,133400,7,133402,7,133417,5,133421,5,133432,7,133433,5,133434,7,133437,5,147510,4,147511,4,147518,4,147519,4,147714,8,147718,8,147730,8,147734,8,147736,7,147738,7,147766,4,147767,4,147768,7,147770,7,147774,4,147775,4,149509,6,149511,6,149541,6,149543,6,149545,5,149549,5,149558,4,149559,4,149561,5,149565,5,149566,4,149567,4,149760,9,149761,9,149762,8,149765,6,149766,8,149767,6,149768,9,149769,9,149778,8,149782,8,149784,7,149786,7,149797,6,149799,6,149801,5,149805,5,149814,4,149815,4,149816,7,149817,5,149818,7,149821,5,149822,4,149823,4,149824,37,149825,37,149826,36,149829,34,149830,36,149831,34,149832,37,149833,37,149842,36,149846,36,149848,35,149850,35,149861,34,149863,34,149865,33,149869,33,149878,32,149879,32,149880,35,149881,33,149882,35,149885,33,149886,32,149887,32,150080,49,150082,48,150088,49,150098,48,150104,47,150106,47,151873,46,151877,45,151881,46,151909,45,151913,44,151917,44,152128,49,152129,46,152136,49,152137,46,166214,43,166215,42,166230,43,166247,42,166262,41,166263,41,166466,48,166470,43,166482,48,166486,43,168261,45,168263,42,168293,45,168295,42,168512,31,168513,28,168514,31,168517,28,168518,25,168519,25,280952,40,280953,39,280954,40,280957,39,280958,38,280959,38,281176,47,281178,47,281208,40,281210,40,282985,44,282989,44,283001,39,283005,39,283208,30,283209,27,283224,30,283241,27,283256,22,283257,22,297334,41,297335,41,297342,38,297343,38,297554,29,297558,24,297562,29,297590,24,297594,21,297598,21,299365,26,299367,23,299373,26,299383,23,299389,20,299391,20,299584,31,299585,28,299586,31,299589,28,299590,25,299591,25,299592,30,299593,27,299602,29,299606,24,299608,30,299610,29,299621,26,299623,23,299625,27,299629,26,299638,24,299639,23,299640,22,299641,22,299642,21,299645,20,299646,21,299647,20,299648,61,299649,60,299650,61,299653,60,299654,59,299655,59,299656,58,299657,57,299666,55,299670,54,299672,58,299674,55,299685,52,299687,51,299689,57,299693,52,299702,54,299703,51,299704,56,299705,56,299706,53,299709,50,299710,53,299711,50,299904,61,299906,61,299912,58,299922,55,299928,58,299930,55,301697,60,301701,60,301705,57,301733,52,301737,57,301741,52,301952,79,301953,79,301960,76,301961,76,316038,59,316039,59,316054,54,316071,51,316086,54,316087,51,316290,78,316294,78,316306,73,316310,73,318085,77,318087,77,318117,70,318119,70,318336,79,318337,79,318338,78,318341,77,318342,78,318343,77,430776,56,430777,56,430778,53,430781,50,430782,53,430783,50,431e3,75,431002,72,431032,75,431034,72,432809,74,432813,69,432825,74,432829,69,433032,76,433033,76,433048,75,433065,74,433080,75,433081,74,447158,71,447159,68,447166,71,447167,68,447378,73,447382,73,447386,72,447414,71,447418,72,447422,71,449189,70,449191,70,449197,69,449207,68,449213,69,449215,68,449408,67,449409,67,449410,66,449413,64,449414,66,449415,64,449416,67,449417,67,449426,66,449430,66,449432,65,449434,65,449445,64,449447,64,449449,63,449453,63,449462,62,449463,62,449464,65,449465,63,449466,65,449469,63,449470,62,449471,62,449472,19,449473,19,449474,18,449477,16,449478,18,449479,16,449480,19,449481,19,449490,18,449494,18,449496,17,449498,17,449509,16,449511,16,449513,15,449517,15,449526,14,449527,14,449528,17,449529,15,449530,17,449533,15,449534,14,449535,14,449728,19,449729,19,449730,18,449734,18,449736,19,449737,19,449746,18,449750,18,449752,17,449754,17,449784,17,449786,17,451520,19,451521,19,451525,16,451527,16,451528,19,451529,19,451557,16,451559,16,451561,15,451565,15,451577,15,451581,15,451776,19,451777,19,451784,19,451785,19,465858,18,465861,16,465862,18,465863,16,465874,18,465878,18,465893,16,465895,16,465910,14,465911,14,465918,14,465919,14,466114,18,466118,18,466130,18,466134,18,467909,16,467911,16,467941,16,467943,16,468160,13,468161,13,468162,13,468163,13,468164,13,468165,13,468166,13,468167,13,580568,17,580570,17,580585,15,580589,15,580598,14,580599,14,580600,17,580601,15,580602,17,580605,15,580606,14,580607,14,580824,17,580826,17,580856,17,580858,17,582633,15,582637,15,582649,15,582653,15,582856,12,582857,12,582872,12,582873,12,582888,12,582889,12,582904,12,582905,12,596982,14,596983,14,596990,14,596991,14,597202,11,597206,11,597210,11,597214,11,597234,11,597238,11,597242,11,597246,11,599013,10,599015,10,599021,10,599023,10,599029,10,599031,10,599037,10,599039,10,599232,13,599233,13,599234,13,599235,13,599236,13,599237,13,599238,13,599239,13,599240,12,599241,12,599250,11,599254,11,599256,12,599257,12,599258,11,599262,11,599269,10,599271,10,599272,12,599273,12,599277,10,599279,10,599282,11,599285,10,599286,11,599287,10,599288,12,599289,12,599290,11,599293,10,599294,11,599295,10],this._p4D=[0,0,1,-1,0,0,0,1,0,-1,0,0,1,0,0,-1,0,0,-1,1,0,0,0,0,1,-1,0,0,0,1,0,-1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,-1,0,0,-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,2,1,1,0,0,1,1,1,-1,0,1,1,1,0,-1,0,2,1,0,1,0,1,1,-1,1,0,1,1,0,1,-1,0,2,0,1,1,0,1,-1,1,1,0,1,0,1,1,-1,0,2,1,0,0,1,1,1,-1,0,1,1,1,0,-1,1,0,2,0,1,0,1,1,-1,1,0,1,1,0,1,-1,1,0,2,0,0,1,1,1,-1,0,1,1,1,0,-1,1,1,1,4,2,1,1,0,4,1,2,1,0,4,1,1,2,0,1,4,2,1,0,1,4,1,2,0,1,4,1,1,0,2,1,4,2,0,1,1,4,1,0,2,1,4,1,0,1,2,1,4,0,2,1,1,4,0,1,2,1,4,0,1,1,2,1,2,1,1,0,0,3,2,1,0,0,3,1,2,0,0,1,2,1,0,1,0,3,2,0,1,0,3,1,0,2,0,1,2,0,1,1,0,3,0,2,1,0,3,0,1,2,0,1,2,1,0,0,1,3,2,0,0,1,3,1,0,0,2,1,2,0,1,0,1,3,0,2,0,1,3,0,1,0,2,1,2,0,0,1,1,3,0,0,2,1,3,0,0,1,2,2,3,1,1,1,0,2,1,1,1,-1,2,2,0,0,0,2,3,1,1,0,1,2,1,1,-1,1,2,2,0,0,0,2,3,1,0,1,1,2,1,-1,1,1,2,2,0,0,0,2,3,1,1,1,0,2,1,1,1,-1,2,0,2,0,0,2,3,1,1,0,1,2,1,1,-1,1,2,0,2,0,0,2,3,0,1,1,1,2,-1,1,1,1,2,0,2,0,0,2,3,1,1,1,0,2,1,1,1,-1,2,0,0,2,0,2,3,1,0,1,1,2,1,-1,1,1,2,0,0,2,0,2,3,0,1,1,1,2,-1,1,1,1,2,0,0,2,0,2,3,1,1,0,1,2,1,1,-1,1,2,0,0,0,2,2,3,1,0,1,1,2,1,-1,1,1,2,0,0,0,2,2,3,0,1,1,1,2,-1,1,1,1,2,0,0,0,2,2,1,1,1,-1,0,1,1,1,0,-1,0,0,0,0,0,2,1,1,-1,1,0,1,1,0,1,-1,0,0,0,0,0,2,1,-1,1,1,0,1,0,1,1,-1,0,0,0,0,0,2,1,1,-1,0,1,1,1,0,-1,1,0,0,0,0,0,2,1,-1,1,0,1,1,0,1,-1,1,0,0,0,0,0,2,1,-1,0,1,1,1,0,-1,1,1,0,0,0,0,0,2,1,1,1,-1,0,1,1,1,0,-1,2,2,0,0,0,2,1,1,-1,1,0,1,1,0,1,-1,2,2,0,0,0,2,1,1,-1,0,1,1,1,0,-1,1,2,2,0,0,0,2,1,1,1,-1,0,1,1,1,0,-1,2,0,2,0,0,2,1,-1,1,1,0,1,0,1,1,-1,2,0,2,0,0,2,1,-1,1,0,1,1,0,1,-1,1,2,0,2,0,0,2,1,1,-1,1,0,1,1,0,1,-1,2,0,0,2,0,2,1,-1,1,1,0,1,0,1,1,-1,2,0,0,2,0,2,1,-1,0,1,1,1,0,-1,1,1,2,0,0,2,0,2,1,1,-1,0,1,1,1,0,-1,1,2,0,0,0,2,2,1,-1,1,0,1,1,0,1,-1,1,2,0,0,0,2,2,1,-1,0,1,1,1,0,-1,1,1,2,0,0,0,2,3,1,1,0,0,0,2,2,0,0,0,2,1,1,1,-1,3,1,0,1,0,0,2,0,2,0,0,2,1,1,1,-1,3,1,0,0,1,0,2,0,0,2,0,2,1,1,1,-1,3,1,1,0,0,0,2,2,0,0,0,2,1,1,-1,1,3,1,0,1,0,0,2,0,2,0,0,2,1,1,-1,1,3,1,0,0,0,1,2,0,0,0,2,2,1,1,-1,1,3,1,1,0,0,0,2,2,0,0,0,2,1,-1,1,1,3,1,0,0,1,0,2,0,0,2,0,2,1,-1,1,1,3,1,0,0,0,1,2,0,0,0,2,2,1,-1,1,1,3,1,0,1,0,0,2,0,2,0,0,2,-1,1,1,1,3,1,0,0,1,0,2,0,0,2,0,2,-1,1,1,1,3,1,0,0,0,1,2,0,0,0,2,2,-1,1,1,1,3,3,2,1,0,0,3,1,2,0,0,4,1,1,1,1,3,3,2,0,1,0,3,1,0,2,0,4,1,1,1,1,3,3,0,2,1,0,3,0,1,2,0,4,1,1,1,1,3,3,2,0,0,1,3,1,0,0,2,4,1,1,1,1,3,3,0,2,0,1,3,0,1,0,2,4,1,1,1,1,3,3,0,0,2,1,3,0,0,1,2,4,1,1,1,1,3,3,2,1,0,0,3,1,2,0,0,2,1,1,1,-1,3,3,2,0,1,0,3,1,0,2,0,2,1,1,1,-1,3,3,0,2,1,0,3,0,1,2,0,2,1,1,1,-1,3,3,2,1,0,0,3,1,2,0,0,2,1,1,-1,1,3,3,2,0,0,1,3,1,0,0,2,2,1,1,-1,1,3,3,0,2,0,1,3,0,1,0,2,2,1,1,-1,1,3,3,2,0,1,0,3,1,0,2,0,2,1,-1,1,1,3,3,2,0,0,1,3,1,0,0,2,2,1,-1,1,1,3,3,0,0,2,1,3,0,0,1,2,2,1,-1,1,1,3,3,0,2,1,0,3,0,1,2,0,2,-1,1,1,1,3,3,0,2,0,1,3,0,1,0,2,2,-1,1,1,1,3,3,0,0,2,1,3,0,0,1,2,2,-1,1,1,1]}noise(t,e,r,i){let{_perm:o,_perm4D:n,_lookup:s,_STRETCH_4D:l,_SQUISH_4D:_,_gradients4D:h,_NORM_4D:a}=this,p=(t+e+r+i)*l,D=t+p,u=e+p,f=r+p,d=i+p,y=Math.floor(D),b=Math.floor(u),c=Math.floor(f),m=Math.floor(d),x=(y+b+c+m)*_,w=t-(y+x),U=e-(b+x),S=r-(c+x),M=i-(m+x),A=D-y,g=u-b,k=f-c,T=d-m,H=A+g+k+T,R=k-T+1|g-k+1<<1|g-T+1<<2|A-g+1<<3|A-k+1<<4|A-T+1<<5|H<<6|H+T<<8|H+k<<11|H+g<<14|H+A<<17,O=0;for(let t=s[R];void 0!==t;t=t.next){let e=w+t.dx,r=U+t.dy,i=S+t.dz,s=M+t.dw,l=2-e*e-r*r-i*i-s*s;if(l>0){let _=y+t.xsb,a=b+t.ysb,p=c+t.zsb,D=m+t.wsb,u=o[255&_],f=o[u+a&255],d=n[o[f+p&255]+D&255];O+=l*l*l*l*(h[d]*e+h[d+1]*r+h[d+2]*i+h[d+3]*s)}}return O*a}seed(t){let{_p4D:e,_base4D:i,_lookupPairs4D:o}=this,n=[];for(let t=0;t<e.length;t+=16){let r=i[e[t]],o=null,s=null;for(let e=0;e<r.length;e+=5)s=this._contribution4D(r[e],r[e+1],r[e+2],r[e+3],r[e+4]),null===o?n[t/16]=s:o.next=s,o=s;s&&(s.next=this._contribution4D(e[t+1],e[t+2],e[t+3],e[t+4],e[t+5]),s.next.next=this._contribution4D(e[t+6],e[t+7],e[t+8],e[t+9],e[t+10]),s.next.next.next=this._contribution4D(e[t+11],e[t+12],e[t+13],e[t+14],e[t+15]))}this._lookup=[];for(let t=0;t<o.length;t+=2)this._lookup[o[t]]=n[o[t+1]];this._perm=new Uint8Array(256),this._perm4D=new Uint8Array(256);let s=new Uint8Array(256);for(let t=0;t<256;t++)s[t]=t;let l=new Uint32Array(1);l[0]=t,l=r(r(r(l)));for(let t=255;t>=0;t--){l=r(l);let e=new Uint32Array(1);e[0]=(l[0]+31)%(t+1),e[0]<0&&(e[0]+=t+1),this._perm[t]=s[e[0]],this._perm4D[t]=252&this._perm[t],s[e[0]]=s[t]}}_contribution4D(t,e,r,i,o){let{_SQUISH_4D:n}=this;return{dx:-e-t*n,dy:-r-t*n,dz:-i-t*n,dw:-o-t*n,xsb:e,ysb:r,zsb:i,wsb:o}}}class s{noise2d;noise3d;noise4d;constructor(){this.noise2d=new i,this.noise3d=new o,this.noise4d=new n}}return e})());
@@ -12,6 +12,16 @@
12
12
  exports.SimplexNoise2D = void 0;
13
13
  const utils_js_1 = require("../utils.js");
14
14
  class SimplexNoise2D {
15
+ _NORM_2D;
16
+ _SQUISH_2D;
17
+ _STRETCH_2D;
18
+ _base2D;
19
+ _gradients2D;
20
+ _lookup;
21
+ _lookupPairs2D;
22
+ _p2D;
23
+ _perm;
24
+ _perm2D;
15
25
  constructor() {
16
26
  this._NORM_2D = 1.0 / 47.0;
17
27
  this._SQUISH_2D = (Math.sqrt(2 + 1) - 1) / 2;
@@ -95,8 +105,7 @@
95
105
  this._perm2D = new Uint8Array(256);
96
106
  }
97
107
  noise(x, y) {
98
- const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this;
99
- const stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = (xins - yins + 1) | (inSum << 1) | ((inSum + yins) << 2) | ((inSum + xins) << 4);
108
+ const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this, stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = (xins - yins + 1) | (inSum << 1) | ((inSum + yins) << 2) | ((inSum + xins) << 4);
100
109
  let value = 0;
101
110
  for (let c = _lookup[hash]; c !== undefined; c = c.next) {
102
111
  const dx = dx0 + c.dx, dy = dy0 + c.dy, attn = 2 - dx * dx - dy * dy;
@@ -108,8 +117,7 @@
108
117
  return value * _NORM_2D;
109
118
  }
110
119
  seed(clientSeed) {
111
- const { _p2D, _base2D, _lookupPairs2D } = this;
112
- const contributions = [];
120
+ const { _p2D, _base2D, _lookupPairs2D } = this, contributions = [];
113
121
  for (let i = 0; i < _p2D.length; i += 4) {
114
122
  const baseSet = _base2D[_p2D[i]];
115
123
  let previous = null, current = null;
@@ -12,6 +12,16 @@
12
12
  exports.SimplexNoise3D = void 0;
13
13
  const utils_js_1 = require("../utils.js");
14
14
  class SimplexNoise3D {
15
+ _NORM_3D;
16
+ _SQUISH_3D;
17
+ _STRETCH_3D;
18
+ _base3D;
19
+ _gradients3D;
20
+ _lookup;
21
+ _lookupPairs3D;
22
+ _p3D;
23
+ _perm;
24
+ _perm3D;
15
25
  constructor() {
16
26
  this._NORM_3D = 1.0 / 103.0;
17
27
  this._SQUISH_3D = (Math.sqrt(3 + 1) - 1) / 3;
@@ -12,6 +12,16 @@
12
12
  exports.SimplexNoise4D = void 0;
13
13
  const utils_js_1 = require("../utils.js");
14
14
  class SimplexNoise4D {
15
+ _NORM_4D;
16
+ _SQUISH_4D;
17
+ _STRETCH_4D;
18
+ _base4D;
19
+ _gradients4D;
20
+ _lookup;
21
+ _lookupPairs4D;
22
+ _p4D;
23
+ _perm;
24
+ _perm4D;
15
25
  constructor() {
16
26
  this._NORM_4D = 1.0 / 30.0;
17
27
  this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * 0.25;
@@ -2791,8 +2801,7 @@
2791
2801
  ];
2792
2802
  }
2793
2803
  noise(x, y, z, w) {
2794
- const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this;
2795
- const stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = (zins - wins + 1) |
2804
+ const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this, stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = (zins - wins + 1) |
2796
2805
  ((yins - zins + 1) << 1) |
2797
2806
  ((yins - wins + 1) << 2) |
2798
2807
  ((xins - yins + 1) << 3) |
@@ -2817,8 +2826,7 @@
2817
2826
  return value * _NORM_4D;
2818
2827
  }
2819
2828
  seed(clientSeed) {
2820
- const { _p4D, _base4D, _lookupPairs4D } = this;
2821
- const contributions = [];
2829
+ const { _p4D, _base4D, _lookupPairs4D } = this, contributions = [];
2822
2830
  for (let i = 0; i < _p4D.length; i += 16) {
2823
2831
  const baseSet = _base4D[_p4D[i]];
2824
2832
  let previous = null, current = null;
@@ -14,6 +14,9 @@
14
14
  const SimplexNoise3D_js_1 = require("./Classes/SimplexNoise3D.js");
15
15
  const SimplexNoise4D_js_1 = require("./Classes/SimplexNoise4D.js");
16
16
  class SimplexNoise {
17
+ noise2d;
18
+ noise3d;
19
+ noise4d;
17
20
  constructor() {
18
21
  this.noise2d = new SimplexNoise2D_js_1.SimplexNoise2D();
19
22
  this.noise3d = new SimplexNoise3D_js_1.SimplexNoise3D();
@@ -1 +0,0 @@
1
- /*! tsParticles Simplex Noise v4.0.0-alpha.0 by Matteo Bruni */