diff --git a/docs/index.html b/docs/index.html index c4f43d8..0350a94 100644 --- a/docs/index.html +++ b/docs/index.html @@ -32,4 +32,4 @@ } applyTheme(); window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", applyTheme);光棱坦克工厂

光棱坦克工厂

什么是光棱坦克? 推荐访问方式: prism.uyanide.com
本网站仅作辅助,并非此类坦克的唯一解!
(可在任意支持html5的浏览器中离线使用)

开/关灯

显形
制作
2.
(可多选,点击页面右侧可展开侧边栏列表)
或从剪贴板粘贴图片 (ctrl+v),
或从剪贴板
或直接将图片拖进窗口。

(越小隐写效果越好)
(但越小里图质量越差)
(不应高于右侧值)
(降低可提高隐写效果)
(但也会降低里图质量)
(越大显形效果越好)
(但越大表图质量越差)
(不应低于左侧值)
(表图对比度酌情调整)
(此参数不会影响显形)

version: UNKNOWN
如发现有功能不正常可手动清理浏览器缓存后刷新
Bug反馈 Github - Uyanide (我) Github - Mirage_Decode (本项目仓库) 常见问题Q&A
显示使用须知

本网站仅供个人学习交流使用,禁止一切非法用途,否则一切后果由使用者自行承担。

显示主要更新记录
1.0实施版本号记录,用于优化缓存处理;
添加从剪贴板粘贴图片功能;
在显形界面添加“保存原始图像”功能。
1.1可以根据系统设置进行明暗主题切换;
添加“表图是否取灰度”功能;
1.2引入jpeg-js库部分源码,统一不同浏览器编码jpeg时的行为;
引入piexif库部分源码,用于读取jpeg图片的元数据;
支持jpeg图片在生成时写入参数以在显形时自动填写;
1.3使用jsDelievr CDN加速加载静态资源;
引入png-metadata库部分源码,用于读取png图片的元数据;
支持png图片在生成时写入参数以自动显形;
添加表里图对比度调整功能;
里图对比度可写入元数据。
1.4放弃使用jsDelievr,使用Cloudflare代理个人域名;
识别小米默认浏览器,修复其无法正常下载图片的问题;
识别贴吧内置浏览器,阻止其直接访问;
支持幻影坦克作为表图;
添加手动切换明暗主题功能,方便观察幻影坦克;
优化Alpha通道处理逻辑,为可能的幻影坦克整合铺路;
添加显形界面阈值直接输入的功能;
显形界面支持多文件输入,为方便查看增加侧边栏;
支持html文档下载以供离线使用。
\ No newline at end of file +(()=>{var A={526:(A,e)=>{"use strict";e.byteLength=function(A){var e=a(A),t=e[0],n=e[1];return 3*(t+n)/4-n},e.toByteArray=function(A){var e,t,o=a(A),i=o[0],s=o[1],c=new r(function(A,e,t){return 3*(e+t)/4-t}(0,i,s)),u=0,l=s>0?i-4:i;for(t=0;t>16&255,c[u++]=e>>8&255,c[u++]=255&e;2===s&&(e=n[A.charCodeAt(t)]<<2|n[A.charCodeAt(t+1)]>>4,c[u++]=255&e);1===s&&(e=n[A.charCodeAt(t)]<<10|n[A.charCodeAt(t+1)]<<4|n[A.charCodeAt(t+2)]>>2,c[u++]=e>>8&255,c[u++]=255&e);return c},e.fromByteArray=function(A){for(var e,n=A.length,r=n%3,o=[],i=16383,a=0,c=n-r;ac?c:a+i));1===r?(e=A[n-1],o.push(t[e>>2]+t[e<<4&63]+"==")):2===r&&(e=(A[n-2]<<8)+A[n-1],o.push(t[e>>10]+t[e>>4&63]+t[e<<2&63]+"="));return o.join("")};for(var t=[],n=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0;i<64;++i)t[i]=o[i],n[o.charCodeAt(i)]=i;function a(A){var e=A.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=A.indexOf("=");return-1===t&&(t=e),[t,t===e?0:4-t%4]}function s(A,e,n){for(var r,o,i=[],a=e;a>18&63]+t[o>>12&63]+t[o>>6&63]+t[63&o]);return i.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},287:(A,e,t)=>{"use strict";const n=t(526),r=t(251),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.hp=s,e.IS=50;const i=2147483647;function a(A){if(A>i)throw new RangeError('The value "'+A+'" is invalid for option "size"');const e=new Uint8Array(A);return Object.setPrototypeOf(e,s.prototype),e}function s(A,e,t){if("number"==typeof A){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(A)}return c(A,e,t)}function c(A,e,t){if("string"==typeof A)return function(A,e){"string"==typeof e&&""!==e||(e="utf8");if(!s.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const t=0|m(A,e);let n=a(t);const r=n.write(A,e);r!==t&&(n=n.slice(0,r));return n}(A,e);if(ArrayBuffer.isView(A))return function(A){if(Y(A,Uint8Array)){const e=new Uint8Array(A);return f(e.buffer,e.byteOffset,e.byteLength)}return d(A)}(A);if(null==A)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof A);if(Y(A,ArrayBuffer)||A&&Y(A.buffer,ArrayBuffer))return f(A,e,t);if("undefined"!=typeof SharedArrayBuffer&&(Y(A,SharedArrayBuffer)||A&&Y(A.buffer,SharedArrayBuffer)))return f(A,e,t);if("number"==typeof A)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=A.valueOf&&A.valueOf();if(null!=n&&n!==A)return s.from(n,e,t);const r=function(A){if(s.isBuffer(A)){const e=0|h(A.length),t=a(e);return 0===t.length||A.copy(t,0,0,e),t}if(void 0!==A.length)return"number"!=typeof A.length||W(A.length)?a(0):d(A);if("Buffer"===A.type&&Array.isArray(A.data))return d(A.data)}(A);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof A[Symbol.toPrimitive])return s.from(A[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof A)}function u(A){if("number"!=typeof A)throw new TypeError('"size" argument must be of type number');if(A<0)throw new RangeError('The value "'+A+'" is invalid for option "size"')}function l(A){return u(A),a(A<0?0:0|h(A))}function d(A){const e=A.length<0?0:0|h(A.length),t=a(e);for(let n=0;n=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|A}function m(A,e){if(s.isBuffer(A))return A.length;if(ArrayBuffer.isView(A)||Y(A,ArrayBuffer))return A.byteLength;if("string"!=typeof A)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof A);const t=A.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===t)return 0;let r=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return Z(A).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*t;case"hex":return t>>>1;case"base64":return X(A).length;default:if(r)return n?-1:Z(A).length;e=(""+e).toLowerCase(),r=!0}}function p(A,e,t){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===t||t>this.length)&&(t=this.length),t<=0)return"";if((t>>>=0)<=(e>>>=0))return"";for(A||(A="utf8");;)switch(A){case"hex":return C(this,e,t);case"utf8":case"utf-8":return S(this,e,t);case"ascii":return j(this,e,t);case"latin1":case"binary":return L(this,e,t);case"base64":return G(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,t);default:if(n)throw new TypeError("Unknown encoding: "+A);A=(A+"").toLowerCase(),n=!0}}function g(A,e,t){const n=A[e];A[e]=A[t],A[t]=n}function y(A,e,t,n,r){if(0===A.length)return-1;if("string"==typeof t?(n=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),W(t=+t)&&(t=r?0:A.length-1),t<0&&(t=A.length+t),t>=A.length){if(r)return-1;t=A.length-1}else if(t<0){if(!r)return-1;t=0}if("string"==typeof e&&(e=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:v(A,e,t,n,r);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(A,e,t):Uint8Array.prototype.lastIndexOf.call(A,e,t):v(A,[e],t,n,r);throw new TypeError("val must be string, number or Buffer")}function v(A,e,t,n,r){let o,i=1,a=A.length,s=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(A.length<2||e.length<2)return-1;i=2,a/=2,s/=2,t/=2}function c(A,e){return 1===i?A[e]:A.readUInt16BE(e*i)}if(r){let n=-1;for(o=t;oa&&(t=a-s),o=t;o>=0;o--){let t=!0;for(let n=0;nr&&(n=r):n=r;const o=e.length;let i;for(n>o/2&&(n=o/2),i=0;i>8,r=t%256,o.push(r),o.push(n);return o}(e,A.length-t),A,t,n)}function G(A,e,t){return 0===e&&t===A.length?n.fromByteArray(A):n.fromByteArray(A.slice(e,t))}function S(A,e,t){t=Math.min(A.length,t);const n=[];let r=e;for(;r239?4:e>223?3:e>191?2:1;if(r+i<=t){let t,n,a,s;switch(i){case 1:e<128&&(o=e);break;case 2:t=A[r+1],128==(192&t)&&(s=(31&e)<<6|63&t,s>127&&(o=s));break;case 3:t=A[r+1],n=A[r+2],128==(192&t)&&128==(192&n)&&(s=(15&e)<<12|(63&t)<<6|63&n,s>2047&&(s<55296||s>57343)&&(o=s));break;case 4:t=A[r+1],n=A[r+2],a=A[r+3],128==(192&t)&&128==(192&n)&&128==(192&a)&&(s=(15&e)<<18|(63&t)<<12|(63&n)<<6|63&a,s>65535&&s<1114112&&(o=s))}}null===o?(o=65533,i=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),r+=i}return function(A){const e=A.length;if(e<=I)return String.fromCharCode.apply(String,A);let t="",n=0;for(;nn.length?(s.isBuffer(e)||(e=s.from(e)),e.copy(n,r)):Uint8Array.prototype.set.call(n,e,r);else{if(!s.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(n,r)}r+=e.length}return n},s.byteLength=m,s.prototype._isBuffer=!0,s.prototype.swap16=function(){const A=this.length;if(A%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;et&&(A+=" ... "),""},o&&(s.prototype[o]=s.prototype.inspect),s.prototype.compare=function(A,e,t,n,r){if(Y(A,Uint8Array)&&(A=s.from(A,A.offset,A.byteLength)),!s.isBuffer(A))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof A);if(void 0===e&&(e=0),void 0===t&&(t=A?A.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),e<0||t>A.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&e>=t)return 0;if(n>=r)return-1;if(e>=t)return 1;if(this===A)return 0;let o=(r>>>=0)-(n>>>=0),i=(t>>>=0)-(e>>>=0);const a=Math.min(o,i),c=this.slice(n,r),u=A.slice(e,t);for(let A=0;A>>=0,isFinite(t)?(t>>>=0,void 0===n&&(n="utf8")):(n=t,t=void 0)}const r=this.length-e;if((void 0===t||t>r)&&(t=r),A.length>0&&(t<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return P(this,A,e,t);case"utf8":case"utf-8":return b(this,A,e,t);case"ascii":case"latin1":case"binary":return x(this,A,e,t);case"base64":return w(this,A,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,A,e,t);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const I=4096;function j(A,e,t){let n="";t=Math.min(A.length,t);for(let r=e;rn)&&(t=n);let r="";for(let n=e;nt)throw new RangeError("Trying to access beyond buffer length")}function k(A,e,t,n,r,o){if(!s.isBuffer(A))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>r||eA.length)throw new RangeError("Index out of range")}function T(A,e,t,n,r){N(e,n,r,A,t,7);let o=Number(e&BigInt(4294967295));A[t++]=o,o>>=8,A[t++]=o,o>>=8,A[t++]=o,o>>=8,A[t++]=o;let i=Number(e>>BigInt(32)&BigInt(4294967295));return A[t++]=i,i>>=8,A[t++]=i,i>>=8,A[t++]=i,i>>=8,A[t++]=i,t}function R(A,e,t,n,r){N(e,n,r,A,t,7);let o=Number(e&BigInt(4294967295));A[t+7]=o,o>>=8,A[t+6]=o,o>>=8,A[t+5]=o,o>>=8,A[t+4]=o;let i=Number(e>>BigInt(32)&BigInt(4294967295));return A[t+3]=i,i>>=8,A[t+2]=i,i>>=8,A[t+1]=i,i>>=8,A[t]=i,t+8}function M(A,e,t,n,r,o){if(t+n>A.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function O(A,e,t,n,o){return e=+e,t>>>=0,o||M(A,0,t,4),r.write(A,e,t,n,23,4),t+4}function q(A,e,t,n,o){return e=+e,t>>>=0,o||M(A,0,t,8),r.write(A,e,t,n,52,8),t+8}s.prototype.slice=function(A,e){const t=this.length;(A=~~A)<0?(A+=t)<0&&(A=0):A>t&&(A=t),(e=void 0===e?t:~~e)<0?(e+=t)<0&&(e=0):e>t&&(e=t),e>>=0,e>>>=0,t||B(A,e,this.length);let n=this[A],r=1,o=0;for(;++o>>=0,e>>>=0,t||B(A,e,this.length);let n=this[A+--e],r=1;for(;e>0&&(r*=256);)n+=this[A+--e]*r;return n},s.prototype.readUint8=s.prototype.readUInt8=function(A,e){return A>>>=0,e||B(A,1,this.length),this[A]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(A,e){return A>>>=0,e||B(A,2,this.length),this[A]|this[A+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(A,e){return A>>>=0,e||B(A,2,this.length),this[A]<<8|this[A+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(A,e){return A>>>=0,e||B(A,4,this.length),(this[A]|this[A+1]<<8|this[A+2]<<16)+16777216*this[A+3]},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(A,e){return A>>>=0,e||B(A,4,this.length),16777216*this[A]+(this[A+1]<<16|this[A+2]<<8|this[A+3])},s.prototype.readBigUInt64LE=K((function(A){U(A>>>=0,"offset");const e=this[A],t=this[A+7];void 0!==e&&void 0!==t||z(A,this.length-8);const n=e+256*this[++A]+65536*this[++A]+this[++A]*2**24,r=this[++A]+256*this[++A]+65536*this[++A]+t*2**24;return BigInt(n)+(BigInt(r)<>>=0,"offset");const e=this[A],t=this[A+7];void 0!==e&&void 0!==t||z(A,this.length-8);const n=e*2**24+65536*this[++A]+256*this[++A]+this[++A],r=this[++A]*2**24+65536*this[++A]+256*this[++A]+t;return(BigInt(n)<>>=0,e>>>=0,t||B(A,e,this.length);let n=this[A],r=1,o=0;for(;++o=r&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(A,e,t){A>>>=0,e>>>=0,t||B(A,e,this.length);let n=e,r=1,o=this[A+--n];for(;n>0&&(r*=256);)o+=this[A+--n]*r;return r*=128,o>=r&&(o-=Math.pow(2,8*e)),o},s.prototype.readInt8=function(A,e){return A>>>=0,e||B(A,1,this.length),128&this[A]?-1*(255-this[A]+1):this[A]},s.prototype.readInt16LE=function(A,e){A>>>=0,e||B(A,2,this.length);const t=this[A]|this[A+1]<<8;return 32768&t?4294901760|t:t},s.prototype.readInt16BE=function(A,e){A>>>=0,e||B(A,2,this.length);const t=this[A+1]|this[A]<<8;return 32768&t?4294901760|t:t},s.prototype.readInt32LE=function(A,e){return A>>>=0,e||B(A,4,this.length),this[A]|this[A+1]<<8|this[A+2]<<16|this[A+3]<<24},s.prototype.readInt32BE=function(A,e){return A>>>=0,e||B(A,4,this.length),this[A]<<24|this[A+1]<<16|this[A+2]<<8|this[A+3]},s.prototype.readBigInt64LE=K((function(A){U(A>>>=0,"offset");const e=this[A],t=this[A+7];void 0!==e&&void 0!==t||z(A,this.length-8);const n=this[A+4]+256*this[A+5]+65536*this[A+6]+(t<<24);return(BigInt(n)<>>=0,"offset");const e=this[A],t=this[A+7];void 0!==e&&void 0!==t||z(A,this.length-8);const n=(e<<24)+65536*this[++A]+256*this[++A]+this[++A];return(BigInt(n)<>>=0,e||B(A,4,this.length),r.read(this,A,!0,23,4)},s.prototype.readFloatBE=function(A,e){return A>>>=0,e||B(A,4,this.length),r.read(this,A,!1,23,4)},s.prototype.readDoubleLE=function(A,e){return A>>>=0,e||B(A,8,this.length),r.read(this,A,!0,52,8)},s.prototype.readDoubleBE=function(A,e){return A>>>=0,e||B(A,8,this.length),r.read(this,A,!1,52,8)},s.prototype.writeUintLE=s.prototype.writeUIntLE=function(A,e,t,n){if(A=+A,e>>>=0,t>>>=0,!n){k(this,A,e,t,Math.pow(2,8*t)-1,0)}let r=1,o=0;for(this[e]=255&A;++o>>=0,t>>>=0,!n){k(this,A,e,t,Math.pow(2,8*t)-1,0)}let r=t-1,o=1;for(this[e+r]=255&A;--r>=0&&(o*=256);)this[e+r]=A/o&255;return e+t},s.prototype.writeUint8=s.prototype.writeUInt8=function(A,e,t){return A=+A,e>>>=0,t||k(this,A,e,1,255,0),this[e]=255&A,e+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(A,e,t){return A=+A,e>>>=0,t||k(this,A,e,2,65535,0),this[e]=255&A,this[e+1]=A>>>8,e+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(A,e,t){return A=+A,e>>>=0,t||k(this,A,e,2,65535,0),this[e]=A>>>8,this[e+1]=255&A,e+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(A,e,t){return A=+A,e>>>=0,t||k(this,A,e,4,4294967295,0),this[e+3]=A>>>24,this[e+2]=A>>>16,this[e+1]=A>>>8,this[e]=255&A,e+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(A,e,t){return A=+A,e>>>=0,t||k(this,A,e,4,4294967295,0),this[e]=A>>>24,this[e+1]=A>>>16,this[e+2]=A>>>8,this[e+3]=255&A,e+4},s.prototype.writeBigUInt64LE=K((function(A,e=0){return T(this,A,e,BigInt(0),BigInt("0xffffffffffffffff"))})),s.prototype.writeBigUInt64BE=K((function(A,e=0){return R(this,A,e,BigInt(0),BigInt("0xffffffffffffffff"))})),s.prototype.writeIntLE=function(A,e,t,n){if(A=+A,e>>>=0,!n){const n=Math.pow(2,8*t-1);k(this,A,e,t,n-1,-n)}let r=0,o=1,i=0;for(this[e]=255&A;++r>>=0,!n){const n=Math.pow(2,8*t-1);k(this,A,e,t,n-1,-n)}let r=t-1,o=1,i=0;for(this[e+r]=255&A;--r>=0&&(o*=256);)A<0&&0===i&&0!==this[e+r+1]&&(i=1),this[e+r]=(A/o|0)-i&255;return e+t},s.prototype.writeInt8=function(A,e,t){return A=+A,e>>>=0,t||k(this,A,e,1,127,-128),A<0&&(A=255+A+1),this[e]=255&A,e+1},s.prototype.writeInt16LE=function(A,e,t){return A=+A,e>>>=0,t||k(this,A,e,2,32767,-32768),this[e]=255&A,this[e+1]=A>>>8,e+2},s.prototype.writeInt16BE=function(A,e,t){return A=+A,e>>>=0,t||k(this,A,e,2,32767,-32768),this[e]=A>>>8,this[e+1]=255&A,e+2},s.prototype.writeInt32LE=function(A,e,t){return A=+A,e>>>=0,t||k(this,A,e,4,2147483647,-2147483648),this[e]=255&A,this[e+1]=A>>>8,this[e+2]=A>>>16,this[e+3]=A>>>24,e+4},s.prototype.writeInt32BE=function(A,e,t){return A=+A,e>>>=0,t||k(this,A,e,4,2147483647,-2147483648),A<0&&(A=4294967295+A+1),this[e]=A>>>24,this[e+1]=A>>>16,this[e+2]=A>>>8,this[e+3]=255&A,e+4},s.prototype.writeBigInt64LE=K((function(A,e=0){return T(this,A,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),s.prototype.writeBigInt64BE=K((function(A,e=0){return R(this,A,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),s.prototype.writeFloatLE=function(A,e,t){return O(this,A,e,!0,t)},s.prototype.writeFloatBE=function(A,e,t){return O(this,A,e,!1,t)},s.prototype.writeDoubleLE=function(A,e,t){return q(this,A,e,!0,t)},s.prototype.writeDoubleBE=function(A,e,t){return q(this,A,e,!1,t)},s.prototype.copy=function(A,e,t,n){if(!s.isBuffer(A))throw new TypeError("argument should be a Buffer");if(t||(t=0),n||0===n||(n=this.length),e>=A.length&&(e=A.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),A.length-e>>=0,t=void 0===t?this.length:t>>>0,A||(A=0),"number"==typeof A)for(r=e;r=n+4;t-=3)e=`_${A.slice(t-3,t)}${e}`;return`${A.slice(0,t)}${e}`}function N(A,e,t,n,r,o){if(A>t||A3?0===e||e===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(o+1)}${n}`:`>= -(2${n} ** ${8*(o+1)-1}${n}) and < 2 ** ${8*(o+1)-1}${n}`:`>= ${e}${n} and <= ${t}${n}`,new F.ERR_OUT_OF_RANGE("value",r,A)}!function(A,e,t){U(e,"offset"),void 0!==A[e]&&void 0!==A[e+t]||z(e,A.length-(t+1))}(n,r,o)}function U(A,e){if("number"!=typeof A)throw new F.ERR_INVALID_ARG_TYPE(e,"number",A)}function z(A,e,t){if(Math.floor(A)!==A)throw U(A,t),new F.ERR_OUT_OF_RANGE(t||"offset","an integer",A);if(e<0)throw new F.ERR_BUFFER_OUT_OF_BOUNDS;throw new F.ERR_OUT_OF_RANGE(t||"offset",`>= ${t?1:0} and <= ${e}`,A)}H("ERR_BUFFER_OUT_OF_BOUNDS",(function(A){return A?`${A} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),H("ERR_INVALID_ARG_TYPE",(function(A,e){return`The "${A}" argument must be of type number. Received type ${typeof e}`}),TypeError),H("ERR_OUT_OF_RANGE",(function(A,e,t){let n=`The value of "${A}" is out of range.`,r=t;return Number.isInteger(t)&&Math.abs(t)>2**32?r=Q(String(t)):"bigint"==typeof t&&(r=String(t),(t>BigInt(2)**BigInt(32)||t<-(BigInt(2)**BigInt(32)))&&(r=Q(r)),r+="n"),n+=` It must be ${e}. Received ${r}`,n}),RangeError);const _=/[^+/0-9A-Za-z-_]/g;function Z(A,e){let t;e=e||1/0;const n=A.length;let r=null;const o=[];for(let i=0;i55295&&t<57344){if(!r){if(t>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(i+1===n){(e-=3)>-1&&o.push(239,191,189);continue}r=t;continue}if(t<56320){(e-=3)>-1&&o.push(239,191,189),r=t;continue}t=65536+(r-55296<<10|t-56320)}else r&&(e-=3)>-1&&o.push(239,191,189);if(r=null,t<128){if((e-=1)<0)break;o.push(t)}else if(t<2048){if((e-=2)<0)break;o.push(t>>6|192,63&t|128)}else if(t<65536){if((e-=3)<0)break;o.push(t>>12|224,t>>6&63|128,63&t|128)}else{if(!(t<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return o}function X(A){return n.toByteArray(function(A){if((A=(A=A.split("=")[0]).trim().replace(_,"")).length<2)return"";for(;A.length%4!=0;)A+="=";return A}(A))}function V(A,e,t,n){let r;for(r=0;r=e.length||r>=A.length);++r)e[r+t]=A[r];return r}function Y(A,e){return A instanceof e||null!=A&&null!=A.constructor&&null!=A.constructor.name&&A.constructor.name===e.name}function W(A){return A!=A}const J=function(){const A="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){const n=16*t;for(let r=0;r<16;++r)e[n+r]=A[t]+A[r]}return e}();function K(A){return"undefined"==typeof BigInt?$:A}function $(){throw new Error("BigInt not supported")}},371:(A,e,t)=>{"use strict";t.d(e,{A:()=>a});var n=t(601),r=t.n(n),o=t(314),i=t.n(o)()(r());i.push([A.id,':root {\n --secondary-background-color: #fff;\n --background-color: #ececec;\n --secondary-notselected-background-color: #f6f6f6;\n --element-backgound-color: #f6f6f6;\n --front-color: #000;\n --front-secondary-color: #666;\n --element-border-color: #ccc;\n --link-color: #2285d5;\n\n --large-font-size: 1.2rem;\n --medium-font-size: 0.9rem;\n --small-font-size: 0.7rem;\n}\n\n[data-theme="light"] {\n --secondary-background-color: #fff;\n --background-color: #ececec;\n --secondary-notselected-background-color: #f6f6f6;\n --element-backgound-color: #eaeaea;\n --front-color: #000;\n --front-secondary-color: #666;\n --element-border-color: #cccccc;\n --link-color: #2285d5;\n}\n\n[data-theme="dark"] {\n --secondary-background-color: #000;\n --background-color: #191919;\n --secondary-notselected-background-color: #101010;\n --element-backgound-color: #444;\n --front-color: #dfdfdf;\n --front-secondary-color: #999;\n --element-border-color: #555;\n --link-color: #4baeff;\n}\n\n/**************************************/\n\n.marginTopHigh {\n margin-top: 20px;\n}\n\n.marginTopMedium {\n margin-top: 10px;\n}\n\n.marginTopLow {\n margin-top: 5px;\n}\n\n.marginLeftLow {\n margin-left: 5px;\n}\n\n.marginRightLow {\n margin-right: 5px;\n}\n\n.marginBottomMedium {\n margin-bottom: 10px;\n}\n\n.marginBottomHigh {\n margin-bottom: 20px;\n}\n\n.marginBottomExtreme {\n margin-bottom: 40px;\n}\n\n/**************************************/\n\n.justifyCenter {\n justify-content: center;\n}\n\n.justifySpaceBetween {\n justify-content: space-between;\n}\n\n.gapLow {\n gap: 5px;\n}\n\n.alignCenter {\n align-items: center;\n}\n\n.flexColumn {\n flex-direction: column;\n}\n\n.flexRow {\n flex-direction: row;\n}\n\n.positionRelative {\n position: relative;\n}\n\n.textAlignCenter {\n text-align: center;\n}\n\n/**************************************/\n\n.paddingLow {\n padding: 5px;\n}\n\n.paddingHigh {\n padding: 15px;\n}\n\n.displayNone {\n display: none;\n}\n\n.displayBlock {\n display: block;\n}\n\n.displayFlex {\n display: flex;\n}\n\n.fontLarge {\n font-size: var(--large-font-size);\n}\n\n.fontMedium {\n font-size: var(--medium-font-size);\n}\n\n.fontSmall {\n font-size: var(--small-font-size);\n}\n\n.textDecorationNone {\n text-decoration: none;\n}\n\n.textDecorationUnderline {\n text-decoration: underline;\n}\n\n.borderNone {\n border: none;\n}\n\n.borderRadiusLow {\n border-radius: 5px;\n}\n\n.borderRadiusHigh {\n border-radius: 10px;\n}\n\n.borderRadiusExtreme {\n border-radius: 20px;\n}\n\n.borderRadiusOnlyTop {\n border-radius: 10px 10px 0 0;\n}\n\n.borderRadiusOnlyBottom {\n border-radius: 0 0 15px 15px;\n}\n\n.borderSolidNone {\n border: 0px, solid;\n}\n\n.borderCollapse {\n border-collapse: collapse;\n}\n\n.frontColor {\n color: var(--front-color);\n}\n\n.frontSecondaryColor {\n color: var(--front-secondary-color);\n}\n\n.frontLinkColor {\n color: var(--link-color);\n}\n\n.backgroundSecondary {\n background-color: var(--secondary-background-color);\n}\n\n.backgroundNotSelected {\n background-color: var(--secondary-notselected-background-color);\n}\n\n.backgroundElement {\n background-color: var(--element-backgound-color);\n}\n\n.backgroundPrimary {\n background-color: var(--background-color);\n}\n\n/**************************************/\n\n.transformNone {\n transform: none;\n}\n\n.transformSize:hover {\n transform: scale(1.05);\n transition: transform 0.2s;\n}\n\n.transformSecondary:hover {\n transform: none;\n background-color: var(--secondary-background-color);\n}\n\n/**************************************/\n\n.refWidthHigh {\n width: 90%;\n}\n\n.refWidthMedium {\n width: 70%;\n}\n\n.refWidthFull {\n width: 100%;\n}\n\n.refWidthHalf {\n width: 50%;\n}\n\n.widthLimit {\n max-width: min(90%, 600px);\n}\n\n.refWidthLimit {\n width: min(90%, 400px);\n}',""]);const a=i},915:(A,e,t)=>{"use strict";t.d(e,{A:()=>a});var n=t(601),r=t.n(n),o=t(314),i=t.n(o)()(r());i.push([A.id,":root {\n --sidebar-width: 200px;\n --sidebar-padding: 30px;\n}\n\n.sidebarContainer {\n position: fixed;\n top: 0;\n right: 0;\n width: var(--sidebar-width);\n height: 100%;\n background-color: var(--secondary-background-color);\n border-left: 5px solid var(--element-backgound-color);\n box-shadow: -5px 0 10px rgba(0, 0, 0, 0.1);\n padding: var(--sidebar-padding);\n z-index: 100;\n transition: transform 0.5s, background-color 0.3s ease-in-out;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.sidebarHide {\n transform: translateX(calc(var(--sidebar-width) + var(--sidebar-padding)));\n}\n\n.sidebarShow {\n transform: translateX(0);\n}\n\n.sidebarContent {\n width: 100%;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-bottom: 30px;\n}\n\n.sidebarContent Canvas {\n width: 90%;\n margin-top: 20px;\n}\n\n.sidebarToggle {\n position: absolute;\n top: 50%;\n left: 0px;\n box-shadow: -5px 0 10px rgba(0, 0, 0, 0.1);\n transform: translateY(-50%);\n transform: translateX(-50%);\n width: 40px;\n height: 40px;\n background-color: var(--element-backgound-color);\n color: var(--front-color);\n font-size: var(--large-font-size);\n border: 0px solid;\n border-radius: 50%;\n cursor: pointer;\n z-index: 101;\n}\n\n#sidebarClearButton {\n margin-top: 10px;\n}\n\n#sidebarHint {\n font-size: var(--small-font-size);\n}\n\n.canvasSelected {\n border: var(--front-color) 5px solid;\n}",""]);const a=i},16:(A,e,t)=>{"use strict";t.d(e,{A:()=>a});var n=t(601),r=t.n(n),o=t(314),i=t.n(o)()(r());i.push([A.id,':root {\n --secondary-background-color: #fff;\n --background-color: #ececec;\n --secondary-notselected-background-color: #f6f6f6;\n --element-backgound-color: #f6f6f6;\n --front-color: #000;\n --element-border-color: #ccc;\n --link-color: #2285d5;\n\n --large-font-size: 1.2rem;\n --medium-font-size: 1rem;\n --small-font-size: 0.8rem;\n}\n\n[data-theme="light"] {\n --secondary-background-color: #fff;\n --background-color: #ececec;\n --secondary-notselected-background-color: #f6f6f6;\n --element-backgound-color: #f6f6f6;\n --front-color: #000;\n --element-border-color: #ccc;\n --link-color: #2285d5;\n}\n\n[data-theme="dark"] {\n --secondary-background-color: #000;\n --background-color: #191919;\n --secondary-notselected-background-color: #101010;\n --element-backgound-color: #444;\n --front-color: #dfdfdf;\n --element-border-color: #555;\n --link-color: #4baeff;\n}\n\n/**********************************************/\n\n* {\n user-select: none;\n transition: background-color 0.3s ease-in-out, color 0.1s ease-in-out;\n box-sizing: content-box;\n}\n\n.inputReact {\n background-color: var(--element-backgound-color);\n color: var(--front-color);\n padding: 5px;\n border: 1px solid var(--element-border-color);\n border-radius: 5px;\n font-size: var(--medium-font-size);\n}\n\ninput[type=file] {\n display: none;\n}\n\nCanvas {\n border: 1px solid var(--element-border-color);\n}\n\n/**********************************************/\n\n.title {\n font-size: clamp(30px, 5vw, 50px);\n}\n\n.PageContainer {\n max-width: 1000px;\n min-width: 300px;\n}\n\n.PageSwitchButtonUnselected {\n background-color: var(--secondary-notselected-background-color);\n}\n\n.PageSwitchButtonSelected {\n background-color: var(--secondary-background-color);\n}\n\n/**********************************************/\n\n#decodeImageUrlInput {\n width: 100px;\n}\n\n#decodeThresholdInput {\n width: 50px;\n}\n\n/**********************************************/\n\n#innerThresholdRange,\n#coverThresholdRange,\n#innerContrastRange,\n#coverContrastRange {\n max-width: 320px;\n}\n\n#innerThresholdInput,\n#coverThresholdInput {\n width: 50px;\n}\n\n#encodeSizeInput {\n width: 60px;\n}\n\n/**********************************************/\n\n#versionRecordTable td {\n padding: 10px;\n}',""]);const a=i},107:(A,e,t)=>{"use strict";t.d(e,{A:()=>a});var n=t(601),r=t.n(n),o=t(314),i=t.n(o)()(r());i.push([A.id,'.switchContainer {\n position: fixed;\n left: 10px;\n bottom: 10px;\n display: flex;\n align-items: center;\n padding: 5px 20px;\n cursor: pointer;\n background-color: var(--secondary-background-color);\n border-radius: 40px;\n border: 1px solid var(--element-border-color);\n box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);\n z-index: 1;\n}\n\n.switchContainer p {\n margin-right: 10px;\n font-size: 1rem;\n}\n\n.switch {\n position: relative;\n display: inline-block;\n width: 40px;\n height: 22px;\n}\n\n.switch input {\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n.switchSlider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #ccc;\n transition: .4s;\n border-radius: 22px;\n}\n\n.switchSlider:before {\n position: absolute;\n content: "";\n height: 18px;\n width: 18px;\n left: 2px;\n bottom: 2px;\n background-color: white;\n transition: .4s;\n border-radius: 50%;\n}\n\ninput:checked+.switchSlider {\n background-color: #002a6e;\n}\n\ninput:checked+.switchSlider:before {\n transform: translateX(18px);\n}',""]);const a=i},314:A=>{"use strict";A.exports=function(A){var e=[];return e.toString=function(){return this.map((function(e){var t="",n=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),n&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=A(e),n&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t})).join("")},e.i=function(A,t,n,r,o){"string"==typeof A&&(A=[[null,A,void 0]]);var i={};if(n)for(var a=0;a0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),t&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=t):u[2]=t),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),e.push(u))}},e}},601:A=>{"use strict";A.exports=function(A){return A[1]}},251:(A,e)=>{e.read=function(A,e,t,n,r){var o,i,a=8*r-n-1,s=(1<>1,u=-7,l=t?r-1:0,d=t?-1:1,f=A[e+l];for(l+=d,o=f&(1<<-u)-1,f>>=-u,u+=a;u>0;o=256*o+A[e+l],l+=d,u-=8);for(i=o&(1<<-u)-1,o>>=-u,u+=n;u>0;i=256*i+A[e+l],l+=d,u-=8);if(0===o)o=1-c;else{if(o===s)return i?NaN:1/0*(f?-1:1);i+=Math.pow(2,n),o-=c}return(f?-1:1)*i*Math.pow(2,o-n)},e.write=function(A,e,t,n,r,o){var i,a,s,c=8*o-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,h=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,i=u):(i=Math.floor(Math.log(e)/Math.LN2),e*(s=Math.pow(2,-i))<1&&(i--,s*=2),(e+=i+l>=1?d/s:d*Math.pow(2,1-l))*s>=2&&(i++,s/=2),i+l>=u?(a=0,i=u):i+l>=1?(a=(e*s-1)*Math.pow(2,r),i+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,r),i=0));r>=8;A[t+f]=255&a,f+=h,a/=256,r-=8);for(i=i<0;A[t+f]=255&i,f+=h,i/=256,c-=8);A[t+f-h]|=128*m}},72:A=>{"use strict";var e=[];function t(A){for(var t=-1,n=0;n{"use strict";var e={};A.exports=function(A,t){var n=function(A){if(void 0===e[A]){var t=document.querySelector(A);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(A){t=null}e[A]=t}return e[A]}(A);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(t)}},540:A=>{"use strict";A.exports=function(A){var e=document.createElement("style");return A.setAttributes(e,A.attributes),A.insert(e,A.options),e}},56:(A,e,t)=>{"use strict";A.exports=function(A){var e=t.nc;e&&A.setAttribute("nonce",e)}},825:A=>{"use strict";A.exports=function(A){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=A.insertStyleElement(A);return{update:function(t){!function(A,e,t){var n="";t.supports&&(n+="@supports (".concat(t.supports,") {")),t.media&&(n+="@media ".concat(t.media," {"));var r=void 0!==t.layer;r&&(n+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),n+=t.css,r&&(n+="}"),t.media&&(n+="}"),t.supports&&(n+="}");var o=t.sourceMap;o&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleTagTransform(n,A,e.options)}(e,A,t)},remove:function(){!function(A){if(null===A.parentNode)return!1;A.parentNode.removeChild(A)}(e)}}}},113:A=>{"use strict";A.exports=function(A,e){if(e.styleSheet)e.styleSheet.cssText=A;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(A))}}}},e={};function t(n){var r=e[n];if(void 0!==r)return r.exports;var o=e[n]={id:n,exports:{}};return A[n](o,o.exports,t),o.exports}t.n=A=>{var e=A&&A.__esModule?()=>A.default:()=>A;return t.d(e,{a:e}),e},t.d=(A,e)=>{for(var n in e)t.o(e,n)&&!t.o(A,n)&&Object.defineProperty(A,n,{enumerable:!0,get:e[n]})},t.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),t.p="",t.nc=void 0,(()=>{"use strict";var A=t(72),e=t.n(A),n=t(825),r=t.n(n),o=t(659),i=t.n(o),a=t(56),s=t.n(a),c=t(540),u=t.n(c),l=t(113),d=t.n(l),f=t(16),h={};h.styleTagTransform=d(),h.setAttributes=s(),h.insert=i().bind(null,"head"),h.domAPI=r(),h.insertStyleElement=u();e()(f.A,h);f.A&&f.A.locals&&f.A.locals;var m=t(371),p={};p.styleTagTransform=d(),p.setAttributes=s(),p.insert=i().bind(null,"head"),p.domAPI=r(),p.insertStyleElement=u();e()(m.A,p);m.A&&m.A.locals&&m.A.locals;var g=t(107),y={};y.styleTagTransform=d(),y.setAttributes=s(),y.insert=i().bind(null,"head"),y.domAPI=r(),y.insertStyleElement=u();e()(g.A,y);g.A&&g.A.locals&&g.A.locals;var v=t(915),P={};P.styleTagTransform=d(),P.setAttributes=s(),P.insert=i().bind(null,"head"),P.domAPI=r(),P.insertStyleElement=u();e()(v.A,P);v.A&&v.A.locals&&v.A.locals;var b={};function x(A){return C(">"+B("B",A.length),A)}function w(A){return C(">"+B("H",A.length),A)}function E(A){return C(">"+B("L",A.length),A)}function G(A,e,t){var n,r,o,i,a="",s="";if("Byte"==e)(n=A.length)<=4?s=x(A)+B("\0",4-n):(s=C(">L",[t]),a=x(A));else if("Short"==e)(n=A.length)<=2?s=w(A)+B("\0\0",2-n):(s=C(">L",[t]),a=w(A));else if("Long"==e)(n=A.length)<=1?s=E(A):(s=C(">L",[t]),a=E(A));else if("Ascii"==e)(n=(r=A+"\0").length)>4?(s=C(">L",[t]),a=r):s=r+B("\0",4-n);else if("Rational"==e){if("number"==typeof A[0])n=1,o=A[0],i=A[1],r=C(">L",[o])+C(">L",[i]);else{n=A.length,r="";for(var c=0;cL",[o])+C(">L",[i])}s=C(">L",[t]),a=r}else if("SRational"==e){if("number"==typeof A[0])n=1,o=A[0],i=A[1],r=C(">l",[o])+C(">l",[i]);else{n=A.length,r="";for(c=0;cl",[o])+C(">l",[i])}s=C(">L",[t]),a=r}else"Undefined"==e&&((n=A.length)>4?(s=C(">L",[t]),a=A):s=A+B("\0",4-n));return[C(">L",[n]),s,a]}function S(A,e,t){var n,r=Object.keys(A).length,o=C(">H",[r]);n=["0th","1st"].indexOf(e)>-1?2+12*r+4:2+12*r;var i="",a="";for(var s in A)if("string"==typeof s&&(s=parseInt(s)),!("0th"==e&&[34665,34853].indexOf(s)>-1||"Exif"==e&&40965==s||"1st"==e&&[513,514].indexOf(s)>-1)){var c=A[s],u=C(">H",[s]),l=R[e][s].type,d=C(">H",[T[l]]);"number"==typeof c&&(c=[c]);var f=G(c,l,8+n+t+a.length);i+=u+d+f[0]+f[1],a+=f[2]}return[o+i,a]}function I(A){var e;if("ÿØ"==A.slice(0,2))e=function(A){for(var e,t=0;t-1)this.tiftag=A;else{if("Exif"!=A.slice(0,4))throw"Given file is neither JPEG nor TIFF.";this.tiftag=A.slice(6)}}if(b.version="1.0.4",b.remove=function(A){var e=!1;if("ÿØ"==A.slice(0,2));else{if("data:image/jpeg;base64,"!=A.slice(0,23)&&"data:image/jpg;base64,"!=A.slice(0,22))throw"Given data is not jpeg.";A=L(A.split(",")[1]),e=!0}var t=k(A).filter((function(A){return!("ÿá"==A.slice(0,2)&&"Exif\0\0"==A.slice(4,10))})).join("");return e&&(t="data:image/jpeg;base64,"+j(t)),t},b.insert=function(A,e){var t=!1;if("Exif\0\0"!=A.slice(0,6))throw"Given data is not exif.";if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw"Given data is not jpeg.";e=L(e.split(",")[1]),t=!0}var n="ÿá"+C(">H",[A.length+2])+A,r=function(A,e){"ÿà"==A[1].slice(0,2)&&"ÿá"==A[2].slice(0,2)&&"Exif\0\0"==A[2].slice(4,10)?e?(A[2]=e,A=["ÿØ"].concat(A.slice(2))):A=null==e?A.slice(0,2).concat(A.slice(3)):A.slice(0).concat(A.slice(2)):"ÿà"==A[1].slice(0,2)?e&&(A[1]=e):"ÿá"==A[1].slice(0,2)&&"Exif\0\0"==A[1].slice(4,10)?e?A[1]=e:null==e&&(A=A.slice(0).concat(A.slice(2))):e&&(A=[A[0],e].concat(A.slice(1)));return A.join("")}(k(e),n);return t&&(r="data:image/jpeg;base64,"+j(r)),r},b.load=function(A){var e;if("string"!=typeof A)throw"'load' gots invalid type argument.";if("ÿØ"==A.slice(0,2))e=A;else if("data:image/jpeg;base64,"==A.slice(0,23)||"data:image/jpg;base64,"==A.slice(0,22))e=L(A.split(",")[1]);else{if("Exif"!=A.slice(0,4))throw"'load' gots invalid file data.";e=A.slice(6)}var t={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},n=new I(e);if(null===n.tiftag)return t;"II"==n.tiftag.slice(0,2)?n.endian_mark="<":n.endian_mark=">";var r=D(n.endian_mark+"L",n.tiftag.slice(4,8))[0];t["0th"]=n.get_ifd(r,"0th");var o=t["0th"].first_ifd_pointer;if(delete t["0th"].first_ifd_pointer,34665 in t["0th"]&&(r=t["0th"][34665],t.Exif=n.get_ifd(r,"Exif")),34853 in t["0th"]&&(r=t["0th"][34853],t.GPS=n.get_ifd(r,"GPS")),40965 in t.Exif&&(r=t.Exif[40965],t.Interop=n.get_ifd(r,"Interop")),"\0\0\0\0"!=o&&(r=D(n.endian_mark+"L",o)[0],t["1st"]=n.get_ifd(r,"1st"),513 in t["1st"]&&514 in t["1st"])){var i=t["1st"][513]+t["1st"][514],a=n.tiftag.slice(t["1st"][513],i);t.thumbnail=a}return t},b.dump=function(A){var e,t,n,r,o,i,a=(e=A,JSON.parse(JSON.stringify(e))),s=!1,c=!1,u=!1,l=!1;t="0th"in a?a["0th"]:{},"Exif"in a&&Object.keys(a.Exif).length||"Interop"in a&&Object.keys(a.Interop).length?(t[34665]=1,s=!0,n=a.Exif,"Interop"in a&&Object.keys(a.Interop).length?(n[40965]=1,u=!0,r=a.Interop):Object.keys(n).indexOf(b.ExifIFD.InteroperabilityTag.toString())>-1&&delete n[40965]):Object.keys(t).indexOf(b.ImageIFD.ExifTag.toString())>-1&&delete t[34665],"GPS"in a&&Object.keys(a.GPS).length?(t[b.ImageIFD.GPSTag]=1,c=!0,o=a.GPS):Object.keys(t).indexOf(b.ImageIFD.GPSTag.toString())>-1&&delete t[b.ImageIFD.GPSTag],"1st"in a&&"thumbnail"in a&&null!=a.thumbnail&&(l=!0,a["1st"][513]=1,a["1st"][514]=1,i=a["1st"]);var d,f,h,m=S(t,"0th",0),p=m[0].length+12*s+12*c+4+m[1].length,g="",y=0,v="",P=0,x="",w=0,E="";(s&&(y=(d=S(n,"Exif",p))[0].length+12*u+d[1].length),c&&(P=(v=S(o,"GPS",p+y).join("")).length),u)&&(w=(x=S(r,"Interop",p+y+P).join("")).length);if(l&&(f=S(i,"1st",p+y+P+w),(h=function(A){var e=k(A);for(;"ÿà"<=e[1].slice(0,2)&&e[1].slice(0,2)<="ÿï";)e=[e[0]].concat(e.slice(2));return e.join("")}(a.thumbnail)).length>64e3))throw"Given thumbnail is too large. max 64kB";var G="",I="",j="",L="\0\0\0\0";if(s){var D=C(">L",[B=8+p]);G=C(">H",[34665])+C(">H",[T.Long])+C(">L",[1])+D}if(c){D=C(">L",[B=8+p+y]);I=C(">H",[34853])+C(">H",[T.Long])+C(">L",[1])+D}if(u){D=C(">L",[B=8+p+y+P]);j=C(">H",[40965])+C(">H",[T.Long])+C(">L",[1])+D}if(l){var B;L=C(">L",[B=8+p+y+P+w]);var R="\0\0\0\0"+C(">L",[B+f[0].length+24+4+f[1].length]),M="\0\0\0\0"+C(">L",[h.length]);E=f[0]+R+M+"\0\0\0\0"+f[1]+h}var O=m[0]+G+I+L+m[1];return s&&(g=d[0]+j+d[1]),"Exif\0\0MM\0*\0\0\0\b"+O+g+v+x+E},I.prototype={get_ifd:function(A,e){var t,n={},r=D(this.endian_mark+"H",this.tiftag.slice(A,A+2))[0],o=A+2;t=["0th","1st"].indexOf(e)>-1?"Image":e;for(var i=0;i4?(e=D(this.endian_mark+"L",o)[0],t=D(this.endian_mark+B("B",r),this.tiftag.slice(e,e+r))):t=D(this.endian_mark+B("B",r),o.slice(0,r));else if(2==n)r>4?(e=D(this.endian_mark+"L",o)[0],t=this.tiftag.slice(e,e+r-1)):t=o.slice(0,r-1);else if(3==n)r>2?(e=D(this.endian_mark+"L",o)[0],t=D(this.endian_mark+B("H",r),this.tiftag.slice(e,e+2*r))):t=D(this.endian_mark+B("H",r),o.slice(0,2*r));else if(4==n)r>1?(e=D(this.endian_mark+"L",o)[0],t=D(this.endian_mark+B("L",r),this.tiftag.slice(e,e+4*r))):t=D(this.endian_mark+B("L",r),o);else if(5==n)if(e=D(this.endian_mark+"L",o)[0],r>1){t=[];for(var i=0;i4?(e=D(this.endian_mark+"L",o)[0],t=this.tiftag.slice(e,e+r)):t=o.slice(0,r);else{if(10!=n)throw"Exif might be wrong. Got incorrect value type to decode. type:"+n;if(e=D(this.endian_mark+"L",o)[0],r>1){t=[];for(i=0;i>2,o=(3&e)<<4|(t=A.charCodeAt(c++))>>4,i=(15&t)<<2|(n=A.charCodeAt(c++))>>6,a=63&n,isNaN(t)?i=a=64:isNaN(n)&&(a=64),s=s+u.charAt(r)+u.charAt(o)+u.charAt(i)+u.charAt(a);return s};if("undefined"!=typeof window&&"function"==typeof window.atob)var L=window.atob;if(void 0===L)L=function(A){var e,t,n,r,o,i,a="",s=0,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");s>4,t=(15&r)<<4|(o=c.indexOf(A.charAt(s++)))>>2,n=(3&o)<<6|(i=c.indexOf(A.charAt(s++))),a+=String.fromCharCode(e),64!=o&&(a+=String.fromCharCode(t)),64!=i&&(a+=String.fromCharCode(n));return a};function C(A,e){if(!(e instanceof Array))throw"'pack' error. Got invalid type argument.";if(A.length-1!=e.length)throw"'pack' error. "+(A.length-1)+" marks, "+e.length+" elements.";var t;if("<"==A[0])t=!0;else{if(">"!=A[0])throw"";t=!1}for(var n="",r=1,o=null,i=null,a=null;i=A[r];){if("b"==i.toLowerCase()){if(o=e[r-1],"b"==i&&o<0&&(o+=256),o>255||o<0)throw"'pack' error.";a=String.fromCharCode(o)}else if("H"==i){if((o=e[r-1])>65535||o<0)throw"'pack' error.";a=String.fromCharCode(Math.floor(o%65536/256))+String.fromCharCode(o%256),t&&(a=a.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw"'pack' error.";if(o=e[r-1],"l"==i&&o<0&&(o+=4294967296),o>4294967295||o<0)throw"'pack' error.";a=String.fromCharCode(Math.floor(o/16777216))+String.fromCharCode(Math.floor(o%16777216/65536))+String.fromCharCode(Math.floor(o%65536/256))+String.fromCharCode(o%256),t&&(a=a.split("").reverse().join(""))}n+=a,r+=1}return n}function D(A,e){if("string"!=typeof e)throw"'unpack' error. Got invalid type argument.";for(var t,n=0,r=1;r"!=A[0])throw"'unpack' error.";t=!1}for(var o=[],i=0,a=1,s=null,c=null,u=null,l="";c=A[a];){if("b"==c.toLowerCase())u=1,s=(l=e.slice(i,i+u)).charCodeAt(0),"b"==c&&s>=128&&(s-=256);else if("H"==c)u=2,l=e.slice(i,i+u),t&&(l=l.split("").reverse().join("")),s=256*l.charCodeAt(0)+l.charCodeAt(1);else{if("l"!=c.toLowerCase())throw"'unpack' error. "+c;u=4,l=e.slice(i,i+u),t&&(l=l.split("").reverse().join("")),s=16777216*l.charCodeAt(0)+65536*l.charCodeAt(1)+256*l.charCodeAt(2)+l.charCodeAt(3),"l"==c&&s>=2147483648&&(s-=4294967296)}o.push(s),i+=u,a+=1}return o}function B(A,e){for(var t="",n=0;nH",A.slice(e+2,e+4))[0]+2;if(t.push(A.slice(e,n)),(e=n)>=A.length)throw"Wrong JPEG data."}return t}var T={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},R={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};R["0th"]=R.Image,R["1st"]=R.Image,b.TAGS=R,b.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},b.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},b.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},b.InteropIFD={InteroperabilityIndex:1},b.GPSHelper={degToDmsRational:function(A){var e=A%1*60,t=e%1*60;return[[Math.floor(A),1],[Math.floor(e),1],[Math.round(100*t),100]]},dmsRationalToDeg:function(A,e){return("S"===e||"W"===e?-1:1)*A[0][0]/A[0][1]+A[1][0]/A[1][1]/60+A[2][0]/A[2][1]/3600}};const M=b;var O=t(287).hp;function q(A){Math.round;var e,t,n,r,o,i=Math.floor,a=new Array(64),s=new Array(64),c=new Array(64),u=new Array(64),l=new Array(65535),d=new Array(65535),f=new Array(64),h=new Array(64),m=[],p=0,g=7,y=new Array(64),v=new Array(64),P=new Array(64),b=new Array(256),x=new Array(2048),w=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],E=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],G=[0,1,2,3,4,5,6,7,8,9,10,11],S=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],I=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],j=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],L=[0,1,2,3,4,5,6,7,8,9,10,11],C=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],D=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function B(A,e){for(var t=0,n=0,r=new Array,o=1;o<=16;o++){for(var i=1;i<=A[o];i++)r[e[n]]=[],r[e[n]][0]=t,r[e[n]][1]=o,n++,t++;t*=2}return r}function k(A){for(var e=A[0],t=A[1]-1;t>=0;)e&1<>8&255),T(255&A)}function M(A,e,t,n,r){for(var o,i=r[0],a=r[240],s=function(A,e){var t,n,r,o,i,a,s,c,u,l,d=0;for(u=0;u<8;++u){t=A[d],n=A[d+1],r=A[d+2],o=A[d+3],i=A[d+4],a=A[d+5],s=A[d+6];var h=t+(c=A[d+7]),m=t-c,p=n+s,g=n-s,y=r+a,v=r-a,P=o+i,b=o-i,x=h+P,w=h-P,E=p+y,G=p-y;A[d]=x+E,A[d+4]=x-E;var S=.707106781*(G+w);A[d+2]=w+S,A[d+6]=w-S;var I=.382683433*((x=b+v)-(G=g+m)),j=.5411961*x+I,L=1.306562965*G+I,C=.707106781*(E=v+g),D=m+C,B=m-C;A[d+5]=B+j,A[d+3]=B-j,A[d+1]=D+L,A[d+7]=D-L,d+=8}for(d=0,u=0;u<8;++u){t=A[d],n=A[d+8],r=A[d+16],o=A[d+24],i=A[d+32],a=A[d+40],s=A[d+48];var k=t+(c=A[d+56]),T=t-c,R=n+s,M=n-s,O=r+a,q=r-a,F=o+i,H=o-i,Q=k+F,N=k-F,U=R+O,z=R-O;A[d]=Q+U,A[d+32]=Q-U;var _=.707106781*(z+N);A[d+16]=N+_,A[d+48]=N-_;var Z=.382683433*((Q=H+q)-(z=M+T)),X=.5411961*Q+Z,V=1.306562965*z+Z,Y=.707106781*(U=q+M),W=T+Y,J=T-Y;A[d+40]=J+X,A[d+24]=J-X,A[d+8]=W+V,A[d+56]=W-V,d++}for(u=0;u<64;++u)l=A[u]*e[u],f[u]=l>0?l+.5|0:l-.5|0;return f}(A,e),c=0;c<64;++c)h[w[c]]=s[c];var u=h[0]-t;t=h[0],0==u?k(n[0]):(k(n[d[o=32767+u]]),k(l[o]));for(var m=63;m>0&&0==h[m];m--);if(0==m)return k(i),t;for(var p,g=1;g<=m;){for(var y=g;0==h[g]&&g<=m;++g);var v=g-y;if(v>=16){p=v>>4;for(var P=1;P<=p;++P)k(a);v&=15}o=32767+h[g],k(r[(v<<4)+d[o]]),k(l[o]),g++}return 63!=m&&k(i),t}function q(A){if(A<=0&&(A=1),A>100&&(A=100),o!=A){(function(A){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],t=0;t<64;t++){var n=i((e[t]*A+50)/100);n<1?n=1:n>255&&(n=255),a[w[t]]=n}for(var r=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],o=0;o<64;o++){var l=i((r[o]*A+50)/100);l<1?l=1:l>255&&(l=255),s[w[o]]=l}for(var d=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],f=0,h=0;h<8;h++)for(var m=0;m<8;m++)c[f]=1/(a[w[f]]*d[h]*d[m]*8),u[f]=1/(s[w[f]]*d[h]*d[m]*8),f++})(A<50?Math.floor(5e3/A):Math.floor(200-2*A)),o=A}}this.encode=function(A,o){var i;(new Date).getTime();o&&q(o),m=new Array,p=0,g=7,R(65496),R(65504),R(16),T(74),T(70),T(73),T(70),T(0),T(1),T(1),T(0),R(1),R(1),T(0),T(0),void 0!==(i=A.comments)&&i.constructor===Array&&i.forEach((function(A){if("string"==typeof A){R(65534);var e,t=A.length;for(R(t+2),e=0;e>3)*X+(Q=4*(7&U)),V+N>=Z&&(H-=X*(V+1+N-Z)),h+Q>=X&&(H-=h+Q-X+4),b=z[H++],w=z[H++],B=z[H++],y[U]=(x[b]+x[w+256|0]+x[B+512|0]>>16)-128,v[U]=(x[b+768|0]+x[w+1024|0]+x[B+1280|0]>>16)-128,P[U]=(x[b+1280|0]+x[w+1536|0]+x[B+1792|0]>>16)-128;l=M(y,c,l,e,n),d=M(v,u,d,t,r),f=M(P,u,f,t,r),h+=32}V+=8}if(g>=0){var Y=[];Y[1]=g+1,Y[0]=(1<=0;){var r=255&A;t[n--]=r,A>>=8}return t=t.map((function(A){return String.fromCharCode(A)})),t.join("")}function N(A){for(var e=0,t=0;t>>8^e[255&(t^A.charCodeAt(n))];return~t>>>0}(A+e),t},H.itos=Q,H.stoi=N;const U=H;function z(A){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},z(A)}function _(A,e){var t="undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(!t){if(Array.isArray(A)||(t=function(A,e){if(A){if("string"==typeof A)return Z(A,e);var t={}.toString.call(A).slice(8,-1);return"Object"===t&&A.constructor&&(t=A.constructor.name),"Map"===t||"Set"===t?Array.from(A):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Z(A,e):void 0}}(A))||e&&A&&"number"==typeof A.length){t&&(A=t);var n=0,r=function(){};return{s:r,n:function(){return n>=A.length?{done:!0}:{done:!1,value:A[n++]}},e:function(A){throw A},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){t=t.call(A)},n:function(){var A=t.next();return i=A.done,A},e:function(A){a=!0,o=A},f:function(){try{i||null==t.return||t.return()}finally{if(a)throw o}}}}function Z(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,n=Array(e);t=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(s&&c){if(this.prev=0;--t){var r=this.tryEntries[t];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===A)return this.complete(t.completion,t.afterLoc),L(t),p}},catch:function(A){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===A){var n=t.completion;if("throw"===n.type){var r=n.arg;L(t)}return r}}throw Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:D(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=A),p}},e}function V(A,e,t,n,r,o,i){try{var a=A[o](i),s=a.value}catch(A){return void t(A)}a.done?e(s):Promise.resolve(s).then(n,r)}function Y(A){return function(){var e=this,t=arguments;return new Promise((function(n,r){var o=A.apply(e,t);function i(A){V(o,n,r,i,a,"next",A)}function a(A){V(o,n,r,i,a,"throw",A)}i(void 0)}))}}function W(A){var e=document.createElement("canvas");e.width=A.width,e.height=A.height,e.getContext("2d").drawImage(A,0,0);var t=e.toDataURL();return e.remove(),t}function J(A){return Math.min(255,Math.max(0,A))}function K(A){if(A&&A.isValid){var e=A.isReverse,t=A.innerThreshold,n=A.innerContrast;void 0!==n&&(document.getElementById("decodeContrastRange").value=100-n,PrismProcessor.PrismDecoder.contrast=100-n),void 0!==e?(document.getElementById("decodeReverseInput").checked=e,PrismProcessor.PrismDecoder.reverse=e):(document.getElementById("decodeReverseInput").checked,function(A){throw new TypeError('"'+A+'" is read-only')}("isReverse")),void 0!==t&&(e?(document.getElementById("decodeThresholdRange").value=255-t,document.getElementById("decodeThresholdInput").value=255-t,PrismProcessor.PrismDecoder.threshold=255-t):(document.getElementById("decodeThresholdRange").value=t,document.getElementById("decodeThresholdInput").value=t,PrismProcessor.PrismDecoder.threshold=t))}}function $(A){if(console.log("reading from Metadata: "+A),!A)return{isValid:!1};var e,t,n=50;switch(A.length){case 5:if(n=parseInt(A.slice(3,5),16),isNaN(n))return{isValid:!1};case 3:if(t=parseInt(A.slice(1,3),16),isNaN(t))return{isValid:!1};case 1:if("0"!==A[0]&&"1"!==A[0])return{isValid:!1};e="1"===A[0];break;default:return{isValid:!1}}return{isValid:!0,isReverse:e,innerThreshold:t,innerContrast:n}}function AA(A){try{if(A.src.startsWith("data:image/jpeg;base64,"))return $(M.load(A.src)["0th"][M.ImageIFD.Make]);if(!A.src.startsWith("data:image/png;base64,"))return{isValid:!1};var e=atob(A.src.split(",")[1]),t=U.splitChunk(e);for(var n in t){var r=t[n];if("tEXt"===r.type||"PRSM"===r.type)return $(r.data)}}catch(A){return console.log("Failed loading metadata: ",A.message,A.stack),{isValid:!1}}}function eA(A){applicationState.isReadMetadata&&K(AA(A))}function tA(A){return new Promise((function(e,t){var n=new FileReader;n.onload=function(){e(n.result)},n.onerror=function(A){t(A)},n.readAsDataURL(A)}))}function nA(A,e){if(alert("无法加载图像, 请确定文件类型和状态。"+A),errorHandling.defaultImg[errorHandling.currCanvasIndex].src){var t=new Image;t.src=W(errorHandling.defaultImg[errorHandling.currCanvasIndex]),t.onload=function(){e(t)}}}function rA(A){return oA.apply(this,arguments)}function oA(){return oA=Y(X().mark((function A(e){var t,n=arguments;return X().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return t=n.length>1&&void 0!==n[1]?n[1]:5e3,A.abrupt("return",new Promise((function(A,n){var r,o=new Image;if(o.onload=function(){if(clearTimeout(r),0===errorHandling.currCanvasIndex)try{eA(o)}catch(A){console.error("failed to read metadata: "+A)}A(o)},o.onerror=function(A){clearTimeout(r),n(A)},r=setTimeout((function(){o.src="",n(new Error("加载图像超时"))}),t),"string"==typeof e)o.crossOrigin="anonymous",o.src=e;else if(e instanceof File){var i=new FileReader;i.onload=function(A){o.src=A.target.result},i.onerror=function(A){clearTimeout(r),n(A)},i.readAsDataURL(e)}else clearTimeout(r),n(new Error("不支持的输入类型"))})));case 2:case"end":return A.stop()}}),A)}))),oA.apply(this,arguments)}function iA(){return(iA=Y(X().mark((function A(e,t){return X().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:rA(e).then((function(A){t(A)})).catch((function(A){nA(A,t)}));case 1:case"end":return A.stop()}}),A)})))).apply(this,arguments)}function aA(){return(aA=Y(X().mark((function A(e,t){return X().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:rA(e.target.previousElementSibling.value).then((function(A){t(A)})).catch((function(A){nA(A,t)}));case 2:case"end":return A.stop()}}),A)})))).apply(this,arguments)}function sA(){return(sA=Y(X().mark((function A(e,t){var n,r,o,i;return X().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:n=(e.clipboardData||e.originalEvent.clipboardData).items,r=_(n);try{for(r.s();!(o=r.n()).done;)-1!==(i=o.value).type.indexOf("image")&&rA(i.getAsFile()).then((function(A){t(A)})).catch((function(A){nA(A,t)}))}catch(A){r.e(A)}finally{r.f()}case 3:case"end":return A.stop()}}),A)})))).apply(this,arguments)}function cA(){return(cA=Y(X().mark((function A(e){var t,n,r,o,i,a;return X().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,navigator.permissions.query({name:"clipboard-read"});case 3:if("granted"!==(t=A.sent).state&&"prompt"!==t.state){A.next=36;break}return A.next=7,navigator.clipboard.read();case 7:n=A.sent,r=_(n),A.prev=9,r.s();case 11:if((o=r.n()).done){A.next=26;break}if(!(i=o.value).types.some((function(A){return A.startsWith("image/")}))){A.next=23;break}return A.next=16,i.getType(i.types.find((function(A){return A.startsWith("image/")})));case 16:return a=A.sent,A.next=19,tA(a);case 19:rA(A.sent).then((function(A){e(A)})).catch((function(A){throw A})),A.next=24;break;case 23:alert("剪贴板中没有图片");case 24:A.next=11;break;case 26:A.next=31;break;case 28:A.prev=28,A.t0=A.catch(9),r.e(A.t0);case 31:return A.prev=31,r.f(),A.finish(31);case 34:A.next=37;break;case 36:alert("没有剪贴板读取权限");case 37:A.next=42;break;case 39:A.prev=39,A.t1=A.catch(0),nA(A.t1,e);case 42:case"end":return A.stop()}}),A,null,[[0,39],[9,28,31,34]])})))).apply(this,arguments)}function uA(){return(uA=Y(X().mark((function A(e,t){var n,r,o;return X().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(e.preventDefault(),e.dataTransfer.items){n=_(e.dataTransfer.items);try{for(n.s();!(r=n.n()).done;)"file"===(o=r.value).kind&&rA(o.getAsFile()).then((function(A){t(A)})).catch((function(A){nA(A,t)}))}catch(A){n.e(A)}finally{n.f()}}case 2:case"end":return A.stop()}}),A)})))).apply(this,arguments)}function lA(A,e){if(applicationState.isDownloadNotSupported){for(var t=atob(A.split(",")[1]),n=A.split(",")[0].split(":")[1].split(";")[0],r=new ArrayBuffer(t.length),o=new Uint8Array(r),i=0;i'),c.document.close(),c.addEventListener("beforeunload",(function(){URL.revokeObjectURL(s)}))}else{var u=document.createElement("a");u.href=A,u.download=e,document.body.appendChild(u),u.click(),document.body.removeChild(u)}}function dA(A){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=PrismProcessor.PrismEncoder.isEncodeReverse,r=PrismProcessor.PrismEncoder.innerThreshold,o=PrismProcessor.PrismEncoder.innerContrast,i=document.getElementById(A);if(e)return t?function(A,e,t,n){var r=atob(A.split(",")[1]),o=U.splitChunk(r),i=fA(e,t,n),a=!1;for(var s in o){var c=o[s];if("tEXt"===c.type){c.data=i,o[s]=c,a=!0;break}}if(!a){var u=U.createChunk("tEXt",i),l=o.pop();o.push(u),o.push(l)}var d=U.joinChunk(o);return"data:image/png;base64,".concat(btoa(d))}(i.toDataURL("image/png"),n,r,o):i.toDataURL("image/png");for(var a=i.getContext("2d").getImageData(0,0,i.width,i.height),s=new F(100).encode(a,100),c="",u=new Uint8Array(s),l=u.byteLength,d=0;d1&&void 0!==arguments[1])||arguments[1],t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=(new Date).getTime();PrismProcessor.PrismEncoder.isCoverMirage&&!e&&alert("JPEG格式不支持幻影坦克!请谨慎选择。");var r="output_".concat(n,".").concat(e?"png":"jpg");lA(dA(A,e,t),r)},generateUrlFromCanvas:dA};function mA(A){return mA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},mA(A)}function pA(A,e){for(var t=0;t=this.threshold?(A[t]=(A[t]-this.threshold)*e,A[t+1]=(A[t+1]-this.threshold)*e,A[t+2]=(A[t+2]-this.threshold)*e):this.processCoverPixel(A,t);else for(var e=255/this.threshold,t=0;tA.height)if(A.width>this.size){var t=this.size/A.width;this.innerCanvas.width=this.size,this.innerCanvas.height=A.height*t}else this.innerCanvas.width=this.size,this.innerCanvas.height=A.height*this.size/A.width;else if(A.height>this.size){var n=this.size/A.height;this.innerCanvas.width=A.width*n,this.innerCanvas.height=this.size}else this.innerCanvas.width=A.width*this.size/A.height,this.innerCanvas.height=this.size;this.width=this.innerCanvas.width,this.height=this.innerCanvas.height,e.drawImage(this.innerImg,0,0,this.innerCanvas.width,this.innerCanvas.height),this.innerImgdata=e.getImageData(0,0,this.innerCanvas.width,this.innerCanvas.height),50!==this.innerContrast&&this.adjustInnerContrast(),this.coverImgdata&&this.updateCoverImage(this.coverImg)}},{key:"updateCoverImage",value:function(A){if(this.coverImg=A,this.innerImgdata){var e,t=A.width/A.height,n=this.width/this.height;if(n>t){var r=A.width/n;e={x:0,y:(A.height-r)/2,width:A.width,height:r}}else{var o=A.height*n;e={x:(A.width-o)/2,y:0,width:o,height:A.height}}this.coverCanvas.width=this.width,this.coverCanvas.height=this.height;var i=this.coverCanvas.getContext("2d");i.drawImage(A,e.x,e.y,e.width,e.height,0,0,this.width,this.height),this.coverImgdata=i.getImageData(0,0,this.coverCanvas.width,this.coverCanvas.height),this.isCoverGray&&this.processCoverGray(),50!==this.coverContrast&&this.adjustCoverContrast(),this.processImage()}else{var a=this.coverCanvas.getContext("2d");this.coverCanvas.width=A.width,this.coverCanvas.height=A.height,a.drawImage(this.coverImg,0,0,this.coverCanvas.width,this.coverCanvas.height),this.coverImgdata=a.getImageData(0,0,this.coverCanvas.width,this.coverCanvas.height)}}},{key:"processCoverGray",value:function(){for(var A=this.coverImgdata.data,e=0;e=A.length?{done:!0}:{done:!1,value:A[n++]}},e:function(A){throw A},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){t=t.call(A)},n:function(){var A=t.next();return i=A.done,A},e:function(A){a=!0,o=A},f:function(){try{i||null==t.return||t.return()}finally{if(a)throw o}}}}function GA(A,e){(null==e||e>A.length)&&(e=A.length);for(var t=0,n=Array(e);t=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(s&&c){if(this.prev=0;--t){var r=this.tryEntries[t];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===A)return this.complete(t.completion,t.afterLoc),L(t),p}},catch:function(A){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===A){var n=t.completion;if("throw"===n.type){var r=n.arg;L(t)}return r}}throw Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:D(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=A),p}},e}function IA(A,e,t,n,r,o,i){try{var a=A[o](i),s=a.value}catch(A){return void t(A)}a.done?e(s):Promise.resolve(s).then(n,r)}function jA(A){return function(){var e=this,t=arguments;return new Promise((function(n,r){var o=A.apply(e,t);function i(A){IA(o,n,r,i,a,"next",A)}function a(A){IA(o,n,r,i,a,"throw",A)}i(void 0)}))}}function LA(A){document.getElementById("isDarkmodeContainer").contains(A.target)||"sidebarToggleButton"!=A.target.id&&document.getElementById("sidebar").contains(A.target)||DA()}var CA=function(){applicationState.sidebarVisible=!0;var A=document.getElementById("sidebar");A.classList.remove("sidebarHide"),A.classList.add("sidebarShow"),setTimeout((function(){document.addEventListener("click",LA)}),500),A.removeEventListener("click",CA)},DA=function(){if(applicationState.dontCareSidebarClick)applicationState.dontCareSidebarClick=!1;else{applicationState.sidebarVisible=!1;var A=document.getElementById("sidebar");A.classList.remove("sidebarShow"),A.classList.add("sidebarHide"),document.removeEventListener("click",LA),setTimeout((function(){A.addEventListener("click",CA)}),500)}};function BA(A){applicationState.isReadMetadata=A.target.checked}function kA(A){return TA.apply(this,arguments)}function TA(){return(TA=jA(SA().mark((function A(e){var t,n,r;return SA().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return(t=PrismProcessor.DecodeList.getListLength())>=applicationState.defaultArguments.maxListSize&&(PrismProcessor.DecodeList.clear(),t=0),n=e.map((function(A){return new Promise((function(e,t){var n=new FileReader;n.onload=function(A){var n=new Image;n.onload=function(){PrismProcessor.DecodeList.appendList(n),e()},n.onerror=t,n.src=A.target.result},n.onerror=t,n.readAsDataURL(A)}))})),A.next=5,Promise.all(n);case 5:e.length>1&&CA(),(r=document.getElementById("nr".concat(t)))?(applicationState.isOnPhone&&(applicationState.dontCareSidebarClick=!0),r.dispatchEvent(new Event("click"))):PrismProcessor.PrismDecoder.clearCanvas();case 8:case"end":return A.stop()}}),A)})))).apply(this,arguments)}function RA(A){return MA.apply(this,arguments)}function MA(){return(MA=jA(SA().mark((function A(e){var t;return SA().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(0!==(t=e.target.files).length){A.next=3;break}return A.abrupt("return");case 3:return A.prev=3,A.next=6,kA(Array.from(t));case 6:e.target.value="",A.next=13;break;case 9:A.prev=9,A.t0=A.catch(3),console.error("Failed to load image:",A.t0.stack,A.t0.message),alert("加载图像失败!"+A.t0.message);case 13:case"end":return A.stop()}}),A,null,[[3,9]])})))).apply(this,arguments)}function OA(A){errorHandling.currCanvasIndex=0,hA.updateImageFromURL(A,(function(A){PrismProcessor.DecodeList.appendList(A),document.getElementById("nr".concat(PrismProcessor.DecodeList.getListLength()-1)).dispatchEvent(new Event("click"))})),A.target.previousElementSibling.value=""}function qA(A){return FA.apply(this,arguments)}function FA(){return(FA=jA(SA().mark((function A(e){var t,n,r,o,i,a;return SA().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:A.prev=0,t=[],n=(e.clipboardData||e.originalEvent.clipboardData).items,r=EA(n);try{for(r.s();!(o=r.n()).done;)-1!==(i=o.value).type.indexOf("image")&&(a=i.getAsFile(),t.push(a))}catch(A){r.e(A)}finally{r.f()}if(0!==t.length){A.next=7;break}return A.abrupt("return");case 7:return A.next=9,kA(t);case 9:A.next=15;break;case 11:A.prev=11,A.t0=A.catch(0),alert("图像加载失败:"+A.t0.message),console.error("Failed to load image:",A.t0.stack,A.t0.message);case 15:case"end":return A.stop()}}),A,null,[[0,11]])})))).apply(this,arguments)}function HA(){errorHandling.currCanvasIndex=0,document.body.focus(),hA.updateImageFromClipboardDirect((function(A){PrismProcessor.DecodeList.appendList(A),document.getElementById("nr".concat(PrismProcessor.DecodeList.getListLength()-1)).dispatchEvent(new Event("click"))}))}function QA(A){return NA.apply(this,arguments)}function NA(){return(NA=jA(SA().mark((function A(e){var t;return SA().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(A.prev=0,e.preventDefault(),0!==(t=e.dataTransfer.files).length){A.next=5;break}return A.abrupt("return");case 5:return A.next=7,kA(Array.from(t));case 7:A.next=13;break;case 9:A.prev=9,A.t0=A.catch(0),alert("图像加载失败:"+A.t0.message),console.error("Failed to load image:",A.t0.stack,A.t0.message);case 13:case"end":return A.stop()}}),A,null,[[0,9]])})))).apply(this,arguments)}function UA(A){PrismProcessor.PrismDecoder.threshold=parseInt(A.target.value,10),applicationState.decodeThresholdInput.value=A.target.value,PrismProcessor.PrismDecoder.img&&PrismProcessor.PrismDecoder.processImage()}var zA=null;function _A(A){zA&&clearTimeout(zA),zA=setTimeout((function(){if(""!==A.target.value){var e=parseInt(A.target.value,10);e<0?(e=0,A.target.value=0):e>255&&(e=255,A.target.value=255),PrismProcessor.PrismDecoder.threshold=e,applicationState.decodeThresholdRange.value=e,PrismProcessor.PrismDecoder.img&&PrismProcessor.PrismDecoder.processImage()}}),500)}function ZA(A){PrismProcessor.PrismDecoder.contrast=parseInt(A.target.value,10),PrismProcessor.PrismDecoder.img&&PrismProcessor.PrismDecoder.adjustContrast()}function XA(){document.getElementById("decodeContrastRange").value=50,PrismProcessor.PrismDecoder.contrast=50,PrismProcessor.PrismDecoder.img&&PrismProcessor.PrismDecoder.adjustContrast()}function VA(A){PrismProcessor.PrismDecoder.coverProcessMethod=A.target.value,PrismProcessor.PrismDecoder.img&&PrismProcessor.PrismDecoder.processImage()}function YA(A){PrismProcessor.PrismDecoder.reverse=A.target.checked,PrismProcessor.PrismDecoder.img&&PrismProcessor.PrismDecoder.processImage()}function WA(){hA.saveImageFromCanvas("decodeCanvas")}function JA(){var A=document.createElement("canvas");A.id="temp_srcCanvas",A.width=PrismProcessor.PrismDecoder.img.width,A.height=PrismProcessor.PrismDecoder.img.height,A.style.display="none",A.getContext("2d").drawImage(PrismProcessor.PrismDecoder.img,0,0),document.body.appendChild(A),hA.saveImageFromCanvas("temp_srcCanvas",applicationState.isPng,!1),A.remove()}const KA={decodeSetupEventListeners:function(){applicationState.decodeThresholdInput||(applicationState.decodeThresholdRange=document.getElementById("decodeThresholdRange"),applicationState.decodeThresholdInput=document.getElementById("decodeThresholdInput")),document.getElementById("isReadMetadataCheckBox").addEventListener("change",BA),document.getElementById("decodeImageFileInput").addEventListener("change",RA),document.getElementById("decodeLoadImageButton").addEventListener("click",OA),applicationState.isOnPhone?document.getElementById("decodePasteButtonInput").addEventListener("click",HA):(window.addEventListener("paste",qA),document.body.addEventListener("drop",QA)),document.getElementById("decodeThresholdRange").addEventListener("input",UA),document.getElementById("decodeThresholdInput").addEventListener("input",_A),document.getElementById("optionSelect").addEventListener("change",VA),document.getElementById("decodeReverseInput").addEventListener("change",YA),document.getElementById("decodeContrastRange").addEventListener("input",ZA),document.getElementById("decodeResetContrastButton").addEventListener("click",XA),document.getElementById("decodeSaveImageButton").addEventListener("click",WA),document.getElementById("decodeSaveSrcImageButton").addEventListener("click",JA)},decodeRemoveEventListeners:function(){document.getElementById("isReadMetadataCheckBox").removeEventListener("change",BA),document.getElementById("decodeImageFileInput").removeEventListener("change",RA),document.getElementById("decodeLoadImageButton").removeEventListener("click",OA),applicationState.isOnPhone?document.getElementById("decodePasteButtonInput").removeEventListener("click",HA):(window.removeEventListener("paste",qA),document.body.removeEventListener("drop",QA)),document.getElementById("decodeThresholdRange").removeEventListener("input",UA),document.getElementById("decodeThresholdInput").removeEventListener("input",_A),document.getElementById("optionSelect").removeEventListener("change",VA),document.getElementById("decodeReverseInput").removeEventListener("change",YA),document.getElementById("decodeContrastRange").removeEventListener("input",ZA),document.getElementById("decodeResetContrastButton").removeEventListener("click",XA),document.getElementById("decodeSaveImageButton").removeEventListener("click",WA),document.getElementById("decodeSaveSrcImageButton").removeEventListener("click",JA)},adjustSidebarWidth:function(A){if(applicationState.sidebarVisible){document.documentElement.style.overflowX="hidden";var e=getComputedStyle(document.documentElement).getPropertyValue("--sidebar-width"),t=A.clientX||A.touches[0].clientX,n=document.documentElement.getBoundingClientRect().width,r=.1*n,o=.7*n,i=0,a=function(A){applicationState.dontCareSidebarClick=!0,i=A.clientX-t;var n=Math.min(Math.max(parseInt(e)-i,r),o);document.documentElement.style.setProperty("--sidebar-width","".concat(n,"px"))},s=function(A){applicationState.dontCareSidebarClick=!0,i=A.touches[0].clientX-t;var n=Math.min(Math.max(parseInt(e)-i,r),o);document.documentElement.style.setProperty("--sidebar-width","".concat(n,"px"))},c=function(){document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",c),document.removeEventListener("touchmove",s),document.removeEventListener("touchend",c),document.documentElement.style.overflowX="auto"};applicationState.dontCareSidebarClick=!1,applicationState.isOnPhone?(document.addEventListener("touchmove",s),document.addEventListener("touchend",c)):(document.addEventListener("mousemove",a),document.addEventListener("mouseup",c))}else CA()},showSidebar:CA,hideSidebar:DA};function $A(A){errorHandling.currCanvasIndex=1;var e=A.target.files[0];hA.updateImageFromFile(e,(function(A){PrismProcessor.PrismEncoder.updateInnerImage(A)})),A.target.value=""}function Ae(A){errorHandling.currCanvasIndex=2;var e=A.target.files[0];hA.updateImageFromFile(e,(function(A){PrismProcessor.PrismEncoder.updateCoverImage(A)})),A.target.value=""}var ee,te,ne,re=0;function oe(A){re=A.clientX}function ie(A){rePrismProcessor.PrismEncoder.coverThreshold?(PrismProcessor.PrismEncoder.innerThreshold=PrismProcessor.PrismEncoder.coverThreshold,A.value=PrismProcessor.PrismEncoder.coverThreshold,e.value=PrismProcessor.PrismEncoder.coverThreshold,e.style.color="#ff5e5e"):e.style.color=ce(),PrismProcessor.PrismEncoder.innerImg&&PrismProcessor.PrismEncoder.coverImg&&PrismProcessor.PrismEncoder.processImage()}function le(){var A=applicationState.coverThresholdRange,e=applicationState.coverThresholdInput;PrismProcessor.PrismEncoder.coverThreshold=parseInt(A.value,10),e.value=PrismProcessor.PrismEncoder.coverThreshold,PrismProcessor.PrismEncoder.innerThreshold>PrismProcessor.PrismEncoder.coverThreshold?(PrismProcessor.PrismEncoder.coverThreshold=PrismProcessor.PrismEncoder.innerThreshold,A.value=PrismProcessor.PrismEncoder.innerThreshold,e.value=PrismProcessor.PrismEncoder.innerThreshold,e.style.color="#ff5e5e"):e.style.color=ce(),PrismProcessor.PrismEncoder.innerImg&&PrismProcessor.PrismEncoder.coverImg&&PrismProcessor.PrismEncoder.processImage()}function de(){clearTimeout(ee),setTimeout((function(){var A=applicationState.innerThresholdInput,e=applicationState.innerThresholdRange;A.style.color=ce();var t=parseInt(A.value,10);isNaN(t)||(PrismProcessor.PrismEncoder.innerThreshold=t,PrismProcessor.PrismEncoder.innerThreshold>128?(PrismProcessor.PrismEncoder.innerThreshold=128,A.value=128):PrismProcessor.PrismEncoder.innerThreshold<0&&(PrismProcessor.PrismEncoder.innerThreshold=0,A.value=0),e.value=PrismProcessor.PrismEncoder.innerThreshold,PrismProcessor.PrismEncoder.innerThreshold>PrismProcessor.PrismEncoder.coverThreshold&&(PrismProcessor.PrismEncoder.innerThreshold=PrismProcessor.PrismEncoder.coverThreshold,e.value=PrismProcessor.PrismEncoder.coverThreshold,A.value=PrismProcessor.PrismEncoder.coverThreshold),PrismProcessor.PrismEncoder.innerImg&&PrismProcessor.PrismEncoder.coverImg&&PrismProcessor.PrismEncoder.processImage())}),500)}function fe(){clearTimeout(te),setTimeout((function(){var A=applicationState.coverThresholdInput,e=applicationState.coverTh;resholdRange,A.style.color=ce();var t=parseInt(A.value,10);isNaN(t)||(PrismProcessor.PrismEncoder.coverThreshold=t,PrismProcessor.PrismEncoder.coverThreshold>128?(PrismProcessor.PrismEncoder.coverThreshold=128,A.value=128):PrismProcessor.PrismEncoder.coverThreshold<0&&(PrismProcessor.PrismEncoder.coverrThreshold=0,A.value=0),e.value=PrismProcessor.PrismEncoder.coverThreshold,PrismProcessor.PrismEncoder.innerThreshold>PrismProcessor.PrismEncoder.coverThreshold&&(PrismProcessor.PrismEncoder.coverThreshold=PrismProcessor.PrismEncoder.innerThreshold,e.value=PrismProcessor.PrismEncoder.coverThreshold,A.value=PrismProcessor.PrismEncoder.coverThreshold),PrismProcessor.PrismEncoder.innerImg&&PrismProcessor.PrismEncoder.coverImg&&PrismProcessor.PrismEncoder.processImage())}),500)}function he(A){PrismProcessor.PrismEncoder.innerContrast=parseInt(A.target.value,10),PrismProcessor.PrismEncoder.innerImg&&(PrismProcessor.PrismEncoder.adjustInnerContrast(),PrismProcessor.PrismEncoder.coverImg&&PrismProcessor.PrismEncoder.processImage())}function me(){PrismProcessor.PrismEncoder.innerContrast=50,document.getElementById("innerContrastRange").value=50,PrismProcessor.PrismEncoder.innerImg&&(PrismProcessor.PrismEncoder.adjustInnerContrast(),PrismProcessor.PrismEncoder.coverImg&&PrismProcessor.PrismEncoder.processImage())}function pe(A){PrismProcessor.PrismEncoder.coverContrast=parseInt(A.target.value,10),PrismProcessor.PrismEncoder.coverImg&&(PrismProcessor.PrismEncoder.adjustCoverContrast(),PrismProcessor.PrismEncoder.innerImg&&PrismProcessor.PrismEncoder.processImage())}function ge(){PrismProcessor.PrismEncoder.coverContrast=50,document.getElementById("coverContrastRange").value=50,PrismProcessor.PrismEncoder.coverImg&&(PrismProcessor.PrismEncoder.adjustCoverContrast(),PrismProcessor.PrismEncoder.innerImg&&PrismProcessor.PrismEncoder.processImage())}function ye(A){PrismProcessor.PrismEncoder.isCoverGray=A.target.checked,PrismProcessor.PrismEncoder.coverImg&&PrismProcessor.PrismEncoder.innerImg&&PrismProcessor.PrismEncoder.updateCoverImage(PrismProcessor.PrismEncoder.coverImg)}function ve(A){PrismProcessor.PrismEncoder.isEncodeReverse=A.target.checked,PrismProcessor.PrismEncoder.innerImg&&PrismProcessor.PrismEncoder.coverImg&&PrismProcessor.PrismEncoder.processImage()}function Pe(A){PrismProcessor.PrismEncoder.isCoverMirage=A.target.checked,PrismProcessor.PrismEncoder.coverImg&&PrismProcessor.PrismEncoder.innerImg&&PrismProcessor.PrismEncoder.processImage(),A.target.checked&&(document.getElementById("isPngCheckBox").checked=!0,applicationState.isPng=!0)}function be(A){PrismProcessor.PrismEncoder.method=A.target.value,PrismProcessor.PrismEncoder.innerImg&&PrismProcessor.PrismEncoder.coverImg&&PrismProcessor.PrismEncoder.updateInnerImage(PrismProcessor.PrismEncoder.innerImg)}function xe(A){clearTimeout(ne),ne=setTimeout((function(){PrismProcessor.PrismEncoder.size=parseInt(A.target.value,10),isNaN(PrismProcessor.PrismEncoder.size)||(PrismProcessor.PrismEncoder.size>applicationState.defaultArguments.maxSize?(PrismProcessor.PrismEncoder.size=applicationState.defaultArguments.maxSize,A.target.value=applicationState.defaultArguments.maxSize):PrismProcessor.PrismEncoder.size=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(s&&c){if(this.prev=0;--t){var r=this.tryEntries[t];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===A)return this.complete(t.completion,t.afterLoc),L(t),p}},catch:function(A){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===A){var n=t.completion;if("throw"===n.type){var r=n.arg;L(t)}return r}}throw Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:D(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=A),p}},e}function Xe(A,e,t,n,r,o,i){try{var a=A[o](i),s=a.value}catch(A){return void t(A)}a.done?e(s):Promise.resolve(s).then(n,r)}function Ve(A){return function(){var e=this,t=arguments;return new Promise((function(n,r){var o=A.apply(e,t);function i(A){Xe(o,n,r,i,a,"next",A)}function a(A){Xe(o,n,r,i,a,"throw",A)}i(void 0)}))}}applicationState.defaultSrc=[ze,Ue,Ne],errorHandling.userAgent=navigator.userAgent.toLowerCase(),applicationState.isOnPhone=/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(errorHandling.userAgent),applicationState.isDownloadNotSupported=applicationState.isOnPhone&&/xiaomi|miui|ucbrowser|quark/i.test(errorHandling.userAgent),applicationState.isDownloadNotPossible=applicationState.isOnPhone&&/ucbrowser|quark/i.test(errorHandling.userAgent),applicationState.isOnTiebaBrowser=/tieba/i.test(errorHandling.userAgent),document.addEventListener("DOMContentLoaded",Ve(Ze().mark((function A(){var e,t,n,r,o,i,a,s;return Ze().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(A.prev=0,!applicationState.isOnTiebaBrowser){A.next=4;break}return document.body.innerHTML='

请点击右上角
用浏览器打开

',A.abrupt("return");case 4:applicationState.isDownloadNotPossible&&alert("由于浏览器限制,下载图片时可能会出现问题,建议使用其他浏览器,例如Chrome, Edge, Opera等"),(e=document.createElement("link")).rel="shortcut icon",e.href="data:image/vnd.microsoft.icon;base64,AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAAAAAMQOAADEDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7dD2ZcU8NTSkHM4+PjAwAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////H/////x/OAAAHP//wAAAAAAAAD/AAAAAAAAAP4AAAAAAAAA/+AAAAAAAAD/8AAAAAAAAP/AAAAAAAAA/8AAAAAAAAD/wAAAAAAAAP/AAAAAAAAA/8AAAAAAAAD/wAAAAAAAAP/AAAAAAAAA/8AAAAAAAAD/4AAAAAAAAP/gAAAAAAAA/4AAAAAAAAD/gAAAAAAAAP/AAAAAAAAA/+AAAAAAAAD/8AAAAAAAAP/4AAAAAAAA//gAAAAAAAD/+AAAAAAAAP/4AAAAAAAA//wAAAAAAAD//AAAAAAAAP/+AAAAAAAA//4AAAAAAAD/wAAAAAAAAP/AAAAAAAAA/8AAAAAAAAD/8AAAAAAAAP/4AAAAAAAA//4AAAAAAAD//wAAAAAAAP//AAAAAAAA///AAAAAAAD//+HAAAAAAP///+AAAAAA////+AAAAAD////+AAAAA//////AAAAP//////wAAH///////8B///////////////////////////////////////////////////////////////////////////////////////8=",document.head.appendChild(e),(t=document.getElementById("versionInfo"))&&(t.innerHTML="version: ".concat(applicationState.version,"")),applicationState.defaultArguments=Qe.loadDefaultArguments(),Qe.setDefaultValues(),applicationState.isPng=applicationState.defaultArguments.isPng,applicationState.isReadMetadata=applicationState.defaultArguments.isReadMetadata,PrismProcessor.PrismDecoder=new yA("decodeCanvas",applicationState.defaultArguments),PrismProcessor.PrismEncoder=new xA("innerCanvas","coverCanvas","outputCanvas",applicationState.defaultArguments),PrismProcessor.DecodeList=new Re("sidebarContent","sidebarAmountLabel","sidebarClearButton"),errorHandling.defaultImg=[],n=Ze().mark((function A(e){var t;return Ze().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(errorHandling.defaultImg[e]=new Image,!applicationState.isOffline){A.next=5;break}return errorHandling.defaultImg[e]=new Image,errorHandling.defaultImg[e].src="",A.abrupt("return",1);case 5:t=setTimeout((function(){errorHandling.defaultImg[e].src="",errorHandling.defaultImg[e].onerror=null,console.error("加载默认图像超时: "+applicationState.defaultSrc[e])}),5e3),errorHandling.defaultImg[e].onload=function(){switch(clearTimeout(t),e){case 0:PrismProcessor.PrismDecoder.updateImage(errorHandling.defaultImg[e]);break;case 1:PrismProcessor.PrismEncoder.updateInnerImage(errorHandling.defaultImg[e]);break;case 2:PrismProcessor.PrismEncoder.updateCoverImage(errorHandling.defaultImg[e])}},errorHandling.defaultImg[e].onerror=function(){clearTimeout(t),console.error("无法加载默认图像: "+applicationState.defaultSrc[e]),errorHandling.defaultImg[e].src="",errorHandling.defaultImg[e].onerror=null},errorHandling.defaultImg[e].src=applicationState.defaultSrc[e];case 9:case"end":return A.stop()}}),A)})),r=0;case 21:if(!(r

光棱坦克工厂

什么是光棱坦克? 推荐访问方式: prism.uyanide.com
本网站仅作辅助,并非此类坦克的唯一解!
(可在任意支持html5的浏览器中离线使用)

开/关灯

显形
制作
2.
(可多选,点击页面右侧可展开侧边栏列表)
或从剪贴板粘贴图片 (ctrl+v),
或从剪贴板
或直接将图片拖进窗口。

(越小隐写效果越好)
(但越小里图质量越差)
(不应高于右侧值)
(降低可提高隐写效果)
(但也会降低里图质量)
(越大显形效果越好)
(但越大表图质量越差)
(不应低于左侧值)
(表图对比度酌情调整)
(此参数不会影响显形)

version: UNKNOWN
如发现有功能不正常可手动清理浏览器缓存后刷新
更多其他项目:
幻影/无影/幻影无影杂交坦克工厂 全彩幻影坦克工厂(开发中) Bug反馈 Github - Uyanide (我) Github - Mirage_Decode (本项目仓库) 常见问题Q&A
显示使用须知
本网站仅供个人学习交流使用,禁止一切非法用途,否则一切后果由使用者自行承担。
显示主要更新记录
1.0实施版本号记录,用于优化缓存处理;
添加从剪贴板粘贴图片功能;
在显形界面添加“保存原始图像”功能。
1.1可以根据系统设置进行明暗主题切换;
添加“表图是否取灰度”功能;
1.2引入jpeg-js库部分源码,统一不同浏览器编码jpeg时的行为;
引入piexif库部分源码,用于读取jpeg图片的元数据;
支持jpeg图片在生成时写入参数以在显形时自动填写;
1.3使用jsDelievr CDN加速加载静态资源;
引入png-metadata库部分源码,用于读取png图片的元数据;
支持png图片在生成时写入参数以自动显形;
添加表里图对比度调整功能;
里图对比度可写入元数据。
1.4放弃使用jsDelievr,使用Cloudflare代理个人域名;
识别小米默认浏览器,修复其无法正常下载图片的问题;
识别贴吧内置浏览器,阻止其直接访问;
支持幻影坦克作为表图;
添加手动切换明暗主题功能,方便观察幻影坦克;
优化Alpha通道处理逻辑,为可能的幻影坦克整合铺路;
添加显形界面阈值直接输入的功能;
显形界面支持多文件输入,为方便查看增加侧边栏;
支持html文档下载以供离线使用。
\ No newline at end of file diff --git a/src/index.html b/src/index.html index fbcaf63..bfc93f3 100644 --- a/src/index.html +++ b/src/index.html @@ -53,8 +53,8 @@ -
-

光棱坦克工厂

+
+

光棱坦克工厂