UNPKG

geotiff-tile-web-worker

Version:
1 lines 1.74 MB
module.exports = { workerString: "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./node_modules/microlink/esm/batch.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/microlink/esm/batch.js ***!\n \\*********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ batch)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction batch(action, _ref) {\n var _ref$size = _ref.size,\n size = _ref$size === void 0 ? 1 : _ref$size,\n _ref$wait = _ref.wait,\n wait = _ref$wait === void 0 ? Infinity : _ref$wait;\n var timeout = null;\n var current = [];\n return function (params) {\n var batch = current;\n var send = /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n Promise.resolve(action(batch.map(function (it) {\n return it.params;\n }))).then(function (results) {\n results.forEach(function (result, i) {\n batch[i].resolve(result);\n });\n });\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function send() {\n return _ref2.apply(this, arguments);\n };\n }();\n return new Promise(function (resolve, reject) {\n batch.push({\n resolve: resolve,\n params: params,\n reject: reject\n });\n if (batch.length === size) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n send();\n current = [];\n } else if (!timeout && wait !== Infinity) {\n timeout = setTimeout(function () {\n // check if batch already sent\n if (current === batch) {\n current = [];\n clearTimeout(timeout);\n timeout = null;\n send();\n }\n }, wait);\n }\n });\n };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/microlink/esm/batchcall.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/microlink/esm/batchcall.js ***!\n \\*************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ batchcall)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _serialize_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./serialize.js */ \"./node_modules/microlink/esm/serialize.js\");\n\n\n\n\n\n\n\n/**\n *\n * @param {*} it\n * @param {{ params, method }[]} batch\n * @param {*} param2\n * @returns\n */\nfunction batchcall(it, batch) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$debug_level = _ref.debug_level,\n debug_level = _ref$debug_level === void 0 ? 0 : _ref$debug_level;\n var all_params_functions = {};\n\n // pre-process and serialize requests\n var requests = batch.map(function (_ref2) {\n var id = _ref2.id,\n method = _ref2.method,\n params = _ref2.params;\n if (typeof id !== \"number\") id = Math.random();\n var _serialize = (0,_serialize_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(params || [], \"microlink.call:\"),\n _serialize2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_serialize, 2),\n params_serialized = _serialize2[0],\n params_functions = _serialize2[1];\n Object.assign(all_params_functions, params_functions);\n return {\n jsonrpc: \"2.0\",\n id: id,\n method: method,\n params: params_serialized\n };\n });\n if (debug_level >= 2) console.log(\"[microlink.batchcall] requests serialized to \", requests);\n var ids = requests.map(function (req) {\n return req.id;\n });\n return new Promise(function (resolve) {\n var listener = /*#__PURE__*/function () {\n var _listener = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee(evt) {\n var data, _all_params_functions, result, msg, results;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (debug_level >= 2) {\n console.log(\"[microlink.batchcall] response listener received message event with data\", evt.data);\n }\n data = evt.data;\n if (!((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(data) !== \"object\" || data === null)) {\n _context.next = 4;\n break;\n }\n return _context.abrupt(\"return\");\n case 4:\n if (!(data.jsonrpc === \"2.0\" && data.method && data.method in all_params_functions)) {\n _context.next = 13;\n break;\n }\n if (Array.isArray(data.params)) {\n _context.next = 7;\n break;\n }\n throw Error(\"[microlink.batchcall] params should be an array\");\n case 7:\n _context.next = 9;\n return (_all_params_functions = all_params_functions)[data.method].apply(_all_params_functions, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(data.params));\n case 9:\n result = _context.sent;\n msg = {\n jsonrpc: \"2.0\",\n result: result,\n id: data.id\n };\n if (debug_level >= 2) console.log(\"[microlink.batchcall] posting message down to worker:\", msg);\n return _context.abrupt(\"return\", it.postMessage(msg));\n case 13:\n if (Array.isArray(data) && data.every(function (it) {\n return (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(it) === \"object\" && ids.includes(it.id);\n })) {\n if (debug_level >= 2) console.log(\"[microlink.batchcall] removing exhausted listener\");\n it.removeEventListener(\"message\", listener);\n\n // enable garbage collection of params\n // even if promise is used later\n all_params_functions = null;\n\n // sort output results by input order\n data.sort(function (a, b) {\n return Math.sign(ids.indexOf(a.id) - ids.indexOf(b.id));\n });\n results = data.map(function (res) {\n return res.result;\n });\n if (debug_level >= 2) console.log(\"[microlink.batchcall] resolving batch call:\", results);\n resolve(results);\n }\n case 14:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n function listener(_x) {\n return _listener.apply(this, arguments);\n }\n return listener;\n }();\n it.addEventListener(\"message\", listener);\n if (debug_level >= 2) console.log(\"[microlink.batchcall] posting message down to worker:\", requests);\n return it.postMessage(requests);\n });\n}\n\n/***/ }),\n\n/***/ \"./node_modules/microlink/esm/deserialize.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/microlink/esm/deserialize.js ***!\n \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ deserialize)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _batch_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./batch.js */ \"./node_modules/microlink/esm/batch.js\");\n/* harmony import */ var _batchcall_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./batchcall.js */ \"./node_modules/microlink/esm/batchcall.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./enums.js */ \"./node_modules/microlink/esm/enums.js\");\n\n\n\n\n\n// const cache = {};\n\nfunction deserialize(it, inpt) {\n var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},\n _ref$batch_size = _ref.batch_size,\n batch_size = _ref$batch_size === void 0 ? 1 : _ref$batch_size,\n _ref$batch_wait = _ref.batch_wait,\n batch_wait = _ref$batch_wait === void 0 ? 10 : _ref$batch_wait,\n _ref$debug_level = _ref.debug_level,\n debug_level = _ref$debug_level === void 0 ? 0 : _ref$debug_level;\n if (Array.isArray(inpt)) {\n if (depth >= 0) {\n return inpt.map(function (param) {\n return deserialize(it, param, depth - 1, {\n batch_size: batch_size,\n batch_wait: batch_wait\n });\n });\n } else {\n return inpt;\n }\n } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inpt) === \"object\" && inpt !== null && inpt.constructor.name.indexOf(\"Array\") === -1) {\n var obj = {};\n for (var key in inpt) {\n obj[key] = deserialize(it, inpt[key], depth - 1, {\n batch_size: batch_size,\n batch_wait: batch_wait\n });\n }\n return obj;\n } else if (typeof inpt === \"string\" && inpt.startsWith(_enums_js__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_FUNCTION_PREFIX)) {\n var method = inpt.replace(_enums_js__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_FUNCTION_PREFIX, \"\");\n var runInBatch = (0,_batch_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (params) {\n return (0,_batchcall_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(it, params, {\n debug_level: debug_level\n });\n }, {\n size: batch_size,\n wait: batch_wait\n });\n return function () {\n var params = Array.from(arguments);\n return runInBatch({\n method: method,\n params: params\n });\n };\n // return async function () {\n // const params = Array.from(arguments);\n // // const str = JSON.stringify(params); // adding overhead??\n // // if (!(str in cache)) {\n // // cache[str] = runInBatch({ method, params });\n // // }\n // // return cache[str];\n // return runInBatch({ method, params });\n // };\n } else if (typeof inpt === \"string\" && inpt.startsWith(_enums_js__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_PROMISE_PREFIX)) {\n var _method = inpt.replace(_enums_js__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_PROMISE_PREFIX, \"\");\n var _runInBatch = (0,_batch_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(function (params) {\n return (0,_batchcall_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(it, params, {\n debug_level: debug_level\n });\n }, {\n size: batch_size,\n wait: batch_wait\n });\n return _runInBatch({\n method: _method,\n params: []\n });\n } else {\n return inpt;\n }\n}\n\n/***/ }),\n\n/***/ \"./node_modules/microlink/esm/enums.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/microlink/esm/enums.js ***!\n \\*********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_FUNCTION_PREFIX: () => (/* binding */ DEFAULT_FUNCTION_PREFIX),\n/* harmony export */ DEFAULT_PROMISE_PREFIX: () => (/* binding */ DEFAULT_PROMISE_PREFIX)\n/* harmony export */ });\nvar DEFAULT_FUNCTION_PREFIX = \"microlink.function:\";\nvar DEFAULT_PROMISE_PREFIX = \"microlink.promise:\";\n\n/***/ }),\n\n/***/ \"./node_modules/microlink/esm/errors.js\":\n/*!**********************************************!*\\\n !*** ./node_modules/microlink/esm/errors.js ***!\n \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InternalError: () => (/* binding */ InternalError),\n/* harmony export */ MethodNotFound: () => (/* binding */ MethodNotFound)\n/* harmony export */ });\nfunction InternalError(_ref) {\n var error = _ref.error,\n id = _ref.id;\n return {\n jsonrpc: \"2.0\",\n error: {\n code: -32603,\n message: \"Internal error\",\n data: {\n error: error.message\n }\n },\n id: id\n };\n}\nfunction MethodNotFound(_ref2) {\n var id = _ref2.id,\n method = _ref2.method;\n return {\n jsonrpc: \"2.0\",\n error: {\n code: -32601,\n message: \"Method not found\",\n data: {\n method: method\n }\n },\n id: id\n };\n}\n\n/***/ }),\n\n/***/ \"./node_modules/microlink/esm/expose.js\":\n/*!**********************************************!*\\\n !*** ./node_modules/microlink/esm/expose.js ***!\n \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ expose)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _deserialize_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./deserialize.js */ \"./node_modules/microlink/esm/deserialize.js\");\n/* harmony import */ var _serialize_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./serialize.js */ \"./node_modules/microlink/esm/serialize.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./enums.js */ \"./node_modules/microlink/esm/enums.js\");\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/microlink/esm/errors.js\");\n\n\n\n\n\n\n\n\n\nfunction expose(obj, options) {\n var batch_size = options && typeof options.batch_size === \"number\" ? options.batch_size : 1;\n var batch_wait = options && typeof options.batch_wait === \"number\" ? options.batch_wait : Infinity; // 10ms\n var debug_level = options && options.debug_level;\n var all_funcs = {};\n var onmessage = /*#__PURE__*/function () {\n var _ref = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee2(evt) {\n var data, results, _evt$data, id, method, params, deserialized_params, result, _serialize, _serialize2, serialized_result, funcs;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n data = evt.data;\n if (debug_level >= 2) console.log(\"[microlink.expose] received message data\", data);\n if (!(Array.isArray(data) && data.length >= 1 && data[0].jsonrpc === \"2.0\" && data[0].method)) {\n _context2.next = 11;\n break;\n }\n if (debug_level >= 2) console.log(\"[microlink.call] top thread received batch request\");\n if (all_funcs) {\n _context2.next = 6;\n break;\n }\n throw new Error(\"[microlink.call] no callable functions\");\n case 6:\n _context2.next = 8;\n return Promise.all(data.map( /*#__PURE__*/function () {\n var _ref2 = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_3__[\"default\"])( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().mark(function _callee(req) {\n var result;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(typeof all_funcs[req.method] !== \"function\")) {\n _context.next = 2;\n break;\n }\n return _context.abrupt(\"return\", (0,_errors_js__WEBPACK_IMPORTED_MODULE_8__.MethodNotFound)({\n id: req.id,\n method: req.method\n }));\n case 2:\n _context.prev = 2;\n _context.next = 5;\n return all_funcs[req.method].apply(all_funcs, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(req.params));\n case 5:\n result = _context.sent;\n return _context.abrupt(\"return\", {\n jsonrpc: \"2.0\",\n result: result,\n id: req.id\n });\n case 9:\n _context.prev = 9;\n _context.t0 = _context[\"catch\"](2);\n return _context.abrupt(\"return\", (0,_errors_js__WEBPACK_IMPORTED_MODULE_8__.InternalError)({\n id: id,\n error: _context.t0\n }));\n case 12:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[2, 9]]);\n }));\n return function (_x2) {\n return _ref2.apply(this, arguments);\n };\n }()));\n case 8:\n results = _context2.sent;\n if (debug_level >= 2) console.log(\"[microlink.call] exposed thread posting results to main thread:\", results);\n return _context2.abrupt(\"return\", postMessage(results));\n case 11:\n if (!((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(data) !== \"object\")) {\n _context2.next = 13;\n break;\n }\n return _context2.abrupt(\"return\");\n case 13:\n if (!(data.jsonrpc !== \"2.0\")) {\n _context2.next = 15;\n break;\n }\n return _context2.abrupt(\"return\");\n case 15:\n if (data.method) {\n _context2.next = 17;\n break;\n }\n return _context2.abrupt(\"return\");\n case 17:\n _evt$data = evt.data, id = _evt$data.id, method = _evt$data.method, params = _evt$data.params;\n if (!(method === \"microlink.list\")) {\n _context2.next = 21;\n break;\n }\n if (debug_level >= 2) console.log(\"[microlink.expose] posting method names\", data);\n return _context2.abrupt(\"return\", postMessage({\n jsonrpc: \"2.0\",\n result: Object.keys(obj),\n id: id\n }));\n case 21:\n if (!(typeof obj[method] !== \"function\")) {\n _context2.next = 24;\n break;\n }\n if (debug_level >= 2) console.error(\"[microlink.expose] method not found: \" + method);\n return _context2.abrupt(\"return\", postMessage((0,_errors_js__WEBPACK_IMPORTED_MODULE_8__.MethodNotFound)({\n id: id,\n method: method\n })));\n case 24:\n _context2.prev = 24;\n // batching applies to messsages posted up\n deserialized_params = (0,_deserialize_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(self, params, 2, {\n batch_size: batch_size,\n batch_wait: batch_wait\n });\n _context2.next = 28;\n return obj[method].apply(obj, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(deserialized_params));\n case 28:\n result = _context2.sent;\n _serialize = (0,_serialize_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(result, {\n function_prefix: _enums_js__WEBPACK_IMPORTED_MODULE_7__.DEFAULT_FUNCTION_PREFIX,\n promise_prefix: _enums_js__WEBPACK_IMPORTED_MODULE_7__.DEFAULT_PROMISE_PREFIX\n }), _serialize2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_serialize, 2), serialized_result = _serialize2[0], funcs = _serialize2[1];\n if (debug_level >= 2) console.log(\"[microlink.expose]\", method, \"result\", result, \"serialized to\", [serialized_result, funcs]);\n Object.assign(all_funcs, funcs);\n\n // encode result in case it returns a function or promise\n\n if (debug_level >= 2) console.log(\"[microlink.expose] posting serialized result for \" + method + \": \" + JSON.stringify(serialized_result));\n return _context2.abrupt(\"return\", postMessage({\n jsonrpc: \"2.0\",\n result: serialized_result,\n id: id\n }));\n case 36:\n _context2.prev = 36;\n _context2.t0 = _context2[\"catch\"](24);\n console.error(\"[microlink.expose] error:\", _context2.t0);\n return _context2.abrupt(\"return\", postMessage((0,_errors_js__WEBPACK_IMPORTED_MODULE_8__.InternalError)({\n error: _context2.t0,\n id: id\n })));\n case 40:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[24, 36]]);\n }));\n return function onmessage(_x) {\n return _ref.apply(this, arguments);\n };\n }();\n\n // unblock main thread of worker\n addEventListener(\"message\", function (evt) {\n setTimeout(function () {\n return onmessage(evt);\n }, 0);\n });\n}\n\n/***/ }),\n\n/***/ \"./node_modules/microlink/esm/serialize.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/microlink/esm/serialize.js ***!\n \\*************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ serialize)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./enums.js */ \"./node_modules/microlink/esm/enums.js\");\n\n\n\n\n/**\n * @name serialize\n * @description convert functions and promises at any level of nesting to strings\n * @param {any} it\n * @param {String} prefix - add to beginning of function ids\n * @returns [it, funcs]\n */\nfunction serialize(things) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$function_prefix = _ref.function_prefix,\n function_prefix = _ref$function_prefix === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_FUNCTION_PREFIX : _ref$function_prefix,\n _ref$promise_prefix = _ref.promise_prefix,\n promise_prefix = _ref$promise_prefix === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.DEFAULT_PROMISE_PREFIX : _ref$promise_prefix;\n var generate_id = arguments.length > 2 ? arguments[2] : undefined;\n var funcs = {};\n var proms = {};\n if (!generate_id) generate_id = function generate_id() {\n return Math.random();\n };\n function stringify(it) {\n if (Array.isArray(it)) {\n return it.map(function (i) {\n return stringify(i);\n });\n } else if (typeof it === \"function\") {\n var fid = generate_id(it);\n funcs[fid] = it;\n return function_prefix + fid;\n } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(it) === \"object\" && it !== null && typeof it.then === \"function\") {\n var pid = generate_id(it);\n proms[pid] = it;\n funcs[pid] = function () {\n return it;\n }; // create function that returns the promise\n return promise_prefix + pid;\n } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(it) === \"object\" && it !== null && it.constructor.name.indexOf(\"Array\") === -1) {\n // object that is not null nor a typed array\n return Object.fromEntries(Object.entries(it).map(function (_ref2) {\n var _ref3 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_ref2, 2),\n k = _ref3[0],\n v = _ref3[1];\n return [k, stringify(v)];\n }));\n } else {\n return it;\n }\n }\n things = stringify(things);\n return [things, funcs, proms];\n}\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/bbox-area.js\":\n/*!********************************************!*\\\n !*** ./node_modules/bbox-fns/bbox-area.js ***!\n \\********************************************/\n/***/ ((module) => {\n\n\"use strict\";\n\n\n/**\n * @name bboxArea\n * @param {Array} bbox - bounding box in form [xmin, ymin, xmax, ymax]\n * @return {Number} area of the bounding box\n */\nfunction bboxArea([xmin, ymin, xmax, ymax]) {\n return (xmax - xmin) * (ymax - ymin);\n}\n\nmodule.exports = bboxArea;\nmodule.exports[\"default\"] = bboxArea;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/bbox-array.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/bbox-fns/bbox-array.js ***!\n \\*********************************************/\n/***/ ((module) => {\n\n\"use strict\";\n\n\n/**\n * @name bboxArray\n * @param {Array} points - an array (aka ring) of points\n * @return {bbox} bbox in form [xmin, ymin, xmax, ymax]\n */\nfunction bboxArray(points, { nan_strategy = \"throw\" } = { nan_strategy: \"throw\" }) {\n const count = points.length;\n let xmin = null;\n let xmax = null;\n\n let ymin = null;\n let ymax = null;\n for (let i = 0; i < count; i++) {\n const [x, y] = points[i];\n if (isNaN(x)) {\n if (nan_strategy === \"throw\") {\n throw new Error(\"[bbox-fns/bbox-array] encountered point with a NaN value: [\" + x + \", \" + y + \"]\");\n }\n } else if (xmin === null) {\n xmin = x;\n xmax = x;\n } else {\n if (x < xmin) xmin = x;\n else if (x > xmax) xmax = x;\n }\n if (isNaN(y)) {\n if (nan_strategy === \"throw\") {\n throw new Error(\"[bbox-fns/bbox-array] encountered point with a NaN value: [\" + x + \", \" + y + \"]\");\n }\n } else if (ymin === null) {\n ymin = y;\n ymax = y;\n } else {\n if (y < ymin) ymin = y;\n else if (y > ymax) ymax = y;\n }\n }\n return [xmin, ymin, xmax, ymax];\n}\n\nmodule.exports = bboxArray;\nmodule.exports[\"default\"] = bboxArray;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/bbox-point.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/bbox-fns/bbox-point.js ***!\n \\*********************************************/\n/***/ ((module) => {\n\n\"use strict\";\n\n\n/**\n * @name bboxPoint\n * @param {Array} point - a point in form [x, y] or [longitude, latitude]\n * @return {bbox} a bbox of zero width and height in form [xmin, ymin, xmax, ymax]\n */\nfunction bboxPoint([x, y]) {\n return [x, y, x, y];\n}\n\nmodule.exports = bboxPoint;\nmodule.exports[\"default\"] = bboxPoint;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/bbox-size.js\":\n/*!********************************************!*\\\n !*** ./node_modules/bbox-fns/bbox-size.js ***!\n \\********************************************/\n/***/ ((module) => {\n\n\"use strict\";\n\n\n/**\n * @name bboxSize\n * @param {Array} bbox - bounding box in form [xmin, ymin, xmax, ymax]\n * @return {bbox} size of the bounding box in form [width, height]\n */\nfunction bboxSize([xmin, ymin, xmax, ymax]) {\n return [xmax - xmin, ymax - ymin];\n}\n\nmodule.exports = bboxSize;\nmodule.exports[\"default\"] = bboxSize;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/boolean-contains-point.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/bbox-fns/boolean-contains-point.js ***!\n \\*********************************************************/\n/***/ ((module) => {\n\n\"use_strict\";\n\n// check if a bounding box contains a point\nfunction booleanContainsPoint([xmin, ymin, xmax, ymax], [x, y], { exclusive = false } = { exclusive: false }) {\n if (exclusive) {\n // exclude points on an exact edge of the bounding box\n return y < ymax && y > ymin && x < xmax && x > xmin;\n } else {\n return y >= ymin && y <= ymax && x >= xmin && x <= xmax;\n }\n}\n\nmodule.exports = booleanContainsPoint;\nmodule.exports[\"default\"] = booleanContainsPoint;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/boolean-contains.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/bbox-fns/boolean-contains.js ***!\n \\***************************************************/\n/***/ ((module) => {\n\n\"use_strict\";\n\n// check if the first bbox completely contains the second\nfunction booleanContains([axmin, aymin, axmax, aymax], [bxmin, bymin, bxmax, bymax], { exclusive = false } = { exclusive: false }) {\n if (exclusive) {\n const xContained = bxmin > axmin && bxmax < axmax;\n const yContained = bymin > aymin && bymax < aymax;\n return xContained && yContained;\n } else {\n const xContained = bxmin >= axmin && bxmax <= axmax;\n const yContained = bymin >= aymin && bymax <= aymax;\n return xContained && yContained;\n }\n}\n\nmodule.exports = booleanContains;\nmodule.exports[\"default\"] = booleanContains;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/boolean-intersects.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/bbox-fns/boolean-intersects.js ***!\n \\*****************************************************/\n/***/ ((module) => {\n\n\"use_strict\";\n\n// check if two bounding boxes overlap at all\nfunction booleanIntersects([axmin, aymin, axmax, aymax], [bxmin, bymin, bxmax, bymax]) {\n const yOverlaps = bymin <= aymax && bymax >= aymin;\n const xOverlaps = bxmin <= axmax && bxmax >= axmin;\n return xOverlaps && yOverlaps;\n}\n\nmodule.exports = booleanIntersects;\nmodule.exports[\"default\"] = booleanIntersects;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/boolean-rectangle.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/bbox-fns/boolean-rectangle.js ***!\n \\****************************************************/\n/***/ ((module) => {\n\nconst VALID_ORDERING = [\n // clockwise\n \"right -> down -> left -> up\",\n \"down -> left -> up -> right\",\n \"left -> up -> right -> down\",\n \"up -> right -> down -> left\",\n\n // counter-clockwise\n \"down -> right -> up -> left\",\n \"right -> up -> left -> down\",\n \"up -> left -> down -> right\",\n \"left -> down -> right -> up\"\n];\n\nfunction booleanRectangle(coords, { debug = 0 } = { debug: 0 }) {\n if (!Array.isArray(coords)) {\n if (debug) {\n console.log(\"[bbox-fns/booleanRectangle] coords is not an array\");\n }\n return false;\n }\n\n // unwrap ring from polygon\n if (coords.length === 1) coords = coords[0];\n\n // if multi-polygon, may need to unwrap twice\n if (coords.length === 1) coords = coords[0];\n\n if (!coords.every(pt => Array.isArray(pt) && pt.every(n => typeof n === \"number\"))) {\n if (debug) console.log(\"[bbox-fns/booleanRectangle] invalid points\");\n return false;\n }\n\n // first and last coordinate should be the same\n if (JSON.stringify(coords[0]) !== JSON.stringify(coords[coords.length - 1])) {\n if (debug) console.log(\"[bbox-fns/booleanRectangle] first and last coordinates not equal\");\n return false;\n }\n\n let order = [];\n for (let i = 1; i < coords.length; i++) {\n const [x0, y0] = coords[i - 1];\n const [x1, y1] = coords[i];\n const vertical = x0 === x1;\n const horizontal = y0 === y1;\n\n // if both true or both false\n if (vertical === horizontal) {\n if (debug) console.log(\"[bbox-fns/booleanRectangle] invalid angle\");\n return false;\n }\n\n let direction;\n if (vertical) {\n direction = y1 > y0 ? \"up\" : \"down\";\n } else if (horizontal) {\n direction = x1 > x0 ? \"right\" : \"left\";\n }\n\n if (direction !== order[order.length - 1]) {\n if (order.length === 4) {\n if (debug) console.log(\"[bbox-fns/booleanRectangle] more than 4 turns\");\n return false;\n }\n order.push(direction);\n }\n }\n\n order = order.join(\" -> \");\n if (debug) console.log(\"[bbox-fns/booleanRectangle] order: \" + order);\n\n if (VALID_ORDERING.indexOf(order) === -1) {\n if (debug) console.log(\"[bbox-fns/booleanRectangle] invalid order\");\n return false;\n }\n\n return true;\n}\n\nmodule.exports = booleanRectangle;\nmodule.exports[\"default\"] = booleanRectangle;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/calc-all.js\":\n/*!*******************************************!*\\\n !*** ./node_modules/bbox-fns/calc-all.js ***!\n \\*******************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use_strict\";\n\nconst dedupe = __webpack_require__(/*! ./dedupe.js */ \"./node_modules/bbox-fns/dedupe.js\");\n\nfunction flatten(arr) {\n const out = [];\n for (let a = 0; a < arr.length; a++) {\n const it = arr[a];\n for (let i = 0; i < it.length; i++) {\n out.push(it[i]);\n }\n }\n return out;\n}\n\nfunction calcAll(geom) {\n if (geom.geometry) geom = geom.geometry;\n if (geom.coordinates) geom = geom.coordinates;\n\n if (geom.paths) geom = geom.paths; // ArcGIS Polyline\n if (geom.points) geom = geom.points; // ArcGIS Multipoint\n if (geom.rings) geom = geom.rings; // ArcGIS Polygon\n\n // GeoJSON FeatureCollection\n if (Array.isArray(geom.features)) {\n return dedupe(flatten(geom.features.map(calcAll)));\n }\n\n // GeoJSON GeometryCollection\n if (Array.isArray(geom.geometries)) {\n return dedupe(flatten(geom.geometries.map(calcAll)));\n }\n\n if (Array.isArray(geom) && Array.isArray(geom[0]) && Array.isArray(geom[0][0])) {\n return dedupe(flatten(geom.map(calcAll)));\n }\n\n // array of [x, y] coordinate pairs\n if (Array.isArray(geom) && Array.isArray(geom[0]) && typeof geom[0][0] === \"number\") {\n const [x, y] = geom[0];\n let xmin = x;\n let ymin = y;\n let xmax = x;\n let ymax = y;\n geom.forEach(([px, py]) => {\n if (px < xmin) xmin = px;\n if (px > xmax) xmax = px;\n if (py < ymin) ymin = py;\n if (py > ymax) ymax = py;\n });\n return [[xmin, ymin, xmax, ymax]];\n }\n\n // point\n if (Array.isArray(geom) && (geom.length === 2 || geom.length === 3) && typeof geom[0] === \"number\") {\n const [x, y] = geom;\n return [[x, y, x, y]];\n }\n\n // ArcGIS Point\n if (typeof geom.x === \"number\" && typeof geom.y === \"number\") {\n const { x, y } = geom;\n return [[x, y, x, y]];\n }\n\n if ([\"xmin\", \"xmax\", \"ymin\", \"ymax\"].every(k => typeof geom[k] === \"number\")) {\n return [[geom.xmin, geom.ymin, geom.xmax, geom.ymax]];\n }\n}\n\nmodule.exports = calcAll;\nmodule.exports[\"default\"] = calcAll;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/calc.js\":\n/*!***************************************!*\\\n !*** ./node_modules/bbox-fns/calc.js ***!\n \\***************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use_strict\";\n\nconst merge = __webpack_require__(/*! ./merge.js */ \"./node_modules/bbox-fns/merge.js\");\n\nfunction calc(geom) {\n if (geom.geometry) geom = geom.geometry;\n if (geom.coordinates) geom = geom.coordinates;\n\n if (geom.paths) geom = geom.paths; // ArcGIS Polyline\n if (geom.points) geom = geom.points; // ArcGIS Multipoint\n if (geom.rings) geom = geom.rings; // ArcGIS Polygon\n\n // GeoJSON FeatureCollection\n if (Array.isArray(geom.features)) {\n return merge(geom.features.map(calc));\n }\n\n // GeoJSON GeometryCollection\n if (Array.isArray(geom.geometries)) {\n return merge(geom.geometries.map(calc));\n }\n\n if (Array.isArray(geom) && Array.isArray(geom[0]) && Array.isArray(geom[0][0])) {\n return merge(geom.map(calc));\n }\n\n // array of [x, y] coordinate pairs\n if (Array.isArray(geom) && Array.isArray(geom[0]) && typeof geom[0][0] === \"number\") {\n const [x, y] = geom[0];\n let xmin = x;\n let ymin = y;\n let xmax = x;\n let ymax = y;\n geom.forEach(([px, py]) => {\n if (px < xmin) xmin = px;\n if (px > xmax) xmax = px;\n if (py < ymin) ymin = py;\n if (py > ymax) ymax = py;\n });\n return [xmin, ymin, xmax, ymax];\n }\n\n // point\n if (Array.isArray(geom) && (geom.length === 2 || geom.length === 3) && typeof geom[0] === \"number\") {\n const [x, y] = geom;\n return [x, y, x, y];\n }\n\n // ArcGIS Point\n if (typeof geom.x === \"number\" && typeof geom.y === \"number\") {\n const { x, y } = geom;\n return [x, y, x, y];\n }\n\n if ([\"xmin\", \"xmax\", \"ymin\", \"ymax\"].every(k => typeof geom[k] === \"number\")) {\n return [geom.xmin, geom.ymin, geom.xmax, geom.ymax];\n }\n}\n\nmodule.exports = calc;\nmodule.exports[\"default\"] = calc;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/dedupe.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/bbox-fns/dedupe.js ***!\n \\*****************************************/\n/***/ ((module) => {\n\nfunction dedupe(arr) {\n const strs = [];\n for (let i = 0; i < arr.length; i++) {\n const it = arr[i];\n const s = JSON.stringify(it);\n if (strs.indexOf(s) === -1) {\n strs.push(s);\n }\n }\n return strs.map(s => JSON.parse(s));\n}\n\nmodule.exports = dedupe;\nmodule.exports[\"default\"] = dedupe;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/dense-polygon.js\":\n/*!************************************************!*\\\n !*** ./node_modules/bbox-fns/dense-polygon.js ***!\n \\************************************************/\n/***/ ((module) => {\n\n\"use_strict\";\n\nfunction densePolygon([xmin, ymin, xmax, ymax], { density = 0 } = { density: 0 }) {\n if (typeof density === \"number\") density = [density, density];\n\n const [x_density, y_density] = density;\n\n const height = ymax - ymin;\n const width = xmax - xmin;\n\n const ring = [];\n\n // left-side, bottom-side, right-side, top-side\n const x_distance = width / (x_density + 1);\n const y_distance = height / (y_density + 1);\n\n // add top left corner\n ring.push([xmin, ymax]);\n\n // left-edge\n for (let i = 1; i <= y_density; i++) ring.push([xmin, ymax - i * y_distance]);\n\n // add bottom left corner\n ring.push([xmin, ymin]);\n\n // bottom-edge\n for (let i = 1; i <= x_density; i++) ring.push([xmin + i * x_distance, ymin]);\n\n // add bottom right corner\n ring.push([xmax, ymin]);\n\n // right-edge\n for (let i = 1; i <= y_density; i++) ring.push([xmax, ymin + i * y_distance]);\n\n // add top right corner\n ring.push([xmax, ymax]);\n\n // top-edge\n for (let i = 1; i <= x_density; i++) ring.push([xmax - i * x_distance, ymax]);\n\n // add top left corner (repeats according to GeoJSON spec)\n ring.push([xmin, ymax]);\n\n return [ring];\n}\n\nmodule.exports = densePolygon;\nmodule.exports[\"default\"] = densePolygon;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/grid.js\":\n/*!***************************************!*\\\n !*** ./node_modules/bbox-fns/grid.js ***!\n \\***************************************/\n/***/ ((module) => {\n\n\"use strict\";\n\n\n/**\n * @name grid\n * @param {Array} bbox - bounding box in form [xmin, ymin, xmax, ymax]\n * @return {Array<bbox>} array of bounding boxes\n */\nfunction grid([xmin, ymin, xmax, ymax], div) {\n if (typeof div === \"number\") div = [div, div];\n else if (typeof div === \"undefined\") div = [2, 2];\n\n const [columns, rows] = div;\n\n const height = ymax - ymin;\n const width = xmax - xmin;\n\n const cells = [];\n\n const cell_width = width / columns;\n const cell_height = height / rows;\n\n for (let r = 0; r < rows; r++) {\n const cell_ymin = ymin + r * cell_height;\n const cell_ymax = r === rows.length - 1 ? ymax : cell_ymin + cell_height;\n for (let c = 0; c < columns; c++) {\n const cell_xmin = xmin + c * cell_width;\n const cell_xmax = c === columns.length - 1 ? xmax : cell_xmin + cell_width;\n cells.push([cell_xmin, cell_ymin, cell_xmax, cell_ymax]);\n }\n }\n\n return cells;\n}\n\nmodule.exports = grid;\nmodule.exports[\"default\"] = grid;\n\n\n/***/ }),\n\n/***/ \"./node_modules/bbox-fns/index.js\":\n/*!****************************************!*\\\n !*** ./node_modules/bbox-fns/index.js ***!\n \\****************************************/\n/***/ ((module, exports, __webpack_require__) => {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;\"use_strict\";\n\nconst bboxArea = __webpack_require__(/*! ./bbox-area.js */ \"./node_modules/bbox-fns/bbox-area.js\");\nconst bboxArray = __webpack_require__(/*! ./bbox-array.js */ \"./node_modules/bbox-fns/bbox-array.js\");\nconst bboxPoint = __webpack_require__(/*! ./bbox-point.js */ \"./node_modules/bbox-fns/bbox-point.js\");\nconst bboxSize = __webpack_require__(/*! ./bbox-size.js */ \"./node_modules/bbox-fns/bbox-size.js\");\nconst booleanContains = __webpack_require__(/*! ./boolean-contains.js */ \"./node_modules/bbox-fns/boolean-contains.js\");\nconst booleanContainsPoint = __webpack_require__(/*! ./boolean-contains-point.js */ \"./node_modules/bbox-fns/boolean-contains-point.js\");\nconst booleanIntersects = __webpack_require__(/*! ./boolean-intersects.js */ \"./node_modules/bbox-fns/boolean-intersects.js\");\nconst booleanRectangle = __webpack_require__(/*! ./boolean-rectangle.js */ \"./node_modules/bbox-fns/boolean-rectangle.js\");\nconst calc = __webpack_require__(/*! ./calc.js */ \"./node_modules/bbox-fns/calc.js\");\nconst calcAll = __webpack_require__(/*! ./calc-all.js */ \"./node_modules/bbox-fns/calc-all.js\");\nconst densePolygon = __webpack_require__(/*! ./dense-polygon.js */ \"./node_modules/bbox-fns/dense-polygon.js\");\nconst grid = __webpack_require__(/*! ./grid.js */ \"./node_modules/bbox-fns/grid.js\");\nconst intersect = __webpack_require__(/*! ./intersect.js */ \"./node_modules/bbox-fns/intersect.js\");\nconst merge = __webpack_require__(/*! ./merge.js */ \"./node_modules/bbox-fns/merge.js\");\nconst polygon = __webpack_require__(/*! ./polygon.js */ \"./node_modules/bbox-fns/polygon.js\");\nconst preciseDensePolygon = __webpack_require__(/*! ./precise/dense-polygon.js */ \"./node_modules/bbox-fns/precise/dense-polygon.js\");\nconst preciseDivide = __webpack_require__(/*! ./precise/divide.js */ \"./node_modules/bbox-fns/precise/divide.js\");\nconst preciseReproject = __webpack_require__(/*! ./precise/reproject.js */ \"./node_modules/bbox-fns/precise/reproject.js\");\nconst reproject = __webpack_require__(/*! ./reproject.js */ \"./node_modules/bbox-fns/reproject.js\");\nconst scale = __webpack_require__(/*! ./scale.js */ \"./node_modules/bbox-fns/scale.js\");\nconst shift = __webpack_require__(/*! ./shift.js */ \"./node_modules/bbox-fns/shift.js\");\nconst sort = __webpack_require__(/*! ./sort.js */ \"./node_modules/bbox-fns/sort.js\");\nconst split = __webpack_require__(/*! ./split.js */ \"./node_modules/bbox-fns/split.js\");\nconst validate = __webpack_require__(/*! ./validate.js */ \"./node_modules/bbox-fns/validate.js\");\nconst preciseValidate = __webpack_require__(/*! ./precise/validate.js */ \"./node_modules/bbox-fns/precise/validate.js\");\nconst union = __webpack_require__(/*! ./union.js */ \"./node_modules/bbox-fns/union.js\");\nconst unwrap = __webpack_require__(/*! ./unwrap.js */ \"./node_modules/bbox-fns/unwrap.js\");\n\nconst bboxfns = {\n bboxArea,\n bboxArray,\n bboxPoint,\n bboxSize,\n booleanContains,\n booleanContainsPoint,\n booleanIntersects,\n booleanRectangle,\n calc,\n calcAll,\n densePolygon,\n grid,\n intersect,\n merge,\n polygon,\n preciseDensePolygon,\n preciseDivide,\n preciseReproject,\n reproject,\n scale,\n shift,\n split,\n validate,\n preciseValidate,\n sort,\n union,\n unwrap\n};\n\nif