@emailmaker/emailmaker 1.0.111 → 1.0.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.en.md +11 -0
- package/CHANGELOG.md +11 -0
- package/README.md +133 -100
- package/asset-manifest.json +202 -195
- package/emailmaker-esm.js +1 -1
- package/emailmaker.d.ts +7 -0
- package/emailmaker.js +1 -1
- package/iframe/429.js +1 -1
- package/iframe/766.js +1 -1
- package/iframe/css/sandbox-darktheme.css +23 -7
- package/iframe/css/sandbox.css +24 -12
- package/iframe/iframe-eblock.0cb76e5c188260f00df6.html +1 -0
- package/iframe/iframe.0cb76e5c188260f00df6.html +1 -0
- package/iframe/index.html +1 -1
- package/iframe/js/525.b23a9b7e.js +1 -0
- package/iframe/js/667.43e50d38.js +1 -0
- package/iframe/js/882.d1c8c97b.js +1 -0
- package/iframe/sandbox-eblock.js +1 -1
- package/js/amplitude.min.js +8 -10
- package/js/browser-image-compression.js +3054 -1
- package/js/sourcebuster.min.js +0 -1
- package/package.json +1 -1
- package/static/css/{8778.3f22f159.chunk.css → 2557.2ede4a53.chunk.css} +2 -2
- package/static/css/{6310.ce3b451b.chunk.css → 6310.49bbc429.chunk.css} +2 -2
- package/static/css/9617.36fe0d8e.chunk.css +2 -0
- package/static/css/main.dec6a584.css +2 -0
- package/static/js/1241.e3e56034.js +2 -0
- package/static/js/1330.ef930318.js +2 -0
- package/static/js/1332.0cb959b4.js +2 -0
- package/static/js/1377.2c61acc1.js +2 -0
- package/static/js/1454.84d2c0a8.js +2 -0
- package/static/js/1502.8a2f6e6b.js +2 -0
- package/static/js/1510.e74cce46.js +2 -0
- package/static/js/1626.3320a5f3.js +2 -0
- package/static/js/1640.27be7178.js +2 -0
- package/static/js/1788.d2bc729b.js +2 -0
- package/static/js/{1807.edd17ae4.js → 1807.0ba6ab90.js} +3 -3
- package/static/js/1872.43ec6943.js +2 -0
- package/static/js/{1902.a37551ca.js → 1902.f48fb9a9.js} +2 -2
- package/static/js/{1940.18a1ab22.js → 1940.524f0244.js} +3 -3
- package/static/js/197.6d76c202.js +2 -0
- package/static/js/2066.c62582aa.js +2 -0
- package/static/js/2114.e385ca42.js +2 -0
- package/static/js/2139.775a0a57.js +3 -0
- package/static/js/2408.c5572548.js +2 -0
- package/static/js/2438.712814b0.js +2 -0
- package/static/js/2491.d65e25c3.js +3 -0
- package/static/js/2491.d65e25c3.js.LICENSE.txt +163 -0
- package/static/js/2557.c5dfa9a5.js +2 -0
- package/static/js/2827.36a23b69.js +2 -0
- package/static/js/284.efb80df6.js +2 -0
- package/static/js/2844.54191136.js +2 -0
- package/static/js/290.b615a90b.js +2 -0
- package/static/js/2917.a6e819bf.js +2 -0
- package/static/js/2988.2496986e.js +2 -0
- package/static/js/327.31ca6e0d.js +3 -0
- package/static/js/327.31ca6e0d.js.LICENSE.txt +29 -0
- package/static/js/3302.84e32b62.js +2 -0
- package/static/js/3411.311c6ae0.js +2 -0
- package/static/js/3624.c30f383e.js +2 -0
- package/static/js/3628.0deca530.js +3 -0
- package/static/js/3711.102a68ee.js +2 -0
- package/static/js/3816.8f941c79.js +2 -0
- package/static/js/3914.72124e24.js +2 -0
- package/static/js/4425.47aa4461.js +2 -0
- package/static/js/4607.f88cf27a.js +2 -0
- package/static/js/4686.180d7a12.js +2 -0
- package/static/js/4702.eb86f466.js +2 -0
- package/static/js/4813.b282e8cb.js +2 -0
- package/static/js/4823.ddb0914d.js +2 -0
- package/static/js/494.447cdadd.js +2 -0
- package/static/js/5108.b3eccf14.js +2 -0
- package/static/js/5261.8499aaa1.js +2 -0
- package/static/js/5322.413feb5a.js +2 -0
- package/static/js/5432.a1089dad.js +2 -0
- package/static/js/5466.50904f4e.js +2 -0
- package/static/js/5641.7f2999ab.js +3 -0
- package/static/js/{2076.a35d6556.js.LICENSE.txt → 5641.7f2999ab.js.LICENSE.txt} +0 -9
- package/static/js/5653.016de6aa.js +2 -0
- package/static/js/566.a759ee99.js +3 -0
- package/static/js/566.a759ee99.js.LICENSE.txt +20 -0
- package/static/js/5827.9dcc9443.js +2 -0
- package/static/js/5862.faad8f74.js +2 -0
- package/static/js/5864.6033ee51.js +2 -0
- package/static/js/5902.33cce976.js +2 -0
- package/static/js/5980.d73d6b51.js +2 -0
- package/static/js/6033.eb6097f0.js +2 -0
- package/static/js/6135.3b810692.js +2 -0
- package/static/js/6310.cafc9a48.js +2 -0
- package/static/js/6418.59058d0d.js +2 -0
- package/static/js/6428.57a30f96.js +2 -0
- package/static/js/6552.271c84f5.js +2 -0
- package/static/js/6618.feb19bcb.js +2 -0
- package/static/js/6764.2a43d6d5.js +2 -0
- package/static/js/6832.2e6f8499.js +2 -0
- package/static/js/7234.d3966e99.js +2 -0
- package/static/js/7288.efae06f4.js +2 -0
- package/static/js/737.b395c2b2.js +2 -0
- package/static/js/7426.1de30709.js +2 -0
- package/static/js/7673.2db4eeee.js +3 -0
- package/static/js/{5255.9c7c7b3d.js.LICENSE.txt → 7673.2db4eeee.js.LICENSE.txt} +9 -0
- package/static/js/77.9fcf0459.js +2 -0
- package/static/js/7974.db4992e0.js +2 -0
- package/static/js/8013.2ada21e8.js +2 -0
- package/static/js/8466.d3339ec9.js +2 -0
- package/static/js/8534.a012d026.js +2 -0
- package/static/js/8580.1528b456.js +2 -0
- package/static/js/8590.3e646adc.js +2 -0
- package/static/js/8682.b39ae089.js +2 -0
- package/static/js/8796.27f3a38e.js +2 -0
- package/static/js/8839.75fb5ef2.js +2 -0
- package/static/js/912.42ae1bb7.js +3 -0
- package/static/js/9169.a1d48107.js +2 -0
- package/static/js/9200.f1b7e119.js +2 -0
- package/static/js/9487.6209c75a.js +3 -0
- package/static/js/9487.6209c75a.js.LICENSE.txt +24 -0
- package/static/js/9508.4fb40b12.js +2 -0
- package/static/js/9578.eb817052.js +2 -0
- package/static/js/9617.a3001b3b.js +3 -0
- package/static/js/9716.e99deec1.js +2 -0
- package/static/js/emailmaker_core.b7120b7c.js +3 -0
- package/iframe/iframe-eblock.dfbe43189ad0132f9332.html +0 -1
- package/iframe/iframe.dfbe43189ad0132f9332.html +0 -1
- package/iframe/js/174.65a3f00f.js +0 -1
- package/iframe/js/525.590fe008.js +0 -1
- package/iframe/js/882.f76853fe.js +0 -1
- package/static/css/3934.8026f9d8.chunk.css +0 -2
- package/static/css/main.4042dfaa.css +0 -2
- package/static/js/1117.2e051755.js +0 -3
- package/static/js/1117.2e051755.js.LICENSE.txt +0 -40
- package/static/js/1157.1e6829d5.js +0 -3
- package/static/js/1157.1e6829d5.js.LICENSE.txt +0 -9
- package/static/js/1241.9f7c977b.js +0 -2
- package/static/js/1330.607183c7.js +0 -2
- package/static/js/1332.3eba834b.js +0 -2
- package/static/js/1377.b486b1f4.js +0 -2
- package/static/js/1454.23356a65.js +0 -2
- package/static/js/1502.6be06fc7.js +0 -2
- package/static/js/1510.32a77efc.js +0 -2
- package/static/js/1626.0cd4dd3f.js +0 -2
- package/static/js/1640.7ae88653.js +0 -2
- package/static/js/1788.e7e85733.js +0 -2
- package/static/js/1872.610556e1.js +0 -2
- package/static/js/197.64f9fd6b.js +0 -2
- package/static/js/2066.a4cfddd1.js +0 -2
- package/static/js/2076.a35d6556.js +0 -3
- package/static/js/2114.dff67863.js +0 -2
- package/static/js/2139.fe670ca3.js +0 -3
- package/static/js/2408.8dcea713.js +0 -2
- package/static/js/2438.02617e55.js +0 -2
- package/static/js/2827.e02551c9.js +0 -2
- package/static/js/284.89002158.js +0 -2
- package/static/js/2844.4c02df45.js +0 -2
- package/static/js/290.3b771060.js +0 -2
- package/static/js/2917.f75d7ce1.js +0 -2
- package/static/js/2988.6d43f35a.js +0 -2
- package/static/js/3302.9b320bc9.js +0 -2
- package/static/js/3411.69f4008b.js +0 -2
- package/static/js/3624.a7076f34.js +0 -2
- package/static/js/3628.d51bff41.js +0 -3
- package/static/js/3711.d621dbad.js +0 -2
- package/static/js/3816.bf684fe1.js +0 -2
- package/static/js/3914.c63f1b85.js +0 -2
- package/static/js/3934.0fa3a225.js +0 -3
- package/static/js/4425.39579a63.js +0 -2
- package/static/js/4607.25f2d561.js +0 -2
- package/static/js/4686.6a800b56.js +0 -2
- package/static/js/4702.de98cbd5.js +0 -2
- package/static/js/4813.ca2fe39e.js +0 -2
- package/static/js/4823.d4ba65be.js +0 -2
- package/static/js/494.87c48e86.js +0 -2
- package/static/js/5108.473a7fe1.js +0 -2
- package/static/js/5255.9c7c7b3d.js +0 -3
- package/static/js/5261.3e64116f.js +0 -2
- package/static/js/5279.3b38adf9.js +0 -2
- package/static/js/5322.ce259c32.js +0 -2
- package/static/js/5466.a0f769cb.js +0 -2
- package/static/js/5612.37f3811e.js +0 -3
- package/static/js/5612.37f3811e.js.LICENSE.txt +0 -30
- package/static/js/5653.5f06277c.js +0 -2
- package/static/js/5827.6555a26a.js +0 -2
- package/static/js/5862.225d9aac.js +0 -2
- package/static/js/5864.340bc721.js +0 -2
- package/static/js/5902.73cb2cc4.js +0 -2
- package/static/js/5980.fbc691ed.js +0 -2
- package/static/js/6033.71847c1c.js +0 -2
- package/static/js/6135.ceb22131.js +0 -2
- package/static/js/6310.27dbb05e.js +0 -2
- package/static/js/6418.5c3bf780.js +0 -2
- package/static/js/6428.8b233458.js +0 -2
- package/static/js/6552.9d811323.js +0 -2
- package/static/js/6618.8866f1fa.js +0 -2
- package/static/js/6764.9e4a7f5f.js +0 -2
- package/static/js/6832.4c4f3da7.js +0 -2
- package/static/js/7288.170ea51b.js +0 -2
- package/static/js/737.fae14b35.js +0 -2
- package/static/js/7394.ff9436a5.js +0 -3
- package/static/js/7426.eaa2cbe4.js +0 -2
- package/static/js/77.6ea8ad5d.js +0 -2
- package/static/js/7974.5b71f208.js +0 -2
- package/static/js/8466.ae622785.js +0 -2
- package/static/js/8534.10b79ff1.js +0 -2
- package/static/js/8559.e923c875.js +0 -2
- package/static/js/8580.dd55156b.js +0 -2
- package/static/js/8590.2779de33.js +0 -2
- package/static/js/8682.ec99bbfe.js +0 -2
- package/static/js/8778.f3616411.js +0 -2
- package/static/js/8796.a6838d71.js +0 -2
- package/static/js/8839.25cace14.js +0 -2
- package/static/js/9169.dee65ca6.js +0 -2
- package/static/js/9200.63433716.js +0 -2
- package/static/js/9508.a68ced7b.js +0 -2
- package/static/js/9716.fb4af6bc.js +0 -2
- package/static/js/emailmaker_core.5b5a28fd.js +0 -3
- package/static/media/icon-border-radius.2a56b93a7711558098a622296b7ae2e1.svg +0 -1
- package/static/media/icon-create-block.0b077f4000bf7907b9ea871d28c7fb1e.svg +0 -1
- /package/iframe/js/{525.590fe008.js.LICENSE.txt → 525.b23a9b7e.js.LICENSE.txt} +0 -0
- /package/iframe/js/{174.65a3f00f.js.LICENSE.txt → 667.43e50d38.js.LICENSE.txt} +0 -0
- /package/iframe/js/{882.f76853fe.js.LICENSE.txt → 882.d1c8c97b.js.LICENSE.txt} +0 -0
- /package/static/js/{1807.edd17ae4.js.LICENSE.txt → 1807.0ba6ab90.js.LICENSE.txt} +0 -0
- /package/static/js/{1940.18a1ab22.js.LICENSE.txt → 1940.524f0244.js.LICENSE.txt} +0 -0
- /package/static/js/{2139.fe670ca3.js.LICENSE.txt → 2139.775a0a57.js.LICENSE.txt} +0 -0
- /package/static/js/{3628.d51bff41.js.LICENSE.txt → 3628.0deca530.js.LICENSE.txt} +0 -0
- /package/static/js/{3934.0fa3a225.js.LICENSE.txt → 912.42ae1bb7.js.LICENSE.txt} +0 -0
- /package/static/js/{7394.ff9436a5.js.LICENSE.txt → 9617.a3001b3b.js.LICENSE.txt} +0 -0
- /package/static/js/{emailmaker_core.5b5a28fd.js.LICENSE.txt → emailmaker_core.b7120b7c.js.LICENSE.txt} +0 -0
|
@@ -5,5 +5,3058 @@
|
|
|
5
5
|
* https://github.com/Donaldcwl/browser-image-compression
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).imageCompression=t()}(this,(function(){"use strict";function _mergeNamespaces(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(r){if("default"!==r&&!(r in e)){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}}))})),Object.freeze(e)}function copyExifWithoutOrientation(e,t){return new Promise((function(r,i){let o;return getApp1Segment(e).then((function(e){try{return o=e,r(new Blob([t.slice(0,2),o,t.slice(2)],{type:"image/jpeg"}))}catch(e){return i(e)}}),i)}))}const getApp1Segment=e=>new Promise(((t,r)=>{const i=new FileReader;i.addEventListener("load",(({target:{result:e}})=>{const i=new DataView(e);let o=0;if(65496!==i.getUint16(o))return r("not a valid JPEG");for(o+=2;;){const a=i.getUint16(o);if(65498===a)break;const s=i.getUint16(o+2);if(65505===a&&1165519206===i.getUint32(o+4)){const a=o+10;let f;switch(i.getUint16(a)){case 18761:f=!0;break;case 19789:f=!1;break;default:return r("TIFF header contains invalid endian")}if(42!==i.getUint16(a+2,f))return r("TIFF header contains invalid version");const l=i.getUint32(a+4,f),c=a+l+2+12*i.getUint16(a+l,f);for(let e=a+l+2;e<c;e+=12){if(274==i.getUint16(e,f)){if(3!==i.getUint16(e+2,f))return r("Orientation data type is invalid");if(1!==i.getUint32(e+4,f))return r("Orientation data count is invalid");i.setUint16(e+8,1,f);break}}return t(e.slice(o,o+2+s))}o+=2+s}return t(new Blob)})),i.readAsArrayBuffer(e)}));var e={};!function(e){var t,r,UZIP={};e.exports=UZIP,UZIP.parse=function(e,t){for(var r=UZIP.bin.readUshort,i=UZIP.bin.readUint,o=0,a={},s=new Uint8Array(e),f=s.length-4;101010256!=i(s,f);)f--;o=f;o+=4;var l=r(s,o+=4);r(s,o+=2);var c=i(s,o+=2),u=i(s,o+=4);o+=4,o=u;for(var h=0;h<l;h++){i(s,o),o+=4,o+=4,o+=4,i(s,o+=4);c=i(s,o+=4);var d=i(s,o+=4),A=r(s,o+=4),g=r(s,o+2),p=r(s,o+4);o+=6;var m=i(s,o+=8);o+=4,o+=A+g+p,UZIP._readLocal(s,m,a,c,d,t)}return a},UZIP._readLocal=function(e,t,r,i,o,a){var s=UZIP.bin.readUshort,f=UZIP.bin.readUint;f(e,t),s(e,t+=4),s(e,t+=2);var l=s(e,t+=2);f(e,t+=2),f(e,t+=4),t+=4;var c=s(e,t+=8),u=s(e,t+=2);t+=2;var h=UZIP.bin.readUTF8(e,t,c);if(t+=c,t+=u,a)r[h]={size:o,csize:i};else{var d=new Uint8Array(e.buffer,t);if(0==l)r[h]=new Uint8Array(d.buffer.slice(t,t+i));else{if(8!=l)throw"unknown compression method: "+l;var A=new Uint8Array(o);UZIP.inflateRaw(d,A),r[h]=A}}},UZIP.inflateRaw=function(e,t){return UZIP.F.inflate(e,t)},UZIP.inflate=function(e,t){return e[0],e[1],UZIP.inflateRaw(new Uint8Array(e.buffer,e.byteOffset+2,e.length-6),t)},UZIP.deflate=function(e,t){null==t&&(t={level:6});var r=0,i=new Uint8Array(50+Math.floor(1.1*e.length));i[r]=120,i[r+1]=156,r+=2,r=UZIP.F.deflateRaw(e,i,r,t.level);var o=UZIP.adler(e,0,e.length);return i[r+0]=o>>>24&255,i[r+1]=o>>>16&255,i[r+2]=o>>>8&255,i[r+3]=o>>>0&255,new Uint8Array(i.buffer,0,r+4)},UZIP.deflateRaw=function(e,t){null==t&&(t={level:6});var r=new Uint8Array(50+Math.floor(1.1*e.length)),i=UZIP.F.deflateRaw(e,r,i,t.level);return new Uint8Array(r.buffer,0,i)},UZIP.encode=function(e,t){null==t&&(t=!1);var r=0,i=UZIP.bin.writeUint,o=UZIP.bin.writeUshort,a={};for(var s in e){var f=!UZIP._noNeed(s)&&!t,l=e[s],c=UZIP.crc.crc(l,0,l.length);a[s]={cpr:f,usize:l.length,crc:c,file:f?UZIP.deflateRaw(l):l}}for(var s in a)r+=a[s].file.length+30+46+2*UZIP.bin.sizeUTF8(s);r+=22;var u=new Uint8Array(r),h=0,d=[];for(var s in a){var A=a[s];d.push(h),h=UZIP._writeHeader(u,h,s,A,0)}var g=0,p=h;for(var s in a){A=a[s];d.push(h),h=UZIP._writeHeader(u,h,s,A,1,d[g++])}var m=h-p;return i(u,h,101010256),h+=4,o(u,h+=4,g),o(u,h+=2,g),i(u,h+=2,m),i(u,h+=4,p),h+=4,h+=2,u.buffer},UZIP._noNeed=function(e){var t=e.split(".").pop().toLowerCase();return-1!="png,jpg,jpeg,zip".indexOf(t)},UZIP._writeHeader=function(e,t,r,i,o,a){var s=UZIP.bin.writeUint,f=UZIP.bin.writeUshort,l=i.file;return s(e,t,0==o?67324752:33639248),t+=4,1==o&&(t+=2),f(e,t,20),f(e,t+=2,0),f(e,t+=2,i.cpr?8:0),s(e,t+=2,0),s(e,t+=4,i.crc),s(e,t+=4,l.length),s(e,t+=4,i.usize),f(e,t+=4,UZIP.bin.sizeUTF8(r)),f(e,t+=2,0),t+=2,1==o&&(t+=2,t+=2,s(e,t+=6,a),t+=4),t+=UZIP.bin.writeUTF8(e,t,r),0==o&&(e.set(l,t),t+=l.length),t},UZIP.crc={table:function(){for(var e=new Uint32Array(256),t=0;t<256;t++){for(var r=t,i=0;i<8;i++)1&r?r=3988292384^r>>>1:r>>>=1;e[t]=r}return e}(),update:function(e,t,r,i){for(var o=0;o<i;o++)e=UZIP.crc.table[255&(e^t[r+o])]^e>>>8;return e},crc:function(e,t,r){return 4294967295^UZIP.crc.update(4294967295,e,t,r)}},UZIP.adler=function(e,t,r){for(var i=1,o=0,a=t,s=t+r;a<s;){for(var f=Math.min(a+5552,s);a<f;)o+=i+=e[a++];i%=65521,o%=65521}return o<<16|i},UZIP.bin={readUshort:function(e,t){return e[t]|e[t+1]<<8},writeUshort:function(e,t,r){e[t]=255&r,e[t+1]=r>>8&255},readUint:function(e,t){return 16777216*e[t+3]+(e[t+2]<<16|e[t+1]<<8|e[t])},writeUint:function(e,t,r){e[t]=255&r,e[t+1]=r>>8&255,e[t+2]=r>>16&255,e[t+3]=r>>24&255},readASCII:function(e,t,r){for(var i="",o=0;o<r;o++)i+=String.fromCharCode(e[t+o]);return i},writeASCII:function(e,t,r){for(var i=0;i<r.length;i++)e[t+i]=r.charCodeAt(i)},pad:function(e){return e.length<2?"0"+e:e},readUTF8:function(e,t,r){for(var i,o="",a=0;a<r;a++)o+="%"+UZIP.bin.pad(e[t+a].toString(16));try{i=decodeURIComponent(o)}catch(i){return UZIP.bin.readASCII(e,t,r)}return i},writeUTF8:function(e,t,r){for(var i=r.length,o=0,a=0;a<i;a++){var s=r.charCodeAt(a);if(0==(4294967168&s))e[t+o]=s,o++;else if(0==(4294965248&s))e[t+o]=192|s>>6,e[t+o+1]=128|s>>0&63,o+=2;else if(0==(4294901760&s))e[t+o]=224|s>>12,e[t+o+1]=128|s>>6&63,e[t+o+2]=128|s>>0&63,o+=3;else{if(0!=(4292870144&s))throw"e";e[t+o]=240|s>>18,e[t+o+1]=128|s>>12&63,e[t+o+2]=128|s>>6&63,e[t+o+3]=128|s>>0&63,o+=4}}return o},sizeUTF8:function(e){for(var t=e.length,r=0,i=0;i<t;i++){var o=e.charCodeAt(i);if(0==(4294967168&o))r++;else if(0==(4294965248&o))r+=2;else if(0==(4294901760&o))r+=3;else{if(0!=(4292870144&o))throw"e";r+=4}}return r}},UZIP.F={},UZIP.F.deflateRaw=function(e,t,r,i){var o=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]][i],a=UZIP.F.U,s=UZIP.F._goodIndex;UZIP.F._hash;var f=UZIP.F._putsE,l=0,c=r<<3,u=0,h=e.length;if(0==i){for(;l<h;){f(t,c,l+(_=Math.min(65535,h-l))==h?1:0),c=UZIP.F._copyExact(e,l,_,t,c+8),l+=_}return c>>>3}var d=a.lits,A=a.strt,g=a.prev,p=0,m=0,w=0,v=0,b=0,y=0;for(h>2&&(A[y=UZIP.F._hash(e,0)]=0),l=0;l<h;l++){if(b=y,l+1<h-2){y=UZIP.F._hash(e,l+1);var E=l+1&32767;g[E]=A[y],A[y]=E}if(u<=l){(p>14e3||m>26697)&&h-l>100&&(u<l&&(d[p]=l-u,p+=2,u=l),c=UZIP.F._writeBlock(l==h-1||u==h?1:0,d,p,v,e,w,l-w,t,c),p=m=v=0,w=l);var F=0;l<h-2&&(F=UZIP.F._bestMatch(e,l,g,b,Math.min(o[2],h-l),o[3]));var _=F>>>16,B=65535&F;if(0!=F){B=65535&F;var U=s(_=F>>>16,a.of0);a.lhst[257+U]++;var C=s(B,a.df0);a.dhst[C]++,v+=a.exb[U]+a.dxb[C],d[p]=_<<23|l-u,d[p+1]=B<<16|U<<8|C,p+=2,u=l+_}else a.lhst[e[l]]++;m++}}for(w==l&&0!=e.length||(u<l&&(d[p]=l-u,p+=2,u=l),c=UZIP.F._writeBlock(1,d,p,v,e,w,l-w,t,c),p=0,m=0,p=m=v=0,w=l);0!=(7&c);)c++;return c>>>3},UZIP.F._bestMatch=function(e,t,r,i,o,a){var s=32767&t,f=r[s],l=s-f+32768&32767;if(f==s||i!=UZIP.F._hash(e,t-l))return 0;for(var c=0,u=0,h=Math.min(32767,t);l<=h&&0!=--a&&f!=s;){if(0==c||e[t+c]==e[t+c-l]){var d=UZIP.F._howLong(e,t,l);if(d>c){if(u=l,(c=d)>=o)break;l+2<d&&(d=l+2);for(var A=0,g=0;g<d-2;g++){var p=t-l+g+32768&32767,m=p-r[p]+32768&32767;m>A&&(A=m,f=p)}}}l+=(s=f)-(f=r[s])+32768&32767}return c<<16|u},UZIP.F._howLong=function(e,t,r){if(e[t]!=e[t-r]||e[t+1]!=e[t+1-r]||e[t+2]!=e[t+2-r])return 0;var i=t,o=Math.min(e.length,t+258);for(t+=3;t<o&&e[t]==e[t-r];)t++;return t-i},UZIP.F._hash=function(e,t){return(e[t]<<8|e[t+1])+(e[t+2]<<4)&65535},UZIP.saved=0,UZIP.F._writeBlock=function(e,t,r,i,o,a,s,f,l){var c,u,h,d,A,g,p,m,w,v=UZIP.F.U,b=UZIP.F._putsF,y=UZIP.F._putsE;v.lhst[256]++,u=(c=UZIP.F.getTrees())[0],h=c[1],d=c[2],A=c[3],g=c[4],p=c[5],m=c[6],w=c[7];var E=32+(0==(l+3&7)?0:8-(l+3&7))+(s<<3),F=i+UZIP.F.contSize(v.fltree,v.lhst)+UZIP.F.contSize(v.fdtree,v.dhst),_=i+UZIP.F.contSize(v.ltree,v.lhst)+UZIP.F.contSize(v.dtree,v.dhst);_+=14+3*p+UZIP.F.contSize(v.itree,v.ihst)+(2*v.ihst[16]+3*v.ihst[17]+7*v.ihst[18]);for(var B=0;B<286;B++)v.lhst[B]=0;for(B=0;B<30;B++)v.dhst[B]=0;for(B=0;B<19;B++)v.ihst[B]=0;var U=E<F&&E<_?0:F<_?1:2;if(b(f,l,e),b(f,l+1,U),l+=3,0==U){for(;0!=(7&l);)l++;l=UZIP.F._copyExact(o,a,s,f,l)}else{var C,I;if(1==U&&(C=v.fltree,I=v.fdtree),2==U){UZIP.F.makeCodes(v.ltree,u),UZIP.F.revCodes(v.ltree,u),UZIP.F.makeCodes(v.dtree,h),UZIP.F.revCodes(v.dtree,h),UZIP.F.makeCodes(v.itree,d),UZIP.F.revCodes(v.itree,d),C=v.ltree,I=v.dtree,y(f,l,A-257),y(f,l+=5,g-1),y(f,l+=5,p-4),l+=4;for(var Q=0;Q<p;Q++)y(f,l+3*Q,v.itree[1+(v.ordr[Q]<<1)]);l+=3*p,l=UZIP.F._codeTiny(m,v.itree,f,l),l=UZIP.F._codeTiny(w,v.itree,f,l)}for(var M=a,x=0;x<r;x+=2){for(var T=t[x],S=T>>>23,R=M+(8388607&T);M<R;)l=UZIP.F._writeLit(o[M++],C,f,l);if(0!=S){var O=t[x+1],P=O>>16,H=O>>8&255,L=255&O;y(f,l=UZIP.F._writeLit(257+H,C,f,l),S-v.of0[H]),l+=v.exb[H],b(f,l=UZIP.F._writeLit(L,I,f,l),P-v.df0[L]),l+=v.dxb[L],M+=S}}l=UZIP.F._writeLit(256,C,f,l)}return l},UZIP.F._copyExact=function(e,t,r,i,o){var a=o>>>3;return i[a]=r,i[a+1]=r>>>8,i[a+2]=255-i[a],i[a+3]=255-i[a+1],a+=4,i.set(new Uint8Array(e.buffer,t,r),a),o+(r+4<<3)},UZIP.F.getTrees=function(){for(var e=UZIP.F.U,t=UZIP.F._hufTree(e.lhst,e.ltree,15),r=UZIP.F._hufTree(e.dhst,e.dtree,15),i=[],o=UZIP.F._lenCodes(e.ltree,i),a=[],s=UZIP.F._lenCodes(e.dtree,a),f=0;f<i.length;f+=2)e.ihst[i[f]]++;for(f=0;f<a.length;f+=2)e.ihst[a[f]]++;for(var l=UZIP.F._hufTree(e.ihst,e.itree,7),c=19;c>4&&0==e.itree[1+(e.ordr[c-1]<<1)];)c--;return[t,r,l,o,s,c,i,a]},UZIP.F.getSecond=function(e){for(var t=[],r=0;r<e.length;r+=2)t.push(e[r+1]);return t},UZIP.F.nonZero=function(e){for(var t="",r=0;r<e.length;r+=2)0!=e[r+1]&&(t+=(r>>1)+",");return t},UZIP.F.contSize=function(e,t){for(var r=0,i=0;i<t.length;i++)r+=t[i]*e[1+(i<<1)];return r},UZIP.F._codeTiny=function(e,t,r,i){for(var o=0;o<e.length;o+=2){var a=e[o],s=e[o+1];i=UZIP.F._writeLit(a,t,r,i);var f=16==a?2:17==a?3:7;a>15&&(UZIP.F._putsE(r,i,s,f),i+=f)}return i},UZIP.F._lenCodes=function(e,t){for(var r=e.length;2!=r&&0==e[r-1];)r-=2;for(var i=0;i<r;i+=2){var o=e[i+1],a=i+3<r?e[i+3]:-1,s=i+5<r?e[i+5]:-1,f=0==i?-1:e[i-1];if(0==o&&a==o&&s==o){for(var l=i+5;l+2<r&&e[l+2]==o;)l+=2;(c=Math.min(l+1-i>>>1,138))<11?t.push(17,c-3):t.push(18,c-11),i+=2*c-2}else if(o==f&&a==o&&s==o){for(l=i+5;l+2<r&&e[l+2]==o;)l+=2;var c=Math.min(l+1-i>>>1,6);t.push(16,c-3),i+=2*c-2}else t.push(o,0)}return r>>>1},UZIP.F._hufTree=function(e,t,r){var i=[],o=e.length,a=t.length,s=0;for(s=0;s<a;s+=2)t[s]=0,t[s+1]=0;for(s=0;s<o;s++)0!=e[s]&&i.push({lit:s,f:e[s]});var f=i.length,l=i.slice(0);if(0==f)return 0;if(1==f){var c=i[0].lit;l=0==c?1:0;return t[1+(c<<1)]=1,t[1+(l<<1)]=1,1}i.sort((function(e,t){return e.f-t.f}));var u=i[0],h=i[1],d=0,A=1,g=2;for(i[0]={lit:-1,f:u.f+h.f,l:u,r:h,d:0};A!=f-1;)u=d!=A&&(g==f||i[d].f<i[g].f)?i[d++]:i[g++],h=d!=A&&(g==f||i[d].f<i[g].f)?i[d++]:i[g++],i[A++]={lit:-1,f:u.f+h.f,l:u,r:h};var p=UZIP.F.setDepth(i[A-1],0);for(p>r&&(UZIP.F.restrictDepth(l,r,p),p=r),s=0;s<f;s++)t[1+(l[s].lit<<1)]=l[s].d;return p},UZIP.F.setDepth=function(e,t){return-1!=e.lit?(e.d=t,t):Math.max(UZIP.F.setDepth(e.l,t+1),UZIP.F.setDepth(e.r,t+1))},UZIP.F.restrictDepth=function(e,t,r){var i=0,o=1<<r-t,a=0;for(e.sort((function(e,t){return t.d==e.d?e.f-t.f:t.d-e.d})),i=0;i<e.length&&e[i].d>t;i++){var s=e[i].d;e[i].d=t,a+=o-(1<<r-s)}for(a>>>=r-t;a>0;){(s=e[i].d)<t?(e[i].d++,a-=1<<t-s-1):i++}for(;i>=0;i--)e[i].d==t&&a<0&&(e[i].d--,a++);0!=a&&console.log("debt left")},UZIP.F._goodIndex=function(e,t){var r=0;return t[16|r]<=e&&(r|=16),t[8|r]<=e&&(r|=8),t[4|r]<=e&&(r|=4),t[2|r]<=e&&(r|=2),t[1|r]<=e&&(r|=1),r},UZIP.F._writeLit=function(e,t,r,i){return UZIP.F._putsF(r,i,t[e<<1]),i+t[1+(e<<1)]},UZIP.F.inflate=function(e,t){var r=Uint8Array;if(3==e[0]&&0==e[1])return t||new r(0);var i=UZIP.F,o=i._bitsF,a=i._bitsE,s=i._decodeTiny,f=i.makeCodes,l=i.codes2map,c=i._get17,u=i.U,h=null==t;h&&(t=new r(e.length>>>2<<3));for(var d,A,g=0,p=0,m=0,w=0,v=0,b=0,y=0,E=0,F=0;0==g;)if(g=o(e,F,1),p=o(e,F+1,2),F+=3,0!=p){if(h&&(t=UZIP.F._check(t,E+(1<<17))),1==p&&(d=u.flmap,A=u.fdmap,b=511,y=31),2==p){m=a(e,F,5)+257,w=a(e,F+5,5)+1,v=a(e,F+10,4)+4,F+=14;for(var _=0;_<38;_+=2)u.itree[_]=0,u.itree[_+1]=0;var B=1;for(_=0;_<v;_++){var U=a(e,F+3*_,3);u.itree[1+(u.ordr[_]<<1)]=U,U>B&&(B=U)}F+=3*v,f(u.itree,B),l(u.itree,B,u.imap),d=u.lmap,A=u.dmap,F=s(u.imap,(1<<B)-1,m+w,e,F,u.ttree);var C=i._copyOut(u.ttree,0,m,u.ltree);b=(1<<C)-1;var I=i._copyOut(u.ttree,m,w,u.dtree);y=(1<<I)-1,f(u.ltree,C),l(u.ltree,C,d),f(u.dtree,I),l(u.dtree,I,A)}for(;;){var Q=d[c(e,F)&b];F+=15&Q;var M=Q>>>4;if(M>>>8==0)t[E++]=M;else{if(256==M)break;var x=E+M-254;if(M>264){var T=u.ldef[M-257];x=E+(T>>>3)+a(e,F,7&T),F+=7&T}var S=A[c(e,F)&y];F+=15&S;var R=S>>>4,O=u.ddef[R],P=(O>>>4)+o(e,F,15&O);for(F+=15&O,h&&(t=UZIP.F._check(t,E+(1<<17)));E<x;)t[E]=t[E++-P],t[E]=t[E++-P],t[E]=t[E++-P],t[E]=t[E++-P];E=x}}}else{0!=(7&F)&&(F+=8-(7&F));var H=4+(F>>>3),L=e[H-4]|e[H-3]<<8;h&&(t=UZIP.F._check(t,E+L)),t.set(new r(e.buffer,e.byteOffset+H,L),E),F=H+L<<3,E+=L}return t.length==E?t:t.slice(0,E)},UZIP.F._check=function(e,t){var r=e.length;if(t<=r)return e;var i=new Uint8Array(Math.max(r<<1,t));return i.set(e,0),i},UZIP.F._decodeTiny=function(e,t,r,i,o,a){for(var s=UZIP.F._bitsE,f=UZIP.F._get17,l=0;l<r;){var c=e[f(i,o)&t];o+=15&c;var u=c>>>4;if(u<=15)a[l]=u,l++;else{var h=0,d=0;16==u?(d=3+s(i,o,2),o+=2,h=a[l-1]):17==u?(d=3+s(i,o,3),o+=3):18==u&&(d=11+s(i,o,7),o+=7);for(var A=l+d;l<A;)a[l]=h,l++}}return o},UZIP.F._copyOut=function(e,t,r,i){for(var o=0,a=0,s=i.length>>>1;a<r;){var f=e[a+t];i[a<<1]=0,i[1+(a<<1)]=f,f>o&&(o=f),a++}for(;a<s;)i[a<<1]=0,i[1+(a<<1)]=0,a++;return o},UZIP.F.makeCodes=function(e,t){for(var r,i,o,a,s=UZIP.F.U,f=e.length,l=s.bl_count,c=0;c<=t;c++)l[c]=0;for(c=1;c<f;c+=2)l[e[c]]++;var u=s.next_code;for(r=0,l[0]=0,i=1;i<=t;i++)r=r+l[i-1]<<1,u[i]=r;for(o=0;o<f;o+=2)0!=(a=e[o+1])&&(e[o]=u[a],u[a]++)},UZIP.F.codes2map=function(e,t,r){for(var i=e.length,o=UZIP.F.U.rev15,a=0;a<i;a+=2)if(0!=e[a+1])for(var s=a>>1,f=e[a+1],l=s<<4|f,c=t-f,u=e[a]<<c,h=u+(1<<c);u!=h;){r[o[u]>>>15-t]=l,u++}},UZIP.F.revCodes=function(e,t){for(var r=UZIP.F.U.rev15,i=15-t,o=0;o<e.length;o+=2){var a=e[o]<<t-e[o+1];e[o]=r[a]>>>i}},UZIP.F._putsE=function(e,t,r){r<<=7&t;var i=t>>>3;e[i]|=r,e[i+1]|=r>>>8},UZIP.F._putsF=function(e,t,r){r<<=7&t;var i=t>>>3;e[i]|=r,e[i+1]|=r>>>8,e[i+2]|=r>>>16},UZIP.F._bitsE=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<r)-1},UZIP.F._bitsF=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<r)-1},UZIP.F._get17=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},UZIP.F._get25=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},UZIP.F.U=(t=Uint16Array,r=Uint32Array,{next_code:new t(16),bl_count:new t(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new t(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new r(32),flmap:new t(512),fltree:[],fdmap:new t(32),fdtree:[],lmap:new t(32768),ltree:[],ttree:[],dmap:new t(32768),dtree:[],imap:new t(512),itree:[],rev15:new t(32768),lhst:new r(286),dhst:new r(30),ihst:new r(19),lits:new r(15e3),strt:new t(65536),prev:new t(32768)}),function(){for(var e=UZIP.F.U,t=0;t<32768;t++){var r=t;r=(4278255360&(r=(4042322160&(r=(3435973836&(r=(2863311530&r)>>>1|(1431655765&r)<<1))>>>2|(858993459&r)<<2))>>>4|(252645135&r)<<4))>>>8|(16711935&r)<<8,e.rev15[t]=(r>>>16|r<<16)>>>17}function pushV(e,t,r){for(;0!=t--;)e.push(0,r)}for(t=0;t<32;t++)e.ldef[t]=e.of0[t]<<3|e.exb[t],e.ddef[t]=e.df0[t]<<4|e.dxb[t];pushV(e.fltree,144,8),pushV(e.fltree,112,9),pushV(e.fltree,24,7),pushV(e.fltree,8,8),UZIP.F.makeCodes(e.fltree,9),UZIP.F.codes2map(e.fltree,9,e.flmap),UZIP.F.revCodes(e.fltree,9),pushV(e.fdtree,32,5),UZIP.F.makeCodes(e.fdtree,5),UZIP.F.codes2map(e.fdtree,5,e.fdmap),UZIP.F.revCodes(e.fdtree,5),pushV(e.itree,19,0),pushV(e.ltree,286,0),pushV(e.dtree,30,0),pushV(e.ttree,320,0)}()}({get exports(){return e},set exports(t){e=t}});var UZIP=_mergeNamespaces({__proto__:null,default:e},[e]);const UPNG=function(){var e={nextZero(e,t){for(;0!=e[t];)t++;return t},readUshort:(e,t)=>e[t]<<8|e[t+1],writeUshort(e,t,r){e[t]=r>>8&255,e[t+1]=255&r},readUint:(e,t)=>16777216*e[t]+(e[t+1]<<16|e[t+2]<<8|e[t+3]),writeUint(e,t,r){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r},readASCII(e,t,r){let i="";for(let o=0;o<r;o++)i+=String.fromCharCode(e[t+o]);return i},writeASCII(e,t,r){for(let i=0;i<r.length;i++)e[t+i]=r.charCodeAt(i)},readBytes(e,t,r){const i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i},pad:e=>e.length<2?`0${e}`:e,readUTF8(t,r,i){let o,a="";for(let o=0;o<i;o++)a+=`%${e.pad(t[r+o].toString(16))}`;try{o=decodeURIComponent(a)}catch(o){return e.readASCII(t,r,i)}return o}};function decodeImage(t,r,i,o){const a=r*i,s=_getBPP(o),f=Math.ceil(r*s/8),l=new Uint8Array(4*a),c=new Uint32Array(l.buffer),{ctype:u}=o,{depth:h}=o,d=e.readUshort;if(6==u){const e=a<<2;if(8==h)for(var A=0;A<e;A+=4)l[A]=t[A],l[A+1]=t[A+1],l[A+2]=t[A+2],l[A+3]=t[A+3];if(16==h)for(A=0;A<e;A++)l[A]=t[A<<1]}else if(2==u){const e=o.tabs.tRNS;if(null==e){if(8==h)for(A=0;A<a;A++){var g=3*A;c[A]=255<<24|t[g+2]<<16|t[g+1]<<8|t[g]}if(16==h)for(A=0;A<a;A++){g=6*A;c[A]=255<<24|t[g+4]<<16|t[g+2]<<8|t[g]}}else{var p=e[0];const r=e[1],i=e[2];if(8==h)for(A=0;A<a;A++){var m=A<<2;g=3*A;c[A]=255<<24|t[g+2]<<16|t[g+1]<<8|t[g],t[g]==p&&t[g+1]==r&&t[g+2]==i&&(l[m+3]=0)}if(16==h)for(A=0;A<a;A++){m=A<<2,g=6*A;c[A]=255<<24|t[g+4]<<16|t[g+2]<<8|t[g],d(t,g)==p&&d(t,g+2)==r&&d(t,g+4)==i&&(l[m+3]=0)}}}else if(3==u){const e=o.tabs.PLTE,s=o.tabs.tRNS,c=s?s.length:0;if(1==h)for(var w=0;w<i;w++){var v=w*f,b=w*r;for(A=0;A<r;A++){m=b+A<<2;var y=3*(E=t[v+(A>>3)]>>7-((7&A)<<0)&1);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}}if(2==h)for(w=0;w<i;w++)for(v=w*f,b=w*r,A=0;A<r;A++){m=b+A<<2,y=3*(E=t[v+(A>>2)]>>6-((3&A)<<1)&3);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}if(4==h)for(w=0;w<i;w++)for(v=w*f,b=w*r,A=0;A<r;A++){m=b+A<<2,y=3*(E=t[v+(A>>1)]>>4-((1&A)<<2)&15);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}if(8==h)for(A=0;A<a;A++){var E;m=A<<2,y=3*(E=t[A]);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}}else if(4==u){if(8==h)for(A=0;A<a;A++){m=A<<2;var F=t[_=A<<1];l[m]=F,l[m+1]=F,l[m+2]=F,l[m+3]=t[_+1]}if(16==h)for(A=0;A<a;A++){var _;m=A<<2,F=t[_=A<<2];l[m]=F,l[m+1]=F,l[m+2]=F,l[m+3]=t[_+2]}}else if(0==u)for(p=o.tabs.tRNS?o.tabs.tRNS:-1,w=0;w<i;w++){const e=w*f,i=w*r;if(1==h)for(var B=0;B<r;B++){var U=(F=255*(t[e+(B>>>3)]>>>7-(7&B)&1))==255*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(2==h)for(B=0;B<r;B++){U=(F=85*(t[e+(B>>>2)]>>>6-((3&B)<<1)&3))==85*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(4==h)for(B=0;B<r;B++){U=(F=17*(t[e+(B>>>1)]>>>4-((1&B)<<2)&15))==17*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(8==h)for(B=0;B<r;B++){U=(F=t[e+B])==p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(16==h)for(B=0;B<r;B++){F=t[e+(B<<1)],U=d(t,e+(B<<1))==p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}}return l}function _decompress(e,r,i,o){const a=_getBPP(e),s=Math.ceil(i*a/8),f=new Uint8Array((s+1+e.interlace)*o);return r=e.tabs.CgBI?t(r,f):_inflate(r,f),0==e.interlace?r=_filterZero(r,e,0,i,o):1==e.interlace&&(r=function _readInterlace(e,t){const r=t.width,i=t.height,o=_getBPP(t),a=o>>3,s=Math.ceil(r*o/8),f=new Uint8Array(i*s);let l=0;const c=[0,0,4,0,2,0,1],u=[0,4,0,2,0,1,0],h=[8,8,8,4,4,2,2],d=[8,8,4,4,2,2,1];let A=0;for(;A<7;){const p=h[A],m=d[A];let w=0,v=0,b=c[A];for(;b<i;)b+=p,v++;let y=u[A];for(;y<r;)y+=m,w++;const E=Math.ceil(w*o/8);_filterZero(e,t,l,w,v);let F=0,_=c[A];for(;_<i;){let t=u[A],i=l+F*E<<3;for(;t<r;){var g;if(1==o)g=(g=e[i>>3])>>7-(7&i)&1,f[_*s+(t>>3)]|=g<<7-((7&t)<<0);if(2==o)g=(g=e[i>>3])>>6-(7&i)&3,f[_*s+(t>>2)]|=g<<6-((3&t)<<1);if(4==o)g=(g=e[i>>3])>>4-(7&i)&15,f[_*s+(t>>1)]|=g<<4-((1&t)<<2);if(o>=8){const r=_*s+t*a;for(let t=0;t<a;t++)f[r+t]=e[(i>>3)+t]}i+=o,t+=m}F++,_+=p}w*v!=0&&(l+=v*(1+E)),A+=1}return f}(r,e)),r}function _inflate(e,r){return t(new Uint8Array(e.buffer,2,e.length-6),r)}var t=function(){const e={H:{}};return e.H.N=function(t,r){const i=Uint8Array;let o,a,s=0,f=0,l=0,c=0,u=0,h=0,d=0,A=0,g=0;if(3==t[0]&&0==t[1])return r||new i(0);const p=e.H,m=p.b,w=p.e,v=p.R,b=p.n,y=p.A,E=p.Z,F=p.m,_=null==r;for(_&&(r=new i(t.length>>>2<<5));0==s;)if(s=m(t,g,1),f=m(t,g+1,2),g+=3,0!=f){if(_&&(r=e.H.W(r,A+(1<<17))),1==f&&(o=F.J,a=F.h,h=511,d=31),2==f){l=w(t,g,5)+257,c=w(t,g+5,5)+1,u=w(t,g+10,4)+4,g+=14;let e=1;for(var B=0;B<38;B+=2)F.Q[B]=0,F.Q[B+1]=0;for(B=0;B<u;B++){const r=w(t,g+3*B,3);F.Q[1+(F.X[B]<<1)]=r,r>e&&(e=r)}g+=3*u,b(F.Q,e),y(F.Q,e,F.u),o=F.w,a=F.d,g=v(F.u,(1<<e)-1,l+c,t,g,F.v);const r=p.V(F.v,0,l,F.C);h=(1<<r)-1;const i=p.V(F.v,l,c,F.D);d=(1<<i)-1,b(F.C,r),y(F.C,r,o),b(F.D,i),y(F.D,i,a)}for(;;){const e=o[E(t,g)&h];g+=15&e;const i=e>>>4;if(i>>>8==0)r[A++]=i;else{if(256==i)break;{let e=A+i-254;if(i>264){const r=F.q[i-257];e=A+(r>>>3)+w(t,g,7&r),g+=7&r}const o=a[E(t,g)&d];g+=15&o;const s=o>>>4,f=F.c[s],l=(f>>>4)+m(t,g,15&f);for(g+=15&f;A<e;)r[A]=r[A++-l],r[A]=r[A++-l],r[A]=r[A++-l],r[A]=r[A++-l];A=e}}}}else{0!=(7&g)&&(g+=8-(7&g));const o=4+(g>>>3),a=t[o-4]|t[o-3]<<8;_&&(r=e.H.W(r,A+a)),r.set(new i(t.buffer,t.byteOffset+o,a),A),g=o+a<<3,A+=a}return r.length==A?r:r.slice(0,A)},e.H.W=function(e,t){const r=e.length;if(t<=r)return e;const i=new Uint8Array(r<<1);return i.set(e,0),i},e.H.R=function(t,r,i,o,a,s){const f=e.H.e,l=e.H.Z;let c=0;for(;c<i;){const e=t[l(o,a)&r];a+=15&e;const i=e>>>4;if(i<=15)s[c]=i,c++;else{let e=0,t=0;16==i?(t=3+f(o,a,2),a+=2,e=s[c-1]):17==i?(t=3+f(o,a,3),a+=3):18==i&&(t=11+f(o,a,7),a+=7);const r=c+t;for(;c<r;)s[c]=e,c++}}return a},e.H.V=function(e,t,r,i){let o=0,a=0;const s=i.length>>>1;for(;a<r;){const r=e[a+t];i[a<<1]=0,i[1+(a<<1)]=r,r>o&&(o=r),a++}for(;a<s;)i[a<<1]=0,i[1+(a<<1)]=0,a++;return o},e.H.n=function(t,r){const i=e.H.m,o=t.length;let a,s,f;let l;const c=i.j;for(var u=0;u<=r;u++)c[u]=0;for(u=1;u<o;u+=2)c[t[u]]++;const h=i.K;for(a=0,c[0]=0,s=1;s<=r;s++)a=a+c[s-1]<<1,h[s]=a;for(f=0;f<o;f+=2)l=t[f+1],0!=l&&(t[f]=h[l],h[l]++)},e.H.A=function(t,r,i){const o=t.length,a=e.H.m.r;for(let e=0;e<o;e+=2)if(0!=t[e+1]){const o=e>>1,s=t[e+1],f=o<<4|s,l=r-s;let c=t[e]<<l;const u=c+(1<<l);for(;c!=u;){i[a[c]>>>15-r]=f,c++}}},e.H.l=function(t,r){const i=e.H.m.r,o=15-r;for(let e=0;e<t.length;e+=2){const a=t[e]<<r-t[e+1];t[e]=i[a]>>>o}},e.H.M=function(e,t,r){r<<=7&t;const i=t>>>3;e[i]|=r,e[i+1]|=r>>>8},e.H.I=function(e,t,r){r<<=7&t;const i=t>>>3;e[i]|=r,e[i+1]|=r>>>8,e[i+2]|=r>>>16},e.H.e=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<r)-1},e.H.b=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<r)-1},e.H.Z=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},e.H.i=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},e.H.m=function(){const e=Uint16Array,t=Uint32Array;return{K:new e(16),j:new e(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new e(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new t(32),J:new e(512),_:[],h:new e(32),$:[],w:new e(32768),C:[],v:[],d:new e(32768),D:[],u:new e(512),Q:[],r:new e(32768),s:new t(286),Y:new t(30),a:new t(19),t:new t(15e3),k:new e(65536),g:new e(32768)}}(),function(){const t=e.H.m;for(var r=0;r<32768;r++){let e=r;e=(2863311530&e)>>>1|(1431655765&e)<<1,e=(3435973836&e)>>>2|(858993459&e)<<2,e=(4042322160&e)>>>4|(252645135&e)<<4,e=(4278255360&e)>>>8|(16711935&e)<<8,t.r[r]=(e>>>16|e<<16)>>>17}function n(e,t,r){for(;0!=t--;)e.push(0,r)}for(r=0;r<32;r++)t.q[r]=t.S[r]<<3|t.T[r],t.c[r]=t.p[r]<<4|t.z[r];n(t._,144,8),n(t._,112,9),n(t._,24,7),n(t._,8,8),e.H.n(t._,9),e.H.A(t._,9,t.J),e.H.l(t._,9),n(t.$,32,5),e.H.n(t.$,5),e.H.A(t.$,5,t.h),e.H.l(t.$,5),n(t.Q,19,0),n(t.C,286,0),n(t.D,30,0),n(t.v,320,0)}(),e.H.N}();function _getBPP(e){return[1,null,3,1,2,null,4][e.ctype]*e.depth}function _filterZero(e,t,r,i,o){let a=_getBPP(t);const s=Math.ceil(i*a/8);let f,l;a=Math.ceil(a/8);let c=e[r],u=0;if(c>1&&(e[r]=[0,0,1][c-2]),3==c)for(u=a;u<s;u++)e[u+1]=e[u+1]+(e[u+1-a]>>>1)&255;for(let t=0;t<o;t++)if(f=r+t*s,l=f+t+1,c=e[l-1],u=0,0==c)for(;u<s;u++)e[f+u]=e[l+u];else if(1==c){for(;u<a;u++)e[f+u]=e[l+u];for(;u<s;u++)e[f+u]=e[l+u]+e[f+u-a]}else if(2==c)for(;u<s;u++)e[f+u]=e[l+u]+e[f+u-s];else if(3==c){for(;u<a;u++)e[f+u]=e[l+u]+(e[f+u-s]>>>1);for(;u<s;u++)e[f+u]=e[l+u]+(e[f+u-s]+e[f+u-a]>>>1)}else{for(;u<a;u++)e[f+u]=e[l+u]+_paeth(0,e[f+u-s],0);for(;u<s;u++)e[f+u]=e[l+u]+_paeth(e[f+u-a],e[f+u-s],e[f+u-a-s])}return e}function _paeth(e,t,r){const i=e+t-r,o=i-e,a=i-t,s=i-r;return o*o<=a*a&&o*o<=s*s?e:a*a<=s*s?t:r}function _IHDR(t,r,i){i.width=e.readUint(t,r),r+=4,i.height=e.readUint(t,r),r+=4,i.depth=t[r],r++,i.ctype=t[r],r++,i.compress=t[r],r++,i.filter=t[r],r++,i.interlace=t[r],r++}function _copyTile(e,t,r,i,o,a,s,f,l){const c=Math.min(t,o),u=Math.min(r,a);let h=0,d=0;for(let r=0;r<u;r++)for(let a=0;a<c;a++)if(s>=0&&f>=0?(h=r*t+a<<2,d=(f+r)*o+s+a<<2):(h=(-f+r)*t-s+a<<2,d=r*o+a<<2),0==l)i[d]=e[h],i[d+1]=e[h+1],i[d+2]=e[h+2],i[d+3]=e[h+3];else if(1==l){var A=e[h+3]*(1/255),g=e[h]*A,p=e[h+1]*A,m=e[h+2]*A,w=i[d+3]*(1/255),v=i[d]*w,b=i[d+1]*w,y=i[d+2]*w;const t=1-A,r=A+w*t,o=0==r?0:1/r;i[d+3]=255*r,i[d+0]=(g+v*t)*o,i[d+1]=(p+b*t)*o,i[d+2]=(m+y*t)*o}else if(2==l){A=e[h+3],g=e[h],p=e[h+1],m=e[h+2],w=i[d+3],v=i[d],b=i[d+1],y=i[d+2];A==w&&g==v&&p==b&&m==y?(i[d]=0,i[d+1]=0,i[d+2]=0,i[d+3]=0):(i[d]=g,i[d+1]=p,i[d+2]=m,i[d+3]=A)}else if(3==l){A=e[h+3],g=e[h],p=e[h+1],m=e[h+2],w=i[d+3],v=i[d],b=i[d+1],y=i[d+2];if(A==w&&g==v&&p==b&&m==y)continue;if(A<220&&w>20)return!1}return!0}return{decode:function decode(r){const i=new Uint8Array(r);let o=8;const a=e,s=a.readUshort,f=a.readUint,l={tabs:{},frames:[]},c=new Uint8Array(i.length);let u,h=0,d=0;const A=[137,80,78,71,13,10,26,10];for(var g=0;g<8;g++)if(i[g]!=A[g])throw"The input is not a PNG file!";for(;o<i.length;){const e=a.readUint(i,o);o+=4;const r=a.readASCII(i,o,4);if(o+=4,"IHDR"==r)_IHDR(i,o,l);else if("iCCP"==r){for(var p=o;0!=i[p];)p++;a.readASCII(i,o,p-o),i[p+1];const s=i.slice(p+2,o+e);let f=null;try{f=_inflate(s)}catch(e){f=t(s)}l.tabs[r]=f}else if("CgBI"==r)l.tabs[r]=i.slice(o,o+4);else if("IDAT"==r){for(g=0;g<e;g++)c[h+g]=i[o+g];h+=e}else if("acTL"==r)l.tabs[r]={num_frames:f(i,o),num_plays:f(i,o+4)},u=new Uint8Array(i.length);else if("fcTL"==r){if(0!=d)(E=l.frames[l.frames.length-1]).data=_decompress(l,u.slice(0,d),E.rect.width,E.rect.height),d=0;const e={x:f(i,o+12),y:f(i,o+16),width:f(i,o+4),height:f(i,o+8)};let t=s(i,o+22);t=s(i,o+20)/(0==t?100:t);const r={rect:e,delay:Math.round(1e3*t),dispose:i[o+24],blend:i[o+25]};l.frames.push(r)}else if("fdAT"==r){for(g=0;g<e-4;g++)u[d+g]=i[o+g+4];d+=e-4}else if("pHYs"==r)l.tabs[r]=[a.readUint(i,o),a.readUint(i,o+4),i[o+8]];else if("cHRM"==r){l.tabs[r]=[];for(g=0;g<8;g++)l.tabs[r].push(a.readUint(i,o+4*g))}else if("tEXt"==r||"zTXt"==r){null==l.tabs[r]&&(l.tabs[r]={});var m=a.nextZero(i,o),w=a.readASCII(i,o,m-o),v=o+e-m-1;if("tEXt"==r)y=a.readASCII(i,m+1,v);else{var b=_inflate(i.slice(m+2,m+2+v));y=a.readUTF8(b,0,b.length)}l.tabs[r][w]=y}else if("iTXt"==r){null==l.tabs[r]&&(l.tabs[r]={});m=0,p=o;m=a.nextZero(i,p);w=a.readASCII(i,p,m-p);const t=i[p=m+1];var y;i[p+1],p+=2,m=a.nextZero(i,p),a.readASCII(i,p,m-p),p=m+1,m=a.nextZero(i,p),a.readUTF8(i,p,m-p);v=e-((p=m+1)-o);if(0==t)y=a.readUTF8(i,p,v);else{b=_inflate(i.slice(p,p+v));y=a.readUTF8(b,0,b.length)}l.tabs[r][w]=y}else if("PLTE"==r)l.tabs[r]=a.readBytes(i,o,e);else if("hIST"==r){const e=l.tabs.PLTE.length/3;l.tabs[r]=[];for(g=0;g<e;g++)l.tabs[r].push(s(i,o+2*g))}else if("tRNS"==r)3==l.ctype?l.tabs[r]=a.readBytes(i,o,e):0==l.ctype?l.tabs[r]=s(i,o):2==l.ctype&&(l.tabs[r]=[s(i,o),s(i,o+2),s(i,o+4)]);else if("gAMA"==r)l.tabs[r]=a.readUint(i,o)/1e5;else if("sRGB"==r)l.tabs[r]=i[o];else if("bKGD"==r)0==l.ctype||4==l.ctype?l.tabs[r]=[s(i,o)]:2==l.ctype||6==l.ctype?l.tabs[r]=[s(i,o),s(i,o+2),s(i,o+4)]:3==l.ctype&&(l.tabs[r]=i[o]);else if("IEND"==r)break;o+=e,a.readUint(i,o),o+=4}var E;return 0!=d&&((E=l.frames[l.frames.length-1]).data=_decompress(l,u.slice(0,d),E.rect.width,E.rect.height)),l.data=_decompress(l,c,l.width,l.height),delete l.compress,delete l.interlace,delete l.filter,l},toRGBA8:function toRGBA8(e){const t=e.width,r=e.height;if(null==e.tabs.acTL)return[decodeImage(e.data,t,r,e).buffer];const i=[];null==e.frames[0].data&&(e.frames[0].data=e.data);const o=t*r*4,a=new Uint8Array(o),s=new Uint8Array(o),f=new Uint8Array(o);for(let c=0;c<e.frames.length;c++){const u=e.frames[c],h=u.rect.x,d=u.rect.y,A=u.rect.width,g=u.rect.height,p=decodeImage(u.data,A,g,e);if(0!=c)for(var l=0;l<o;l++)f[l]=a[l];if(0==u.blend?_copyTile(p,A,g,a,t,r,h,d,0):1==u.blend&&_copyTile(p,A,g,a,t,r,h,d,1),i.push(a.buffer.slice(0)),0==u.dispose);else if(1==u.dispose)_copyTile(s,A,g,a,t,r,h,d,0);else if(2==u.dispose)for(l=0;l<o;l++)a[l]=f[l]}return i},_paeth:_paeth,_copyTile:_copyTile,_bin:e}}();!function(){const{_copyTile:e}=UPNG,{_bin:t}=UPNG,r=UPNG._paeth;var i={table:function(){const e=new Uint32Array(256);for(let t=0;t<256;t++){let r=t;for(let e=0;e<8;e++)1&r?r=3988292384^r>>>1:r>>>=1;e[t]=r}return e}(),update(e,t,r,o){for(let a=0;a<o;a++)e=i.table[255&(e^t[r+a])]^e>>>8;return e},crc:(e,t,r)=>4294967295^i.update(4294967295,e,t,r)};function addErr(e,t,r,i){t[r]+=e[0]*i>>4,t[r+1]+=e[1]*i>>4,t[r+2]+=e[2]*i>>4,t[r+3]+=e[3]*i>>4}function N(e){return Math.max(0,Math.min(255,e))}function D(e,t){const r=e[0]-t[0],i=e[1]-t[1],o=e[2]-t[2],a=e[3]-t[3];return r*r+i*i+o*o+a*a}function dither(e,t,r,i,o,a,s){null==s&&(s=1);const f=i.length,l=[];for(var c=0;c<f;c++){const e=i[c];l.push([e>>>0&255,e>>>8&255,e>>>16&255,e>>>24&255])}for(c=0;c<f;c++){let e=4294967295;for(var u=0,h=0;h<f;h++){var d=D(l[c],l[h]);h!=c&&d<e&&(e=d,u=h)}}const A=new Uint32Array(o.buffer),g=new Int16Array(t*r*4),p=[0,8,2,10,12,4,14,6,3,11,1,9,15,7,13,5];for(c=0;c<p.length;c++)p[c]=255*((p[c]+.5)/16-.5);for(let o=0;o<r;o++)for(let w=0;w<t;w++){var m;c=4*(o*t+w);if(2!=s)m=[N(e[c]+g[c]),N(e[c+1]+g[c+1]),N(e[c+2]+g[c+2]),N(e[c+3]+g[c+3])];else{d=p[4*(3&o)+(3&w)];m=[N(e[c]+d),N(e[c+1]+d),N(e[c+2]+d),N(e[c+3]+d)]}u=0;let v=16777215;for(h=0;h<f;h++){const e=D(m,l[h]);e<v&&(v=e,u=h)}const b=l[u],y=[m[0]-b[0],m[1]-b[1],m[2]-b[2],m[3]-b[3]];1==s&&(w!=t-1&&addErr(y,g,c+4,7),o!=r-1&&(0!=w&&addErr(y,g,c+4*t-4,3),addErr(y,g,c+4*t,5),w!=t-1&&addErr(y,g,c+4*t+4,1))),a[c>>2]=u,A[c>>2]=i[u]}}function _main(e,r,o,a,s){null==s&&(s={});const{crc:f}=i,l=t.writeUint,c=t.writeUshort,u=t.writeASCII;let h=8;const d=e.frames.length>1;let A,g=!1,p=33+(d?20:0);if(null!=s.sRGB&&(p+=13),null!=s.pHYs&&(p+=21),null!=s.iCCP&&(A=pako.deflate(s.iCCP),p+=21+A.length+4),3==e.ctype){for(var m=e.plte.length,w=0;w<m;w++)e.plte[w]>>>24!=255&&(g=!0);p+=8+3*m+4+(g?8+1*m+4:0)}for(var v=0;v<e.frames.length;v++){d&&(p+=38),p+=(F=e.frames[v]).cimg.length+12,0!=v&&(p+=4)}p+=12;const b=new Uint8Array(p),y=[137,80,78,71,13,10,26,10];for(w=0;w<8;w++)b[w]=y[w];if(l(b,h,13),h+=4,u(b,h,"IHDR"),h+=4,l(b,h,r),h+=4,l(b,h,o),h+=4,b[h]=e.depth,h++,b[h]=e.ctype,h++,b[h]=0,h++,b[h]=0,h++,b[h]=0,h++,l(b,h,f(b,h-17,17)),h+=4,null!=s.sRGB&&(l(b,h,1),h+=4,u(b,h,"sRGB"),h+=4,b[h]=s.sRGB,h++,l(b,h,f(b,h-5,5)),h+=4),null!=s.iCCP){const e=13+A.length;l(b,h,e),h+=4,u(b,h,"iCCP"),h+=4,u(b,h,"ICC profile"),h+=11,h+=2,b.set(A,h),h+=A.length,l(b,h,f(b,h-(e+4),e+4)),h+=4}if(null!=s.pHYs&&(l(b,h,9),h+=4,u(b,h,"pHYs"),h+=4,l(b,h,s.pHYs[0]),h+=4,l(b,h,s.pHYs[1]),h+=4,b[h]=s.pHYs[2],h++,l(b,h,f(b,h-13,13)),h+=4),d&&(l(b,h,8),h+=4,u(b,h,"acTL"),h+=4,l(b,h,e.frames.length),h+=4,l(b,h,null!=s.loop?s.loop:0),h+=4,l(b,h,f(b,h-12,12)),h+=4),3==e.ctype){l(b,h,3*(m=e.plte.length)),h+=4,u(b,h,"PLTE"),h+=4;for(w=0;w<m;w++){const t=3*w,r=e.plte[w],i=255&r,o=r>>>8&255,a=r>>>16&255;b[h+t+0]=i,b[h+t+1]=o,b[h+t+2]=a}if(h+=3*m,l(b,h,f(b,h-3*m-4,3*m+4)),h+=4,g){l(b,h,m),h+=4,u(b,h,"tRNS"),h+=4;for(w=0;w<m;w++)b[h+w]=e.plte[w]>>>24&255;h+=m,l(b,h,f(b,h-m-4,m+4)),h+=4}}let E=0;for(v=0;v<e.frames.length;v++){var F=e.frames[v];d&&(l(b,h,26),h+=4,u(b,h,"fcTL"),h+=4,l(b,h,E++),h+=4,l(b,h,F.rect.width),h+=4,l(b,h,F.rect.height),h+=4,l(b,h,F.rect.x),h+=4,l(b,h,F.rect.y),h+=4,c(b,h,a[v]),h+=2,c(b,h,1e3),h+=2,b[h]=F.dispose,h++,b[h]=F.blend,h++,l(b,h,f(b,h-30,30)),h+=4);const t=F.cimg;l(b,h,(m=t.length)+(0==v?0:4)),h+=4;const r=h;u(b,h,0==v?"IDAT":"fdAT"),h+=4,0!=v&&(l(b,h,E++),h+=4),b.set(t,h),h+=m,l(b,h,f(b,r,h-r)),h+=4}return l(b,h,0),h+=4,u(b,h,"IEND"),h+=4,l(b,h,f(b,h-4,4)),h+=4,b.buffer}function compressPNG(e,t,r){for(let i=0;i<e.frames.length;i++){const o=e.frames[i];o.rect.width;const a=o.rect.height,s=new Uint8Array(a*o.bpl+a);o.cimg=_filterZero(o.img,a,o.bpp,o.bpl,s,t,r)}}function compress(t,r,i,o,a){const s=a[0],f=a[1],l=a[2],c=a[3],u=a[4],h=a[5];let d=6,A=8,g=255;for(var p=0;p<t.length;p++){const e=new Uint8Array(t[p]);for(var m=e.length,w=0;w<m;w+=4)g&=e[w+3]}const v=255!=g,b=function framize(t,r,i,o,a,s){const f=[];for(var l=0;l<t.length;l++){const h=new Uint8Array(t[l]),A=new Uint32Array(h.buffer);var c;let g=0,p=0,m=r,w=i,v=o?1:0;if(0!=l){const b=s||o||1==l||0!=f[l-2].dispose?1:2;let y=0,E=1e9;for(let e=0;e<b;e++){var u=new Uint8Array(t[l-1-e]);const o=new Uint32Array(t[l-1-e]);let s=r,f=i,c=-1,h=-1;for(let e=0;e<i;e++)for(let t=0;t<r;t++){A[d=e*r+t]!=o[d]&&(t<s&&(s=t),t>c&&(c=t),e<f&&(f=e),e>h&&(h=e))}-1==c&&(s=f=c=h=0),a&&(1==(1&s)&&s--,1==(1&f)&&f--);const v=(c-s+1)*(h-f+1);v<E&&(E=v,y=e,g=s,p=f,m=c-s+1,w=h-f+1)}u=new Uint8Array(t[l-1-y]);1==y&&(f[l-1].dispose=2),c=new Uint8Array(m*w*4),e(u,r,i,c,m,w,-g,-p,0),v=e(h,r,i,c,m,w,-g,-p,3)?1:0,1==v?_prepareDiff(h,r,i,c,{x:g,y:p,width:m,height:w}):e(h,r,i,c,m,w,-g,-p,0)}else c=h.slice(0);f.push({rect:{x:g,y:p,width:m,height:w},img:c,blend:v,dispose:0})}if(o)for(l=0;l<f.length;l++){if(1==(A=f[l]).blend)continue;const e=A.rect,o=f[l-1].rect,s=Math.min(e.x,o.x),c=Math.min(e.y,o.y),u={x:s,y:c,width:Math.max(e.x+e.width,o.x+o.width)-s,height:Math.max(e.y+e.height,o.y+o.height)-c};f[l-1].dispose=1,l-1!=0&&_updateFrame(t,r,i,f,l-1,u,a),_updateFrame(t,r,i,f,l,u,a)}let h=0;if(1!=t.length)for(var d=0;d<f.length;d++){var A;h+=(A=f[d]).rect.width*A.rect.height}return f}(t,r,i,s,f,l),y={},E=[],F=[];if(0!=o){const e=[];for(w=0;w<b.length;w++)e.push(b[w].img.buffer);const t=function concatRGBA(e){let t=0;for(var r=0;r<e.length;r++)t+=e[r].byteLength;const i=new Uint8Array(t);let o=0;for(r=0;r<e.length;r++){const t=new Uint8Array(e[r]),a=t.length;for(let e=0;e<a;e+=4){let r=t[e],a=t[e+1],s=t[e+2];const f=t[e+3];0==f&&(r=a=s=0),i[o+e]=r,i[o+e+1]=a,i[o+e+2]=s,i[o+e+3]=f}o+=a}return i.buffer}(e),r=quantize(t,o);for(w=0;w<r.plte.length;w++)E.push(r.plte[w].est.rgba);let i=0;for(w=0;w<b.length;w++){const e=(B=b[w]).img.length;var _=new Uint8Array(r.inds.buffer,i>>2,e>>2);F.push(_);const t=new Uint8Array(r.abuf,i,e);h&&dither(B.img,B.rect.width,B.rect.height,E,t,_),B.img.set(t),i+=e}}else for(p=0;p<b.length;p++){var B=b[p];const e=new Uint32Array(B.img.buffer);var U=B.rect.width;m=e.length,_=new Uint8Array(m);F.push(_);for(w=0;w<m;w++){const t=e[w];if(0!=w&&t==e[w-1])_[w]=_[w-1];else if(w>U&&t==e[w-U])_[w]=_[w-U];else{let e=y[t];if(null==e&&(y[t]=e=E.length,E.push(t),E.length>=300))break;_[w]=e}}}const C=E.length;C<=256&&0==u&&(A=C<=2?1:C<=4?2:C<=16?4:8,A=Math.max(A,c));for(p=0;p<b.length;p++){(B=b[p]).rect.x,B.rect.y;U=B.rect.width;const e=B.rect.height;let t=B.img;new Uint32Array(t.buffer);let r=4*U,i=4;if(C<=256&&0==u){r=Math.ceil(A*U/8);var I=new Uint8Array(r*e);const o=F[p];for(let t=0;t<e;t++){w=t*r;const e=t*U;if(8==A)for(var Q=0;Q<U;Q++)I[w+Q]=o[e+Q];else if(4==A)for(Q=0;Q<U;Q++)I[w+(Q>>1)]|=o[e+Q]<<4-4*(1&Q);else if(2==A)for(Q=0;Q<U;Q++)I[w+(Q>>2)]|=o[e+Q]<<6-2*(3&Q);else if(1==A)for(Q=0;Q<U;Q++)I[w+(Q>>3)]|=o[e+Q]<<7-1*(7&Q)}t=I,d=3,i=1}else if(0==v&&1==b.length){I=new Uint8Array(U*e*3);const o=U*e;for(w=0;w<o;w++){const e=3*w,r=4*w;I[e]=t[r],I[e+1]=t[r+1],I[e+2]=t[r+2]}t=I,d=2,i=3,r=3*U}B.img=t,B.bpl=r,B.bpp=i}return{ctype:d,depth:A,plte:E,frames:b}}function _updateFrame(t,r,i,o,a,s,f){const l=Uint8Array,c=Uint32Array,u=new l(t[a-1]),h=new c(t[a-1]),d=a+1<t.length?new l(t[a+1]):null,A=new l(t[a]),g=new c(A.buffer);let p=r,m=i,w=-1,v=-1;for(let e=0;e<s.height;e++)for(let t=0;t<s.width;t++){const i=s.x+t,f=s.y+e,l=f*r+i,c=g[l];0==c||0==o[a-1].dispose&&h[l]==c&&(null==d||0!=d[4*l+3])||(i<p&&(p=i),i>w&&(w=i),f<m&&(m=f),f>v&&(v=f))}-1==w&&(p=m=w=v=0),f&&(1==(1&p)&&p--,1==(1&m)&&m--),s={x:p,y:m,width:w-p+1,height:v-m+1};const b=o[a];b.rect=s,b.blend=1,b.img=new Uint8Array(s.width*s.height*4),0==o[a-1].dispose?(e(u,r,i,b.img,s.width,s.height,-s.x,-s.y,0),_prepareDiff(A,r,i,b.img,s)):e(A,r,i,b.img,s.width,s.height,-s.x,-s.y,0)}function _prepareDiff(t,r,i,o,a){e(t,r,i,o,a.width,a.height,-a.x,-a.y,2)}function _filterZero(e,t,r,i,o,a,s){const f=[];let l,c=[0,1,2,3,4];-1!=a?c=[a]:(t*i>5e5||1==r)&&(c=[0]),s&&(l={level:0});const u=UZIP;for(var h=0;h<c.length;h++){for(let a=0;a<t;a++)_filterLine(o,e,a,i,r,c[h]);f.push(u.deflate(o,l))}let d,A=1e9;for(h=0;h<f.length;h++)f[h].length<A&&(d=h,A=f[h].length);return f[d]}function _filterLine(e,t,i,o,a,s){const f=i*o;let l=f+i;if(e[l]=s,l++,0==s)if(o<500)for(var c=0;c<o;c++)e[l+c]=t[f+c];else e.set(new Uint8Array(t.buffer,f,o),l);else if(1==s){for(c=0;c<a;c++)e[l+c]=t[f+c];for(c=a;c<o;c++)e[l+c]=t[f+c]-t[f+c-a]+256&255}else if(0==i){for(c=0;c<a;c++)e[l+c]=t[f+c];if(2==s)for(c=a;c<o;c++)e[l+c]=t[f+c];if(3==s)for(c=a;c<o;c++)e[l+c]=t[f+c]-(t[f+c-a]>>1)+256&255;if(4==s)for(c=a;c<o;c++)e[l+c]=t[f+c]-r(t[f+c-a],0,0)+256&255}else{if(2==s)for(c=0;c<o;c++)e[l+c]=t[f+c]+256-t[f+c-o]&255;if(3==s){for(c=0;c<a;c++)e[l+c]=t[f+c]+256-(t[f+c-o]>>1)&255;for(c=a;c<o;c++)e[l+c]=t[f+c]+256-(t[f+c-o]+t[f+c-a]>>1)&255}if(4==s){for(c=0;c<a;c++)e[l+c]=t[f+c]+256-r(0,t[f+c-o],0)&255;for(c=a;c<o;c++)e[l+c]=t[f+c]+256-r(t[f+c-a],t[f+c-o],t[f+c-a-o])&255}}}function quantize(e,t){const r=new Uint8Array(e),i=r.slice(0),o=new Uint32Array(i.buffer),a=getKDtree(i,t),s=a[0],f=a[1],l=r.length,c=new Uint8Array(l>>2);let u;if(r.length<2e7)for(var h=0;h<l;h+=4){u=getNearest(s,d=r[h]*(1/255),A=r[h+1]*(1/255),g=r[h+2]*(1/255),p=r[h+3]*(1/255)),c[h>>2]=u.ind,o[h>>2]=u.est.rgba}else for(h=0;h<l;h+=4){var d=r[h]*(1/255),A=r[h+1]*(1/255),g=r[h+2]*(1/255),p=r[h+3]*(1/255);for(u=s;u.left;)u=planeDst(u.est,d,A,g,p)<=0?u.left:u.right;c[h>>2]=u.ind,o[h>>2]=u.est.rgba}return{abuf:i.buffer,inds:c,plte:f}}function getKDtree(e,t,r){null==r&&(r=1e-4);const i=new Uint32Array(e.buffer),o={i0:0,i1:e.length,bst:null,est:null,tdst:0,left:null,right:null};o.bst=stats(e,o.i0,o.i1),o.est=estats(o.bst);const a=[o];for(;a.length<t;){let t=0,o=0;for(var s=0;s<a.length;s++)a[s].est.L>t&&(t=a[s].est.L,o=s);if(t<r)break;const f=a[o],l=splitPixels(e,i,f.i0,f.i1,f.est.e,f.est.eMq255);if(f.i0>=l||f.i1<=l){f.est.L=0;continue}const c={i0:f.i0,i1:l,bst:null,est:null,tdst:0,left:null,right:null};c.bst=stats(e,c.i0,c.i1),c.est=estats(c.bst);const u={i0:l,i1:f.i1,bst:null,est:null,tdst:0,left:null,right:null};u.bst={R:[],m:[],N:f.bst.N-c.bst.N};for(s=0;s<16;s++)u.bst.R[s]=f.bst.R[s]-c.bst.R[s];for(s=0;s<4;s++)u.bst.m[s]=f.bst.m[s]-c.bst.m[s];u.est=estats(u.bst),f.left=c,f.right=u,a[o]=c,a.push(u)}a.sort(((e,t)=>t.bst.N-e.bst.N));for(s=0;s<a.length;s++)a[s].ind=s;return[o,a]}function getNearest(e,t,r,i,o){if(null==e.left)return e.tdst=function dist(e,t,r,i,o){const a=t-e[0],s=r-e[1],f=i-e[2],l=o-e[3];return a*a+s*s+f*f+l*l}(e.est.q,t,r,i,o),e;const a=planeDst(e.est,t,r,i,o);let s=e.left,f=e.right;a>0&&(s=e.right,f=e.left);const l=getNearest(s,t,r,i,o);if(l.tdst<=a*a)return l;const c=getNearest(f,t,r,i,o);return c.tdst<l.tdst?c:l}function planeDst(e,t,r,i,o){const{e:a}=e;return a[0]*t+a[1]*r+a[2]*i+a[3]*o-e.eMq}function splitPixels(e,t,r,i,o,a){for(i-=4;r<i;){for(;vecDot(e,r,o)<=a;)r+=4;for(;vecDot(e,i,o)>a;)i-=4;if(r>=i)break;const s=t[r>>2];t[r>>2]=t[i>>2],t[i>>2]=s,r+=4,i-=4}for(;vecDot(e,r,o)>a;)r-=4;return r+4}function vecDot(e,t,r){return e[t]*r[0]+e[t+1]*r[1]+e[t+2]*r[2]+e[t+3]*r[3]}function stats(e,t,r){const i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],o=[0,0,0,0],a=r-t>>2;for(let a=t;a<r;a+=4){const t=e[a]*(1/255),r=e[a+1]*(1/255),s=e[a+2]*(1/255),f=e[a+3]*(1/255);o[0]+=t,o[1]+=r,o[2]+=s,o[3]+=f,i[0]+=t*t,i[1]+=t*r,i[2]+=t*s,i[3]+=t*f,i[5]+=r*r,i[6]+=r*s,i[7]+=r*f,i[10]+=s*s,i[11]+=s*f,i[15]+=f*f}return i[4]=i[1],i[8]=i[2],i[9]=i[6],i[12]=i[3],i[13]=i[7],i[14]=i[11],{R:i,m:o,N:a}}function estats(e){const{R:t}=e,{m:r}=e,{N:i}=e,a=r[0],s=r[1],f=r[2],l=r[3],c=0==i?0:1/i,u=[t[0]-a*a*c,t[1]-a*s*c,t[2]-a*f*c,t[3]-a*l*c,t[4]-s*a*c,t[5]-s*s*c,t[6]-s*f*c,t[7]-s*l*c,t[8]-f*a*c,t[9]-f*s*c,t[10]-f*f*c,t[11]-f*l*c,t[12]-l*a*c,t[13]-l*s*c,t[14]-l*f*c,t[15]-l*l*c],h=u,d=o;let A=[Math.random(),Math.random(),Math.random(),Math.random()],g=0,p=0;if(0!=i)for(let e=0;e<16&&(A=d.multVec(h,A),p=Math.sqrt(d.dot(A,A)),A=d.sml(1/p,A),!(0!=e&&Math.abs(p-g)<1e-9));e++)g=p;const m=[a*c,s*c,f*c,l*c];return{Cov:u,q:m,e:A,L:g,eMq255:d.dot(d.sml(255,m),A),eMq:d.dot(A,m),rgba:(Math.round(255*m[3])<<24|Math.round(255*m[2])<<16|Math.round(255*m[1])<<8|Math.round(255*m[0])<<0)>>>0}}var o={multVec:(e,t)=>[e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],e[4]*t[0]+e[5]*t[1]+e[6]*t[2]+e[7]*t[3],e[8]*t[0]+e[9]*t[1]+e[10]*t[2]+e[11]*t[3],e[12]*t[0]+e[13]*t[1]+e[14]*t[2]+e[15]*t[3]],dot:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],sml:(e,t)=>[e*t[0],e*t[1],e*t[2],e*t[3]]};UPNG.encode=function encode(e,t,r,i,o,a,s){null==i&&(i=0),null==s&&(s=!1);const f=compress(e,t,r,i,[!1,!1,!1,0,s,!1]);return compressPNG(f,-1),_main(f,t,r,o,a)},UPNG.encodeLL=function encodeLL(e,t,r,i,o,a,s,f){const l={ctype:0+(1==i?0:2)+(0==o?0:4),depth:a,frames:[]},c=(i+o)*a,u=c*t;for(let i=0;i<e.length;i++)l.frames.push({rect:{x:0,y:0,width:t,height:r},img:new Uint8Array(e[i]),blend:0,dispose:1,bpp:Math.ceil(c/8),bpl:Math.ceil(u/8)});return compressPNG(l,0,!0),_main(l,t,r,s,f)},UPNG.encode.compress=compress,UPNG.encode.dither=dither,UPNG.quantize=quantize,UPNG.quantize.getKDtree=getKDtree,UPNG.quantize.getNearest=getNearest}();const t={toArrayBuffer(e,r){const i=e.width,o=e.height,a=i<<2,s=e.getContext("2d").getImageData(0,0,i,o),f=new Uint32Array(s.data.buffer),l=(32*i+31)/32<<2,c=l*o,u=122+c,h=new ArrayBuffer(u),d=new DataView(h),A=1<<20;let g,p,m,w,v=A,b=0,y=0,E=0;function set16(e){d.setUint16(y,e,!0),y+=2}function set32(e){d.setUint32(y,e,!0),y+=4}function seek(e){y+=e}set16(19778),set32(u),seek(4),set32(122),set32(108),set32(i),set32(-o>>>0),set16(1),set16(32),set32(3),set32(c),set32(2835),set32(2835),seek(8),set32(16711680),set32(65280),set32(255),set32(4278190080),set32(1466527264),function convert(){for(;b<o&&v>0;){for(w=122+b*l,g=0;g<a;)v--,p=f[E++],m=p>>>24,d.setUint32(w+g,p<<8|m),g+=4;b++}E<f.length?(v=A,setTimeout(convert,t._dly)):r(h)}()},toBlob(e,t){this.toArrayBuffer(e,(e=>{t(new Blob([e],{type:"image/bmp"}))}))},_dly:9};var r={CHROME:"CHROME",FIREFOX:"FIREFOX",DESKTOP_SAFARI:"DESKTOP_SAFARI",IE:"IE",IOS:"IOS",ETC:"ETC"},i={[r.CHROME]:16384,[r.FIREFOX]:11180,[r.DESKTOP_SAFARI]:16384,[r.IE]:8192,[r.IOS]:4096,[r.ETC]:8192};const o="undefined"!=typeof window,a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,s=o&&window.cordova&&window.cordova.require&&window.cordova.require("cordova/modulemapper"),CustomFile=(o||a)&&(s&&s.getOriginalSymbol(window,"File")||"undefined"!=typeof File&&File),CustomFileReader=(o||a)&&(s&&s.getOriginalSymbol(window,"FileReader")||"undefined"!=typeof FileReader&&FileReader);function getFilefromDataUrl(e,t,r=Date.now()){return new Promise((i=>{const o=e.split(","),a=o[0].match(/:(.*?);/)[1],s=globalThis.atob(o[1]);let f=s.length;const l=new Uint8Array(f);for(;f--;)l[f]=s.charCodeAt(f);const c=new Blob([l],{type:a});c.name=t,c.lastModified=r,i(c)}))}function getDataUrlFromFile(e){return new Promise(((t,r)=>{const i=new CustomFileReader;i.onload=()=>t(i.result),i.onerror=e=>r(e),i.readAsDataURL(e)}))}function loadImage(e){return new Promise(((t,r)=>{const i=new Image;i.onload=()=>t(i),i.onerror=e=>r(e),i.src=e}))}function getBrowserName(){if(void 0!==getBrowserName.cachedResult)return getBrowserName.cachedResult;let e=r.ETC;const{userAgent:t}=navigator;return/Chrom(e|ium)/i.test(t)?e=r.CHROME:/iP(ad|od|hone)/i.test(t)&&/WebKit/i.test(t)?e=r.IOS:/Safari/i.test(t)?e=r.DESKTOP_SAFARI:/Firefox/i.test(t)?e=r.FIREFOX:(/MSIE/i.test(t)||!0==!!document.documentMode)&&(e=r.IE),getBrowserName.cachedResult=e,getBrowserName.cachedResult}function approximateBelowMaximumCanvasSizeOfBrowser(e,t){const r=getBrowserName(),o=i[r];let a=e,s=t,f=a*s;const l=a>s?s/a:a/s;for(;f>o*o;){const e=(o+a)/2,t=(o+s)/2;e<t?(s=t,a=t*l):(s=e*l,a=e),f=a*s}return{width:a,height:s}}function getNewCanvasAndCtx(e,t){let r,i;try{if(r=new OffscreenCanvas(e,t),i=r.getContext("2d"),null===i)throw new Error("getContext of OffscreenCanvas returns null")}catch(e){r=document.createElement("canvas"),i=r.getContext("2d")}return r.width=e,r.height=t,[r,i]}function drawImageInCanvas(e,t){const{width:r,height:i}=approximateBelowMaximumCanvasSizeOfBrowser(e.width,e.height),[o,a]=getNewCanvasAndCtx(r,i);return t&&/jpe?g/.test(t)&&(a.fillStyle="white",a.fillRect(0,0,o.width,o.height)),a.drawImage(e,0,0,o.width,o.height),o}function isIOS(){return void 0!==isIOS.cachedResult||(isIOS.cachedResult=["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"undefined"!=typeof document&&"ontouchend"in document),isIOS.cachedResult}function drawFileInCanvas(e,t={}){return new Promise((function(i,o){let a,s;var $Try_2_Post=function(){try{return s=drawImageInCanvas(a,t.fileType||e.type),i([a,s])}catch(e){return o(e)}},$Try_2_Catch=function(t){try{0;var $Try_3_Catch=function(e){try{throw e}catch(e){return o(e)}};try{let t;return getDataUrlFromFile(e).then((function(e){try{return t=e,loadImage(t).then((function(e){try{return a=e,function(){try{return $Try_2_Post()}catch(e){return o(e)}}()}catch(e){return $Try_3_Catch(e)}}),$Try_3_Catch)}catch(e){return $Try_3_Catch(e)}}),$Try_3_Catch)}catch(e){$Try_3_Catch(e)}}catch(e){return o(e)}};try{if(isIOS()||[r.DESKTOP_SAFARI,r.MOBILE_SAFARI].includes(getBrowserName()))throw new Error("Skip createImageBitmap on IOS and Safari");return createImageBitmap(e).then((function(e){try{return a=e,$Try_2_Post()}catch(e){return $Try_2_Catch()}}),$Try_2_Catch)}catch(e){$Try_2_Catch()}}))}function canvasToFile(e,r,i,o,a=1){return new Promise((function(s,f){let l;if("image/png"===r){let c,u,h;return c=e.getContext("2d"),({data:u}=c.getImageData(0,0,e.width,e.height)),h=UPNG.encode([u.buffer],e.width,e.height,4096*a),l=new Blob([h],{type:r}),l.name=i,l.lastModified=o,$If_4.call(this)}{if("image/bmp"===r)return new Promise((r=>t.toBlob(e,r))).then(function(e){try{return l=e,l.name=i,l.lastModified=o,$If_5.call(this)}catch(e){return f(e)}}.bind(this),f);{if("function"==typeof OffscreenCanvas&&e instanceof OffscreenCanvas)return e.convertToBlob({type:r,quality:a}).then(function(e){try{return l=e,l.name=i,l.lastModified=o,$If_6.call(this)}catch(e){return f(e)}}.bind(this),f);{let d;return d=e.toDataURL(r,a),getFilefromDataUrl(d,i,o).then(function(e){try{return l=e,$If_6.call(this)}catch(e){return f(e)}}.bind(this),f)}function $If_6(){return $If_5.call(this)}}function $If_5(){return $If_4.call(this)}}function $If_4(){return s(l)}}))}function cleanupCanvasMemory(e){e.width=0,e.height=0}function isAutoOrientationInBrowser(){return new Promise((function(e,t){let r,i,o,a,s;return void 0!==isAutoOrientationInBrowser.cachedResult?e(isAutoOrientationInBrowser.cachedResult):(r="data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==",getFilefromDataUrl("data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==","test.jpg",Date.now()).then((function(r){try{return i=r,drawFileInCanvas(i).then((function(r){try{return o=r[1],canvasToFile(o,i.type,i.name,i.lastModified).then((function(r){try{return a=r,cleanupCanvasMemory(o),drawFileInCanvas(a).then((function(r){try{return s=r[0],isAutoOrientationInBrowser.cachedResult=1===s.width&&2===s.height,e(isAutoOrientationInBrowser.cachedResult)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t))}))}function getExifOrientation(e){return new Promise(((t,r)=>{const i=new CustomFileReader;i.onload=e=>{const r=new DataView(e.target.result);if(65496!=r.getUint16(0,!1))return t(-2);const i=r.byteLength;let o=2;for(;o<i;){if(r.getUint16(o+2,!1)<=8)return t(-1);const e=r.getUint16(o,!1);if(o+=2,65505==e){if(1165519206!=r.getUint32(o+=2,!1))return t(-1);const e=18761==r.getUint16(o+=6,!1);o+=r.getUint32(o+4,e);const i=r.getUint16(o,e);o+=2;for(let a=0;a<i;a++)if(274==r.getUint16(o+12*a,e))return t(r.getUint16(o+12*a+8,e))}else{if(65280!=(65280&e))break;o+=r.getUint16(o,!1)}}return t(-1)},i.onerror=e=>r(e),i.readAsArrayBuffer(e)}))}function handleMaxWidthOrHeight(e,t){const{width:r}=e,{height:i}=e,{maxWidthOrHeight:o}=t;let a,s=e;return isFinite(o)&&(r>o||i>o)&&([s,a]=getNewCanvasAndCtx(r,i),r>i?(s.width=o,s.height=i/r*o):(s.width=r/i*o,s.height=o),a.drawImage(e,0,0,s.width,s.height),cleanupCanvasMemory(e)),s}function followExifOrientation(e,t){const{width:r}=e,{height:i}=e,[o,a]=getNewCanvasAndCtx(r,i);switch(t>4&&t<9?(o.width=i,o.height=r):(o.width=r,o.height=i),t){case 2:a.transform(-1,0,0,1,r,0);break;case 3:a.transform(-1,0,0,-1,r,i);break;case 4:a.transform(1,0,0,-1,0,i);break;case 5:a.transform(0,1,1,0,0,0);break;case 6:a.transform(0,1,-1,0,i,0);break;case 7:a.transform(0,-1,-1,0,i,r);break;case 8:a.transform(0,-1,1,0,0,r)}return a.drawImage(e,0,0,r,i),cleanupCanvasMemory(e),o}function compress(e,t,r=0){return new Promise((function(i,o){let a,s,f,l,c,u,h,d,A,g,p,m,w,v,b,y,E,F,_,B;function incProgress(e=5){if(t.signal&&t.signal.aborted)throw t.signal.reason;a+=e,t.onProgress(Math.min(a,100))}function setProgress(e){if(t.signal&&t.signal.aborted)throw t.signal.reason;a=Math.min(Math.max(e,a),100),t.onProgress(a)}return a=r,s=t.maxIteration||10,f=1024*t.maxSizeMB*1024,incProgress(),drawFileInCanvas(e,t).then(function(r){try{return[,l]=r,incProgress(),c=handleMaxWidthOrHeight(l,t),incProgress(),new Promise((function(r,i){var o;if(!(o=t.exifOrientation))return getExifOrientation(e).then(function(e){try{return o=e,$If_2.call(this)}catch(e){return i(e)}}.bind(this),i);function $If_2(){return r(o)}return $If_2.call(this)})).then(function(r){try{return u=r,incProgress(),isAutoOrientationInBrowser().then(function(r){try{return h=r?c:followExifOrientation(c,u),incProgress(),d=t.initialQuality||1,A=t.fileType||e.type,canvasToFile(h,A,e.name,e.lastModified,d).then(function(r){try{{if(g=r,incProgress(),p=g.size>f,m=g.size>e.size,!p&&!m)return setProgress(100),i(g);var a;function $Loop_3(){if(s--&&(b>f||b>w)){let t,r;return t=B?.95*_.width:_.width,r=B?.95*_.height:_.height,[E,F]=getNewCanvasAndCtx(t,r),F.drawImage(_,0,0,t,r),d*="image/png"===A?.85:.95,canvasToFile(E,A,e.name,e.lastModified,d).then((function(e){try{return y=e,cleanupCanvasMemory(_),_=E,b=y.size,setProgress(Math.min(99,Math.floor((v-b)/(v-f)*100))),$Loop_3}catch(e){return o(e)}}),o)}return[1]}return w=e.size,v=g.size,b=v,_=h,B=!t.alwaysKeepResolution&&p,(a=function(e){for(;e;){if(e.then)return void e.then(a,o);try{if(e.pop){if(e.length)return e.pop()?$Loop_3_exit.call(this):e;e=$Loop_3}else e=e.call(this)}catch(e){return o(e)}}}.bind(this))($Loop_3);function $Loop_3_exit(){return cleanupCanvasMemory(_),cleanupCanvasMemory(E),cleanupCanvasMemory(c),cleanupCanvasMemory(h),cleanupCanvasMemory(l),setProgress(100),i(y)}}}catch(u){return o(u)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}))}const f="\nlet scriptImported = false\nself.addEventListener('message', async (e) => {\n const { file, id, imageCompressionLibUrl, options } = e.data\n options.onProgress = (progress) => self.postMessage({ progress, id })\n try {\n if (!scriptImported) {\n // console.log('[worker] importScripts', imageCompressionLibUrl)\n self.importScripts(imageCompressionLibUrl)\n scriptImported = true\n }\n // console.log('[worker] self', self)\n const compressedFile = await imageCompression(file, options)\n self.postMessage({ file: compressedFile, id })\n } catch (e) {\n // console.error('[worker] error', e)\n self.postMessage({ error: e.message + '\\n' + e.stack, id })\n }\n})\n";let l;function compressOnWebWorker(e,t){return new Promise(((r,i)=>{l||(l=function createWorkerScriptURL(e){const t=[];return"function"==typeof e?t.push(`(${e})()`):t.push(e),URL.createObjectURL(new Blob(t))}(f));const o=new Worker(l);o.addEventListener("message",(function handler(e){if(t.signal&&t.signal.aborted)o.terminate();else if(void 0===e.data.progress){if(e.data.error)return i(new Error(e.data.error)),void o.terminate();r(e.data.file),o.terminate()}else t.onProgress(e.data.progress)})),o.addEventListener("error",i),t.signal&&t.signal.addEventListener("abort",(()=>{i(t.signal.reason),o.terminate()})),o.postMessage({file:e,imageCompressionLibUrl:t.libURL,options:{...t,onProgress:void 0,signal:void 0}})}))}function imageCompression(e,t){return new Promise((function(r,i){let o,a,s,f,l,c;if(o={...t},s=0,({onProgress:f}=o),o.maxSizeMB=o.maxSizeMB||Number.POSITIVE_INFINITY,l="boolean"!=typeof o.useWebWorker||o.useWebWorker,delete o.useWebWorker,o.onProgress=e=>{s=e,"function"==typeof f&&f(s)},!(e instanceof Blob||e instanceof CustomFile))return i(new Error("The file given is not an instance of Blob or File"));if(!/^image/.test(e.type))return i(new Error("The file given is not an image"));if(c="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,!l||"function"!=typeof Worker||c)return compress(e,o).then(function(e){try{return a=e,$If_4.call(this)}catch(e){return i(e)}}.bind(this),i);var u=function(){try{return $If_4.call(this)}catch(e){return i(e)}}.bind(this),$Try_1_Catch=function(t){try{return compress(e,o).then((function(e){try{return a=e,u()}catch(e){return i(e)}}),i)}catch(e){return i(e)}};try{return o.libURL=o.libURL||"https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js",compressOnWebWorker(e,o).then((function(e){try{return a=e,u()}catch(e){return $Try_1_Catch()}}),$Try_1_Catch)}catch(e){$Try_1_Catch()}function $If_4(){try{a.name=e.name,a.lastModified=e.lastModified}catch(e){}try{o.preserveExif&&"image/jpeg"===e.type&&(!o.fileType||o.fileType&&o.fileType===e.type)&&(a=copyExifWithoutOrientation(e,a))}catch(e){}return r(a)}}))}return imageCompression.getDataUrlFromFile=getDataUrlFromFile,imageCompression.getFilefromDataUrl=getFilefromDataUrl,imageCompression.loadImage=loadImage,imageCompression.drawImageInCanvas=drawImageInCanvas,imageCompression.drawFileInCanvas=drawFileInCanvas,imageCompression.canvasToFile=canvasToFile,imageCompression.getExifOrientation=getExifOrientation,imageCompression.handleMaxWidthOrHeight=handleMaxWidthOrHeight,imageCompression.followExifOrientation=followExifOrientation,imageCompression.cleanupCanvasMemory=cleanupCanvasMemory,imageCompression.isAutoOrientationInBrowser=isAutoOrientationInBrowser,imageCompression.approximateBelowMaximumCanvasSizeOfBrowser=approximateBelowMaximumCanvasSizeOfBrowser,imageCompression.copyExifWithoutOrientation=copyExifWithoutOrientation,imageCompression.getBrowserName=getBrowserName,imageCompression.version="2.0.2",imageCompression}));
|
|
8
|
+
!(function (e, t) {
|
|
9
|
+
'object' == typeof exports && 'undefined' != typeof module ? (module.exports = t())
|
|
10
|
+
: 'function' == typeof define && define.amd ? define(t)
|
|
11
|
+
: ((e = 'undefined' != typeof globalThis ? globalThis : e || self).imageCompression = t());
|
|
12
|
+
})(this, function () {
|
|
13
|
+
'use strict';
|
|
14
|
+
function _mergeNamespaces(e, t) {
|
|
15
|
+
return (
|
|
16
|
+
t.forEach(function (t) {
|
|
17
|
+
t &&
|
|
18
|
+
'string' != typeof t &&
|
|
19
|
+
!Array.isArray(t) &&
|
|
20
|
+
Object.keys(t).forEach(function (r) {
|
|
21
|
+
if ('default' !== r && !(r in e)) {
|
|
22
|
+
var i = Object.getOwnPropertyDescriptor(t, r);
|
|
23
|
+
Object.defineProperty(
|
|
24
|
+
e,
|
|
25
|
+
r,
|
|
26
|
+
i.get ? i : (
|
|
27
|
+
{
|
|
28
|
+
enumerable: !0,
|
|
29
|
+
get: function () {
|
|
30
|
+
return t[r];
|
|
31
|
+
},
|
|
32
|
+
}
|
|
33
|
+
),
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}),
|
|
38
|
+
Object.freeze(e)
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function copyExifWithoutOrientation(e, t) {
|
|
42
|
+
return new Promise(function (r, i) {
|
|
43
|
+
let o;
|
|
44
|
+
return getApp1Segment(e).then(function (e) {
|
|
45
|
+
try {
|
|
46
|
+
return ((o = e), r(new Blob([t.slice(0, 2), o, t.slice(2)], { type: 'image/jpeg' })));
|
|
47
|
+
} catch (e) {
|
|
48
|
+
return i(e);
|
|
49
|
+
}
|
|
50
|
+
}, i);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const getApp1Segment = (e) =>
|
|
54
|
+
new Promise((t, r) => {
|
|
55
|
+
const i = new FileReader();
|
|
56
|
+
(i.addEventListener('load', ({ target: { result: e } }) => {
|
|
57
|
+
const i = new DataView(e);
|
|
58
|
+
let o = 0;
|
|
59
|
+
if (65496 !== i.getUint16(o)) return r('not a valid JPEG');
|
|
60
|
+
for (o += 2; ; ) {
|
|
61
|
+
const a = i.getUint16(o);
|
|
62
|
+
if (65498 === a) break;
|
|
63
|
+
const s = i.getUint16(o + 2);
|
|
64
|
+
if (65505 === a && 1165519206 === i.getUint32(o + 4)) {
|
|
65
|
+
const a = o + 10;
|
|
66
|
+
let f;
|
|
67
|
+
switch (i.getUint16(a)) {
|
|
68
|
+
case 18761:
|
|
69
|
+
f = !0;
|
|
70
|
+
break;
|
|
71
|
+
case 19789:
|
|
72
|
+
f = !1;
|
|
73
|
+
break;
|
|
74
|
+
default:
|
|
75
|
+
return r('TIFF header contains invalid endian');
|
|
76
|
+
}
|
|
77
|
+
if (42 !== i.getUint16(a + 2, f)) return r('TIFF header contains invalid version');
|
|
78
|
+
const l = i.getUint32(a + 4, f),
|
|
79
|
+
c = a + l + 2 + 12 * i.getUint16(a + l, f);
|
|
80
|
+
for (let e = a + l + 2; e < c; e += 12) {
|
|
81
|
+
if (274 == i.getUint16(e, f)) {
|
|
82
|
+
if (3 !== i.getUint16(e + 2, f)) return r('Orientation data type is invalid');
|
|
83
|
+
if (1 !== i.getUint32(e + 4, f)) return r('Orientation data count is invalid');
|
|
84
|
+
i.setUint16(e + 8, 1, f);
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return t(e.slice(o, o + 2 + s));
|
|
89
|
+
}
|
|
90
|
+
o += 2 + s;
|
|
91
|
+
}
|
|
92
|
+
return t(new Blob());
|
|
93
|
+
}),
|
|
94
|
+
i.readAsArrayBuffer(e));
|
|
95
|
+
});
|
|
96
|
+
var e = {};
|
|
97
|
+
!(function (e) {
|
|
98
|
+
var t,
|
|
99
|
+
r,
|
|
100
|
+
UZIP = {};
|
|
101
|
+
((e.exports = UZIP),
|
|
102
|
+
(UZIP.parse = function (e, t) {
|
|
103
|
+
for (
|
|
104
|
+
var r = UZIP.bin.readUshort, i = UZIP.bin.readUint, o = 0, a = {}, s = new Uint8Array(e), f = s.length - 4;
|
|
105
|
+
101010256 != i(s, f);
|
|
106
|
+
)
|
|
107
|
+
f--;
|
|
108
|
+
o = f;
|
|
109
|
+
o += 4;
|
|
110
|
+
var l = r(s, (o += 4));
|
|
111
|
+
r(s, (o += 2));
|
|
112
|
+
var c = i(s, (o += 2)),
|
|
113
|
+
u = i(s, (o += 4));
|
|
114
|
+
((o += 4), (o = u));
|
|
115
|
+
for (var h = 0; h < l; h++) {
|
|
116
|
+
(i(s, o), (o += 4), (o += 4), (o += 4), i(s, (o += 4)));
|
|
117
|
+
c = i(s, (o += 4));
|
|
118
|
+
var d = i(s, (o += 4)),
|
|
119
|
+
A = r(s, (o += 4)),
|
|
120
|
+
g = r(s, o + 2),
|
|
121
|
+
p = r(s, o + 4);
|
|
122
|
+
o += 6;
|
|
123
|
+
var m = i(s, (o += 8));
|
|
124
|
+
((o += 4), (o += A + g + p), UZIP._readLocal(s, m, a, c, d, t));
|
|
125
|
+
}
|
|
126
|
+
return a;
|
|
127
|
+
}),
|
|
128
|
+
(UZIP._readLocal = function (e, t, r, i, o, a) {
|
|
129
|
+
var s = UZIP.bin.readUshort,
|
|
130
|
+
f = UZIP.bin.readUint;
|
|
131
|
+
(f(e, t), s(e, (t += 4)), s(e, (t += 2)));
|
|
132
|
+
var l = s(e, (t += 2));
|
|
133
|
+
(f(e, (t += 2)), f(e, (t += 4)), (t += 4));
|
|
134
|
+
var c = s(e, (t += 8)),
|
|
135
|
+
u = s(e, (t += 2));
|
|
136
|
+
t += 2;
|
|
137
|
+
var h = UZIP.bin.readUTF8(e, t, c);
|
|
138
|
+
if (((t += c), (t += u), a)) r[h] = { size: o, csize: i };
|
|
139
|
+
else {
|
|
140
|
+
var d = new Uint8Array(e.buffer, t);
|
|
141
|
+
if (0 == l) r[h] = new Uint8Array(d.buffer.slice(t, t + i));
|
|
142
|
+
else {
|
|
143
|
+
if (8 != l) throw 'unknown compression method: ' + l;
|
|
144
|
+
var A = new Uint8Array(o);
|
|
145
|
+
(UZIP.inflateRaw(d, A), (r[h] = A));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}),
|
|
149
|
+
(UZIP.inflateRaw = function (e, t) {
|
|
150
|
+
return UZIP.F.inflate(e, t);
|
|
151
|
+
}),
|
|
152
|
+
(UZIP.inflate = function (e, t) {
|
|
153
|
+
return (e[0], e[1], UZIP.inflateRaw(new Uint8Array(e.buffer, e.byteOffset + 2, e.length - 6), t));
|
|
154
|
+
}),
|
|
155
|
+
(UZIP.deflate = function (e, t) {
|
|
156
|
+
null == t && (t = { level: 6 });
|
|
157
|
+
var r = 0,
|
|
158
|
+
i = new Uint8Array(50 + Math.floor(1.1 * e.length));
|
|
159
|
+
((i[r] = 120), (i[r + 1] = 156), (r += 2), (r = UZIP.F.deflateRaw(e, i, r, t.level)));
|
|
160
|
+
var o = UZIP.adler(e, 0, e.length);
|
|
161
|
+
return (
|
|
162
|
+
(i[r + 0] = (o >>> 24) & 255),
|
|
163
|
+
(i[r + 1] = (o >>> 16) & 255),
|
|
164
|
+
(i[r + 2] = (o >>> 8) & 255),
|
|
165
|
+
(i[r + 3] = (o >>> 0) & 255),
|
|
166
|
+
new Uint8Array(i.buffer, 0, r + 4)
|
|
167
|
+
);
|
|
168
|
+
}),
|
|
169
|
+
(UZIP.deflateRaw = function (e, t) {
|
|
170
|
+
null == t && (t = { level: 6 });
|
|
171
|
+
var r = new Uint8Array(50 + Math.floor(1.1 * e.length)),
|
|
172
|
+
i = UZIP.F.deflateRaw(e, r, i, t.level);
|
|
173
|
+
return new Uint8Array(r.buffer, 0, i);
|
|
174
|
+
}),
|
|
175
|
+
(UZIP.encode = function (e, t) {
|
|
176
|
+
null == t && (t = !1);
|
|
177
|
+
var r = 0,
|
|
178
|
+
i = UZIP.bin.writeUint,
|
|
179
|
+
o = UZIP.bin.writeUshort,
|
|
180
|
+
a = {};
|
|
181
|
+
for (var s in e) {
|
|
182
|
+
var f = !UZIP._noNeed(s) && !t,
|
|
183
|
+
l = e[s],
|
|
184
|
+
c = UZIP.crc.crc(l, 0, l.length);
|
|
185
|
+
a[s] = { cpr: f, usize: l.length, crc: c, file: f ? UZIP.deflateRaw(l) : l };
|
|
186
|
+
}
|
|
187
|
+
for (var s in a) r += a[s].file.length + 30 + 46 + 2 * UZIP.bin.sizeUTF8(s);
|
|
188
|
+
r += 22;
|
|
189
|
+
var u = new Uint8Array(r),
|
|
190
|
+
h = 0,
|
|
191
|
+
d = [];
|
|
192
|
+
for (var s in a) {
|
|
193
|
+
var A = a[s];
|
|
194
|
+
(d.push(h), (h = UZIP._writeHeader(u, h, s, A, 0)));
|
|
195
|
+
}
|
|
196
|
+
var g = 0,
|
|
197
|
+
p = h;
|
|
198
|
+
for (var s in a) {
|
|
199
|
+
A = a[s];
|
|
200
|
+
(d.push(h), (h = UZIP._writeHeader(u, h, s, A, 1, d[g++])));
|
|
201
|
+
}
|
|
202
|
+
var m = h - p;
|
|
203
|
+
return (
|
|
204
|
+
i(u, h, 101010256),
|
|
205
|
+
(h += 4),
|
|
206
|
+
o(u, (h += 4), g),
|
|
207
|
+
o(u, (h += 2), g),
|
|
208
|
+
i(u, (h += 2), m),
|
|
209
|
+
i(u, (h += 4), p),
|
|
210
|
+
(h += 4),
|
|
211
|
+
(h += 2),
|
|
212
|
+
u.buffer
|
|
213
|
+
);
|
|
214
|
+
}),
|
|
215
|
+
(UZIP._noNeed = function (e) {
|
|
216
|
+
var t = e.split('.').pop().toLowerCase();
|
|
217
|
+
return -1 != 'png,jpg,jpeg,zip'.indexOf(t);
|
|
218
|
+
}),
|
|
219
|
+
(UZIP._writeHeader = function (e, t, r, i, o, a) {
|
|
220
|
+
var s = UZIP.bin.writeUint,
|
|
221
|
+
f = UZIP.bin.writeUshort,
|
|
222
|
+
l = i.file;
|
|
223
|
+
return (
|
|
224
|
+
s(e, t, 0 == o ? 67324752 : 33639248),
|
|
225
|
+
(t += 4),
|
|
226
|
+
1 == o && (t += 2),
|
|
227
|
+
f(e, t, 20),
|
|
228
|
+
f(e, (t += 2), 0),
|
|
229
|
+
f(e, (t += 2), i.cpr ? 8 : 0),
|
|
230
|
+
s(e, (t += 2), 0),
|
|
231
|
+
s(e, (t += 4), i.crc),
|
|
232
|
+
s(e, (t += 4), l.length),
|
|
233
|
+
s(e, (t += 4), i.usize),
|
|
234
|
+
f(e, (t += 4), UZIP.bin.sizeUTF8(r)),
|
|
235
|
+
f(e, (t += 2), 0),
|
|
236
|
+
(t += 2),
|
|
237
|
+
1 == o && ((t += 2), (t += 2), s(e, (t += 6), a), (t += 4)),
|
|
238
|
+
(t += UZIP.bin.writeUTF8(e, t, r)),
|
|
239
|
+
0 == o && (e.set(l, t), (t += l.length)),
|
|
240
|
+
t
|
|
241
|
+
);
|
|
242
|
+
}),
|
|
243
|
+
(UZIP.crc = {
|
|
244
|
+
table: (function () {
|
|
245
|
+
for (var e = new Uint32Array(256), t = 0; t < 256; t++) {
|
|
246
|
+
for (var r = t, i = 0; i < 8; i++) 1 & r ? (r = 3988292384 ^ (r >>> 1)) : (r >>>= 1);
|
|
247
|
+
e[t] = r;
|
|
248
|
+
}
|
|
249
|
+
return e;
|
|
250
|
+
})(),
|
|
251
|
+
update: function (e, t, r, i) {
|
|
252
|
+
for (var o = 0; o < i; o++) e = UZIP.crc.table[255 & (e ^ t[r + o])] ^ (e >>> 8);
|
|
253
|
+
return e;
|
|
254
|
+
},
|
|
255
|
+
crc: function (e, t, r) {
|
|
256
|
+
return 4294967295 ^ UZIP.crc.update(4294967295, e, t, r);
|
|
257
|
+
},
|
|
258
|
+
}),
|
|
259
|
+
(UZIP.adler = function (e, t, r) {
|
|
260
|
+
for (var i = 1, o = 0, a = t, s = t + r; a < s; ) {
|
|
261
|
+
for (var f = Math.min(a + 5552, s); a < f; ) o += i += e[a++];
|
|
262
|
+
((i %= 65521), (o %= 65521));
|
|
263
|
+
}
|
|
264
|
+
return (o << 16) | i;
|
|
265
|
+
}),
|
|
266
|
+
(UZIP.bin = {
|
|
267
|
+
readUshort: function (e, t) {
|
|
268
|
+
return e[t] | (e[t + 1] << 8);
|
|
269
|
+
},
|
|
270
|
+
writeUshort: function (e, t, r) {
|
|
271
|
+
((e[t] = 255 & r), (e[t + 1] = (r >> 8) & 255));
|
|
272
|
+
},
|
|
273
|
+
readUint: function (e, t) {
|
|
274
|
+
return 16777216 * e[t + 3] + ((e[t + 2] << 16) | (e[t + 1] << 8) | e[t]);
|
|
275
|
+
},
|
|
276
|
+
writeUint: function (e, t, r) {
|
|
277
|
+
((e[t] = 255 & r), (e[t + 1] = (r >> 8) & 255), (e[t + 2] = (r >> 16) & 255), (e[t + 3] = (r >> 24) & 255));
|
|
278
|
+
},
|
|
279
|
+
readASCII: function (e, t, r) {
|
|
280
|
+
for (var i = '', o = 0; o < r; o++) i += String.fromCharCode(e[t + o]);
|
|
281
|
+
return i;
|
|
282
|
+
},
|
|
283
|
+
writeASCII: function (e, t, r) {
|
|
284
|
+
for (var i = 0; i < r.length; i++) e[t + i] = r.charCodeAt(i);
|
|
285
|
+
},
|
|
286
|
+
pad: function (e) {
|
|
287
|
+
return e.length < 2 ? '0' + e : e;
|
|
288
|
+
},
|
|
289
|
+
readUTF8: function (e, t, r) {
|
|
290
|
+
for (var i, o = '', a = 0; a < r; a++) o += '%' + UZIP.bin.pad(e[t + a].toString(16));
|
|
291
|
+
try {
|
|
292
|
+
i = decodeURIComponent(o);
|
|
293
|
+
} catch (i) {
|
|
294
|
+
return UZIP.bin.readASCII(e, t, r);
|
|
295
|
+
}
|
|
296
|
+
return i;
|
|
297
|
+
},
|
|
298
|
+
writeUTF8: function (e, t, r) {
|
|
299
|
+
for (var i = r.length, o = 0, a = 0; a < i; a++) {
|
|
300
|
+
var s = r.charCodeAt(a);
|
|
301
|
+
if (0 == (4294967168 & s)) ((e[t + o] = s), o++);
|
|
302
|
+
else if (0 == (4294965248 & s))
|
|
303
|
+
((e[t + o] = 192 | (s >> 6)), (e[t + o + 1] = 128 | ((s >> 0) & 63)), (o += 2));
|
|
304
|
+
else if (0 == (4294901760 & s))
|
|
305
|
+
((e[t + o] = 224 | (s >> 12)),
|
|
306
|
+
(e[t + o + 1] = 128 | ((s >> 6) & 63)),
|
|
307
|
+
(e[t + o + 2] = 128 | ((s >> 0) & 63)),
|
|
308
|
+
(o += 3));
|
|
309
|
+
else {
|
|
310
|
+
if (0 != (4292870144 & s)) throw 'e';
|
|
311
|
+
((e[t + o] = 240 | (s >> 18)),
|
|
312
|
+
(e[t + o + 1] = 128 | ((s >> 12) & 63)),
|
|
313
|
+
(e[t + o + 2] = 128 | ((s >> 6) & 63)),
|
|
314
|
+
(e[t + o + 3] = 128 | ((s >> 0) & 63)),
|
|
315
|
+
(o += 4));
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
return o;
|
|
319
|
+
},
|
|
320
|
+
sizeUTF8: function (e) {
|
|
321
|
+
for (var t = e.length, r = 0, i = 0; i < t; i++) {
|
|
322
|
+
var o = e.charCodeAt(i);
|
|
323
|
+
if (0 == (4294967168 & o)) r++;
|
|
324
|
+
else if (0 == (4294965248 & o)) r += 2;
|
|
325
|
+
else if (0 == (4294901760 & o)) r += 3;
|
|
326
|
+
else {
|
|
327
|
+
if (0 != (4292870144 & o)) throw 'e';
|
|
328
|
+
r += 4;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
return r;
|
|
332
|
+
},
|
|
333
|
+
}),
|
|
334
|
+
(UZIP.F = {}),
|
|
335
|
+
(UZIP.F.deflateRaw = function (e, t, r, i) {
|
|
336
|
+
var o = [
|
|
337
|
+
[0, 0, 0, 0, 0],
|
|
338
|
+
[4, 4, 8, 4, 0],
|
|
339
|
+
[4, 5, 16, 8, 0],
|
|
340
|
+
[4, 6, 16, 16, 0],
|
|
341
|
+
[4, 10, 16, 32, 0],
|
|
342
|
+
[8, 16, 32, 32, 0],
|
|
343
|
+
[8, 16, 128, 128, 0],
|
|
344
|
+
[8, 32, 128, 256, 0],
|
|
345
|
+
[32, 128, 258, 1024, 1],
|
|
346
|
+
[32, 258, 258, 4096, 1],
|
|
347
|
+
][i],
|
|
348
|
+
a = UZIP.F.U,
|
|
349
|
+
s = UZIP.F._goodIndex;
|
|
350
|
+
UZIP.F._hash;
|
|
351
|
+
var f = UZIP.F._putsE,
|
|
352
|
+
l = 0,
|
|
353
|
+
c = r << 3,
|
|
354
|
+
u = 0,
|
|
355
|
+
h = e.length;
|
|
356
|
+
if (0 == i) {
|
|
357
|
+
while (l < h) {
|
|
358
|
+
(f(t, c, l + (_ = Math.min(65535, h - l)) == h ? 1 : 0),
|
|
359
|
+
(c = UZIP.F._copyExact(e, l, _, t, c + 8)),
|
|
360
|
+
(l += _));
|
|
361
|
+
}
|
|
362
|
+
return c >>> 3;
|
|
363
|
+
}
|
|
364
|
+
var d = a.lits,
|
|
365
|
+
A = a.strt,
|
|
366
|
+
g = a.prev,
|
|
367
|
+
p = 0,
|
|
368
|
+
m = 0,
|
|
369
|
+
w = 0,
|
|
370
|
+
v = 0,
|
|
371
|
+
b = 0,
|
|
372
|
+
y = 0;
|
|
373
|
+
for (h > 2 && (A[(y = UZIP.F._hash(e, 0))] = 0), l = 0; l < h; l++) {
|
|
374
|
+
if (((b = y), l + 1 < h - 2)) {
|
|
375
|
+
y = UZIP.F._hash(e, l + 1);
|
|
376
|
+
var E = (l + 1) & 32767;
|
|
377
|
+
((g[E] = A[y]), (A[y] = E));
|
|
378
|
+
}
|
|
379
|
+
if (u <= l) {
|
|
380
|
+
(p > 14e3 || m > 26697) &&
|
|
381
|
+
h - l > 100 &&
|
|
382
|
+
(u < l && ((d[p] = l - u), (p += 2), (u = l)),
|
|
383
|
+
(c = UZIP.F._writeBlock(l == h - 1 || u == h ? 1 : 0, d, p, v, e, w, l - w, t, c)),
|
|
384
|
+
(p = m = v = 0),
|
|
385
|
+
(w = l));
|
|
386
|
+
var F = 0;
|
|
387
|
+
l < h - 2 && (F = UZIP.F._bestMatch(e, l, g, b, Math.min(o[2], h - l), o[3]));
|
|
388
|
+
var _ = F >>> 16,
|
|
389
|
+
B = 65535 & F;
|
|
390
|
+
if (0 != F) {
|
|
391
|
+
B = 65535 & F;
|
|
392
|
+
var U = s((_ = F >>> 16), a.of0);
|
|
393
|
+
a.lhst[257 + U]++;
|
|
394
|
+
var C = s(B, a.df0);
|
|
395
|
+
(a.dhst[C]++,
|
|
396
|
+
(v += a.exb[U] + a.dxb[C]),
|
|
397
|
+
(d[p] = (_ << 23) | (l - u)),
|
|
398
|
+
(d[p + 1] = (B << 16) | (U << 8) | C),
|
|
399
|
+
(p += 2),
|
|
400
|
+
(u = l + _));
|
|
401
|
+
} else a.lhst[e[l]]++;
|
|
402
|
+
m++;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
for (
|
|
406
|
+
(w == l && 0 != e.length) ||
|
|
407
|
+
(u < l && ((d[p] = l - u), (p += 2), (u = l)),
|
|
408
|
+
(c = UZIP.F._writeBlock(1, d, p, v, e, w, l - w, t, c)),
|
|
409
|
+
(p = 0),
|
|
410
|
+
(m = 0),
|
|
411
|
+
(p = m = v = 0),
|
|
412
|
+
(w = l));
|
|
413
|
+
0 != (7 & c);
|
|
414
|
+
)
|
|
415
|
+
c++;
|
|
416
|
+
return c >>> 3;
|
|
417
|
+
}),
|
|
418
|
+
(UZIP.F._bestMatch = function (e, t, r, i, o, a) {
|
|
419
|
+
var s = 32767 & t,
|
|
420
|
+
f = r[s],
|
|
421
|
+
l = (s - f + 32768) & 32767;
|
|
422
|
+
if (f == s || i != UZIP.F._hash(e, t - l)) return 0;
|
|
423
|
+
for (var c = 0, u = 0, h = Math.min(32767, t); l <= h && 0 != --a && f != s; ) {
|
|
424
|
+
if (0 == c || e[t + c] == e[t + c - l]) {
|
|
425
|
+
var d = UZIP.F._howLong(e, t, l);
|
|
426
|
+
if (d > c) {
|
|
427
|
+
if (((u = l), (c = d) >= o)) break;
|
|
428
|
+
l + 2 < d && (d = l + 2);
|
|
429
|
+
for (var A = 0, g = 0; g < d - 2; g++) {
|
|
430
|
+
var p = (t - l + g + 32768) & 32767,
|
|
431
|
+
m = (p - r[p] + 32768) & 32767;
|
|
432
|
+
m > A && ((A = m), (f = p));
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
l += ((s = f) - (f = r[s]) + 32768) & 32767;
|
|
437
|
+
}
|
|
438
|
+
return (c << 16) | u;
|
|
439
|
+
}),
|
|
440
|
+
(UZIP.F._howLong = function (e, t, r) {
|
|
441
|
+
if (e[t] != e[t - r] || e[t + 1] != e[t + 1 - r] || e[t + 2] != e[t + 2 - r]) return 0;
|
|
442
|
+
var i = t,
|
|
443
|
+
o = Math.min(e.length, t + 258);
|
|
444
|
+
for (t += 3; t < o && e[t] == e[t - r]; ) t++;
|
|
445
|
+
return t - i;
|
|
446
|
+
}),
|
|
447
|
+
(UZIP.F._hash = function (e, t) {
|
|
448
|
+
return (((e[t] << 8) | e[t + 1]) + (e[t + 2] << 4)) & 65535;
|
|
449
|
+
}),
|
|
450
|
+
(UZIP.saved = 0),
|
|
451
|
+
(UZIP.F._writeBlock = function (e, t, r, i, o, a, s, f, l) {
|
|
452
|
+
var c,
|
|
453
|
+
u,
|
|
454
|
+
h,
|
|
455
|
+
d,
|
|
456
|
+
A,
|
|
457
|
+
g,
|
|
458
|
+
p,
|
|
459
|
+
m,
|
|
460
|
+
w,
|
|
461
|
+
v = UZIP.F.U,
|
|
462
|
+
b = UZIP.F._putsF,
|
|
463
|
+
y = UZIP.F._putsE;
|
|
464
|
+
(v.lhst[256]++,
|
|
465
|
+
(u = (c = UZIP.F.getTrees())[0]),
|
|
466
|
+
(h = c[1]),
|
|
467
|
+
(d = c[2]),
|
|
468
|
+
(A = c[3]),
|
|
469
|
+
(g = c[4]),
|
|
470
|
+
(p = c[5]),
|
|
471
|
+
(m = c[6]),
|
|
472
|
+
(w = c[7]));
|
|
473
|
+
var E = 32 + (0 == ((l + 3) & 7) ? 0 : 8 - ((l + 3) & 7)) + (s << 3),
|
|
474
|
+
F = i + UZIP.F.contSize(v.fltree, v.lhst) + UZIP.F.contSize(v.fdtree, v.dhst),
|
|
475
|
+
_ = i + UZIP.F.contSize(v.ltree, v.lhst) + UZIP.F.contSize(v.dtree, v.dhst);
|
|
476
|
+
_ += 14 + 3 * p + UZIP.F.contSize(v.itree, v.ihst) + (2 * v.ihst[16] + 3 * v.ihst[17] + 7 * v.ihst[18]);
|
|
477
|
+
for (var B = 0; B < 286; B++) v.lhst[B] = 0;
|
|
478
|
+
for (B = 0; B < 30; B++) v.dhst[B] = 0;
|
|
479
|
+
for (B = 0; B < 19; B++) v.ihst[B] = 0;
|
|
480
|
+
var U =
|
|
481
|
+
E < F && E < _ ? 0
|
|
482
|
+
: F < _ ? 1
|
|
483
|
+
: 2;
|
|
484
|
+
if ((b(f, l, e), b(f, l + 1, U), (l += 3), 0 == U)) {
|
|
485
|
+
while (0 != (7 & l)) l++;
|
|
486
|
+
l = UZIP.F._copyExact(o, a, s, f, l);
|
|
487
|
+
} else {
|
|
488
|
+
var C, I;
|
|
489
|
+
if ((1 == U && ((C = v.fltree), (I = v.fdtree)), 2 == U)) {
|
|
490
|
+
(UZIP.F.makeCodes(v.ltree, u),
|
|
491
|
+
UZIP.F.revCodes(v.ltree, u),
|
|
492
|
+
UZIP.F.makeCodes(v.dtree, h),
|
|
493
|
+
UZIP.F.revCodes(v.dtree, h),
|
|
494
|
+
UZIP.F.makeCodes(v.itree, d),
|
|
495
|
+
UZIP.F.revCodes(v.itree, d),
|
|
496
|
+
(C = v.ltree),
|
|
497
|
+
(I = v.dtree),
|
|
498
|
+
y(f, l, A - 257),
|
|
499
|
+
y(f, (l += 5), g - 1),
|
|
500
|
+
y(f, (l += 5), p - 4),
|
|
501
|
+
(l += 4));
|
|
502
|
+
for (var Q = 0; Q < p; Q++) y(f, l + 3 * Q, v.itree[1 + (v.ordr[Q] << 1)]);
|
|
503
|
+
((l += 3 * p), (l = UZIP.F._codeTiny(m, v.itree, f, l)), (l = UZIP.F._codeTiny(w, v.itree, f, l)));
|
|
504
|
+
}
|
|
505
|
+
for (var M = a, x = 0; x < r; x += 2) {
|
|
506
|
+
for (var T = t[x], S = T >>> 23, R = M + (8388607 & T); M < R; ) l = UZIP.F._writeLit(o[M++], C, f, l);
|
|
507
|
+
if (0 != S) {
|
|
508
|
+
var O = t[x + 1],
|
|
509
|
+
P = O >> 16,
|
|
510
|
+
H = (O >> 8) & 255,
|
|
511
|
+
L = 255 & O;
|
|
512
|
+
(y(f, (l = UZIP.F._writeLit(257 + H, C, f, l)), S - v.of0[H]),
|
|
513
|
+
(l += v.exb[H]),
|
|
514
|
+
b(f, (l = UZIP.F._writeLit(L, I, f, l)), P - v.df0[L]),
|
|
515
|
+
(l += v.dxb[L]),
|
|
516
|
+
(M += S));
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
l = UZIP.F._writeLit(256, C, f, l);
|
|
520
|
+
}
|
|
521
|
+
return l;
|
|
522
|
+
}),
|
|
523
|
+
(UZIP.F._copyExact = function (e, t, r, i, o) {
|
|
524
|
+
var a = o >>> 3;
|
|
525
|
+
return (
|
|
526
|
+
(i[a] = r),
|
|
527
|
+
(i[a + 1] = r >>> 8),
|
|
528
|
+
(i[a + 2] = 255 - i[a]),
|
|
529
|
+
(i[a + 3] = 255 - i[a + 1]),
|
|
530
|
+
(a += 4),
|
|
531
|
+
i.set(new Uint8Array(e.buffer, t, r), a),
|
|
532
|
+
o + ((r + 4) << 3)
|
|
533
|
+
);
|
|
534
|
+
}),
|
|
535
|
+
(UZIP.F.getTrees = function () {
|
|
536
|
+
for (
|
|
537
|
+
var e = UZIP.F.U,
|
|
538
|
+
t = UZIP.F._hufTree(e.lhst, e.ltree, 15),
|
|
539
|
+
r = UZIP.F._hufTree(e.dhst, e.dtree, 15),
|
|
540
|
+
i = [],
|
|
541
|
+
o = UZIP.F._lenCodes(e.ltree, i),
|
|
542
|
+
a = [],
|
|
543
|
+
s = UZIP.F._lenCodes(e.dtree, a),
|
|
544
|
+
f = 0;
|
|
545
|
+
f < i.length;
|
|
546
|
+
f += 2
|
|
547
|
+
)
|
|
548
|
+
e.ihst[i[f]]++;
|
|
549
|
+
for (f = 0; f < a.length; f += 2) e.ihst[a[f]]++;
|
|
550
|
+
for (var l = UZIP.F._hufTree(e.ihst, e.itree, 7), c = 19; c > 4 && 0 == e.itree[1 + (e.ordr[c - 1] << 1)]; )
|
|
551
|
+
c--;
|
|
552
|
+
return [t, r, l, o, s, c, i, a];
|
|
553
|
+
}),
|
|
554
|
+
(UZIP.F.getSecond = function (e) {
|
|
555
|
+
for (var t = [], r = 0; r < e.length; r += 2) t.push(e[r + 1]);
|
|
556
|
+
return t;
|
|
557
|
+
}),
|
|
558
|
+
(UZIP.F.nonZero = function (e) {
|
|
559
|
+
for (var t = '', r = 0; r < e.length; r += 2) 0 != e[r + 1] && (t += (r >> 1) + ',');
|
|
560
|
+
return t;
|
|
561
|
+
}),
|
|
562
|
+
(UZIP.F.contSize = function (e, t) {
|
|
563
|
+
for (var r = 0, i = 0; i < t.length; i++) r += t[i] * e[1 + (i << 1)];
|
|
564
|
+
return r;
|
|
565
|
+
}),
|
|
566
|
+
(UZIP.F._codeTiny = function (e, t, r, i) {
|
|
567
|
+
for (var o = 0; o < e.length; o += 2) {
|
|
568
|
+
var a = e[o],
|
|
569
|
+
s = e[o + 1];
|
|
570
|
+
i = UZIP.F._writeLit(a, t, r, i);
|
|
571
|
+
var f =
|
|
572
|
+
16 == a ? 2
|
|
573
|
+
: 17 == a ? 3
|
|
574
|
+
: 7;
|
|
575
|
+
a > 15 && (UZIP.F._putsE(r, i, s, f), (i += f));
|
|
576
|
+
}
|
|
577
|
+
return i;
|
|
578
|
+
}),
|
|
579
|
+
(UZIP.F._lenCodes = function (e, t) {
|
|
580
|
+
for (var r = e.length; 2 != r && 0 == e[r - 1]; ) r -= 2;
|
|
581
|
+
for (var i = 0; i < r; i += 2) {
|
|
582
|
+
var o = e[i + 1],
|
|
583
|
+
a = i + 3 < r ? e[i + 3] : -1,
|
|
584
|
+
s = i + 5 < r ? e[i + 5] : -1,
|
|
585
|
+
f = 0 == i ? -1 : e[i - 1];
|
|
586
|
+
if (0 == o && a == o && s == o) {
|
|
587
|
+
for (var l = i + 5; l + 2 < r && e[l + 2] == o; ) l += 2;
|
|
588
|
+
((c = Math.min((l + 1 - i) >>> 1, 138)) < 11 ? t.push(17, c - 3) : t.push(18, c - 11), (i += 2 * c - 2));
|
|
589
|
+
} else if (o == f && a == o && s == o) {
|
|
590
|
+
for (l = i + 5; l + 2 < r && e[l + 2] == o; ) l += 2;
|
|
591
|
+
var c = Math.min((l + 1 - i) >>> 1, 6);
|
|
592
|
+
(t.push(16, c - 3), (i += 2 * c - 2));
|
|
593
|
+
} else t.push(o, 0);
|
|
594
|
+
}
|
|
595
|
+
return r >>> 1;
|
|
596
|
+
}),
|
|
597
|
+
(UZIP.F._hufTree = function (e, t, r) {
|
|
598
|
+
var i = [],
|
|
599
|
+
o = e.length,
|
|
600
|
+
a = t.length,
|
|
601
|
+
s = 0;
|
|
602
|
+
for (s = 0; s < a; s += 2) ((t[s] = 0), (t[s + 1] = 0));
|
|
603
|
+
for (s = 0; s < o; s++) 0 != e[s] && i.push({ lit: s, f: e[s] });
|
|
604
|
+
var f = i.length,
|
|
605
|
+
l = i.slice(0);
|
|
606
|
+
if (0 == f) return 0;
|
|
607
|
+
if (1 == f) {
|
|
608
|
+
var c = i[0].lit;
|
|
609
|
+
l = 0 == c ? 1 : 0;
|
|
610
|
+
return ((t[1 + (c << 1)] = 1), (t[1 + (l << 1)] = 1), 1);
|
|
611
|
+
}
|
|
612
|
+
i.sort(function (e, t) {
|
|
613
|
+
return e.f - t.f;
|
|
614
|
+
});
|
|
615
|
+
var u = i[0],
|
|
616
|
+
h = i[1],
|
|
617
|
+
d = 0,
|
|
618
|
+
A = 1,
|
|
619
|
+
g = 2;
|
|
620
|
+
for (i[0] = { lit: -1, f: u.f + h.f, l: u, r: h, d: 0 }; A != f - 1; )
|
|
621
|
+
((u = d != A && (g == f || i[d].f < i[g].f) ? i[d++] : i[g++]),
|
|
622
|
+
(h = d != A && (g == f || i[d].f < i[g].f) ? i[d++] : i[g++]),
|
|
623
|
+
(i[A++] = { lit: -1, f: u.f + h.f, l: u, r: h }));
|
|
624
|
+
var p = UZIP.F.setDepth(i[A - 1], 0);
|
|
625
|
+
for (p > r && (UZIP.F.restrictDepth(l, r, p), (p = r)), s = 0; s < f; s++) t[1 + (l[s].lit << 1)] = l[s].d;
|
|
626
|
+
return p;
|
|
627
|
+
}),
|
|
628
|
+
(UZIP.F.setDepth = function (e, t) {
|
|
629
|
+
return -1 != e.lit ? ((e.d = t), t) : Math.max(UZIP.F.setDepth(e.l, t + 1), UZIP.F.setDepth(e.r, t + 1));
|
|
630
|
+
}),
|
|
631
|
+
(UZIP.F.restrictDepth = function (e, t, r) {
|
|
632
|
+
var i = 0,
|
|
633
|
+
o = 1 << (r - t),
|
|
634
|
+
a = 0;
|
|
635
|
+
for (
|
|
636
|
+
e.sort(function (e, t) {
|
|
637
|
+
return t.d == e.d ? e.f - t.f : t.d - e.d;
|
|
638
|
+
}),
|
|
639
|
+
i = 0;
|
|
640
|
+
i < e.length && e[i].d > t;
|
|
641
|
+
i++
|
|
642
|
+
) {
|
|
643
|
+
var s = e[i].d;
|
|
644
|
+
((e[i].d = t), (a += o - (1 << (r - s))));
|
|
645
|
+
}
|
|
646
|
+
for (a >>>= r - t; a > 0; ) {
|
|
647
|
+
(s = e[i].d) < t ? (e[i].d++, (a -= 1 << (t - s - 1))) : i++;
|
|
648
|
+
}
|
|
649
|
+
for (; i >= 0; i--) e[i].d == t && a < 0 && (e[i].d--, a++);
|
|
650
|
+
0 != a && console.log('debt left');
|
|
651
|
+
}),
|
|
652
|
+
(UZIP.F._goodIndex = function (e, t) {
|
|
653
|
+
var r = 0;
|
|
654
|
+
return (
|
|
655
|
+
t[16 | r] <= e && (r |= 16),
|
|
656
|
+
t[8 | r] <= e && (r |= 8),
|
|
657
|
+
t[4 | r] <= e && (r |= 4),
|
|
658
|
+
t[2 | r] <= e && (r |= 2),
|
|
659
|
+
t[1 | r] <= e && (r |= 1),
|
|
660
|
+
r
|
|
661
|
+
);
|
|
662
|
+
}),
|
|
663
|
+
(UZIP.F._writeLit = function (e, t, r, i) {
|
|
664
|
+
return (UZIP.F._putsF(r, i, t[e << 1]), i + t[1 + (e << 1)]);
|
|
665
|
+
}),
|
|
666
|
+
(UZIP.F.inflate = function (e, t) {
|
|
667
|
+
var r = Uint8Array;
|
|
668
|
+
if (3 == e[0] && 0 == e[1]) return t || new r(0);
|
|
669
|
+
var i = UZIP.F,
|
|
670
|
+
o = i._bitsF,
|
|
671
|
+
a = i._bitsE,
|
|
672
|
+
s = i._decodeTiny,
|
|
673
|
+
f = i.makeCodes,
|
|
674
|
+
l = i.codes2map,
|
|
675
|
+
c = i._get17,
|
|
676
|
+
u = i.U,
|
|
677
|
+
h = null == t;
|
|
678
|
+
h && (t = new r((e.length >>> 2) << 3));
|
|
679
|
+
for (var d, A, g = 0, p = 0, m = 0, w = 0, v = 0, b = 0, y = 0, E = 0, F = 0; 0 == g; )
|
|
680
|
+
if (((g = o(e, F, 1)), (p = o(e, F + 1, 2)), (F += 3), 0 != p)) {
|
|
681
|
+
if (
|
|
682
|
+
(h && (t = UZIP.F._check(t, E + (1 << 17))),
|
|
683
|
+
1 == p && ((d = u.flmap), (A = u.fdmap), (b = 511), (y = 31)),
|
|
684
|
+
2 == p)
|
|
685
|
+
) {
|
|
686
|
+
((m = a(e, F, 5) + 257), (w = a(e, F + 5, 5) + 1), (v = a(e, F + 10, 4) + 4), (F += 14));
|
|
687
|
+
for (var _ = 0; _ < 38; _ += 2) ((u.itree[_] = 0), (u.itree[_ + 1] = 0));
|
|
688
|
+
var B = 1;
|
|
689
|
+
for (_ = 0; _ < v; _++) {
|
|
690
|
+
var U = a(e, F + 3 * _, 3);
|
|
691
|
+
((u.itree[1 + (u.ordr[_] << 1)] = U), U > B && (B = U));
|
|
692
|
+
}
|
|
693
|
+
((F += 3 * v),
|
|
694
|
+
f(u.itree, B),
|
|
695
|
+
l(u.itree, B, u.imap),
|
|
696
|
+
(d = u.lmap),
|
|
697
|
+
(A = u.dmap),
|
|
698
|
+
(F = s(u.imap, (1 << B) - 1, m + w, e, F, u.ttree)));
|
|
699
|
+
var C = i._copyOut(u.ttree, 0, m, u.ltree);
|
|
700
|
+
b = (1 << C) - 1;
|
|
701
|
+
var I = i._copyOut(u.ttree, m, w, u.dtree);
|
|
702
|
+
((y = (1 << I) - 1), f(u.ltree, C), l(u.ltree, C, d), f(u.dtree, I), l(u.dtree, I, A));
|
|
703
|
+
}
|
|
704
|
+
for (;;) {
|
|
705
|
+
var Q = d[c(e, F) & b];
|
|
706
|
+
F += 15 & Q;
|
|
707
|
+
var M = Q >>> 4;
|
|
708
|
+
if (M >>> 8 == 0) t[E++] = M;
|
|
709
|
+
else {
|
|
710
|
+
if (256 == M) break;
|
|
711
|
+
var x = E + M - 254;
|
|
712
|
+
if (M > 264) {
|
|
713
|
+
var T = u.ldef[M - 257];
|
|
714
|
+
((x = E + (T >>> 3) + a(e, F, 7 & T)), (F += 7 & T));
|
|
715
|
+
}
|
|
716
|
+
var S = A[c(e, F) & y];
|
|
717
|
+
F += 15 & S;
|
|
718
|
+
var R = S >>> 4,
|
|
719
|
+
O = u.ddef[R],
|
|
720
|
+
P = (O >>> 4) + o(e, F, 15 & O);
|
|
721
|
+
for (F += 15 & O, h && (t = UZIP.F._check(t, E + (1 << 17))); E < x; )
|
|
722
|
+
((t[E] = t[E++ - P]), (t[E] = t[E++ - P]), (t[E] = t[E++ - P]), (t[E] = t[E++ - P]));
|
|
723
|
+
E = x;
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
} else {
|
|
727
|
+
0 != (7 & F) && (F += 8 - (7 & F));
|
|
728
|
+
var H = 4 + (F >>> 3),
|
|
729
|
+
L = e[H - 4] | (e[H - 3] << 8);
|
|
730
|
+
(h && (t = UZIP.F._check(t, E + L)),
|
|
731
|
+
t.set(new r(e.buffer, e.byteOffset + H, L), E),
|
|
732
|
+
(F = (H + L) << 3),
|
|
733
|
+
(E += L));
|
|
734
|
+
}
|
|
735
|
+
return t.length == E ? t : t.slice(0, E);
|
|
736
|
+
}),
|
|
737
|
+
(UZIP.F._check = function (e, t) {
|
|
738
|
+
var r = e.length;
|
|
739
|
+
if (t <= r) return e;
|
|
740
|
+
var i = new Uint8Array(Math.max(r << 1, t));
|
|
741
|
+
return (i.set(e, 0), i);
|
|
742
|
+
}),
|
|
743
|
+
(UZIP.F._decodeTiny = function (e, t, r, i, o, a) {
|
|
744
|
+
for (var s = UZIP.F._bitsE, f = UZIP.F._get17, l = 0; l < r; ) {
|
|
745
|
+
var c = e[f(i, o) & t];
|
|
746
|
+
o += 15 & c;
|
|
747
|
+
var u = c >>> 4;
|
|
748
|
+
if (u <= 15) ((a[l] = u), l++);
|
|
749
|
+
else {
|
|
750
|
+
var h = 0,
|
|
751
|
+
d = 0;
|
|
752
|
+
16 == u ? ((d = 3 + s(i, o, 2)), (o += 2), (h = a[l - 1]))
|
|
753
|
+
: 17 == u ? ((d = 3 + s(i, o, 3)), (o += 3))
|
|
754
|
+
: 18 == u && ((d = 11 + s(i, o, 7)), (o += 7));
|
|
755
|
+
for (var A = l + d; l < A; ) ((a[l] = h), l++);
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
return o;
|
|
759
|
+
}),
|
|
760
|
+
(UZIP.F._copyOut = function (e, t, r, i) {
|
|
761
|
+
for (var o = 0, a = 0, s = i.length >>> 1; a < r; ) {
|
|
762
|
+
var f = e[a + t];
|
|
763
|
+
((i[a << 1] = 0), (i[1 + (a << 1)] = f), f > o && (o = f), a++);
|
|
764
|
+
}
|
|
765
|
+
while (a < s) ((i[a << 1] = 0), (i[1 + (a << 1)] = 0), a++);
|
|
766
|
+
return o;
|
|
767
|
+
}),
|
|
768
|
+
(UZIP.F.makeCodes = function (e, t) {
|
|
769
|
+
for (var r, i, o, a, s = UZIP.F.U, f = e.length, l = s.bl_count, c = 0; c <= t; c++) l[c] = 0;
|
|
770
|
+
for (c = 1; c < f; c += 2) l[e[c]]++;
|
|
771
|
+
var u = s.next_code;
|
|
772
|
+
for (r = 0, l[0] = 0, i = 1; i <= t; i++) ((r = (r + l[i - 1]) << 1), (u[i] = r));
|
|
773
|
+
for (o = 0; o < f; o += 2) 0 != (a = e[o + 1]) && ((e[o] = u[a]), u[a]++);
|
|
774
|
+
}),
|
|
775
|
+
(UZIP.F.codes2map = function (e, t, r) {
|
|
776
|
+
for (var i = e.length, o = UZIP.F.U.rev15, a = 0; a < i; a += 2)
|
|
777
|
+
if (0 != e[a + 1])
|
|
778
|
+
for (var s = a >> 1, f = e[a + 1], l = (s << 4) | f, c = t - f, u = e[a] << c, h = u + (1 << c); u != h; ) {
|
|
779
|
+
((r[o[u] >>> (15 - t)] = l), u++);
|
|
780
|
+
}
|
|
781
|
+
}),
|
|
782
|
+
(UZIP.F.revCodes = function (e, t) {
|
|
783
|
+
for (var r = UZIP.F.U.rev15, i = 15 - t, o = 0; o < e.length; o += 2) {
|
|
784
|
+
var a = e[o] << (t - e[o + 1]);
|
|
785
|
+
e[o] = r[a] >>> i;
|
|
786
|
+
}
|
|
787
|
+
}),
|
|
788
|
+
(UZIP.F._putsE = function (e, t, r) {
|
|
789
|
+
r <<= 7 & t;
|
|
790
|
+
var i = t >>> 3;
|
|
791
|
+
((e[i] |= r), (e[i + 1] |= r >>> 8));
|
|
792
|
+
}),
|
|
793
|
+
(UZIP.F._putsF = function (e, t, r) {
|
|
794
|
+
r <<= 7 & t;
|
|
795
|
+
var i = t >>> 3;
|
|
796
|
+
((e[i] |= r), (e[i + 1] |= r >>> 8), (e[i + 2] |= r >>> 16));
|
|
797
|
+
}),
|
|
798
|
+
(UZIP.F._bitsE = function (e, t, r) {
|
|
799
|
+
return ((e[t >>> 3] | (e[1 + (t >>> 3)] << 8)) >>> (7 & t)) & ((1 << r) - 1);
|
|
800
|
+
}),
|
|
801
|
+
(UZIP.F._bitsF = function (e, t, r) {
|
|
802
|
+
return ((e[t >>> 3] | (e[1 + (t >>> 3)] << 8) | (e[2 + (t >>> 3)] << 16)) >>> (7 & t)) & ((1 << r) - 1);
|
|
803
|
+
}),
|
|
804
|
+
(UZIP.F._get17 = function (e, t) {
|
|
805
|
+
return (e[t >>> 3] | (e[1 + (t >>> 3)] << 8) | (e[2 + (t >>> 3)] << 16)) >>> (7 & t);
|
|
806
|
+
}),
|
|
807
|
+
(UZIP.F._get25 = function (e, t) {
|
|
808
|
+
return (e[t >>> 3] | (e[1 + (t >>> 3)] << 8) | (e[2 + (t >>> 3)] << 16) | (e[3 + (t >>> 3)] << 24)) >>> (7 & t);
|
|
809
|
+
}),
|
|
810
|
+
(UZIP.F.U =
|
|
811
|
+
((t = Uint16Array),
|
|
812
|
+
(r = Uint32Array),
|
|
813
|
+
{
|
|
814
|
+
next_code: new t(16),
|
|
815
|
+
bl_count: new t(16),
|
|
816
|
+
ordr: [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],
|
|
817
|
+
of0: [
|
|
818
|
+
3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195,
|
|
819
|
+
227, 258, 999, 999, 999,
|
|
820
|
+
],
|
|
821
|
+
exb: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0],
|
|
822
|
+
ldef: new t(32),
|
|
823
|
+
df0: [
|
|
824
|
+
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097,
|
|
825
|
+
6145, 8193, 12289, 16385, 24577, 65535, 65535,
|
|
826
|
+
],
|
|
827
|
+
dxb: [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0],
|
|
828
|
+
ddef: new r(32),
|
|
829
|
+
flmap: new t(512),
|
|
830
|
+
fltree: [],
|
|
831
|
+
fdmap: new t(32),
|
|
832
|
+
fdtree: [],
|
|
833
|
+
lmap: new t(32768),
|
|
834
|
+
ltree: [],
|
|
835
|
+
ttree: [],
|
|
836
|
+
dmap: new t(32768),
|
|
837
|
+
dtree: [],
|
|
838
|
+
imap: new t(512),
|
|
839
|
+
itree: [],
|
|
840
|
+
rev15: new t(32768),
|
|
841
|
+
lhst: new r(286),
|
|
842
|
+
dhst: new r(30),
|
|
843
|
+
ihst: new r(19),
|
|
844
|
+
lits: new r(15e3),
|
|
845
|
+
strt: new t(65536),
|
|
846
|
+
prev: new t(32768),
|
|
847
|
+
})),
|
|
848
|
+
(function () {
|
|
849
|
+
for (var e = UZIP.F.U, t = 0; t < 32768; t++) {
|
|
850
|
+
var r = t;
|
|
851
|
+
((r =
|
|
852
|
+
((4278255360 &
|
|
853
|
+
(r =
|
|
854
|
+
((4042322160 &
|
|
855
|
+
(r =
|
|
856
|
+
((3435973836 & (r = ((2863311530 & r) >>> 1) | ((1431655765 & r) << 1))) >>> 2) |
|
|
857
|
+
((858993459 & r) << 2))) >>>
|
|
858
|
+
4) |
|
|
859
|
+
((252645135 & r) << 4))) >>>
|
|
860
|
+
8) |
|
|
861
|
+
((16711935 & r) << 8)),
|
|
862
|
+
(e.rev15[t] = ((r >>> 16) | (r << 16)) >>> 17));
|
|
863
|
+
}
|
|
864
|
+
function pushV(e, t, r) {
|
|
865
|
+
while (0 != t--) e.push(0, r);
|
|
866
|
+
}
|
|
867
|
+
for (t = 0; t < 32; t++) ((e.ldef[t] = (e.of0[t] << 3) | e.exb[t]), (e.ddef[t] = (e.df0[t] << 4) | e.dxb[t]));
|
|
868
|
+
(pushV(e.fltree, 144, 8),
|
|
869
|
+
pushV(e.fltree, 112, 9),
|
|
870
|
+
pushV(e.fltree, 24, 7),
|
|
871
|
+
pushV(e.fltree, 8, 8),
|
|
872
|
+
UZIP.F.makeCodes(e.fltree, 9),
|
|
873
|
+
UZIP.F.codes2map(e.fltree, 9, e.flmap),
|
|
874
|
+
UZIP.F.revCodes(e.fltree, 9),
|
|
875
|
+
pushV(e.fdtree, 32, 5),
|
|
876
|
+
UZIP.F.makeCodes(e.fdtree, 5),
|
|
877
|
+
UZIP.F.codes2map(e.fdtree, 5, e.fdmap),
|
|
878
|
+
UZIP.F.revCodes(e.fdtree, 5),
|
|
879
|
+
pushV(e.itree, 19, 0),
|
|
880
|
+
pushV(e.ltree, 286, 0),
|
|
881
|
+
pushV(e.dtree, 30, 0),
|
|
882
|
+
pushV(e.ttree, 320, 0));
|
|
883
|
+
})());
|
|
884
|
+
})({
|
|
885
|
+
get exports() {
|
|
886
|
+
return e;
|
|
887
|
+
},
|
|
888
|
+
set exports(t) {
|
|
889
|
+
e = t;
|
|
890
|
+
},
|
|
891
|
+
});
|
|
892
|
+
var UZIP = _mergeNamespaces({ __proto__: null, default: e }, [e]);
|
|
893
|
+
const UPNG = (function () {
|
|
894
|
+
var e = {
|
|
895
|
+
nextZero(e, t) {
|
|
896
|
+
while (0 != e[t]) t++;
|
|
897
|
+
return t;
|
|
898
|
+
},
|
|
899
|
+
readUshort: (e, t) => (e[t] << 8) | e[t + 1],
|
|
900
|
+
writeUshort(e, t, r) {
|
|
901
|
+
((e[t] = (r >> 8) & 255), (e[t + 1] = 255 & r));
|
|
902
|
+
},
|
|
903
|
+
readUint: (e, t) => 16777216 * e[t] + ((e[t + 1] << 16) | (e[t + 2] << 8) | e[t + 3]),
|
|
904
|
+
writeUint(e, t, r) {
|
|
905
|
+
((e[t] = (r >> 24) & 255), (e[t + 1] = (r >> 16) & 255), (e[t + 2] = (r >> 8) & 255), (e[t + 3] = 255 & r));
|
|
906
|
+
},
|
|
907
|
+
readASCII(e, t, r) {
|
|
908
|
+
let i = '';
|
|
909
|
+
for (let o = 0; o < r; o++) i += String.fromCharCode(e[t + o]);
|
|
910
|
+
return i;
|
|
911
|
+
},
|
|
912
|
+
writeASCII(e, t, r) {
|
|
913
|
+
for (let i = 0; i < r.length; i++) e[t + i] = r.charCodeAt(i);
|
|
914
|
+
},
|
|
915
|
+
readBytes(e, t, r) {
|
|
916
|
+
const i = [];
|
|
917
|
+
for (let o = 0; o < r; o++) i.push(e[t + o]);
|
|
918
|
+
return i;
|
|
919
|
+
},
|
|
920
|
+
pad: (e) => (e.length < 2 ? `0${e}` : e),
|
|
921
|
+
readUTF8(t, r, i) {
|
|
922
|
+
let o,
|
|
923
|
+
a = '';
|
|
924
|
+
for (let o = 0; o < i; o++) a += `%${e.pad(t[r + o].toString(16))}`;
|
|
925
|
+
try {
|
|
926
|
+
o = decodeURIComponent(a);
|
|
927
|
+
} catch (o) {
|
|
928
|
+
return e.readASCII(t, r, i);
|
|
929
|
+
}
|
|
930
|
+
return o;
|
|
931
|
+
},
|
|
932
|
+
};
|
|
933
|
+
function decodeImage(t, r, i, o) {
|
|
934
|
+
const a = r * i,
|
|
935
|
+
s = _getBPP(o),
|
|
936
|
+
f = Math.ceil((r * s) / 8),
|
|
937
|
+
l = new Uint8Array(4 * a),
|
|
938
|
+
c = new Uint32Array(l.buffer),
|
|
939
|
+
{ ctype: u } = o,
|
|
940
|
+
{ depth: h } = o,
|
|
941
|
+
d = e.readUshort;
|
|
942
|
+
if (6 == u) {
|
|
943
|
+
const e = a << 2;
|
|
944
|
+
if (8 == h)
|
|
945
|
+
for (var A = 0; A < e; A += 4)
|
|
946
|
+
((l[A] = t[A]), (l[A + 1] = t[A + 1]), (l[A + 2] = t[A + 2]), (l[A + 3] = t[A + 3]));
|
|
947
|
+
if (16 == h) for (A = 0; A < e; A++) l[A] = t[A << 1];
|
|
948
|
+
} else if (2 == u) {
|
|
949
|
+
const e = o.tabs.tRNS;
|
|
950
|
+
if (null == e) {
|
|
951
|
+
if (8 == h)
|
|
952
|
+
for (A = 0; A < a; A++) {
|
|
953
|
+
var g = 3 * A;
|
|
954
|
+
c[A] = (255 << 24) | (t[g + 2] << 16) | (t[g + 1] << 8) | t[g];
|
|
955
|
+
}
|
|
956
|
+
if (16 == h)
|
|
957
|
+
for (A = 0; A < a; A++) {
|
|
958
|
+
g = 6 * A;
|
|
959
|
+
c[A] = (255 << 24) | (t[g + 4] << 16) | (t[g + 2] << 8) | t[g];
|
|
960
|
+
}
|
|
961
|
+
} else {
|
|
962
|
+
var p = e[0];
|
|
963
|
+
const r = e[1],
|
|
964
|
+
i = e[2];
|
|
965
|
+
if (8 == h)
|
|
966
|
+
for (A = 0; A < a; A++) {
|
|
967
|
+
var m = A << 2;
|
|
968
|
+
g = 3 * A;
|
|
969
|
+
((c[A] = (255 << 24) | (t[g + 2] << 16) | (t[g + 1] << 8) | t[g]),
|
|
970
|
+
t[g] == p && t[g + 1] == r && t[g + 2] == i && (l[m + 3] = 0));
|
|
971
|
+
}
|
|
972
|
+
if (16 == h)
|
|
973
|
+
for (A = 0; A < a; A++) {
|
|
974
|
+
((m = A << 2), (g = 6 * A));
|
|
975
|
+
((c[A] = (255 << 24) | (t[g + 4] << 16) | (t[g + 2] << 8) | t[g]),
|
|
976
|
+
d(t, g) == p && d(t, g + 2) == r && d(t, g + 4) == i && (l[m + 3] = 0));
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
} else if (3 == u) {
|
|
980
|
+
const e = o.tabs.PLTE,
|
|
981
|
+
s = o.tabs.tRNS,
|
|
982
|
+
c = s ? s.length : 0;
|
|
983
|
+
if (1 == h)
|
|
984
|
+
for (var w = 0; w < i; w++) {
|
|
985
|
+
var v = w * f,
|
|
986
|
+
b = w * r;
|
|
987
|
+
for (A = 0; A < r; A++) {
|
|
988
|
+
m = (b + A) << 2;
|
|
989
|
+
var y = 3 * (E = (t[v + (A >> 3)] >> (7 - ((7 & A) << 0))) & 1);
|
|
990
|
+
((l[m] = e[y]), (l[m + 1] = e[y + 1]), (l[m + 2] = e[y + 2]), (l[m + 3] = E < c ? s[E] : 255));
|
|
991
|
+
}
|
|
992
|
+
}
|
|
993
|
+
if (2 == h)
|
|
994
|
+
for (w = 0; w < i; w++)
|
|
995
|
+
for (v = w * f, b = w * r, A = 0; A < r; A++) {
|
|
996
|
+
((m = (b + A) << 2), (y = 3 * (E = (t[v + (A >> 2)] >> (6 - ((3 & A) << 1))) & 3)));
|
|
997
|
+
((l[m] = e[y]), (l[m + 1] = e[y + 1]), (l[m + 2] = e[y + 2]), (l[m + 3] = E < c ? s[E] : 255));
|
|
998
|
+
}
|
|
999
|
+
if (4 == h)
|
|
1000
|
+
for (w = 0; w < i; w++)
|
|
1001
|
+
for (v = w * f, b = w * r, A = 0; A < r; A++) {
|
|
1002
|
+
((m = (b + A) << 2), (y = 3 * (E = (t[v + (A >> 1)] >> (4 - ((1 & A) << 2))) & 15)));
|
|
1003
|
+
((l[m] = e[y]), (l[m + 1] = e[y + 1]), (l[m + 2] = e[y + 2]), (l[m + 3] = E < c ? s[E] : 255));
|
|
1004
|
+
}
|
|
1005
|
+
if (8 == h)
|
|
1006
|
+
for (A = 0; A < a; A++) {
|
|
1007
|
+
var E;
|
|
1008
|
+
((m = A << 2), (y = 3 * (E = t[A])));
|
|
1009
|
+
((l[m] = e[y]), (l[m + 1] = e[y + 1]), (l[m + 2] = e[y + 2]), (l[m + 3] = E < c ? s[E] : 255));
|
|
1010
|
+
}
|
|
1011
|
+
} else if (4 == u) {
|
|
1012
|
+
if (8 == h)
|
|
1013
|
+
for (A = 0; A < a; A++) {
|
|
1014
|
+
m = A << 2;
|
|
1015
|
+
var F = t[(_ = A << 1)];
|
|
1016
|
+
((l[m] = F), (l[m + 1] = F), (l[m + 2] = F), (l[m + 3] = t[_ + 1]));
|
|
1017
|
+
}
|
|
1018
|
+
if (16 == h)
|
|
1019
|
+
for (A = 0; A < a; A++) {
|
|
1020
|
+
var _;
|
|
1021
|
+
((m = A << 2), (F = t[(_ = A << 2)]));
|
|
1022
|
+
((l[m] = F), (l[m + 1] = F), (l[m + 2] = F), (l[m + 3] = t[_ + 2]));
|
|
1023
|
+
}
|
|
1024
|
+
} else if (0 == u)
|
|
1025
|
+
for (p = o.tabs.tRNS ? o.tabs.tRNS : -1, w = 0; w < i; w++) {
|
|
1026
|
+
const e = w * f,
|
|
1027
|
+
i = w * r;
|
|
1028
|
+
if (1 == h)
|
|
1029
|
+
for (var B = 0; B < r; B++) {
|
|
1030
|
+
var U = (F = 255 * ((t[e + (B >>> 3)] >>> (7 - (7 & B))) & 1)) == 255 * p ? 0 : 255;
|
|
1031
|
+
c[i + B] = (U << 24) | (F << 16) | (F << 8) | F;
|
|
1032
|
+
}
|
|
1033
|
+
else if (2 == h)
|
|
1034
|
+
for (B = 0; B < r; B++) {
|
|
1035
|
+
U = (F = 85 * ((t[e + (B >>> 2)] >>> (6 - ((3 & B) << 1))) & 3)) == 85 * p ? 0 : 255;
|
|
1036
|
+
c[i + B] = (U << 24) | (F << 16) | (F << 8) | F;
|
|
1037
|
+
}
|
|
1038
|
+
else if (4 == h)
|
|
1039
|
+
for (B = 0; B < r; B++) {
|
|
1040
|
+
U = (F = 17 * ((t[e + (B >>> 1)] >>> (4 - ((1 & B) << 2))) & 15)) == 17 * p ? 0 : 255;
|
|
1041
|
+
c[i + B] = (U << 24) | (F << 16) | (F << 8) | F;
|
|
1042
|
+
}
|
|
1043
|
+
else if (8 == h)
|
|
1044
|
+
for (B = 0; B < r; B++) {
|
|
1045
|
+
U = (F = t[e + B]) == p ? 0 : 255;
|
|
1046
|
+
c[i + B] = (U << 24) | (F << 16) | (F << 8) | F;
|
|
1047
|
+
}
|
|
1048
|
+
else if (16 == h)
|
|
1049
|
+
for (B = 0; B < r; B++) {
|
|
1050
|
+
((F = t[e + (B << 1)]), (U = d(t, e + (B << 1)) == p ? 0 : 255));
|
|
1051
|
+
c[i + B] = (U << 24) | (F << 16) | (F << 8) | F;
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
return l;
|
|
1055
|
+
}
|
|
1056
|
+
function _decompress(e, r, i, o) {
|
|
1057
|
+
const a = _getBPP(e),
|
|
1058
|
+
s = Math.ceil((i * a) / 8),
|
|
1059
|
+
f = new Uint8Array((s + 1 + e.interlace) * o);
|
|
1060
|
+
return (
|
|
1061
|
+
(r = e.tabs.CgBI ? t(r, f) : _inflate(r, f)),
|
|
1062
|
+
0 == e.interlace ?
|
|
1063
|
+
(r = _filterZero(r, e, 0, i, o))
|
|
1064
|
+
: 1 == e.interlace &&
|
|
1065
|
+
(r = (function _readInterlace(e, t) {
|
|
1066
|
+
const r = t.width,
|
|
1067
|
+
i = t.height,
|
|
1068
|
+
o = _getBPP(t),
|
|
1069
|
+
a = o >> 3,
|
|
1070
|
+
s = Math.ceil((r * o) / 8),
|
|
1071
|
+
f = new Uint8Array(i * s);
|
|
1072
|
+
let l = 0;
|
|
1073
|
+
const c = [0, 0, 4, 0, 2, 0, 1],
|
|
1074
|
+
u = [0, 4, 0, 2, 0, 1, 0],
|
|
1075
|
+
h = [8, 8, 8, 4, 4, 2, 2],
|
|
1076
|
+
d = [8, 8, 4, 4, 2, 2, 1];
|
|
1077
|
+
let A = 0;
|
|
1078
|
+
while (A < 7) {
|
|
1079
|
+
const p = h[A],
|
|
1080
|
+
m = d[A];
|
|
1081
|
+
let w = 0,
|
|
1082
|
+
v = 0,
|
|
1083
|
+
b = c[A];
|
|
1084
|
+
while (b < i) ((b += p), v++);
|
|
1085
|
+
let y = u[A];
|
|
1086
|
+
while (y < r) ((y += m), w++);
|
|
1087
|
+
const E = Math.ceil((w * o) / 8);
|
|
1088
|
+
_filterZero(e, t, l, w, v);
|
|
1089
|
+
let F = 0,
|
|
1090
|
+
_ = c[A];
|
|
1091
|
+
while (_ < i) {
|
|
1092
|
+
let t = u[A],
|
|
1093
|
+
i = (l + F * E) << 3;
|
|
1094
|
+
while (t < r) {
|
|
1095
|
+
var g;
|
|
1096
|
+
if (1 == o)
|
|
1097
|
+
((g = ((g = e[i >> 3]) >> (7 - (7 & i))) & 1), (f[_ * s + (t >> 3)] |= g << (7 - ((7 & t) << 0))));
|
|
1098
|
+
if (2 == o)
|
|
1099
|
+
((g = ((g = e[i >> 3]) >> (6 - (7 & i))) & 3), (f[_ * s + (t >> 2)] |= g << (6 - ((3 & t) << 1))));
|
|
1100
|
+
if (4 == o)
|
|
1101
|
+
((g = ((g = e[i >> 3]) >> (4 - (7 & i))) & 15), (f[_ * s + (t >> 1)] |= g << (4 - ((1 & t) << 2))));
|
|
1102
|
+
if (o >= 8) {
|
|
1103
|
+
const r = _ * s + t * a;
|
|
1104
|
+
for (let t = 0; t < a; t++) f[r + t] = e[(i >> 3) + t];
|
|
1105
|
+
}
|
|
1106
|
+
((i += o), (t += m));
|
|
1107
|
+
}
|
|
1108
|
+
(F++, (_ += p));
|
|
1109
|
+
}
|
|
1110
|
+
(w * v != 0 && (l += v * (1 + E)), (A += 1));
|
|
1111
|
+
}
|
|
1112
|
+
return f;
|
|
1113
|
+
})(r, e)),
|
|
1114
|
+
r
|
|
1115
|
+
);
|
|
1116
|
+
}
|
|
1117
|
+
function _inflate(e, r) {
|
|
1118
|
+
return t(new Uint8Array(e.buffer, 2, e.length - 6), r);
|
|
1119
|
+
}
|
|
1120
|
+
var t = (function () {
|
|
1121
|
+
const e = { H: {} };
|
|
1122
|
+
return (
|
|
1123
|
+
(e.H.N = function (t, r) {
|
|
1124
|
+
const i = Uint8Array;
|
|
1125
|
+
let o,
|
|
1126
|
+
a,
|
|
1127
|
+
s = 0,
|
|
1128
|
+
f = 0,
|
|
1129
|
+
l = 0,
|
|
1130
|
+
c = 0,
|
|
1131
|
+
u = 0,
|
|
1132
|
+
h = 0,
|
|
1133
|
+
d = 0,
|
|
1134
|
+
A = 0,
|
|
1135
|
+
g = 0;
|
|
1136
|
+
if (3 == t[0] && 0 == t[1]) return r || new i(0);
|
|
1137
|
+
const p = e.H,
|
|
1138
|
+
m = p.b,
|
|
1139
|
+
w = p.e,
|
|
1140
|
+
v = p.R,
|
|
1141
|
+
b = p.n,
|
|
1142
|
+
y = p.A,
|
|
1143
|
+
E = p.Z,
|
|
1144
|
+
F = p.m,
|
|
1145
|
+
_ = null == r;
|
|
1146
|
+
for (_ && (r = new i((t.length >>> 2) << 5)); 0 == s; )
|
|
1147
|
+
if (((s = m(t, g, 1)), (f = m(t, g + 1, 2)), (g += 3), 0 != f)) {
|
|
1148
|
+
if ((_ && (r = e.H.W(r, A + (1 << 17))), 1 == f && ((o = F.J), (a = F.h), (h = 511), (d = 31)), 2 == f)) {
|
|
1149
|
+
((l = w(t, g, 5) + 257), (c = w(t, g + 5, 5) + 1), (u = w(t, g + 10, 4) + 4), (g += 14));
|
|
1150
|
+
let e = 1;
|
|
1151
|
+
for (var B = 0; B < 38; B += 2) ((F.Q[B] = 0), (F.Q[B + 1] = 0));
|
|
1152
|
+
for (B = 0; B < u; B++) {
|
|
1153
|
+
const r = w(t, g + 3 * B, 3);
|
|
1154
|
+
((F.Q[1 + (F.X[B] << 1)] = r), r > e && (e = r));
|
|
1155
|
+
}
|
|
1156
|
+
((g += 3 * u),
|
|
1157
|
+
b(F.Q, e),
|
|
1158
|
+
y(F.Q, e, F.u),
|
|
1159
|
+
(o = F.w),
|
|
1160
|
+
(a = F.d),
|
|
1161
|
+
(g = v(F.u, (1 << e) - 1, l + c, t, g, F.v)));
|
|
1162
|
+
const r = p.V(F.v, 0, l, F.C);
|
|
1163
|
+
h = (1 << r) - 1;
|
|
1164
|
+
const i = p.V(F.v, l, c, F.D);
|
|
1165
|
+
((d = (1 << i) - 1), b(F.C, r), y(F.C, r, o), b(F.D, i), y(F.D, i, a));
|
|
1166
|
+
}
|
|
1167
|
+
for (;;) {
|
|
1168
|
+
const e = o[E(t, g) & h];
|
|
1169
|
+
g += 15 & e;
|
|
1170
|
+
const i = e >>> 4;
|
|
1171
|
+
if (i >>> 8 == 0) r[A++] = i;
|
|
1172
|
+
else {
|
|
1173
|
+
if (256 == i) break;
|
|
1174
|
+
{
|
|
1175
|
+
let e = A + i - 254;
|
|
1176
|
+
if (i > 264) {
|
|
1177
|
+
const r = F.q[i - 257];
|
|
1178
|
+
((e = A + (r >>> 3) + w(t, g, 7 & r)), (g += 7 & r));
|
|
1179
|
+
}
|
|
1180
|
+
const o = a[E(t, g) & d];
|
|
1181
|
+
g += 15 & o;
|
|
1182
|
+
const s = o >>> 4,
|
|
1183
|
+
f = F.c[s],
|
|
1184
|
+
l = (f >>> 4) + m(t, g, 15 & f);
|
|
1185
|
+
for (g += 15 & f; A < e; )
|
|
1186
|
+
((r[A] = r[A++ - l]), (r[A] = r[A++ - l]), (r[A] = r[A++ - l]), (r[A] = r[A++ - l]));
|
|
1187
|
+
A = e;
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
} else {
|
|
1192
|
+
0 != (7 & g) && (g += 8 - (7 & g));
|
|
1193
|
+
const o = 4 + (g >>> 3),
|
|
1194
|
+
a = t[o - 4] | (t[o - 3] << 8);
|
|
1195
|
+
(_ && (r = e.H.W(r, A + a)),
|
|
1196
|
+
r.set(new i(t.buffer, t.byteOffset + o, a), A),
|
|
1197
|
+
(g = (o + a) << 3),
|
|
1198
|
+
(A += a));
|
|
1199
|
+
}
|
|
1200
|
+
return r.length == A ? r : r.slice(0, A);
|
|
1201
|
+
}),
|
|
1202
|
+
(e.H.W = function (e, t) {
|
|
1203
|
+
const r = e.length;
|
|
1204
|
+
if (t <= r) return e;
|
|
1205
|
+
const i = new Uint8Array(r << 1);
|
|
1206
|
+
return (i.set(e, 0), i);
|
|
1207
|
+
}),
|
|
1208
|
+
(e.H.R = function (t, r, i, o, a, s) {
|
|
1209
|
+
const f = e.H.e,
|
|
1210
|
+
l = e.H.Z;
|
|
1211
|
+
let c = 0;
|
|
1212
|
+
while (c < i) {
|
|
1213
|
+
const e = t[l(o, a) & r];
|
|
1214
|
+
a += 15 & e;
|
|
1215
|
+
const i = e >>> 4;
|
|
1216
|
+
if (i <= 15) ((s[c] = i), c++);
|
|
1217
|
+
else {
|
|
1218
|
+
let e = 0,
|
|
1219
|
+
t = 0;
|
|
1220
|
+
16 == i ? ((t = 3 + f(o, a, 2)), (a += 2), (e = s[c - 1]))
|
|
1221
|
+
: 17 == i ? ((t = 3 + f(o, a, 3)), (a += 3))
|
|
1222
|
+
: 18 == i && ((t = 11 + f(o, a, 7)), (a += 7));
|
|
1223
|
+
const r = c + t;
|
|
1224
|
+
while (c < r) ((s[c] = e), c++);
|
|
1225
|
+
}
|
|
1226
|
+
}
|
|
1227
|
+
return a;
|
|
1228
|
+
}),
|
|
1229
|
+
(e.H.V = function (e, t, r, i) {
|
|
1230
|
+
let o = 0,
|
|
1231
|
+
a = 0;
|
|
1232
|
+
const s = i.length >>> 1;
|
|
1233
|
+
while (a < r) {
|
|
1234
|
+
const r = e[a + t];
|
|
1235
|
+
((i[a << 1] = 0), (i[1 + (a << 1)] = r), r > o && (o = r), a++);
|
|
1236
|
+
}
|
|
1237
|
+
while (a < s) ((i[a << 1] = 0), (i[1 + (a << 1)] = 0), a++);
|
|
1238
|
+
return o;
|
|
1239
|
+
}),
|
|
1240
|
+
(e.H.n = function (t, r) {
|
|
1241
|
+
const i = e.H.m,
|
|
1242
|
+
o = t.length;
|
|
1243
|
+
let a, s, f;
|
|
1244
|
+
let l;
|
|
1245
|
+
const c = i.j;
|
|
1246
|
+
for (var u = 0; u <= r; u++) c[u] = 0;
|
|
1247
|
+
for (u = 1; u < o; u += 2) c[t[u]]++;
|
|
1248
|
+
const h = i.K;
|
|
1249
|
+
for (a = 0, c[0] = 0, s = 1; s <= r; s++) ((a = (a + c[s - 1]) << 1), (h[s] = a));
|
|
1250
|
+
for (f = 0; f < o; f += 2) ((l = t[f + 1]), 0 != l && ((t[f] = h[l]), h[l]++));
|
|
1251
|
+
}),
|
|
1252
|
+
(e.H.A = function (t, r, i) {
|
|
1253
|
+
const o = t.length,
|
|
1254
|
+
a = e.H.m.r;
|
|
1255
|
+
for (let e = 0; e < o; e += 2)
|
|
1256
|
+
if (0 != t[e + 1]) {
|
|
1257
|
+
const o = e >> 1,
|
|
1258
|
+
s = t[e + 1],
|
|
1259
|
+
f = (o << 4) | s,
|
|
1260
|
+
l = r - s;
|
|
1261
|
+
let c = t[e] << l;
|
|
1262
|
+
const u = c + (1 << l);
|
|
1263
|
+
while (c != u) {
|
|
1264
|
+
((i[a[c] >>> (15 - r)] = f), c++);
|
|
1265
|
+
}
|
|
1266
|
+
}
|
|
1267
|
+
}),
|
|
1268
|
+
(e.H.l = function (t, r) {
|
|
1269
|
+
const i = e.H.m.r,
|
|
1270
|
+
o = 15 - r;
|
|
1271
|
+
for (let e = 0; e < t.length; e += 2) {
|
|
1272
|
+
const a = t[e] << (r - t[e + 1]);
|
|
1273
|
+
t[e] = i[a] >>> o;
|
|
1274
|
+
}
|
|
1275
|
+
}),
|
|
1276
|
+
(e.H.M = function (e, t, r) {
|
|
1277
|
+
r <<= 7 & t;
|
|
1278
|
+
const i = t >>> 3;
|
|
1279
|
+
((e[i] |= r), (e[i + 1] |= r >>> 8));
|
|
1280
|
+
}),
|
|
1281
|
+
(e.H.I = function (e, t, r) {
|
|
1282
|
+
r <<= 7 & t;
|
|
1283
|
+
const i = t >>> 3;
|
|
1284
|
+
((e[i] |= r), (e[i + 1] |= r >>> 8), (e[i + 2] |= r >>> 16));
|
|
1285
|
+
}),
|
|
1286
|
+
(e.H.e = function (e, t, r) {
|
|
1287
|
+
return ((e[t >>> 3] | (e[1 + (t >>> 3)] << 8)) >>> (7 & t)) & ((1 << r) - 1);
|
|
1288
|
+
}),
|
|
1289
|
+
(e.H.b = function (e, t, r) {
|
|
1290
|
+
return ((e[t >>> 3] | (e[1 + (t >>> 3)] << 8) | (e[2 + (t >>> 3)] << 16)) >>> (7 & t)) & ((1 << r) - 1);
|
|
1291
|
+
}),
|
|
1292
|
+
(e.H.Z = function (e, t) {
|
|
1293
|
+
return (e[t >>> 3] | (e[1 + (t >>> 3)] << 8) | (e[2 + (t >>> 3)] << 16)) >>> (7 & t);
|
|
1294
|
+
}),
|
|
1295
|
+
(e.H.i = function (e, t) {
|
|
1296
|
+
return (
|
|
1297
|
+
(e[t >>> 3] | (e[1 + (t >>> 3)] << 8) | (e[2 + (t >>> 3)] << 16) | (e[3 + (t >>> 3)] << 24)) >>> (7 & t)
|
|
1298
|
+
);
|
|
1299
|
+
}),
|
|
1300
|
+
(e.H.m = (function () {
|
|
1301
|
+
const e = Uint16Array,
|
|
1302
|
+
t = Uint32Array;
|
|
1303
|
+
return {
|
|
1304
|
+
K: new e(16),
|
|
1305
|
+
j: new e(16),
|
|
1306
|
+
X: [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],
|
|
1307
|
+
S: [
|
|
1308
|
+
3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195,
|
|
1309
|
+
227, 258, 999, 999, 999,
|
|
1310
|
+
],
|
|
1311
|
+
T: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0],
|
|
1312
|
+
q: new e(32),
|
|
1313
|
+
p: [
|
|
1314
|
+
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
|
|
1315
|
+
4097, 6145, 8193, 12289, 16385, 24577, 65535, 65535,
|
|
1316
|
+
],
|
|
1317
|
+
z: [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0],
|
|
1318
|
+
c: new t(32),
|
|
1319
|
+
J: new e(512),
|
|
1320
|
+
_: [],
|
|
1321
|
+
h: new e(32),
|
|
1322
|
+
$: [],
|
|
1323
|
+
w: new e(32768),
|
|
1324
|
+
C: [],
|
|
1325
|
+
v: [],
|
|
1326
|
+
d: new e(32768),
|
|
1327
|
+
D: [],
|
|
1328
|
+
u: new e(512),
|
|
1329
|
+
Q: [],
|
|
1330
|
+
r: new e(32768),
|
|
1331
|
+
s: new t(286),
|
|
1332
|
+
Y: new t(30),
|
|
1333
|
+
a: new t(19),
|
|
1334
|
+
t: new t(15e3),
|
|
1335
|
+
k: new e(65536),
|
|
1336
|
+
g: new e(32768),
|
|
1337
|
+
};
|
|
1338
|
+
})()),
|
|
1339
|
+
(function () {
|
|
1340
|
+
const t = e.H.m;
|
|
1341
|
+
for (var r = 0; r < 32768; r++) {
|
|
1342
|
+
let e = r;
|
|
1343
|
+
((e = ((2863311530 & e) >>> 1) | ((1431655765 & e) << 1)),
|
|
1344
|
+
(e = ((3435973836 & e) >>> 2) | ((858993459 & e) << 2)),
|
|
1345
|
+
(e = ((4042322160 & e) >>> 4) | ((252645135 & e) << 4)),
|
|
1346
|
+
(e = ((4278255360 & e) >>> 8) | ((16711935 & e) << 8)),
|
|
1347
|
+
(t.r[r] = ((e >>> 16) | (e << 16)) >>> 17));
|
|
1348
|
+
}
|
|
1349
|
+
function n(e, t, r) {
|
|
1350
|
+
while (0 != t--) e.push(0, r);
|
|
1351
|
+
}
|
|
1352
|
+
for (r = 0; r < 32; r++) ((t.q[r] = (t.S[r] << 3) | t.T[r]), (t.c[r] = (t.p[r] << 4) | t.z[r]));
|
|
1353
|
+
(n(t._, 144, 8),
|
|
1354
|
+
n(t._, 112, 9),
|
|
1355
|
+
n(t._, 24, 7),
|
|
1356
|
+
n(t._, 8, 8),
|
|
1357
|
+
e.H.n(t._, 9),
|
|
1358
|
+
e.H.A(t._, 9, t.J),
|
|
1359
|
+
e.H.l(t._, 9),
|
|
1360
|
+
n(t.$, 32, 5),
|
|
1361
|
+
e.H.n(t.$, 5),
|
|
1362
|
+
e.H.A(t.$, 5, t.h),
|
|
1363
|
+
e.H.l(t.$, 5),
|
|
1364
|
+
n(t.Q, 19, 0),
|
|
1365
|
+
n(t.C, 286, 0),
|
|
1366
|
+
n(t.D, 30, 0),
|
|
1367
|
+
n(t.v, 320, 0));
|
|
1368
|
+
})(),
|
|
1369
|
+
e.H.N
|
|
1370
|
+
);
|
|
1371
|
+
})();
|
|
1372
|
+
function _getBPP(e) {
|
|
1373
|
+
return [1, null, 3, 1, 2, null, 4][e.ctype] * e.depth;
|
|
1374
|
+
}
|
|
1375
|
+
function _filterZero(e, t, r, i, o) {
|
|
1376
|
+
let a = _getBPP(t);
|
|
1377
|
+
const s = Math.ceil((i * a) / 8);
|
|
1378
|
+
let f, l;
|
|
1379
|
+
a = Math.ceil(a / 8);
|
|
1380
|
+
let c = e[r],
|
|
1381
|
+
u = 0;
|
|
1382
|
+
if ((c > 1 && (e[r] = [0, 0, 1][c - 2]), 3 == c))
|
|
1383
|
+
for (u = a; u < s; u++) e[u + 1] = (e[u + 1] + (e[u + 1 - a] >>> 1)) & 255;
|
|
1384
|
+
for (let t = 0; t < o; t++)
|
|
1385
|
+
if (((f = r + t * s), (l = f + t + 1), (c = e[l - 1]), (u = 0), 0 == c)) for (; u < s; u++) e[f + u] = e[l + u];
|
|
1386
|
+
else if (1 == c) {
|
|
1387
|
+
for (; u < a; u++) e[f + u] = e[l + u];
|
|
1388
|
+
for (; u < s; u++) e[f + u] = e[l + u] + e[f + u - a];
|
|
1389
|
+
} else if (2 == c) for (; u < s; u++) e[f + u] = e[l + u] + e[f + u - s];
|
|
1390
|
+
else if (3 == c) {
|
|
1391
|
+
for (; u < a; u++) e[f + u] = e[l + u] + (e[f + u - s] >>> 1);
|
|
1392
|
+
for (; u < s; u++) e[f + u] = e[l + u] + ((e[f + u - s] + e[f + u - a]) >>> 1);
|
|
1393
|
+
} else {
|
|
1394
|
+
for (; u < a; u++) e[f + u] = e[l + u] + _paeth(0, e[f + u - s], 0);
|
|
1395
|
+
for (; u < s; u++) e[f + u] = e[l + u] + _paeth(e[f + u - a], e[f + u - s], e[f + u - a - s]);
|
|
1396
|
+
}
|
|
1397
|
+
return e;
|
|
1398
|
+
}
|
|
1399
|
+
function _paeth(e, t, r) {
|
|
1400
|
+
const i = e + t - r,
|
|
1401
|
+
o = i - e,
|
|
1402
|
+
a = i - t,
|
|
1403
|
+
s = i - r;
|
|
1404
|
+
return (
|
|
1405
|
+
o * o <= a * a && o * o <= s * s ? e
|
|
1406
|
+
: a * a <= s * s ? t
|
|
1407
|
+
: r
|
|
1408
|
+
);
|
|
1409
|
+
}
|
|
1410
|
+
function _IHDR(t, r, i) {
|
|
1411
|
+
((i.width = e.readUint(t, r)),
|
|
1412
|
+
(r += 4),
|
|
1413
|
+
(i.height = e.readUint(t, r)),
|
|
1414
|
+
(r += 4),
|
|
1415
|
+
(i.depth = t[r]),
|
|
1416
|
+
r++,
|
|
1417
|
+
(i.ctype = t[r]),
|
|
1418
|
+
r++,
|
|
1419
|
+
(i.compress = t[r]),
|
|
1420
|
+
r++,
|
|
1421
|
+
(i.filter = t[r]),
|
|
1422
|
+
r++,
|
|
1423
|
+
(i.interlace = t[r]),
|
|
1424
|
+
r++);
|
|
1425
|
+
}
|
|
1426
|
+
function _copyTile(e, t, r, i, o, a, s, f, l) {
|
|
1427
|
+
const c = Math.min(t, o),
|
|
1428
|
+
u = Math.min(r, a);
|
|
1429
|
+
let h = 0,
|
|
1430
|
+
d = 0;
|
|
1431
|
+
for (let r = 0; r < u; r++)
|
|
1432
|
+
for (let a = 0; a < c; a++)
|
|
1433
|
+
if (
|
|
1434
|
+
(s >= 0 && f >= 0 ?
|
|
1435
|
+
((h = (r * t + a) << 2), (d = ((f + r) * o + s + a) << 2))
|
|
1436
|
+
: ((h = ((-f + r) * t - s + a) << 2), (d = (r * o + a) << 2)),
|
|
1437
|
+
0 == l)
|
|
1438
|
+
)
|
|
1439
|
+
((i[d] = e[h]), (i[d + 1] = e[h + 1]), (i[d + 2] = e[h + 2]), (i[d + 3] = e[h + 3]));
|
|
1440
|
+
else if (1 == l) {
|
|
1441
|
+
var A = e[h + 3] * (1 / 255),
|
|
1442
|
+
g = e[h] * A,
|
|
1443
|
+
p = e[h + 1] * A,
|
|
1444
|
+
m = e[h + 2] * A,
|
|
1445
|
+
w = i[d + 3] * (1 / 255),
|
|
1446
|
+
v = i[d] * w,
|
|
1447
|
+
b = i[d + 1] * w,
|
|
1448
|
+
y = i[d + 2] * w;
|
|
1449
|
+
const t = 1 - A,
|
|
1450
|
+
r = A + w * t,
|
|
1451
|
+
o = 0 == r ? 0 : 1 / r;
|
|
1452
|
+
((i[d + 3] = 255 * r),
|
|
1453
|
+
(i[d + 0] = (g + v * t) * o),
|
|
1454
|
+
(i[d + 1] = (p + b * t) * o),
|
|
1455
|
+
(i[d + 2] = (m + y * t) * o));
|
|
1456
|
+
} else if (2 == l) {
|
|
1457
|
+
((A = e[h + 3]),
|
|
1458
|
+
(g = e[h]),
|
|
1459
|
+
(p = e[h + 1]),
|
|
1460
|
+
(m = e[h + 2]),
|
|
1461
|
+
(w = i[d + 3]),
|
|
1462
|
+
(v = i[d]),
|
|
1463
|
+
(b = i[d + 1]),
|
|
1464
|
+
(y = i[d + 2]));
|
|
1465
|
+
A == w && g == v && p == b && m == y ?
|
|
1466
|
+
((i[d] = 0), (i[d + 1] = 0), (i[d + 2] = 0), (i[d + 3] = 0))
|
|
1467
|
+
: ((i[d] = g), (i[d + 1] = p), (i[d + 2] = m), (i[d + 3] = A));
|
|
1468
|
+
} else if (3 == l) {
|
|
1469
|
+
((A = e[h + 3]),
|
|
1470
|
+
(g = e[h]),
|
|
1471
|
+
(p = e[h + 1]),
|
|
1472
|
+
(m = e[h + 2]),
|
|
1473
|
+
(w = i[d + 3]),
|
|
1474
|
+
(v = i[d]),
|
|
1475
|
+
(b = i[d + 1]),
|
|
1476
|
+
(y = i[d + 2]));
|
|
1477
|
+
if (A == w && g == v && p == b && m == y) continue;
|
|
1478
|
+
if (A < 220 && w > 20) return !1;
|
|
1479
|
+
}
|
|
1480
|
+
return !0;
|
|
1481
|
+
}
|
|
1482
|
+
return {
|
|
1483
|
+
decode: function decode(r) {
|
|
1484
|
+
const i = new Uint8Array(r);
|
|
1485
|
+
let o = 8;
|
|
1486
|
+
const a = e,
|
|
1487
|
+
s = a.readUshort,
|
|
1488
|
+
f = a.readUint,
|
|
1489
|
+
l = { tabs: {}, frames: [] },
|
|
1490
|
+
c = new Uint8Array(i.length);
|
|
1491
|
+
let u,
|
|
1492
|
+
h = 0,
|
|
1493
|
+
d = 0;
|
|
1494
|
+
const A = [137, 80, 78, 71, 13, 10, 26, 10];
|
|
1495
|
+
for (var g = 0; g < 8; g++) if (i[g] != A[g]) throw 'The input is not a PNG file!';
|
|
1496
|
+
while (o < i.length) {
|
|
1497
|
+
const e = a.readUint(i, o);
|
|
1498
|
+
o += 4;
|
|
1499
|
+
const r = a.readASCII(i, o, 4);
|
|
1500
|
+
if (((o += 4), 'IHDR' == r)) _IHDR(i, o, l);
|
|
1501
|
+
else if ('iCCP' == r) {
|
|
1502
|
+
for (var p = o; 0 != i[p]; ) p++;
|
|
1503
|
+
(a.readASCII(i, o, p - o), i[p + 1]);
|
|
1504
|
+
const s = i.slice(p + 2, o + e);
|
|
1505
|
+
let f = null;
|
|
1506
|
+
try {
|
|
1507
|
+
f = _inflate(s);
|
|
1508
|
+
} catch (e) {
|
|
1509
|
+
f = t(s);
|
|
1510
|
+
}
|
|
1511
|
+
l.tabs[r] = f;
|
|
1512
|
+
} else if ('CgBI' == r) l.tabs[r] = i.slice(o, o + 4);
|
|
1513
|
+
else if ('IDAT' == r) {
|
|
1514
|
+
for (g = 0; g < e; g++) c[h + g] = i[o + g];
|
|
1515
|
+
h += e;
|
|
1516
|
+
} else if ('acTL' == r)
|
|
1517
|
+
((l.tabs[r] = { num_frames: f(i, o), num_plays: f(i, o + 4) }), (u = new Uint8Array(i.length)));
|
|
1518
|
+
else if ('fcTL' == r) {
|
|
1519
|
+
if (0 != d)
|
|
1520
|
+
(((E = l.frames[l.frames.length - 1]).data = _decompress(l, u.slice(0, d), E.rect.width, E.rect.height)),
|
|
1521
|
+
(d = 0));
|
|
1522
|
+
const e = { x: f(i, o + 12), y: f(i, o + 16), width: f(i, o + 4), height: f(i, o + 8) };
|
|
1523
|
+
let t = s(i, o + 22);
|
|
1524
|
+
t = s(i, o + 20) / (0 == t ? 100 : t);
|
|
1525
|
+
const r = { rect: e, delay: Math.round(1e3 * t), dispose: i[o + 24], blend: i[o + 25] };
|
|
1526
|
+
l.frames.push(r);
|
|
1527
|
+
} else if ('fdAT' == r) {
|
|
1528
|
+
for (g = 0; g < e - 4; g++) u[d + g] = i[o + g + 4];
|
|
1529
|
+
d += e - 4;
|
|
1530
|
+
} else if ('pHYs' == r) l.tabs[r] = [a.readUint(i, o), a.readUint(i, o + 4), i[o + 8]];
|
|
1531
|
+
else if ('cHRM' == r) {
|
|
1532
|
+
l.tabs[r] = [];
|
|
1533
|
+
for (g = 0; g < 8; g++) l.tabs[r].push(a.readUint(i, o + 4 * g));
|
|
1534
|
+
} else if ('tEXt' == r || 'zTXt' == r) {
|
|
1535
|
+
null == l.tabs[r] && (l.tabs[r] = {});
|
|
1536
|
+
var m = a.nextZero(i, o),
|
|
1537
|
+
w = a.readASCII(i, o, m - o),
|
|
1538
|
+
v = o + e - m - 1;
|
|
1539
|
+
if ('tEXt' == r) y = a.readASCII(i, m + 1, v);
|
|
1540
|
+
else {
|
|
1541
|
+
var b = _inflate(i.slice(m + 2, m + 2 + v));
|
|
1542
|
+
y = a.readUTF8(b, 0, b.length);
|
|
1543
|
+
}
|
|
1544
|
+
l.tabs[r][w] = y;
|
|
1545
|
+
} else if ('iTXt' == r) {
|
|
1546
|
+
null == l.tabs[r] && (l.tabs[r] = {});
|
|
1547
|
+
((m = 0), (p = o));
|
|
1548
|
+
m = a.nextZero(i, p);
|
|
1549
|
+
w = a.readASCII(i, p, m - p);
|
|
1550
|
+
const t = i[(p = m + 1)];
|
|
1551
|
+
var y;
|
|
1552
|
+
(i[p + 1],
|
|
1553
|
+
(p += 2),
|
|
1554
|
+
(m = a.nextZero(i, p)),
|
|
1555
|
+
a.readASCII(i, p, m - p),
|
|
1556
|
+
(p = m + 1),
|
|
1557
|
+
(m = a.nextZero(i, p)),
|
|
1558
|
+
a.readUTF8(i, p, m - p));
|
|
1559
|
+
v = e - ((p = m + 1) - o);
|
|
1560
|
+
if (0 == t) y = a.readUTF8(i, p, v);
|
|
1561
|
+
else {
|
|
1562
|
+
b = _inflate(i.slice(p, p + v));
|
|
1563
|
+
y = a.readUTF8(b, 0, b.length);
|
|
1564
|
+
}
|
|
1565
|
+
l.tabs[r][w] = y;
|
|
1566
|
+
} else if ('PLTE' == r) l.tabs[r] = a.readBytes(i, o, e);
|
|
1567
|
+
else if ('hIST' == r) {
|
|
1568
|
+
const e = l.tabs.PLTE.length / 3;
|
|
1569
|
+
l.tabs[r] = [];
|
|
1570
|
+
for (g = 0; g < e; g++) l.tabs[r].push(s(i, o + 2 * g));
|
|
1571
|
+
} else if ('tRNS' == r)
|
|
1572
|
+
3 == l.ctype ? (l.tabs[r] = a.readBytes(i, o, e))
|
|
1573
|
+
: 0 == l.ctype ? (l.tabs[r] = s(i, o))
|
|
1574
|
+
: 2 == l.ctype && (l.tabs[r] = [s(i, o), s(i, o + 2), s(i, o + 4)]);
|
|
1575
|
+
else if ('gAMA' == r) l.tabs[r] = a.readUint(i, o) / 1e5;
|
|
1576
|
+
else if ('sRGB' == r) l.tabs[r] = i[o];
|
|
1577
|
+
else if ('bKGD' == r)
|
|
1578
|
+
0 == l.ctype || 4 == l.ctype ? (l.tabs[r] = [s(i, o)])
|
|
1579
|
+
: 2 == l.ctype || 6 == l.ctype ? (l.tabs[r] = [s(i, o), s(i, o + 2), s(i, o + 4)])
|
|
1580
|
+
: 3 == l.ctype && (l.tabs[r] = i[o]);
|
|
1581
|
+
else if ('IEND' == r) break;
|
|
1582
|
+
((o += e), a.readUint(i, o), (o += 4));
|
|
1583
|
+
}
|
|
1584
|
+
var E;
|
|
1585
|
+
return (
|
|
1586
|
+
0 != d &&
|
|
1587
|
+
((E = l.frames[l.frames.length - 1]).data = _decompress(l, u.slice(0, d), E.rect.width, E.rect.height)),
|
|
1588
|
+
(l.data = _decompress(l, c, l.width, l.height)),
|
|
1589
|
+
delete l.compress,
|
|
1590
|
+
delete l.interlace,
|
|
1591
|
+
delete l.filter,
|
|
1592
|
+
l
|
|
1593
|
+
);
|
|
1594
|
+
},
|
|
1595
|
+
toRGBA8: function toRGBA8(e) {
|
|
1596
|
+
const t = e.width,
|
|
1597
|
+
r = e.height;
|
|
1598
|
+
if (null == e.tabs.acTL) return [decodeImage(e.data, t, r, e).buffer];
|
|
1599
|
+
const i = [];
|
|
1600
|
+
null == e.frames[0].data && (e.frames[0].data = e.data);
|
|
1601
|
+
const o = t * r * 4,
|
|
1602
|
+
a = new Uint8Array(o),
|
|
1603
|
+
s = new Uint8Array(o),
|
|
1604
|
+
f = new Uint8Array(o);
|
|
1605
|
+
for (let c = 0; c < e.frames.length; c++) {
|
|
1606
|
+
const u = e.frames[c],
|
|
1607
|
+
h = u.rect.x,
|
|
1608
|
+
d = u.rect.y,
|
|
1609
|
+
A = u.rect.width,
|
|
1610
|
+
g = u.rect.height,
|
|
1611
|
+
p = decodeImage(u.data, A, g, e);
|
|
1612
|
+
if (0 != c) for (var l = 0; l < o; l++) f[l] = a[l];
|
|
1613
|
+
if (
|
|
1614
|
+
(0 == u.blend ? _copyTile(p, A, g, a, t, r, h, d, 0) : 1 == u.blend && _copyTile(p, A, g, a, t, r, h, d, 1),
|
|
1615
|
+
i.push(a.buffer.slice(0)),
|
|
1616
|
+
0 == u.dispose)
|
|
1617
|
+
);
|
|
1618
|
+
else if (1 == u.dispose) _copyTile(s, A, g, a, t, r, h, d, 0);
|
|
1619
|
+
else if (2 == u.dispose) for (l = 0; l < o; l++) a[l] = f[l];
|
|
1620
|
+
}
|
|
1621
|
+
return i;
|
|
1622
|
+
},
|
|
1623
|
+
_paeth: _paeth,
|
|
1624
|
+
_copyTile: _copyTile,
|
|
1625
|
+
_bin: e,
|
|
1626
|
+
};
|
|
1627
|
+
})();
|
|
1628
|
+
!(function () {
|
|
1629
|
+
const { _copyTile: e } = UPNG,
|
|
1630
|
+
{ _bin: t } = UPNG,
|
|
1631
|
+
r = UPNG._paeth;
|
|
1632
|
+
var i = {
|
|
1633
|
+
table: (function () {
|
|
1634
|
+
const e = new Uint32Array(256);
|
|
1635
|
+
for (let t = 0; t < 256; t++) {
|
|
1636
|
+
let r = t;
|
|
1637
|
+
for (let e = 0; e < 8; e++) 1 & r ? (r = 3988292384 ^ (r >>> 1)) : (r >>>= 1);
|
|
1638
|
+
e[t] = r;
|
|
1639
|
+
}
|
|
1640
|
+
return e;
|
|
1641
|
+
})(),
|
|
1642
|
+
update(e, t, r, o) {
|
|
1643
|
+
for (let a = 0; a < o; a++) e = i.table[255 & (e ^ t[r + a])] ^ (e >>> 8);
|
|
1644
|
+
return e;
|
|
1645
|
+
},
|
|
1646
|
+
crc: (e, t, r) => 4294967295 ^ i.update(4294967295, e, t, r),
|
|
1647
|
+
};
|
|
1648
|
+
function addErr(e, t, r, i) {
|
|
1649
|
+
((t[r] += (e[0] * i) >> 4),
|
|
1650
|
+
(t[r + 1] += (e[1] * i) >> 4),
|
|
1651
|
+
(t[r + 2] += (e[2] * i) >> 4),
|
|
1652
|
+
(t[r + 3] += (e[3] * i) >> 4));
|
|
1653
|
+
}
|
|
1654
|
+
function N(e) {
|
|
1655
|
+
return Math.max(0, Math.min(255, e));
|
|
1656
|
+
}
|
|
1657
|
+
function D(e, t) {
|
|
1658
|
+
const r = e[0] - t[0],
|
|
1659
|
+
i = e[1] - t[1],
|
|
1660
|
+
o = e[2] - t[2],
|
|
1661
|
+
a = e[3] - t[3];
|
|
1662
|
+
return r * r + i * i + o * o + a * a;
|
|
1663
|
+
}
|
|
1664
|
+
function dither(e, t, r, i, o, a, s) {
|
|
1665
|
+
null == s && (s = 1);
|
|
1666
|
+
const f = i.length,
|
|
1667
|
+
l = [];
|
|
1668
|
+
for (var c = 0; c < f; c++) {
|
|
1669
|
+
const e = i[c];
|
|
1670
|
+
l.push([(e >>> 0) & 255, (e >>> 8) & 255, (e >>> 16) & 255, (e >>> 24) & 255]);
|
|
1671
|
+
}
|
|
1672
|
+
for (c = 0; c < f; c++) {
|
|
1673
|
+
let e = 4294967295;
|
|
1674
|
+
for (var u = 0, h = 0; h < f; h++) {
|
|
1675
|
+
var d = D(l[c], l[h]);
|
|
1676
|
+
h != c && d < e && ((e = d), (u = h));
|
|
1677
|
+
}
|
|
1678
|
+
}
|
|
1679
|
+
const A = new Uint32Array(o.buffer),
|
|
1680
|
+
g = new Int16Array(t * r * 4),
|
|
1681
|
+
p = [0, 8, 2, 10, 12, 4, 14, 6, 3, 11, 1, 9, 15, 7, 13, 5];
|
|
1682
|
+
for (c = 0; c < p.length; c++) p[c] = 255 * ((p[c] + 0.5) / 16 - 0.5);
|
|
1683
|
+
for (let o = 0; o < r; o++)
|
|
1684
|
+
for (let w = 0; w < t; w++) {
|
|
1685
|
+
var m;
|
|
1686
|
+
c = 4 * (o * t + w);
|
|
1687
|
+
if (2 != s) m = [N(e[c] + g[c]), N(e[c + 1] + g[c + 1]), N(e[c + 2] + g[c + 2]), N(e[c + 3] + g[c + 3])];
|
|
1688
|
+
else {
|
|
1689
|
+
d = p[4 * (3 & o) + (3 & w)];
|
|
1690
|
+
m = [N(e[c] + d), N(e[c + 1] + d), N(e[c + 2] + d), N(e[c + 3] + d)];
|
|
1691
|
+
}
|
|
1692
|
+
u = 0;
|
|
1693
|
+
let v = 16777215;
|
|
1694
|
+
for (h = 0; h < f; h++) {
|
|
1695
|
+
const e = D(m, l[h]);
|
|
1696
|
+
e < v && ((v = e), (u = h));
|
|
1697
|
+
}
|
|
1698
|
+
const b = l[u],
|
|
1699
|
+
y = [m[0] - b[0], m[1] - b[1], m[2] - b[2], m[3] - b[3]];
|
|
1700
|
+
(1 == s &&
|
|
1701
|
+
(w != t - 1 && addErr(y, g, c + 4, 7),
|
|
1702
|
+
o != r - 1 &&
|
|
1703
|
+
(0 != w && addErr(y, g, c + 4 * t - 4, 3),
|
|
1704
|
+
addErr(y, g, c + 4 * t, 5),
|
|
1705
|
+
w != t - 1 && addErr(y, g, c + 4 * t + 4, 1))),
|
|
1706
|
+
(a[c >> 2] = u),
|
|
1707
|
+
(A[c >> 2] = i[u]));
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1710
|
+
function _main(e, r, o, a, s) {
|
|
1711
|
+
null == s && (s = {});
|
|
1712
|
+
const { crc: f } = i,
|
|
1713
|
+
l = t.writeUint,
|
|
1714
|
+
c = t.writeUshort,
|
|
1715
|
+
u = t.writeASCII;
|
|
1716
|
+
let h = 8;
|
|
1717
|
+
const d = e.frames.length > 1;
|
|
1718
|
+
let A,
|
|
1719
|
+
g = !1,
|
|
1720
|
+
p = 33 + (d ? 20 : 0);
|
|
1721
|
+
if (
|
|
1722
|
+
(null != s.sRGB && (p += 13),
|
|
1723
|
+
null != s.pHYs && (p += 21),
|
|
1724
|
+
null != s.iCCP && ((A = pako.deflate(s.iCCP)), (p += 21 + A.length + 4)),
|
|
1725
|
+
3 == e.ctype)
|
|
1726
|
+
) {
|
|
1727
|
+
for (var m = e.plte.length, w = 0; w < m; w++) e.plte[w] >>> 24 != 255 && (g = !0);
|
|
1728
|
+
p += 8 + 3 * m + 4 + (g ? 8 + 1 * m + 4 : 0);
|
|
1729
|
+
}
|
|
1730
|
+
for (var v = 0; v < e.frames.length; v++) {
|
|
1731
|
+
(d && (p += 38), (p += (F = e.frames[v]).cimg.length + 12), 0 != v && (p += 4));
|
|
1732
|
+
}
|
|
1733
|
+
p += 12;
|
|
1734
|
+
const b = new Uint8Array(p),
|
|
1735
|
+
y = [137, 80, 78, 71, 13, 10, 26, 10];
|
|
1736
|
+
for (w = 0; w < 8; w++) b[w] = y[w];
|
|
1737
|
+
if (
|
|
1738
|
+
(l(b, h, 13),
|
|
1739
|
+
(h += 4),
|
|
1740
|
+
u(b, h, 'IHDR'),
|
|
1741
|
+
(h += 4),
|
|
1742
|
+
l(b, h, r),
|
|
1743
|
+
(h += 4),
|
|
1744
|
+
l(b, h, o),
|
|
1745
|
+
(h += 4),
|
|
1746
|
+
(b[h] = e.depth),
|
|
1747
|
+
h++,
|
|
1748
|
+
(b[h] = e.ctype),
|
|
1749
|
+
h++,
|
|
1750
|
+
(b[h] = 0),
|
|
1751
|
+
h++,
|
|
1752
|
+
(b[h] = 0),
|
|
1753
|
+
h++,
|
|
1754
|
+
(b[h] = 0),
|
|
1755
|
+
h++,
|
|
1756
|
+
l(b, h, f(b, h - 17, 17)),
|
|
1757
|
+
(h += 4),
|
|
1758
|
+
null != s.sRGB &&
|
|
1759
|
+
(l(b, h, 1), (h += 4), u(b, h, 'sRGB'), (h += 4), (b[h] = s.sRGB), h++, l(b, h, f(b, h - 5, 5)), (h += 4)),
|
|
1760
|
+
null != s.iCCP)
|
|
1761
|
+
) {
|
|
1762
|
+
const e = 13 + A.length;
|
|
1763
|
+
(l(b, h, e),
|
|
1764
|
+
(h += 4),
|
|
1765
|
+
u(b, h, 'iCCP'),
|
|
1766
|
+
(h += 4),
|
|
1767
|
+
u(b, h, 'ICC profile'),
|
|
1768
|
+
(h += 11),
|
|
1769
|
+
(h += 2),
|
|
1770
|
+
b.set(A, h),
|
|
1771
|
+
(h += A.length),
|
|
1772
|
+
l(b, h, f(b, h - (e + 4), e + 4)),
|
|
1773
|
+
(h += 4));
|
|
1774
|
+
}
|
|
1775
|
+
if (
|
|
1776
|
+
(null != s.pHYs &&
|
|
1777
|
+
(l(b, h, 9),
|
|
1778
|
+
(h += 4),
|
|
1779
|
+
u(b, h, 'pHYs'),
|
|
1780
|
+
(h += 4),
|
|
1781
|
+
l(b, h, s.pHYs[0]),
|
|
1782
|
+
(h += 4),
|
|
1783
|
+
l(b, h, s.pHYs[1]),
|
|
1784
|
+
(h += 4),
|
|
1785
|
+
(b[h] = s.pHYs[2]),
|
|
1786
|
+
h++,
|
|
1787
|
+
l(b, h, f(b, h - 13, 13)),
|
|
1788
|
+
(h += 4)),
|
|
1789
|
+
d &&
|
|
1790
|
+
(l(b, h, 8),
|
|
1791
|
+
(h += 4),
|
|
1792
|
+
u(b, h, 'acTL'),
|
|
1793
|
+
(h += 4),
|
|
1794
|
+
l(b, h, e.frames.length),
|
|
1795
|
+
(h += 4),
|
|
1796
|
+
l(b, h, null != s.loop ? s.loop : 0),
|
|
1797
|
+
(h += 4),
|
|
1798
|
+
l(b, h, f(b, h - 12, 12)),
|
|
1799
|
+
(h += 4)),
|
|
1800
|
+
3 == e.ctype)
|
|
1801
|
+
) {
|
|
1802
|
+
(l(b, h, 3 * (m = e.plte.length)), (h += 4), u(b, h, 'PLTE'), (h += 4));
|
|
1803
|
+
for (w = 0; w < m; w++) {
|
|
1804
|
+
const t = 3 * w,
|
|
1805
|
+
r = e.plte[w],
|
|
1806
|
+
i = 255 & r,
|
|
1807
|
+
o = (r >>> 8) & 255,
|
|
1808
|
+
a = (r >>> 16) & 255;
|
|
1809
|
+
((b[h + t + 0] = i), (b[h + t + 1] = o), (b[h + t + 2] = a));
|
|
1810
|
+
}
|
|
1811
|
+
if (((h += 3 * m), l(b, h, f(b, h - 3 * m - 4, 3 * m + 4)), (h += 4), g)) {
|
|
1812
|
+
(l(b, h, m), (h += 4), u(b, h, 'tRNS'), (h += 4));
|
|
1813
|
+
for (w = 0; w < m; w++) b[h + w] = (e.plte[w] >>> 24) & 255;
|
|
1814
|
+
((h += m), l(b, h, f(b, h - m - 4, m + 4)), (h += 4));
|
|
1815
|
+
}
|
|
1816
|
+
}
|
|
1817
|
+
let E = 0;
|
|
1818
|
+
for (v = 0; v < e.frames.length; v++) {
|
|
1819
|
+
var F = e.frames[v];
|
|
1820
|
+
d &&
|
|
1821
|
+
(l(b, h, 26),
|
|
1822
|
+
(h += 4),
|
|
1823
|
+
u(b, h, 'fcTL'),
|
|
1824
|
+
(h += 4),
|
|
1825
|
+
l(b, h, E++),
|
|
1826
|
+
(h += 4),
|
|
1827
|
+
l(b, h, F.rect.width),
|
|
1828
|
+
(h += 4),
|
|
1829
|
+
l(b, h, F.rect.height),
|
|
1830
|
+
(h += 4),
|
|
1831
|
+
l(b, h, F.rect.x),
|
|
1832
|
+
(h += 4),
|
|
1833
|
+
l(b, h, F.rect.y),
|
|
1834
|
+
(h += 4),
|
|
1835
|
+
c(b, h, a[v]),
|
|
1836
|
+
(h += 2),
|
|
1837
|
+
c(b, h, 1e3),
|
|
1838
|
+
(h += 2),
|
|
1839
|
+
(b[h] = F.dispose),
|
|
1840
|
+
h++,
|
|
1841
|
+
(b[h] = F.blend),
|
|
1842
|
+
h++,
|
|
1843
|
+
l(b, h, f(b, h - 30, 30)),
|
|
1844
|
+
(h += 4));
|
|
1845
|
+
const t = F.cimg;
|
|
1846
|
+
(l(b, h, (m = t.length) + (0 == v ? 0 : 4)), (h += 4));
|
|
1847
|
+
const r = h;
|
|
1848
|
+
(u(b, h, 0 == v ? 'IDAT' : 'fdAT'),
|
|
1849
|
+
(h += 4),
|
|
1850
|
+
0 != v && (l(b, h, E++), (h += 4)),
|
|
1851
|
+
b.set(t, h),
|
|
1852
|
+
(h += m),
|
|
1853
|
+
l(b, h, f(b, r, h - r)),
|
|
1854
|
+
(h += 4));
|
|
1855
|
+
}
|
|
1856
|
+
return (l(b, h, 0), (h += 4), u(b, h, 'IEND'), (h += 4), l(b, h, f(b, h - 4, 4)), (h += 4), b.buffer);
|
|
1857
|
+
}
|
|
1858
|
+
function compressPNG(e, t, r) {
|
|
1859
|
+
for (let i = 0; i < e.frames.length; i++) {
|
|
1860
|
+
const o = e.frames[i];
|
|
1861
|
+
o.rect.width;
|
|
1862
|
+
const a = o.rect.height,
|
|
1863
|
+
s = new Uint8Array(a * o.bpl + a);
|
|
1864
|
+
o.cimg = _filterZero(o.img, a, o.bpp, o.bpl, s, t, r);
|
|
1865
|
+
}
|
|
1866
|
+
}
|
|
1867
|
+
function compress(t, r, i, o, a) {
|
|
1868
|
+
const s = a[0],
|
|
1869
|
+
f = a[1],
|
|
1870
|
+
l = a[2],
|
|
1871
|
+
c = a[3],
|
|
1872
|
+
u = a[4],
|
|
1873
|
+
h = a[5];
|
|
1874
|
+
let d = 6,
|
|
1875
|
+
A = 8,
|
|
1876
|
+
g = 255;
|
|
1877
|
+
for (var p = 0; p < t.length; p++) {
|
|
1878
|
+
const e = new Uint8Array(t[p]);
|
|
1879
|
+
for (var m = e.length, w = 0; w < m; w += 4) g &= e[w + 3];
|
|
1880
|
+
}
|
|
1881
|
+
const v = 255 != g,
|
|
1882
|
+
b = (function framize(t, r, i, o, a, s) {
|
|
1883
|
+
const f = [];
|
|
1884
|
+
for (var l = 0; l < t.length; l++) {
|
|
1885
|
+
const h = new Uint8Array(t[l]),
|
|
1886
|
+
A = new Uint32Array(h.buffer);
|
|
1887
|
+
var c;
|
|
1888
|
+
let g = 0,
|
|
1889
|
+
p = 0,
|
|
1890
|
+
m = r,
|
|
1891
|
+
w = i,
|
|
1892
|
+
v = o ? 1 : 0;
|
|
1893
|
+
if (0 != l) {
|
|
1894
|
+
const b = s || o || 1 == l || 0 != f[l - 2].dispose ? 1 : 2;
|
|
1895
|
+
let y = 0,
|
|
1896
|
+
E = 1e9;
|
|
1897
|
+
for (let e = 0; e < b; e++) {
|
|
1898
|
+
var u = new Uint8Array(t[l - 1 - e]);
|
|
1899
|
+
const o = new Uint32Array(t[l - 1 - e]);
|
|
1900
|
+
let s = r,
|
|
1901
|
+
f = i,
|
|
1902
|
+
c = -1,
|
|
1903
|
+
h = -1;
|
|
1904
|
+
for (let e = 0; e < i; e++)
|
|
1905
|
+
for (let t = 0; t < r; t++) {
|
|
1906
|
+
A[(d = e * r + t)] != o[d] &&
|
|
1907
|
+
(t < s && (s = t), t > c && (c = t), e < f && (f = e), e > h && (h = e));
|
|
1908
|
+
}
|
|
1909
|
+
(-1 == c && (s = f = c = h = 0), a && (1 == (1 & s) && s--, 1 == (1 & f) && f--));
|
|
1910
|
+
const v = (c - s + 1) * (h - f + 1);
|
|
1911
|
+
v < E && ((E = v), (y = e), (g = s), (p = f), (m = c - s + 1), (w = h - f + 1));
|
|
1912
|
+
}
|
|
1913
|
+
u = new Uint8Array(t[l - 1 - y]);
|
|
1914
|
+
(1 == y && (f[l - 1].dispose = 2),
|
|
1915
|
+
(c = new Uint8Array(m * w * 4)),
|
|
1916
|
+
e(u, r, i, c, m, w, -g, -p, 0),
|
|
1917
|
+
(v = e(h, r, i, c, m, w, -g, -p, 3) ? 1 : 0),
|
|
1918
|
+
1 == v ?
|
|
1919
|
+
_prepareDiff(h, r, i, c, { x: g, y: p, width: m, height: w })
|
|
1920
|
+
: e(h, r, i, c, m, w, -g, -p, 0));
|
|
1921
|
+
} else c = h.slice(0);
|
|
1922
|
+
f.push({ rect: { x: g, y: p, width: m, height: w }, img: c, blend: v, dispose: 0 });
|
|
1923
|
+
}
|
|
1924
|
+
if (o)
|
|
1925
|
+
for (l = 0; l < f.length; l++) {
|
|
1926
|
+
if (1 == (A = f[l]).blend) continue;
|
|
1927
|
+
const e = A.rect,
|
|
1928
|
+
o = f[l - 1].rect,
|
|
1929
|
+
s = Math.min(e.x, o.x),
|
|
1930
|
+
c = Math.min(e.y, o.y),
|
|
1931
|
+
u = {
|
|
1932
|
+
x: s,
|
|
1933
|
+
y: c,
|
|
1934
|
+
width: Math.max(e.x + e.width, o.x + o.width) - s,
|
|
1935
|
+
height: Math.max(e.y + e.height, o.y + o.height) - c,
|
|
1936
|
+
};
|
|
1937
|
+
((f[l - 1].dispose = 1),
|
|
1938
|
+
l - 1 != 0 && _updateFrame(t, r, i, f, l - 1, u, a),
|
|
1939
|
+
_updateFrame(t, r, i, f, l, u, a));
|
|
1940
|
+
}
|
|
1941
|
+
let h = 0;
|
|
1942
|
+
if (1 != t.length)
|
|
1943
|
+
for (var d = 0; d < f.length; d++) {
|
|
1944
|
+
var A;
|
|
1945
|
+
h += (A = f[d]).rect.width * A.rect.height;
|
|
1946
|
+
}
|
|
1947
|
+
return f;
|
|
1948
|
+
})(t, r, i, s, f, l),
|
|
1949
|
+
y = {},
|
|
1950
|
+
E = [],
|
|
1951
|
+
F = [];
|
|
1952
|
+
if (0 != o) {
|
|
1953
|
+
const e = [];
|
|
1954
|
+
for (w = 0; w < b.length; w++) e.push(b[w].img.buffer);
|
|
1955
|
+
const t = (function concatRGBA(e) {
|
|
1956
|
+
let t = 0;
|
|
1957
|
+
for (var r = 0; r < e.length; r++) t += e[r].byteLength;
|
|
1958
|
+
const i = new Uint8Array(t);
|
|
1959
|
+
let o = 0;
|
|
1960
|
+
for (r = 0; r < e.length; r++) {
|
|
1961
|
+
const t = new Uint8Array(e[r]),
|
|
1962
|
+
a = t.length;
|
|
1963
|
+
for (let e = 0; e < a; e += 4) {
|
|
1964
|
+
let r = t[e],
|
|
1965
|
+
a = t[e + 1],
|
|
1966
|
+
s = t[e + 2];
|
|
1967
|
+
const f = t[e + 3];
|
|
1968
|
+
(0 == f && (r = a = s = 0), (i[o + e] = r), (i[o + e + 1] = a), (i[o + e + 2] = s), (i[o + e + 3] = f));
|
|
1969
|
+
}
|
|
1970
|
+
o += a;
|
|
1971
|
+
}
|
|
1972
|
+
return i.buffer;
|
|
1973
|
+
})(e),
|
|
1974
|
+
r = quantize(t, o);
|
|
1975
|
+
for (w = 0; w < r.plte.length; w++) E.push(r.plte[w].est.rgba);
|
|
1976
|
+
let i = 0;
|
|
1977
|
+
for (w = 0; w < b.length; w++) {
|
|
1978
|
+
const e = (B = b[w]).img.length;
|
|
1979
|
+
var _ = new Uint8Array(r.inds.buffer, i >> 2, e >> 2);
|
|
1980
|
+
F.push(_);
|
|
1981
|
+
const t = new Uint8Array(r.abuf, i, e);
|
|
1982
|
+
(h && dither(B.img, B.rect.width, B.rect.height, E, t, _), B.img.set(t), (i += e));
|
|
1983
|
+
}
|
|
1984
|
+
} else
|
|
1985
|
+
for (p = 0; p < b.length; p++) {
|
|
1986
|
+
var B = b[p];
|
|
1987
|
+
const e = new Uint32Array(B.img.buffer);
|
|
1988
|
+
var U = B.rect.width;
|
|
1989
|
+
((m = e.length), (_ = new Uint8Array(m)));
|
|
1990
|
+
F.push(_);
|
|
1991
|
+
for (w = 0; w < m; w++) {
|
|
1992
|
+
const t = e[w];
|
|
1993
|
+
if (0 != w && t == e[w - 1]) _[w] = _[w - 1];
|
|
1994
|
+
else if (w > U && t == e[w - U]) _[w] = _[w - U];
|
|
1995
|
+
else {
|
|
1996
|
+
let e = y[t];
|
|
1997
|
+
if (null == e && ((y[t] = e = E.length), E.push(t), E.length >= 300)) break;
|
|
1998
|
+
_[w] = e;
|
|
1999
|
+
}
|
|
2000
|
+
}
|
|
2001
|
+
}
|
|
2002
|
+
const C = E.length;
|
|
2003
|
+
C <= 256 &&
|
|
2004
|
+
0 == u &&
|
|
2005
|
+
((A =
|
|
2006
|
+
C <= 2 ? 1
|
|
2007
|
+
: C <= 4 ? 2
|
|
2008
|
+
: C <= 16 ? 4
|
|
2009
|
+
: 8),
|
|
2010
|
+
(A = Math.max(A, c)));
|
|
2011
|
+
for (p = 0; p < b.length; p++) {
|
|
2012
|
+
((B = b[p]).rect.x, B.rect.y);
|
|
2013
|
+
U = B.rect.width;
|
|
2014
|
+
const e = B.rect.height;
|
|
2015
|
+
let t = B.img;
|
|
2016
|
+
new Uint32Array(t.buffer);
|
|
2017
|
+
let r = 4 * U,
|
|
2018
|
+
i = 4;
|
|
2019
|
+
if (C <= 256 && 0 == u) {
|
|
2020
|
+
r = Math.ceil((A * U) / 8);
|
|
2021
|
+
var I = new Uint8Array(r * e);
|
|
2022
|
+
const o = F[p];
|
|
2023
|
+
for (let t = 0; t < e; t++) {
|
|
2024
|
+
w = t * r;
|
|
2025
|
+
const e = t * U;
|
|
2026
|
+
if (8 == A) for (var Q = 0; Q < U; Q++) I[w + Q] = o[e + Q];
|
|
2027
|
+
else if (4 == A) for (Q = 0; Q < U; Q++) I[w + (Q >> 1)] |= o[e + Q] << (4 - 4 * (1 & Q));
|
|
2028
|
+
else if (2 == A) for (Q = 0; Q < U; Q++) I[w + (Q >> 2)] |= o[e + Q] << (6 - 2 * (3 & Q));
|
|
2029
|
+
else if (1 == A) for (Q = 0; Q < U; Q++) I[w + (Q >> 3)] |= o[e + Q] << (7 - 1 * (7 & Q));
|
|
2030
|
+
}
|
|
2031
|
+
((t = I), (d = 3), (i = 1));
|
|
2032
|
+
} else if (0 == v && 1 == b.length) {
|
|
2033
|
+
I = new Uint8Array(U * e * 3);
|
|
2034
|
+
const o = U * e;
|
|
2035
|
+
for (w = 0; w < o; w++) {
|
|
2036
|
+
const e = 3 * w,
|
|
2037
|
+
r = 4 * w;
|
|
2038
|
+
((I[e] = t[r]), (I[e + 1] = t[r + 1]), (I[e + 2] = t[r + 2]));
|
|
2039
|
+
}
|
|
2040
|
+
((t = I), (d = 2), (i = 3), (r = 3 * U));
|
|
2041
|
+
}
|
|
2042
|
+
((B.img = t), (B.bpl = r), (B.bpp = i));
|
|
2043
|
+
}
|
|
2044
|
+
return { ctype: d, depth: A, plte: E, frames: b };
|
|
2045
|
+
}
|
|
2046
|
+
function _updateFrame(t, r, i, o, a, s, f) {
|
|
2047
|
+
const l = Uint8Array,
|
|
2048
|
+
c = Uint32Array,
|
|
2049
|
+
u = new l(t[a - 1]),
|
|
2050
|
+
h = new c(t[a - 1]),
|
|
2051
|
+
d = a + 1 < t.length ? new l(t[a + 1]) : null,
|
|
2052
|
+
A = new l(t[a]),
|
|
2053
|
+
g = new c(A.buffer);
|
|
2054
|
+
let p = r,
|
|
2055
|
+
m = i,
|
|
2056
|
+
w = -1,
|
|
2057
|
+
v = -1;
|
|
2058
|
+
for (let e = 0; e < s.height; e++)
|
|
2059
|
+
for (let t = 0; t < s.width; t++) {
|
|
2060
|
+
const i = s.x + t,
|
|
2061
|
+
f = s.y + e,
|
|
2062
|
+
l = f * r + i,
|
|
2063
|
+
c = g[l];
|
|
2064
|
+
0 == c ||
|
|
2065
|
+
(0 == o[a - 1].dispose && h[l] == c && (null == d || 0 != d[4 * l + 3])) ||
|
|
2066
|
+
(i < p && (p = i), i > w && (w = i), f < m && (m = f), f > v && (v = f));
|
|
2067
|
+
}
|
|
2068
|
+
(-1 == w && (p = m = w = v = 0),
|
|
2069
|
+
f && (1 == (1 & p) && p--, 1 == (1 & m) && m--),
|
|
2070
|
+
(s = { x: p, y: m, width: w - p + 1, height: v - m + 1 }));
|
|
2071
|
+
const b = o[a];
|
|
2072
|
+
((b.rect = s),
|
|
2073
|
+
(b.blend = 1),
|
|
2074
|
+
(b.img = new Uint8Array(s.width * s.height * 4)),
|
|
2075
|
+
0 == o[a - 1].dispose ?
|
|
2076
|
+
(e(u, r, i, b.img, s.width, s.height, -s.x, -s.y, 0), _prepareDiff(A, r, i, b.img, s))
|
|
2077
|
+
: e(A, r, i, b.img, s.width, s.height, -s.x, -s.y, 0));
|
|
2078
|
+
}
|
|
2079
|
+
function _prepareDiff(t, r, i, o, a) {
|
|
2080
|
+
e(t, r, i, o, a.width, a.height, -a.x, -a.y, 2);
|
|
2081
|
+
}
|
|
2082
|
+
function _filterZero(e, t, r, i, o, a, s) {
|
|
2083
|
+
const f = [];
|
|
2084
|
+
let l,
|
|
2085
|
+
c = [0, 1, 2, 3, 4];
|
|
2086
|
+
(-1 != a ? (c = [a]) : (t * i > 5e5 || 1 == r) && (c = [0]), s && (l = { level: 0 }));
|
|
2087
|
+
const u = UZIP;
|
|
2088
|
+
for (var h = 0; h < c.length; h++) {
|
|
2089
|
+
for (let a = 0; a < t; a++) _filterLine(o, e, a, i, r, c[h]);
|
|
2090
|
+
f.push(u.deflate(o, l));
|
|
2091
|
+
}
|
|
2092
|
+
let d,
|
|
2093
|
+
A = 1e9;
|
|
2094
|
+
for (h = 0; h < f.length; h++) f[h].length < A && ((d = h), (A = f[h].length));
|
|
2095
|
+
return f[d];
|
|
2096
|
+
}
|
|
2097
|
+
function _filterLine(e, t, i, o, a, s) {
|
|
2098
|
+
const f = i * o;
|
|
2099
|
+
let l = f + i;
|
|
2100
|
+
if (((e[l] = s), l++, 0 == s))
|
|
2101
|
+
if (o < 500) for (var c = 0; c < o; c++) e[l + c] = t[f + c];
|
|
2102
|
+
else e.set(new Uint8Array(t.buffer, f, o), l);
|
|
2103
|
+
else if (1 == s) {
|
|
2104
|
+
for (c = 0; c < a; c++) e[l + c] = t[f + c];
|
|
2105
|
+
for (c = a; c < o; c++) e[l + c] = (t[f + c] - t[f + c - a] + 256) & 255;
|
|
2106
|
+
} else if (0 == i) {
|
|
2107
|
+
for (c = 0; c < a; c++) e[l + c] = t[f + c];
|
|
2108
|
+
if (2 == s) for (c = a; c < o; c++) e[l + c] = t[f + c];
|
|
2109
|
+
if (3 == s) for (c = a; c < o; c++) e[l + c] = (t[f + c] - (t[f + c - a] >> 1) + 256) & 255;
|
|
2110
|
+
if (4 == s) for (c = a; c < o; c++) e[l + c] = (t[f + c] - r(t[f + c - a], 0, 0) + 256) & 255;
|
|
2111
|
+
} else {
|
|
2112
|
+
if (2 == s) for (c = 0; c < o; c++) e[l + c] = (t[f + c] + 256 - t[f + c - o]) & 255;
|
|
2113
|
+
if (3 == s) {
|
|
2114
|
+
for (c = 0; c < a; c++) e[l + c] = (t[f + c] + 256 - (t[f + c - o] >> 1)) & 255;
|
|
2115
|
+
for (c = a; c < o; c++) e[l + c] = (t[f + c] + 256 - ((t[f + c - o] + t[f + c - a]) >> 1)) & 255;
|
|
2116
|
+
}
|
|
2117
|
+
if (4 == s) {
|
|
2118
|
+
for (c = 0; c < a; c++) e[l + c] = (t[f + c] + 256 - r(0, t[f + c - o], 0)) & 255;
|
|
2119
|
+
for (c = a; c < o; c++) e[l + c] = (t[f + c] + 256 - r(t[f + c - a], t[f + c - o], t[f + c - a - o])) & 255;
|
|
2120
|
+
}
|
|
2121
|
+
}
|
|
2122
|
+
}
|
|
2123
|
+
function quantize(e, t) {
|
|
2124
|
+
const r = new Uint8Array(e),
|
|
2125
|
+
i = r.slice(0),
|
|
2126
|
+
o = new Uint32Array(i.buffer),
|
|
2127
|
+
a = getKDtree(i, t),
|
|
2128
|
+
s = a[0],
|
|
2129
|
+
f = a[1],
|
|
2130
|
+
l = r.length,
|
|
2131
|
+
c = new Uint8Array(l >> 2);
|
|
2132
|
+
let u;
|
|
2133
|
+
if (r.length < 2e7)
|
|
2134
|
+
for (var h = 0; h < l; h += 4) {
|
|
2135
|
+
((u = getNearest(
|
|
2136
|
+
s,
|
|
2137
|
+
(d = r[h] * (1 / 255)),
|
|
2138
|
+
(A = r[h + 1] * (1 / 255)),
|
|
2139
|
+
(g = r[h + 2] * (1 / 255)),
|
|
2140
|
+
(p = r[h + 3] * (1 / 255)),
|
|
2141
|
+
)),
|
|
2142
|
+
(c[h >> 2] = u.ind),
|
|
2143
|
+
(o[h >> 2] = u.est.rgba));
|
|
2144
|
+
}
|
|
2145
|
+
else
|
|
2146
|
+
for (h = 0; h < l; h += 4) {
|
|
2147
|
+
var d = r[h] * (1 / 255),
|
|
2148
|
+
A = r[h + 1] * (1 / 255),
|
|
2149
|
+
g = r[h + 2] * (1 / 255),
|
|
2150
|
+
p = r[h + 3] * (1 / 255);
|
|
2151
|
+
for (u = s; u.left; ) u = planeDst(u.est, d, A, g, p) <= 0 ? u.left : u.right;
|
|
2152
|
+
((c[h >> 2] = u.ind), (o[h >> 2] = u.est.rgba));
|
|
2153
|
+
}
|
|
2154
|
+
return { abuf: i.buffer, inds: c, plte: f };
|
|
2155
|
+
}
|
|
2156
|
+
function getKDtree(e, t, r) {
|
|
2157
|
+
null == r && (r = 1e-4);
|
|
2158
|
+
const i = new Uint32Array(e.buffer),
|
|
2159
|
+
o = { i0: 0, i1: e.length, bst: null, est: null, tdst: 0, left: null, right: null };
|
|
2160
|
+
((o.bst = stats(e, o.i0, o.i1)), (o.est = estats(o.bst)));
|
|
2161
|
+
const a = [o];
|
|
2162
|
+
while (a.length < t) {
|
|
2163
|
+
let t = 0,
|
|
2164
|
+
o = 0;
|
|
2165
|
+
for (var s = 0; s < a.length; s++) a[s].est.L > t && ((t = a[s].est.L), (o = s));
|
|
2166
|
+
if (t < r) break;
|
|
2167
|
+
const f = a[o],
|
|
2168
|
+
l = splitPixels(e, i, f.i0, f.i1, f.est.e, f.est.eMq255);
|
|
2169
|
+
if (f.i0 >= l || f.i1 <= l) {
|
|
2170
|
+
f.est.L = 0;
|
|
2171
|
+
continue;
|
|
2172
|
+
}
|
|
2173
|
+
const c = { i0: f.i0, i1: l, bst: null, est: null, tdst: 0, left: null, right: null };
|
|
2174
|
+
((c.bst = stats(e, c.i0, c.i1)), (c.est = estats(c.bst)));
|
|
2175
|
+
const u = { i0: l, i1: f.i1, bst: null, est: null, tdst: 0, left: null, right: null };
|
|
2176
|
+
u.bst = { R: [], m: [], N: f.bst.N - c.bst.N };
|
|
2177
|
+
for (s = 0; s < 16; s++) u.bst.R[s] = f.bst.R[s] - c.bst.R[s];
|
|
2178
|
+
for (s = 0; s < 4; s++) u.bst.m[s] = f.bst.m[s] - c.bst.m[s];
|
|
2179
|
+
((u.est = estats(u.bst)), (f.left = c), (f.right = u), (a[o] = c), a.push(u));
|
|
2180
|
+
}
|
|
2181
|
+
a.sort((e, t) => t.bst.N - e.bst.N);
|
|
2182
|
+
for (s = 0; s < a.length; s++) a[s].ind = s;
|
|
2183
|
+
return [o, a];
|
|
2184
|
+
}
|
|
2185
|
+
function getNearest(e, t, r, i, o) {
|
|
2186
|
+
if (null == e.left)
|
|
2187
|
+
return (
|
|
2188
|
+
(e.tdst = (function dist(e, t, r, i, o) {
|
|
2189
|
+
const a = t - e[0],
|
|
2190
|
+
s = r - e[1],
|
|
2191
|
+
f = i - e[2],
|
|
2192
|
+
l = o - e[3];
|
|
2193
|
+
return a * a + s * s + f * f + l * l;
|
|
2194
|
+
})(e.est.q, t, r, i, o)),
|
|
2195
|
+
e
|
|
2196
|
+
);
|
|
2197
|
+
const a = planeDst(e.est, t, r, i, o);
|
|
2198
|
+
let s = e.left,
|
|
2199
|
+
f = e.right;
|
|
2200
|
+
a > 0 && ((s = e.right), (f = e.left));
|
|
2201
|
+
const l = getNearest(s, t, r, i, o);
|
|
2202
|
+
if (l.tdst <= a * a) return l;
|
|
2203
|
+
const c = getNearest(f, t, r, i, o);
|
|
2204
|
+
return c.tdst < l.tdst ? c : l;
|
|
2205
|
+
}
|
|
2206
|
+
function planeDst(e, t, r, i, o) {
|
|
2207
|
+
const { e: a } = e;
|
|
2208
|
+
return a[0] * t + a[1] * r + a[2] * i + a[3] * o - e.eMq;
|
|
2209
|
+
}
|
|
2210
|
+
function splitPixels(e, t, r, i, o, a) {
|
|
2211
|
+
for (i -= 4; r < i; ) {
|
|
2212
|
+
while (vecDot(e, r, o) <= a) r += 4;
|
|
2213
|
+
while (vecDot(e, i, o) > a) i -= 4;
|
|
2214
|
+
if (r >= i) break;
|
|
2215
|
+
const s = t[r >> 2];
|
|
2216
|
+
((t[r >> 2] = t[i >> 2]), (t[i >> 2] = s), (r += 4), (i -= 4));
|
|
2217
|
+
}
|
|
2218
|
+
while (vecDot(e, r, o) > a) r -= 4;
|
|
2219
|
+
return r + 4;
|
|
2220
|
+
}
|
|
2221
|
+
function vecDot(e, t, r) {
|
|
2222
|
+
return e[t] * r[0] + e[t + 1] * r[1] + e[t + 2] * r[2] + e[t + 3] * r[3];
|
|
2223
|
+
}
|
|
2224
|
+
function stats(e, t, r) {
|
|
2225
|
+
const i = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
2226
|
+
o = [0, 0, 0, 0],
|
|
2227
|
+
a = (r - t) >> 2;
|
|
2228
|
+
for (let a = t; a < r; a += 4) {
|
|
2229
|
+
const t = e[a] * (1 / 255),
|
|
2230
|
+
r = e[a + 1] * (1 / 255),
|
|
2231
|
+
s = e[a + 2] * (1 / 255),
|
|
2232
|
+
f = e[a + 3] * (1 / 255);
|
|
2233
|
+
((o[0] += t),
|
|
2234
|
+
(o[1] += r),
|
|
2235
|
+
(o[2] += s),
|
|
2236
|
+
(o[3] += f),
|
|
2237
|
+
(i[0] += t * t),
|
|
2238
|
+
(i[1] += t * r),
|
|
2239
|
+
(i[2] += t * s),
|
|
2240
|
+
(i[3] += t * f),
|
|
2241
|
+
(i[5] += r * r),
|
|
2242
|
+
(i[6] += r * s),
|
|
2243
|
+
(i[7] += r * f),
|
|
2244
|
+
(i[10] += s * s),
|
|
2245
|
+
(i[11] += s * f),
|
|
2246
|
+
(i[15] += f * f));
|
|
2247
|
+
}
|
|
2248
|
+
return (
|
|
2249
|
+
(i[4] = i[1]),
|
|
2250
|
+
(i[8] = i[2]),
|
|
2251
|
+
(i[9] = i[6]),
|
|
2252
|
+
(i[12] = i[3]),
|
|
2253
|
+
(i[13] = i[7]),
|
|
2254
|
+
(i[14] = i[11]),
|
|
2255
|
+
{ R: i, m: o, N: a }
|
|
2256
|
+
);
|
|
2257
|
+
}
|
|
2258
|
+
function estats(e) {
|
|
2259
|
+
const { R: t } = e,
|
|
2260
|
+
{ m: r } = e,
|
|
2261
|
+
{ N: i } = e,
|
|
2262
|
+
a = r[0],
|
|
2263
|
+
s = r[1],
|
|
2264
|
+
f = r[2],
|
|
2265
|
+
l = r[3],
|
|
2266
|
+
c = 0 == i ? 0 : 1 / i,
|
|
2267
|
+
u = [
|
|
2268
|
+
t[0] - a * a * c,
|
|
2269
|
+
t[1] - a * s * c,
|
|
2270
|
+
t[2] - a * f * c,
|
|
2271
|
+
t[3] - a * l * c,
|
|
2272
|
+
t[4] - s * a * c,
|
|
2273
|
+
t[5] - s * s * c,
|
|
2274
|
+
t[6] - s * f * c,
|
|
2275
|
+
t[7] - s * l * c,
|
|
2276
|
+
t[8] - f * a * c,
|
|
2277
|
+
t[9] - f * s * c,
|
|
2278
|
+
t[10] - f * f * c,
|
|
2279
|
+
t[11] - f * l * c,
|
|
2280
|
+
t[12] - l * a * c,
|
|
2281
|
+
t[13] - l * s * c,
|
|
2282
|
+
t[14] - l * f * c,
|
|
2283
|
+
t[15] - l * l * c,
|
|
2284
|
+
],
|
|
2285
|
+
h = u,
|
|
2286
|
+
d = o;
|
|
2287
|
+
let A = [Math.random(), Math.random(), Math.random(), Math.random()],
|
|
2288
|
+
g = 0,
|
|
2289
|
+
p = 0;
|
|
2290
|
+
if (0 != i)
|
|
2291
|
+
for (
|
|
2292
|
+
let e = 0;
|
|
2293
|
+
e < 16 &&
|
|
2294
|
+
((A = d.multVec(h, A)),
|
|
2295
|
+
(p = Math.sqrt(d.dot(A, A))),
|
|
2296
|
+
(A = d.sml(1 / p, A)),
|
|
2297
|
+
!(0 != e && Math.abs(p - g) < 1e-9));
|
|
2298
|
+
e++
|
|
2299
|
+
)
|
|
2300
|
+
g = p;
|
|
2301
|
+
const m = [a * c, s * c, f * c, l * c];
|
|
2302
|
+
return {
|
|
2303
|
+
Cov: u,
|
|
2304
|
+
q: m,
|
|
2305
|
+
e: A,
|
|
2306
|
+
L: g,
|
|
2307
|
+
eMq255: d.dot(d.sml(255, m), A),
|
|
2308
|
+
eMq: d.dot(A, m),
|
|
2309
|
+
rgba:
|
|
2310
|
+
((Math.round(255 * m[3]) << 24) |
|
|
2311
|
+
(Math.round(255 * m[2]) << 16) |
|
|
2312
|
+
(Math.round(255 * m[1]) << 8) |
|
|
2313
|
+
(Math.round(255 * m[0]) << 0)) >>>
|
|
2314
|
+
0,
|
|
2315
|
+
};
|
|
2316
|
+
}
|
|
2317
|
+
var o = {
|
|
2318
|
+
multVec: (e, t) => [
|
|
2319
|
+
e[0] * t[0] + e[1] * t[1] + e[2] * t[2] + e[3] * t[3],
|
|
2320
|
+
e[4] * t[0] + e[5] * t[1] + e[6] * t[2] + e[7] * t[3],
|
|
2321
|
+
e[8] * t[0] + e[9] * t[1] + e[10] * t[2] + e[11] * t[3],
|
|
2322
|
+
e[12] * t[0] + e[13] * t[1] + e[14] * t[2] + e[15] * t[3],
|
|
2323
|
+
],
|
|
2324
|
+
dot: (e, t) => e[0] * t[0] + e[1] * t[1] + e[2] * t[2] + e[3] * t[3],
|
|
2325
|
+
sml: (e, t) => [e * t[0], e * t[1], e * t[2], e * t[3]],
|
|
2326
|
+
};
|
|
2327
|
+
((UPNG.encode = function encode(e, t, r, i, o, a, s) {
|
|
2328
|
+
(null == i && (i = 0), null == s && (s = !1));
|
|
2329
|
+
const f = compress(e, t, r, i, [!1, !1, !1, 0, s, !1]);
|
|
2330
|
+
return (compressPNG(f, -1), _main(f, t, r, o, a));
|
|
2331
|
+
}),
|
|
2332
|
+
(UPNG.encodeLL = function encodeLL(e, t, r, i, o, a, s, f) {
|
|
2333
|
+
const l = { ctype: 0 + (1 == i ? 0 : 2) + (0 == o ? 0 : 4), depth: a, frames: [] },
|
|
2334
|
+
c = (i + o) * a,
|
|
2335
|
+
u = c * t;
|
|
2336
|
+
for (let i = 0; i < e.length; i++)
|
|
2337
|
+
l.frames.push({
|
|
2338
|
+
rect: { x: 0, y: 0, width: t, height: r },
|
|
2339
|
+
img: new Uint8Array(e[i]),
|
|
2340
|
+
blend: 0,
|
|
2341
|
+
dispose: 1,
|
|
2342
|
+
bpp: Math.ceil(c / 8),
|
|
2343
|
+
bpl: Math.ceil(u / 8),
|
|
2344
|
+
});
|
|
2345
|
+
return (compressPNG(l, 0, !0), _main(l, t, r, s, f));
|
|
2346
|
+
}),
|
|
2347
|
+
(UPNG.encode.compress = compress),
|
|
2348
|
+
(UPNG.encode.dither = dither),
|
|
2349
|
+
(UPNG.quantize = quantize),
|
|
2350
|
+
(UPNG.quantize.getKDtree = getKDtree),
|
|
2351
|
+
(UPNG.quantize.getNearest = getNearest));
|
|
2352
|
+
})();
|
|
2353
|
+
const t = {
|
|
2354
|
+
toArrayBuffer(e, r) {
|
|
2355
|
+
const i = e.width,
|
|
2356
|
+
o = e.height,
|
|
2357
|
+
a = i << 2,
|
|
2358
|
+
s = e.getContext('2d').getImageData(0, 0, i, o),
|
|
2359
|
+
f = new Uint32Array(s.data.buffer),
|
|
2360
|
+
l = ((32 * i + 31) / 32) << 2,
|
|
2361
|
+
c = l * o,
|
|
2362
|
+
u = 122 + c,
|
|
2363
|
+
h = new ArrayBuffer(u),
|
|
2364
|
+
d = new DataView(h),
|
|
2365
|
+
A = 1 << 20;
|
|
2366
|
+
let g,
|
|
2367
|
+
p,
|
|
2368
|
+
m,
|
|
2369
|
+
w,
|
|
2370
|
+
v = A,
|
|
2371
|
+
b = 0,
|
|
2372
|
+
y = 0,
|
|
2373
|
+
E = 0;
|
|
2374
|
+
function set16(e) {
|
|
2375
|
+
(d.setUint16(y, e, !0), (y += 2));
|
|
2376
|
+
}
|
|
2377
|
+
function set32(e) {
|
|
2378
|
+
(d.setUint32(y, e, !0), (y += 4));
|
|
2379
|
+
}
|
|
2380
|
+
function seek(e) {
|
|
2381
|
+
y += e;
|
|
2382
|
+
}
|
|
2383
|
+
(set16(19778),
|
|
2384
|
+
set32(u),
|
|
2385
|
+
seek(4),
|
|
2386
|
+
set32(122),
|
|
2387
|
+
set32(108),
|
|
2388
|
+
set32(i),
|
|
2389
|
+
set32(-o >>> 0),
|
|
2390
|
+
set16(1),
|
|
2391
|
+
set16(32),
|
|
2392
|
+
set32(3),
|
|
2393
|
+
set32(c),
|
|
2394
|
+
set32(2835),
|
|
2395
|
+
set32(2835),
|
|
2396
|
+
seek(8),
|
|
2397
|
+
set32(16711680),
|
|
2398
|
+
set32(65280),
|
|
2399
|
+
set32(255),
|
|
2400
|
+
set32(4278190080),
|
|
2401
|
+
set32(1466527264),
|
|
2402
|
+
(function convert() {
|
|
2403
|
+
while (b < o && v > 0) {
|
|
2404
|
+
for (w = 122 + b * l, g = 0; g < a; )
|
|
2405
|
+
(v--, (p = f[E++]), (m = p >>> 24), d.setUint32(w + g, (p << 8) | m), (g += 4));
|
|
2406
|
+
b++;
|
|
2407
|
+
}
|
|
2408
|
+
E < f.length ? ((v = A), setTimeout(convert, t._dly)) : r(h);
|
|
2409
|
+
})());
|
|
2410
|
+
},
|
|
2411
|
+
toBlob(e, t) {
|
|
2412
|
+
this.toArrayBuffer(e, (e) => {
|
|
2413
|
+
t(new Blob([e], { type: 'image/bmp' }));
|
|
2414
|
+
});
|
|
2415
|
+
},
|
|
2416
|
+
_dly: 9,
|
|
2417
|
+
};
|
|
2418
|
+
var r = { CHROME: 'CHROME', FIREFOX: 'FIREFOX', DESKTOP_SAFARI: 'DESKTOP_SAFARI', IE: 'IE', IOS: 'IOS', ETC: 'ETC' },
|
|
2419
|
+
i = {
|
|
2420
|
+
[r.CHROME]: 16384,
|
|
2421
|
+
[r.FIREFOX]: 11180,
|
|
2422
|
+
[r.DESKTOP_SAFARI]: 16384,
|
|
2423
|
+
[r.IE]: 8192,
|
|
2424
|
+
[r.IOS]: 4096,
|
|
2425
|
+
[r.ETC]: 8192,
|
|
2426
|
+
};
|
|
2427
|
+
const o = 'undefined' != typeof window,
|
|
2428
|
+
a = 'undefined' != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope,
|
|
2429
|
+
s = o && window.cordova && window.cordova.require && window.cordova.require('cordova/modulemapper'),
|
|
2430
|
+
CustomFile = (o || a) && ((s && s.getOriginalSymbol(window, 'File')) || ('undefined' != typeof File && File)),
|
|
2431
|
+
CustomFileReader =
|
|
2432
|
+
(o || a) &&
|
|
2433
|
+
((s && s.getOriginalSymbol(window, 'FileReader')) || ('undefined' != typeof FileReader && FileReader));
|
|
2434
|
+
function getFilefromDataUrl(e, t, r = Date.now()) {
|
|
2435
|
+
return new Promise((i) => {
|
|
2436
|
+
const o = e.split(','),
|
|
2437
|
+
a = o[0].match(/:(.*?);/)[1],
|
|
2438
|
+
s = globalThis.atob(o[1]);
|
|
2439
|
+
let f = s.length;
|
|
2440
|
+
const l = new Uint8Array(f);
|
|
2441
|
+
while (f--) l[f] = s.charCodeAt(f);
|
|
2442
|
+
const c = new Blob([l], { type: a });
|
|
2443
|
+
((c.name = t), (c.lastModified = r), i(c));
|
|
2444
|
+
});
|
|
2445
|
+
}
|
|
2446
|
+
function getDataUrlFromFile(e) {
|
|
2447
|
+
return new Promise((t, r) => {
|
|
2448
|
+
const i = new CustomFileReader();
|
|
2449
|
+
((i.onload = () => t(i.result)), (i.onerror = (e) => r(e)), i.readAsDataURL(e));
|
|
2450
|
+
});
|
|
2451
|
+
}
|
|
2452
|
+
function loadImage(e) {
|
|
2453
|
+
return new Promise((t, r) => {
|
|
2454
|
+
const i = new Image();
|
|
2455
|
+
((i.onload = () => t(i)), (i.onerror = (e) => r(e)), (i.src = e));
|
|
2456
|
+
});
|
|
2457
|
+
}
|
|
2458
|
+
function getBrowserName() {
|
|
2459
|
+
if (void 0 !== getBrowserName.cachedResult) return getBrowserName.cachedResult;
|
|
2460
|
+
let e = r.ETC;
|
|
2461
|
+
const { userAgent: t } = navigator;
|
|
2462
|
+
return (
|
|
2463
|
+
/Chrom(e|ium)/i.test(t) ? (e = r.CHROME)
|
|
2464
|
+
: /iP(ad|od|hone)/i.test(t) && /WebKit/i.test(t) ? (e = r.IOS)
|
|
2465
|
+
: /Safari/i.test(t) ? (e = r.DESKTOP_SAFARI)
|
|
2466
|
+
: /Firefox/i.test(t) ? (e = r.FIREFOX)
|
|
2467
|
+
: (/MSIE/i.test(t) || !0 == !!document.documentMode) && (e = r.IE),
|
|
2468
|
+
(getBrowserName.cachedResult = e),
|
|
2469
|
+
getBrowserName.cachedResult
|
|
2470
|
+
);
|
|
2471
|
+
}
|
|
2472
|
+
function approximateBelowMaximumCanvasSizeOfBrowser(e, t) {
|
|
2473
|
+
const r = getBrowserName(),
|
|
2474
|
+
o = i[r];
|
|
2475
|
+
let a = e,
|
|
2476
|
+
s = t,
|
|
2477
|
+
f = a * s;
|
|
2478
|
+
const l = a > s ? s / a : a / s;
|
|
2479
|
+
while (f > o * o) {
|
|
2480
|
+
const e = (o + a) / 2,
|
|
2481
|
+
t = (o + s) / 2;
|
|
2482
|
+
(e < t ? ((s = t), (a = t * l)) : ((s = e * l), (a = e)), (f = a * s));
|
|
2483
|
+
}
|
|
2484
|
+
return { width: a, height: s };
|
|
2485
|
+
}
|
|
2486
|
+
function getNewCanvasAndCtx(e, t) {
|
|
2487
|
+
let r, i;
|
|
2488
|
+
try {
|
|
2489
|
+
if (((r = new OffscreenCanvas(e, t)), (i = r.getContext('2d')), null === i))
|
|
2490
|
+
throw new Error('getContext of OffscreenCanvas returns null');
|
|
2491
|
+
} catch (e) {
|
|
2492
|
+
((r = document.createElement('canvas')), (i = r.getContext('2d')));
|
|
2493
|
+
}
|
|
2494
|
+
return ((r.width = e), (r.height = t), [r, i]);
|
|
2495
|
+
}
|
|
2496
|
+
function drawImageInCanvas(e, t) {
|
|
2497
|
+
const { width: r, height: i } = approximateBelowMaximumCanvasSizeOfBrowser(e.width, e.height),
|
|
2498
|
+
[o, a] = getNewCanvasAndCtx(r, i);
|
|
2499
|
+
return (
|
|
2500
|
+
t && /jpe?g/.test(t) && ((a.fillStyle = 'white'), a.fillRect(0, 0, o.width, o.height)),
|
|
2501
|
+
a.drawImage(e, 0, 0, o.width, o.height),
|
|
2502
|
+
o
|
|
2503
|
+
);
|
|
2504
|
+
}
|
|
2505
|
+
function isIOS() {
|
|
2506
|
+
return (
|
|
2507
|
+
void 0 !== isIOS.cachedResult ||
|
|
2508
|
+
(isIOS.cachedResult =
|
|
2509
|
+
['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(
|
|
2510
|
+
navigator.platform,
|
|
2511
|
+
) ||
|
|
2512
|
+
(navigator.userAgent.includes('Mac') && 'undefined' != typeof document && 'ontouchend' in document)),
|
|
2513
|
+
isIOS.cachedResult
|
|
2514
|
+
);
|
|
2515
|
+
}
|
|
2516
|
+
function drawFileInCanvas(e, t = {}) {
|
|
2517
|
+
return new Promise(function (i, o) {
|
|
2518
|
+
let a, s;
|
|
2519
|
+
var $Try_2_Post = function () {
|
|
2520
|
+
try {
|
|
2521
|
+
return ((s = drawImageInCanvas(a, t.fileType || e.type)), i([a, s]));
|
|
2522
|
+
} catch (e) {
|
|
2523
|
+
return o(e);
|
|
2524
|
+
}
|
|
2525
|
+
},
|
|
2526
|
+
$Try_2_Catch = function (t) {
|
|
2527
|
+
try {
|
|
2528
|
+
0;
|
|
2529
|
+
var $Try_3_Catch = function (e) {
|
|
2530
|
+
try {
|
|
2531
|
+
throw e;
|
|
2532
|
+
} catch (e) {
|
|
2533
|
+
return o(e);
|
|
2534
|
+
}
|
|
2535
|
+
};
|
|
2536
|
+
try {
|
|
2537
|
+
let t;
|
|
2538
|
+
return getDataUrlFromFile(e).then(function (e) {
|
|
2539
|
+
try {
|
|
2540
|
+
return (
|
|
2541
|
+
(t = e),
|
|
2542
|
+
loadImage(t).then(function (e) {
|
|
2543
|
+
try {
|
|
2544
|
+
return (
|
|
2545
|
+
(a = e),
|
|
2546
|
+
(function () {
|
|
2547
|
+
try {
|
|
2548
|
+
return $Try_2_Post();
|
|
2549
|
+
} catch (e) {
|
|
2550
|
+
return o(e);
|
|
2551
|
+
}
|
|
2552
|
+
})()
|
|
2553
|
+
);
|
|
2554
|
+
} catch (e) {
|
|
2555
|
+
return $Try_3_Catch(e);
|
|
2556
|
+
}
|
|
2557
|
+
}, $Try_3_Catch)
|
|
2558
|
+
);
|
|
2559
|
+
} catch (e) {
|
|
2560
|
+
return $Try_3_Catch(e);
|
|
2561
|
+
}
|
|
2562
|
+
}, $Try_3_Catch);
|
|
2563
|
+
} catch (e) {
|
|
2564
|
+
$Try_3_Catch(e);
|
|
2565
|
+
}
|
|
2566
|
+
} catch (e) {
|
|
2567
|
+
return o(e);
|
|
2568
|
+
}
|
|
2569
|
+
};
|
|
2570
|
+
try {
|
|
2571
|
+
if (isIOS() || [r.DESKTOP_SAFARI, r.MOBILE_SAFARI].includes(getBrowserName()))
|
|
2572
|
+
throw new Error('Skip createImageBitmap on IOS and Safari');
|
|
2573
|
+
return createImageBitmap(e).then(function (e) {
|
|
2574
|
+
try {
|
|
2575
|
+
return ((a = e), $Try_2_Post());
|
|
2576
|
+
} catch (e) {
|
|
2577
|
+
return $Try_2_Catch();
|
|
2578
|
+
}
|
|
2579
|
+
}, $Try_2_Catch);
|
|
2580
|
+
} catch (e) {
|
|
2581
|
+
$Try_2_Catch();
|
|
2582
|
+
}
|
|
2583
|
+
});
|
|
2584
|
+
}
|
|
2585
|
+
function canvasToFile(e, r, i, o, a = 1) {
|
|
2586
|
+
return new Promise(function (s, f) {
|
|
2587
|
+
let l;
|
|
2588
|
+
if ('image/png' === r) {
|
|
2589
|
+
let c, u, h;
|
|
2590
|
+
return (
|
|
2591
|
+
(c = e.getContext('2d')),
|
|
2592
|
+
({ data: u } = c.getImageData(0, 0, e.width, e.height)),
|
|
2593
|
+
(h = UPNG.encode([u.buffer], e.width, e.height, 4096 * a)),
|
|
2594
|
+
(l = new Blob([h], { type: r })),
|
|
2595
|
+
(l.name = i),
|
|
2596
|
+
(l.lastModified = o),
|
|
2597
|
+
$If_4.call(this)
|
|
2598
|
+
);
|
|
2599
|
+
}
|
|
2600
|
+
{
|
|
2601
|
+
if ('image/bmp' === r)
|
|
2602
|
+
return new Promise((r) => t.toBlob(e, r)).then(
|
|
2603
|
+
function (e) {
|
|
2604
|
+
try {
|
|
2605
|
+
return ((l = e), (l.name = i), (l.lastModified = o), $If_5.call(this));
|
|
2606
|
+
} catch (e) {
|
|
2607
|
+
return f(e);
|
|
2608
|
+
}
|
|
2609
|
+
}.bind(this),
|
|
2610
|
+
f,
|
|
2611
|
+
);
|
|
2612
|
+
{
|
|
2613
|
+
if ('function' == typeof OffscreenCanvas && e instanceof OffscreenCanvas)
|
|
2614
|
+
return e.convertToBlob({ type: r, quality: a }).then(
|
|
2615
|
+
function (e) {
|
|
2616
|
+
try {
|
|
2617
|
+
return ((l = e), (l.name = i), (l.lastModified = o), $If_6.call(this));
|
|
2618
|
+
} catch (e) {
|
|
2619
|
+
return f(e);
|
|
2620
|
+
}
|
|
2621
|
+
}.bind(this),
|
|
2622
|
+
f,
|
|
2623
|
+
);
|
|
2624
|
+
{
|
|
2625
|
+
let d;
|
|
2626
|
+
return (
|
|
2627
|
+
(d = e.toDataURL(r, a)),
|
|
2628
|
+
getFilefromDataUrl(d, i, o).then(
|
|
2629
|
+
function (e) {
|
|
2630
|
+
try {
|
|
2631
|
+
return ((l = e), $If_6.call(this));
|
|
2632
|
+
} catch (e) {
|
|
2633
|
+
return f(e);
|
|
2634
|
+
}
|
|
2635
|
+
}.bind(this),
|
|
2636
|
+
f,
|
|
2637
|
+
)
|
|
2638
|
+
);
|
|
2639
|
+
}
|
|
2640
|
+
function $If_6() {
|
|
2641
|
+
return $If_5.call(this);
|
|
2642
|
+
}
|
|
2643
|
+
}
|
|
2644
|
+
function $If_5() {
|
|
2645
|
+
return $If_4.call(this);
|
|
2646
|
+
}
|
|
2647
|
+
}
|
|
2648
|
+
function $If_4() {
|
|
2649
|
+
return s(l);
|
|
2650
|
+
}
|
|
2651
|
+
});
|
|
2652
|
+
}
|
|
2653
|
+
function cleanupCanvasMemory(e) {
|
|
2654
|
+
((e.width = 0), (e.height = 0));
|
|
2655
|
+
}
|
|
2656
|
+
function isAutoOrientationInBrowser() {
|
|
2657
|
+
return new Promise(function (e, t) {
|
|
2658
|
+
let r, i, o, a, s;
|
|
2659
|
+
return void 0 !== isAutoOrientationInBrowser.cachedResult ?
|
|
2660
|
+
e(isAutoOrientationInBrowser.cachedResult)
|
|
2661
|
+
: ((r =
|
|
2662
|
+
'data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q=='),
|
|
2663
|
+
getFilefromDataUrl(
|
|
2664
|
+
'data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==',
|
|
2665
|
+
'test.jpg',
|
|
2666
|
+
Date.now(),
|
|
2667
|
+
).then(function (r) {
|
|
2668
|
+
try {
|
|
2669
|
+
return (
|
|
2670
|
+
(i = r),
|
|
2671
|
+
drawFileInCanvas(i).then(function (r) {
|
|
2672
|
+
try {
|
|
2673
|
+
return (
|
|
2674
|
+
(o = r[1]),
|
|
2675
|
+
canvasToFile(o, i.type, i.name, i.lastModified).then(function (r) {
|
|
2676
|
+
try {
|
|
2677
|
+
return (
|
|
2678
|
+
(a = r),
|
|
2679
|
+
cleanupCanvasMemory(o),
|
|
2680
|
+
drawFileInCanvas(a).then(function (r) {
|
|
2681
|
+
try {
|
|
2682
|
+
return (
|
|
2683
|
+
(s = r[0]),
|
|
2684
|
+
(isAutoOrientationInBrowser.cachedResult = 1 === s.width && 2 === s.height),
|
|
2685
|
+
e(isAutoOrientationInBrowser.cachedResult)
|
|
2686
|
+
);
|
|
2687
|
+
} catch (e) {
|
|
2688
|
+
return t(e);
|
|
2689
|
+
}
|
|
2690
|
+
}, t)
|
|
2691
|
+
);
|
|
2692
|
+
} catch (e) {
|
|
2693
|
+
return t(e);
|
|
2694
|
+
}
|
|
2695
|
+
}, t)
|
|
2696
|
+
);
|
|
2697
|
+
} catch (e) {
|
|
2698
|
+
return t(e);
|
|
2699
|
+
}
|
|
2700
|
+
}, t)
|
|
2701
|
+
);
|
|
2702
|
+
} catch (e) {
|
|
2703
|
+
return t(e);
|
|
2704
|
+
}
|
|
2705
|
+
}, t));
|
|
2706
|
+
});
|
|
2707
|
+
}
|
|
2708
|
+
function getExifOrientation(e) {
|
|
2709
|
+
return new Promise((t, r) => {
|
|
2710
|
+
const i = new CustomFileReader();
|
|
2711
|
+
((i.onload = (e) => {
|
|
2712
|
+
const r = new DataView(e.target.result);
|
|
2713
|
+
if (65496 != r.getUint16(0, !1)) return t(-2);
|
|
2714
|
+
const i = r.byteLength;
|
|
2715
|
+
let o = 2;
|
|
2716
|
+
while (o < i) {
|
|
2717
|
+
if (r.getUint16(o + 2, !1) <= 8) return t(-1);
|
|
2718
|
+
const e = r.getUint16(o, !1);
|
|
2719
|
+
if (((o += 2), 65505 == e)) {
|
|
2720
|
+
if (1165519206 != r.getUint32((o += 2), !1)) return t(-1);
|
|
2721
|
+
const e = 18761 == r.getUint16((o += 6), !1);
|
|
2722
|
+
o += r.getUint32(o + 4, e);
|
|
2723
|
+
const i = r.getUint16(o, e);
|
|
2724
|
+
o += 2;
|
|
2725
|
+
for (let a = 0; a < i; a++) if (274 == r.getUint16(o + 12 * a, e)) return t(r.getUint16(o + 12 * a + 8, e));
|
|
2726
|
+
} else {
|
|
2727
|
+
if (65280 != (65280 & e)) break;
|
|
2728
|
+
o += r.getUint16(o, !1);
|
|
2729
|
+
}
|
|
2730
|
+
}
|
|
2731
|
+
return t(-1);
|
|
2732
|
+
}),
|
|
2733
|
+
(i.onerror = (e) => r(e)),
|
|
2734
|
+
i.readAsArrayBuffer(e));
|
|
2735
|
+
});
|
|
2736
|
+
}
|
|
2737
|
+
function handleMaxWidthOrHeight(e, t) {
|
|
2738
|
+
const { width: r } = e,
|
|
2739
|
+
{ height: i } = e,
|
|
2740
|
+
{ maxWidthOrHeight: o } = t;
|
|
2741
|
+
let a,
|
|
2742
|
+
s = e;
|
|
2743
|
+
return (
|
|
2744
|
+
isFinite(o) &&
|
|
2745
|
+
(r > o || i > o) &&
|
|
2746
|
+
(([s, a] = getNewCanvasAndCtx(r, i)),
|
|
2747
|
+
r > i ? ((s.width = o), (s.height = (i / r) * o)) : ((s.width = (r / i) * o), (s.height = o)),
|
|
2748
|
+
a.drawImage(e, 0, 0, s.width, s.height),
|
|
2749
|
+
cleanupCanvasMemory(e)),
|
|
2750
|
+
s
|
|
2751
|
+
);
|
|
2752
|
+
}
|
|
2753
|
+
function followExifOrientation(e, t) {
|
|
2754
|
+
const { width: r } = e,
|
|
2755
|
+
{ height: i } = e,
|
|
2756
|
+
[o, a] = getNewCanvasAndCtx(r, i);
|
|
2757
|
+
switch ((t > 4 && t < 9 ? ((o.width = i), (o.height = r)) : ((o.width = r), (o.height = i)), t)) {
|
|
2758
|
+
case 2:
|
|
2759
|
+
a.transform(-1, 0, 0, 1, r, 0);
|
|
2760
|
+
break;
|
|
2761
|
+
case 3:
|
|
2762
|
+
a.transform(-1, 0, 0, -1, r, i);
|
|
2763
|
+
break;
|
|
2764
|
+
case 4:
|
|
2765
|
+
a.transform(1, 0, 0, -1, 0, i);
|
|
2766
|
+
break;
|
|
2767
|
+
case 5:
|
|
2768
|
+
a.transform(0, 1, 1, 0, 0, 0);
|
|
2769
|
+
break;
|
|
2770
|
+
case 6:
|
|
2771
|
+
a.transform(0, 1, -1, 0, i, 0);
|
|
2772
|
+
break;
|
|
2773
|
+
case 7:
|
|
2774
|
+
a.transform(0, -1, -1, 0, i, r);
|
|
2775
|
+
break;
|
|
2776
|
+
case 8:
|
|
2777
|
+
a.transform(0, -1, 1, 0, 0, r);
|
|
2778
|
+
}
|
|
2779
|
+
return (a.drawImage(e, 0, 0, r, i), cleanupCanvasMemory(e), o);
|
|
2780
|
+
}
|
|
2781
|
+
function compress(e, t, r = 0) {
|
|
2782
|
+
return new Promise(function (i, o) {
|
|
2783
|
+
let a, s, f, l, c, u, h, d, A, g, p, m, w, v, b, y, E, F, _, B;
|
|
2784
|
+
function incProgress(e = 5) {
|
|
2785
|
+
if (t.signal && t.signal.aborted) throw t.signal.reason;
|
|
2786
|
+
((a += e), t.onProgress(Math.min(a, 100)));
|
|
2787
|
+
}
|
|
2788
|
+
function setProgress(e) {
|
|
2789
|
+
if (t.signal && t.signal.aborted) throw t.signal.reason;
|
|
2790
|
+
((a = Math.min(Math.max(e, a), 100)), t.onProgress(a));
|
|
2791
|
+
}
|
|
2792
|
+
return (
|
|
2793
|
+
(a = r),
|
|
2794
|
+
(s = t.maxIteration || 10),
|
|
2795
|
+
(f = 1024 * t.maxSizeMB * 1024),
|
|
2796
|
+
incProgress(),
|
|
2797
|
+
drawFileInCanvas(e, t).then(
|
|
2798
|
+
function (r) {
|
|
2799
|
+
try {
|
|
2800
|
+
return (
|
|
2801
|
+
([, l] = r),
|
|
2802
|
+
incProgress(),
|
|
2803
|
+
(c = handleMaxWidthOrHeight(l, t)),
|
|
2804
|
+
incProgress(),
|
|
2805
|
+
new Promise(function (r, i) {
|
|
2806
|
+
var o;
|
|
2807
|
+
if (!(o = t.exifOrientation))
|
|
2808
|
+
return getExifOrientation(e).then(
|
|
2809
|
+
function (e) {
|
|
2810
|
+
try {
|
|
2811
|
+
return ((o = e), $If_2.call(this));
|
|
2812
|
+
} catch (e) {
|
|
2813
|
+
return i(e);
|
|
2814
|
+
}
|
|
2815
|
+
}.bind(this),
|
|
2816
|
+
i,
|
|
2817
|
+
);
|
|
2818
|
+
function $If_2() {
|
|
2819
|
+
return r(o);
|
|
2820
|
+
}
|
|
2821
|
+
return $If_2.call(this);
|
|
2822
|
+
}).then(
|
|
2823
|
+
function (r) {
|
|
2824
|
+
try {
|
|
2825
|
+
return (
|
|
2826
|
+
(u = r),
|
|
2827
|
+
incProgress(),
|
|
2828
|
+
isAutoOrientationInBrowser().then(
|
|
2829
|
+
function (r) {
|
|
2830
|
+
try {
|
|
2831
|
+
return (
|
|
2832
|
+
(h = r ? c : followExifOrientation(c, u)),
|
|
2833
|
+
incProgress(),
|
|
2834
|
+
(d = t.initialQuality || 1),
|
|
2835
|
+
(A = t.fileType || e.type),
|
|
2836
|
+
canvasToFile(h, A, e.name, e.lastModified, d).then(
|
|
2837
|
+
function (r) {
|
|
2838
|
+
try {
|
|
2839
|
+
{
|
|
2840
|
+
if (((g = r), incProgress(), (p = g.size > f), (m = g.size > e.size), !p && !m))
|
|
2841
|
+
return (setProgress(100), i(g));
|
|
2842
|
+
var a;
|
|
2843
|
+
function $Loop_3() {
|
|
2844
|
+
if (s-- && (b > f || b > w)) {
|
|
2845
|
+
let t, r;
|
|
2846
|
+
return (
|
|
2847
|
+
(t = B ? 0.95 * _.width : _.width),
|
|
2848
|
+
(r = B ? 0.95 * _.height : _.height),
|
|
2849
|
+
([E, F] = getNewCanvasAndCtx(t, r)),
|
|
2850
|
+
F.drawImage(_, 0, 0, t, r),
|
|
2851
|
+
(d *= 'image/png' === A ? 0.85 : 0.95),
|
|
2852
|
+
canvasToFile(E, A, e.name, e.lastModified, d).then(function (e) {
|
|
2853
|
+
try {
|
|
2854
|
+
return (
|
|
2855
|
+
(y = e),
|
|
2856
|
+
cleanupCanvasMemory(_),
|
|
2857
|
+
(_ = E),
|
|
2858
|
+
(b = y.size),
|
|
2859
|
+
setProgress(Math.min(99, Math.floor(((v - b) / (v - f)) * 100))),
|
|
2860
|
+
$Loop_3
|
|
2861
|
+
);
|
|
2862
|
+
} catch (e) {
|
|
2863
|
+
return o(e);
|
|
2864
|
+
}
|
|
2865
|
+
}, o)
|
|
2866
|
+
);
|
|
2867
|
+
}
|
|
2868
|
+
return [1];
|
|
2869
|
+
}
|
|
2870
|
+
return (
|
|
2871
|
+
(w = e.size),
|
|
2872
|
+
(v = g.size),
|
|
2873
|
+
(b = v),
|
|
2874
|
+
(_ = h),
|
|
2875
|
+
(B = !t.alwaysKeepResolution && p),
|
|
2876
|
+
(a = function (e) {
|
|
2877
|
+
while (e) {
|
|
2878
|
+
if (e.then) return void e.then(a, o);
|
|
2879
|
+
try {
|
|
2880
|
+
if (e.pop) {
|
|
2881
|
+
if (e.length) return e.pop() ? $Loop_3_exit.call(this) : e;
|
|
2882
|
+
e = $Loop_3;
|
|
2883
|
+
} else e = e.call(this);
|
|
2884
|
+
} catch (e) {
|
|
2885
|
+
return o(e);
|
|
2886
|
+
}
|
|
2887
|
+
}
|
|
2888
|
+
}.bind(this))($Loop_3)
|
|
2889
|
+
);
|
|
2890
|
+
function $Loop_3_exit() {
|
|
2891
|
+
return (
|
|
2892
|
+
cleanupCanvasMemory(_),
|
|
2893
|
+
cleanupCanvasMemory(E),
|
|
2894
|
+
cleanupCanvasMemory(c),
|
|
2895
|
+
cleanupCanvasMemory(h),
|
|
2896
|
+
cleanupCanvasMemory(l),
|
|
2897
|
+
setProgress(100),
|
|
2898
|
+
i(y)
|
|
2899
|
+
);
|
|
2900
|
+
}
|
|
2901
|
+
}
|
|
2902
|
+
} catch (u) {
|
|
2903
|
+
return o(u);
|
|
2904
|
+
}
|
|
2905
|
+
}.bind(this),
|
|
2906
|
+
o,
|
|
2907
|
+
)
|
|
2908
|
+
);
|
|
2909
|
+
} catch (e) {
|
|
2910
|
+
return o(e);
|
|
2911
|
+
}
|
|
2912
|
+
}.bind(this),
|
|
2913
|
+
o,
|
|
2914
|
+
)
|
|
2915
|
+
);
|
|
2916
|
+
} catch (e) {
|
|
2917
|
+
return o(e);
|
|
2918
|
+
}
|
|
2919
|
+
}.bind(this),
|
|
2920
|
+
o,
|
|
2921
|
+
)
|
|
2922
|
+
);
|
|
2923
|
+
} catch (e) {
|
|
2924
|
+
return o(e);
|
|
2925
|
+
}
|
|
2926
|
+
}.bind(this),
|
|
2927
|
+
o,
|
|
2928
|
+
)
|
|
2929
|
+
);
|
|
2930
|
+
});
|
|
2931
|
+
}
|
|
2932
|
+
const f =
|
|
2933
|
+
"\nlet scriptImported = false\nself.addEventListener('message', async (e) => {\n const { file, id, imageCompressionLibUrl, options } = e.data\n options.onProgress = (progress) => self.postMessage({ progress, id })\n try {\n if (!scriptImported) {\n // console.log('[worker] importScripts', imageCompressionLibUrl)\n self.importScripts(imageCompressionLibUrl)\n scriptImported = true\n }\n // console.log('[worker] self', self)\n const compressedFile = await imageCompression(file, options)\n self.postMessage({ file: compressedFile, id })\n } catch (e) {\n // console.error('[worker] error', e)\n self.postMessage({ error: e.message + '\\n' + e.stack, id })\n }\n})\n";
|
|
2934
|
+
let l;
|
|
2935
|
+
function compressOnWebWorker(e, t) {
|
|
2936
|
+
return new Promise((r, i) => {
|
|
2937
|
+
l ||
|
|
2938
|
+
(l = (function createWorkerScriptURL(e) {
|
|
2939
|
+
const t = [];
|
|
2940
|
+
return ('function' == typeof e ? t.push(`(${e})()`) : t.push(e), URL.createObjectURL(new Blob(t)));
|
|
2941
|
+
})(f));
|
|
2942
|
+
const o = new Worker(l);
|
|
2943
|
+
(o.addEventListener('message', function handler(e) {
|
|
2944
|
+
if (t.signal && t.signal.aborted) o.terminate();
|
|
2945
|
+
else if (void 0 === e.data.progress) {
|
|
2946
|
+
if (e.data.error) return (i(new Error(e.data.error)), void o.terminate());
|
|
2947
|
+
(r(e.data.file), o.terminate());
|
|
2948
|
+
} else t.onProgress(e.data.progress);
|
|
2949
|
+
}),
|
|
2950
|
+
o.addEventListener('error', i),
|
|
2951
|
+
t.signal &&
|
|
2952
|
+
t.signal.addEventListener('abort', () => {
|
|
2953
|
+
(i(t.signal.reason), o.terminate());
|
|
2954
|
+
}),
|
|
2955
|
+
o.postMessage({
|
|
2956
|
+
file: e,
|
|
2957
|
+
imageCompressionLibUrl: t.libURL,
|
|
2958
|
+
options: { ...t, onProgress: void 0, signal: void 0 },
|
|
2959
|
+
}));
|
|
2960
|
+
});
|
|
2961
|
+
}
|
|
2962
|
+
function imageCompression(e, t) {
|
|
2963
|
+
return new Promise(function (r, i) {
|
|
2964
|
+
let o, a, s, f, l, c;
|
|
2965
|
+
if (
|
|
2966
|
+
((o = { ...t }),
|
|
2967
|
+
(s = 0),
|
|
2968
|
+
({ onProgress: f } = o),
|
|
2969
|
+
(o.maxSizeMB = o.maxSizeMB || Number.POSITIVE_INFINITY),
|
|
2970
|
+
(l = 'boolean' != typeof o.useWebWorker || o.useWebWorker),
|
|
2971
|
+
delete o.useWebWorker,
|
|
2972
|
+
(o.onProgress = (e) => {
|
|
2973
|
+
((s = e), 'function' == typeof f && f(s));
|
|
2974
|
+
}),
|
|
2975
|
+
!(e instanceof Blob || e instanceof CustomFile))
|
|
2976
|
+
)
|
|
2977
|
+
return i(new Error('The file given is not an instance of Blob or File'));
|
|
2978
|
+
if (!/^image/.test(e.type)) return i(new Error('The file given is not an image'));
|
|
2979
|
+
if (
|
|
2980
|
+
((c = 'undefined' != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope),
|
|
2981
|
+
!l || 'function' != typeof Worker || c)
|
|
2982
|
+
)
|
|
2983
|
+
return compress(e, o).then(
|
|
2984
|
+
function (e) {
|
|
2985
|
+
try {
|
|
2986
|
+
return ((a = e), $If_4.call(this));
|
|
2987
|
+
} catch (e) {
|
|
2988
|
+
return i(e);
|
|
2989
|
+
}
|
|
2990
|
+
}.bind(this),
|
|
2991
|
+
i,
|
|
2992
|
+
);
|
|
2993
|
+
var u = function () {
|
|
2994
|
+
try {
|
|
2995
|
+
return $If_4.call(this);
|
|
2996
|
+
} catch (e) {
|
|
2997
|
+
return i(e);
|
|
2998
|
+
}
|
|
2999
|
+
}.bind(this),
|
|
3000
|
+
$Try_1_Catch = function (t) {
|
|
3001
|
+
try {
|
|
3002
|
+
return compress(e, o).then(function (e) {
|
|
3003
|
+
try {
|
|
3004
|
+
return ((a = e), u());
|
|
3005
|
+
} catch (e) {
|
|
3006
|
+
return i(e);
|
|
3007
|
+
}
|
|
3008
|
+
}, i);
|
|
3009
|
+
} catch (e) {
|
|
3010
|
+
return i(e);
|
|
3011
|
+
}
|
|
3012
|
+
};
|
|
3013
|
+
try {
|
|
3014
|
+
return (
|
|
3015
|
+
(o.libURL =
|
|
3016
|
+
o.libURL ||
|
|
3017
|
+
'https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js'),
|
|
3018
|
+
compressOnWebWorker(e, o).then(function (e) {
|
|
3019
|
+
try {
|
|
3020
|
+
return ((a = e), u());
|
|
3021
|
+
} catch (e) {
|
|
3022
|
+
return $Try_1_Catch();
|
|
3023
|
+
}
|
|
3024
|
+
}, $Try_1_Catch)
|
|
3025
|
+
);
|
|
3026
|
+
} catch (e) {
|
|
3027
|
+
$Try_1_Catch();
|
|
3028
|
+
}
|
|
3029
|
+
function $If_4() {
|
|
3030
|
+
try {
|
|
3031
|
+
((a.name = e.name), (a.lastModified = e.lastModified));
|
|
3032
|
+
} catch (e) {}
|
|
3033
|
+
try {
|
|
3034
|
+
o.preserveExif &&
|
|
3035
|
+
'image/jpeg' === e.type &&
|
|
3036
|
+
(!o.fileType || (o.fileType && o.fileType === e.type)) &&
|
|
3037
|
+
(a = copyExifWithoutOrientation(e, a));
|
|
3038
|
+
} catch (e) {}
|
|
3039
|
+
return r(a);
|
|
3040
|
+
}
|
|
3041
|
+
});
|
|
3042
|
+
}
|
|
3043
|
+
return (
|
|
3044
|
+
(imageCompression.getDataUrlFromFile = getDataUrlFromFile),
|
|
3045
|
+
(imageCompression.getFilefromDataUrl = getFilefromDataUrl),
|
|
3046
|
+
(imageCompression.loadImage = loadImage),
|
|
3047
|
+
(imageCompression.drawImageInCanvas = drawImageInCanvas),
|
|
3048
|
+
(imageCompression.drawFileInCanvas = drawFileInCanvas),
|
|
3049
|
+
(imageCompression.canvasToFile = canvasToFile),
|
|
3050
|
+
(imageCompression.getExifOrientation = getExifOrientation),
|
|
3051
|
+
(imageCompression.handleMaxWidthOrHeight = handleMaxWidthOrHeight),
|
|
3052
|
+
(imageCompression.followExifOrientation = followExifOrientation),
|
|
3053
|
+
(imageCompression.cleanupCanvasMemory = cleanupCanvasMemory),
|
|
3054
|
+
(imageCompression.isAutoOrientationInBrowser = isAutoOrientationInBrowser),
|
|
3055
|
+
(imageCompression.approximateBelowMaximumCanvasSizeOfBrowser = approximateBelowMaximumCanvasSizeOfBrowser),
|
|
3056
|
+
(imageCompression.copyExifWithoutOrientation = copyExifWithoutOrientation),
|
|
3057
|
+
(imageCompression.getBrowserName = getBrowserName),
|
|
3058
|
+
(imageCompression.version = '2.0.2'),
|
|
3059
|
+
imageCompression
|
|
3060
|
+
);
|
|
3061
|
+
});
|
|
9
3062
|
//# sourceMappingURL=browser-image-compression.js.map
|