This commit is contained in:
apuc committed 2024-05-20 15:37:46 +03:00
commit 00b7dbd0b7
10404 files changed
+3285853

No files matched your search

@@ -0,0 +1,22 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["node_modules_jsquash_oxipng_codec_pkg-parallel_index_js"],{
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/index.js":
/*!******************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/index.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* empty/unused harmony star reexport */\nObject(function webpackMissingModule() { var e = new Error(\"Cannot find module './optimise'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }());\n\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg-parallel/index.js?");
/***/ })
}]);
@@ -0,0 +1,157 @@
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js":
/*!***************************************************************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js ***!
\***************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"startWorkers\": () => (/* binding */ startWorkers)\n/* harmony export */ });\n/**\n * Copyright 2021 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Note: we use `wasm_bindgen_worker_`-prefixed message types to make sure\n// we can handle bundling into other files, which might happen to have their\n// own `postMessage`/`onmessage` communication channels.\n//\n// If we didn't take that into the account, we could send much simpler signals\n// like just `0` or whatever, but the code would be less resilient.\n\nfunction waitForMsgType(target, type) {\n return new Promise(resolve => {\n target.addEventListener('message', function onMsg({ data }) {\n if (data == null || data.type !== type) return;\n target.removeEventListener('message', onMsg);\n resolve(data);\n });\n });\n}\n\nwaitForMsgType(self, 'wasm_bindgen_worker_init').then(async data => {\n // # Note 1\n // Our JS should have been generated in\n // `[out-dir]/snippets/wasm-bindgen-rayon-[hash]/workerHelpers.js`,\n // resolve the main module via `../../..`.\n //\n // This might need updating if the generated structure changes on wasm-bindgen\n // side ever in the future, but works well with bundlers today. The whole\n // point of this crate, after all, is to abstract away unstable features\n // and temporary bugs so that you don't need to deal with them in your code.\n //\n // # Note 2\n // This could be a regular import, but then some bundlers complain about\n // circular deps.\n //\n // Dynamic import could be cheap if this file was inlined into the parent,\n // which would require us just using `../../..` in `new Worker` below,\n // but that doesn't work because wasm-pack unconditionally adds\n // \"sideEffects\":false (see below).\n //\n // OTOH, even though it can't be inlined, it should be still reasonably\n // cheap since the requested file is already in cache (it was loaded by\n // the main thread).\n const pkg = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_jsquash_oxipng_codec_pkg-parallel_squoosh_oxipng_js\").then(__webpack_require__.bind(__webpack_require__, /*! ../../../squoosh_oxipng */ \"./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js\"));\n await pkg.default(data.module, data.memory);\n postMessage({ type: 'wasm_bindgen_worker_ready' });\n pkg.wbg_rayon_start_worker(data.receiver);\n});\n\nasync function startWorkers(module, memory, builder) {\n const workerInit = {\n type: 'wasm_bindgen_worker_init',\n module,\n memory,\n receiver: builder.receiver()\n };\n\n try {\n await Promise.all(\n Array.from({ length: builder.numThreads() }, () => {\n // Self-spawn into a new Worker.\n //\n // TODO: while `new URL('...', import.meta.url) becomes a semi-standard\n // way to get asset URLs relative to the module across various bundlers\n // and browser, ideally we should switch to `import.meta.resolve`\n // once it becomes a standard.\n //\n // Note: we could use `../../..` as the URL here to inline workerHelpers.js\n // into the parent entry instead of creating another split point -\n // this would be preferable from optimization perspective -\n // however, Webpack then eliminates all message handler code\n // because wasm-pack produces \"sideEffects\":false in package.json\n // unconditionally.\n //\n // The only way to work around that is to have side effect code\n // in an entry point such as Worker file itself.\n const worker = new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(\"node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-312b0a0\"), __webpack_require__.b), {\n type: undefined\n });\n worker.postMessage(workerInit);\n return waitForMsgType(worker, 'wasm_bindgen_worker_ready');\n })\n );\n builder.build();\n } finally {\n builder.free();\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js?");
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__;
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/ensure chunk */
/******/ (() => {
/******/ __webpack_require__.f = {};
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = (chunkId) => {
/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
/******/ __webpack_require__.f[key](chunkId, promises);
/******/ return promises;
/******/ }, []));
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/get javascript chunk filename */
/******/ (() => {
/******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template
/******/ return "" + chunkId + ".js";
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/publicPath */
/******/ (() => {
/******/ __webpack_require__.p = "/test/wp-content/plugins/squeeze/assets/js/";
/******/ })();
/******/
/******/ /* webpack/runtime/importScripts chunk loading */
/******/ (() => {
/******/ __webpack_require__.b = self.location + "";
/******/
/******/ // object to store loaded chunks
/******/ // "1" means "already loaded"
/******/ var installedChunks = {
/******/ "node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-312b0a0": 1
/******/ };
/******/
/******/ // importScripts chunk loading
/******/ var installChunk = (data) => {
/******/ var [chunkIds, moreModules, runtime] = data;
/******/ for(var moduleId in moreModules) {
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(runtime) runtime(__webpack_require__);
/******/ while(chunkIds.length)
/******/ installedChunks[chunkIds.pop()] = 1;
/******/ parentChunkLoadingFunction(data);
/******/ };
/******/ __webpack_require__.f.i = (chunkId, promises) => {
/******/ // "1" is the signal for "already loaded"
/******/ if(!installedChunks[chunkId]) {
/******/ if(true) { // all chunks have JS
/******/ importScripts(__webpack_require__.p + __webpack_require__.u(chunkId));
/******/ }
/******/ }
/******/ };
/******/
/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || [];
/******/ var parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);
/******/ chunkLoadingGlobal.push = installChunk;
/******/
/******/ // no HMR
/******/
/******/ // no HMR manifest
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module is referenced by other modules so it can't be inlined
/******/ var __webpack_exports__ = __webpack_require__("./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js");
/******/
/******/ })()
;
@@ -0,0 +1,184 @@
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js":
/*!***************************************************************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js ***!
\***************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"startWorkers\": () => (/* binding */ startWorkers)\n/* harmony export */ });\n/**\n * Copyright 2021 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Note: we use `wasm_bindgen_worker_`-prefixed message types to make sure\n// we can handle bundling into other files, which might happen to have their\n// own `postMessage`/`onmessage` communication channels.\n//\n// If we didn't take that into the account, we could send much simpler signals\n// like just `0` or whatever, but the code would be less resilient.\n\nfunction waitForMsgType(target, type) {\n return new Promise(resolve => {\n target.addEventListener('message', function onMsg({ data }) {\n if (data == null || data.type !== type) return;\n target.removeEventListener('message', onMsg);\n resolve(data);\n });\n });\n}\n\nwaitForMsgType(self, 'wasm_bindgen_worker_init').then(async data => {\n // # Note 1\n // Our JS should have been generated in\n // `[out-dir]/snippets/wasm-bindgen-rayon-[hash]/workerHelpers.js`,\n // resolve the main module via `../../..`.\n //\n // This might need updating if the generated structure changes on wasm-bindgen\n // side ever in the future, but works well with bundlers today. The whole\n // point of this crate, after all, is to abstract away unstable features\n // and temporary bugs so that you don't need to deal with them in your code.\n //\n // # Note 2\n // This could be a regular import, but then some bundlers complain about\n // circular deps.\n //\n // Dynamic import could be cheap if this file was inlined into the parent,\n // which would require us just using `../../..` in `new Worker` below,\n // but that doesn't work because wasm-pack unconditionally adds\n // \"sideEffects\":false (see below).\n //\n // OTOH, even though it can't be inlined, it should be still reasonably\n // cheap since the requested file is already in cache (it was loaded by\n // the main thread).\n const pkg = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_jsquash_oxipng_codec_pkg-parallel_squoosh_oxipng_js\").then(__webpack_require__.bind(__webpack_require__, /*! ../../../squoosh_oxipng */ \"./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js\"));\n await pkg.default(data.module, data.memory);\n postMessage({ type: 'wasm_bindgen_worker_ready' });\n pkg.wbg_rayon_start_worker(data.receiver);\n});\n\nasync function startWorkers(module, memory, builder) {\n const workerInit = {\n type: 'wasm_bindgen_worker_init',\n module,\n memory,\n receiver: builder.receiver()\n };\n\n try {\n await Promise.all(\n Array.from({ length: builder.numThreads() }, () => {\n // Self-spawn into a new Worker.\n //\n // TODO: while `new URL('...', import.meta.url) becomes a semi-standard\n // way to get asset URLs relative to the module across various bundlers\n // and browser, ideally we should switch to `import.meta.resolve`\n // once it becomes a standard.\n //\n // Note: we could use `../../..` as the URL here to inline workerHelpers.js\n // into the parent entry instead of creating another split point -\n // this would be preferable from optimization perspective -\n // however, Webpack then eliminates all message handler code\n // because wasm-pack produces \"sideEffects\":false in package.json\n // unconditionally.\n //\n // The only way to work around that is to have side effect code\n // in an entry point such as Worker file itself.\n const worker = new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(\"node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-312b0a0\"), __webpack_require__.b), {\n type: undefined\n });\n worker.postMessage(workerInit);\n return waitForMsgType(worker, 'wasm_bindgen_worker_ready');\n })\n );\n builder.build();\n } finally {\n builder.free();\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js?");
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__;
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/ensure chunk */
/******/ (() => {
/******/ __webpack_require__.f = {};
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = (chunkId) => {
/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
/******/ __webpack_require__.f[key](chunkId, promises);
/******/ return promises;
/******/ }, []));
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/get javascript chunk filename */
/******/ (() => {
/******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template
/******/ return "" + chunkId + ".script.bundle.js";
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/publicPath */
/******/ (() => {
/******/ var scriptUrl;
/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
/******/ var document = __webpack_require__.g.document;
/******/ if (!scriptUrl && document) {
/******/ if (document.currentScript)
/******/ scriptUrl = document.currentScript.src;
/******/ if (!scriptUrl) {
/******/ var scripts = document.getElementsByTagName("script");
/******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
/******/ }
/******/ }
/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
/******/ __webpack_require__.p = scriptUrl;
/******/ })();
/******/
/******/ /* webpack/runtime/importScripts chunk loading */
/******/ (() => {
/******/ __webpack_require__.b = self.location + "";
/******/
/******/ // object to store loaded chunks
/******/ // "1" means "already loaded"
/******/ var installedChunks = {
/******/ "node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-312b0a0": 1
/******/ };
/******/
/******/ // importScripts chunk loading
/******/ var installChunk = (data) => {
/******/ var [chunkIds, moreModules, runtime] = data;
/******/ for(var moduleId in moreModules) {
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(runtime) runtime(__webpack_require__);
/******/ while(chunkIds.length)
/******/ installedChunks[chunkIds.pop()] = 1;
/******/ parentChunkLoadingFunction(data);
/******/ };
/******/ __webpack_require__.f.i = (chunkId, promises) => {
/******/ // "1" is the signal for "already loaded"
/******/ if(!installedChunks[chunkId]) {
/******/ if(true) { // all chunks have JS
/******/ importScripts(__webpack_require__.p + __webpack_require__.u(chunkId));
/******/ }
/******/ }
/******/ };
/******/
/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || [];
/******/ var parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);
/******/ chunkLoadingGlobal.push = installChunk;
/******/
/******/ // no HMR
/******/
/******/ // no HMR manifest
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module is referenced by other modules so it can't be inlined
/******/ var __webpack_exports__ = __webpack_require__("./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js");
/******/
/******/ })()
;
@@ -0,0 +1,22 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-312b0a1"],{
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js":
/*!***************************************************************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js ***!
\***************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"startWorkers\": () => (/* binding */ startWorkers)\n/* harmony export */ });\n/**\n * Copyright 2021 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Note: we use `wasm_bindgen_worker_`-prefixed message types to make sure\n// we can handle bundling into other files, which might happen to have their\n// own `postMessage`/`onmessage` communication channels.\n//\n// If we didn't take that into the account, we could send much simpler signals\n// like just `0` or whatever, but the code would be less resilient.\n\nfunction waitForMsgType(target, type) {\n return new Promise(resolve => {\n target.addEventListener('message', function onMsg({ data }) {\n if (data == null || data.type !== type) return;\n target.removeEventListener('message', onMsg);\n resolve(data);\n });\n });\n}\n\nwaitForMsgType(self, 'wasm_bindgen_worker_init').then(async data => {\n // # Note 1\n // Our JS should have been generated in\n // `[out-dir]/snippets/wasm-bindgen-rayon-[hash]/workerHelpers.js`,\n // resolve the main module via `../../..`.\n //\n // This might need updating if the generated structure changes on wasm-bindgen\n // side ever in the future, but works well with bundlers today. The whole\n // point of this crate, after all, is to abstract away unstable features\n // and temporary bugs so that you don't need to deal with them in your code.\n //\n // # Note 2\n // This could be a regular import, but then some bundlers complain about\n // circular deps.\n //\n // Dynamic import could be cheap if this file was inlined into the parent,\n // which would require us just using `../../..` in `new Worker` below,\n // but that doesn't work because wasm-pack unconditionally adds\n // \"sideEffects\":false (see below).\n //\n // OTOH, even though it can't be inlined, it should be still reasonably\n // cheap since the requested file is already in cache (it was loaded by\n // the main thread).\n const pkg = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_jsquash_oxipng_codec_pkg-parallel_squoosh_oxipng_js\").then(__webpack_require__.bind(__webpack_require__, /*! ../../../squoosh_oxipng */ \"./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js\"));\n await pkg.default(data.module, data.memory);\n postMessage({ type: 'wasm_bindgen_worker_ready' });\n pkg.wbg_rayon_start_worker(data.receiver);\n});\n\nasync function startWorkers(module, memory, builder) {\n const workerInit = {\n type: 'wasm_bindgen_worker_init',\n module,\n memory,\n receiver: builder.receiver()\n };\n\n try {\n await Promise.all(\n Array.from({ length: builder.numThreads() }, () => {\n // Self-spawn into a new Worker.\n //\n // TODO: while `new URL('...', import.meta.url) becomes a semi-standard\n // way to get asset URLs relative to the module across various bundlers\n // and browser, ideally we should switch to `import.meta.resolve`\n // once it becomes a standard.\n //\n // Note: we could use `../../..` as the URL here to inline workerHelpers.js\n // into the parent entry instead of creating another split point -\n // this would be preferable from optimization perspective -\n // however, Webpack then eliminates all message handler code\n // because wasm-pack produces \"sideEffects\":false in package.json\n // unconditionally.\n //\n // The only way to work around that is to have side effect code\n // in an entry point such as Worker file itself.\n const worker = new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(\"node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-312b0a0\"), __webpack_require__.b), {\n type: undefined\n });\n worker.postMessage(workerInit);\n return waitForMsgType(worker, 'wasm_bindgen_worker_ready');\n })\n );\n builder.build();\n } finally {\n builder.free();\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js?");
/***/ })
}]);
@@ -0,0 +1,22 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-312b0a1"],{
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js":
/*!***************************************************************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js ***!
\***************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"startWorkers\": () => (/* binding */ startWorkers)\n/* harmony export */ });\n/**\n * Copyright 2021 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Note: we use `wasm_bindgen_worker_`-prefixed message types to make sure\n// we can handle bundling into other files, which might happen to have their\n// own `postMessage`/`onmessage` communication channels.\n//\n// If we didn't take that into the account, we could send much simpler signals\n// like just `0` or whatever, but the code would be less resilient.\n\nfunction waitForMsgType(target, type) {\n return new Promise(resolve => {\n target.addEventListener('message', function onMsg({ data }) {\n if (data == null || data.type !== type) return;\n target.removeEventListener('message', onMsg);\n resolve(data);\n });\n });\n}\n\nwaitForMsgType(self, 'wasm_bindgen_worker_init').then(async data => {\n // # Note 1\n // Our JS should have been generated in\n // `[out-dir]/snippets/wasm-bindgen-rayon-[hash]/workerHelpers.js`,\n // resolve the main module via `../../..`.\n //\n // This might need updating if the generated structure changes on wasm-bindgen\n // side ever in the future, but works well with bundlers today. The whole\n // point of this crate, after all, is to abstract away unstable features\n // and temporary bugs so that you don't need to deal with them in your code.\n //\n // # Note 2\n // This could be a regular import, but then some bundlers complain about\n // circular deps.\n //\n // Dynamic import could be cheap if this file was inlined into the parent,\n // which would require us just using `../../..` in `new Worker` below,\n // but that doesn't work because wasm-pack unconditionally adds\n // \"sideEffects\":false (see below).\n //\n // OTOH, even though it can't be inlined, it should be still reasonably\n // cheap since the requested file is already in cache (it was loaded by\n // the main thread).\n const pkg = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_jsquash_oxipng_codec_pkg-parallel_squoosh_oxipng_js\").then(__webpack_require__.bind(__webpack_require__, /*! ../../../squoosh_oxipng */ \"./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js\"));\n await pkg.default(data.module, data.memory);\n postMessage({ type: 'wasm_bindgen_worker_ready' });\n pkg.wbg_rayon_start_worker(data.receiver);\n});\n\nasync function startWorkers(module, memory, builder) {\n const workerInit = {\n type: 'wasm_bindgen_worker_init',\n module,\n memory,\n receiver: builder.receiver()\n };\n\n try {\n await Promise.all(\n Array.from({ length: builder.numThreads() }, () => {\n // Self-spawn into a new Worker.\n //\n // TODO: while `new URL('...', import.meta.url) becomes a semi-standard\n // way to get asset URLs relative to the module across various bundlers\n // and browser, ideally we should switch to `import.meta.resolve`\n // once it becomes a standard.\n //\n // Note: we could use `../../..` as the URL here to inline workerHelpers.js\n // into the parent entry instead of creating another split point -\n // this would be preferable from optimization perspective -\n // however, Webpack then eliminates all message handler code\n // because wasm-pack produces \"sideEffects\":false in package.json\n // unconditionally.\n //\n // The only way to work around that is to have side effect code\n // in an entry point such as Worker file itself.\n const worker = new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(\"node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-312b0a0\"), __webpack_require__.b), {\n type: undefined\n });\n worker.postMessage(workerInit);\n return waitForMsgType(worker, 'wasm_bindgen_worker_ready');\n })\n );\n builder.build();\n } finally {\n builder.free();\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js?");
/***/ })
}]);
@@ -0,0 +1,157 @@
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js":
/*!***************************************************************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js ***!
\***************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"startWorkers\": () => (/* binding */ startWorkers)\n/* harmony export */ });\n/**\n * Copyright 2021 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Note: we use `wasm_bindgen_worker_`-prefixed message types to make sure\n// we can handle bundling into other files, which might happen to have their\n// own `postMessage`/`onmessage` communication channels.\n//\n// If we didn't take that into the account, we could send much simpler signals\n// like just `0` or whatever, but the code would be less resilient.\n\nfunction waitForMsgType(target, type) {\n return new Promise(resolve => {\n target.addEventListener('message', function onMsg({ data }) {\n if (data == null || data.type !== type) return;\n target.removeEventListener('message', onMsg);\n resolve(data);\n });\n });\n}\n\nwaitForMsgType(self, 'wasm_bindgen_worker_init').then(async data => {\n // # Note 1\n // Our JS should have been generated in\n // `[out-dir]/snippets/wasm-bindgen-rayon-[hash]/workerHelpers.js`,\n // resolve the main module via `../../..`.\n //\n // This might need updating if the generated structure changes on wasm-bindgen\n // side ever in the future, but works well with bundlers today. The whole\n // point of this crate, after all, is to abstract away unstable features\n // and temporary bugs so that you don't need to deal with them in your code.\n //\n // # Note 2\n // This could be a regular import, but then some bundlers complain about\n // circular deps.\n //\n // Dynamic import could be cheap if this file was inlined into the parent,\n // which would require us just using `../../..` in `new Worker` below,\n // but that doesn't work because wasm-pack unconditionally adds\n // \"sideEffects\":false (see below).\n //\n // OTOH, even though it can't be inlined, it should be still reasonably\n // cheap since the requested file is already in cache (it was loaded by\n // the main thread).\n const pkg = await __webpack_require__.e(/*! import() */ \"node_modules_jsquash_oxipng_codec_pkg-parallel_squoosh_oxipng_js\").then(__webpack_require__.bind(__webpack_require__, /*! ../../../squoosh_oxipng */ \"./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js\"));\n await pkg.default(data.module, data.memory);\n postMessage({ type: 'wasm_bindgen_worker_ready' });\n pkg.wbg_rayon_start_worker(data.receiver);\n});\n\nasync function startWorkers(module, memory, builder) {\n const workerInit = {\n type: 'wasm_bindgen_worker_init',\n module,\n memory,\n receiver: builder.receiver()\n };\n\n try {\n await Promise.all(\n Array.from({ length: builder.numThreads() }, () => {\n // Self-spawn into a new Worker.\n //\n // TODO: while `new URL('...', import.meta.url) becomes a semi-standard\n // way to get asset URLs relative to the module across various bundlers\n // and browser, ideally we should switch to `import.meta.resolve`\n // once it becomes a standard.\n //\n // Note: we could use `../../..` as the URL here to inline workerHelpers.js\n // into the parent entry instead of creating another split point -\n // this would be preferable from optimization perspective -\n // however, Webpack then eliminates all message handler code\n // because wasm-pack produces \"sideEffects\":false in package.json\n // unconditionally.\n //\n // The only way to work around that is to have side effect code\n // in an entry point such as Worker file itself.\n const worker = new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u(\"node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-3a2b7f\"), __webpack_require__.b), {\n type: undefined\n });\n worker.postMessage(workerInit);\n return waitForMsgType(worker, 'wasm_bindgen_worker_ready');\n })\n );\n builder.build();\n } finally {\n builder.free();\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js?");
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__;
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/ensure chunk */
/******/ (() => {
/******/ __webpack_require__.f = {};
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = (chunkId) => {
/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
/******/ __webpack_require__.f[key](chunkId, promises);
/******/ return promises;
/******/ }, []));
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/get javascript chunk filename */
/******/ (() => {
/******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template
/******/ return "" + chunkId + ".script.bundle.js";
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/publicPath */
/******/ (() => {
/******/ __webpack_require__.p = "";
/******/ })();
/******/
/******/ /* webpack/runtime/importScripts chunk loading */
/******/ (() => {
/******/ __webpack_require__.b = self.location + "";
/******/
/******/ // object to store loaded chunks
/******/ // "1" means "already loaded"
/******/ var installedChunks = {
/******/ "node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-3a2b7f": 1
/******/ };
/******/
/******/ // importScripts chunk loading
/******/ var installChunk = (data) => {
/******/ var [chunkIds, moreModules, runtime] = data;
/******/ for(var moduleId in moreModules) {
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(runtime) runtime(__webpack_require__);
/******/ while(chunkIds.length)
/******/ installedChunks[chunkIds.pop()] = 1;
/******/ parentChunkLoadingFunction(data);
/******/ };
/******/ __webpack_require__.f.i = (chunkId, promises) => {
/******/ // "1" is the signal for "already loaded"
/******/ if(!installedChunks[chunkId]) {
/******/ if(true) { // all chunks have JS
/******/ importScripts(__webpack_require__.p + __webpack_require__.u(chunkId));
/******/ }
/******/ }
/******/ };
/******/
/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || [];
/******/ var parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);
/******/ chunkLoadingGlobal.push = installChunk;
/******/
/******/ // no HMR
/******/
/******/ // no HMR manifest
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module is referenced by other modules so it can't be inlined
/******/ var __webpack_exports__ = __webpack_require__("./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js");
/******/
/******/ })()
;
@@ -0,0 +1,32 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["node_modules_jsquash_oxipng_codec_pkg-parallel_squoosh_oxipng_js"],{
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng_bg.wasm":
/*!********************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng_bg.wasm ***!
\********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("module.exports = __webpack_require__.p + \"6ac3239376efce53600f.wasm\";\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng_bg.wasm?");
/***/ }),
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js":
/*!***************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js ***!
\***************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"initThreadPool\": () => (/* binding */ initThreadPool),\n/* harmony export */ \"optimise\": () => (/* binding */ optimise),\n/* harmony export */ \"wbg_rayon_PoolBuilder\": () => (/* binding */ wbg_rayon_PoolBuilder),\n/* harmony export */ \"wbg_rayon_start_worker\": () => (/* binding */ wbg_rayon_start_worker)\n/* harmony export */ });\n/* harmony import */ var _snippets_wasm_bindgen_rayon_3d2df09ebec17a22_src_workerHelpers_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js */ \"./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js\");\n\n\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.__wbindgen_export_0.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.__wbindgen_export_0.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().slice(ptr, ptr + len));\n}\n\nconst heap = new Array(32).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1);\n getUint8Memory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.__wbindgen_export_0.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.__wbindgen_export_0.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array} data\n* @param {number} level\n* @param {boolean} interlace\n* @returns {Uint8Array}\n*/\nfunction optimise(data, level, interlace) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.optimise(retptr, ptr0, len0, level, interlace);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n/**\n* @param {number} num_threads\n* @returns {Promise<any>}\n*/\nfunction initThreadPool(num_threads) {\n var ret = wasm.initThreadPool(num_threads);\n return takeObject(ret);\n}\n\n/**\n* @param {number} receiver\n*/\nfunction wbg_rayon_start_worker(receiver) {\n wasm.wbg_rayon_start_worker(receiver);\n}\n\n/**\n*/\nclass wbg_rayon_PoolBuilder {\n\n static __wrap(ptr) {\n const obj = Object.create(wbg_rayon_PoolBuilder.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wbg_rayon_poolbuilder_free(ptr);\n }\n /**\n * @returns {number}\n */\n numThreads() {\n var ret = wasm.wbg_rayon_poolbuilder_numThreads(this.ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n receiver() {\n var ret = wasm.wbg_rayon_poolbuilder_receiver(this.ptr);\n return ret;\n }\n /**\n */\n build() {\n wasm.wbg_rayon_poolbuilder_build(this.ptr);\n }\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStre Line truncated
/***/ })
}]);
@@ -0,0 +1,32 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["node_modules_jsquash_oxipng_codec_pkg_squoosh_oxipng_js"],{
/***/ "./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng_bg.wasm":
/*!***********************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng_bg.wasm ***!
\***********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("module.exports = __webpack_require__.p + \"c96242667dc8e630897a.wasm\";\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng_bg.wasm?");
/***/ }),
/***/ "./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js":
/*!******************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"optimise\": () => (/* binding */ optimise)\n/* harmony export */ });\n\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1);\n getUint8Memory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array} data\n* @param {number} level\n* @param {boolean} interlace\n* @returns {Uint8Array}\n*/\nfunction optimise(data, level, interlace) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.optimise(retptr, ptr0, len0, level, interlace);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nasync function init(input) {\n if (typeof input === 'undefined') {\n input = new URL(/* asset import */ __webpack_require__(/*! squoosh_oxipng_bg.wasm */ \"./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng_bg.wasm\"), __webpack_require__.b);\n }\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n\n if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {\n input = fetch(input);\n }\n\n\n\n const { instance, module } = await load(await input, imports);\n\n wasm = instance.exports;\n init.__wbindgen_wasm_module = module;\n\n return wasm;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (init);\n\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js?");
/***/ })
}]);
@@ -0,0 +1,428 @@
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./assets/js/script.js":
/*!*****************************!*\
!*** ./assets/js/script.js ***!
\*****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _jsquash_jpeg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jsquash/jpeg */ \"./node_modules/@jsquash/jpeg/decode.js\");\n/* harmony import */ var _jsquash_jpeg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jsquash/jpeg */ \"./node_modules/@jsquash/jpeg/encode.js\");\n/* harmony import */ var _jsquash_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jsquash/png */ \"./node_modules/@jsquash/png/decode.js\");\n/* harmony import */ var _jsquash_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jsquash/png */ \"./node_modules/@jsquash/png/encode.js\");\n/* harmony import */ var _jsquash_oxipng_optimise__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jsquash/oxipng/optimise */ \"./node_modules/@jsquash/oxipng/optimise.js\");\n//import * as avif from '@jsquash/avif'; // TBD\r\n//import * as webp from '@jsquash/webp'; // TBD\r\n\r\n\r\n\r\nconst { __ } = wp.i18n; // Import __() from wp.i18n\r\n\r\n(function () {\r\n\r\n const bulkBtn = document.querySelector(\"input[name='squeeze_bulk']\")\r\n const bulkLogInput = document.querySelector(\"[name='squeeze_bulk_log']\")\r\n const squeeze_bulk_ids = document.querySelector(\"input[name='squeeze_bulk_ids']\")?.value ?? null;\r\n const uncompressedIDs = squeeze_bulk_ids ? squeeze_bulk_ids.split(\",\") : [];\r\n\r\n async function decode(sourceType, fileBuffer) {\r\n switch (sourceType) {\r\n //case 'avif':\r\n // return await avif.decode(fileBuffer);\r\n case 'jpeg':\r\n return await _jsquash_jpeg__WEBPACK_IMPORTED_MODULE_0__[\"default\"](fileBuffer);\r\n case 'png':\r\n return await _jsquash_png__WEBPACK_IMPORTED_MODULE_1__[\"default\"](fileBuffer);\r\n //case 'webp':\r\n // return await webp.decode(fileBuffer);\r\n default:\r\n throw new Error(`Unknown source type: ${sourceType}`);\r\n }\r\n }\r\n\r\n async function encode(outputType, imageData) {\r\n const options = JSON.parse(squeeze.options);\r\n\r\n switch (outputType) {\r\n //case 'avif':\r\n // return await avif.encode(imageData);\r\n case 'jpeg':\r\n const jpegOptions = {}\r\n for (const [key, value] of Object.entries(options)) {\r\n if (key.includes('jpeg')) {\r\n const keyName = key.replace('jpeg_', '')\r\n jpegOptions[keyName] = value\r\n }\r\n }\r\n return await _jsquash_jpeg__WEBPACK_IMPORTED_MODULE_2__[\"default\"](imageData, jpegOptions);\r\n case 'png':\r\n const pngOptions = {}\r\n for (const [key, value] of Object.entries(options)) {\r\n if (key.includes('png')) {\r\n const keyName = key.replace('png_', '')\r\n pngOptions[keyName] = value\r\n }\r\n }\r\n return await _jsquash_png__WEBPACK_IMPORTED_MODULE_3__[\"default\"](imageData, pngOptions);\r\n //case 'webp':\r\n // return await webp.encode(imageData);\r\n default:\r\n throw new Error(`Unknown output type: ${outputType}`);\r\n }\r\n }\r\n\r\n async function convert(sourceType, outputType, fileBuffer) {\r\n const imageData = await decode(sourceType, fileBuffer);\r\n return encode(outputType, imageData);\r\n }\r\n\r\n function blobToBase64(blob) {\r\n return new Promise((resolve, _) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result);\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\n async function showOutput(imageBuffer, outputType) {\r\n const imageBlob = new Blob([imageBuffer], { type: `image/${outputType}` });\r\n const base64String = await blobToBase64(imageBlob);\r\n\r\n return base64String;\r\n }\r\n\r\n async function handleUpload(attachment, isBulk = false, isSingle = false, target = null) {\r\n const attachmentData = attachment.attributes;\r\n const url = attachmentData?.originalImageURL ?? attachmentData.url;\r\n const mime = attachmentData.mime;\r\n const name = attachmentData.name;\r\n const filename = attachmentData?.originalImageName ?? attachmentData.filename;\r\n const attachmentID = attachmentData.id;\r\n const format = mime.split(\"/\")[1];\r\n const sourceType = format;\r\n const outputType = format;\r\n const options = JSON.parse(squeeze.options);\r\n\r\n let imageBuffer;\r\n let fileBuffer;\r\n let base64;\r\n\r\n if (format === \"png\") {\r\n const pngOptions = {}\r\n for (const [key, value] of Object.entries(options)) {\r\n if (key.includes('png')) {\r\n const keyName = key.replace('png_', '')\r\n pngOptions[keyName] = value\r\n }\r\n }\r\n imageBuffer = await fetch(url).then(res => res.arrayBuffer()).then(pngImageBuffer => (0,_jsquash_oxipng_optimise__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(pngImageBuffer, pngOptions));\r\n base64 = await showOutput(imageBuffeLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/png/codec/squoosh_png.js":
/*!********************************************************!*\
!*** ./node_modules/@jsquash/png/codec/squoosh_png.js ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"decode\": () => (/* binding */ decode),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"encode\": () => (/* binding */ encode)\n/* harmony export */ });\n\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nlet cachegetUint8ClampedMemory0 = null;\nfunction getUint8ClampedMemory0() {\n if (cachegetUint8ClampedMemory0 === null || cachegetUint8ClampedMemory0.buffer !== wasm.memory.buffer) {\n cachegetUint8ClampedMemory0 = new Uint8ClampedArray(wasm.memory.buffer);\n }\n return cachegetUint8ClampedMemory0;\n}\n\nfunction getClampedArrayU8FromWasm0(ptr, len) {\n return getUint8ClampedMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nconst heap = new Array(32).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1);\n getUint8Memory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array} data\n* @param {number} width\n* @param {number} height\n* @returns {Uint8Array}\n*/\nfunction encode(data, width, height) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.encode(retptr, ptr0, len0, width, height);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n/**\n* @param {Uint8Array} data\n* @returns {ImageData}\n*/\nfunction decode(data) {\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.decode(ptr0, len0);\n return takeObject(ret);\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nasync function init(input) {\n if (typeof input === 'undefined') {\n input = new URL(/* asset import */ __webpack_require__(/*! squoosh_png_bg.wasm */ \"./node_modules/@jsquash/png/codec/squoosh_png_bg.wasm\"), __webpack_require__.b);\n }\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_newwithownedu8clampedarrayandsh_787b2db8ea6bfd62 = function(arg0, arg1, arg2, arg3) {\n varLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.wasm":
/*!***************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.wasm ***!
\***************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,AGFzbQEAAAABqAEZYAF/AGABfwF/YAN/f38Bf2ACf38AYAV/f39/fwBgBH9/f38AYAJ/fwF/YAV/f39/fwF/YAd/f39/f39/AGAEf39/fwF/YAZ/f39/f38AYAN/f38AYAV/fn5+fgBgAABgBn9/f39/fwF/YAR/fn5/AGADf35/AX5gAn98AGACf34AYAR+fn5+AX9gAX8BfGADfn5+AX9gBH9/fn4AYAF/AX5gA39/fgAClwEZAWEBYQALAWEBYgAEAWEBYwAAAWEBZAABAWEBZQACAWEBZgABAWEBZwALAWEBaAADAWEBaQAAAWEBagAJAWEBawANAWEBbAALAWEBbQAEAWEBbgADAWEBbwAKAWEBcAAHAWEBcQAIAWEBcgAAAWEBcwACAWEBdAAGAWEBdQAGAWEBdgABAWEBdwAJAWEBeAADAWEBeQAAA88BzQECAQwCCQwPAQIMAwAREg8CBAATAwsHAQIEAAUUAwECDBUKCwUHDQAMDAUAAAADCxYDBRcPDAYYCwYGCwEAAAAAAAANDQEBBQUFBQUACAQEBAQEBAQEBAQEBAQFBQgFBQUIBQAFAAUFAwAABQUFBQUDAwEAAAEBAQEBAAYJCQ4OAAcHAAADAAMABwoKBAQFBQUECgICAQIBAhACAQAAAwYAAAUFBQMGAQYBBgAABgYGBgAABgAEBAQEBAQEBAQEBAQEBAQEBAQICAgDBQUFBAcBcAGVAZUBBQcBAYACgIACBgkBfwFB0N/AAgsHIwgBegIAAUEAPgFCACABQwAkAUQAswEBRQBbAUYBAAFHAKEBCf8BAQBBAQuUAZsBRpoBmQGYAZcBlgGVAZQBNyiNAYcBhgGFAYQBgwGBAYABf34qfXx7enl4d3Z1dHMqcnFwb25tbGtqaWhnZmVkY2JhYF/lAeQB4wHhAeAB3wHcAd0B1wHeAdgB2QHaAdsBzgHNAdYB1QHUAdMB0gHRAdABzwHLAcoByAHHAcYBxQHEAcMBwgHBAcABvwG+Ab0BvAG7AboBuQG4AYIBKogB4gHMAckBtwG2AZwBnQGeAZ8BoAGPAZABkQGSAY4BiwFFjAEqKpMBiQGKAbUBtAGwAa8BsgGxAa4BrQEyKiqsATKrAaIBpAGnATKqAakBqAEyowGlAaYBCtipCc0B8gICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa1CgYCAgBB+IQUgAyAEaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLIAAL2QICBH8BfgJAAkAgACkDcCIFUEUEQCAAKQN4IAVZDQELIwBBEGsiASQAQX8hAwJAAn8gACAALQBKIgJBAWsgAnI6AEogACgCFCAAKAIcSwRAIABBAEEAIAAoAiQRAgAaCyAAQQA2AhwgAEIANwMQIAAoAgAiAkEEcQRAIAAgAkEgcjYCAEF/DAELIAAgACgCLCAAKAIwaiIENgIIIAAgBDYCBCACQRt0QR91Cw0AIAAgAUEPakEBIAAoAiARAgBBAUcNACABLQAPIQMLIAFBEGokACADIgJBf0oNAQsgAEEANgJoQX8PCyAAKAIEIQEgAAJ/IAAoAggiAyAAKQNwIgVQDQAaIAMgBSAAKQN4Qn+FfCIFIAMgAWusWQ0AGiABIAWnags2AmggAwRAIAAgACkDeCADIAFrQQFqrHw3A3gLIAFBAWsiAC0AACACRwRAIAAgAjoAAAsgAguYCwIFfw9+IwBB4ABrIgUkACACQiCGIAFCIIiEIQ8gBEIvhiADQhGIhCEMIARC////////P4MiDUIPhiADQjGIhCEQIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIgtCIIghESANQhGIIRIgBEIwiKdB//8BcSEHAkACfyACQjCIp0H//wFxIglBAWtB/f8BTQRAQQAgB0EBa0H+/wFJDQEaCyABUCACQv///////////wCDIg5CgICAgICAwP//AFQgDkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgDkKAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApCgICAgICAwP//AIQhCkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIA6EIQJCACEBIAJQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIA6EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyAOQv///////z9YBEAgBUHQAGogASALIAEgCyALUCIGG3kgBkEGdK18pyIGQQ9rEB8gBSkDWCILQiCGIAUpA1AiAUIgiIQhDyALQiCIIRFBECAGayEGCyAGIAJC////////P1YNABogBUFAayADIA0gAyANIA1QIggbeSAIQQZ0rXynIghBD2sQHyAFKQNIIgJCD4YgBSkDQCIDQjGIhCEQIAJCL4YgA0IRiIQhDCACQhGIIRIgBiAIa0EQagshBiAMQv////8PgyICIAFC/////w+DIgF+IhMgA0IPhkKAgP7/D4MiAyAPQv////8PgyIOfnwiBEIghiINIAEgA358IgwgDVStIAIgDn4iFSADIAtC/////w+DIgt+fCIUIBBC/////w+DIg0gAX58IhAgBCATVK1CIIYgBEIgiIR8IhMgAiALfiIWIAMgEUKAgASEIg9+fCIDIA0gDn58IhEgASASQv////8Hg0KAgICACIQiAX58IhJCIIZ8Ihd8IQQgByAJaiAGakH//wBrIQYCQCALIA1+IhggAiAPfnwiAiAYVK0gAiACIAEgDn58IgJWrXwgAiACIBQgFVStIBAgFFStfHwiAlatfCABIA9+fCABIAt+IgsgDSAPfnwiASALVK1CIIYgAUIgiIR8IAIgAUIghnwiASACVK18IAEgASARIBJWrSADIBZUrSADIBFWrXx8QiCGIBJCIIiEfCIBVq18IAEgECATVq0gEyAXVq18fCICIAFUrXwiAUKAgICAgIDAAINQRQRAIAZBAWohBgwBCyAMQj+IIQMgAUIBhiACQj+IhCEBIAJCAYYgBEI/iIQhAiAMQgGGIQwgAyAEQgGGhCEECyAGQf//AU4EQCAKQoCAgICAgMD//wCEIQpCACEBDAELAn4gBkEATARAQQEgBmsiB0GAAU8EQEIAIQEMAwsgBUEwaiAMIAQgBkH/AGoiBhAfIAVBIGogAiABIAYQHyAFQRBqIAwgBCAHECcgBSACIAEgBxAnIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQwgBSkDKCAFKQMYhCEEIAUpAwAhAiAFKQMIDAELIAFC////////P4MgBq1CMIaECyAKhCEKIAxQIARCf1UgBEKAgICAgICAgIB/URtFBEAgCiACQgF8IgEgAlStfCEKDAELIAwgBEKAgICAgICAgIB/hYRQRQRAIAIhAQwBCyAKIAIgAkIBg3wiASACVK18IQoLIAAgATcDACAAIAo3AwggBUHgAGokAAuDBAEDfyACQYAETwRAIAAgASACEBIaIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAEEDcUUEQCAAIQIMAQsgAkEBSARAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAAL/gIBBn8gACgCBCEGIAAoAgAhBwJAIAAoAhAiBSgCoAMEfyAHBSACQRhKBEAgAiEIIAchBAwCCwNAIAZFBEAgBSAFKAIYKAIMEQEARQRAQQAPCyAFKAIYIgQoAgQhBiAEKAIAIQcLIAdBAWohBCAGQQFrIQYCQCAHLQAAIghB/wFGBEADQCAGRQRAIAUgBSgCGCgCDBEBAEUEQEEADwsgBSgCGCIEK Line truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.wasm":
/*!***************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.wasm ***!
\***************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,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//8AVCAOQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASAOQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgDoQhAkIAIQEgAlAEQEKAgICAgIDg//8AIQoMAwsgCkKAgICAgIDA//8AhCEKDAILIAEgDoRQBEBCACEBDAILIAIgA4RQBEBCACEBDAILIA5C////////P1gEQCAFQdAAaiABIAsgASALIAtQIgYbeSAGQQZ0rXynIgZBD2sQJSAFKQNYIgtCIIYgBSkDUCIBQiCIhCEPIAtCIIghEUEQIAZrIQYLIAYgAkL///////8/Vg0AGiAFQUBrIAMgDSADIA0gDVAiCBt5IAhBBnStfKciCEEPaxAlIAUpA0giAkIPhiAFKQNAIgNCMYiEIRAgAkIvhiADQhGIhCEMIAJCEYghEiAGIAhrQRBqCyEGIAxC/////w+DIgIgAUL/////D4MiAX4iEyADQg+GQoCA/v8PgyIDIA9C/////w+DIg5+fCIEQiCGIg0gASADfnwiDCANVK0gAiAOfiIVIAMgC0L/////D4MiC358IhQgEEL/////D4MiDSABfnwiECAEIBNUrUIghiAEQiCIhHwiEyACIAt+IhYgAyARQoCABIQiD358IgMgDSAOfnwiESABIBJC/////weDQoCAgIAIhCIBfnwiEkIghnwiF3whBCAHIAlqIAZqQf//AGshBgJAIAsgDX4iGCACIA9+fCICIBhUrSACIAIgASAOfnwiAlatfCACIAIgFCAVVK0gECAUVK18fCICVq18IAEgD358IAEgC34iCyANIA9+fCIBIAtUrUIghiABQiCIhHwgAiABQiCGfCIBIAJUrXwgASABIBEgElatIAMgFlStIAMgEVatfHxCIIYgEkIgiIR8IgFWrXwgASAQIBNWrSATIBdWrXx8IgIgAVStfCIBQoCAgICAgMAAg1BFBEAgBkEBaiEGDAELIAxCP4ghAyABQgGGIAJCP4iEIQEgAkIBhiAEQj+IhCECIAxCAYYhDCADIARCAYaEIQQLIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIHQYABTwRAQgAhAQwDCyAFQTBqIAwgBCAGQf8AaiIGECUgBUEgaiACIAEgBhAlIAVBEGogDCAEIAcQLiAFIAIgASAHEC4gBSkDMCAFKQM4hEIAUq0gBSkDICAFKQMQhIQhDCAFKQMoIAUpAxiEIQQgBSkDACECIAUpAwgMAQsgAUL///////8/gyAGrUIwhoQLIAqEIQogDFAgBEJ/VSAEQoCAgICAgICAgH9RG0UEQCAKIAJCAXwiASACVK18IQoMAQsgDCAEQoCAgICAgICAgH+FhFBFBEAgAiEBDAELIAogAiACQgGDfCIBIAJUrXwhCgsgACABNwMAIAAgCjcDCCAFQeAAaiQAC8wMAQd/AkAgAEUNACAAQQhrIgMgAEEEaygCACIBQXhxIgBqIQUCQCABQQFxDQAgAUEDcUUNASADIAMoAgAiAWsiA0GUoQUoAgBJDQEgACABaiEAIANBmKEFKAIARwRAIAFB/wFNBEAgAygCCCICIAFBA3YiBEEDdEGsoQVqRhogAiADKAIMIgFGBEBBhKEFQYShBSgCAEF+IAR3cTYCAAwDCyACIAE2AgwgASACNgIIDAILIAMoAhghBgJAIAMgAygCDCIBRwRAIAMoAggiAiABNgIMIAEgAjYCCAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEAIQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0BAkAgAyADKAIcIgJBAnRBtKMFaiIEKAIARgRAIAQgATYCACABDQFBiKEFQYihBSgCAEF+IAJ3cTYCAAwDCyAGQRBBFCAGKAIQIANGG2ogATYCACABRQ0CCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0BIAEgAjYCFCACIAE2AhgMAQsgBSgCBCIBQQNxQQNHDQBBjKEFIAA2AgAgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgAPCyADIAVPDQAgBSgCBCIBQQFxRQ0AAkAgAUECcUUEQCAFQZyhBSgCAEYEQEGcoQUgAzYCAEGQoQVBkKEFKAIAIABqIgA2AgAgAyAAQQFyNgIEIANBmKEFKAIARw0DQYyhBUEANgIAQZihBUEANgIADwsgBUGYoQUoAgBGBEBBmKEFIAM2AgBBjKEFQYyhBSgCACAAaiIANgIAIAMgA Line truncated
/***/ }),
/***/ "./node_modules/@jsquash/png/codec/squoosh_png_bg.wasm":
/*!*************************************************************!*\
!*** ./node_modules/@jsquash/png/codec/squoosh_png_bg.wasm ***!
\*************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,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 Line truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js":
/*!*************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n\nvar Module = (function() {\n var _scriptDir = \"file:///E:/Extra-Time/test/wp-content/plugins/squeeze/node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js\";\n \n return (\nfunction(Module) {\n Module = Module || {};\n\nvar Module=typeof Module!==\"undefined\"?Module:{};var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram=\"./this.program\";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!==\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!==\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str=\"\";while(!(idx>=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function UTF16ToStLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js":
/*!*************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n\nvar Module = (function() {\n var _scriptDir = \"file:///E:/Extra-Time/test/wp-content/plugins/squeeze/node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js\";\n \n return (\nfunction(Module) {\n Module = Module || {};\n\nvar Module=typeof Module!==\"undefined\"?Module:{};var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram=\"./this.program\";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!==\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!==\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str=\"\";while(!(idx>=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function UTF16ToStLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/decode.js":
/*!**********************************************!*\
!*** ./node_modules/@jsquash/jpeg/decode.js ***!
\**********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ decode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./node_modules/@jsquash/jpeg/utils.js\");\n/* harmony import */ var _codec_dec_mozjpeg_dec__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./codec/dec/mozjpeg_dec */ \"./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nlet emscriptenModule;\nasync function init(module) {\n emscriptenModule = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.initEmscriptenModule)(_codec_dec_mozjpeg_dec__WEBPACK_IMPORTED_MODULE_1__[\"default\"], module);\n}\nasync function decode(buffer) {\n if (!emscriptenModule)\n init();\n const module = await emscriptenModule;\n const result = module.decode(buffer);\n if (!result)\n throw new Error('Decoding error');\n return result;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/decode.js?");
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/encode.js":
/*!**********************************************!*\
!*** ./node_modules/@jsquash/jpeg/encode.js ***!
\**********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ encode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _codec_enc_mozjpeg_enc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./codec/enc/mozjpeg_enc */ \"./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js\");\n/* harmony import */ var _meta__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./meta */ \"./node_modules/@jsquash/jpeg/meta.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./node_modules/@jsquash/jpeg/utils.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\nlet emscriptenModule;\nasync function init(module) {\n emscriptenModule = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.initEmscriptenModule)(_codec_enc_mozjpeg_enc__WEBPACK_IMPORTED_MODULE_1__[\"default\"], module);\n}\nasync function encode(data, options = {}) {\n if (!emscriptenModule)\n init();\n const module = await emscriptenModule;\n const _options = { ..._meta__WEBPACK_IMPORTED_MODULE_2__.defaultOptions, ...options };\n const resultView = module.encode(data.data, data.width, data.height, _options);\n // wasm can’t run on SharedArrayBuffers, so we hard-cast to ArrayBuffer.\n return resultView.buffer;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/encode.js?");
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/meta.js":
/*!********************************************!*\
!*** ./node_modules/@jsquash/jpeg/meta.js ***!
\********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"defaultOptions\": () => (/* binding */ defaultOptions),\n/* harmony export */ \"extension\": () => (/* binding */ extension),\n/* harmony export */ \"label\": () => (/* binding */ label),\n/* harmony export */ \"mimeType\": () => (/* binding */ mimeType)\n/* harmony export */ });\nconst label = 'MozJPEG';\nconst mimeType = 'image/jpeg';\nconst extension = 'jpg';\nconst defaultOptions = {\n quality: 75,\n baseline: false,\n arithmetic: false,\n progressive: true,\n optimize_coding: true,\n smoothing: 0,\n color_space: 3 /* YCbCr */,\n quant_table: 3,\n trellis_multipass: false,\n trellis_opt_zero: false,\n trellis_opt_table: false,\n trellis_loops: 1,\n auto_subsample: true,\n chroma_subsample: 2,\n separate_chroma_quality: false,\n chroma_quality: 75,\n};\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/meta.js?");
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/utils.js":
/*!*********************************************!*\
!*** ./node_modules/@jsquash/jpeg/utils.js ***!
\*********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initEmscriptenModule\": () => (/* binding */ initEmscriptenModule)\n/* harmony export */ });\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Notice: I (Jamie Sinclair) have modified this file to allow manual instantiation of the Wasm Module.\n */\nfunction initEmscriptenModule(moduleFactory, wasmModule) {\n let instantiateWasm;\n if (wasmModule) {\n instantiateWasm = (imports, callback) => {\n const instance = new WebAssembly.Instance(wasmModule, imports);\n callback(instance);\n return instance.exports;\n };\n }\n return moduleFactory({\n // Just to be safe, don't automatically invoke any wasm functions\n noInitialRun: true,\n instantiateWasm\n });\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/utils.js?");
/***/ }),
/***/ "./node_modules/@jsquash/oxipng/meta.js":
/*!**********************************************!*\
!*** ./node_modules/@jsquash/oxipng/meta.js ***!
\**********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"defaultOptions\": () => (/* binding */ defaultOptions),\n/* harmony export */ \"extension\": () => (/* binding */ extension),\n/* harmony export */ \"label\": () => (/* binding */ label),\n/* harmony export */ \"mimeType\": () => (/* binding */ mimeType)\n/* harmony export */ });\nconst label = 'OXIPNG';\nconst mimeType = 'image/png';\nconst extension = 'png';\nconst defaultOptions = {\n level: 2,\n interlace: false\n};\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/meta.js?");
/***/ }),
/***/ "./node_modules/@jsquash/oxipng/optimise.js":
/*!**************************************************!*\
!*** ./node_modules/@jsquash/oxipng/optimise.js ***!
\**************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ optimise),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _meta__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./meta */ \"./node_modules/@jsquash/oxipng/meta.js\");\n/* harmony import */ var wasm_feature_detect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! wasm-feature-detect */ \"./node_modules/wasm-feature-detect/dist/esm/index.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nasync function initMT(moduleOrPath) {\n const { default: init, initThreadPool, optimise, } = await Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_jsquash_oxipng_codec_pkg-parallel_squoosh_oxipng_js\"), __webpack_require__.e(\"node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-312b0a1\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./codec/pkg-parallel/squoosh_oxipng */ \"./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js\"));\n await init(moduleOrPath);\n await initThreadPool(globalThis.navigator.hardwareConcurrency);\n return optimise;\n}\nasync function initST(moduleOrPath) {\n const { default: init, optimise } = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_jsquash_oxipng_codec_pkg_squoosh_oxipng_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./codec/pkg/squoosh_oxipng */ \"./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js\"));\n await init(moduleOrPath);\n return optimise;\n}\nlet wasmReady;\nfunction init(moduleOrPath) {\n var _a;\n if (!wasmReady) {\n const hasHardwareConcurrency = ((_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.hardwareConcurrency) > 1;\n wasmReady = hasHardwareConcurrency ? (0,wasm_feature_detect__WEBPACK_IMPORTED_MODULE_0__.threads)().then((hasThreads) => hasThreads ? initMT(moduleOrPath) : initST(moduleOrPath)) : initST(moduleOrPath);\n }\n}\nasync function optimise(data, options = {}) {\n init();\n const _options = { ..._meta__WEBPACK_IMPORTED_MODULE_1__.defaultOptions, ...options };\n const optimise = await wasmReady;\n return optimise(new Uint8Array(data), _options.level, _options.interlace)\n .buffer;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/optimise.js?");
/***/ }),
/***/ "./node_modules/@jsquash/png/decode.js":
/*!*********************************************!*\
!*** ./node_modules/@jsquash/png/decode.js ***!
\*********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ decode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codec/squoosh_png */ \"./node_modules/@jsquash/png/codec/squoosh_png.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nlet pngModule;\nasync function init(moduleOrPath) {\n if (!pngModule) {\n pngModule = (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(moduleOrPath);\n }\n return pngModule;\n}\nasync function decode(data) {\n await init();\n const imageData = await (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__.decode)(new Uint8Array(data));\n if (!imageData)\n throw new Error('Encoding error.');\n return imageData;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/png/decode.js?");
/***/ }),
/***/ "./node_modules/@jsquash/png/encode.js":
/*!*********************************************!*\
!*** ./node_modules/@jsquash/png/encode.js ***!
\*********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ encode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codec/squoosh_png */ \"./node_modules/@jsquash/png/codec/squoosh_png.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nlet pngModule;\nasync function init(moduleOrPath) {\n if (!pngModule) {\n pngModule = (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(moduleOrPath);\n }\n return pngModule;\n}\nasync function encode(data) {\n await init();\n // @ts-ignore - pngEncode expects a Uint8Array, check if mistake or whether we need to convert from Uint8ClampedArray\n const buffer = await (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__.encode)(data.data, data.width, data.height);\n if (!buffer)\n throw new Error('Encoding error.');\n return buffer;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/png/encode.js?");
/***/ }),
/***/ "./node_modules/wasm-feature-detect/dist/esm/index.js":
/*!************************************************************!*\
!*** ./node_modules/wasm-feature-detect/dist/esm/index.js ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"bigInt\": () => (/* binding */ bigInt),\n/* harmony export */ \"bulkMemory\": () => (/* binding */ bulkMemory),\n/* harmony export */ \"exceptions\": () => (/* binding */ exceptions),\n/* harmony export */ \"extendedConst\": () => (/* binding */ extendedConst),\n/* harmony export */ \"gc\": () => (/* binding */ gc),\n/* harmony export */ \"memory64\": () => (/* binding */ memory64),\n/* harmony export */ \"multiValue\": () => (/* binding */ multiValue),\n/* harmony export */ \"mutableGlobals\": () => (/* binding */ mutableGlobals),\n/* harmony export */ \"referenceTypes\": () => (/* binding */ referenceTypes),\n/* harmony export */ \"relaxedSimd\": () => (/* binding */ relaxedSimd),\n/* harmony export */ \"saturatedFloatToInt\": () => (/* binding */ saturatedFloatToInt),\n/* harmony export */ \"signExtensions\": () => (/* binding */ signExtensions),\n/* harmony export */ \"simd\": () => (/* binding */ simd),\n/* harmony export */ \"streamingCompilation\": () => (/* binding */ streamingCompilation),\n/* harmony export */ \"tailCall\": () => (/* binding */ tailCall),\n/* harmony export */ \"threads\": () => (/* binding */ threads)\n/* harmony export */ });\nconst bigInt=()=>(async e=>{try{return(await WebAssembly.instantiate(e)).instance.exports.b(BigInt(0))===BigInt(0)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,126,1,126,3,2,1,0,7,5,1,1,98,0,0,10,6,1,4,0,32,0,11])),bulkMemory=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),exceptions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),extendedConst=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,0,1,11,9,1,0,65,1,65,2,106,11,0])),gc=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,10,2,95,1,125,0,96,0,1,107,0,3,2,1,1,10,12,1,10,0,67,0,0,0,0,251,7,0,11])),memory64=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,4,1])),multiValue=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,0,2,127,127,3,2,1,0,10,8,1,6,0,65,0,65,0,11])),mutableGlobals=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,2,8,1,1,97,1,98,3,127,1,6,6,1,127,1,65,0,11,7,5,1,1,97,3,1])),referenceTypes=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,7,1,5,0,208,112,26,11])),relaxedSimd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,15,1,13,0,65,1,253,15,65,2,253,15,253,128,2,11])),saturatedFloatToInt=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,12,1,10,0,67,0,0,0,0,252,0,26,11])),signExtensions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,65,0,192,26,11])),simd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),streamingCompilation=()=>(async()=>\"compileStreaming\"in WebAssembly)(),tailCall=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,6,1,4,0,18,0,11])),threads=()=>(async e=>{try{return\"undefined\"!=typeof MessageChannel&&(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]));\n\n\n//# sourceURL=webpack:///./node_modules/wasm-feature-detect/dist/esm/index.js?");
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__;
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/ensure chunk */
/******/ (() => {
/******/ __webpack_require__.f = {};
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = (chunkId) => {
/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
/******/ __webpack_require__.f[key](chunkId, promises);
/******/ return promises;
/******/ }, []));
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/get javascript chunk filename */
/******/ (() => {
/******/ // This function allow to reference async chunks
/******/ __webpack_require__.u = (chunkId) => {
/******/ // return url for filenames based on template
/******/ return "" + chunkId + ".script.bundle.js";
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/load script */
/******/ (() => {
/******/ var inProgress = {};
/******/ // data-webpack is not used as build has no uniqueName
/******/ // loadScript function to load a script via script tag
/******/ __webpack_require__.l = (url, done, key, chunkId) => {
/******/ if(inProgress[url]) { inProgress[url].push(done); return; }
/******/ var script, needAttach;
/******/ if(key !== undefined) {
/******/ var scripts = document.getElementsByTagName("script");
/******/ for(var i = 0; i < scripts.length; i++) {
/******/ var s = scripts[i];
/******/ if(s.getAttribute("src") == url) { script = s; break; }
/******/ }
/******/ }
/******/ if(!script) {
/******/ needAttach = true;
/******/ script = document.createElement('script');
/******/
/******/ script.charset = 'utf-8';
/******/ script.timeout = 120;
/******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ }
/******/
/******/ script.src = url;
/******/ }
/******/ inProgress[url] = [done];
/******/ var onScriptComplete = (prev, event) => {
/******/ // avoid mem leaks in IE.
/******/ script.onerror = script.onload = null;
/******/ clearTimeout(timeout);
/******/ var doneFns = inProgress[url];
/******/ delete inProgress[url];
/******/ script.parentNode && script.parentNode.removeChild(script);
/******/ doneFns && doneFns.forEach((fn) => (fn(event)));
/******/ if(prev) return prev(event);
/******/ }
/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
/******/ script.onerror = onScriptComplete.bind(null, script.onerror);
/******/ script.onload = onScriptComplete.bind(null, script.onload);
/******/ needAttach && document.head.appendChild(script);
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/publicPath */
/******/ (() => {
/******/ var scriptUrl;
/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
/******/ var document = __webpack_require__.g.document;
/******/ if (!scriptUrl && document) {
/******/ if (document.currentScript)
/******/ scriptUrl = document.currentScript.src;
/******/ if (!scriptUrl) {
/******/ var scripts = document.getElementsByTagName("script");
/******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
/******/ }
/******/ }
/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
/******/ __webpack_require__.p = scriptUrl;
/******/ })();
/******/
/******/ /* webpack/runtime/jsonp chunk loading */
/******/ (() => {
/******/ __webpack_require__.b = document.baseURI || self.location.href;
/******/
/******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ "main": 0
/******/ };
/******/
/******/ __webpack_require__.f.j = (chunkId, promises) => {
/******/ // JSONP chunk loading for javascript
/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
/******/ if(installedChunkData !== 0) { // 0 means "already installed".
/******/
/******/ // a Promise means "currently loading".
/******/ if(installedChunkData) {
/******/ promises.push(installedChunkData[2]);
/******/ } else {
/******/ if(true) { // all chunks have JS
/******/ // setup Promise in chunk cache
/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));
/******/ promises.push(installedChunkData[2] = promise);
/******/
/******/ // start chunk loading
/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId);
/******/ // create error before stack unwound to get useful stacktrace later
/******/ var error = new Error();
/******/ var loadingEnded = (event) => {
/******/ if(__webpack_require__.o(installedChunks, chunkId)) {
/******/ installedChunkData = installedChunks[chunkId];
/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
/******/ if(installedChunkData) {
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
/******/ var realSrc = event && event.target && event.target.src;
/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
/******/ error.name = 'ChunkLoadError';
/******/ error.type = errorType;
/******/ error.request = realSrc;
/******/ installedChunkData[1](error);
/******/ }
/******/ }
/******/ };
/******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
/******/ } else installedChunks[chunkId] = 0;
/******/ }
/******/ }
/******/ };
/******/
/******/ // no prefetching
/******/
/******/ // no preloaded
/******/
/******/ // no HMR
/******/
/******/ // no HMR manifest
/******/
/******/ // no on chunks loaded
/******/
/******/ // install a JSONP callback for chunk loading
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
/******/ var [chunkIds, moreModules, runtime] = data;
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0;
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
/******/ for(moduleId in moreModules) {
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(runtime) var result = runtime(__webpack_require__);
/******/ }
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
/******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ installedChunks[chunkId][0]();
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/
/******/ }
/******/
/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || [];
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module can't be inlined because the eval devtool is used.
/******/ var __webpack_exports__ = __webpack_require__("./assets/js/script.js");
/******/
/******/ })()
;
@@ -0,0 +1,337 @@
//import * as avif from '@jsquash/avif'; // TBD
//import * as webp from '@jsquash/webp'; // TBD
import * as jpeg from '@jsquash/jpeg';
import * as png from '@jsquash/png';
import optimise from '@jsquash/oxipng/optimise';
const { __ } = wp.i18n; // Import __() from wp.i18n
(function () {
const bulkBtn = document.querySelector("input[name='squeeze_bulk']")
const bulkLogInput = document.querySelector("[name='squeeze_bulk_log']")
const squeeze_bulk_ids = document.querySelector("input[name='squeeze_bulk_ids']")?.value ?? null;
const uncompressedIDs = squeeze_bulk_ids ? squeeze_bulk_ids.split(",") : [];
async function decode(sourceType, fileBuffer) {
switch (sourceType) {
//case 'avif':
// return await avif.decode(fileBuffer);
case 'jpeg':
return await jpeg.decode(fileBuffer);
case 'png':
return await png.decode(fileBuffer);
//case 'webp':
// return await webp.decode(fileBuffer);
default:
throw new Error(`Unknown source type: ${sourceType}`);
}
}
async function encode(outputType, imageData) {
const options = JSON.parse(squeeze.options);
switch (outputType) {
//case 'avif':
// return await avif.encode(imageData);
case 'jpeg':
const jpegOptions = {}
for (const [key, value] of Object.entries(options)) {
if (key.includes('jpeg')) {
const keyName = key.replace('jpeg_', '')
jpegOptions[keyName] = value
}
}
return await jpeg.encode(imageData, jpegOptions);
case 'png':
const pngOptions = {}
for (const [key, value] of Object.entries(options)) {
if (key.includes('png')) {
const keyName = key.replace('png_', '')
pngOptions[keyName] = value
}
}
return await png.encode(imageData, pngOptions);
//case 'webp':
// return await webp.encode(imageData);
default:
throw new Error(`Unknown output type: ${outputType}`);
}
}
async function convert(sourceType, outputType, fileBuffer) {
const imageData = await decode(sourceType, fileBuffer);
return encode(outputType, imageData);
}
function blobToBase64(blob) {
return new Promise((resolve, _) => {
const reader = new FileReader();
reader.onloadend = () => resolve(reader.result);
reader.readAsDataURL(blob);
});
}
async function showOutput(imageBuffer, outputType) {
const imageBlob = new Blob([imageBuffer], { type: `image/${outputType}` });
const base64String = await blobToBase64(imageBlob);
return base64String;
}
async function handleUpload(attachment, isBulk = false, isSingle = false, target = null) {
const attachmentData = attachment.attributes;
const url = attachmentData?.originalImageURL ?? attachmentData.url;
const mime = attachmentData.mime;
const name = attachmentData.name;
const filename = attachmentData?.originalImageName ?? attachmentData.filename;
const attachmentID = attachmentData.id;
const format = mime.split("/")[1];
const sourceType = format;
const outputType = format;
const options = JSON.parse(squeeze.options);
let imageBuffer;
let fileBuffer;
let base64;
if (format === "png") {
const pngOptions = {}
for (const [key, value] of Object.entries(options)) {
if (key.includes('png')) {
const keyName = key.replace('png_', '')
pngOptions[keyName] = value
}
}
imageBuffer = await fetch(url).then(res => res.arrayBuffer()).then(pngImageBuffer => optimise(pngImageBuffer, pngOptions));
base64 = await showOutput(imageBuffer, outputType);
} else {
let response = await fetch(url);
let blob = await response.blob();
let metadata = {
type: mime
};
let imageObj = new File([blob], name, metadata);
fileBuffer = await imageObj.arrayBuffer();
/*
if (window.Worker) {
//const myWorker = new Worker(new URL(`${squeeze.pluginUrl}/assets/js/worker.js`), { type: "module" });
const myWorker = new Worker(/* webpackChunkName: "foo-worker" */ /*new URL(`./worker.js`, import.meta.url));
myWorker.postMessage(
{
fileBuffer: fileBuffer,
sourceType: sourceType,
outputType: outputType,
}
);
console.log('Message posted to worker');
myWorker.onmessage = function(e) {
console.log('Message received from worker', e.data);
myWorker.terminate();
}
} else {
console.log('Your browser doesn\'t support web workers.');
}
*/
imageBuffer = await convert(sourceType, outputType, fileBuffer);
base64 = await showOutput(imageBuffer, outputType);
}
let data = {
action: 'squeeze_update_attachment',
_ajax_nonce: squeeze.nonce,
filename: filename,
type: 'image',
format: format,
base64: base64,
attachmentID: attachmentID,
url: url,
}
jQuery.ajax({
url: squeeze.ajaxUrl,
type: 'POST',
data: data,
beforeSend: function () {
console.log('data', data)
if (isBulk)
bulkLogInput.value += `#${attachmentID}: ` + __('Compressed successfully, updating...', 'squeeze') + `\r\n`;
},
error: function (error) {
console.error(error)
if (target) {
target.closest("td").querySelector(".squeeze_status").innerText = __('An error has occured. Check the console for details.', 'squeeze')
target.remove();
}
},
success: function (response) {
console.log(response)
if (isBulk) {
if (response.success) {
bulkLogInput.value += `#${attachmentID}: ` + __('Updated successfully', 'squeeze') + `\r\n===============================\r\n`;
handleBulkUpload()
} else {
bulkLogInput.value += `#${attachmentID}: ${response.data}\r\n===============================\r\n`;
}
}
if (isSingle && target) {
target.closest("td").querySelector(".squeeze_status").innerText = response.data;
target.remove();
}
if (!isSingle && !isBulk) {
attachment.set('uploading', false) // resume uploading process
}
}
});
}
const handleBulkUpload = () => {
const data = {
action: 'squeeze_get_attachment',
_ajax_nonce: squeeze.nonce,
attachmentID: uncompressedIDs[0],
}
if (uncompressedIDs.length === 0) {
alert(__('All images have been compressed!', 'squeeze'))
bulkBtn.remove();
location.reload();
return;
}
bulkLogInput.value += `attachment #${uncompressedIDs[0]}: start compressing...\r\n`;
jQuery.ajax({
url: squeeze.ajaxUrl,
type: 'POST',
data: data,
error: function (error) {
console.error(error)
},
success: function (response) {
//console.log(response)
if (response.success) {
const responseData = response.data;
const attachment = {
attributes: {
url: responseData.url,
mime: responseData.mime,
name: responseData.name,
filename: responseData.filename,
id: responseData.id,
}
}
//console.log(attachment, 'attachment')
uncompressedIDs.shift();
handleUpload(attachment, true)
} else {
console.error(response.data)
}
}
});
}
function handleRestore(attachmentID, target) {
let data = {
action: 'squeeze_restore_attachment',
_ajax_nonce: squeeze.nonce,
attachmentID: attachmentID,
}
jQuery.ajax({
url: squeeze.ajaxUrl,
type: 'POST',
data: data,
beforeSend: function () {
target.disabled = true;
target.innerText = __('Restore in process...', 'squeeze')
},
error: function (error) {
console.error(error)
target.closest("td").querySelector(".squeeze_status").innerText = __('An error has occured. Check the console for details.', 'squeeze')
target.remove();
},
success: function (response) {
//console.log(response)
target.closest("td").querySelector(".squeeze_status").innerText = response.data; //__('Restored successfully', 'squeeze')
target.remove();
}
});
}
// Handle single compress button click
const handleSingleBtnClick = (event) => {
const attachmentID = event.target.dataset.attachment;
wp?.media?.attachment(attachmentID).fetch().then(function (data) {
const attachment = {
attributes: data
}
handleUpload(attachment, false, true, event.target)
});
}
// Handle restore button click
const handleRestoreBtnClick = (event) => {
const attachmentID = event.target.dataset.attachment;
handleRestore(attachmentID, event.target)
}
/**
* Handle single buttons click
*/
function handleSingleButtonsClick() {
document.addEventListener("click", (e) => {
//console.log(e.target, 'e.target')
const singleBtnName = 'squeeze_compress_single';
const restoreBtnName = 'squeeze_restore';
if (e.target.getAttribute("name") === singleBtnName) {
e.target.disabled = true;
e.target.innerText = __('Compressing...', 'squeeze')
handleSingleBtnClick(e)
}
if (e.target.getAttribute("name") === restoreBtnName) {
e.target.disabled = true;
handleRestoreBtnClick(e)
}
})
}
handleSingleButtonsClick()
/**
* Handle bulk button click
*/
bulkBtn?.addEventListener("click", (event) => {
if (uncompressedIDs.length === 0) {
return;
}
bulkBtn.disabled = true;
handleBulkUpload()
})
// https://wordpress.stackexchange.com/a/131295/186146 - override wp.Uploader.prototype.success
jQuery.extend(wp?.Uploader?.prototype, {
success: function (attachment) {
//console.log(attachment, 'success');
const options = JSON.parse(squeeze.options);
const isAutoCompress = options.auto_compress;
let isImage = attachment.attributes.type === 'image' &&
(attachment.attributes.subtype === 'jpeg' || attachment.attributes.subtype === 'png')
if (isImage && isAutoCompress) {
// set 'uploading' param to true, to pause the uploading process
attachment.set('uploading', true)
handleUpload(attachment)
}
},
});
})();
//console.log(JSON.parse(squeeze.options), 'squeeze.options')
@@ -0,0 +1,132 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["vendors-node_modules_jsquash_jpeg_decode_js-node_modules_jsquash_jpeg_encode_js-node_modules_-72a791"],{
/***/ "./node_modules/@jsquash/png/codec/squoosh_png.js":
/*!********************************************************!*\
!*** ./node_modules/@jsquash/png/codec/squoosh_png.js ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"decode\": () => (/* binding */ decode),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"encode\": () => (/* binding */ encode)\n/* harmony export */ });\n\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nlet cachegetUint8ClampedMemory0 = null;\nfunction getUint8ClampedMemory0() {\n if (cachegetUint8ClampedMemory0 === null || cachegetUint8ClampedMemory0.buffer !== wasm.memory.buffer) {\n cachegetUint8ClampedMemory0 = new Uint8ClampedArray(wasm.memory.buffer);\n }\n return cachegetUint8ClampedMemory0;\n}\n\nfunction getClampedArrayU8FromWasm0(ptr, len) {\n return getUint8ClampedMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nconst heap = new Array(32).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1);\n getUint8Memory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array} data\n* @param {number} width\n* @param {number} height\n* @returns {Uint8Array}\n*/\nfunction encode(data, width, height) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.encode(retptr, ptr0, len0, width, height);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n/**\n* @param {Uint8Array} data\n* @returns {ImageData}\n*/\nfunction decode(data) {\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.decode(ptr0, len0);\n return takeObject(ret);\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nasync function init(input) {\n if (typeof input === 'undefined') {\n input = new URL(/* asset import */ __webpack_require__(/*! squoosh_png_bg.wasm */ \"./node_modules/@jsquash/png/codec/squoosh_png_bg.wasm\"), __webpack_require__.b);\n }\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_newwithownedu8clampedarrayandsh_787b2db8ea6bfd62 = function(arg0, arg1, arg2, arg3) {\n varLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.wasm":
/*!***************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.wasm ***!
\***************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,AGFzbQEAAAABqAEZYAF/AGABfwF/YAN/f38Bf2ACf38AYAV/f39/fwBgBH9/f38AYAJ/fwF/YAV/f39/fwF/YAd/f39/f39/AGAEf39/fwF/YAZ/f39/f38AYAN/f38AYAV/fn5+fgBgAABgBn9/f39/fwF/YAR/fn5/AGADf35/AX5gAn98AGACf34AYAR+fn5+AX9gAX8BfGADfn5+AX9gBH9/fn4AYAF/AX5gA39/fgAClwEZAWEBYQALAWEBYgAEAWEBYwAAAWEBZAABAWEBZQACAWEBZgABAWEBZwALAWEBaAADAWEBaQAAAWEBagAJAWEBawANAWEBbAALAWEBbQAEAWEBbgADAWEBbwAKAWEBcAAHAWEBcQAIAWEBcgAAAWEBcwACAWEBdAAGAWEBdQAGAWEBdgABAWEBdwAJAWEBeAADAWEBeQAAA88BzQECAQwCCQwPAQIMAwAREg8CBAATAwsHAQIEAAUUAwECDBUKCwUHDQAMDAUAAAADCxYDBRcPDAYYCwYGCwEAAAAAAAANDQEBBQUFBQUACAQEBAQEBAQEBAQEBAQFBQgFBQUIBQAFAAUFAwAABQUFBQUDAwEAAAEBAQEBAAYJCQ4OAAcHAAADAAMABwoKBAQFBQUECgICAQIBAhACAQAAAwYAAAUFBQMGAQYBBgAABgYGBgAABgAEBAQEBAQEBAQEBAQEBAQEBAQICAgDBQUFBAcBcAGVAZUBBQcBAYACgIACBgkBfwFB0N/AAgsHIwgBegIAAUEAPgFCACABQwAkAUQAswEBRQBbAUYBAAFHAKEBCf8BAQBBAQuUAZsBRpoBmQGYAZcBlgGVAZQBNyiNAYcBhgGFAYQBgwGBAYABf34qfXx7enl4d3Z1dHMqcnFwb25tbGtqaWhnZmVkY2JhYF/lAeQB4wHhAeAB3wHcAd0B1wHeAdgB2QHaAdsBzgHNAdYB1QHUAdMB0gHRAdABzwHLAcoByAHHAcYBxQHEAcMBwgHBAcABvwG+Ab0BvAG7AboBuQG4AYIBKogB4gHMAckBtwG2AZwBnQGeAZ8BoAGPAZABkQGSAY4BiwFFjAEqKpMBiQGKAbUBtAGwAa8BsgGxAa4BrQEyKiqsATKrAaIBpAGnATKqAakBqAEyowGlAaYBCtipCc0B8gICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa1CgYCAgBB+IQUgAyAEaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLIAAL2QICBH8BfgJAAkAgACkDcCIFUEUEQCAAKQN4IAVZDQELIwBBEGsiASQAQX8hAwJAAn8gACAALQBKIgJBAWsgAnI6AEogACgCFCAAKAIcSwRAIABBAEEAIAAoAiQRAgAaCyAAQQA2AhwgAEIANwMQIAAoAgAiAkEEcQRAIAAgAkEgcjYCAEF/DAELIAAgACgCLCAAKAIwaiIENgIIIAAgBDYCBCACQRt0QR91Cw0AIAAgAUEPakEBIAAoAiARAgBBAUcNACABLQAPIQMLIAFBEGokACADIgJBf0oNAQsgAEEANgJoQX8PCyAAKAIEIQEgAAJ/IAAoAggiAyAAKQNwIgVQDQAaIAMgBSAAKQN4Qn+FfCIFIAMgAWusWQ0AGiABIAWnags2AmggAwRAIAAgACkDeCADIAFrQQFqrHw3A3gLIAFBAWsiAC0AACACRwRAIAAgAjoAAAsgAguYCwIFfw9+IwBB4ABrIgUkACACQiCGIAFCIIiEIQ8gBEIvhiADQhGIhCEMIARC////////P4MiDUIPhiADQjGIhCEQIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIgtCIIghESANQhGIIRIgBEIwiKdB//8BcSEHAkACfyACQjCIp0H//wFxIglBAWtB/f8BTQRAQQAgB0EBa0H+/wFJDQEaCyABUCACQv///////////wCDIg5CgICAgICAwP//AFQgDkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgDkKAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApCgICAgICAwP//AIQhCkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIA6EIQJCACEBIAJQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIA6EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyAOQv///////z9YBEAgBUHQAGogASALIAEgCyALUCIGG3kgBkEGdK18pyIGQQ9rEB8gBSkDWCILQiCGIAUpA1AiAUIgiIQhDyALQiCIIRFBECAGayEGCyAGIAJC////////P1YNABogBUFAayADIA0gAyANIA1QIggbeSAIQQZ0rXynIghBD2sQHyAFKQNIIgJCD4YgBSkDQCIDQjGIhCEQIAJCL4YgA0IRiIQhDCACQhGIIRIgBiAIa0EQagshBiAMQv////8PgyICIAFC/////w+DIgF+IhMgA0IPhkKAgP7/D4MiAyAPQv////8PgyIOfnwiBEIghiINIAEgA358IgwgDVStIAIgDn4iFSADIAtC/////w+DIgt+fCIUIBBC/////w+DIg0gAX58IhAgBCATVK1CIIYgBEIgiIR8IhMgAiALfiIWIAMgEUKAgASEIg9+fCIDIA0gDn58IhEgASASQv////8Hg0KAgICACIQiAX58IhJCIIZ8Ihd8IQQgByAJaiAGakH//wBrIQYCQCALIA1+IhggAiAPfnwiAiAYVK0gAiACIAEgDn58IgJWrXwgAiACIBQgFVStIBAgFFStfHwiAlatfCABIA9+fCABIAt+IgsgDSAPfnwiASALVK1CIIYgAUIgiIR8IAIgAUIghnwiASACVK18IAEgASARIBJWrSADIBZUrSADIBFWrXx8QiCGIBJCIIiEfCIBVq18IAEgECATVq0gEyAXVq18fCICIAFUrXwiAUKAgICAgIDAAINQRQRAIAZBAWohBgwBCyAMQj+IIQMgAUIBhiACQj+IhCEBIAJCAYYgBEI/iIQhAiAMQgGGIQwgAyAEQgGGhCEECyAGQf//AU4EQCAKQoCAgICAgMD//wCEIQpCACEBDAELAn4gBkEATARAQQEgBmsiB0GAAU8EQEIAIQEMAwsgBUEwaiAMIAQgBkH/AGoiBhAfIAVBIGogAiABIAYQHyAFQRBqIAwgBCAHECcgBSACIAEgBxAnIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQwgBSkDKCAFKQMYhCEEIAUpAwAhAiAFKQMIDAELIAFC////////P4MgBq1CMIaECyAKhCEKIAxQIARCf1UgBEKAgICAgICAgIB/URtFBEAgCiACQgF8IgEgAlStfCEKDAELIAwgBEKAgICAgICAgIB/hYRQRQRAIAIhAQwBCyAKIAIgAkIBg3wiASACVK18IQoLIAAgATcDACAAIAo3AwggBUHgAGokAAuDBAEDfyACQYAETwRAIAAgASACEBIaIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAEEDcUUEQCAAIQIMAQsgAkEBSARAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAAL/gIBBn8gACgCBCEGIAAoAgAhBwJAIAAoAhAiBSgCoAMEfyAHBSACQRhKBEAgAiEIIAchBAwCCwNAIAZFBEAgBSAFKAIYKAIMEQEARQRAQQAPCyAFKAIYIgQoAgQhBiAEKAIAIQcLIAdBAWohBCAGQQFrIQYCQCAHLQAAIghB/wFGBEADQCAGRQRAIAUgBSgCGCgCDBEBAEUEQEEADwsgBSgCGCIEK Line truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.wasm":
/*!***************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.wasm ***!
\***************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,AGFzbQEAAAABygEdYAF/AGABfwF/YAN/f38Bf2ACf38AYAN/f38AYAV/f39/fwBgAn9/AX9gBH9/f38AYAV/f39/fwF/YAZ/f39/f38AYAR/f39/AX9gBX9+fn5+AGAAAGAHf39/f39/fwBgCH9/f39/f39/AGAGf39/f39/AX9gBH9+fn8AYAABf2ADf35/AX5gCn9/f39/f39/f38AYAJ/fABgAn9+AGAEfn5+fgF/YAJ8fwF8YAF8AXxgA35+fgF/YAR/f35+AGABfwF+YAN/f34AAqkBHAFhAWEAEwFhAWIABAFhAWMABQFhAWQAAQFhAWUABAFhAWYACQFhAWcAAAFhAWgADAFhAWkABAFhAWoAAwFhAWsAAAFhAWwAAAFhAW0ACQFhAW4ACgFhAW8ACAFhAXAADQFhAXEAAAFhAXIAAgFhAXMABgFhAXQABgFhAXUAAQFhAXYAAQFhAXcACgFhAXgAAwFhAXkABQFhAXoAAwFhAUEAAAFhAUIAAgO/Ab0BAgEBCwACBAELEAMLAgMEFBUCEAUWBwIDBAYBAAQXAwUGAAQDAAACCxgZCQQHAQgCDAYMCwsDBAMAGgMHBgYNAhsQCwYcBAYDBgQBAAAAAAAADAMMAQEAAAMDBAQOAwQEDgAAAAANDQMHBwcHBwcFBQUFBQUABQQAAAABAAMEAAAAAAAKCg8PAAgIAAADAAMACAkJBQUHBwcFCQICAQIBAhICAQAFCBEBBAYEBgARBwMGBgYDAAAGBgYGAwYGBAUBcAFzcwUHAQGAAoCAAgYJAX8BQYClxQILByMIAUMCAAFEAE4BRQAjAUYAIAFHAL4BAUgAbQFJAQABSgCsAQnPAQEAQQELcqYBUaUBpAGjAaIBoQGgAZ8BQi03lwGWAZUBlAGTAYoBN4kBiAGHAYYBhQGEAYMBggGBAX1/fIABe3p5fnh3dnWSAXNy2AHXAdUB1AHTAdIB0QHQAc8BzgHNAU3MAcoBN5EBjwGQAY4BjQGMAYsB1gF0ywGYAZkBmgGbAZwBnQGeAckByAHHAcYBxQHEAcMBwgHBAcABpwGoAakBqgGrAb8BuwG6Ab0BvAG5AbgBPTc3twE9tgGtAa8BsgE9tQG0AbMBPa4BsAGxAQqjswq9AfICAgJ/AX4CQCACRQ0AIAAgAmoiA0EBayABOgAAIAAgAToAACACQQNJDQAgA0ECayABOgAAIAAgAToAASADQQNrIAE6AAAgACABOgACIAJBB0kNACADQQRrIAE6AAAgACABOgADIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQQRrIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkEIayABNgIAIAJBDGsgATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBEGsgATYCACACQRRrIAE2AgAgAkEYayABNgIAIAJBHGsgATYCACAEIANBBHFBGHIiBGsiAkEgSQ0AIAGtQoGAgIAQfiEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC9kCAgR/AX4CQAJAIAApA3AiBVBFBEAgACkDeCAFWQ0BCyMAQRBrIgEkAEF/IQMCQAJ/IAAgAC0ASiICQQFrIAJyOgBKIAAoAhQgACgCHEsEQCAAQQBBACAAKAIkEQIAGgsgAEEANgIcIABCADcDECAAKAIAIgJBBHEEQCAAIAJBIHI2AgBBfwwBCyAAIAAoAiwgACgCMGoiBDYCCCAAIAQ2AgQgAkEbdEEfdQsNACAAIAFBD2pBASAAKAIgEQIAQQFHDQAgAS0ADyEDCyABQRBqJAAgAyICQX9KDQELIABBADYCaEF/DwsgACgCBCEBIAACfyAAKAIIIgMgACkDcCIFUA0AGiADIAUgACkDeEJ/hXwiBSADIAFrrFkNABogASAFp2oLNgJoIAMEQCAAIAApA3ggAyABa0EBaqx8NwN4CyABQQFrIgAtAAAgAkcEQCAAIAI6AAALIAILGwAgAEEBIAAbIQACQCAAECMiAA0AEAcACyAAC5gLAgV/D34jAEHgAGsiBSQAIAJCIIYgAUIgiIQhDyAEQi+GIANCEYiEIQwgBEL///////8/gyINQg+GIANCMYiEIRAgAiAEhUKAgICAgICAgIB/gyEKIAJC////////P4MiC0IgiCERIA1CEYghEiAEQjCIp0H//wFxIQcCQAJ/IAJCMIinQf//AXEiCUEBa0H9/wFNBEBBACAHQQFrQf7/AUkNARoLIAFQIAJC////////////AIMiDkKAgICAgIDA//8AVCAOQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASAOQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgDoQhAkIAIQEgAlAEQEKAgICAgIDg//8AIQoMAwsgCkKAgICAgIDA//8AhCEKDAILIAEgDoRQBEBCACEBDAILIAIgA4RQBEBCACEBDAILIA5C////////P1gEQCAFQdAAaiABIAsgASALIAtQIgYbeSAGQQZ0rXynIgZBD2sQJSAFKQNYIgtCIIYgBSkDUCIBQiCIhCEPIAtCIIghEUEQIAZrIQYLIAYgAkL///////8/Vg0AGiAFQUBrIAMgDSADIA0gDVAiCBt5IAhBBnStfKciCEEPaxAlIAUpA0giAkIPhiAFKQNAIgNCMYiEIRAgAkIvhiADQhGIhCEMIAJCEYghEiAGIAhrQRBqCyEGIAxC/////w+DIgIgAUL/////D4MiAX4iEyADQg+GQoCA/v8PgyIDIA9C/////w+DIg5+fCIEQiCGIg0gASADfnwiDCANVK0gAiAOfiIVIAMgC0L/////D4MiC358IhQgEEL/////D4MiDSABfnwiECAEIBNUrUIghiAEQiCIhHwiEyACIAt+IhYgAyARQoCABIQiD358IgMgDSAOfnwiESABIBJC/////weDQoCAgIAIhCIBfnwiEkIghnwiF3whBCAHIAlqIAZqQf//AGshBgJAIAsgDX4iGCACIA9+fCICIBhUrSACIAIgASAOfnwiAlatfCACIAIgFCAVVK0gECAUVK18fCICVq18IAEgD358IAEgC34iCyANIA9+fCIBIAtUrUIghiABQiCIhHwgAiABQiCGfCIBIAJUrXwgASABIBEgElatIAMgFlStIAMgEVatfHxCIIYgEkIgiIR8IgFWrXwgASAQIBNWrSATIBdWrXx8IgIgAVStfCIBQoCAgICAgMAAg1BFBEAgBkEBaiEGDAELIAxCP4ghAyABQgGGIAJCP4iEIQEgAkIBhiAEQj+IhCECIAxCAYYhDCADIARCAYaEIQQLIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIHQYABTwRAQgAhAQwDCyAFQTBqIAwgBCAGQf8AaiIGECUgBUEgaiACIAEgBhAlIAVBEGogDCAEIAcQLiAFIAIgASAHEC4gBSkDMCAFKQM4hEIAUq0gBSkDICAFKQMQhIQhDCAFKQMoIAUpAxiEIQQgBSkDACECIAUpAwgMAQsgAUL///////8/gyAGrUIwhoQLIAqEIQogDFAgBEJ/VSAEQoCAgICAgICAgH9RG0UEQCAKIAJCAXwiASACVK18IQoMAQsgDCAEQoCAgICAgICAgH+FhFBFBEAgAiEBDAELIAogAiACQgGDfCIBIAJUrXwhCgsgACABNwMAIAAgCjcDCCAFQeAAaiQAC8wMAQd/AkAgAEUNACAAQQhrIgMgAEEEaygCACIBQXhxIgBqIQUCQCABQQFxDQAgAUEDcUUNASADIAMoAgAiAWsiA0GUoQUoAgBJDQEgACABaiEAIANBmKEFKAIARwRAIAFB/wFNBEAgAygCCCICIAFBA3YiBEEDdEGsoQVqRhogAiADKAIMIgFGBEBBhKEFQYShBSgCAEF+IAR3cTYCAAwDCyACIAE2AgwgASACNgIIDAILIAMoAhghBgJAIAMgAygCDCIBRwRAIAMoAggiAiABNgIMIAEgAjYCCAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEAIQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0BAkAgAyADKAIcIgJBAnRBtKMFaiIEKAIARgRAIAQgATYCACABDQFBiKEFQYihBSgCAEF+IAJ3cTYCAAwDCyAGQRBBFCAGKAIQIANGG2ogATYCACABRQ0CCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0BIAEgAjYCFCACIAE2AhgMAQsgBSgCBCIBQQNxQQNHDQBBjKEFIAA2AgAgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgAPCyADIAVPDQAgBSgCBCIBQQFxRQ0AAkAgAUECcUUEQCAFQZyhBSgCAEYEQEGcoQUgAzYCAEGQoQVBkKEFKAIAIABqIgA2AgAgAyAAQQFyNgIEIANBmKEFKAIARw0DQYyhBUEANgIAQZihBUEANgIADwsgBUGYoQUoAgBGBEBBmKEFIAM2AgBBjKEFQYyhBSgCACAAaiIANgIAIAMgA Line truncated
/***/ }),
/***/ "./node_modules/@jsquash/png/codec/squoosh_png_bg.wasm":
/*!*************************************************************!*\
!*** ./node_modules/@jsquash/png/codec/squoosh_png_bg.wasm ***!
\*************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,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 Line truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js":
/*!*************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n\nvar Module = (function() {\n var _scriptDir = \"file:///E:/Extra-Time/test/wp-content/plugins/squeeze/node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js\";\n \n return (\nfunction(Module) {\n Module = Module || {};\n\nvar Module=typeof Module!==\"undefined\"?Module:{};var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram=\"./this.program\";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!==\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!==\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str=\"\";while(!(idx>=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function UTF16ToStLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js":
/*!*************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n\nvar Module = (function() {\n var _scriptDir = \"file:///E:/Extra-Time/test/wp-content/plugins/squeeze/node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js\";\n \n return (\nfunction(Module) {\n Module = Module || {};\n\nvar Module=typeof Module!==\"undefined\"?Module:{};var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram=\"./this.program\";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!==\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!==\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str=\"\";while(!(idx>=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function UTF16ToStLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/decode.js":
/*!**********************************************!*\
!*** ./node_modules/@jsquash/jpeg/decode.js ***!
\**********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ decode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./node_modules/@jsquash/jpeg/utils.js\");\n/* harmony import */ var _codec_dec_mozjpeg_dec__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./codec/dec/mozjpeg_dec */ \"./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nlet emscriptenModule;\nasync function init(module) {\n emscriptenModule = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.initEmscriptenModule)(_codec_dec_mozjpeg_dec__WEBPACK_IMPORTED_MODULE_1__[\"default\"], module);\n}\nasync function decode(buffer) {\n if (!emscriptenModule)\n init();\n const module = await emscriptenModule;\n const result = module.decode(buffer);\n if (!result)\n throw new Error('Decoding error');\n return result;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/decode.js?");
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/encode.js":
/*!**********************************************!*\
!*** ./node_modules/@jsquash/jpeg/encode.js ***!
\**********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ encode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _codec_enc_mozjpeg_enc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./codec/enc/mozjpeg_enc */ \"./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js\");\n/* harmony import */ var _meta__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./meta */ \"./node_modules/@jsquash/jpeg/meta.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./node_modules/@jsquash/jpeg/utils.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\nlet emscriptenModule;\nasync function init(module) {\n emscriptenModule = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.initEmscriptenModule)(_codec_enc_mozjpeg_enc__WEBPACK_IMPORTED_MODULE_1__[\"default\"], module);\n}\nasync function encode(data, options = {}) {\n if (!emscriptenModule)\n init();\n const module = await emscriptenModule;\n const _options = { ..._meta__WEBPACK_IMPORTED_MODULE_2__.defaultOptions, ...options };\n const resultView = module.encode(data.data, data.width, data.height, _options);\n // wasm can’t run on SharedArrayBuffers, so we hard-cast to ArrayBuffer.\n return resultView.buffer;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/encode.js?");
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/meta.js":
/*!********************************************!*\
!*** ./node_modules/@jsquash/jpeg/meta.js ***!
\********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"defaultOptions\": () => (/* binding */ defaultOptions),\n/* harmony export */ \"extension\": () => (/* binding */ extension),\n/* harmony export */ \"label\": () => (/* binding */ label),\n/* harmony export */ \"mimeType\": () => (/* binding */ mimeType)\n/* harmony export */ });\nconst label = 'MozJPEG';\nconst mimeType = 'image/jpeg';\nconst extension = 'jpg';\nconst defaultOptions = {\n quality: 75,\n baseline: false,\n arithmetic: false,\n progressive: true,\n optimize_coding: true,\n smoothing: 0,\n color_space: 3 /* YCbCr */,\n quant_table: 3,\n trellis_multipass: false,\n trellis_opt_zero: false,\n trellis_opt_table: false,\n trellis_loops: 1,\n auto_subsample: true,\n chroma_subsample: 2,\n separate_chroma_quality: false,\n chroma_quality: 75,\n};\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/meta.js?");
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/utils.js":
/*!*********************************************!*\
!*** ./node_modules/@jsquash/jpeg/utils.js ***!
\*********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initEmscriptenModule\": () => (/* binding */ initEmscriptenModule)\n/* harmony export */ });\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Notice: I (Jamie Sinclair) have modified this file to allow manual instantiation of the Wasm Module.\n */\nfunction initEmscriptenModule(moduleFactory, wasmModule) {\n let instantiateWasm;\n if (wasmModule) {\n instantiateWasm = (imports, callback) => {\n const instance = new WebAssembly.Instance(wasmModule, imports);\n callback(instance);\n return instance.exports;\n };\n }\n return moduleFactory({\n // Just to be safe, don't automatically invoke any wasm functions\n noInitialRun: true,\n instantiateWasm\n });\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/utils.js?");
/***/ }),
/***/ "./node_modules/@jsquash/png/decode.js":
/*!*********************************************!*\
!*** ./node_modules/@jsquash/png/decode.js ***!
\*********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ decode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codec/squoosh_png */ \"./node_modules/@jsquash/png/codec/squoosh_png.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nlet pngModule;\nasync function init(moduleOrPath) {\n if (!pngModule) {\n pngModule = (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(moduleOrPath);\n }\n return pngModule;\n}\nasync function decode(data) {\n await init();\n const imageData = await (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__.decode)(new Uint8Array(data));\n if (!imageData)\n throw new Error('Encoding error.');\n return imageData;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/png/decode.js?");
/***/ }),
/***/ "./node_modules/@jsquash/png/encode.js":
/*!*********************************************!*\
!*** ./node_modules/@jsquash/png/encode.js ***!
\*********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ encode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codec/squoosh_png */ \"./node_modules/@jsquash/png/codec/squoosh_png.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nlet pngModule;\nasync function init(moduleOrPath) {\n if (!pngModule) {\n pngModule = (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(moduleOrPath);\n }\n return pngModule;\n}\nasync function encode(data) {\n await init();\n // @ts-ignore - pngEncode expects a Uint8Array, check if mistake or whether we need to convert from Uint8ClampedArray\n const buffer = await (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__.encode)(data.data, data.width, data.height);\n if (!buffer)\n throw new Error('Encoding error.');\n return buffer;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/png/encode.js?");
/***/ })
}]);
@@ -0,0 +1,162 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["vendors-node_modules_jsquash_jpeg_decode_js-node_modules_jsquash_jpeg_encode_js-node_modules_-9c2145"],{
/***/ "./node_modules/@jsquash/png/codec/squoosh_png.js":
/*!********************************************************!*\
!*** ./node_modules/@jsquash/png/codec/squoosh_png.js ***!
\********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"decode\": () => (/* binding */ decode),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"encode\": () => (/* binding */ encode)\n/* harmony export */ });\n\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nlet cachegetUint8ClampedMemory0 = null;\nfunction getUint8ClampedMemory0() {\n if (cachegetUint8ClampedMemory0 === null || cachegetUint8ClampedMemory0.buffer !== wasm.memory.buffer) {\n cachegetUint8ClampedMemory0 = new Uint8ClampedArray(wasm.memory.buffer);\n }\n return cachegetUint8ClampedMemory0;\n}\n\nfunction getClampedArrayU8FromWasm0(ptr, len) {\n return getUint8ClampedMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nconst heap = new Array(32).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1);\n getUint8Memory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array} data\n* @param {number} width\n* @param {number} height\n* @returns {Uint8Array}\n*/\nfunction encode(data, width, height) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.encode(retptr, ptr0, len0, width, height);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n/**\n* @param {Uint8Array} data\n* @returns {ImageData}\n*/\nfunction decode(data) {\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.decode(ptr0, len0);\n return takeObject(ret);\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nasync function init(input) {\n if (typeof input === 'undefined') {\n input = new URL(/* asset import */ __webpack_require__(/*! squoosh_png_bg.wasm */ \"./node_modules/@jsquash/png/codec/squoosh_png_bg.wasm\"), __webpack_require__.b);\n }\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_newwithownedu8clampedarrayandsh_787b2db8ea6bfd62 = function(arg0, arg1, arg2, arg3) {\n varLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.wasm":
/*!***************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.wasm ***!
\***************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,AGFzbQEAAAABqAEZYAF/AGABfwF/YAN/f38Bf2ACf38AYAV/f39/fwBgBH9/f38AYAJ/fwF/YAV/f39/fwF/YAd/f39/f39/AGAEf39/fwF/YAZ/f39/f38AYAN/f38AYAV/fn5+fgBgAABgBn9/f39/fwF/YAR/fn5/AGADf35/AX5gAn98AGACf34AYAR+fn5+AX9gAX8BfGADfn5+AX9gBH9/fn4AYAF/AX5gA39/fgAClwEZAWEBYQALAWEBYgAEAWEBYwAAAWEBZAABAWEBZQACAWEBZgABAWEBZwALAWEBaAADAWEBaQAAAWEBagAJAWEBawANAWEBbAALAWEBbQAEAWEBbgADAWEBbwAKAWEBcAAHAWEBcQAIAWEBcgAAAWEBcwACAWEBdAAGAWEBdQAGAWEBdgABAWEBdwAJAWEBeAADAWEBeQAAA88BzQECAQwCCQwPAQIMAwAREg8CBAATAwsHAQIEAAUUAwECDBUKCwUHDQAMDAUAAAADCxYDBRcPDAYYCwYGCwEAAAAAAAANDQEBBQUFBQUACAQEBAQEBAQEBAQEBAQFBQgFBQUIBQAFAAUFAwAABQUFBQUDAwEAAAEBAQEBAAYJCQ4OAAcHAAADAAMABwoKBAQFBQUECgICAQIBAhACAQAAAwYAAAUFBQMGAQYBBgAABgYGBgAABgAEBAQEBAQEBAQEBAQEBAQEBAQICAgDBQUFBAcBcAGVAZUBBQcBAYACgIACBgkBfwFB0N/AAgsHIwgBegIAAUEAPgFCACABQwAkAUQAswEBRQBbAUYBAAFHAKEBCf8BAQBBAQuUAZsBRpoBmQGYAZcBlgGVAZQBNyiNAYcBhgGFAYQBgwGBAYABf34qfXx7enl4d3Z1dHMqcnFwb25tbGtqaWhnZmVkY2JhYF/lAeQB4wHhAeAB3wHcAd0B1wHeAdgB2QHaAdsBzgHNAdYB1QHUAdMB0gHRAdABzwHLAcoByAHHAcYBxQHEAcMBwgHBAcABvwG+Ab0BvAG7AboBuQG4AYIBKogB4gHMAckBtwG2AZwBnQGeAZ8BoAGPAZABkQGSAY4BiwFFjAEqKpMBiQGKAbUBtAGwAa8BsgGxAa4BrQEyKiqsATKrAaIBpAGnATKqAakBqAEyowGlAaYBCtipCc0B8gICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa1CgYCAgBB+IQUgAyAEaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLIAAL2QICBH8BfgJAAkAgACkDcCIFUEUEQCAAKQN4IAVZDQELIwBBEGsiASQAQX8hAwJAAn8gACAALQBKIgJBAWsgAnI6AEogACgCFCAAKAIcSwRAIABBAEEAIAAoAiQRAgAaCyAAQQA2AhwgAEIANwMQIAAoAgAiAkEEcQRAIAAgAkEgcjYCAEF/DAELIAAgACgCLCAAKAIwaiIENgIIIAAgBDYCBCACQRt0QR91Cw0AIAAgAUEPakEBIAAoAiARAgBBAUcNACABLQAPIQMLIAFBEGokACADIgJBf0oNAQsgAEEANgJoQX8PCyAAKAIEIQEgAAJ/IAAoAggiAyAAKQNwIgVQDQAaIAMgBSAAKQN4Qn+FfCIFIAMgAWusWQ0AGiABIAWnags2AmggAwRAIAAgACkDeCADIAFrQQFqrHw3A3gLIAFBAWsiAC0AACACRwRAIAAgAjoAAAsgAguYCwIFfw9+IwBB4ABrIgUkACACQiCGIAFCIIiEIQ8gBEIvhiADQhGIhCEMIARC////////P4MiDUIPhiADQjGIhCEQIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIgtCIIghESANQhGIIRIgBEIwiKdB//8BcSEHAkACfyACQjCIp0H//wFxIglBAWtB/f8BTQRAQQAgB0EBa0H+/wFJDQEaCyABUCACQv///////////wCDIg5CgICAgICAwP//AFQgDkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgDkKAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApCgICAgICAwP//AIQhCkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIA6EIQJCACEBIAJQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIA6EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyAOQv///////z9YBEAgBUHQAGogASALIAEgCyALUCIGG3kgBkEGdK18pyIGQQ9rEB8gBSkDWCILQiCGIAUpA1AiAUIgiIQhDyALQiCIIRFBECAGayEGCyAGIAJC////////P1YNABogBUFAayADIA0gAyANIA1QIggbeSAIQQZ0rXynIghBD2sQHyAFKQNIIgJCD4YgBSkDQCIDQjGIhCEQIAJCL4YgA0IRiIQhDCACQhGIIRIgBiAIa0EQagshBiAMQv////8PgyICIAFC/////w+DIgF+IhMgA0IPhkKAgP7/D4MiAyAPQv////8PgyIOfnwiBEIghiINIAEgA358IgwgDVStIAIgDn4iFSADIAtC/////w+DIgt+fCIUIBBC/////w+DIg0gAX58IhAgBCATVK1CIIYgBEIgiIR8IhMgAiALfiIWIAMgEUKAgASEIg9+fCIDIA0gDn58IhEgASASQv////8Hg0KAgICACIQiAX58IhJCIIZ8Ihd8IQQgByAJaiAGakH//wBrIQYCQCALIA1+IhggAiAPfnwiAiAYVK0gAiACIAEgDn58IgJWrXwgAiACIBQgFVStIBAgFFStfHwiAlatfCABIA9+fCABIAt+IgsgDSAPfnwiASALVK1CIIYgAUIgiIR8IAIgAUIghnwiASACVK18IAEgASARIBJWrSADIBZUrSADIBFWrXx8QiCGIBJCIIiEfCIBVq18IAEgECATVq0gEyAXVq18fCICIAFUrXwiAUKAgICAgIDAAINQRQRAIAZBAWohBgwBCyAMQj+IIQMgAUIBhiACQj+IhCEBIAJCAYYgBEI/iIQhAiAMQgGGIQwgAyAEQgGGhCEECyAGQf//AU4EQCAKQoCAgICAgMD//wCEIQpCACEBDAELAn4gBkEATARAQQEgBmsiB0GAAU8EQEIAIQEMAwsgBUEwaiAMIAQgBkH/AGoiBhAfIAVBIGogAiABIAYQHyAFQRBqIAwgBCAHECcgBSACIAEgBxAnIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQwgBSkDKCAFKQMYhCEEIAUpAwAhAiAFKQMIDAELIAFC////////P4MgBq1CMIaECyAKhCEKIAxQIARCf1UgBEKAgICAgICAgIB/URtFBEAgCiACQgF8IgEgAlStfCEKDAELIAwgBEKAgICAgICAgIB/hYRQRQRAIAIhAQwBCyAKIAIgAkIBg3wiASACVK18IQoLIAAgATcDACAAIAo3AwggBUHgAGokAAuDBAEDfyACQYAETwRAIAAgASACEBIaIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAEEDcUUEQCAAIQIMAQsgAkEBSARAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAAL/gIBBn8gACgCBCEGIAAoAgAhBwJAIAAoAhAiBSgCoAMEfyAHBSACQRhKBEAgAiEIIAchBAwCCwNAIAZFBEAgBSAFKAIYKAIMEQEARQRAQQAPCyAFKAIYIgQoAgQhBiAEKAIAIQcLIAdBAWohBCAGQQFrIQYCQCAHLQAAIghB/wFGBEADQCAGRQRAIAUgBSgCGCgCDBEBAEUEQEEADwsgBSgCGCIEK Line truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.wasm":
/*!***************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.wasm ***!
\***************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,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//8AVCAOQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASAOQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgDoQhAkIAIQEgAlAEQEKAgICAgIDg//8AIQoMAwsgCkKAgICAgIDA//8AhCEKDAILIAEgDoRQBEBCACEBDAILIAIgA4RQBEBCACEBDAILIA5C////////P1gEQCAFQdAAaiABIAsgASALIAtQIgYbeSAGQQZ0rXynIgZBD2sQJSAFKQNYIgtCIIYgBSkDUCIBQiCIhCEPIAtCIIghEUEQIAZrIQYLIAYgAkL///////8/Vg0AGiAFQUBrIAMgDSADIA0gDVAiCBt5IAhBBnStfKciCEEPaxAlIAUpA0giAkIPhiAFKQNAIgNCMYiEIRAgAkIvhiADQhGIhCEMIAJCEYghEiAGIAhrQRBqCyEGIAxC/////w+DIgIgAUL/////D4MiAX4iEyADQg+GQoCA/v8PgyIDIA9C/////w+DIg5+fCIEQiCGIg0gASADfnwiDCANVK0gAiAOfiIVIAMgC0L/////D4MiC358IhQgEEL/////D4MiDSABfnwiECAEIBNUrUIghiAEQiCIhHwiEyACIAt+IhYgAyARQoCABIQiD358IgMgDSAOfnwiESABIBJC/////weDQoCAgIAIhCIBfnwiEkIghnwiF3whBCAHIAlqIAZqQf//AGshBgJAIAsgDX4iGCACIA9+fCICIBhUrSACIAIgASAOfnwiAlatfCACIAIgFCAVVK0gECAUVK18fCICVq18IAEgD358IAEgC34iCyANIA9+fCIBIAtUrUIghiABQiCIhHwgAiABQiCGfCIBIAJUrXwgASABIBEgElatIAMgFlStIAMgEVatfHxCIIYgEkIgiIR8IgFWrXwgASAQIBNWrSATIBdWrXx8IgIgAVStfCIBQoCAgICAgMAAg1BFBEAgBkEBaiEGDAELIAxCP4ghAyABQgGGIAJCP4iEIQEgAkIBhiAEQj+IhCECIAxCAYYhDCADIARCAYaEIQQLIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIHQYABTwRAQgAhAQwDCyAFQTBqIAwgBCAGQf8AaiIGECUgBUEgaiACIAEgBhAlIAVBEGogDCAEIAcQLiAFIAIgASAHEC4gBSkDMCAFKQM4hEIAUq0gBSkDICAFKQMQhIQhDCAFKQMoIAUpAxiEIQQgBSkDACECIAUpAwgMAQsgAUL///////8/gyAGrUIwhoQLIAqEIQogDFAgBEJ/VSAEQoCAgICAgICAgH9RG0UEQCAKIAJCAXwiASACVK18IQoMAQsgDCAEQoCAgICAgICAgH+FhFBFBEAgAiEBDAELIAogAiACQgGDfCIBIAJUrXwhCgsgACABNwMAIAAgCjcDCCAFQeAAaiQAC8wMAQd/AkAgAEUNACAAQQhrIgMgAEEEaygCACIBQXhxIgBqIQUCQCABQQFxDQAgAUEDcUUNASADIAMoAgAiAWsiA0GUoQUoAgBJDQEgACABaiEAIANBmKEFKAIARwRAIAFB/wFNBEAgAygCCCICIAFBA3YiBEEDdEGsoQVqRhogAiADKAIMIgFGBEBBhKEFQYShBSgCAEF+IAR3cTYCAAwDCyACIAE2AgwgASACNgIIDAILIAMoAhghBgJAIAMgAygCDCIBRwRAIAMoAggiAiABNgIMIAEgAjYCCAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEAIQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0BAkAgAyADKAIcIgJBAnRBtKMFaiIEKAIARgRAIAQgATYCACABDQFBiKEFQYihBSgCAEF+IAJ3cTYCAAwDCyAGQRBBFCAGKAIQIANGG2ogATYCACABRQ0CCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0BIAEgAjYCFCACIAE2AhgMAQsgBSgCBCIBQQNxQQNHDQBBjKEFIAA2AgAgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgAPCyADIAVPDQAgBSgCBCIBQQFxRQ0AAkAgAUECcUUEQCAFQZyhBSgCAEYEQEGcoQUgAzYCAEGQoQVBkKEFKAIAIABqIgA2AgAgAyAAQQFyNgIEIANBmKEFKAIARw0DQYyhBUEANgIAQZihBUEANgIADwsgBUGYoQUoAgBGBEBBmKEFIAM2AgBBjKEFQYyhBSgCACAAaiIANgIAIAMgA Line truncated
/***/ }),
/***/ "./node_modules/@jsquash/png/codec/squoosh_png_bg.wasm":
/*!*************************************************************!*\
!*** ./node_modules/@jsquash/png/codec/squoosh_png_bg.wasm ***!
\*************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,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 Line truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js":
/*!*************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n\nvar Module = (function() {\n var _scriptDir = \"file:///E:/Extra-Time/test/wp-content/plugins/squeeze/node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js\";\n \n return (\nfunction(Module) {\n Module = Module || {};\n\nvar Module=typeof Module!==\"undefined\"?Module:{};var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram=\"./this.program\";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!==\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!==\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str=\"\";while(!(idx>=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function UTF16ToStLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js":
/*!*************************************************************!*\
!*** ./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js ***!
\*************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n\nvar Module = (function() {\n var _scriptDir = \"file:///E:/Extra-Time/test/wp-content/plugins/squeeze/node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js\";\n \n return (\nfunction(Module) {\n Module = Module || {};\n\nvar Module=typeof Module!==\"undefined\"?Module:{};var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram=\"./this.program\";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!==\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!==\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str=\"\";while(!(idx>=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function UTF16ToStLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/decode.js":
/*!**********************************************!*\
!*** ./node_modules/@jsquash/jpeg/decode.js ***!
\**********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ decode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./node_modules/@jsquash/jpeg/utils.js\");\n/* harmony import */ var _codec_dec_mozjpeg_dec__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./codec/dec/mozjpeg_dec */ \"./node_modules/@jsquash/jpeg/codec/dec/mozjpeg_dec.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nlet emscriptenModule;\nasync function init(module) {\n emscriptenModule = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.initEmscriptenModule)(_codec_dec_mozjpeg_dec__WEBPACK_IMPORTED_MODULE_1__[\"default\"], module);\n}\nasync function decode(buffer) {\n if (!emscriptenModule)\n init();\n const module = await emscriptenModule;\n const result = module.decode(buffer);\n if (!result)\n throw new Error('Decoding error');\n return result;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/decode.js?");
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/encode.js":
/*!**********************************************!*\
!*** ./node_modules/@jsquash/jpeg/encode.js ***!
\**********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ encode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _codec_enc_mozjpeg_enc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./codec/enc/mozjpeg_enc */ \"./node_modules/@jsquash/jpeg/codec/enc/mozjpeg_enc.js\");\n/* harmony import */ var _meta__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./meta */ \"./node_modules/@jsquash/jpeg/meta.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./node_modules/@jsquash/jpeg/utils.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\nlet emscriptenModule;\nasync function init(module) {\n emscriptenModule = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.initEmscriptenModule)(_codec_enc_mozjpeg_enc__WEBPACK_IMPORTED_MODULE_1__[\"default\"], module);\n}\nasync function encode(data, options = {}) {\n if (!emscriptenModule)\n init();\n const module = await emscriptenModule;\n const _options = { ..._meta__WEBPACK_IMPORTED_MODULE_2__.defaultOptions, ...options };\n const resultView = module.encode(data.data, data.width, data.height, _options);\n // wasm can’t run on SharedArrayBuffers, so we hard-cast to ArrayBuffer.\n return resultView.buffer;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/encode.js?");
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/meta.js":
/*!********************************************!*\
!*** ./node_modules/@jsquash/jpeg/meta.js ***!
\********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"defaultOptions\": () => (/* binding */ defaultOptions),\n/* harmony export */ \"extension\": () => (/* binding */ extension),\n/* harmony export */ \"label\": () => (/* binding */ label),\n/* harmony export */ \"mimeType\": () => (/* binding */ mimeType)\n/* harmony export */ });\nconst label = 'MozJPEG';\nconst mimeType = 'image/jpeg';\nconst extension = 'jpg';\nconst defaultOptions = {\n quality: 75,\n baseline: false,\n arithmetic: false,\n progressive: true,\n optimize_coding: true,\n smoothing: 0,\n color_space: 3 /* YCbCr */,\n quant_table: 3,\n trellis_multipass: false,\n trellis_opt_zero: false,\n trellis_opt_table: false,\n trellis_loops: 1,\n auto_subsample: true,\n chroma_subsample: 2,\n separate_chroma_quality: false,\n chroma_quality: 75,\n};\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/meta.js?");
/***/ }),
/***/ "./node_modules/@jsquash/jpeg/utils.js":
/*!*********************************************!*\
!*** ./node_modules/@jsquash/jpeg/utils.js ***!
\*********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initEmscriptenModule\": () => (/* binding */ initEmscriptenModule)\n/* harmony export */ });\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Notice: I (Jamie Sinclair) have modified this file to allow manual instantiation of the Wasm Module.\n */\nfunction initEmscriptenModule(moduleFactory, wasmModule) {\n let instantiateWasm;\n if (wasmModule) {\n instantiateWasm = (imports, callback) => {\n const instance = new WebAssembly.Instance(wasmModule, imports);\n callback(instance);\n return instance.exports;\n };\n }\n return moduleFactory({\n // Just to be safe, don't automatically invoke any wasm functions\n noInitialRun: true,\n instantiateWasm\n });\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/jpeg/utils.js?");
/***/ }),
/***/ "./node_modules/@jsquash/oxipng/meta.js":
/*!**********************************************!*\
!*** ./node_modules/@jsquash/oxipng/meta.js ***!
\**********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"defaultOptions\": () => (/* binding */ defaultOptions),\n/* harmony export */ \"extension\": () => (/* binding */ extension),\n/* harmony export */ \"label\": () => (/* binding */ label),\n/* harmony export */ \"mimeType\": () => (/* binding */ mimeType)\n/* harmony export */ });\nconst label = 'OXIPNG';\nconst mimeType = 'image/png';\nconst extension = 'png';\nconst defaultOptions = {\n level: 2,\n interlace: false\n};\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/meta.js?");
/***/ }),
/***/ "./node_modules/@jsquash/oxipng/optimise.js":
/*!**************************************************!*\
!*** ./node_modules/@jsquash/oxipng/optimise.js ***!
\**************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ optimise),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _meta__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./meta */ \"./node_modules/@jsquash/oxipng/meta.js\");\n/* harmony import */ var wasm_feature_detect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! wasm-feature-detect */ \"./node_modules/wasm-feature-detect/dist/esm/index.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nasync function initMT(moduleOrPath) {\n const { default: init, initThreadPool, optimise, } = await Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_jsquash_oxipng_codec_pkg-parallel_squoosh_oxipng_js\"), __webpack_require__.e(\"node_modules_jsquash_oxipng_codec_pkg-parallel_snippets_wasm-bindgen-rayon-3d2df09ebec17a22_s-312b0a0\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./codec/pkg-parallel/squoosh_oxipng */ \"./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js\"));\n await init(moduleOrPath);\n await initThreadPool(globalThis.navigator.hardwareConcurrency);\n return optimise;\n}\nasync function initST(moduleOrPath) {\n const { default: init, optimise } = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_jsquash_oxipng_codec_pkg_squoosh_oxipng_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./codec/pkg/squoosh_oxipng */ \"./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js\"));\n await init(moduleOrPath);\n return optimise;\n}\nlet wasmReady;\nfunction init(moduleOrPath) {\n var _a;\n if (!wasmReady) {\n const hasHardwareConcurrency = ((_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.hardwareConcurrency) > 1;\n wasmReady = hasHardwareConcurrency ? (0,wasm_feature_detect__WEBPACK_IMPORTED_MODULE_0__.threads)().then((hasThreads) => hasThreads ? initMT(moduleOrPath) : initST(moduleOrPath)) : initST(moduleOrPath);\n }\n}\nasync function optimise(data, options = {}) {\n init();\n const _options = { ..._meta__WEBPACK_IMPORTED_MODULE_1__.defaultOptions, ...options };\n const optimise = await wasmReady;\n return optimise(new Uint8Array(data), _options.level, _options.interlace)\n .buffer;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/optimise.js?");
/***/ }),
/***/ "./node_modules/@jsquash/png/decode.js":
/*!*********************************************!*\
!*** ./node_modules/@jsquash/png/decode.js ***!
\*********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ decode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codec/squoosh_png */ \"./node_modules/@jsquash/png/codec/squoosh_png.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nlet pngModule;\nasync function init(moduleOrPath) {\n if (!pngModule) {\n pngModule = (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(moduleOrPath);\n }\n return pngModule;\n}\nasync function decode(data) {\n await init();\n const imageData = await (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__.decode)(new Uint8Array(data));\n if (!imageData)\n throw new Error('Encoding error.');\n return imageData;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/png/decode.js?");
/***/ }),
/***/ "./node_modules/@jsquash/png/encode.js":
/*!*********************************************!*\
!*** ./node_modules/@jsquash/png/encode.js ***!
\*********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ encode),\n/* harmony export */ \"init\": () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codec/squoosh_png */ \"./node_modules/@jsquash/png/codec/squoosh_png.js\");\n/**\n * Copyright 2020 Google Inc. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nlet pngModule;\nasync function init(moduleOrPath) {\n if (!pngModule) {\n pngModule = (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(moduleOrPath);\n }\n return pngModule;\n}\nasync function encode(data) {\n await init();\n // @ts-ignore - pngEncode expects a Uint8Array, check if mistake or whether we need to convert from Uint8ClampedArray\n const buffer = await (0,_codec_squoosh_png__WEBPACK_IMPORTED_MODULE_0__.encode)(data.data, data.width, data.height);\n if (!buffer)\n throw new Error('Encoding error.');\n return buffer;\n}\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/png/encode.js?");
/***/ }),
/***/ "./node_modules/wasm-feature-detect/dist/esm/index.js":
/*!************************************************************!*\
!*** ./node_modules/wasm-feature-detect/dist/esm/index.js ***!
\************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"bigInt\": () => (/* binding */ bigInt),\n/* harmony export */ \"bulkMemory\": () => (/* binding */ bulkMemory),\n/* harmony export */ \"exceptions\": () => (/* binding */ exceptions),\n/* harmony export */ \"extendedConst\": () => (/* binding */ extendedConst),\n/* harmony export */ \"gc\": () => (/* binding */ gc),\n/* harmony export */ \"memory64\": () => (/* binding */ memory64),\n/* harmony export */ \"multiValue\": () => (/* binding */ multiValue),\n/* harmony export */ \"mutableGlobals\": () => (/* binding */ mutableGlobals),\n/* harmony export */ \"referenceTypes\": () => (/* binding */ referenceTypes),\n/* harmony export */ \"relaxedSimd\": () => (/* binding */ relaxedSimd),\n/* harmony export */ \"saturatedFloatToInt\": () => (/* binding */ saturatedFloatToInt),\n/* harmony export */ \"signExtensions\": () => (/* binding */ signExtensions),\n/* harmony export */ \"simd\": () => (/* binding */ simd),\n/* harmony export */ \"streamingCompilation\": () => (/* binding */ streamingCompilation),\n/* harmony export */ \"tailCall\": () => (/* binding */ tailCall),\n/* harmony export */ \"threads\": () => (/* binding */ threads)\n/* harmony export */ });\nconst bigInt=()=>(async e=>{try{return(await WebAssembly.instantiate(e)).instance.exports.b(BigInt(0))===BigInt(0)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,126,1,126,3,2,1,0,7,5,1,1,98,0,0,10,6,1,4,0,32,0,11])),bulkMemory=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),exceptions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),extendedConst=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,0,1,11,9,1,0,65,1,65,2,106,11,0])),gc=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,10,2,95,1,125,0,96,0,1,107,0,3,2,1,1,10,12,1,10,0,67,0,0,0,0,251,7,0,11])),memory64=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,4,1])),multiValue=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,0,2,127,127,3,2,1,0,10,8,1,6,0,65,0,65,0,11])),mutableGlobals=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,2,8,1,1,97,1,98,3,127,1,6,6,1,127,1,65,0,11,7,5,1,1,97,3,1])),referenceTypes=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,7,1,5,0,208,112,26,11])),relaxedSimd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,15,1,13,0,65,1,253,15,65,2,253,15,253,128,2,11])),saturatedFloatToInt=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,12,1,10,0,67,0,0,0,0,252,0,26,11])),signExtensions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,65,0,192,26,11])),simd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),streamingCompilation=()=>(async()=>\"compileStreaming\"in WebAssembly)(),tailCall=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,6,1,4,0,18,0,11])),threads=()=>(async e=>{try{return\"undefined\"!=typeof MessageChannel&&(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]));\n\n\n//# sourceURL=webpack:///./node_modules/wasm-feature-detect/dist/esm/index.js?");
/***/ })
}]);
@@ -0,0 +1,32 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["vendors-node_modules_jsquash_oxipng_codec_pkg-parallel_squoosh_oxipng_js"],{
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng_bg.wasm":
/*!********************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng_bg.wasm ***!
\********************************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,AGFzbQEAAAAB0AEdYAJ/fwBgAX8AYAN/f38Bf2ACf38Bf2ADf39/AGABfwF/YAR/f39/AGAAAX9gBX9/f39/AGAAAGAFf39/f38Bf2AEf39/fwF/YAZ/f39/f38AYAF/AX5gB39/f39/f38AYAN+fn8Bf2AGf39/f39/AX9gAn9+AX9gCH9/f39/f39/AGAFf399f38AYAV/f3x/fwBgBH9+f38AYAR/fX9/AGAEf3x/fwBgB39/f39/f38Bf2ADf35/AX9gA35/fwF/YAN+fn8BfmAEfn5/fwF+AoMBBQN3YmcQX193YmluZGdlbl90aHJvdwAAA3diZxFfX3diaW5kZ2VuX21vZHVsZQAHA3diZxFfX3diaW5kZ2VuX21lbW9yeQAHA3diZyNfX3diZ19zdGFydFdvcmtlcnNfOTE0NjU1YmI0ZDViYjVlMQACA3diZwZtZW1vcnkCAxGAgAEDjgSMBAwADAQIDggAEgAMCgoMAAYIAQAABQALCg4AAAQOCAYEAAAEAAEOAAQGCAYGBgAGBgQACAMDBAQBAwgDAgIBAggMBAUCBAsEAAsGAQAGAQEABAABAAQBAAcECQUBAxAEAgEEDwEBBAECAQYEBAYDHAAPDxsAAQAABAEBAAEBAxgFCgAGAAEAAwADAQABAQIFBAYDAwAABAADAQEAGgsAAQAFAwQAAQMZAwIBBwEECwEAAAMAAAMGAwYEBAYBAwAAAQEAAAAEAwAAAwEEAQgMAQAAAwAAAAQAAAAKBAUFAwMFAwMKBQAABgEBAwoFAQEBBAAEAQUHBgMABAMFDAQAAQEEAAEAAAUEBAcABwQDAAEBAwYCAQAEAwEFAAMDBQcFBAMDBgEBBQcDAwcEAwQAEQgBEQQABQAADQMDAAQBAQAGAAAABAQAAAQEAwACAAEBAQEAAwYDBAAAAQMDAQEGAQAAAQMDBAADAwEBAQEHBAABAQUBAAIAAwMLAQMDBQAVCQAJAwEEAQABAAkDBwEBBwEBAQMHBwEBAQEECQMBAQMDBwMFBAABAAUAAAEFAQEDAwcBAAABAAUABBABAQgKExQABgEBAQIHAQMAAQUBAAEBBwEAAQMAAwIAAQEAAwMAAwMACQsJAwMDAwIBAwkJBQADAwMBAAMDAwMDAwMJCQMDAAMBDQ0FDQ0NDQABBAcBcAHQAdABBg4CfwFBgIDAAAt/AUEACwfKAg0SX193YXNtX2luaXRfbWVtb3J5AIUDCG9wdGltaXNlAAogX193Ymdfd2JnX3JheW9uX3Bvb2xidWlsZGVyX2ZyZWUAjQEgd2JnX3JheW9uX3Bvb2xidWlsZGVyX251bVRocmVhZHMAqwMed2JnX3JheW9uX3Bvb2xidWlsZGVyX3JlY2VpdmVyALoDG3diZ19yYXlvbl9wb29sYnVpbGRlcl9idWlsZABnDmluaXRUaHJlYWRQb29sAKQBFndiZ19yYXlvbl9zdGFydF93b3JrZXIAOxNfX3diaW5kZ2VuX2V4cG9ydF8wAgAfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgDyAxFfX3diaW5kZ2VuX21hbGxvYwCmAw9fX3diaW5kZ2VuX2ZyZWUA5QMQX193YmluZGdlbl9zdGFydACeAwmTAwEAQQELzwGOBIYDowPpA+AD4QOKAeIBjwHAAasB6wOPBO4D1QPqA/oBPOkDswO1AbgBwQP/AcADwQO9A8kDxQPAA8UDwAPAA8ADwAPAA8ADwAPCA8MDzwP3A2SOA2hWsgG8As0CjgNqf4gBX0FR+gPvA+QD0AOPBP8CjwTbA6UB1gKPBPQDjwRr1QHdAo8EhwSPBO0D9QPYAo8EwgG2A48E/gKPBPYDjwSVAZcChASIBIkE4gPNA3FgjwSGA48E5wKPBKoDtwOGBP0DjwSpA/kDkAOFBJgDjwTsA48EkAPkAooEiQSdAuMCqQGPBI8EzAOPBPwDjwT7A48ElAKPBK8CjwSbAY8E/wOPBJYDjwSPBKsCjwSWAY8E/QGPBKwCkwOPBIYElwOGBN0D5gKPBI8EkAKPBB25A4YE/QOPBNcDvQLeA4wEjwSLBI8EPo8E6gLeA+MDjwT+A48E2AOPBN4DhASNBIkE3wOEBOQD4wOPBPoCjwT7Ao8E2gOPBOkC0QPLA9UC2QOPBB67A5MD5gEbEA8MAQQK68cRjASsxAECG38GfiMAIgchGCAHQeAIa0FgcSIGJAAgBiADNgK8AiAGIAI2ArgCIAYgATYCtAIgBiAENgLAAiAGIAU2AsQCAkACQAJAAkACQAJAIAEoAgAiAkEB/h4CAEF/TA0AIAZB0ARqIAFBBGoQ+QIgBkHUAmogBkHYBGooAgA2AgAgBiACNgLIAiAGIAYpA9AENwLMAiAGQdgCaiAGKALAAhCaAQJAIAYoAsACIgEtAJgBBEAgBkGcA2pBADYCAAwBCyAGQdAEaiABQdABahCaASAGQYgDaiAGQdAEakEw/AoAACAGKALAAiEBCwJAIAEtAKMCRQ0AAn8CQCAGKAK0AigCACIBQcEAai0AAEEHcUEDSQ0AIAFBQGstAABBAkYNAEEBIQVBBQwBC0EAIQVBAAshASAGQfQCaigCAEUEQCAGQdgCaiABECoLIAZBnANqKAIARQ0AIAZBpANqKAIADQAgBkGIA2ogBRAqCyAGKALEAiIDQQH+HgIAQX9MDQBBgAJBwAAQggQiAUUEQEGAAkHAAEGc9cIA/hACACIAQQEgABsRAAAMAQsgAUIANwMAIAFBCGogBkHQBGpBOPwKAAAgAUIANwNAIAFByABqIAZBqAdqQTj8CgAAIAFCADcDkAEgAUKAgICAwAA3A4gBIAFCBDcDgAEgAUGYAWpBADoAACABQQE6AJwBIAEgBi8A6AM7AJkBIAFBmwFqIAZB6gNqLQAAOgAAIAEgBi8AqAg7AJ0BIAFBnwFqIAZBqghqLQAAOgAAIAEgBikDwAU3A6ABIAFBqAFqIAYpA8gFNwMAIAFBsAFqIAYpA9AFNwMAIAFBuAFqIAYpA9gFNwMAIAFBADoAyAEgAUKBgICAEDcDwAEgAUHJAWogBkHABmpBN/wKAABBDEEEEIIEIgJFBEBBDEEEQZz1wgD+EAIAIgBBASAAGxEAAAwBCyACQX82AgggAkKBgICAEDcCACAGQcgDaiABNgIAIAZBzANqQQE2AgAgBkHQA2ogATYCACAGIAI2AsADIAZBADYCvAMgBiADNgK4AyAGQQE2AsQDIAYoAsACLQCdAkUEQCAGKAK0AigCACIBQQH+HgIAQX9MDQEgBkG4A2ogAUEAEFgLIAYoArQCKAIAIgdBAf4eAgBBf0wNACAGKALEAiEXIAYoAsACIREgBiAHNgLUAyARLQCdAgRAIBFBngJqLQAAIgEgBy0AREcEQCAHQQhqIQ4CfwJAIAFBAUcEQEEQIQECQAJAAkACQAJAIA5BOWotAABBAWsOBAECAwQAC0EBIQEMAwtBAiEBDAILQQQhAQwBC0EIIQELQQQhBQJAAkACQAJAIActAEBBAWsOBAIAAQMAC0EBIQUMAgtBAiEFDAELQQMhBQsgBkGoAmogASAFbCIEIAcoAjhsQQhqIgFBBXYgAUEfcUEAR2oiAkEBEJkCIAYgATYC3AQgBiACNgLYBCAGIAYpA6gCNwPQBCAGQdAEahDsAiAGQbgEaiAGQdAEaiAHKAI8EFwgBkGoB2ogDhCBAiAGQdAEaiAGQagHakEk/AoAACAGQcAGaiAGQdAEahBXIAYtAMQGQQJGBEAgBigCwAQhDyAGKAK4BCEBDAILIAYoArgEIQEgBigCwAQhD0EBIRBBCCESQQghCUEAIQMDQAJAAkACQCAGKALwBCIIIAYpA8AGIiGnIgJPBEAgBigC7AQhBSAGIAggAms2AvAEIAYgAiAFajYC7AQgAkUNDiAhQoCAgIDwH4NCgICAgCBRDQYgBkHABmogBUEBaiACQX9qEGIgBygCOCIIIBJB/wFxIgsgCiICQX9zamogC24hBSAGKALMBiINRQ0DIAQgBWwhDCABIANBBHRqIRNBACEFIAYoAsAGIRQgBigCyAYhFQNAIBUgBUEFdiIWTQ0CIAUgDEYNBCAPIANNDQMgEyAFIARuIAtsIAJqIARsIAUgBHBqQQhqIBQgFkECdGooAgBBASAFQR9xdHFBAEcQvAEgBUEBaiIWIQUgDSAWRw0ACwwDCwwMC0G85cIAQStB4IfCABCIAwALIAMgD0HIi8IAEMcCAAsCQCADIAlqIgMgBygCPCICSQ0AAkAgEEH/AXFBB0cEQCACQQFHIBBBAmogEEEBaiIDIAhBBUkbIAMgA0H/AXFBAkYbIgMgA0H/AXFBA0YgAkEFSXFqIgMgA0H/AXFBBEYgCEEDSXFqIgMgA0H/AXFBBUYgAkEDSXFqIgIgCEEBRiACQf8BcUEGRnFqIgJB/wFxQQdHcg0BCyAGQcAGahC4AwwEC0EBIRBBACEKQQghCUEAIQNBCCESAkACQAJAAkACQAJAAkAgAkH/AXFBf2oOBwcBAgMEBQYAC0HIy8IAQShB2IvCABC8AwALQQIhEEEEIQoMBQtBAyEQQQQhA0EEIRIMBAtBAiEKQQQhCUEEIRJBBCEQDAMLQQUhEEECIQNBBCEJQQIhEgwCC0EGIRBBASEKQQIhCUECIRIMAQtBByEQQQEhA0ECIQlBASESCyAGQcAGahC4AyAGQcAGaiAGQdAEahBXIAYtAMQGQQJHDQALDAELIAZCADcD2AQgBkIENwPQBCAGQbgEaiAGQdAEakEHEFxBECEBAkACQAJAAkACQCAHLQBBQQFrDgQBAgMEAAtBASEBDAMLQQIhAQwCC0EEIQEMAQtBCCEBC0EEIQUCQAJAAkACQCAHLQBAQQFrDgQCAAEDAAtBASEFDLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js":
/*!***************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js ***!
\***************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"initThreadPool\": () => (/* binding */ initThreadPool),\n/* harmony export */ \"optimise\": () => (/* binding */ optimise),\n/* harmony export */ \"wbg_rayon_PoolBuilder\": () => (/* binding */ wbg_rayon_PoolBuilder),\n/* harmony export */ \"wbg_rayon_start_worker\": () => (/* binding */ wbg_rayon_start_worker)\n/* harmony export */ });\n/* harmony import */ var _snippets_wasm_bindgen_rayon_3d2df09ebec17a22_src_workerHelpers_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js */ \"./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js\");\n\n\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.__wbindgen_export_0.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.__wbindgen_export_0.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().slice(ptr, ptr + len));\n}\n\nconst heap = new Array(32).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1);\n getUint8Memory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.__wbindgen_export_0.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.__wbindgen_export_0.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array} data\n* @param {number} level\n* @param {boolean} interlace\n* @returns {Uint8Array}\n*/\nfunction optimise(data, level, interlace) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.optimise(retptr, ptr0, len0, level, interlace);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n/**\n* @param {number} num_threads\n* @returns {Promise<any>}\n*/\nfunction initThreadPool(num_threads) {\n var ret = wasm.initThreadPool(num_threads);\n return takeObject(ret);\n}\n\n/**\n* @param {number} receiver\n*/\nfunction wbg_rayon_start_worker(receiver) {\n wasm.wbg_rayon_start_worker(receiver);\n}\n\n/**\n*/\nclass wbg_rayon_PoolBuilder {\n\n static __wrap(ptr) {\n const obj = Object.create(wbg_rayon_PoolBuilder.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wbg_rayon_poolbuilder_free(ptr);\n }\n /**\n * @returns {number}\n */\n numThreads() {\n var ret = wasm.wbg_rayon_poolbuilder_numThreads(this.ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n receiver() {\n var ret = wasm.wbg_rayon_poolbuilder_receiver(this.ptr);\n return ret;\n }\n /**\n */\n build() {\n wasm.wbg_rayon_poolbuilder_build(this.ptr);\n }\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStre Line truncated
/***/ })
}]);
@@ -0,0 +1,32 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["vendors-node_modules_jsquash_oxipng_codec_pkg-parallel_squoosh_oxipng_js"],{
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng_bg.wasm":
/*!********************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng_bg.wasm ***!
\********************************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,AGFzbQEAAAAB0AEdYAJ/fwBgAX8AYAN/f38Bf2ACf38Bf2ADf39/AGABfwF/YAR/f39/AGAAAX9gBX9/f39/AGAAAGAFf39/f38Bf2AEf39/fwF/YAZ/f39/f38AYAF/AX5gB39/f39/f38AYAN+fn8Bf2AGf39/f39/AX9gAn9+AX9gCH9/f39/f39/AGAFf399f38AYAV/f3x/fwBgBH9+f38AYAR/fX9/AGAEf3x/fwBgB39/f39/f38Bf2ADf35/AX9gA35/fwF/YAN+fn8BfmAEfn5/fwF+AoMBBQN3YmcQX193YmluZGdlbl90aHJvdwAAA3diZxFfX3diaW5kZ2VuX21vZHVsZQAHA3diZxFfX3diaW5kZ2VuX21lbW9yeQAHA3diZyNfX3diZ19zdGFydFdvcmtlcnNfOTE0NjU1YmI0ZDViYjVlMQACA3diZwZtZW1vcnkCAxGAgAEDjgSMBAwADAQIDggAEgAMCgoMAAYIAQAABQALCg4AAAQOCAYEAAAEAAEOAAQGCAYGBgAGBgQACAMDBAQBAwgDAgIBAggMBAUCBAsEAAsGAQAGAQEABAABAAQBAAcECQUBAxAEAgEEDwEBBAECAQYEBAYDHAAPDxsAAQAABAEBAAEBAxgFCgAGAAEAAwADAQABAQIFBAYDAwAABAADAQEAGgsAAQAFAwQAAQMZAwIBBwEECwEAAAMAAAMGAwYEBAYBAwAAAQEAAAAEAwAAAwEEAQgMAQAAAwAAAAQAAAAKBAUFAwMFAwMKBQAABgEBAwoFAQEBBAAEAQUHBgMABAMFDAQAAQEEAAEAAAUEBAcABwQDAAEBAwYCAQAEAwEFAAMDBQcFBAMDBgEBBQcDAwcEAwQAEQgBEQQABQAADQMDAAQBAQAGAAAABAQAAAQEAwACAAEBAQEAAwYDBAAAAQMDAQEGAQAAAQMDBAADAwEBAQEHBAABAQUBAAIAAwMLAQMDBQAVCQAJAwEEAQABAAkDBwEBBwEBAQMHBwEBAQEECQMBAQMDBwMFBAABAAUAAAEFAQEDAwcBAAABAAUABBABAQgKExQABgEBAQIHAQMAAQUBAAEBBwEAAQMAAwIAAQEAAwMAAwMACQsJAwMDAwIBAwkJBQADAwMBAAMDAwMDAwMJCQMDAAMBDQ0FDQ0NDQABBAcBcAHQAdABBg4CfwFBgIDAAAt/AUEACwfKAg0SX193YXNtX2luaXRfbWVtb3J5AIUDCG9wdGltaXNlAAogX193Ymdfd2JnX3JheW9uX3Bvb2xidWlsZGVyX2ZyZWUAjQEgd2JnX3JheW9uX3Bvb2xidWlsZGVyX251bVRocmVhZHMAqwMed2JnX3JheW9uX3Bvb2xidWlsZGVyX3JlY2VpdmVyALoDG3diZ19yYXlvbl9wb29sYnVpbGRlcl9idWlsZABnDmluaXRUaHJlYWRQb29sAKQBFndiZ19yYXlvbl9zdGFydF93b3JrZXIAOxNfX3diaW5kZ2VuX2V4cG9ydF8wAgAfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgDyAxFfX3diaW5kZ2VuX21hbGxvYwCmAw9fX3diaW5kZ2VuX2ZyZWUA5QMQX193YmluZGdlbl9zdGFydACeAwmTAwEAQQELzwGOBIYDowPpA+AD4QOKAeIBjwHAAasB6wOPBO4D1QPqA/oBPOkDswO1AbgBwQP/AcADwQO9A8kDxQPAA8UDwAPAA8ADwAPAA8ADwAPCA8MDzwP3A2SOA2hWsgG8As0CjgNqf4gBX0FR+gPvA+QD0AOPBP8CjwTbA6UB1gKPBPQDjwRr1QHdAo8EhwSPBO0D9QPYAo8EwgG2A48E/gKPBPYDjwSVAZcChASIBIkE4gPNA3FgjwSGA48E5wKPBKoDtwOGBP0DjwSpA/kDkAOFBJgDjwTsA48EkAPkAooEiQSdAuMCqQGPBI8EzAOPBPwDjwT7A48ElAKPBK8CjwSbAY8E/wOPBJYDjwSPBKsCjwSWAY8E/QGPBKwCkwOPBIYElwOGBN0D5gKPBI8EkAKPBB25A4YE/QOPBNcDvQLeA4wEjwSLBI8EPo8E6gLeA+MDjwT+A48E2AOPBN4DhASNBIkE3wOEBOQD4wOPBPoCjwT7Ao8E2gOPBOkC0QPLA9UC2QOPBB67A5MD5gEbEA8MAQQK68cRjASsxAECG38GfiMAIgchGCAHQeAIa0FgcSIGJAAgBiADNgK8AiAGIAI2ArgCIAYgATYCtAIgBiAENgLAAiAGIAU2AsQCAkACQAJAAkACQAJAIAEoAgAiAkEB/h4CAEF/TA0AIAZB0ARqIAFBBGoQ+QIgBkHUAmogBkHYBGooAgA2AgAgBiACNgLIAiAGIAYpA9AE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 truncated
/***/ }),
/***/ "./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js":
/*!***************************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg-parallel/squoosh_oxipng.js ***!
\***************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"initThreadPool\": () => (/* binding */ initThreadPool),\n/* harmony export */ \"optimise\": () => (/* binding */ optimise),\n/* harmony export */ \"wbg_rayon_PoolBuilder\": () => (/* binding */ wbg_rayon_PoolBuilder),\n/* harmony export */ \"wbg_rayon_start_worker\": () => (/* binding */ wbg_rayon_start_worker)\n/* harmony export */ });\n/* harmony import */ var _snippets_wasm_bindgen_rayon_3d2df09ebec17a22_src_workerHelpers_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js */ \"./node_modules/@jsquash/oxipng/codec/pkg-parallel/snippets/wasm-bindgen-rayon-3d2df09ebec17a22/src/workerHelpers.js\");\n\n\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.__wbindgen_export_0.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.__wbindgen_export_0.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().slice(ptr, ptr + len));\n}\n\nconst heap = new Array(32).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1);\n getUint8Memory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.__wbindgen_export_0.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.__wbindgen_export_0.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array} data\n* @param {number} level\n* @param {boolean} interlace\n* @returns {Uint8Array}\n*/\nfunction optimise(data, level, interlace) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.optimise(retptr, ptr0, len0, level, interlace);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n/**\n* @param {number} num_threads\n* @returns {Promise<any>}\n*/\nfunction initThreadPool(num_threads) {\n var ret = wasm.initThreadPool(num_threads);\n return takeObject(ret);\n}\n\n/**\n* @param {number} receiver\n*/\nfunction wbg_rayon_start_worker(receiver) {\n wasm.wbg_rayon_start_worker(receiver);\n}\n\n/**\n*/\nclass wbg_rayon_PoolBuilder {\n\n static __wrap(ptr) {\n const obj = Object.create(wbg_rayon_PoolBuilder.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wbg_rayon_poolbuilder_free(ptr);\n }\n /**\n * @returns {number}\n */\n numThreads() {\n var ret = wasm.wbg_rayon_poolbuilder_numThreads(this.ptr);\n return ret >>> 0;\n }\n /**\n * @returns {number}\n */\n receiver() {\n var ret = wasm.wbg_rayon_poolbuilder_receiver(this.ptr);\n return ret;\n }\n /**\n */\n build() {\n wasm.wbg_rayon_poolbuilder_build(this.ptr);\n }\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStre Line truncated
/***/ })
}]);
@@ -0,0 +1,32 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["vendors-node_modules_jsquash_oxipng_codec_pkg_squoosh_oxipng_js"],{
/***/ "./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng_bg.wasm":
/*!***********************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng_bg.wasm ***!
\***********************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,AGFzbQEAAAABoAEXYAJ/fwBgA39/fwF/YAJ/fwF/YAF/AGADf39/AGAEf39/fwBgAX8Bf2AFf39/f38AYAV/f39/fwF/YAR/f39/AX9gAAF/YAAAYAZ/f39/f38AYAF/AX5gA35+fwF/YAd/f39/f39/AGAIf39/f39/f38AYAZ/f39/f38Bf2ACf34Bf2ADf35/AX9gA35/fwF/YAN+fn8BfmAEfn5/fwF+AhgBA3diZxBfX3diaW5kZ2VuX3Rocm93AAAD0gLQAgwADAQHBxAAAAYICAwFBwAAAAkIBAcFAAAEAAMPAAUEBwUFBQAHAwICAQQEBAIHAQACAQYABwwGAhEJAQAJBQQAAgAKBAYCAgQEDgQBBQIWDgIOFQIGCgQCAAgABQIAAAUEAAIUAgACAAMJAAACAwATAQAECQUAAgICBQIFAAIEBAUAAwQABAAEAwcMAwAAAAAEAgAAAggEBgYGCAMABQMIAAQDBAUCAgYEAAQAAAAEBAACAgEDAAQCAgMCBAQCAgYGAgIGAgIEAgQAAgcACxIGAAMAAg0DAAUAAAQEAAQEAgAAAQICAgIFAAADBAADAgMDAwQAAQkAAwQCAgIDBAMCAwoDAwIBAwICBAYAAAMAAwADAwECAwMECwoDAgMKAwAGAwICAgACAgEDAAICAAICAAkLAgIBAgIGAgIDAgICAgICAgIACwMLDQ0GDQ0AAwQHAXABgQGBAQUDAQARBgkBfwFBgIDAAAsHYAUGbWVtb3J5AgAIb3B0aW1pc2UABh9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyALoCEV9fd2JpbmRnZW5fbWFsbG9jAIwCD19fd2JpbmRnZW5fZnJlZQCyAgnyAQEAQQELgAHPAvwBigK1Aq0CrgJe+wG2AswBVbgCpwEurgKWAnh5ogK9AoEC1QHhAfwBgQK+ArkCrgKwAtACqgJS5QGmAtACygJNf+cBtwJ65gG7AqsCxgLLAswCrALGArACsQLQArwC0AJk0AL8AbYBxgLNAswCrwKhAk9H0AKWAYICQtACpQLQAqgCmwLQArQB0AL8AYIC6wHOAswCY+oBSNAC/AHQAp0C0ALAAtACvwLQArMB0ALJAdACaNACwQLQAoYC0ALQAmbQAqgB0ALGAdACxwHQAtACpALKAo8CwgIy8AGgArECwwKpApwBFAwLCpLlDdAC0fMBAiB/Bn4jAEHQCWsiBiQAIAYgBDYCuAMgBiABNgK0AyAGIAU2ArwDIAEoAgAiBCAEKAIAIgVBAWo2AgACQAJAAkACQAJAAkACQAJAAkACQCAFQX9MDQAgBkHYBWogAUEEahD4ASAGQcwDaiAGQeAFaigCADYCACAGIAQ2AsADIAYgBikD2AU3AsQDIAZB0ANqIAYoArgDEGcCQCAGKAK4AyIFLQCYAQRAIAZBlARqQQA2AgAMAQsgBkHYBWogBUHQAWoQZyAGQYAEaiAGQdgFakEwEIcCGiAGKAK4AyEFCwJAIAUtAKMCRQ0AAn8CQCABKAIAIgRBwQBqLQAAQQdxQQNJDQAgBEFAay0AAEECRg0AQQUhBUEBDAELQQAhBUEACyEEIAZB7ANqKAIARQRAIAZB0ANqIAUQHgsgBkGUBGooAgBFDQAgBkGcBGooAgANACAGQYAEaiAEEB4LIAYoArwDIgUgBSgCACIEQQFqNgIAIARBf0wNAEEMQQQQxAIiBEUEQEEMQQRB7MzCACgCACIAQQEgABsRAAAMAQsgBEF/NgIIIARCgYCAgBA3AgAgBkIANwK8BCAGIAQ2ArgEIAZBADYCtAQgBiAFNgKwBCAGKAK4Ay0AnQJFBEAgASgCACIEIAQoAgAiBUEBajYCACAFQX9MDQEgBkGwBGogBEEAEC0LIAEoAgAiDCAMKAIAIgFBAWo2AgAgAUF/TA0AIAYoArwDIRYgBigCuAMhFSAGIAw2AtwEIBUtAJ0CBEAgFUGeAmotAAAiASAMLQBERwRAIAxBCGohDgJ/AkAgAUEBRwRAQRAhAQJAAkACQAJAAkAgDkE5ai0AAEEBaw4EAQIDBAALQQEhAQwDC0ECIQEMAgtBBCEBDAELQQghAQtBBCEFAkACQAJAAkAgDC0AQEEBaw4EAgABAwALQQEhBQwCC0ECIQUMAQtBAyEFCyAGQagDaiABIAVsIgogDCgCOGxBCGoiAUEFdiABQR9xQQBHaiIEQQEQuAEgBiABNgLkBSAGIAQ2AuAFIAYgBikDqAM3A9gFIAZB2AVqEPIBIAZBwAVqIAZB2AVqIAwoAjwQRSAGQZgIaiAOEKsBIAZB2AVqIAZBmAhqQSQQhwIaIAZBsAdqIAZB2AVqEEEgBi0AtAdBAkYEQCAGKALIBSERIAYoAsAFIQEMAgsgBigCwAUhASAGKALIBSERQQEhDUEIIRJBCCEIA0ACQAJAAkAgBigC+AUiByAGKQOwByImpyIETwRAIAYoAvQFIQUgBiAHIARrNgL4BSAGIAQgBWo2AvQFIARFDQ8gJkKAgICA8B+DQoCAgIAgUQ0GIAZBsAdqIAVBAWogBEF/ahBJIAwoAjgiByASQf8BcSIQIA8iBEF/c2pqIBBuIAYoArwHIgtFDQMgCmwhEyABIAlBBHRqIRRBACEFIAYoArAHIRcgBigCuAchGANAIBggBUEFdiIZTQ0CIAUgE0YNBCARIAlNDQMgFCAFIApuIBBsIARqIApsIAUgCnBqQQhqIBcgGUECdGooAgBBASAFQR9xdHFBAEcQgAEgBUEBaiIZIQUgCyAZRw0ACwwDCwwNC0HAtcIAQStB0IjCABD/AQALIAkgEUHoi8IAENwBAAsCQCAJIAhB/wFxaiIJIAwoAjwiBEkNAAJAIA1B/wFxQQdHBEAgBEEBRyANQQJqIA1BAWoiBSAHQQVJGyAFIAVB/wFxQQJGGyIFIAVB/wFxQQNGIARBBUlxaiIFIAVB/wFxQQRGIAdBA0lxaiIFIAVB/wFxQQVGIARBA0lxaiIEIAdBAUYgBEH/AXFBBkZxaiIEQf8BcUEHR3INAQsgBkGwB2oQmAIMBAtBASENQQAhD0EIIQhBACEJQQghEgJAAkACQAJAAkACQAJAIARB/wFxQX9qDgcHAQIDBAUGAAtBq6vCAEEoQfiLwgAQmQIAC0ECIQ1BBCEPDAULQQMhDUEEIQlBBCESDAQLQQIhD0EEIQhBBCESQQQhDQwDC0EFIQ1BAiEJQQQhCEECIRIMAgtBBiENQQEhD0ECIQhBAiESDAELQQchDUEBIQlBAiEIQQEhEgsgBkGwB2oQmAIgBkGwB2ogBkHYBWoQQSAGLQC0B0ECRw0ACwwBCyAGQgA3A+AFIAZCBDcD2AUgBkHABWogBkHYBWpBBxBFQRAhAQJAAkACQAJAAkAgDC0AQUEBaw4EAQIDBAALQQEhAQwDC0ECIQEMAgtBBCEBDAELQQghAQtBBCEFAkACQAJAAkAgDC0AQEEBaw4EAgABAwALQQEhBQwCC0ECIQUMAQtBAyEFCyAGQZgIaiAOEKsBIAZB2AVqIAZBmAhqQSQQhwIaIAZBADYC/AUgBkGwB2ogBkHYBWoQQQJAIAYtALQHQQJGDQAgASAFbCEJA0ACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBigC+AUiASAGKQOwByImpyIETwRAIAYoAvQFIQUgBiABIARrNgL4BSAGIAQgBWo2AvQFIARFDSQgJkKAgICA8B+DQoCAgIAgUQ0aIAYgBigC/AUiAUEBajYC/AUCQAJAAkACQAJAIAFBB3EiCg4HAQADAAIAAwALIAYoAsgFIgdBBk0NBSAGKALABSEBIAZB0AJqQQFBARC4ASAGQoGAgICAATcDuAcgBiAGKQPQAjcDsAcgBkGwB2oQ8gEgAUHgAGogBkGwB2oQWgwDCyAGKALIBSIHRQ0FIAYoAsAFIQEgBkHwAmpBAUEBELgBIAZCgYCAgIABNwO4ByAGIAYpA/ACNwOwByAGQbAHahDyASABIAZBsAdqEFoCQAJAAkAgDCgCOCIIQQVPBEAgB0EBTQ0KIAZB6AJqQQFBARC4ASAGQoGAgICAATcDuAcgBiAGKQPoAjcDsAcgBkGwB2oQ8gEgAUEQaiAGQbAHahBaDAELIAhBA0kNAQsgB0EDTQ0JIAZB4AJqQQFBARC4ASAGQoGAgICAATcDuAcgBiAGKQPgAjcDsAcgBkGwB2oQ8gEgAUEwaiAGQbAHahBaDAELIAhBAkkNAwsgB0EFTQ0IIAZB2AJqQQFBARC4ASAGQoGAgICAATcDuAcgBiAGKQPYAjcDsAcgBkGwB2oQ8gEgAUHQAGogBkGwB2oQWgwCCyAGKALIBSIHQQJNDQggBigCwAUhASAGQYgDakEBQQEQuAEgBkKBgICAgAE3A7gHIAYgBikDiAM3A7AHIAZBsAdqEPIBIAFBIGogBkGwB2oQWgJAIAwoAjgiCEEDTwRAIAdBA00NCyAGQYADakEBQQEQuAEgBkKBgICAgAE3A7gHIAYgBikDgAM3A7AHIAZBsAdqEPIBIAFBMGogBkGwB2oQWgwBCyAIQQJJDQILIAdBBU0NCiAGQfgCakEBQQEQuAEgBkKBgICAgAE3A7gHIAYgBikD+AI3A7AHIAZBsAdqEPIBIAFB0ABqIAZBsAdqEFoMAQsgBigCyAUiB0EETQ0KIAYoAsAFIQEgBkGYA2pBAUEBELgBIAZCgYCAgIABNwO4ByAGIAYpA5gDNwOwByAGQbAHahDyASABQUBrIAZBsAdqEFogDCgCOEECSQ0AIAdBBU0NCyAGQZADakEBQQEQuAEgBkKBgICAgAE3A7gHIAYgBikDkAM3A7AHIAZBsAdqEPIBIAFB0ABqIAZBsAdqEFoLIAZBsLine truncated
/***/ }),
/***/ "./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js":
/*!******************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"optimise\": () => (/* binding */ optimise)\n/* harmony export */ });\n\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1);\n getUint8Memory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array} data\n* @param {number} level\n* @param {boolean} interlace\n* @returns {Uint8Array}\n*/\nfunction optimise(data, level, interlace) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.optimise(retptr, ptr0, len0, level, interlace);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nasync function init(input) {\n if (typeof input === 'undefined') {\n input = new URL(/* asset import */ __webpack_require__(/*! squoosh_oxipng_bg.wasm */ \"./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng_bg.wasm\"), __webpack_require__.b);\n }\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n\n if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {\n input = fetch(input);\n }\n\n\n\n const { instance, module } = await load(await input, imports);\n\n wasm = instance.exports;\n init.__wbindgen_wasm_module = module;\n\n return wasm;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (init);\n\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js?");
/***/ })
}]);
@@ -0,0 +1,32 @@
"use strict";
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk"] = self["webpackChunk"] || []).push([["vendors-node_modules_jsquash_oxipng_codec_pkg_squoosh_oxipng_js"],{
/***/ "./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng_bg.wasm":
/*!***********************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng_bg.wasm ***!
\***********************************************************************/
/***/ ((module) => {
eval("module.exports = \"data:application/wasm;base64,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 truncated
/***/ }),
/***/ "./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js":
/*!******************************************************************!*\
!*** ./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js ***!
\******************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"optimise\": () => (/* binding */ optimise)\n/* harmony export */ });\n\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1);\n getUint8Memory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\n/**\n* @param {Uint8Array} data\n* @param {number} level\n* @param {boolean} interlace\n* @returns {Uint8Array}\n*/\nfunction optimise(data, level, interlace) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.optimise(retptr, ptr0, len0, level, interlace);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayU8FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 1);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nasync function init(input) {\n if (typeof input === 'undefined') {\n input = new URL(/* asset import */ __webpack_require__(/*! squoosh_oxipng_bg.wasm */ \"./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng_bg.wasm\"), __webpack_require__.b);\n }\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n\n if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {\n input = fetch(input);\n }\n\n\n\n const { instance, module } = await load(await input, imports);\n\n wasm = instance.exports;\n init.__wbindgen_wasm_module = module;\n\n return wasm;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (init);\n\n\n\n//# sourceURL=webpack:///./node_modules/@jsquash/oxipng/codec/pkg/squoosh_oxipng.js?");
/***/ })
}]);
@@ -0,0 +1,104 @@
import * as jpeg from '@jsquash/jpeg';
import * as png from '@jsquash/png';
import optimise from '@jsquash/oxipng/optimise';
async function decode(sourceType, fileBuffer) {
switch (sourceType) {
//case 'avif':
// return await avif.decode(fileBuffer);
case 'jpeg':
return await jpeg.decode(fileBuffer);
case 'png':
return await png.decode(fileBuffer);
//case 'webp':
// return await webp.decode(fileBuffer);
default:
throw new Error(`Unknown source type: ${sourceType}`);
}
}
async function encode(outputType, imageData) {
const options = {
"jpeg_quality": 75,
"jpeg_baseline": false,
"jpeg_arithmetic": false,
"jpeg_progressive": true,
"jpeg_optimize_coding": true,
"jpeg_smoothing": 0,
"jpeg_color_space": 3,
"jpeg_quant_table": 3,
"jpeg_trellis_multipass": false,
"jpeg_trellis_opt_zero": false,
"jpeg_trellis_opt_table": false,
"jpeg_trellis_loops": 1,
"jpeg_auto_subsample": true,
"jpeg_chroma_subsample": 2,
"jpeg_separate_chroma_quality": false,
"jpeg_chroma_quality": 75,
"png_level": 2,
"png_interlace": false,
"auto_compress": true,
"backup_original": true
};
switch (outputType) {
//case 'avif':
// return await avif.encode(imageData);
case 'jpeg':
const jpegOptions = {}
for (const [key, value] of Object.entries(options)) {
if (key.includes('jpeg')) {
const keyName = key.replace('jpeg_', '')
jpegOptions[keyName] = value
}
}
return await jpeg.encode(imageData, jpegOptions);
case 'png':
const pngOptions = {}
for (const [key, value] of Object.entries(options)) {
if (key.includes('png')) {
const keyName = key.replace('png_', '')
pngOptions[keyName] = value
}
}
return await png.encode(imageData, pngOptions);
//case 'webp':
// return await webp.encode(imageData);
default:
throw new Error(`Unknown output type: ${outputType}`);
}
}
async function convert(sourceType, outputType, fileBuffer) {
const imageData = await decode(sourceType, fileBuffer);
return encode(outputType, imageData);
}
function blobToBase64(blob) {
return new Promise((resolve, _) => {
const reader = new FileReader();
reader.onloadend = () => resolve(reader.result);
reader.readAsDataURL(blob);
});
}
async function showOutput(imageBuffer, outputType) {
const imageBlob = new Blob([imageBuffer], { type: `image/${outputType}` });
const base64String = await blobToBase64(imageBlob);
return base64String;
}
self.onmessage = async function(e) {
console.log('Worker: Message received from main script');
const {fileBuffer, sourceType, outputType} = e.data;
let imageBuffer = await convert(sourceType, outputType, fileBuffer);
let base64 = await showOutput(imageBuffer, outputType);
console.log(e)
postMessage(base64)
}
@@ -0,0 +1,33 @@
{
"translation-revision-date": "2023-06-13 18:58+0300",
"generator": "WP-CLI\/2.6.0",
"source": "assets\/js\/script.js",
"domain": "messages",
"locale_data": {
"messages": {
"": {
"domain": "messages",
"lang": "uk",
"plural-forms": "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);"
},
"Compressed successfully, updating...": [
"\u0423\u0441\u043f\u0456\u0448\u043d\u043e \u0441\u0442\u0438\u0441\u043d\u0443\u0442\u043e, \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f..."
],
"An error has occured. Check the console for details.": [
"\u0412\u0438\u043d\u0438\u043a\u043b\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430. \u0417\u0432\u0435\u0440\u043d\u0456\u0442\u044c\u0441\u044f \u0434\u043e \u043a\u043e\u043d\u0441\u043e\u043b\u0456 \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u043c\u0430\u043d\u043d\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u0438\u0446\u044c."
],
"Updated successfully": [
"\u041e\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0443\u0441\u043f\u0456\u0448\u043d\u043e"
],
"All images have been compressed!": [
"\u0412\u0441\u0456 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u0431\u0443\u043b\u0438 \u0441\u0442\u0438\u0441\u043d\u0443\u0442\u0456!"
],
"Restore in process...": [
"\u0412\u0456\u0434\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0456..."
],
"Compressing...": [
"\u0421\u0442\u0438\u0441\u043a\u0430\u0454\u043c\u043e..."
]
}
}
}
@@ -0,0 +1,33 @@
{
"translation-revision-date": "2023-06-13 18:58+0300",
"generator": "WP-CLI\/2.6.0",
"source": "assets\/js\/script.bundle.js",
"domain": "messages",
"locale_data": {
"messages": {
"": {
"domain": "messages",
"lang": "uk",
"plural-forms": "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);"
},
"Compressed successfully, updating...": [
"\u0423\u0441\u043f\u0456\u0448\u043d\u043e \u0441\u0442\u0438\u0441\u043d\u0443\u0442\u043e, \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f..."
],
"An error has occured. Check the console for details.": [
"\u0412\u0438\u043d\u0438\u043a\u043b\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430. \u0417\u0432\u0435\u0440\u043d\u0456\u0442\u044c\u0441\u044f \u0434\u043e \u043a\u043e\u043d\u0441\u043e\u043b\u0456 \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u043c\u0430\u043d\u043d\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u0438\u0446\u044c."
],
"Updated successfully": [
"\u041e\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0443\u0441\u043f\u0456\u0448\u043d\u043e"
],
"All images have been compressed!": [
"\u0412\u0441\u0456 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u0431\u0443\u043b\u0438 \u0441\u0442\u0438\u0441\u043d\u0443\u0442\u0456!"
],
"Restore in process...": [
"\u0412\u0456\u0434\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0456..."
],
"Compressing...": [
"\u0421\u0442\u0438\u0441\u043a\u0430\u0454\u043c\u043e..."
]
}
}
}
Binary file not shown.
@@ -0,0 +1,252 @@
# Copyright (C) 2023 Bogdan Bendziukov
# This file is distributed under the GNU GPL v3.
msgid ""
msgstr ""
"Project-Id-Version: Squeeze 1.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/squeeze\n"
"POT-Creation-Date: 2023-05-23T15:32:49+00:00\n"
"PO-Revision-Date: 2023-06-13 18:58+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"X-Generator: Poedit 3.1.1\n"
"X-Domain: squeeze\n"
#. Plugin Name of the plugin
#: src/settings.php:14 src/settings.php:15
msgid "Squeeze"
msgstr ""
#. Description of the plugin
msgid "Compress images by squoosh.app"
msgstr "Стискайте зображення за допомогою squoosh.app"
#. Author of the plugin
msgid "Bogdan Bendziukov"
msgstr "Богдан Бендзюков"
#. Author URI of the plugin
msgid "https://bogdan.kyiv.ua"
msgstr ""
#: src/handlers.php:40
msgid "Backup original image failed"
msgstr "Не вдалося створити резервну копію оригінального зображення"
#: src/handlers.php:48
msgid "Upload image failed"
msgstr "Не вдалося завантажити зображення"
#: src/handlers.php:65
msgid "Compressed successfully"
msgstr "Компресія успішна"
#: src/handlers.php:67 src/handlers.php:107
msgid "Attachment not updated"
msgstr "Вкладення не оновлено"
#: src/handlers.php:90
msgid "Restore original image failed"
msgstr "Відновлення оригінального зображення не вдалося"
#: src/handlers.php:105
msgid "Restored successfully"
msgstr "Відновлено успішно"
#: src/handlers.php:112 src/handlers.php:137
msgid "Attachment not found"
msgstr "Вкладення не знайдено"
#: src/settings.php:29
msgid "Bulk Compress With Squeeze"
msgstr "Комплексне стиснення із Squeeze"
#: src/settings.php:30
msgid "Squeeze Bulk"
msgstr "Комплексне стиснення"
#: src/settings.php:80
msgid "This page allows you to compress all images in your media library."
msgstr "Ця сторінка дозволяє стиснути всі зображення у вашій медіатеці."
#: src/settings.php:81
msgid "Do not close this page during the compressing process."
msgstr "Не закривайте цю сторінку під час процесу стиснення."
#: src/settings.php:82
msgid ""
"Please note that this process may take a long time depending on the number "
"of images in your library."
msgstr ""
"Зверніть увагу, що цей процес може зайняти багато часу, залежно від "
"кількості зображень у вашій бібліотеці."
#: src/settings.php:85
msgid "All images in your media library are compressed."
msgstr "Усі зображення у вашій медіатеці стиснуті."
#: src/settings.php:87
msgid ""
"You have <strong>%s</strong> uncompressed JPG/PNG images from total <strong>"
"%s</strong> JPG/PNG images in your media library."
msgstr ""
"У вашій медіатеці є <strong>%s</strong> нестиснутих зображень JPG/PNG із "
"загальної кількості <strong>%s</strong> зображень JPG/PNG."
#: src/settings.php:161
msgid "Basic Settings"
msgstr "Основні налаштування"
#: src/settings.php:163
msgid "Auto compress"
msgstr "Автоматичне стиснення"
#: src/settings.php:165
msgid "Backup original image"
msgstr "Створити резервну копію оригінального зображення"
#: src/settings.php:167
msgid "JPEG Settings"
msgstr "Налаштування JPEG"
#: src/settings.php:169
msgid "Quality"
msgstr "Якість"
#: src/settings.php:170
msgid "Pointless spec compliance"
msgstr ""
#: src/settings.php:171
msgid "Arithmetic"
msgstr ""
#: src/settings.php:172
msgid "Progressive rendering"
msgstr ""
#: src/settings.php:173
msgid "Optimize Huffman table"
msgstr ""
#: src/settings.php:174
msgid "Smoothing"
msgstr ""
#: src/settings.php:175
msgid "Channels"
msgstr ""
#: src/settings.php:176
msgid "Quantization"
msgstr ""
#: src/settings.php:187
msgid "Trellis multipass"
msgstr ""
#: src/settings.php:188
msgid "Optimize zero block runs"
msgstr ""
#: src/settings.php:189
msgid "Optimize after trellis quantization"
msgstr ""
#: src/settings.php:190
msgid "Trellis quantization passes"
msgstr ""
#: src/settings.php:191
msgid "Auto subsample chroma"
msgstr ""
#: src/settings.php:192
msgid "Subsample chroma by"
msgstr ""
#: src/settings.php:193
msgid "Separate chroma quality"
msgstr ""
#: src/settings.php:194
msgid "Chroma quality"
msgstr ""
#: src/settings.php:196
msgid "PNG Settings"
msgstr "Налаштування PNG"
#: src/settings.php:198
msgid "Effort"
msgstr ""
#: src/settings.php:199
msgid "Interlace"
msgstr ""
#: src/settings.php:230
msgid "Settings have been updated."
msgstr "Налаштування було оновлено."
#: src/settings.php:329
msgid "Basic options"
msgstr "Базові опції"
#: src/settings.php:332
msgid "Compress settings for JPEG images using MozJPEG encoder"
msgstr "Налаштування стиснення зображень JPEG за допомогою кодера MozJPEG"
#: src/settings.php:335
msgid "Compress settings for PNG images using OxiPNG encoder"
msgstr "Налаштування стиснення зображень PNG за допомогою кодера OxiPNG"
#: src/settings.php:365
msgid "Settings have been restored."
msgstr "Налаштування відновлено."
#: src/settings.php:386
msgid "Compressed"
msgstr "Стиснуто"
#: src/settings.php:387
msgid "Restore original"
msgstr "Відновити оригінальне зображення"
#: src/settings.php:389
msgid "Not compressed"
msgstr "Не стиснуто"
#: src/settings.php:390
msgid "Compress"
msgstr "Стиснути"
#: assets/js/script.bundle.js:19 assets/js/script.js:159
msgid "Compressed successfully, updating..."
msgstr "Успішно стиснуто, оновлення..."
#: assets/js/script.bundle.js:19 assets/js/script.js:164
#: assets/js/script.js:253
msgid "An error has occured. Check the console for details."
msgstr "Виникла помилка. Зверніться до консолі для отримання подробиць."
#: assets/js/script.bundle.js:19 assets/js/script.js:172
msgid "Updated successfully"
msgstr "Оновлено успішно"
#: assets/js/script.bundle.js:19 assets/js/script.js:198
msgid "All images have been compressed!"
msgstr "Всі зображення були стиснуті!"
#: assets/js/script.bundle.js:19 assets/js/script.js:249
msgid "Restore in process..."
msgstr "Відновлення в процесі..."
#: assets/js/script.bundle.js:19 assets/js/script.js:292
msgid "Compressing..."
msgstr "Стискаємо..."
@@ -0,0 +1,242 @@
# Copyright (C) 2023 Bogdan Bendziukov
# This file is distributed under the GNU GPL v3.
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Squeeze 1.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/squeeze\n"
"POT-Creation-Date: 2023-06-13 18:57+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.1.1\n"
"X-Domain: squeeze\n"
#. Plugin Name of the plugin
#: src/settings.php:14
msgid "Squeeze"
msgstr ""
#. Description of the plugin
msgid "Compress images by squoosh.app"
msgstr ""
#. Author of the plugin
msgid "Bogdan Bendziukov"
msgstr ""
#. Author URI of the plugin
msgid "https://bogdan.kyiv.ua"
msgstr ""
#: src/handlers.php:40
msgid "Backup original image failed"
msgstr ""
#: src/handlers.php:48
msgid "Upload image failed"
msgstr ""
#: src/handlers.php:65
msgid "Compressed successfully"
msgstr ""
#: src/handlers.php:67 src/handlers.php:107
msgid "Attachment not updated"
msgstr ""
#: src/handlers.php:90
msgid "Restore original image failed"
msgstr ""
#: src/handlers.php:105
msgid "Restored successfully"
msgstr ""
#: src/handlers.php:112 src/handlers.php:137
msgid "Attachment not found"
msgstr ""
#: src/settings.php:29
msgid "Bulk Compress With Squeeze"
msgstr ""
#: src/settings.php:30
msgid "Squeeze Bulk"
msgstr ""
#: src/settings.php:80
msgid "This page allows you to compress all images in your media library."
msgstr ""
#: src/settings.php:81
msgid "Do not close this page during the compressing process."
msgstr ""
#: src/settings.php:82
msgid "Please note that this process may take a long time depending on the number of images in your library."
msgstr ""
#: src/settings.php:85
msgid "All images in your media library are compressed."
msgstr ""
#: src/settings.php:87
msgid "You have <strong>%s</strong> uncompressed JPG/PNG images from total <strong>%s</strong> JPG/PNG images in your media library."
msgstr ""
#: src/settings.php:161
msgid "Basic Settings"
msgstr ""
#: src/settings.php:163
msgid "Auto compress"
msgstr ""
#: src/settings.php:165
msgid "Backup original image"
msgstr ""
#: src/settings.php:167
msgid "JPEG Settings"
msgstr ""
#: src/settings.php:169
msgid "Quality"
msgstr ""
#: src/settings.php:170
msgid "Pointless spec compliance"
msgstr ""
#: src/settings.php:171
msgid "Arithmetic"
msgstr ""
#: src/settings.php:172
msgid "Progressive rendering"
msgstr ""
#: src/settings.php:173
msgid "Optimize Huffman table"
msgstr ""
#: src/settings.php:174
msgid "Smoothing"
msgstr ""
#: src/settings.php:175
msgid "Channels"
msgstr ""
#: src/settings.php:176
msgid "Quantization"
msgstr ""
#: src/settings.php:187
msgid "Trellis multipass"
msgstr ""
#: src/settings.php:188
msgid "Optimize zero block runs"
msgstr ""
#: src/settings.php:189
msgid "Optimize after trellis quantization"
msgstr ""
#: src/settings.php:190
msgid "Trellis quantization passes"
msgstr ""
#: src/settings.php:191
msgid "Auto subsample chroma"
msgstr ""
#: src/settings.php:192
msgid "Subsample chroma by"
msgstr ""
#: src/settings.php:193
msgid "Separate chroma quality"
msgstr ""
#: src/settings.php:194
msgid "Chroma quality"
msgstr ""
#: src/settings.php:196
msgid "PNG Settings"
msgstr ""
#: src/settings.php:198
msgid "Effort"
msgstr ""
#: src/settings.php:199
msgid "Interlace"
msgstr ""
#: src/settings.php:230
msgid "Settings have been updated."
msgstr ""
#: src/settings.php:329
msgid "Basic options"
msgstr ""
#: src/settings.php:332
msgid "Compress settings for JPEG images using MozJPEG encoder"
msgstr ""
#: src/settings.php:335
msgid "Compress settings for PNG images using OxiPNG encoder"
msgstr ""
#: src/settings.php:365
msgid "Settings have been restored."
msgstr ""
#: src/settings.php:386
msgid "Compressed"
msgstr ""
#: src/settings.php:387
msgid "Restore original"
msgstr ""
#: src/settings.php:389
msgid "Not compressed"
msgstr ""
#: src/settings.php:390
msgid "Compress"
msgstr ""
#: assets/js/script.bundle.js:19 assets/js/script.js:159
msgid "Compressed successfully, updating..."
msgstr ""
#: assets/js/script.bundle.js:19 assets/js/script.js:164
#: assets/js/script.js:253
msgid "An error has occured. Check the console for details."
msgstr ""
#: assets/js/script.bundle.js:19 assets/js/script.js:172
msgid "Updated successfully"
msgstr ""
#: assets/js/script.bundle.js:19 assets/js/script.js:198
msgid "All images have been compressed!"
msgstr ""
#: assets/js/script.bundle.js:19 assets/js/script.js:249
msgid "Restore in process..."
msgstr ""
#: assets/js/script.bundle.js:19 assets/js/script.js:292
msgid "Compressing..."
msgstr ""
+77
View File
@@ -0,0 +1,77 @@
=== Squeeze ===
Contributors: barb0ss
Tags: compress, image, optimise, compression, bulk, optimisation
Requires at least: 6.0
Tested up to: 6.2.2
Requires PHP: 7.0
Stable tag: 1.2
License: GNU GPL v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
The Squeeze plugin for WordPress allows you to easily optimize and compress images on your website using the [Squoosh.app](https://squoosh.app) service. Squoosh.app is a powerful online tool for image compression, providing excellent image quality while reducing file sizes.
== Description ==
**This is NOT official Squoosh.app plugin. It only uses squoosh.app compression scripts.**
This plugin uses [Squoosh.app](https://squoosh.app) compression scripts, allowing you to compress images directly from your WordPress media library or during the image upload process. By compressing your images, you can improve your website\'s performance, reduce bandwidth usage, and enhance the overall user experience.
== Features ==
* Image Compression: Automatically compresses images in your WordPress media library using Squoosh.app\'s advanced compression algorithms.
* Upload Optimization: Compresses images on-the-fly during the upload process, ensuring optimized images are added to your media library.
* Bulk Compression: Allows you to compress multiple images at once.
* Selective Compression: Choose which images to compress based on your preferences and requirements.
* Custom Compression Settings: Adjust compression parameters such as quality, resizing, and format options to suit your specific needs.
* Restore Option: Provides a restore option to use backup file to restore compressed image to the original image.
== Installation ==
1. Download the plugin ZIP file from the WordPress Plugin Directory, or install the plugin via the WordPress plugin installer.
2. Extract the ZIP file (if downloaded from WordPress Plugin Directory).
3. Upload the plugin folder to the wp-content/plugins/ directory of your WordPress installation.
4. Activate the Squeeze plugin from the WordPress plugins dashboard.
== Frequently Asked Questions ==
= How does the plugin work? =
The plugin uses Squoosh.app's compression algorithms and provides you with the ability to compress images in your WordPress media library or during the image upload process.
= Why should I use image compression on my website? =
Image compression helps improve your website's performance by reducing the file size of images without significantly impacting their quality. Smaller image files load faster, resulting in faster page load times and a better user experience. Additionally, compressed images consume less bandwidth, which can be beneficial for websites with limited hosting resources or mobile users with limited data plans.
= Which image formats does the Squeeze plugin work with? =
Currently, the Squeeze plugin supports JPG and PNG image formats. More formats are about to be added.
= Can I compress multiple images at once? =
Yes, the plugin provides a bulk compression feature. This saves time and effort compared to compressing images individually.
= Can I customize the compression settings? =
Yes, the plugin allows you to customize various compression settings according to your preferences. It supports the same options as Squoosh.app provides.
= How can I test compression settings before upload my images to the media library? =
You can test different options directly on [Squoosh.app](https://squoosh.app). For JPG images select MozJPEG encoder, for PNG images choose OxiPNG.
== Screenshots ==
1. Squeeze Settings
2. Squeeze Bulk Compression Page
3. Squeeze Restore Option
4. Non-optimised image
5. Optimised image with Squeeze Plugin
== Changelog ==
= 1.2 =
* Fix minor bug in Media library
= 1.1 =
* Fix PNG compressor
= 1.0 =
* First release.
== Upgrade Notice ==
= 1.2 =
* Fix minor bug in Media library
= 1.1 =
* Fix PNG compressor
= 1.0 =
* First release.
+92
View File
@@ -0,0 +1,92 @@
<?php
/**
* Plugin Name: Squeeze
* Description: Compress images by squoosh.app
* Author URI: https://bogdan.kyiv.ua
* Author: Bogdan Bendziukov
* Version: 1.2
*
* Text Domain: squeeze
* Domain Path: /languages
*
* License: GNU GPL v3
* License URI: https://www.gnu.org/licenses/gpl-3.0.html
*
* Network: false
*
*/
// Exit if accessed directly.
if (!defined('ABSPATH')) {
exit;
}
define('SQUEEZE_PLUGIN_DIR', plugin_dir_path(__FILE__));
define('SQUEEZE_PLUGIN_URL', plugin_dir_url(__FILE__));
add_action('plugins_loaded', 'squeeze_load_textdomain');
/**
* Load plugin textdomain
*/
function squeeze_load_textdomain() {
load_plugin_textdomain('squeeze', false, dirname(plugin_basename(__FILE__)) . '/languages/');
}
include_once(SQUEEZE_PLUGIN_DIR . 'src/settings.php');
include_once(SQUEEZE_PLUGIN_DIR . 'src/handlers.php');
add_action('admin_print_footer_scripts', 'squeeze_block_assets');
/**
* Enqueue assets
*/
function squeeze_block_assets() {
global $pagenow;
$options = get_option( 'squeeze_options' );
$default_options = squeeze_get_default_value( null, true); // get all default values
$js_options = array();
foreach ($default_options as $key => $value) {
if (isset($options[$key])) {
if (is_numeric($options[$key])) {
$js_options[$key] = intval($options[$key]);
} elseif ($options[$key] === "on") {
$js_options[$key] = true;
}
} else {
$js_options[$key] = $value;
}
}
// Enqueue script for backend.
wp_enqueue_script(
'squeeze-script',
// Handle.
plugins_url('/assets/js/script.bundle.js', __FILE__),
array('jquery', 'wp-mediaelement'),
// Dependencies, defined above.
null,
true // Enqueue the script in the footer.
);
// WP Localized globals. Use dynamic PHP stuff in JavaScript via `squeeze` object.
wp_localize_script(
'squeeze-script',
'squeeze',
// Array containing dynamic data for a JS Global.
[
'pluginUrl' => SQUEEZE_PLUGIN_URL,
'ajaxUrl' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('squeeze-nonce'),
'options' => json_encode($js_options),
]
);
wp_set_script_translations('squeeze-script', 'squeeze', plugin_dir_path(__DIR__) . 'languages');
}
+155
View File
@@ -0,0 +1,155 @@
<?php
// Exit if accessed directly.
if (!defined('ABSPATH')) {
exit;
}
add_action('wp_ajax_squeeze_update_attachment', 'squeeze_update_attachment');
/**
* Update attachment with compressed image
* https://gist.github.com/cyberwani/ad5452b040001878d692c3165836ebff
*/
function squeeze_update_attachment() {
check_ajax_referer( 'squeeze-nonce', '_ajax_nonce' );
if (isset($_POST["base64"]) && !empty($_POST["base64"])) {
$base64 = sanitize_text_field($_POST["base64"]);
$file_format = sanitize_text_field($_POST["format"]);
$filename = sanitize_file_name($_POST["filename"]);
$attach_id = (int) $_POST["attachmentID"];
$url = sanitize_url($_POST["url"]);
$options = get_option( 'squeeze_options' );
$is_backup_original = isset($options['backup_original']) ? $options['backup_original'] : squeeze_get_default_value('backup_original');
// Upload dir.
$upload_dir = str_replace($filename, "", get_attached_file($attach_id)); // get upload dir from attachment path
$upload_path = str_replace('/', DIRECTORY_SEPARATOR, $upload_dir) . DIRECTORY_SEPARATOR;
$img = str_replace('data:image/'.$file_format.';base64,', '', $base64);
$img = str_replace(' ', '+', $img);
$decoded = base64_decode($img);
if ($is_backup_original) {
// backup original
$backup_filename = preg_replace("/(\.(?!.*\.))/", '.bak.', $filename); // add .bak. before extension
$upload_backup_file = copy($upload_path . $filename, $upload_path . $backup_filename);
if (!$upload_backup_file) {
wp_send_json_error(__('Backup original image failed', 'squeeze'));
}
}
// Save the image in the uploads directory.
$upload_file = file_put_contents($upload_path . $filename, $decoded);
if (!$upload_file) {
wp_send_json_error(__('Upload image failed', 'squeeze'));
}
// Make sure that this file is included, as wp_generate_attachment_metadata() depends on it.
if ( ! function_exists( 'wp_crop_image' ) ) {
require_once(ABSPATH . 'wp-admin/includes/image.php');
}
// Generate the metadata for the attachment, and update the database record.
//$attach_data = wp_generate_attachment_metadata($attach_id, $upload_dir . '/' . $filename);
// create thumbnails from COMPRESSED original image
$attach_data = wp_create_image_subsizes($upload_dir . '/' . $filename, $attach_id);
$is_update_attachment = update_post_meta($attach_id, "squeeze_is_compressed", true);
if ($is_update_attachment) {
wp_send_json_success(__('Compressed successfully', 'squeeze'));
} else {
wp_send_json_error(__('Attachment not updated', 'squeeze'));
}
}
wp_die();
}
add_action('wp_ajax_squeeze_restore_attachment', 'squeeze_restore_attachment');
/**
* Restore original attachment
*/
function squeeze_restore_attachment() {
check_ajax_referer( 'squeeze-nonce', '_ajax_nonce' );
if (isset($_POST["attachmentID"]) && !empty($_POST["attachmentID"]) && wp_get_attachment_url($_POST["attachmentID"])) {
$attach_id = (int) $_POST["attachmentID"];
$can_restore = squeeze_can_restore($attach_id);
if ($can_restore) {
$original_img_path = wp_get_original_image_path($attach_id);
$backup_img_path = preg_replace("/(\.(?!.*\.))/", '.bak.', $original_img_path);
$upload_restore_file = copy($backup_img_path, $original_img_path);
if (!$upload_restore_file) {
wp_send_json_error(__('Restore original image failed', 'squeeze'));
}
// Make sure that this file is included, as wp_generate_attachment_metadata() depends on it.
if ( ! function_exists( 'wp_crop_image' ) ) {
require_once(ABSPATH . 'wp-admin/includes/image.php');
}
// create thumbnails from original image
$attach_data = wp_create_image_subsizes($original_img_path, $attach_id);
$is_update_attachment = delete_post_meta($attach_id, "squeeze_is_compressed");
if ($is_update_attachment) {
unlink($backup_img_path); // delete backup file
wp_send_json_success(__('Restored successfully', 'squeeze'));
} else {
wp_send_json_error(__('Attachment not updated', 'squeeze'));
}
}
} else {
wp_send_json_error(__('Attachment not found', 'squeeze'));
}
wp_die();
}
add_action('wp_ajax_squeeze_get_attachment', 'squeeze_get_attachment');
/**
* Get attachment data
*/
function squeeze_get_attachment() {
check_ajax_referer( 'squeeze-nonce', '_ajax_nonce' );
if (isset($_POST["attachmentID"]) && !empty($_POST["attachmentID"]) && wp_get_attachment_url($_POST["attachmentID"])) {
$attach_id = (int) $_POST["attachmentID"];
$attach_data = array(
'id' => $attach_id,
'url' => wp_get_attachment_url($attach_id),
'mime' => get_post_mime_type($attach_id),
'name' => get_the_title($attach_id),
'filename' => basename( get_attached_file( $attach_id ) ),
);
wp_send_json_success($attach_data);
} else {
wp_send_json_error(__('Attachment not found', 'squeeze'));
}
wp_die();
}
/**
* Check if attachment can be restored
*
* @param int $attach_id
* @return bool
*/
function squeeze_can_restore($attach_id) {
$original_img_path = wp_get_original_image_path((int) $attach_id);
$backup_img_path = preg_replace("/(\.(?!.*\.))/", '.bak.', $original_img_path);
$can_restore = file_exists($backup_img_path);
return $can_restore;
}
+422
View File
@@ -0,0 +1,422 @@
<?php
// Exit if accessed directly.
if (!defined('ABSPATH')) {
exit;
}
add_action('admin_menu', 'squeeze_options_page');
/**
* Add submenu page with settings under Media
*/
function squeeze_options_page() {
add_submenu_page(
'upload.php',
__('Squeeze', 'squeeze'),
__('Squeeze', 'squeeze'),
'manage_options',
'squeeze',
'squeeze_options_page_html'
);
}
add_action('admin_menu', 'squeeze_options_bulk_page');
/**
* Add submenu page with bulk compression under Media
*/
function squeeze_options_bulk_page() {
add_submenu_page(
'upload.php',
__('Bulk Compress With Squeeze', 'squeeze'),
__('Squeeze Bulk', 'squeeze'),
'manage_options',
'squeeze-bulk',
'squeeze_options_bulk_page_html'
);
}
/**
* Bulk compression page callback function
*/
function squeeze_options_bulk_page_html() {
// check user capabilities
if (!current_user_can('manage_options')) {
return;
}
$mimes = array('image/jpeg', 'image/jpg', 'image/png');
$query_not_compressed = new WP_Query( array(
'post_type' => 'attachment',
'post_status' => 'inherit',
'post_mime_type' => $mimes,
'posts_per_page' => -1,
'fields' => 'ids',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'squeeze_is_compressed',
'compare' => 'NOT EXISTS'
),
array(
'key' => 'squeeze_is_compressed',
'compare' => '!=',
'value' => '1'
)
)
) );
$query_all = new WP_Query( array(
'post_type' => 'attachment',
'post_status' => 'inherit',
'post_mime_type' => $mimes,
'posts_per_page' => -1,
'fields' => 'ids',
) );
$uncompressed_count = $query_not_compressed->found_posts;
$total_count = $query_all->found_posts;
//$total_count = array_sum((array)wp_count_attachments("image"));
?>
<div class="wrap">
<h1>
<?php echo esc_html(get_admin_page_title()); ?>
</h1>
<p><?php _e('This page allows you to compress all images in your media library.', 'squeeze'); ?></p>
<p><strong><?php _e('Do not close this page during the compressing process.', 'squeeze'); ?></strong></p>
<p><?php _e('Please note that this process may take a long time depending on the number of images in your library.', 'squeeze'); ?></p>
<?php if ($uncompressed_count === 0) { ?>
<p><strong><?php _e('All images in your media library are compressed.', 'squeeze'); ?></strong></p>
<?php } else { ?>
<p><?php echo sprintf(__('You have <strong>%s</strong> uncompressed JPG/PNG images from total <strong>%s</strong> JPG/PNG images in your media library.', 'squeeze'), $uncompressed_count, $total_count); ?></p>
<input name="squeeze_bulk" class="button button-primary" type="button" value="<?php esc_attr_e( 'Optimise all images' ); ?>" />
<input type="hidden" value="<?php echo implode(",", $query_not_compressed->posts); ?>" name="squeeze_bulk_ids" />
<p><textarea name="squeeze_bulk_log" id="squeeze_bulk_log" cols="100" rows="10" readonly></textarea></p>
<?php } ?>
</div>
<?php
}
/**
* Options page callback function
*/
function squeeze_options_page_html() {
// check user capabilities
if (!current_user_can('manage_options')) {
return;
}
?>
<div class="wrap">
<h1>
<?php echo esc_html(get_admin_page_title()); ?>
</h1>
<form action="options.php" method="post">
<?php
settings_errors( 'squeeze_notices' );
settings_fields( 'squeeze_options' );
do_settings_sections( 'squeeze_options' ); ?>
<input name="submit" class="button button-primary" type="submit" value="<?php esc_attr_e( 'Save' ); ?>" />
<input name="restore" class="button button-secondary" type="button" value="<?php esc_attr_e( 'Restore defaults' ); ?>" />
</form>
</div>
<script>
(function() {
const restore = document.querySelector("input[name='restore']")
/**
* Handle restore defaults button click
*/
restore.addEventListener("click", (event) => {
jQuery.ajax({
url: squeeze.ajaxUrl,
type: 'POST',
data: {
action: 'squeeze_restore_defaults',
_ajax_nonce: squeeze.nonce
},
beforeSend: function () {
restore.disabled = true
},
error: function (error) {
console.error(error)
},
success: function (response) {
console.log(response)
if (response.success) {
window.location.replace(window.location.href + "&restore_defaults=true")
} else {
restore.disabled = false
window.location.replace(window.location.href + "&restore_defaults=false")
}
}
})
})
})()
</script>
<?php
}
add_action( 'admin_init', 'squeeze_register_settings' );
/**
* Register the settings and add the sections and fields
*/
function squeeze_register_settings() {
register_setting( 'squeeze_options', 'squeeze_options', 'squeeze_options_validate' );
add_settings_section( 'squeeze_basic_settings', __('Basic Settings', 'squeeze'), 'squeeze_setting_basic_desc', 'squeeze_options' );
add_settings_field( 'squeeze_setting_auto_compress', __('Auto compress', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_basic_settings', array( 'label_for' => 'auto_compress', 'class' => 'squeeze_setting_auto_compress', 'type' => 'checkbox' ) );
//add_settings_field( 'squeeze_setting_auto_compress_original', __('Auto compress original', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_basic_settings', array( 'label_for' => 'auto_compress_original', 'class' => 'squeeze_setting_auto_compress_original', 'type' => 'checkbox' ) );
add_settings_field( 'squeeze_setting_backup_original', __('Backup original image', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_basic_settings', array( 'label_for' => 'backup_original', 'class' => 'squeeze_setting_backup_original', 'type' => 'checkbox' ) );
add_settings_section( 'squeeze_jpeg_settings', __('JPEG Settings', 'squeeze'), 'squeeze_setting_jpeg_desc', 'squeeze_options' );
add_settings_field( 'squeeze_setting_jpeg_quality', __('Quality', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_quality', 'class' => 'squeeze_setting_jpeg_quality', 'type' => 'range' ) );
add_settings_field( 'squeeze_setting_jpeg_baseline', __('Pointless spec compliance', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_baseline', 'class' => 'squeeze_setting_jpeg_baseline', 'type' => 'checkbox' ) );
add_settings_field( 'squeeze_setting_jpeg_arithmetic', __('Arithmetic', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_arithmetic', 'class' => 'squeeze_setting_jpeg_arithmetic', 'type' => 'checkbox' ) );
add_settings_field( 'squeeze_setting_jpeg_progressive', __('Progressive rendering', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_progressive', 'class' => 'squeeze_setting_jpeg_progressive', 'type' => 'checkbox' ) );
add_settings_field( 'squeeze_setting_jpeg_optimize_coding', __('Optimize Huffman table', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_optimize_coding', 'class' => 'squeeze_setting_jpeg_optimize_coding', 'type' => 'checkbox' ) );
add_settings_field( 'squeeze_setting_jpeg_smoothing', __('Smoothing', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_smoothing', 'class' => 'squeeze_setting_jpeg_smoothing', 'type' => 'range' ) );
add_settings_field( 'squeeze_setting_jpeg_color_space', __('Channels', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_color_space', 'class' => 'squeeze_setting_jpeg_color_space', 'type' => 'select', 'options' => array( '3' => 'YCbCr', '1' => 'Grayscale', '2' => 'RGB' ) ) );
add_settings_field( 'squeeze_setting_jpeg_quant_table', __('Quantization', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_quant_table', 'class' => 'squeeze_setting_jpeg_quant_table', 'type' => 'select', 'options' => array(
'0' => 'JPEG Annex K',
'1' => 'Flat',
'2' => 'MSSIM-tuned Kodak',
'3' => 'ImageMagick',
'4' => 'PSNR-HVS-M-tuned Kodak',
'5' => 'Klein et al',
'6' => 'Watson et al' ,
'7' => 'Ahumada et al' ,
'8' => 'Peterson et al' ,
) ) );
add_settings_field( 'squeeze_setting_jpeg_trellis_multipass', __('Trellis multipass', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_trellis_multipass', 'class' => 'squeeze_setting_jpeg_trellis_multipass', 'type' => 'checkbox' ) );
add_settings_field( 'squeeze_setting_jpeg_trellis_opt_zero', __('Optimize zero block runs', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_trellis_opt_zero', 'class' => 'squeeze_setting_jpeg_trellis_opt_zero', 'type' => 'checkbox' ) );
add_settings_field( 'squeeze_setting_jpeg_trellis_opt_table', __('Optimize after trellis quantization', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_trellis_opt_table', 'class' => 'squeeze_setting_jpeg_trellis_opt_table', 'type' => 'checkbox' ) );
add_settings_field( 'squeeze_setting_jpeg_trellis_loops', __('Trellis quantization passes', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_trellis_loops', 'class' => 'squeeze_setting_jpeg_trellis_loops', 'type' => 'range', 'min' => 1, 'max' => 50 ) );
add_settings_field( 'squeeze_setting_jpeg_auto_subsample', __('Auto subsample chroma', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_auto_subsample', 'class' => 'squeeze_setting_jpeg_auto_subsample', 'type' => 'checkbox' ) );
add_settings_field( 'squeeze_setting_jpeg_chroma_subsample', __('Subsample chroma by', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_chroma_subsample', 'class' => 'squeeze_setting_jpeg_chroma_subsample', 'type' => 'range', 'min' => 1, 'max' => 4 ) );
add_settings_field( 'squeeze_setting_jpeg_separate_chroma_quality', __('Separate chroma quality', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_separate_chroma_quality', 'class' => 'squeeze_setting_jpeg_separate_chroma_quality', 'type' => 'checkbox' ) );
add_settings_field( 'squeeze_setting_jpeg_chroma_quality', __('Chroma quality', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_jpeg_settings', array( 'label_for' => 'jpeg_chroma_quality', 'class' => 'squeeze_setting_jpeg_chroma_quality', 'type' => 'range', ) );
add_settings_section( 'squeeze_png_settings', __('PNG Settings', 'squeeze'), 'squeeze_setting_png_desc', 'squeeze_options' );
add_settings_field( 'squeeze_setting_png_level', __('Effort', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_png_settings', array( 'label_for' => 'png_level', 'class' => 'squeeze_setting_png_level', 'type' => 'range', 'min' => 0, 'max' => 3 ) );
add_settings_field( 'squeeze_setting_png_interlace', __('Interlace', 'squeeze'), 'squeeze_options_callback', 'squeeze_options', 'squeeze_png_settings', array( 'label_for' => 'png_interlace', 'class' => 'squeeze_setting_png_interlace', 'type' => 'checkbox' ) );
}
/**
* Sanitize and validate input. Accepts an array, return a sanitized array.
* @param array $input
*/
function squeeze_options_validate( $input ) {
$input['jpeg_quality'] = absint($input['jpeg_quality']);
$input['jpeg_smoothing'] = absint($input['jpeg_smoothing']);
$input['jpeg_color_space'] = absint($input['jpeg_color_space']);
$input['jpeg_quant_table'] = absint($input['jpeg_quant_table']);
$input['jpeg_trellis_loops'] = absint($input['jpeg_trellis_loops']);
$input['jpeg_chroma_subsample'] = absint($input['jpeg_chroma_subsample']);
$input['jpeg_chroma_quality'] = absint($input['jpeg_chroma_quality']);
$input['png_level'] = absint($input['png_level']);
$input['jpeg_baseline'] = isset( $input['jpeg_baseline'] ) ? $input['jpeg_baseline'] : '0';
$input['jpeg_arithmetic'] = isset( $input['jpeg_arithmetic'] ) ? $input['jpeg_arithmetic'] : '0';
$input['jpeg_progressive'] = isset( $input['jpeg_progressive'] ) ? $input['jpeg_progressive'] : '0';
$input['jpeg_optimize_coding'] = isset( $input['jpeg_optimize_coding'] ) ? $input['jpeg_optimize_coding'] : '0';
$input['jpeg_trellis_multipass'] = isset( $input['jpeg_trellis_multipass'] ) ? $input['jpeg_trellis_multipass'] : '0';
$input['jpeg_trellis_opt_zero'] = isset( $input['jpeg_trellis_opt_zero'] ) ? $input['jpeg_trellis_opt_zero'] : '0';
$input['jpeg_trellis_opt_table'] = isset( $input['jpeg_trellis_opt_table'] ) ? $input['jpeg_trellis_opt_table'] : '0';
$input['jpeg_auto_subsample'] = isset( $input['jpeg_auto_subsample'] ) ? $input['jpeg_auto_subsample'] : '0';
$input['jpeg_separate_chroma_quality'] = isset( $input['jpeg_separate_chroma_quality'] ) ? $input['jpeg_separate_chroma_quality'] : '0';
$input['png_interlace'] = isset( $input['png_interlace'] ) ? $input['png_interlace'] : '0';
$input['auto_compress'] = isset( $input['auto_compress'] ) ? $input['auto_compress'] : '0';
//$input['auto_compress_original'] = isset( $input['auto_compress_original'] ) ? $input['auto_compress_original'] : '0';
$input['backup_original'] = isset( $input['backup_original'] ) ? $input['backup_original'] : '0';
add_settings_error( 'squeeze_notices', 'settings_updated', __( 'Settings have been updated.', 'squeeze' ), 'success' );
return $input;
}
/**
* Display and fill the form field
* @param array $args
*/
function squeeze_options_callback( $args ) {
$label_for = $args['label_for'];
$class = $args['class'];
$type = $args['type'];
$default = squeeze_get_default_value($label_for);
$options = get_option( 'squeeze_options' );
switch ($type) {
case 'text':
$value = isset($options[$label_for]) ? $options[$label_for] : $default;
echo "<input id='squeeze_setting_".esc_attr($label_for)."' name='squeeze_options[".esc_attr($label_for)."]' type='text' value='" . esc_attr( $value ) . "' />";
break;
case 'range':
$value = isset($options[$label_for]) ? $options[$label_for] : $default;
$min = isset($args['min']) ? $args['min'] : 0;
$max = isset($args['max']) ? $args['max'] : 100;
$step = isset($args['step']) ? $args['step'] : 1;
echo "<input id='squeeze_setting_".esc_attr($label_for)."' name='squeeze_options[".esc_attr($label_for)."]' min='".(int)$min."' max='".(int)$max."' step='".(int)$step."' type='range' value='" . esc_attr( $value ) . "' />";
echo '<output id="squeeze_setting_'.esc_attr($label_for).'_value"></output>';
?>
<script>
(function () {
const value = document.querySelector("#squeeze_setting_<?php echo esc_attr($label_for); ?>_value")
const input = document.querySelector("#squeeze_setting_<?php echo esc_attr($label_for); ?>")
value.textContent = input.value
input.addEventListener("input", (event) => {
value.textContent = event.target.value
})
})()
</script>
<?php
break;
case 'checkbox':
$value = isset($options[$label_for]) ? (bool) $options[$label_for] : $default;
echo "<input id='squeeze_setting_".esc_attr($label_for)."' name='squeeze_options[".esc_attr($label_for)."]' type='checkbox' ".checked( $value, true, false )." />";
break;
case 'select':
$value = isset($options[$label_for]) ? $options[$label_for] : $default;
echo "<select id='squeeze_setting_".esc_attr($label_for)."' name='squeeze_options[".esc_attr($label_for)."]'>";
foreach ($args['options'] as $key => $option) {
echo "<option value='".esc_attr($key)."' ".selected( $value, $key, false ).">".esc_html($option)."</option>";
}
echo "</select>";
break;
}
}
/**
* Get default value for option
* @param string $option
* @param bool $all
*/
function squeeze_get_default_value ( $option, $all = false ) {
$options_defaults = apply_filters('squeeze_options_default',
array(
// JPEG settings
'jpeg_quality' => 75,
'jpeg_baseline' => false,
'jpeg_arithmetic' => false,
'jpeg_progressive' => true,
'jpeg_optimize_coding' => true,
'jpeg_smoothing' => 0,
'jpeg_color_space' => 3,
'jpeg_quant_table' => 3,
'jpeg_trellis_multipass' => false,
'jpeg_trellis_opt_zero' => false,
'jpeg_trellis_opt_table' => false,
'jpeg_trellis_loops' => 1,
'jpeg_auto_subsample' => true,
'jpeg_chroma_subsample' => 2,
'jpeg_separate_chroma_quality' => false,
'jpeg_chroma_quality' => 75,
// PNG settings
'png_level' => 2,
'png_interlace' => false,
// General settings
'auto_compress' => true,
//'auto_compress_original' => false,
'backup_original' => true,
)
);
if ($all) {
return $options_defaults;
}
return in_array($option, array_keys($options_defaults)) ? $options_defaults[$option] : false;
}
function squeeze_setting_basic_desc() {
echo '<p>'.__('Basic options', 'squeeze').'</p>';
}
function squeeze_setting_jpeg_desc() {
echo '<p>'.__('Compress settings for JPEG images using MozJPEG encoder', 'squeeze').'</p>';
}
function squeeze_setting_png_desc() {
echo '<p>'.__('Compress settings for PNG images using OxiPNG encoder', 'squeeze').'</p>';
}
add_action('wp_ajax_squeeze_restore_defaults', 'squeeze_restore_defaults');
/**
* Restore default settings
*/
function squeeze_restore_defaults() {
check_ajax_referer( 'squeeze-nonce', '_ajax_nonce' );
if (get_option('squeeze_options')) {
$result = delete_option('squeeze_options', "");
if (!$result) {
wp_send_json_error($result);
}
wp_send_json_success($result);
}
wp_send_json_success(true);
}
add_action( 'admin_init', 'squeeze_add_notices' );
/**
* Add custom admin notices
*/
function squeeze_add_notices() {
global $pagenow;
if ( is_admin() && $pagenow === "upload.php" && isset($_GET['page']) && $_GET['page'] === "squeeze" && isset($_GET['restore_defaults']) && !isset($_GET['settings-updated']) ) {
add_settings_error( 'squeeze_notices', 'settings_restored', __( 'Settings have been restored.', 'squeeze' ), 'success' );
}
}
add_filter('attachment_fields_to_edit', 'squeeze_add_custom_field_to_attachment', 10, 2);
/**
* Add custom text/textarea attachment field
*/
function squeeze_add_custom_field_to_attachment( $form_fields, $post ) {
$allowed_mimes = array(
'image/jpeg',
'image/png',
);
if ( in_array( $post->post_mime_type, $allowed_mimes ) ) {
$is_compressed = get_post_meta($post->ID, 'squeeze_is_compressed', true);
$can_restore = squeeze_can_restore($post->ID);
$form_fields['squeeze_is_compressed'] = array(
'label' => __('Squeeze', 'squeeze'),
'input' => 'html',
'html' => $is_compressed ?
'<label><span class="squeeze_status"><span style="padding-top: 0; line-height: 1; color: green;" class="dashicons dashicons-yes-alt"></span>&nbsp;' . __('Compressed', 'squeeze') . '</span></label>' . ($can_restore ? '
<br><br><button name="squeeze_restore" type="button" class="button button-secondary squeeze-restore-button" data-attachment="' . $post->ID . '">' . __('Restore original', 'squeeze') . '</button>' : '')
:
'<label><span class="squeeze_status"><span style="padding-top: 0; line-height: 1; color: red;" class="dashicons dashicons-no-alt"></span>&nbsp;' . __('Not compressed', 'squeeze') . '</span></label>
<br><br><button name="squeeze_compress_single" type="button" class="button button-primary squeeze-compress-button" data-attachment="' . $post->ID . '">' . __('Compress', 'squeeze') . '</button>'
);
}
return $form_fields;
}
add_filter( 'manage_media_columns', 'squeeze_add_media_columns' );
/**
* Filter the Media list table columns to add a Squeeze column.
*
* @param array $posts_columns Existing array of columns displayed in the Media list table.
* @return array Amended array of columns to be displayed in the Media list table.
*/
function squeeze_add_media_columns( $posts_columns ) {
$posts_columns['squeeze'] = __( 'Squeeze', 'squeeze' );
return $posts_columns;
}
add_action( 'manage_media_custom_column', 'squeeze_media_custom_column', 10, 2 );
/**
* Display attachment uploaded time under `Time` custom column in the Media list table.
*
* @param string $column_name Name of the custom column.
*/
function squeeze_media_custom_column( $column_name, $post_id ) {
if ( 'squeeze' !== $column_name ) {
return;
}
$form_fields = squeeze_add_custom_field_to_attachment( array(), get_post( $post_id ) );
if ($form_fields)
echo wp_kses_post($form_fields['squeeze_is_compressed']['html']);
}