diff --git a/app/index.html b/app/index.html
index d44f336c..9f77c6fa 100644
--- a/app/index.html
+++ b/app/index.html
@@ -64,8 +64,7 @@
-
-
+
diff --git a/app/js/lib/ng_utils.js b/app/js/lib/ng_utils.js
index b574b5d4..3a10b9ca 100644
--- a/app/js/lib/ng_utils.js
+++ b/app/js/lib/ng_utils.js
@@ -205,6 +205,19 @@ angular.module('izhukov.utils', [])
return $q.reject(e);
}
}
+ else if (fileData.file) {
+ var deferred = $q.defer();
+ fileData.file(function (blob) {
+ getByteArray(blob).then(function (result) {
+ deferred.resolve(result);
+ }, function (error) {
+ deferred.reject(error);
+ })
+ }, function (error) {
+ deferred.reject(error);
+ });
+ return deferred.promise;
+ }
return $q.when(fileData);
}
diff --git a/app/js/lib/utils.js b/app/js/lib/utils.js
index e833a51a..17cf99cb 100644
--- a/app/js/lib/utils.js
+++ b/app/js/lib/utils.js
@@ -463,30 +463,17 @@ function versionCompare (ver1, ver2) {
image.onerror = function () {
nativeWebpSupport = false;
};
- // image.src = 'data:image/webp;base64,UklGRjIAAABXRUJQVlA4ICYAAACyAgCdASoCAAEALmk0mk0iIiIiIgBoSygABc6zbAAA/v56QAAAAA==';
+ image.src = 'data:image/webp;base64,UklGRjIAAABXRUJQVlA4ICYAAACyAgCdASoCAAEALmk0mk0iIiIiIgBoSygABc6zbAAA/v56QAAAAA==';
var canvas, context;
- function convertBinaryToArray (a) {
- var b = new Array();
- var c = a.length;
- for (i = 0; i < c; ++i) b.push(a.charCodeAt(i));
- return b
- }
-
-
function getPngUrlFromData(data) {
- console.log(data);
- data = convertBinaryToArray(data);
-
-
var start = tsNow();
var decoder = new WebPDecoder();
var config = decoder.WebPDecoderConfig;
- var buffer = config.output;
- // var buffer = config.j;
+ var buffer = config.j || config.output;
var bitstream = config.input;
if (!decoder.WebPInitDecoderConfig(config)) {
@@ -495,10 +482,11 @@ function versionCompare (ver1, ver2) {
}
// console.log('[webpjs] status code', decoder.VP8StatusCode);
+ var StatusCode = decoder.VP8StatusCode;
status = decoder.WebPGetFeatures(data, data.length, bitstream);
- if (status != 0) {
- console.error('[webpjs] status error', status);
+ if (status != (StatusCode.VP8_STATUS_OK || 0)) {
+ console.error('[webpjs] status error', status, StatusCode);
}
var mode = decoder.WEBP_CSP_MODE;
diff --git a/app/js/services.js b/app/js/services.js
index d8f3307a..6ebdc802 100755
--- a/app/js/services.js
+++ b/app/js/services.js
@@ -3792,25 +3792,10 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
}
return FileManager.getByteArray(blob).then(function (bytes) {
- var deferred = $q.defer();
- var freader = new FileReader();
- freader.onload = function (evt) {
- return {
- id: doc.id,
- src: WebpManager.getPngUrlFromData(evt.target.result)
- };
- // WebPDecodeAndDraw(evt.target.result)
+ return {
+ id: doc.id,
+ src: WebpManager.getPngUrlFromData(bytes)
};
- freader.readAsBinaryString(bytes);
-
- return deferred.promise;
-
-
-
- // return {
- // id: doc.id,
- // src: WebpManager.getPngUrlFromData(bytes)
- // };
});
});
}
diff --git a/app/vendor/libwebpjs/libwebp-0.2.0.js b/app/vendor/libwebpjs/libwebp-0.2.0.js
new file mode 100644
index 00000000..30ef3ce9
--- /dev/null
+++ b/app/vendor/libwebpjs/libwebp-0.2.0.js
@@ -0,0 +1,4079 @@
+// Copyright 2011 Google Inc.
+//
+// This code is licensed under the same terms as WebM:
+// Software License Agreement: http://www.webmproject.org/license/software/
+// Additional IP Rights Grant: http://www.webmproject.org/license/additional/
+// -----------------------------------------------------------------------------
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// -----------------------------------------------------------------------------
+//
+// Copyright 2011-2013 Dominik Homberger
+// Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.2.0)
+//
+// Author: Dominik Homberger (dominik.homberger@gmail.com)
+(function() {
+
+ var ca = void 0,
+ p = null,
+ s = 0,
+ x = 0,
+ la = s,
+ E = s,
+ bb = 0,
+ Mb = 0;
+
+ function M(F) {
+ return JSON.parse(JSON.stringify(F))
+ }
+
+ function N(F, G, w, D, S) {
+ for (i = 0; i < S; ++i) F[G + i] = w[D + i]
+ }
+
+ function Nb(F) {
+ var G = [],
+ w = F.length,
+ D;
+ for (D = 0; D < w; ++D) G.push(F[D]);
+ return G
+ }
+
+ function ic(F, G) {
+ var w = [];
+ w.push(M(F));
+ var D;
+ for (D = 0; D < G; ++D) w.push(M(F));
+ w.push(0);
+ return w
+ }
+
+ function rc(F, G) {
+ var w = [],
+ D;
+ for (D = 0; D < G; ++D) w.push(F);
+ w.push(0);
+ return w
+ }
+
+ function memmove (arr1, index1, arr2, index2, length) {
+ var i;
+ for (i = 0; i < length; i++) {
+ arr1[index1 + i] = arr2[index2 + i];
+ }
+ }
+
+ function jd(F, G, w, D) {
+ var S;
+ for (S = 0; S < D; ++S) F[G + S] = w
+ }
+
+ function kd(F, G, w, D) {
+ var S = "",
+ ga;
+ for (ga = 0; ga < D; ++ga) S += String.fromCharCode(F[G + ga]);
+ return w == S ? 0 : 1
+ }
+
+ function U(F, G) {
+ var w, D = [];
+ for (w = 0; w < F; ++w) D.push(G);
+ return D
+ }
+
+ function ld(F, G) {
+ var w, D = [];
+ for (w = 0; w < F; ++w) D.push(M(G));
+ return D
+ }
+
+ function md(F, G) {
+ var w;
+ for (w = F.length - 1; 0 <= w; --w) G = M(U(F[w], G));
+ return G
+ }
+
+ function $(F) {
+ if (!F) throw Error("assert :P");
+ }
+ window.WebPDecoder = function() {
+ function F(a) {
+ return a == Ob || a == Pb || a == Bb || a == Qb
+ }
+
+ function G(a) {
+ return S(a, 1)
+ }
+
+ function w(a, b) {
+ var c = 1 + ((a.la - 1) * b >> 8),
+ d = c << 8,
+ e = s;
+ a.Z >= d ? (e = 1, a.la -= c, a.Z -= d) : (e = 0, a.la = c);
+ for (; 128 > a.la;) a.Z <<= 1, a.la <<= 1, 8 == ++a.gc && (a.gc = 0, a.bc && (a.Z += a.qa[a.Ia++], a.bc--));
+ return e
+ }
+
+ function D(a, b, c, d) {
+ d -= c;
+ 2 <= d ? (a.Z = b[c + 0] << 8 | b[c + 1], a.qa = b, a.Ia = c + 2, a.bc = d - 2) : (a.Z = 0, a.qa = p, a.bc = 0);
+ a.la = 255;
+ a.gc = 0
+ }
+
+ function S(a, b) {
+ for (var c = 0, d = s, d = b - 1; 0 <= d; d--) c |= w(a, 128) << d;
+ return c
+ }
+
+ function ga(a, b) {
+ var c =
+ S(a, b);
+ return G(a) ? -c : c
+ }
+
+ function Rb(a, b, c, d) {
+ var e = Mb;
+ $(a != p);
+ $(b != p);
+ $(4294967288 > d);
+ a.qa = b;
+ a.Ia = c;
+ a.ya = d;
+ a.T = 0;
+ a.Q = 0;
+ a.g = 0;
+ a.L = 0;
+ for (e = a.fa = 0; 4 > e && e < a.ya; ++e) a.T |= a.qa[a.Ia + a.Q] << 8 * e, ++a.Q
+ }
+
+ function Sb(a) {
+ for (; 8 <= a.g && a.Q < a.ya;) a.T >>>= 8, a.T += a.qa[a.Ia + a.Q] << 24 >>> 0, ++a.Q, a.g -= 8
+ }
+
+ function Da(a) {
+ 8 <= a.g && Sb(a);
+ a.Q == a.ya && 32 == a.g && (a.L = 1)
+ }
+
+ function T(a, b) {
+ var c = 0;
+ $(0 <= b);
+ if (!a.L && b < gf) {
+ if (a.Q == a.ya && 32 <= a.g + b && (a.L = 1, 32 < a.g + b)) return c;
+ c = a.T >> a.g & hf[b];
+ a.g += b;
+ 8 <= a.g && 8 <= a.g && Sb(a)
+ } else a.fa = 1;
+ return c
+ }
+
+ function ma(a) {
+ return a.Pa == a.gb
+ }
+
+ function nd(a, b) {
+ $(a != p);
+ if (0 == b) return 0;
+ a.gb = 2 * b - 1;
+ a.Y = ld(a.gb, jf);
+ if (a.Y == p) return 0;
+ a.Y[0].s = -1;
+ return a.Pa = 1
+ }
+
+ function ja(a) {
+ a != p && (a.Y = p, a.Y = p, a.gb = 0, a.Pa = 0)
+ }
+
+ function jc(a, b, c, d) {
+ for (var e = a.Y, g = 0, k = +a.gb; 0 < d--;) {
+ if (g >= k) return 0;
+ if (0 > e[g].s) {
+ if (ma(a)) return 0;
+ var h = a,
+ n = h.Y,
+ l = +h.Pa;
+ e[g].s = l - g;
+ h.Pa += 2;
+ n[l + 0].s = -1;
+ n[l + 1].s = -1
+ } else if (0 == e[g].s) return 0;
+ g += e[g].s + (c >> d & 1)
+ }
+ if (0 > e[g].s) e[g].s = 0;
+ else if (0 != e[g].s) return 0;
+ e[g].kc = b;
+ return 1
+ }
+
+ function od(a, b, c) {
+ var d =
+ s,
+ e = 0,
+ g = 0;
+ $(a != p);
+ $(b != p);
+ for (d = 0; d < c; ++d) 0 < b[d] && (++e, g = d);
+ if (!nd(a, e)) return 0;
+ if (1 == e) return 0 > g || g >= c ? (ja(a), 0) : jc(a, g, 0, 0);
+ e = 0;
+ g = U(c, s);
+ if (g == p) return (e = e && ma(a)) || ja(a), e;
+ var k = s,
+ k = s,
+ d = U(Tb + 1, 0),
+ h = s,
+ n = U(Tb + 1, 0),
+ l = 0;
+ $(b != p);
+ $(0 < c);
+ $(g != p);
+ for (k = 0; k < c; ++k) b[k] > l && (l = b[k]);
+ if (l > Tb) d = 0;
+ else {
+ for (k = 0; k < c; ++k) ++d[b[k]];
+ h = d[0] = 0;
+ n[0] = -1;
+ for (k = 1; k <= l; ++k) h = h + d[k - 1] << 1, n[k] = h;
+ for (k = 0; k < c; ++k) g[k] = 0 < b[k] ? n[b[k]]++ : pd;
+ d = 1
+ }
+ if (!d) return (e = e && ma(a)) || ja(a), e;
+ for (d = 0; d < c; ++d)
+ if (0 < b[d] && !jc(a, d, g[d], b[d])) return (e =
+ e && ma(a)) || ja(a), e;
+ (e = ma(a)) || ja(a);
+ return e
+ }
+
+ function Ea(a, b, c, d, e, g, k) {
+ for (var h = s, h = 0; h < k; ++h) e[g + h] = a[b + h] + c[d + h] & 255
+ }
+
+ function qd(a, b, c) {
+ var d = a.P.l;
+ if (!(c = 0 > b || 0 > c || b + c > a.P.v))
+ if (c = 0 == b) {
+ a: {
+ var e = a.Ga,
+ g = a.G,
+ k = a.ub;
+ c = a.P.l;
+ var h = a.P.v,
+ n = a.Xb,
+ l = [p],
+ m = p,
+ f = h * c,
+ q = p,
+ r = p,
+ r = "WEBP_FILTER_TYPE",
+ u = s,
+ l = s,
+ v = 0,
+ C = s;
+ $(0 < c && 0 < h && d >= c);
+ $(e != p && n != p);
+ if (k <= Ub) c = 0;
+ else if (C = e[g + 0] >> 0 & 3, r = e[g + 0] >> 2 & 3, u = e[g + 0] >> 4 & 3, l = e[g + 0] >> 6 & 3, C < kc || C > kf || r >= lf || u > rd || 0 != l) c = 0;
+ else {
+ if (C == kc) v = k >= f, l = e, m = g + Ub;
+ else {
+ l = U(f, 0);
+ m = 0;
+ if (l ==
+ p) {
+ c = 0;
+ break a
+ }
+ var v = g + Ub,
+ k = k - Ub,
+ g = l,
+ q = M(Vb),
+ A = 0,
+ z = sd();
+ z == p ? v = 0 : (z.l = c, z.v = h, z.N = q, td(na), q.put = ud, q.Mb = vd, q.Pb = wd, q.ka = p, q.ka = g, q.fd = 0, q.width = c, q.height = h, z.a = L, Rb(z.o, e, v, k), z.Wa = Cb, Ka(c, h, 1, z, p) && xd(z, c) && (z.Wa = Db, A = lc(z, z.V, z.Ha, z.l, z.v, mf)), z != p && sa(z), v = A)
+ }
+ if (v) {
+ e = nf[r];
+ e != p ? (q = U(f, 0), r = 0, q == p && (v = 0, C != kc && (m = l = p)), e(l, m, c, h, 1, c, q, r), f = q, C = r) : (f = l, C = m);
+ for (e = 0; 0 < h--;) N(n, e, f, C, c), C += c, e += d;
+ u == rd && (v = l == p || 0 >= m || 0 >= c ? 0 : 1)
+ }
+ c = v
+ }
+ }
+ c = !c
+ }
+ return c ? p : 0 == b ? a.Xb : +b * d
+ }
+
+ function of(a) {
+ var b = a.width,
+ c = a.height,
+ d = a.J;
+ if (0 >= b || 0 >= c || !(d >= Qa && d < Cc)) return ta;
+ if (!a.Fc && a.Jb == p) {
+ var e = p,
+ g = 0,
+ k = 0,
+ h = 0,
+ n = 0,
+ e = bb,
+ l = b * yd[d],
+ m = l * c;
+ d < ua || (g = parseInt((b + 1) / 2, 10), h = g * parseInt((c + 1) / 2, 10), d == Ra && (k = b, n = k * c));
+ e = m + 2 * h + n;
+ if (e != e) return ta;
+ e = U(e, 205);
+ if (e == p) return cb;
+ a.Jb = e;
+ a.jc = p;
+ d < ua ? (b = a.c.RGBA, b.ma = e, b.Sa = p, b.f = l, b.size = m) : (b = a.c.Va, b.y = e, b.D = p, b.F = l, b.Wc = m, b.c = e, b.B = p + m, b.nb = g, b.Rc = h, b.S = e, b.C = p + m + h, b.rb = g, b.Uc = h, d == Ra && (b.p = e, b.q = p + m + 2 * h), b.Wb = n, b.Fa = k)
+ }
+ d = 1;
+ g = a.J;
+ k = a.width;
+ h = a.height;
+ g >= Qa && g < Cc ? g < ua ? (a = a.c.RGBA, d &=
+ a.f * h <= a.size, d &= a.f >= k * yd[g], d &= a.ma != p) : (a = a.c.Va, n = a.nb * parseInt((h + 1) / 2, 10), l = a.rb * parseInt((h + 1) / 2, 10), m = a.Fa * h, d &= a.F * h <= a.Wc, d &= n <= a.Rc, d &= l <= a.Uc, d &= m <= a.Wb, d &= a.F >= k, d &= a.nb >= parseInt((k + 1) / 2, 10), d &= a.rb >= parseInt((k + 1) / 2, 10), d &= a.y != p, d &= a.c != p, d &= a.S != p, g == Ra && (d &= a.Fa >= k, d &= m <= a.Wb, d &= a.p != p)) : d = 0;
+ return d ? L : ta
+ }
+
+ function zd(a, b, c, d) {
+ if (d == p || 0 >= a || 0 >= b) return ta;
+ if (c != p) {
+ if (c.Ua) {
+ var e = c.wc,
+ g = c.vc,
+ k = c.t & -2,
+ h = c.k & -2;
+ if (0 > k || 0 > h || 0 >= e || 0 >= g || k + e > a || h + g > b) return ta;
+ a = e;
+ b = g
+ }
+ if (c.I) {
+ if (0 >= c.Ba ||
+ 0 >= c.Aa) return ta;
+ a = c.Ba;
+ b = c.Aa
+ }
+ }
+ d.width = a;
+ d.height = b;
+ return of(d)
+ }
+
+ function mb(a) {
+ return !(a & -256) ? a : 0 > a ? 0 : 255
+ }
+
+ function Ad(a, b, c, d) {
+ var e = U(16, 0),
+ g;
+ g = 0;
+ var k;
+ for (k = 0; 4 > k; ++k) {
+ var h = a[b + 0] + a[b + 8],
+ n = a[b + 0] - a[b + 8],
+ l = (a[b + 4] * Wb >> 16) - (a[b + 12] * Xb >> 16),
+ m = (a[b + 4] * Xb >> 16) + (a[b + 12] * Wb >> 16);
+ e[g + 0] = h + m;
+ e[g + 1] = n + l;
+ e[g + 2] = n - l;
+ e[g + 3] = h - m;
+ g += 4;
+ b++
+ }
+ for (k = g = 0; 4 > k; ++k) a = e[g + 0] + 4, h = a + e[g + 8], n = a - e[g + 8], l = (e[g + 4] * Wb >> 16) - (e[g + 12] * Xb >> 16), m = (e[g + 4] * Xb >> 16) + (e[g + 12] * Wb >> 16), c[d + 0 + 0 * f] = mb(c[d + 0 + 0 * f] + (h + m >> 3)), c[d + 1 + 0 * f] = mb(c[d +
+ 1 + 0 * f] + (n + l >> 3)), c[d + 2 + 0 * f] = mb(c[d + 2 + 0 * f] + (n - l >> 3)), c[d + 3 + 0 * f] = mb(c[d + 3 + 0 * f] + (h - m >> 3)), g++, d += f
+ }
+
+ function pf(a, b, c, d, e) {
+ Ad(a, b, c, d);
+ e && Ad(a, b + 16, c, d + 4)
+ }
+
+ function qf(a, b, c, d) {
+ mc(a, b + 0, c, d + 0, 1);
+ mc(a, b + 32, c, d + 4 * f, 1)
+ }
+
+ function nc(a, b, c, d) {
+ a = a[b + 0] + 4;
+ var e;
+ for (e = 0; 4 > e; ++e)
+ for (b = 0; 4 > b; ++b) c[d + b + e * f] = mb(c[d + b + e * f] + (a >> 3))
+ }
+
+ function rf(a, b, c, d) {
+ a[b + 0] && nc(a, b + 0, c, d + 0);
+ a[b + 16] && nc(a, b + 16, c, d + 4);
+ a[b + 32] && nc(a, b + 32, c, d + 4 * f);
+ a[b + 48] && nc(a, b + 48, c, d + 4 * f + 4)
+ }
+
+ function Dc(a, b, c) {
+ var d = b - f,
+ e = oa,
+ g = 255 - a[d - 1],
+ k;
+ for (k = 0; k <
+ c; ++k) {
+ var h = e,
+ n = g + a[b - 1],
+ l;
+ for (l = 0; l < c; ++l) a[b + l] = h[n + a[d + l]];
+ b += f
+ }
+ }
+
+ function Yb(a, b, c) {
+ var d;
+ for (d = 0; 16 > d; ++d)
+ for (i = 0; 16 > i; ++i) b[c + d * f + i] = a
+ }
+
+ function y(a, b, c) {
+ return a + 2 * b + c + 2 >> 2
+ }
+
+ function Zb(a, b, c) {
+ var d, e;
+ for (d = 0; 8 > d; ++d)
+ for (e = 0; 8 > e; ++e) b[c + e + d * f] = a
+ }
+
+ function nb(a, b, c) {
+ var d = a[b - c],
+ e = a[b + 0],
+ g = 3 * (e - d) + sc[1020 + a[b - 2 * c] - a[b + c]],
+ k = oc[112 + (g + 4 >> 3)];
+ a[b - c] = oa[255 + d + oc[112 + (g + 3 >> 3)]];
+ a[b + 0] = oa[255 + e - k]
+ }
+
+ function Bd(a, b, c, d) {
+ var e = a[b + 0],
+ g = a[b + c];
+ return va[255 + a[b - 2 * c] - a[b - c]] > d || va[255 + g - e] > d
+ }
+
+ function Cd(a,
+ b, c, d, e) {
+ var g = a[b - 3 * c],
+ k = a[b - 2 * c],
+ h = a[b - c],
+ n = a[b + 0],
+ l = a[b + c],
+ m = a[b + 2 * c],
+ f = a[b + 3 * c];
+ return 2 * va[255 + h - n] + tc[255 + k - l] > d ? 0 : va[255 + a[b - 4 * c] - g] <= e && va[255 + g - k] <= e && va[255 + k - h] <= e && va[255 + f - m] <= e && va[255 + m - l] <= e && va[255 + l - n] <= e
+ }
+
+ function Dd(a, b, c, d) {
+ var e;
+ for (e = 0; 16 > e; ++e) 2 * va[255 + a[b + e - c] - a[b + e + 0]] + tc[255 + a[b + e - 2 * c] - a[b + e + c]] <= d && nb(a, b + e, c)
+ }
+
+ function Ed(a, b, c, d) {
+ var e;
+ for (e = 0; 16 > e; ++e) 2 * va[255 + a[b + e * c - 1] - a[b + e * c + 0]] + tc[255 + a[b + e * c - 2] - a[b + e * c + 1]] <= d && nb(a, b + e * c, 1)
+ }
+
+ function sf(a, b, c, d) {
+ var e;
+ for (e = 3; 0 < e; --e) b +=
+ 4 * c, Dd(a, b + 0, c, d)
+ }
+
+ function tf(a, b, c, d) {
+ var e;
+ for (e = 3; 0 < e; --e) b += 4, Ed(a, b + 0, c, d)
+ }
+
+ function Fa(a, b, c, d, e, g, k, h) {
+ for (; 0 < e--;) {
+ if (Cd(a, b + 0, c, g, k))
+ if (Bd(a, b + 0, c, h)) nb(a, b + 0, c);
+ else {
+ var n = a,
+ l = b + 0,
+ m = c,
+ f = n[l - 2 * m],
+ q = n[l - m],
+ r = n[l + 0],
+ u = n[l + m],
+ v = n[l + 2 * m],
+ C = sc[1020 + 3 * (r - q) + sc[1020 + f - u]],
+ A = 27 * C + 63 >> 7,
+ z = 18 * C + 63 >> 7,
+ C = 9 * C + 63 >> 7;
+ n[l - 3 * m] = oa[255 + n[l - 3 * m] + C];
+ n[l - 2 * m] = oa[255 + f + z];
+ n[l - m] = oa[255 + q + A];
+ n[l + 0] = oa[255 + r - A];
+ n[l + m] = oa[255 + u - z];
+ n[l + 2 * m] = oa[255 + v - C]
+ }
+ b += d
+ }
+ }
+
+ function Ga(a, b, c, d, e, g, k, h) {
+ for (; 0 < e--;) {
+ if (Cd(a, b + 0, c,
+ g, k))
+ if (Bd(a, b + 0, c, h)) nb(a, b + 0, c);
+ else {
+ var n = a,
+ l = b + 0,
+ m = c,
+ f = n[l - m],
+ q = n[l + 0],
+ r = n[l + m],
+ u = 3 * (q - f),
+ v = oc[112 + (u + 4 >> 3)],
+ u = oc[112 + (u + 3 >> 3)],
+ C = v + 1 >> 1;
+ n[l - 2 * m] = oa[255 + n[l - 2 * m] + C];
+ n[l - m] = oa[255 + f + u];
+ n[l + 0] = oa[255 + q - v];
+ n[l + m] = oa[255 + r - C]
+ }
+ b += d
+ }
+ }
+
+ function uf(a, b, c, d, e, g) {
+ Fa(a, b + 0, c, 1, 16, d, e, g)
+ }
+
+ function vf(a, b, c, d, e, g) {
+ Fa(a, b + 0, 1, c, 16, d, e, g)
+ }
+
+ function wf(a, b, c, d, e, g) {
+ var k;
+ for (k = 3; 0 < k; --k) b += 4 * c, Ga(a, b + 0, c, 1, 16, d, e, g)
+ }
+
+ function xf(a, b, c, d, e, g) {
+ var k;
+ for (k = 3; 0 < k; --k) b += 4, Ga(a, b + 0, 1, c, 16, d, e, g)
+ }
+
+ function yf(a, b, c, d, e,
+ g, k, h) {
+ Fa(a, b, e, 1, 8, g, k, h);
+ Fa(c, d, e, 1, 8, g, k, h)
+ }
+
+ function zf(a, b, c, d, e, g, k, h) {
+ Fa(a, b, 1, e, 8, g, k, h);
+ Fa(c, d, 1, e, 8, g, k, h)
+ }
+
+ function Af(a, b, c, d, e, g, k, h) {
+ Ga(a, b + 4 * e, e, 1, 8, g, k, h);
+ Ga(c, d + 4 * e, e, 1, 8, g, k, h)
+ }
+
+ function Bf(a, b, c, d, e, g, k, h) {
+ Ga(a, b + 4, 1, e, 8, g, k, h);
+ Ga(c, d + 4, 1, e, 8, g, k, h)
+ }
+
+ function Fd(a, b) {
+ return b == $b ? 0 == a.i ? 0 == a.d ? Cf : Df : 0 == a.d ? Ef : $b : b
+ }
+
+ function Ec(a, b, c, d) {
+ for (i = 0; 4 > i; ++i) a[b + i] = c[d + i]
+ }
+
+ function wa(a, b) {
+ return 0 > a ? 0 : a > b ? b : a
+ }
+
+ function Gd(a) {
+ a.a = "VP8_STATUS_OK";
+ a.xc = "OK"
+ }
+
+ function td(a) {
+ a >>> 8 != na >>> 8 && alert("mismatch error")
+ }
+
+ function Y(a, b, c) {
+ a.a == L && (a.a = b, a.xc = c, a.za = 0);
+ alert(b + ": " + c);
+ return 0
+ }
+
+ function Hd(a, b) {
+ var c = [0],
+ d = x,
+ e = [Mb],
+ g = M(Id),
+ k = M(Jd),
+ h = M(Fc),
+ e = "VP8StatusCode",
+ g = M(Gc);
+ if (a == p) return alert("(dec == null)"), 0;
+ Gd(a);
+ if (b == p) return Y(a, "VP8_STATUS_INVALID_PARAM", "null VP8Io passed to VP8GetHeaders()");
+ g.data = b.data;
+ g.b = b.b;
+ g.e = b.e;
+ g.b = [g.b];
+ g.e = [g.e];
+ g = [g];
+ e = Kd(g);
+ if (e != L) return Y(a, e, "Incorrect/incomplete header.");
+ g = g[0];
+ g.b = g.b[0];
+ g.e = g.e[0];
+ if (g.ia) return Y(a, W, "Unexpected lossless format encountered.");
+ a.Ga == p && ($(0 == a.ub), a.Ga = g.$, a.G = g.G, a.ub = g.pa);
+ d = g.data;
+ c = g.b + g.offset;
+ e = g.e - g.offset;
+ $(g.e >= g.offset);
+ if (4 > e[0]) return Y(a, Z, "Truncated header.");
+ h = d[c + 0] | d[c + 1] << 8 | d[c + 2] << 16;
+ g = a.Ac;
+ g.fb = !(h & 1) + 0;
+ g.Jc = h >> 1 & 7;
+ g.Nc = h >> 4 & 1;
+ g.Ra = h >> 5;
+ if (3 < g.Jc) return Y(a, "VP8_STATUS_BITSTREAM_ERROR", "Incorrect keyframe parameters.");
+ if (!g.Nc) return Y(a, "VP8_STATUS_UNSUPPORTED_FEATURE", "Frame not displayable.");
+ c += 3;
+ e -= 3;
+ k = a.P;
+ if (g.fb) {
+ if (7 > e) return Y(a, "VP8_STATUS_NOT_ENOUGH_DATA", "cannot parse picture header");
+ if (!(3 <=
+ e && 157 == d[c + 0] && 1 == d[c + 1] && 42 == d[c + 2])) return Y(a, "VP8_STATUS_BITSTREAM_ERROR", "Bad code word");
+ k.l = (d[c + 4] << 8 | d[c + 3]) & 16383;
+ k.gd = d[c + 4] >> 6;
+ k.v = (d[c + 6] << 8 | d[c + 5]) & 16383;
+ k.hd = d[c + 6] >> 6;
+ c += 7;
+ e -= 7;
+ a.Ma = k.l + 15 >> 4;
+ a.hb = k.v + 15 >> 4;
+ b.width = k.l;
+ b.height = k.v;
+ b.I = 0;
+ b.Ua = 0;
+ b.k = 0;
+ b.t = 0;
+ b.Ka = b.width;
+ b.K = b.height;
+ b.m = b.width;
+ b.h = b.height;
+ h = a.R;
+ for (i = 0; i < h.Ta.length; ++i) h.Ta[i] = 255;
+ h.z = M(Ff);
+ h = a.Ca;
+ $(h != p);
+ h.pb = 0;
+ h.ob = 0;
+ h.tb = 1;
+ for (i = 0; i < h.Kb.length; ++i) h.Kb[i] = 0;
+ for (i = 0; i < h.Cb.length; ++i) h.Cb[i] = 0;
+ a.Lb = 0
+ }
+ if (g.Ra >
+ e) return Y(a, "VP8_STATUS_NOT_ENOUGH_DATA", "bad partition length");
+ h = a.o;
+ D(h, d, c, c + g.Ra);
+ c += g.Ra;
+ e -= g.Ra;
+ g.fb && (k.uc = G(h), k.$c = G(h));
+ var k = h,
+ n = a.Ca,
+ l = a.R;
+ $(k != p);
+ $(n != p);
+ n.pb = G(k);
+ if (n.pb) {
+ n.ob = G(k);
+ if (G(k)) {
+ var m;
+ n.tb = G(k);
+ for (m = 0; m < xa; ++m) n.Kb[m] = G(k) ? ga(k, 7) : 0;
+ for (m = 0; m < xa; ++m) n.Cb[m] = G(k) ? ga(k, 6) : 0
+ }
+ if (n.ob)
+ for (m = 0; m < Ld; ++m) l.Ta[m] = G(k) ? S(k, 8) : 255
+ } else n.ob = 0;
+ if (k.Ab) return Y(a, "VP8_STATUS_BITSTREAM_ERROR", "cannot parse segment header");
+ k = h;
+ n = a.ga;
+ n.Oc = G(k);
+ n.Fb = S(k, 6);
+ n.kb = S(k, 3);
+ n.oc = G(k);
+ if (n.oc &&
+ G(k)) {
+ for (l = 0; l < Hc; ++l) G(k) && (n.Lc[l] = ga(k, 6));
+ for (l = 0; l < Gf; ++l) G(k) && (n.Gc[l] = ga(k, 6))
+ }
+ a.A = 0 == n.Fb ? 0 : n.Oc ? 1 : 2;
+ if (0 < a.A)
+ if (a.Ca.pb)
+ for (l = 0; l < xa; ++l) m = a.Ca.Cb[l], a.Ca.tb || (m += n.Fb), a.Zb[l] = m;
+ else a.Zb[0] = n.Fb;
+ if (k.Ab) return Y(a, "VP8_STATUS_BITSTREAM_ERROR", "cannot parse filter header");
+ var k = d,
+ f = c,
+ n = f,
+ e = f + e;
+ m = 0;
+ var q = s,
+ r = s;
+ a.Hb = 1 << S(a.o, 2);
+ q = a.Hb - 1;
+ l = k;
+ m = f + 3 * q;
+ if (e < m) e = "VP8_STATUS_NOT_ENOUGH_DATA";
+ else {
+ for (r = 0; r < q; ++r) {
+ var f = l,
+ u = m + (k[n + 0] | k[n + 1] << 8 | k[n + 2] << 16);
+ u > e && (f = k);
+ D(a.ic[+r], l, m, u);
+ l = f;
+ m = u;
+ n += 3
+ }
+ D(a.ic[+q], l, m, e);
+ e = m < e ? "VP8_STATUS_OK" : "VP8_STATUS_SUSPENDED"
+ }
+ if ("VP8_STATUS_OK" != e) return Y(a, "VP8_STATUS_BITSTREAM_ERROR", "cannot parse partitions");
+ q = a.o;
+ e = S(q, 7);
+ k = G(q) ? ga(q, 4) : 0;
+ n = G(q) ? ga(q, 4) : 0;
+ l = G(q) ? ga(q, 4) : 0;
+ m = G(q) ? ga(q, 4) : 0;
+ q = G(q) ? ga(q, 4) : 0;
+ r = a.Ca;
+ f = s;
+ for (f = 0; f < xa; ++f) {
+ u = s;
+ if (r.pb) u = r.Kb[f], r.tb || (u += e);
+ else if (0 < f) {
+ a.yb[f] = a.yb[0];
+ continue
+ } else u = e;
+ var v = a.yb[f];
+ v.sc[0] = Ic[wa(u + k, 127)];
+ v.sc[1] = Jc[wa(u + 0, 127)];
+ v.sb[0] = 2 * Ic[wa(u + n, 127)];
+ v.sb[1] = 101581 * Jc[wa(u + l, 127)] >> 16;
+ 8 > v.sb[1] &&
+ (v.sb[1] = 8);
+ v.qc[0] = Ic[wa(u + m, 117)];
+ v.qc[1] = Jc[wa(u + q, 127)]
+ }
+ if (g.fb) a.Zc = 259;
+ else return Y(a, Hf, "Not a key frame.");
+ G(h);
+ e = a.R;
+ for (k = 0; k < Md; ++k)
+ for (n = 0; n < Nd; ++n)
+ for (l = 0; l < Kc; ++l)
+ for (m = 0; m < Lc; ++m) w(h, If[k][n][l][m]) && (e.z[k][n][l][m] = S(h, 8));
+ a.pc = G(h);
+ a.pc && (a.Pc = S(h, 8));
+ if (a.P.uc) {
+ c -= 8;
+ h = Mb;
+ if (8 > g.Ra || 1 != d[c + 8 - 1]) return Y(a, W, "RIFF: Inconsistent extra information.");
+ h = d[c + 0] << 0 | d[c + 1] << 8 | d[c + 2] << 16;
+ a.fc = h;
+ a.dd = p;
+ a.cd = d[c + 3]
+ }
+ return a.za = 1
+ }
+
+ function Mc(a, b, c, d, e, g) {
+ var k = b[e][c];
+ if (!w(a, k[0])) return 0;
+ for (;;) {
+ ++e;
+ if (w(a, k[1])) {
+ var h;
+ if (w(a, k[2])) {
+ if (w(a, k[3]))
+ if (w(a, k[6])) {
+ h = x;
+ c = w(a, k[8]);
+ k = w(a, k[9 + c]);
+ k = 2 * c + k;
+ c = 0;
+ h = Jf[k];
+ var n;
+ for (n = 0; n < h.length - 1; ++n) c += c + w(a, h[n]);
+ c += 3 + (8 << k)
+ } else w(a, k[7]) ? (c = 7 + 2 * w(a, 165), c += w(a, 145)) : c = 5 + w(a, 159);
+ else c = w(a, k[4]) ? 3 + w(a, k[5]) : 2;
+ k = b[Nc[e]][2]
+ } else k = b[Nc[e]][1], c = 1;
+ h = Kf[e - 1];
+ g[g[g.length - 1] + h] = (w(a, 128) ? -c : c) * d[(0 < h) + 0];
+ if (16 == e || !w(a, k[0])) return e
+ } else k = b[Nc[e]][0];
+ if (16 == e) return 16
+ }
+ }
+
+ function ob(a, b) {
+ return ((16777216 * a[0] + 65536 * a[1] + 256 * a[2] + 1 * a[3]) * Lf &
+ 4278190080) >> b
+ }
+
+ function Mf(a, b) {
+ var c = 0;
+ if (a == p) return 0;
+ if (b == p) return Y(a, "VP8_STATUS_INVALID_PARAM", "NULL VP8Io parameter in VP8Decode().");
+ if (!a.za && !Hd(a, b)) return 0;
+ $(a.za);
+ var d;
+ if (b.Mb && !b.Mb(b)) Y(a, Nf, "Frame setup failed"), d = a.a;
+ else {
+ b.Za && (a.A = 0);
+ var e = uc[a.A];
+ 2 == a.A ? (a.lb = 0, a.mb = 0) : (a.lb = b.t - e >> 4, a.mb = b.k - e >> 4, 0 > a.lb && (a.lb = 0), 0 > a.mb && (a.mb = 0));
+ a.Ya = b.K + 15 + e >> 4;
+ a.wb = b.Ka + 15 + e >> 4;
+ a.wb > a.Ma && (a.wb = a.Ma);
+ a.Ya > a.hb && (a.Ya = a.hb);
+ d = L
+ }
+ if (c = d == L) {
+ if (c) {
+ var g;
+ b: {
+ a.Ja = 0;
+ if (a.qb) {
+ var k = a.rc;
+ if (!WebPWorkerReset(k)) {
+ g =
+ Y(a, cb, "thread initialization failed.");
+ break b
+ }
+ k.Qd = a;
+ k.Rd = a.oa.N;
+ k.Ud = FinishRow;
+ a.jb = 0 < a.A ? Od : Od - 1
+ } else a.jb = Of;
+ g = 1
+ }
+ var h;
+ if (!(h = !g)) {
+ var n;
+ b: {
+ var l = a.jb,
+ m = a.Ma,
+ t = 4 * m,
+ q = 32 * m,
+ r = m + 1,
+ u = 0 < a.A ? m * (a.qb ? 2 : 1) : 0,
+ v = Pf,
+ C = q * (16 * l + parseInt(3 * uc[a.A] / 2, 10)),
+ A = a.Ga != p ? a.P.l * a.P.v : 0,
+ z = t + q + r + u + v + 384 + C + A + Pd;
+ if (z != z) n = 0;
+ else {
+ if (z > a.Gb) {
+ a.ib = 0;
+ a.Gb = 0;
+ if (a.ib == p) {
+ n = Y(a, "VP8_STATUS_OUT_OF_MEMORY", "no memory during frame initialization.");
+ break b
+ }
+ a.Gb = z
+ }
+ a.dc = 205;
+ a.Xc = rc(205, 16 * m);
+ a.Sc = rc(205, 8 * m);
+ a.Vc = rc(205, 8 * m);
+ a.M =
+ u ? ic(Oc, u) : p;
+ a.Sd = u ? 0 : p;
+ a.oa.ha = 0;
+ a.oa.M = a.M;
+ $(0 == (v & Pd));
+ a.Ea = rc(205, 1 * v);
+ a.z = -12851;
+ a.H = 16 * m;
+ a.r = 8 * m;
+ var Ha = uc[a.A],
+ G = Ha * a.H,
+ y = Ha / 2 * a.r;
+ a.ca = U(C, 205);
+ a.da = +G;
+ a.aa = a.ca;
+ a.ba = a.da + 16 * l * a.H + y;
+ a.ra = a.aa;
+ a.sa = a.ba + 8 * l * a.r + y;
+ a.Xb = A ? U(A, x) : p;
+ a.La = ic(Qd, r);
+ a.dc = rc($b, t);
+ n = 1
+ }
+ }
+ h = !n
+ }
+ if (h) c = 0;
+ else {
+ b.width = a.P.l;
+ b.height = a.P.v;
+ b.w = 0;
+ b.y = a.ca;
+ b.D = a.da;
+ b.c = a.aa;
+ b.B = a.ba;
+ b.S = a.ra;
+ b.C = a.sa;
+ b.F = a.H;
+ b.Da = a.r;
+ b.p = p;
+ b.q = p;
+ if (!Rd) {
+ var B;
+ for (B = -255; 255 >= B; ++B) va[255 + B] = 0 > B ? -B : B, tc[255 + B] = va[255 + B] >> 1;
+ for (B = -1020; 1020 >=
+ B; ++B) sc[1020 + B] = -128 > B ? -128 : 127 < B ? 127 : B;
+ for (B = -112; 112 >= B; ++B) oc[112 + B] = -16 > B ? -16 : 15 < B ? 15 : B;
+ for (B = -255; 510 >= B; ++B) oa[255 + B] = 0 > B ? 0 : 255 < B ? 255 : B;
+ Rd = 1
+ }
+ mc = pf;
+ Pc = qf;
+ Qc = nc;
+ Rc = rf;
+ Sd = uf;
+ Td = vf;
+ Ud = yf;
+ Vd = zf;
+ Wd = wf;
+ Xd = xf;
+ Yd = Af;
+ Zd = Bf;
+ $d = Dd;
+ ae = Ed;
+ be = sf;
+ ce = tf;
+ c = 1
+ }
+ }
+ if (c) a: {
+ for (a.d = 0; a.d < a.Ya; ++a.d) {
+ var Qf = a.ic[a.d & a.Hb - 1],
+ db = a,
+ F = db.La[0];
+ F.X = 0;
+ F.ua = 0;
+ jd(db.cc, 0, $b, db.cc.length);
+ db.W = (0 < db.A && db.d >= db.mb && db.d <= db.Ya) + 0;
+ for (a.i = 0; a.i < a.Ma; a.i++) {
+ var D;
+ var H = a,
+ T = Qf,
+ ya = H.o,
+ S = H.La[0],
+ J = H.La[1 + H.i];
+ H.Ca.ob && (H.Lb = !w(ya,
+ H.R.Ta[0]) ? 0 + w(ya, H.R.Ta[1]) : 2 + w(ya, H.R.Ta[2]));
+ J.Nb = H.pc ? w(ya, H.Pc) : 0;
+ var O = H.dc;
+ O[O.length - 1] = 0 + 4 * H.i;
+ var Sc = H.cc;
+ H.wa = !w(ya, 145);
+ if (H.wa)
+ for (var ga = H.Eb, ja = 0, Z = ca, Z = 0; 4 > Z; ++Z) {
+ var V = Sc[Z],
+ R;
+ for (R = 0; 4 > R; ++R) {
+ var ta = Rf[O[O[O.length - 1] + R]][V],
+ za = 0;
+ do za = Sf[2 * za + w(ya, ta[za])]; while (0 < za);
+ V = -za;
+ O[O[O.length - 1] + R] = V;
+ ga[ja] = V;
+ ja++
+ }
+ Sc[Z] = V
+ } else {
+ var V = w(ya, 156) ? w(ya, 128) ? de : ee : w(ya, 163) ? fe : ge;
+ H.Eb[0] = V;
+ for (za = 0; 4 > za; ++za) O[za + O[O.length - 1]] = V;
+ for (za = 0; 4 > za; ++za) Sc[za] = V
+ }
+ H.Tc = !w(ya, 142) ? ge : !w(ya, 114) ? fe :
+ w(ya, 183) ? de : ee;
+ if (ya.Ab) D = 0;
+ else {
+ if (J.Nb) S.X = J.X = 0, H.wa || (S.ua = J.ua = 0), H.ja = 0, H.Oa = 0;
+ else {
+ var ia = ca,
+ ka = ca,
+ sa = ca,
+ wa = Tf,
+ Aa = H.yb[H.Lb],
+ aa = H.z,
+ ma = H.La[0],
+ ua = U(4, 0),
+ xa = U(4, 0),
+ ea = U(4, 0),
+ pb = U(4, 0),
+ na = 0,
+ Ba = 0,
+ pa = ca,
+ qa = ca,
+ Sa = ca,
+ aa = rc(0, 384);
+ if (H.wa) sa = 0, wa = H.R.z[3];
+ else {
+ var ab = U(16, 0),
+ Ca = J.ua + ma.ua;
+ J.ua = ma.ua = (0 < Mc(T, H.R.z[1], Ca, Aa.sb, 0, ab)) + 0;
+ for (var sa = 1, wa = H.R.z[0], qb = ab, Ta = aa, La = U(16, s), X = s, X = 0; 4 > X; ++X) {
+ var Da = qb[0 + X] + qb[12 + X],
+ Ea = qb[4 + X] + qb[8 + X],
+ Fa = qb[4 + X] - qb[8 + X],
+ Ga = qb[0 + X] - qb[12 + X];
+ La[0 + X] = Da + Ea;
+ La[8 +
+ X] = Da - Ea;
+ La[4 + X] = Ga + Fa;
+ La[12 + X] = Ga - Fa
+ }
+ for (X = 0; 4 > X; ++X) {
+ var Oa = Ta[Ta.length - 1],
+ lb = La[0 + 4 * X] + 3,
+ Da = lb + La[3 + 4 * X],
+ Ea = La[1 + 4 * X] + La[2 + 4 * X],
+ Fa = La[1 + 4 * X] - La[2 + 4 * X],
+ Ga = lb - La[3 + 4 * X];
+ Ta[Oa + 0] = Da + Ea >> 3;
+ Ta[Oa + 16] = Ga + Fa >> 3;
+ Ta[Oa + 32] = Da - Ea >> 3;
+ Ta[Oa + 48] = Ga - Fa >> 3;
+ Ta[Ta.length - 1] += 64
+ }
+ aa[aa.length - 1] = 0
+ }
+ ea = Nb(vc[J.X & 15]);
+ pb = Nb(vc[ma.X & 15]);
+ for (qa = 0; 4 > qa; ++qa) {
+ for (var Eb = pb[qa], pa = 0; 4 > pa; ++pa) {
+ var Ca = Eb + ea[pa],
+ Ka = Mc(T, wa, Ca, Aa.sc, sa, aa);
+ ea[pa] = Eb = (0 < Ka) + 0;
+ xa[pa] = (0 != aa[aa[aa.length - 1] + 0]) + 0;
+ ua[pa] = (1 < Ka) + 0;
+ aa[aa.length -
+ 1] += 16
+ }
+ pb[qa] = Eb;
+ Ba |= ob(xa, 24 - 4 * qa);
+ na |= ob(ua, 24 - 4 * qa)
+ }
+ ia = ob(ea, 24);
+ ka = ob(pb, 24);
+ ea = Nb(vc[J.X >> 4]);
+ pb = Nb(vc[ma.X >> 4]);
+ for (Sa = 0; 4 > Sa; Sa += 2) {
+ for (qa = 0; 2 > qa; ++qa) {
+ Eb = pb[Sa + qa];
+ for (pa = 0; 2 > pa; ++pa) Ca = Eb + ea[Sa + pa], Ka = Mc(T, H.R.z[2], Ca, Aa.qc, 0, aa), ea[Sa + pa] = Eb = (0 < Ka) + 0, xa[2 * qa + pa] = (0 != aa[aa[aa.length - 1] + 0]) + 0, ua[2 * qa + pa] = (1 < Ka) + 0, aa[aa.length - 1] += 16;
+ pb[Sa + qa] = Eb
+ }
+ Ba |= ob(xa, 8 - 2 * Sa);
+ na |= ob(ua, 8 - 2 * Sa)
+ }
+ ia |= ob(ea, 20);
+ ka |= ob(pb, 20);
+ J.X = ia;
+ ma.X = ka;
+ H.z = aa;
+ H.Oa = na + 0;
+ H.ja = na | Ba;
+ J.Nb = !H.ja + 0
+ }
+ D = !T.Ab
+ }
+ if (!D) {
+ c = Y(a, "VP8_STATUS_NOT_ENOUGH_DATA",
+ "Premature end-of-file encountered." + a.i + " " + a.d);
+ break a
+ }
+ var P = a,
+ da = P.Ea,
+ Ma = Tc,
+ Ua = P.Ea,
+ Va = Uc,
+ Wa = P.Ea,
+ Xa = he;
+ if (0 < P.i) {
+ for (var ba = ca, ba = -1; 16 > ba; ++ba) Ec(da, Ma + ba * f - 4, da, Ma + ba * f + 12);
+ for (ba = -1; 8 > ba; ++ba) Ec(Ua, Va + ba * f - 4, Ua, Va + ba * f + 4), Ec(Wa, Xa + ba * f - 4, Wa, Xa + ba * f + 4)
+ } else {
+ for (ba = 0; 16 > ba; ++ba) da[Ma + ba * f - 1] = 129;
+ for (ba = 0; 8 > ba; ++ba) Ua[Va + ba * f - 1] = 129, Wa[Xa + ba * f - 1] = 129;
+ 0 < P.d && (da[Ma - 1 - f] = Ua[Va - 1 - f] = Wa[Xa - 1 - f] = 129)
+ }
+ var Qa = P.Xc,
+ Ra = 16 * +P.i,
+ mb = P.Sc,
+ vb = 8 * +P.i,
+ wb = P.Vc,
+ xb = 8 * +P.i,
+ Za = P.z,
+ fa = ca;
+ if (0 < P.d) N(da, Ma - f, Qa, Ra,
+ 16), N(Ua, Va - f, mb, vb, 8), N(Wa, Xa - f, wb, xb, 8);
+ else if (0 == P.i) {
+ for (i = 0; 21 > i; ++i) da[Ma - f - 1 + i] = 127;
+ for (i = 0; 9 > i; ++i) Ua[Va - f - 1 + i] = 127;
+ for (i = 0; 9 > i; ++i) Wa[Xa - f - 1 + i] = 127
+ }
+ if (P.wa) {
+ var Ya = Ma - f + 16;
+ 0 < P.d && (P.i >= P.Ma - 1 ? da[Ya + 0] = da[Ya + 1] = da[Ya + 2] = da[Ya + 3] = Qa[Ra + 15] : N(da, Ya + 0, Qa, Ra + 16, 4));
+ for (var Fb = 0; 4 > Fb; ++Fb) da[Fb + Ya + 4 * f] = da[Fb + Ya + 4 * f] = da[Fb + Ya + 8 * f] = da[Fb + Ya + 12 * f] = da[Fb + Ya + 0];
+ for (fa = 0; 16 > fa; fa++) {
+ var ac = da,
+ bc = Ma + ie[fa];
+ Uf[P.Eb[fa]](ac, bc);
+ P.Oa & 1 << fa ? mc(Za, 16 * +fa, ac, bc, 0) : P.ja & 1 << fa && Qc(Za, 16 * +fa, ac, bc)
+ }
+ } else {
+ var $a =
+ Fd(P, P.Eb[0]);
+ Vf[$a](da, Ma);
+ if (P.ja)
+ for (fa = 0; 16 > fa; fa++) ac = da, bc = Ma + ie[fa], P.Oa & 1 << fa ? mc(Za, 16 * +fa, ac, bc, 0) : P.ja & 1 << fa && Qc(Za, 16 * +fa, ac, bc)
+ }
+ $a = Fd(P, P.Tc);
+ je[$a](Ua, Va);
+ je[$a](Wa, Xa);
+ if (P.ja & 983040) {
+ var zb = P.z,
+ Pa = 256;
+ P.Oa & 983040 ? Pc(zb, Pa, Ua, Va) : Rc(zb, Pa, Ua, Va)
+ }
+ if (P.ja & 15728640) {
+ var Ab = P.z,
+ Pa = 320;
+ P.Oa & 15728640 ? Pc(Ab, Pa, Wa, Xa) : Rc(Ab, Pa, Wa, Xa)
+ }
+ P.d < P.hb - 1 && (N(Qa, Ra, da, Ma + 15 * f, 16), N(mb, vb, Ua, Va + 7 * f, 8), N(wb, xb, Wa, Xa + 7 * f, 8));
+ var Q = a;
+ if (0 < Q.A) {
+ var kb = Q.M[1 + Q.i],
+ Kb = Q.La[1 + Q.i].Nb,
+ ha = Q.Zb[Q.Lb];
+ Q.ga.oc && (ha +=
+ Q.ga.Lc[0], Q.wa && (ha += Q.ga.Gc[0]));
+ ha = 0 > ha ? 0 : 63 < ha ? 63 : ha;
+ kb.zc = ha;
+ 0 < Q.ga.kb && (ha = 4 < Q.ga.kb ? ha >> 2 : ha >> 1, ha > 9 - Q.ga.kb && (ha = 9 - Q.ga.kb));
+ kb.yc = 1 > ha ? 1 : ha;
+ kb.ab = (!Kb || Q.wa) + 0
+ }
+ for (var Ia = ca, Bb = 8 * Q.Ja * Q.r, Qb = Q.ca, Ub = Q.da + 16 * Q.i + 16 * Q.Ja * Q.H, Wb = Q.aa, Xb = Q.ba + 8 * Q.i + Bb, Yb = Q.ra, Zb = Q.sa + 8 * Q.i + Bb, Ia = 0; 16 > Ia; ++Ia) N(Qb, Ub + Ia * Q.H, Q.Ea, +Tc + Ia * f, 16);
+ for (Ia = 0; 8 > Ia; ++Ia) N(Wb, Xb + Ia * Q.r, Q.Ea, +Uc + Ia * f, 8), N(Yb, Zb + Ia * Q.r, Q.Ea, +he + Ia * f, 8)
+ }
+ var K = a,
+ I = b,
+ cc = 1,
+ eb = K.oa;
+ if (K.qb) {
+ var nb = K.rc,
+ cc = cc & WebPWorkerSync(nb);
+ $(nb.a == OK);
+ if (cc) {
+ eb.N =
+ I;
+ eb.ha = K.Ja;
+ eb.d = K.d;
+ eb.W = K.W;
+ if (eb.W) {
+ var hc = eb.M;
+ eb.M = K.M;
+ K.M = hc
+ }
+ WebPWorkerLaunch(nb);
+ ++K.Ja == K.jb && (K.Ja = 0)
+ }
+ } else {
+ eb.d = K.d;
+ eb.W = K.W;
+ b: {
+ var Hb = 1,
+ rb = K.oa,
+ ib = uc[K.A],
+ yb = ib * K.H,
+ dc = parseInt(ib / 2) * K.r,
+ Ib = 16 * rb.ha * K.H,
+ jb = 8 * rb.ha * K.r,
+ Jb = K.ca,
+ Lb = K.da - yb + Ib,
+ Ob = K.aa,
+ Pb = K.ba - dc + jb,
+ Rb = K.ra,
+ Sb = K.sa - dc + jb,
+ jc = 0 == rb.d,
+ Tb = (rb.d >= K.hb - 1) + 0,
+ ra = 16 * rb.d,
+ fb = 16 * (rb.d + 1);
+ if (rb.W) {
+ var pc = K,
+ wc = s,
+ kc = pc.oa.d;
+ $(pc.oa.W);
+ for (wc = pc.lb; wc < pc.wb; ++wc) {
+ var Na = pc,
+ ec = wc,
+ Vb = kc,
+ xc = Na.oa,
+ gb = Na.H,
+ fc = xc.M[1 + ec],
+ sb = Na.ca,
+ tb = Na.da + 16 * xc.ha *
+ gb + 16 * ec,
+ Gb = fc.zc,
+ hb = fc.yc,
+ Ja = 2 * Gb + hb;
+ if (0 != Gb)
+ if (1 == Na.A) 0 < ec && ae(sb, tb, gb, Ja + 4), fc.ab && ce(sb, tb, gb, Ja), 0 < Vb && $d(sb, tb, gb, Ja + 4), fc.ab && be(sb, tb, gb, Ja);
+ else {
+ var gc = Na.r,
+ yc = Na.aa,
+ zc = Na.ba + 8 * xc.ha * gc + 8 * ec,
+ Ac = Na.ra,
+ Bc = Na.sa + 8 * xc.ha * gc + 8 * ec,
+ ub = Na.Ac.fb ? 40 <= Gb ? 2 : 15 <= Gb ? 1 : 0 : 40 <= Gb ? 3 : 20 <= Gb ? 2 : 15 <= Gb ? 1 : 0;
+ 0 < ec && (Td(sb, tb, gb, Ja + 4, hb, ub), Vd(yc, zc, Ac, Bc, gc, Ja + 4, hb, ub));
+ fc.ab && (Xd(sb, tb, gb, Ja, hb, ub), Zd(yc, zc, Ac, Bc, gc, Ja, hb, ub));
+ 0 < Vb && (Sd(sb, tb, gb, Ja + 4, hb, ub), Ud(yc, zc, Ac, Bc, gc, Ja + 4, hb, ub));
+ fc.ab && (Wd(sb, tb, gb,
+ Ja, hb, ub), Yd(yc, zc, Ac, Bc, gc, Ja, hb, ub))
+ }
+ }
+ }
+ if (I.put) {
+ jc ? (I.y = K.ca, I.D = K.da + Ib, I.c = K.aa, I.B = K.ba + jb, I.S = K.ra, I.C = K.sa + jb) : (ra -= ib, I.y = Jb, I.D = Lb, I.c = Ob, I.B = Pb, I.S = Rb, I.C = Sb);
+ Tb || (fb -= ib);
+ fb > I.K && (fb = I.K);
+ if (K.Ga != p && ra < fb && (0 == ra ? (I.p = qd(K, ra, fb - ra), I.q = 0) : I.q = qd(K, ra, fb - ra), I.p == p)) {
+ cc = Y(K, W, "Could not decode alpha data.");
+ break b
+ }
+ if (ra < I.k) {
+ var qc = I.k - ra,
+ ra = I.k;
+ $(!(qc & 1));
+ I.D += K.H * qc;
+ I.B += K.r * (qc >> 1);
+ I.C += K.r * (qc >> 1);
+ I.p != p && (I.q += I.width * qc)
+ }
+ ra < fb && (I.D += I.t, I.B += I.t >> 1, I.C += I.t >> 1, I.p != p && (I.q += I.t),
+ I.w = ra - I.k, I.m = I.Ka - I.t, I.h = fb - ra, Hb = I.put(I))
+ }
+ rb.ha + 1 == K.jb && !Tb && (N(K.ca, K.da - yb, Jb, Lb + 16 * K.H, yb), N(K.aa, K.ba - dc, Ob, Pb + 8 * K.r, dc), N(K.ra, K.sa - dc, Rb, Sb + 8 * K.r, dc));
+ cc = Hb
+ }
+ }
+ if (!cc) {
+ c = Y(a, "VP8_STATUS_USER_ABORT", "Output aborted.");
+ break a
+ }
+ }
+ var Cb;
+ if (!(Cb = a.qb && !WebPWorkerSync(a.rc))) {
+ var Db;
+ if (Db = 0 < a.fc) $(a), $(0 < a.fc), Db = !1;
+ Cb = Db
+ }
+ c = Cb ? 0 : 1
+ }
+ var lc = c;
+ b.Pb && b.Pb(b);
+ c = lc & 1
+ }
+ if (!c) return ke(a), 0;
+ a.za = 0;
+ return c
+ }
+
+ function ke(a) {
+ a != p && (a.ib && (a.ib = 0), a.ib = p, a.Gb = 0, a.za = 0)
+ }
+
+ function Aa(a, b) {
+ return a + (1 << b) - 1 >> b
+ }
+
+ function hc(a, b, c, d, e) {
+ var g = vb[c] + wb[b] >> ea;
+ b = xb[b];
+ d[e + 0] = ia[a + Za[c] - J];
+ d[e + 1] = ia[a + g - J];
+ d[e + 2] = ia[a + b - J]
+ }
+
+ function le(a, b, c, d, e) {
+ var g = vb[c] + wb[b] >> ea;
+ b = xb[b];
+ d[e + 0] = ia[a + Za[c] - J] & 248 | ia[a + g - J] >> 5;
+ d[e + 1] = ia[a + g - J] << 3 & 224 | ia[a + b - J] >> 3
+ }
+
+ function me(a, b, c, d, e) {
+ d[e + 0] = 255;
+ hc(a, b, c, d, e + 1)
+ }
+
+ function ne(a, b, c, d, e) {
+ var g = xb[b];
+ d[e + 0] = Hb[a + Za[c] - J] << 4 | Hb[a + (vb[c] + wb[b] >> ea) - J];
+ d[e + 1] = 15 | Hb[a + g - J] << 4
+ }
+
+ function Vc(a, b, c, d, e) {
+ var g = Za[c];
+ c = vb[c] + wb[b] >> ea;
+ d[e + 0] = ia[a + xb[b] - J];
+ d[e + 1] = ia[a + c - J];
+ d[e + 2] = ia[a + g - J]
+ }
+
+ function oe(a, b, c, d, e) {
+ Vc(a, b, c, d, e);
+ d[e + 3] = 255
+ }
+
+ function pe(a, b, c, d, e) {
+ hc(a, b, c, d, e);
+ d[e + 3] = 255
+ }
+
+ function ib(a, b, c) {
+ a[b] = ((((a[b] & 4278255360) >>> 0) + ((c & 4278255360) >>> 0) & 4278255360) >>> 0 | (a[b] & 16711935) + (c & 16711935) & 16711935) >>> 0
+ }
+
+ function ka(a, b) {
+ return (((a ^ b) & 4278124286) >>> 1) + ((a & b) >>> 0) >>> 0
+ }
+
+ function $a(a) {
+ return 256 > a && 0 < a ? a : 0 >= a ? 0 : ~a >> 24 & 255
+ }
+
+ function yb(a, b) {
+ return $a(a + parseInt((a - b) / 2, 10))
+ }
+
+ function Wc() {
+ return qe
+ }
+
+ function Xc(a, b) {
+ a &= 255;
+ b &= 255;
+ 127 < a && (a -= 256);
+ 127 < b && (b -= 256);
+ return a * b >>> 5
+ }
+
+ function re(a,
+ b, c, d, e, g, k) {
+ var h = s,
+ n = 8 >> a.n,
+ l = a.U,
+ f = a.u;
+ if (8 > n) {
+ a = (1 << a.n) - 1;
+ for (var t = (1 << n) - 1, h = b; h < c; ++h) {
+ b = 0;
+ for (var q = s, q = 0; q < l; ++q) 0 == (q & a) && (b = d[e++] >> 8 & 255), g[k++] = f[b & t], b >>= n
+ }
+ } else
+ for (h = b; h < c; ++h)
+ for (q = 0; q < l; ++q) g[k++] = f[d[e++] >> 8 & 255]
+ }
+
+ function se(a, b, c, d, e) {
+ for (c = b + c; b < c;) {
+ var g = a[b++];
+ d[e++] = g >> 16 & 255;
+ d[e++] = g >> 8 & 255;
+ d[e++] = g >> 0 & 255;
+ d[e++] = g >> 24 & 255
+ }
+ }
+
+ function te(a, b, c, d, e) {
+ for (c = b + c; b < c;) {
+ var g = a[b++];
+ d[e++] = g >> 16 & 240 | g >> 12 & 15;
+ d[e++] = g >> 0 & 240 | g >> 28 & 15
+ }
+ }
+
+ function Ib(a, b, c, d, e) {
+ for (c = b + c; b < c;) {
+ var g =
+ a[b++];
+ d[e++] = g >> 24 & 255;
+ d[e++] = g >> 16 & 255;
+ d[e++] = g >> 8 & 255;
+ d[e++] = g >> 0 & 255
+ }
+ }
+
+ function ue(a, b, c, d) {
+ if (T(a, 8) != ve) return 0;
+ b[0] = T(a, we) + 1;
+ c[0] = T(a, we) + 1;
+ d[0] = T(a, 1);
+ T(a, Wf);
+ return 1
+ }
+
+ function xe(a, b) {
+ var c = s;
+ if (4 > a) return a + 1;
+ c = a - 2 >> 1;
+ return (2 + (a & 1) << c) + T(b, c) + 1
+ }
+
+ function Oa(a, b) {
+ if (b.Q + 8 > b.ya) {
+ var c = a.Y,
+ d = 0;
+ for ($(c != p); 0 != c[d].s;) {
+ var e = c,
+ g = b,
+ k = g.T >> g.g & 1;
+ g.L ? g.fa = 1 : (++g.g, 8 <= g.g && Sb(g), g.Q == g.ya && 32 == g.g && (g.L = 1));
+ d = d + e[d].s + k
+ }
+ return c[d].kc
+ }
+ c = a.Y;
+ d = 0;
+ for ($(c != p); 0 != c[d].s;) e = c, g = b.T >> b.g & 1, ++b.g, d = d +
+ e[d].s + g;
+ return c[d].kc
+ }
+
+ function zb(a, b) {
+ if (a != p)
+ for (var c = s, d = s, c = 0; c < b; ++c)
+ for (var e = a[c].va, d = 0; d < Yc; ++d) ja(e[d])
+ }
+
+ function ye(a, b, c) {
+ b = 0 == a.eb ? 0 : a.ac[a.bd + a.Ec * (c >> a.eb) + (b >> a.eb)];
+ $(b < a.hc);
+ return a.Db[+b]
+ }
+
+ function ze(a, b, c, d) {
+ var e = a.Na,
+ g = a.O,
+ k = g + b,
+ h = c,
+ f = d;
+ d = a.Xa;
+ c = a.vb;
+ for (N(d, c, h, f, a.l * b); 0 < e--;) {
+ b = a.nc[e];
+ var l = g,
+ m = k,
+ t = h,
+ q = f,
+ f = d,
+ h = c;
+ $(l < m);
+ $(m <= b.Vb);
+ switch (b.Qc) {
+ case Ae:
+ t = 0;
+ for (b = h + (m - l) * b.U; h < b;) {
+ var m = f,
+ q = h,
+ r = m[q] >> 8 & 255,
+ u = (m[q] & 16711935) >>> 0,
+ u = u + (r << 16 | r),
+ u = u & 16711935;
+ f[h++] = ((m[q] & 4278255360) >>>
+ 0 | u) >>> 0;
+ 32 == l && t++
+ }
+ break;
+ case Be:
+ var v = b,
+ C = l,
+ t = m,
+ q = f,
+ r = h,
+ u = v.U;
+ if (0 == C) {
+ var A = s;
+ ib(q, r, qe);
+ for (A = 1; A < u; ++A) ib(q, r + A, q[r + A - 1]);
+ r += u;
+ ++C
+ }
+ for (var z = (1 << v.n) - 1, Ha = Aa(u, v.n), w = v.u, v = +(C >> v.n) * Ha; C < t;) {
+ var y = w,
+ B = v,
+ G = p;
+ ib(q, r, q[r - u + 0]);
+ G = Ce[y[B++] >> 8 & 15];
+ for (A = 1; A < u; ++A) {
+ var F = E;
+ 0 == (A & z) && (G = Ce[y[B++] >> 8 & 15]);
+ F = G(q[r + A - 1], q, r + A - u);
+ ib(q, r + A, F)
+ }
+ r += u;
+ ++C;
+ 0 == (C & z) && (v += Ha)
+ }
+ m != b.Vb && (b = b.U, N(f, h - b, f, h + (m - l - 1) * b, b));
+ break;
+ case De:
+ t = b.U;
+ q = (1 << b.n) - 1;
+ r = Aa(t, b.n);
+ u = b.u;
+ for (b = +(l >> b.n) * r; l < m;) {
+ A = u;
+ C = b;
+ z = M(Xf);
+ Ha =
+ s;
+ for (Ha = 0; Ha < t; ++Ha) 0 == (Ha & q) && (w = A[C++], v = z, v.Cc = w >> 0 & 255, v.Bc = w >> 8 & 255, v.Kc = w >> 16 & 255), w = f[h + Ha], v = w >>> 8, y = w >>> 16, B = w, y += Xc(z.Cc, v), y &= 255, B += Xc(z.Bc, v), B += Xc(z.Kc, y), B &= 255, f[h + Ha] = (w & 4278255360 | y << 16 | B) >>> 0;
+ h += t;
+ ++l;
+ 0 == (l & q) && (b += r)
+ }
+ break;
+ case Ee:
+ t == f && 0 < b.n ? (t = (m - l) * Aa(b.U, b.n), q = h + (m - l) * b.U - t, memmove(f, q, f, h, t), re(b, l, m, f, q, f, h)) : re(b, l, m, t, q, f, h)
+ }
+ h = d;
+ f = c
+ }
+ }
+
+ function Yf(a, b) {
+ var c = a.V,
+ d = a.Ha + a.l * a.O,
+ e = b - a.O;
+ if (!(0 >= e)) {
+ ze(a, e, c, d);
+ var g = a.N,
+ c = a.Xa,
+ k = [a.vb];
+ var d = a.O,
+ e = b,
+ h = k,
+ f = g.width;
+ $(d < e);
+ $(g.t < g.Ka);
+ e > g.K && (e = g.K);
+ if (d < g.k) {
+ var l = g.k - d,
+ d = g.k;
+ h[0] += f * l
+ }
+ d >= e ? d = 0 : (h[0] += g.t, g.w = d - g.k, g.m = g.Ka - g.t, g.h = e - d, d = 1);
+ if (d) {
+ k = k[0];
+ d = a.Ib;
+ e = g.width;
+ if (d.J < ua) {
+ var m = d.c.RGBA,
+ h = m.ma,
+ t = m.Sa + a.xa * m.f;
+ if (g.I) c = EmitRescaledRows(a, c, k, e, g.h, h, t, m.f);
+ else {
+ for (var f = d.J, l = g.m, g = g.h, m = m.f, q = g; 0 < q--;) {
+ var r = c,
+ u = k,
+ v = l,
+ C = h,
+ A = t;
+ switch (f) {
+ case Qa:
+ for (v = u + v; u < v;) {
+ var z = r[u++];
+ C[A++] = z >> 16 & 255;
+ C[A++] = z >> 8 & 255;
+ C[A++] = z >> 0 & 255
+ }
+ break;
+ case jb:
+ se(r, u, v, C, A);
+ break;
+ case Ob:
+ se(r, u, v, C, A);
+ WebPApplyAlphaMultiply(C, 0, v,
+ 1, 0);
+ break;
+ case Zc:
+ for (v = u + v; u < v;) z = r[u++], C[A++] = z >> 0 & 255, C[A++] = z >> 8 & 255, C[A++] = z >> 16 & 255;
+ break;
+ case Pa:
+ Ib(r, u, v, C, A);
+ break;
+ case Pb:
+ Ib(r, u, v, C, A);
+ WebPApplyAlphaMultiply(C, 0, v, 1, 0);
+ break;
+ case Ab:
+ Ib(r, u, v, C, A);
+ break;
+ case Bb:
+ Ib(r, u, v, C, A);
+ WebPApplyAlphaMultiply(C, 1, v, 1, 0);
+ break;
+ case kb:
+ te(r, u, v, C, A);
+ break;
+ case Qb:
+ te(r, u, v, C, A);
+ WebPApplyAlphaMultiply4444(C, v, 1, 0);
+ break;
+ case Fe:
+ for (v = u + v; u < v;) z = r[u++], C[A++] = z >> 16 & 248 | z >> 13 & 7, C[A++] = z >> 5 & 224 | z >> 3 & 31;
+ break;
+ default:
+ $(0)
+ }
+ k += e;
+ t += m
+ }
+ c = g
+ }
+ a.xa += c
+ } else a.xa =
+ g.I ? EmitRescaledRowsYUVA(a, c, k, e, g.h) : EmitRowsYUVA(a, c, k, e, g.m, g.h);
+ $(a.xa <= d.height)
+ }
+ a.O = b;
+ $(a.O <= a.v)
+ }
+ }
+
+ function lc(a, b, c, d, e, g) {
+ var k = 1,
+ h = 0,
+ f = 0,
+ l = a.o,
+ m = a.cb,
+ t = m.Db,
+ q = c,
+ r = c;
+ c += d * e;
+ e = Ba + Ge;
+ var u = e + m.xb,
+ v = 0 < m.xb ? m.Yb : p,
+ C = m.Dc,
+ A = !1;
+ $(t != p);
+ a: for (; !l.L && q < c;) {
+ var z = s;
+ A || (0 == (h & C) && (t = ye(m, h, f)), Da(l), z = Oa(t.va[Zf], l));
+ if (z < Ba || A) {
+ if (!A) {
+ var w = k = A = s,
+ y = s;
+ Da(l);
+ A = Oa(t.va[$f], l);
+ k = z;
+ Da(l);
+ w = Oa(t.va[ag], l);
+ Da(l);
+ y = Oa(t.va[bg], l);
+ b[q] = (y << 24 >>> 0) + (A << 16) + (k << 8) + w
+ }
+ A = !1;
+ ++q;
+ ++h;
+ if (h >= d && (h = 0, ++f, g != p && 0 == f %
+ $c && g(a, f), v != p))
+ for (; r < q;) k = b[r++], v.ea[ad * k >>> v.bb] = k
+ } else if (z < e) {
+ w = w = s;
+ k = xe(z - Ba, l);
+ z = Oa(t.va[cg], l);
+ Da(l);
+ w = xe(z, l);
+ w > He ? w -= He : (z = dg[w - 1], z = (z >> 4) * d + (8 - (z & 15)), w = 1 <= z ? z : 1);
+ z = s;
+ for (z = 0; z < k; ++z) b[q + z] = b[q + z - w];
+ q += k;
+ for (h += k; h >= d;) h -= d, ++f, g != p && 0 == f % $c && g(a, f);
+ if (q < c && (t = ye(m, h, f), v != p))
+ for (; r < q;) k = b[r++], v.ea[ad * k >>> v.bb] = k
+ } else if (z < u) {
+ A = z - e;
+ for ($(v != p); r < q;) z = b[r++], v.ea[ad * z >>> v.bb] = z;
+ z = b;
+ w = q;
+ y = v;
+ $(A <= -1 >>> y.bb);
+ z[w] = y.ea[A];
+ A = !0;
+ continue a
+ }(k = !l.fa) || End
+ }
+ g != p && g(a, f);
+ l.fa || !k || l.L && q < c ? (k =
+ 0, a.a = !l.L ? W : Ie) : q == c && (a.Ob = Db);
+ return k
+ }
+
+ function bd(a) {
+ $(a);
+ a.ac = p;
+ zb(a.Db, a.hc);
+ var b = a.Yb;
+ b != p && (b.ea = p, b.ea = p);
+ $(a)
+ }
+
+ function sd() {
+ var a = M(eg);
+ if (a == p) return p;
+ a.a = L;
+ a.Wa = cd;
+ a.Ob = cd;
+ return a
+ }
+
+ function sa(a) {
+ var b = s;
+ if (a != p) {
+ bd(a.cb);
+ a.V = p;
+ a.V = p;
+ for (b = 0; b < a.Na; ++b) {
+ var c = a.nc[b];
+ c.u = p;
+ c.u = p
+ }
+ a.Na = 0;
+ a.Ub = 0;
+ a.Mc = p;
+ a.Mc = p;
+ a.Ib = p
+ }
+ }
+
+ function Ka(a, b, c, d, e) {
+ var g = 1;
+ a = [a];
+ b = [b];
+ for (var k = d.o, h = d.cb, f = p, l = p, l = 0;;) {
+ if (c)
+ for (; g && T(k, 1);) {
+ var m = a,
+ t = b,
+ q = d,
+ r = 1,
+ u = q.o,
+ g = q.nc[q.Na],
+ v = T(u, 2);
+ if (q.Ub & 1 << v) g = 0;
+ else {
+ q.Ub |=
+ 1 << v;
+ g.Qc = v;
+ g.U = m[0];
+ g.Vb = t[0];
+ g.u = [p];
+ g.b = 0;
+ ++q.Na;
+ $(q.Na <= Je);
+ switch (v) {
+ case Be:
+ case De:
+ g.n = T(u, 3) + 2;
+ r = Ka(Aa(g.U, g.n), Aa(g.Vb, g.n), 0, q, g.u);
+ break;
+ case Ee:
+ t = T(u, 8) + 1;
+ r = 16 < t ? 0 : 4 < t ? 1 : 2 < t ? 2 : 3;
+ m[0] = Aa(g.U, r);
+ g.n = r;
+ if (m = r = Ka(t, 1, 0, q, g.u))
+ if (m = t, q = g, r = s, t = 1 << (8 >>> q.n) >>> 0, u = Array(t), u == p) m = 0;
+ else {
+ var v = q.u[0],
+ C = q.b;
+ u[0] = q.u[0][q.b + 0];
+ for (r = 1; r < m; ++r) u[r] = ((((v[C + r] & 4278255360) >>> 0) + ((u[r - 1] & 4278255360) >>> 0) & 4278255360) >>> 0 | (v[C + r] & 16711935) + (u[r - 1] & 16711935) & 16711935) >>> 0;
+ for (; r < t; ++r) u[r] = 0;
+ q.u[0] = p;
+ q.b = p;
+ q.u[0] = u;
+ q.b = 0;
+ m = 1
+ }
+ r = m;
+ break;
+ case Ae:
+ break;
+ default:
+ $(0)
+ }
+ g.u = g.u[0];
+ g = r
+ }
+ }
+ if (g && T(k, 1) && (l = T(k, 4), g = 1 <= l && l <= fg, !g)) {
+ d.a = W;
+ break
+ }
+ if (g) a: {
+ var g = d,
+ A = a[0],
+ z = b[0],
+ m = l,
+ C = v = s,
+ C = g.o,
+ q = g.cb,
+ r = [p],
+ t = p,
+ u = 1;
+ if (c && T(C, 1)) {
+ var v = T(C, 3) + 2,
+ A = Aa(A, v),
+ w = Aa(z, v),
+ z = A * w;
+ if (!Ka(A, w, 0, g, r)) {
+ g.a = W;
+ zb(t, u);
+ g = 0;
+ break a
+ }
+ r = r[0];
+ q.eb = v;
+ for (v = 0; v < z; ++v) A = r[v] >>> 8 & 65535, r[v] = A, A >= u && (u = A + 1)
+ }
+ if (C.fa) zb(t, u), g = 0;
+ else if ($(65536 >= u), t = ld(u, gg), t == p) g.a = cb, zb(t, u), g = 0;
+ else {
+ for (v = 0; v < u; ++v) {
+ z = t[v].va;
+ for (C = 0; C < Yc; ++C) {
+ A = hg[C];
+ 0 == C && 0 < m && (A += 1 << m);
+ b: {
+ var y = A,
+ A = g,
+ G = z[+C],
+ B = 0,
+ w = A.o;
+ if (T(w, 1)) {
+ var F = Array(2),
+ D = Array(2),
+ L = Array(2),
+ B = T(w, 1) + 1,
+ J = T(w, 1);
+ F[0] = T(w, 0 == J ? 1 : 8);
+ D[0] = 0;
+ L[0] = B - 1;
+ 2 == B && (F[1] = T(w, 8), D[1] = 1, L[1] = B - 1);
+ c: {
+ var J = 0,
+ H = s;
+ $(G != p);
+ $(L != p);
+ $(D != p);
+ $(F != p);
+ if (nd(G, B)) {
+ for (H = 0; H < B; ++H)
+ if (D[H] != pd) {
+ if (0 > F[H] || F[H] >= y) {
+ (J = J && ma(G)) || ja(G);
+ B = J;
+ break c
+ }
+ if (!jc(G, F[H], D[H], L[H])) {
+ (J = J && ma(G)) || ja(G);
+ B = J;
+ break c
+ }
+ }(J = (J = 1) && ma(G)) || ja(G);
+ B = J
+ } else B = 0
+ }
+ } else {
+ B = s;
+ D = [];
+ F = T(w, 4) + 4;
+ if (F > Ke) {
+ A.a = W;
+ A = 0;
+ break b
+ }
+ L = Array(y);
+ if (L == p) {
+ A.a =
+ cb;
+ A = 0;
+ break b
+ }
+ for (B = 0; B < F; ++B) D[ig[B]] = T(w, 3);
+ c: {
+ var B = A,
+ O = D,
+ D = y,
+ F = L,
+ J = 0,
+ H = B.o,
+ S = s,
+ V = s,
+ Y = jg,
+ Z = M(Le);
+ if (od(Z, O, Ke)) {
+ if (T(H, 1)) {
+ if (S = 2 + 2 * T(H, 3), V = 2 + T(H, S), V > D) {
+ B.a = W;
+ ja(Z);
+ B = J;
+ break c
+ }
+ } else V = D;
+ for (S = 0; S < D;) {
+ var R = s;
+ if (0 == V--) break;
+ Da(H);
+ R = Oa(Z, H);
+ if (R < Me) F[S++] = R, 0 != R && (Y = R);
+ else {
+ var O = R == kg,
+ R = R - Me,
+ ea = lg[R],
+ R = T(H, mg[R]) + ea;
+ if (S + R > D) {
+ B.a = W;
+ ja(Z);
+ B = J;
+ break c
+ }
+ for (O = O ? Y : 0; 0 < R--;) F[S++] = O
+ }
+ }
+ J = 1;
+ ja(Z);
+ B = J
+ } else B.a = W, B = 0
+ }
+ B && (B = od(G, L, y))
+ }(B = B && !w.fa) ? A = 1: (A.a = W, A = 0)
+ }
+ if (!A) {
+ zb(t, u);
+ g = 0;
+ break a
+ }
+ }
+ }
+ q.ac = r;
+ q.hc =
+ u;
+ q.Db = t;
+ g = 1
+ }
+ }
+ if (!g) {
+ d.a = W;
+ break
+ }
+ if (0 < l) {
+ if (h.xb = 1 << l, m = h.Yb, q = 1 << l, $(m != p), $(0 < l), m.ea = U(q, 0), m.ea == p ? l = 0 : (m.bb = 32 - l, l = 1), !l) {
+ d.a = cb;
+ g = 0;
+ break
+ }
+ } else h.xb = 0;
+ l = d;
+ m = a[0];
+ q = b[0];
+ r = l.cb;
+ t = r.eb;
+ l.l = m;
+ l.v = q;
+ r.Ec = Aa(m, t);
+ r.Dc = 0 == t ? -1 : (1 << t) - 1;
+ if (c) {
+ d.Ob = Cb;
+ break
+ }
+ f = Array(a * b);
+ l = 0;
+ if (f == p) {
+ d.a = cb;
+ g = 0;
+ break
+ }
+ g = (g = lc(d, f, l, a, b, p)) && !k.fa;
+ break
+ }
+ g ? (e != p ? e[0] = f : ($(f == p), $(c)), c || bd(h)) : (bd(h), d.a == W && d.o.L && (d.a = Ie));
+ return g
+ }
+
+ function xd(a, b) {
+ var c = a.l * a.v,
+ d = c + b + b * $c;
+ $(a.l <= b);
+ a.V = Array(d);
+ a.Ha = 0;
+ if (a.V == p) return a.Xa =
+ p, a.a = cb, 0;
+ a.Xa = a.V;
+ a.vb = a.Ha + c + b;
+ return 1
+ }
+
+ function mf(a, b) {
+ var c = b - a.O,
+ d = a.V,
+ e = a.Ha + a.l * a.O;
+ if (!(0 >= c)) {
+ ze(a, c, d, e);
+ for (var e = a.N.width, c = e * c, d = a.N.ka, e = a.N.fd + e * a.O, g = a.Xa, k = a.vb, h = s, h = 0; h < c; ++h) d[e + h] = g[k + h] >>> 8 & 255;
+ a.O = a.xa = b
+ }
+ }
+
+ function ng(a, b) {
+ var c = [s],
+ d = [s],
+ e = [s];
+ if (a == p) return 0;
+ if (b == p) return a.a = ta, 0;
+ a.N = b;
+ a.a = L;
+ Rb(a.o, b.data, b.b, b.e);
+ if (!ue(a.o, c, d, e)) return a.a = W, sa(a), $(a.a != L), 0;
+ a.Ob = cd;
+ b.width = c[0];
+ b.height = d[0];
+ a.Wa = Cb;
+ return !Ka(c[0], d[0], 1, a, p) ? (sa(a), $(a.a != L), 0) : 1
+ }
+
+ function og(a) {
+ var b =
+ p,
+ c = p;
+ if (a == p) return 0;
+ b = a.N;
+ $(b != p);
+ c = b.ka;
+ $(c != p);
+ a.Ib = c.j;
+ a.Hc = c.Hc;
+ $(a.Ib != p);
+ if (!Ne(c.Qa, b, Pa)) return a.a = ta, sa(a), $(a.a != L), 0;
+ if (!xd(a, b.width) || b.I && !AllocateAndInitRescaler(a, b)) return sa(a), $(a.a != L), 0;
+ a.Wa = Db;
+ if (!lc(a, a.V, a.Ha, a.l, a.v, Yf)) return sa(a), $(a.a != L), 0;
+ c.ec = a.xa;
+ sa(a);
+ return 1
+ }
+
+ function wa(a, b) {
+ return 0 > a ? 0 : a > b ? b : a
+ }
+
+ function ab(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, C, w, z) {
+ var y, G = C - 1 >> 1,
+ F = e[g + 0] | k[h + 0] << 16,
+ B = f[l + 0] | m[t + 0] << 16;
+ if (a) {
+ var D = 3 * F + B + 131074 >> 2;
+ w(a[b + 0], D & 255, D >> 16, q, r)
+ }
+ c && (D =
+ 3 * B + F + 131074 >> 2, w(c[d + 0], D & 255, D >> 16, u, v));
+ for (y = 1; y <= G; ++y) {
+ var J = e[g + y] | k[h + y] << 16,
+ L = f[l + y] | m[t + y] << 16,
+ D = F + J + B + L + 524296,
+ O = D + 2 * (J + B) >> 3,
+ H = D + 2 * (F + L) >> 3;
+ a && (D = O + F >> 1, F = H + J >> 1, w(a[b + 2 * y - 1], D & 255, D >> 16, q, r + (2 * y - 1) * z), w(a[b + 2 * y - 0], F & 255, F >> 16, q, r + (2 * y - 0) * z));
+ c && (D = H + B >> 1, F = O + L >> 1, w(c[d + 2 * y - 1], D & 255, D >> 16, u, v + (2 * y - 1) * z), w(c[d + 2 * y + 0], F & 255, F >> 16, u, v + (2 * y + 0) * z));
+ F = J;
+ B = L
+ }
+ C & 1 || (a && (D = 3 * F + B + 131074 >> 2, w(a[b + C - 1], D & 255, D >> 16, q, r + (C - 1) * z)), c && (D = 3 * B + F + 131074 >> 2, w(c[d + C - 1], D & 255, D >> 16, u, v + (C - 1) * z)))
+ }
+
+ function pg(a,
+ b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w) {
+ ab(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w, hc, 3)
+ }
+
+ function qg(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w) {
+ ab(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w, Vc, 3)
+ }
+
+ function Oe(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w) {
+ ab(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w, pe, 4)
+ }
+
+ function Pe(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w) {
+ ab(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w, oe, 4)
+ }
+
+ function Qe(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w) {
+ ab(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w, me, 4)
+ }
+
+ function Re(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w) {
+ ab(a, b, c, d, e, g, k, h,
+ f, l, m, t, q, r, u, v, w, ne, 2)
+ }
+
+ function rg(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w) {
+ ab(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u, v, w, le, 2)
+ }
+
+ function Ca(a, b, c, d, e, g, k, h, f, l, m, t, q, r, u) {
+ var v;
+ for (v = 0; v < q - 1; v += 2) r(a[b + 0], e[g + 0], k[h + 0], f, l), r(a[b + 1], e[g + 0], k[h + 0], f, l + u), r(c[d + 0], e[g + 0], k[h + 0], m, t), r(c[d + 1], e[g + 0], k[h + 0], m, t + u), b += 2, d += 2, g++, h++, l += 2 * u, t += 2 * u;
+ v == q - 1 && (r(a[b + 0], e[g + 0], k[h + 0], f, l), r(c[d + 0], e[g + 0], k[h + 0], m, t))
+ }
+
+ function Se(a, b, c, d, e, g, k, f, n, l, m, t, q) {
+ Ca(a, b, c, d, e, g, k, f, n, l, m, t, q, pe, 4)
+ }
+
+ function Te(a, b, c, d, e, g, k, f, n, l,
+ m, t, q) {
+ Ca(a, b, c, d, e, g, k, f, n, l, m, t, q, oe, 4)
+ }
+
+ function Ue(a, b, c, d, e, g, k, f, n, l, m, t, q) {
+ Ca(a, b, c, d, e, g, k, f, n, l, m, t, q, me, 4)
+ }
+
+ function Ve(a, b, c, d, e, g, k, f, n, l, m, t, q) {
+ Ca(a, b, c, d, e, g, k, f, n, l, m, t, q, ne, 2)
+ }
+
+ function sg(a, b, c, d, e, g) {
+ for (; 0 < e--;) {
+ for (var k = a, f = b + (c ? 1 : 0), n = a, l = b + (c ? 0 : 3), m = s, m = 0; m < d; ++m) {
+ var t = n[l + 4 * m];
+ if (255 != t) {
+ var t = 32897 * t,
+ q = k,
+ r = f + 4 * m + 0;
+ k[f + 4 * m + 0] * t >>> 23;
+ q[r] = ca;
+ q = k;
+ r = f + 4 * m + 1;
+ k[f + 4 * m + 1] * t >>> 23;
+ q[r] = ca;
+ q = k;
+ r = f + 4 * m + 2;
+ k[f + 4 * m + 2] * t >>> 23;
+ q[r] = ca
+ }
+ }
+ b += g
+ }
+ }
+
+ function tg(a, b) {
+ var c = b.j.c.Va,
+ d = c.y,
+ e = c.D + a.w * c.F,
+ g = c.c,
+ k = c.B + (a.w >> 1) * c.nb,
+ f = c.S,
+ n = c.C + (a.w >> 1) * c.rb,
+ l = a.m,
+ m = a.h,
+ t = parseInt((l + 1) / 2, 10),
+ q = parseInt((m + 1) / 2, 10),
+ r;
+ for (r = 0; r < m; ++r) N(d, e + r * c.F, a.y, a.D + r * a.F, l);
+ for (r = 0; r < q; ++r) N(g, k + r * c.nb, a.c, a.B + r * a.Da, t), N(f, n + r * c.rb, a.S, a.C + r * a.Da, t);
+ return a.h
+ }
+
+ function ug(a, b) {
+ var c = b.j,
+ d = c.c.RGBA,
+ e = d.ma,
+ g = d.Sa + a.w * d.f,
+ k = a.y,
+ f = a.D,
+ n = a.c,
+ l = a.B,
+ m = a.S,
+ t = a.C,
+ c = vg[c.J],
+ q = a.m,
+ r = a.h - 1,
+ u;
+ for (u = 0; u < r; u += 2) c(k, f, k, f + a.F, n, l, m, t, e, g, e, g + d.f, q), f += 2 * a.F, l += a.Da, t += a.Da, g += 2 * d.f;
+ u == r && c(k, f, k, f, n, l, m, t, e, g, e, g, q);
+ return a.h
+ }
+
+ function wg(a, b) {
+ var c = a.h,
+ d = b.j.c.RGBA,
+ e = d.ma,
+ g = d.Sa + a.w * d.f,
+ k = V[b.j.J],
+ f = a.y,
+ n = a.D,
+ l = a.c,
+ m = a.B,
+ t = a.S,
+ q = a.C,
+ r = b.Qb,
+ u = b.Rb,
+ v = b.lc,
+ w = b.mc,
+ A = a.w,
+ z = a.w + a.h,
+ y = a.m,
+ D = parseInt((y + 1) / 2, 10);
+ 0 == A ? k(p, p, f, n, l, m, t, q, l, m, t, q, p, p, e, g, y) : (k(b.Sb, b.Tb, f, n, r, u, v, w, l, m, t, q, e, g - d.f, e, g, y), ++c);
+ for (; A + 2 < z; A += 2) r = l, u = m, v = t, w = q, m += a.Da, q += a.Da, g += 2 * d.f, n += 2 * a.F, k(f, n - a.F, f, n, r, u, v, w, l, m, t, q, e, g - d.f, e, g, y);
+ n += a.F;
+ a.k + z < a.K ? (N(b.Sb, b.Tb, f, n, 1 * y), N(b.Qb, b.Rb, l, m, 1 * D), N(b.lc, b.mc, t, q, 1 * D), c--) : z & 1 || k(f, n, p, p, l, m, t, q, l, m,
+ t, q, e, g + d.f, p, p, y);
+ return c
+ }
+
+ function xg(a, b) {
+ var c = a.p,
+ d = a.q,
+ e = b.j.c.Va,
+ g = a.m,
+ f = a.h,
+ h = e.p,
+ n = e.q + a.w * e.Fa,
+ c = a.p,
+ d = a.q,
+ l = s;
+ if (c != p)
+ for (l = 0; l < f; ++l) N(h, n, c, d, 1 * g), d += a.width, n += e.Fa;
+ else if (e.p != p)
+ for (l = 0; l < f; ++l) jd(h, n, 255, g), n += e.Fa;
+ return 0
+ }
+
+ function We(a, b, c) {
+ var d = a.w;
+ c[0] = a.h;
+ a.Bb && (0 == d ? --c[0] : (--d, b[0] -= a.width), a.k + a.w + a.h == a.K && (c[0] = a.K - a.k - d));
+ return d
+ }
+
+ function yg(a, b) {
+ var c = a.p,
+ d = [a.q];
+ if (c != p) {
+ for (var e = a.m, g = b.j.J, f = g == Ab || g == Bb, h = b.j.c.RGBA, n = [s], l = We(a, d, n), d = d[0], m = h.ma, l = h.Sa + l * h.f,
+ t = l + (f ? 0 : 3), q = 255, r = s, u = s, u = 0; u < n[0]; ++u) {
+ for (r = 0; r < e; ++r) {
+ var v = c[d + r];
+ m[t + 4 * r] = v;
+ q &= v
+ }
+ d += a.width;
+ t += h.f
+ }
+ 255 != q && F(g) && WebPApplyAlphaMultiply(m, l, f, e, n, h.f)
+ }
+ return 0
+ }
+
+ function zg(a, b) {
+ var c = a.p,
+ d = [a.q];
+ if (c != p) {
+ var e = a.m,
+ g = b.j.J,
+ f = b.j.c.RGBA,
+ h = [s],
+ n = We(a, d, h),
+ d = d[0],
+ l = f.ma,
+ n = f.Sa + n * f.f,
+ m = n + 1,
+ t = 15,
+ q = s;
+ for (j = 0; j < h[0]; ++j) {
+ for (q = 0; q < e; ++q) {
+ var r = c[d + q] >> 4;
+ l[m + 2 * q] = l[m + 2 * q] & 240 | r;
+ t &= r
+ }
+ d += a.width;
+ m += f.f
+ }
+ 15 != t && F(g) && WebPApplyAlphaMultiply4444(l, n, e, h, f.f)
+ }
+ return 0
+ }
+
+ function vd(a) {
+ var b = a.ka,
+ c = b.j.J,
+ d = c <
+ ua,
+ e = c == jb || c == Pa || c == Ab || c == kb || c == Ra || F(c);
+ b.memory = p;
+ b.$a = p;
+ b.zb = p;
+ b.ad = p;
+ if (!Ne(b.Qa, a, e ? ua : Ra)) return 0;
+ if (a.I) {
+ if (!(d ? InitRGBRescaler(a, b) : InitYUVRescaler(a, b))) return alert("memory error #1"), 0
+ } else {
+ if (d) {
+ if (b.$a = ug, a.Bb) {
+ var g = a.m + 1 >> 1,
+ f = a.m + 2 * g,
+ h, n = [];
+ for (h = 0; h < f; ++h) n.push(205);
+ n.push(0);
+ b.memory = n;
+ if (b.memory == p) return alert("memory error #2"), 0;
+ b.Sb = b.memory;
+ b.Tb = 0;
+ b.Qb = b.Sb;
+ b.Rb = b.Tb + a.m;
+ b.lc = b.Qb;
+ b.mc = b.Rb + g;
+ b.$a = wg;
+ V[Qa] = pg;
+ V[jb] = Oe;
+ V[Zc] = qg;
+ V[Pa] = Pe;
+ V[Ab] = Qe;
+ V[kb] = Re;
+ V[Fe] = rg
+ }
+ } else b.$a =
+ tg;
+ e && (F(c) && (WebPApplyAlphaMultiply = sg, V[Ob] = Oe, V[Pb] = Pe, V[Bb] = Qe, V[Qb] = Re), b.zb = c == kb || c == Qb ? zg : d ? yg : xg)
+ }
+ if (d && !Xe) {
+ for (a = 0; 256 > a; ++a) Za[a] = 89858 * (a - 128) + Jb >> ea, wb[a] = -22014 * (a - 128) + Jb, vb[a] = -45773 * (a - 128), xb[a] = 113618 * (a - 128) + Jb >> ea;
+ for (a = J; a < dd; ++a) b = 76283 * (a - 16) + Jb >> ea, ia[a - J] = wa(b, 255), Hb[a - J] = wa(b + 8 >> 4, 15);
+ Xe = 1
+ }
+ return 1
+ }
+
+ function ud(a) {
+ var b = a.ka,
+ c = a.m,
+ d = a.h;
+ $(!(a.w & 1));
+ if (0 >= c || 0 >= d) return 0;
+ c = b.$a(a, b);
+ b.ec += c;
+ b.zb && b.zb(a, b);
+ return 1
+ }
+
+ function wd(a) {
+ a = a.ka;
+ a.memory = "";
+ a.memory = p
+ }
+
+ function ed(a,
+ b) {
+ return a[b + 0] | a[b + 1] << 8 | a[b + 2] << 16
+ }
+
+ function Kb(a, b) {
+ return (ed(a, b) | a[b + 3] << 24) >>> 0
+ }
+
+ function Ye(a, b, c, d, e, g, f) {
+ var h = 0,
+ n = [0],
+ l = "VP8StatusCode",
+ m = M(Gc);
+ if (a == p || c[0] < Lb) return Z;
+ m.data = a;
+ m.b = [b[0]];
+ m.e = [c[0]];
+ m.na = [m.na];
+ a: {
+ h = m.na;
+ $(a != p);
+ $(c != p);
+ $(h != p);
+ h[0] = 0;
+ if (c[0] >= Lb && !kd(a, b[0], "RIFF", O)) {
+ if (kd(a, b[0] + 8, "WEBP", O)) {
+ l = W;
+ break a
+ }
+ var t = Kb(a, b[0] + O);
+ if (t < O + R) {
+ l = W;
+ break a
+ }
+ h[0] = t;
+ b[0] += Lb;
+ c[0] -= Lb
+ } else h[0] = 0;
+ l = L
+ }
+ m.na = m.na[0];
+ if (l != L) return l;
+ h = 0 < m.na;
+ t = [0];
+ a: if (l = R + fd, $(a != p), $(c != p), $(n != p), n[0] =
+ 0, c[0] < R) l = Z;
+ else {
+ if (!kd(a, b[0], "VP8X", O)) {
+ var q = s,
+ r = s,
+ u = E;
+ if (Kb(a, b[0] + O) != fd) {
+ l = W;
+ break a
+ }
+ if (c[0] < l) {
+ l = Z;
+ break a
+ }
+ u = Kb(a, b[0] + 8);
+ q = 1 + ed(a, b[0] + 12);
+ r = 1 + ed(a, b[0] + 15);
+ if (q * r >= Ag) {
+ l = W;
+ break a
+ }
+ t != p && (t[0] = u);
+ d != p && (d[0] = q);
+ e != p && (e[0] = r);
+ b[0] += l;
+ c[0] -= l;
+ n[0] = 1
+ }
+ l = L
+ }
+ if (l != L) return l;
+ if (!h && n[0]) return W;
+ g != p && (g[0] = !!(t[0] & Bg));
+ if (n && f == p) return L;
+ if (c < O) return Z;
+ if (h && n[0] || !h && !n[0] && !kd(a, b[0], "ALPH", O)) {
+ m.$ = [m.$];
+ m.G = [m.G];
+ m.pa = [m.pa];
+ a: {
+ var n = m.na,
+ h = m.$,
+ t = m.G,
+ l = m.pa,
+ q = x,
+ r = 0,
+ u = Mb,
+ v = O + R + fd;
+ $(a != p);
+ $(c != p);
+ q = a;
+ r = b[0];
+ u = c[0];
+ $(h != p);
+ $(l != p);
+ h[0] = p;
+ t[0] = p;
+ for (l[0] = 0;;) {
+ var w = E,
+ y = E;
+ b[0] = r;
+ c[0] = u;
+ if (u < R) {
+ l = Z;
+ break a
+ }
+ w = Kb(q, r + O);
+ y = R + w + 1 & -2;
+ v += y;
+ if (0 < n && v > n) {
+ l = W;
+ break a
+ }
+ if (u < y) {
+ l = Z;
+ break a
+ }
+ if (kd(q, r, "ALPH", O)) {
+ if (!kd(q, r, "VP8 ", O) || !kd(q, "VP8L", O)) {
+ l = L;
+ break a
+ }
+ } else h[0] = q, t[0] = r + R, l[0] = w;
+ r += y;
+ u -= y
+ }
+ l = ca
+ }
+ m.$ = m.$[0];
+ m.G = m.G[0];
+ m.pa = m.pa[0];
+ if (l != L) return l
+ }
+ m.ta = [m.ta];
+ m.ia = [m.ia];
+ a: if (n = m.na, h = m.ta, t = m.ia, r = !kd(a, b[0], "VP8 ", O), l = !kd(a, b[0], "VP8L", O), q = O + R, $(a != p), $(c != p), $(h != p), $(t != p), c[0] < R) l = Z;
+ else {
+ if (r || l) {
+ r = Kb(a, b[0] + O);
+ if (n >= q && r > n - q) {
+ l = W;
+ break a
+ }
+ h[0] = r;
+ b[0] += R;
+ c[0] -= R;
+ t[0] = l
+ } else t[0] = 1 <= c && a[b + 0] == ve, h[0] = c[0];
+ l = L
+ }
+ m.ta = m.ta[0];
+ m.ia = m.ia[0];
+ if (l != L) return l;
+ if (m.ta > Ze) return W;
+ if (m.ia) {
+ if (c[0] < $e) return Z;
+ n = b[0];
+ h = c[0];
+ d = d ? d[0] : p;
+ e = e ? e[0] : p;
+ t = g ? g[0] : p;
+ a == p || h < $e ? a = 0 : (l = [s], q = [s], r = [s], u = M(af), Rb(u, a, n, h), ue(u, l, q, r) ? (d != p && (d[0] = l[0]), e != p && (e[0] = q[0]), t != p && (t[0] = r[0]), a = 1) : a = 0)
+ } else {
+ if (c < bf) return Z;
+ n = b[0];
+ h = c[0];
+ d = d ? d[0] : p;
+ e = e ? e[0] : p;
+ !(a == p || h < bf) && 3 <= h - 3 && 157 == a[n + 3 + 0] && 1 == a[n +
+ 3 + 1] && 42 == a[n + 3 + 2] ? (h = a[n + 0] | a[n + 1] << 8 | a[n + 2] << 16, t = (a[n + 7] << 8 | a[n + 6]) & 16383, a = (a[n + 9] << 8 | a[n + 8]) & 16383, !(!(h & 1) + 0) || 3 < (h >> 1 & 7) || !(h >> 4 & 1) || h >> 5 >= m.ta ? a = 0 : (d && (d[0] = t), e && (e[0] = a), a = 1)) : a = 0
+ }
+ if (!a) return W;
+ g != p && (g[0] |= m.$ != p);
+ f != p && (f[0] = m, f[0].offset = b[0] - f[0].b, $(b[0] - f[0].b < Ze), $(f[0].offset == f[0].e - c[0]));
+ return L
+ }
+
+ function Kd(a) {
+ $(a != p);
+ return Ye(a[0].data, a[0].b, a[0].e, p, p, p, a)
+ }
+
+ function cf(a, b, c, d) {
+ var e = "VP8StatusCode",
+ g = M(Vb),
+ f = M(Gc);
+ f.data = a;
+ f.b = b;
+ f.e = c;
+ f.b = [f.b];
+ f.e = [f.e];
+ f = [f];
+ e = Kd(f);
+ if (e !=
+ L) return e;
+ f = f[0];
+ f.b = f.b[0];
+ f.e = f.e[0];
+ $(d != p);
+ td(na);
+ g.data = f.data;
+ g.b = b + f.offset;
+ g.e = f.e - f.offset;
+ g.put = ud;
+ g.Mb = vd;
+ g.Pb = wd;
+ g.ka = d;
+ if (f.ia) {
+ a = sd();
+ if (a == p) return cb;
+ ng(a, g) ? (e = zd(g.width, g.height, d.Qa, d.j), e == L && !og(a) && (e = a.a)) : e = a.a;
+ a != p && sa(a)
+ } else {
+ e = M(Cg);
+ e != p && (Gd(e), e.za = 0, e.Hb = 1);
+ a = e;
+ if (a == p) return cb;
+ a.qb = 0;
+ a.Ga = f.$;
+ a.G = f.G;
+ a.ub = f.pa;
+ Hd(a, g) ? (e = zd(g.width, g.height, d.Qa, d.j), e == L && !Mf(a, g) && (e = a.a)) : e = a.a;
+ a != p && ke(a)
+ }
+ e != L && this.Yc(d.j);
+ return e
+ }
+
+ function lb(a, b, c, d, e) {
+ var g = {
+ value: 0
+ };
+ c = {
+ value: c
+ };
+ var f = M(df),
+ h = M(gd);
+ f.j = h;
+ h.J = a;
+ var n = {
+ value: h.width
+ },
+ l = {
+ value: h.height
+ },
+ m;
+ m = c;
+ var t = M(ef);
+ hd(b, g, m, t) != L ? m = 0 : (n != p && (n.value = t.width), l != p && (l.value = t.height), m = 1);
+ if (!m) return p;
+ h.width = n.value;
+ h.height = l.value;
+ d != p && (d.value = h.width.value);
+ e != p && (e.value = h.height.value);
+ return cf(b, g.value, c.value, f) != L ? p : a < ua ? h.c.RGBA.ma : h.c.Va.y
+ }
+
+ function hd(a, b, c, d) {
+ if (d == p || a == p) return ta;
+ $(d != p);
+ d.tc = 0;
+ d.width = [d.width];
+ d.height = [d.height];
+ d.$b = [d.$b];
+ return Ye(a, b, c, d.width, d.height, d.$b, p)
+ }
+
+ function Ne(a,
+ b, c) {
+ var d = b.width,
+ e = b.height,
+ g = 0,
+ f = 0,
+ h = d,
+ n = e;
+ b.Ua = a != p && 0 < a.Ua;
+ if (b.Ua && (h = a.wc, n = a.vc, g = a.t, f = a.k, c < ua || (g &= -2, f &= -2), 0 > g || 0 > f || 0 >= h || 0 >= n || g + h > d || f + n > e)) return 0;
+ b.t = g;
+ b.k = f;
+ b.Ka = g + h;
+ b.K = f + n;
+ b.m = h;
+ b.h = n;
+ b.I = a != p && 0 < a.I;
+ if (b.I) {
+ if (0 >= a.Ba || 0 >= a.Aa) return 0;
+ b.Ba = a.Ba;
+ b.Aa = a.Aa
+ }
+ b.Za = a && a.Za;
+ b.Bb = a == p || !a.ed;
+ b.I && (b.Za = b.Ba < 3 * d / 4 && b.Aa < 3 * e / 4, b.Bb = 0);
+ return 1
+ }
+ var na = 512,
+ Qa = 0,
+ jb = 1,
+ Zc = 2,
+ Pa = 3,
+ Ab = 4,
+ kb = 5,
+ Fe = 6,
+ Ob = 7,
+ Pb = 8,
+ Bb = 9,
+ Qb = 10,
+ ua = 11,
+ Ra = 12,
+ Cc = 13;
+ this.WEBP_CSP_MODE = this.Cd = {
+ nd: 0,
+ od: 1,
+ kd: 2,
+ ld: 3,
+ jd: 4,
+ pd: 5,
+ qd: 6,
+ rd: 7,
+ sd: 8,
+ md: 9
+ };
+ var gd = {
+ J: "WEBP_CSP_MODE",
+ width: s,
+ height: s,
+ Fc: s,
+ c: {
+ RGBA: {
+ ma: x,
+ Sa: 0,
+ f: s,
+ size: Mb
+ },
+ Va: {
+ y: x,
+ c: x,
+ S: x,
+ p: x,
+ D: x,
+ B: x,
+ C: x,
+ q: x,
+ F: s,
+ nb: s,
+ rb: s,
+ Fa: s,
+ Wc: Mb,
+ Rc: Mb,
+ Uc: Mb,
+ Wb: Mb
+ }
+ },
+ Ic: U(4, E),
+ Jb: p,
+ jc: x
+ },
+ L = 0,
+ cb = 1,
+ ta = 2,
+ W = 3,
+ Hf = 4,
+ Ie = 5,
+ Nf = 6,
+ Z = 7;
+ this.VP8StatusCode = this.td = {
+ xd: 0,
+ yd: 1,
+ vd: 2,
+ ud: 3,
+ Ad: 4,
+ zd: 5,
+ Bd: 6,
+ wd: 7
+ };
+ var ef = {
+ width: {
+ value: s
+ },
+ height: {
+ value: s
+ },
+ $b: {
+ value: s
+ },
+ tc: s,
+ Yd: s,
+ rotate: s,
+ be: s,
+ Ic: U(3, E)
+ };
+ this.WebPGetFeatures = this.Md = function(a, b, c) {
+ var d = "VP8StatusCode";
+ na >>> 8 != na >>> 8 || c == p ? a = ta : (b = [b], d = hd(a, [0], b, c), a = d == Z ? W : d);
+ return a
+ };
+ var ff = {
+ Za: s,
+ ed: s,
+ Ua: s,
+ t: s,
+ k: s,
+ wc: s,
+ vc: s,
+ I: s,
+ Ba: s,
+ Aa: s,
+ ae: s,
+ Td: s,
+ Xd: s,
+ Ic: U(6, E)
+ };
+ this.WebPDecoderConfig = this.Kd = {
+ input: M(ef),
+ j: M(gd),
+ options: M(ff)
+ };
+ this.WebPInitDecoderConfig = this.Nd = function(a) {
+ na >>> 8 != na >>> 8 || a == p ? a = 0 : (a = a.input, $(a != p), a.tc = 0, a = 1);
+ return a
+ };
+ var Vb = {
+ width: s,
+ height: s,
+ w: s,
+ m: s,
+ h: s,
+ y: x,
+ c: x,
+ S: x,
+ D: 0,
+ B: 0,
+ C: 0,
+ F: s,
+ Da: s,
+ ka: 0,
+ put: 0,
+ Mb: 0,
+ Pb: 0,
+ Bb: s,
+ e: Mb,
+ data: x,
+ b: 0,
+ Za: s,
+ Ua: s,
+ t: s,
+ Ka: s,
+ k: s,
+ K: s,
+ I: s,
+ Ba: s,
+ Aa: s,
+ p: x,
+ q: 0
+ },
+ df = {
+ j: M(gd),
+ Sb: x,
+ Qb: x,
+ lc: x,
+ Tb: 0,
+ Rb: 0,
+ mc: 0,
+ ec: s,
+ Qa: M(ff),
+ memory: 0,
+ $a: "(OutputFunc)",
+ zb: "(OutputFunc)",
+ ad: "(OutputRowFunc)"
+ },
+ Gc = {
+ data: x,
+ b: x,
+ e: Mb,
+ offset: Mb,
+ $: p,
+ G: x,
+ pa: Mb,
+ ta: Mb,
+ na: Mb,
+ ia: s
+ },
+ Fc = {
+ qa: x,
+ Ia: p,
+ Pd: x,
+ Ab: s,
+ la: E,
+ Z: E,
+ gc: s
+ },
+ af = {
+ T: bb,
+ qa: x,
+ Ia: x,
+ ya: Mb,
+ Q: Mb,
+ g: s,
+ L: s,
+ fa: s
+ },
+ gf = 25,
+ hf = [0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215],
+ bf = 10,
+ ve = 47,
+ we = 14,
+ Wf = 3,
+ $e = 5,
+ fg = 11,
+ Yc = 5,
+ qe = 4278190080,
+ jg = 8,
+ Tb = 15,
+ Ba = 256,
+ Ge = 24,
+ Je = 4,
+ Be = 0,
+ De = 1,
+ Ae = 2,
+ Ee = 3,
+ Ub = 1,
+ kc = 0,
+ kf = 1,
+ rd = 1,
+ O = 4,
+ R = 8,
+ Lb = 12,
+ fd = 10,
+ Bg = 16,
+ Ag = 1 * Math.pow(2, 32),
+ Ze = -1 - R - 1 >>> 0,
+ jf = {
+ kc: s,
+ s: s
+ },
+ Le = {
+ Y: "HuffmanTreeNode*",
+ gb: s,
+ Pa: s
+ },
+ pd = -1,
+ Dg = {
+ ea: E,
+ bb: s
+ },
+ ad = 506832829,
+ $b = 0,
+ ge = $b,
+ fe = 2,
+ ee = 3,
+ de = 1,
+ Ef = 4,
+ Df = 5,
+ Cf = 6,
+ Ld = 3,
+ xa = 4,
+ Hc = 4,
+ Gf = 4,
+ Md = 4,
+ Nd = 8,
+ Kc = 3,
+ Lc = 11,
+ f = 32,
+ Pf = 17 * f + 9 * f,
+ Tc = 1 * f + 8,
+ Uc = Tc + 16 * f + f,
+ he = Uc + 16,
+ Id = {
+ fb: x,
+ Jc: x,
+ Nc: x,
+ Ra: E
+ },
+ Jd = {
+ l: 0,
+ v: 0,
+ gd: x,
+ hd: x,
+ uc: x,
+ $c: x
+ },
+ Eg = {
+ pb: s,
+ ob: s,
+ tb: s,
+ Kb: U(xa, 0),
+ Cb: U(xa, 0)
+ },
+ Fg = {
+ Ta: U(Ld, x),
+ z: md([Md, Nd, Kc, Lc], x)
+ },
+ Gg = {
+ Oc: s,
+ Fb: s,
+ kb: s,
+ oc: s,
+ Lc: U(Hc, s),
+ Gc: U(Hc, s)
+ },
+ Oc = {
+ zc: s,
+ yc: s,
+ ab: s
+ },
+ Qd = {
+ X: s,
+ ua: s,
+ Nb: s
+ },
+ id = U(2, s),
+ Hg = {
+ sc: M(id),
+ sb: M(id),
+ qc: M(id)
+ },
+ Ig = {
+ ha: s,
+ d: s,
+ W: s,
+ M: Oc,
+ N: Vb
+ },
+ Cg = {
+ a: "VP8StatusCode",
+ za: s,
+ xc: 0,
+ o: M(Fc),
+ Ac: M(Id),
+ P: M(Jd),
+ ga: M(Gg),
+ Ca: M(Eg),
+ rc: "WebPWorker",
+ qb: s,
+ Ja: s,
+ jb: s,
+ oa: Ig,
+ Ma: s,
+ hb: s,
+ lb: s,
+ mb: s,
+ wb: s,
+ Ya: s,
+ Hb: s,
+ ic: ld(8, Fc),
+ Zc: E,
+ yb: ld(xa, Hg),
+ R: M(Fg),
+ pc: s,
+ Pc: x,
+ dc: x,
+ cc: U(4, x),
+ Xc: x,
+ Sc: x,
+ Vc: x,
+ La: M(Qd),
+ M: M(Oc),
+ Ea: x,
+ z: 0,
+ ca: x,
+ aa: x,
+ ra: x,
+ da: s,
+ ba: s,
+ sa: s,
+ H: s,
+ r: s,
+ ib: 0,
+ Gb: Mb,
+ i: s,
+ d: s,
+ wa: x,
+ Eb: U(16, x),
+ Vd: 0,
+ Tc: x,
+ Lb: x,
+ ja: E,
+ Oa: E,
+ A: s,
+ W: s,
+ Zb: U(xa, x),
+ Ga: p,
+ G: 0,
+ ub: Mb,
+ Xb: x,
+ Od: 0,
+ cd: s,
+ dd: x,
+ Wd: 0,
+ fc: Mb
+ },
+ Db = 0,
+ Cb = 1,
+ cd = 2,
+ Jg = {
+ Qc: "VP8LImageTransformType",
+ n: s,
+ U: s,
+ Vb: s,
+ u: E,
+ b: E
+ },
+ gg = {
+ va: ld(Yc, Le)
+ },
+ Kg = {
+ xb: s,
+ Yb: M(Dg),
+ Dc: s,
+ eb: s,
+ Ec: s,
+ ac: E,
+ bd: E,
+ hc: s,
+ Db: "HTreeGroup"
+ },
+ eg = {
+ a: "VP8StatusCode",
+ Wa: "VP8LDecodeState",
+ Ob: "VP8LDecodeState",
+ N: "VP8Io",
+ Ib: "WebPDecBuffer",
+ Hc: "WebPDecBuffer",
+ V: E,
+ Ha: E,
+ Xa: E,
+ vb: E,
+ o: M(af),
+ l: s,
+ v: s,
+ O: s,
+ xa: s,
+ cb: M(Kg),
+ Na: s,
+ nc: ld(Je, Jg),
+ Ub: E,
+ Mc: x,
+ $d: x,
+ Zd: "*WebPRescaler"
+ },
+ lf = 4,
+ nf = [p, function(a, b, c, d, e, g, f, h) {
+ var n = s,
+ l = h;
+ $(a != p);
+ $(f != p);
+ $(0 < c);
+ $(0 < d);
+ $(0 < e);
+ $(g >= c * e);
+ for (n = 0; n < d; ++n) 0 == n ? N(f, h, a, b, e) : Ea(a, b, f, l - g, f, h, e), Ea(a, b + e, f, l, f, h + e, e * (c - 1)),
+ l += g, b += g, h += g
+ }, function(a, b, c, d, e, f, k, h) {
+ var n = s,
+ l = h;
+ $(a != p);
+ $(k != p);
+ $(0 < c);
+ $(0 < d);
+ $(0 < e);
+ $(f >= c * e);
+ N(k, h, a, b, e);
+ Ea(a, b + e, k, l, k, h + e, e * (c - 1));
+ for (n = 1; n < d; ++n) b += f, h += f, Ea(a, b, k, l, k, h, e * c), l += f
+ }, function(a, b, c, d, e, f, k, h) {
+ var n = h,
+ l = s;
+ $(a != p);
+ $(k != p);
+ $(0 < c);
+ $(0 < d);
+ $(0 < e);
+ $(f >= c * e);
+ N(k, h, a, b, e);
+ Ea(a, b + e, k, n, k, h + e, e * (c - 1));
+ for (l = 1; l < d; ++l) {
+ var m = s,
+ n = n + f;
+ b += f;
+ h += f;
+ Ea(a, b, k, n - f, k, h, e);
+ for (m = e; m < c * e; ++m) {
+ var t = k[n + m - e] + k[n + m - f] - k[n + m - f - e];
+ k[h + m] = a[b + m] + (0 > t ? 0 : 255 < t ? 255 : t) & 255
+ }
+ }
+ }],
+ yd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4,
+ 2, 1, 1
+ ];
+ this.WebPFreeDecBuffer = this.Yc = function(a) {
+ a != p && (a.Fc || (a.Jb = ""), a.jc = 0, a.Jb = a.jc = p)
+ };
+ var va = U(511, x),
+ tc = U(511, x),
+ sc = U(2041, 0),
+ oc = U(225, 0),
+ oa = U(766, x),
+ Rd = 0,
+ Xb = 85627,
+ Wb = 35468,
+ Uf = [function(a, b) {
+ var c = 4,
+ d;
+ for (d = 0; 4 > d; ++d) c += a[b + d - f] + a[b - 1 + d * f];
+ c >>= 3;
+ for (d = 0; 4 > d; ++d) jd(a, b + d * f, c, 4)
+ }, function(a, b) {
+ Dc(a, b, 4)
+ }, function(a, b) {
+ var c = b - f,
+ d = [];
+ d.push(y(a[c - 1], a[c + 0], a[c + 1]));
+ d.push(y(a[c + 0], a[c + 1], a[c + 2]));
+ d.push(y(a[c + 1], a[c + 2], a[c + 3]));
+ d.push(y(a[c + 2], a[c + 3], a[c + 4]));
+ for (c = 0; 4 > c; ++c) N(a, b + c * f, d, 0, 4)
+ },
+ function(a, b) {
+ var c = a[b - 1],
+ d = a[b - 1 + f],
+ e = a[b - 1 + 2 * f],
+ g = a[b - 1 + 3 * f];
+ a[b + 0 + 0 * f] = a[b + 1 + 0 * f] = a[b + 2 + 0 * f] = a[b + 3 + 0 * f] = y(a[b - 1 - f], c, d);
+ a[b + 0 + 1 * f] = a[b + 1 + 1 * f] = a[b + 2 + 1 * f] = a[b + 3 + 1 * f] = y(c, d, e);
+ a[b + 0 + 2 * f] = a[b + 1 + 2 * f] = a[b + 2 + 2 * f] = a[b + 3 + 2 * f] = y(d, e, g);
+ a[b + 0 + 3 * f] = a[b + 1 + 3 * f] = a[b + 2 + 3 * f] = a[b + 3 + 3 * f] = y(e, g, g)
+ },
+ function(a, b) {
+ var c = a[b - 1 + 0 * f],
+ d = a[b - 1 + 1 * f],
+ e = a[b - 1 + 2 * f],
+ g = a[b - 1 - f],
+ k = a[b + 0 - f],
+ h = a[b + 1 - f],
+ n = a[b + 2 - f],
+ l = a[b + 3 - f];
+ a[b + 0 + 3 * f] = y(d, e, a[b - 1 + 3 * f]);
+ a[b + 0 + 2 * f] = a[b + 1 + 3 * f] = y(c, d, e);
+ a[b + 0 + 1 * f] = a[b + 1 + 2 * f] = a[b + 2 + 3 * f] = y(g, c, d);
+ a[b +
+ 0 + 0 * f] = a[b + 1 + 1 * f] = a[b + 2 + 2 * f] = a[b + 3 + 3 * f] = y(k, g, c);
+ a[b + 1 + 0 * f] = a[b + 2 + 1 * f] = a[b + 3 + 2 * f] = y(h, k, g);
+ a[b + 2 + 0 * f] = a[b + 3 + 1 * f] = y(n, h, k);
+ a[b + 3 + 0 * f] = y(l, n, h)
+ },
+ function(a, b) {
+ var c = a[b - 1 + 0 * f],
+ d = a[b - 1 + 1 * f],
+ e = a[b - 1 + 2 * f],
+ g = a[b - 1 - f],
+ k = a[b + 0 - f],
+ h = a[b + 1 - f],
+ n = a[b + 2 - f],
+ l = a[b + 3 - f];
+ a[b + 0 + 0 * f] = a[b + 1 + 2 * f] = g + k + 1 >> 1;
+ a[b + 1 + 0 * f] = a[b + 2 + 2 * f] = k + h + 1 >> 1;
+ a[b + 2 + 0 * f] = a[b + 3 + 2 * f] = h + n + 1 >> 1;
+ a[b + 3 + 0 * f] = n + l + 1 >> 1;
+ a[b + 0 + 3 * f] = y(e, d, c);
+ a[b + 0 + 2 * f] = y(d, c, g);
+ a[b + 0 + 1 * f] = a[b + 1 + 3 * f] = y(c, g, k);
+ a[b + 1 + 1 * f] = a[b + 2 + 3 * f] = y(g, k, h);
+ a[b + 2 + 1 * f] = a[b + 3 + 3 * f] = y(k, h, n);
+ a[b + 3 + 1 * f] = y(h, n, l)
+ },
+ function(a, b) {
+ var c = a[b + 1 - f],
+ d = a[b + 2 - f],
+ e = a[b + 3 - f],
+ g = a[b + 4 - f],
+ k = a[b + 5 - f],
+ h = a[b + 6 - f],
+ n = a[b + 7 - f];
+ a[b + 0 + 0 * f] = y(a[b + 0 - f], c, d);
+ a[b + 1 + 0 * f] = a[b + 0 + 1 * f] = y(c, d, e);
+ a[b + 2 + 0 * f] = a[b + 1 + 1 * f] = a[b + 0 + 2 * f] = y(d, e, g);
+ a[b + 3 + 0 * f] = a[b + 2 + 1 * f] = a[b + 1 + 2 * f] = a[b + 0 + 3 * f] = y(e, g, k);
+ a[b + 3 + 1 * f] = a[b + 2 + 2 * f] = a[b + 1 + 3 * f] = y(g, k, h);
+ a[b + 3 + 2 * f] = a[b + 2 + 3 * f] = y(k, h, n);
+ a[b + 3 + 3 * f] = y(h, n, n)
+ },
+ function(a, b) {
+ var c = a[b + 0 - f],
+ d = a[b + 1 - f],
+ e = a[b + 2 - f],
+ g = a[b + 3 - f],
+ k = a[b + 4 - f],
+ h = a[b + 5 - f],
+ n = a[b + 6 - f],
+ l = a[b + 7 - f];
+ a[b + 0 + 0 * f] = c + d + 1 >> 1;
+ a[b + 1 + 0 * f] = a[b +
+ 0 + 2 * f] = d + e + 1 >> 1;
+ a[b + 2 + 0 * f] = a[b + 1 + 2 * f] = e + g + 1 >> 1;
+ a[b + 3 + 0 * f] = a[b + 2 + 2 * f] = g + k + 1 >> 1;
+ a[b + 0 + 1 * f] = y(c, d, e);
+ a[b + 1 + 1 * f] = a[b + 0 + 3 * f] = y(d, e, g);
+ a[b + 2 + 1 * f] = a[b + 1 + 3 * f] = y(e, g, k);
+ a[b + 3 + 1 * f] = a[b + 2 + 3 * f] = y(g, k, h);
+ a[b + 3 + 2 * f] = y(k, h, n);
+ a[b + 3 + 3 * f] = y(h, n, l)
+ },
+ function(a, b) {
+ var c = a[b - 1 + 0 * f],
+ d = a[b - 1 + 1 * f],
+ e = a[b - 1 + 2 * f],
+ g = a[b - 1 + 3 * f],
+ k = a[b - 1 - f],
+ h = a[b + 0 - f],
+ n = a[b + 1 - f],
+ l = a[b + 2 - f];
+ a[b + 0 + 0 * f] = a[b + 2 + 1 * f] = c + k + 1 >> 1;
+ a[b + 0 + 1 * f] = a[b + 2 + 2 * f] = d + c + 1 >> 1;
+ a[b + 0 + 2 * f] = a[b + 2 + 3 * f] = e + d + 1 >> 1;
+ a[b + 0 + 3 * f] = g + e + 1 >> 1;
+ a[b + 3 + 0 * f] = y(h, n, l);
+ a[b + 2 + 0 * f] = y(k, h, n);
+ a[b +
+ 1 + 0 * f] = a[b + 3 + 1 * f] = y(c, k, h);
+ a[b + 1 + 1 * f] = a[b + 3 + 2 * f] = y(d, c, k);
+ a[b + 1 + 2 * f] = a[b + 3 + 3 * f] = y(e, d, c);
+ a[b + 1 + 3 * f] = y(g, e, d)
+ },
+ function(a, b) {
+ var c = a[b - 1 + 0 * f],
+ d = a[b - 1 + 1 * f],
+ e = a[b - 1 + 2 * f],
+ g = a[b - 1 + 3 * f];
+ a[b + 0 + 0 * f] = c + d + 1 >> 1;
+ a[b + 2 + 0 * f] = a[b + 0 + 1 * f] = d + e + 1 >> 1;
+ a[b + 2 + 1 * f] = a[b + 0 + 2 * f] = e + g + 1 >> 1;
+ a[b + 1 + 0 * f] = y(c, d, e);
+ a[b + 3 + 0 * f] = a[b + 1 + 1 * f] = y(d, e, g);
+ a[b + 3 + 1 * f] = a[b + 1 + 2 * f] = y(e, g, g);
+ a[b + 3 + 2 * f] = a[b + 2 + 2 * f] = a[b + 0 + 3 * f] = a[b + 1 + 3 * f] = a[b + 2 + 3 * f] = a[b + 3 + 3 * f] = g
+ }
+ ],
+ Vf = [function(a, b) {
+ var c = 16,
+ d;
+ for (d = 0; 16 > d; ++d) c += a[b - 1 + d * f] + a[b + d - f];
+ Yb(c >> 5, a, b)
+ }, function(a,
+ b) {
+ Dc(a, b, 16)
+ }, function(a, b) {
+ var c;
+ for (c = 0; 16 > c; ++c) N(a, b + c * f, a, b - f, 16)
+ }, function(a, b) {
+ var c;
+ for (c = 16; 0 < c; --c) jd(a, b + 0, a[b - 1], 16), b += f
+ }, function(a, b) {
+ var c = 8,
+ d;
+ for (d = 0; 16 > d; ++d) c += a[b - 1 + d * f];
+ Yb(c >> 4, a, b)
+ }, function(a, b) {
+ var c = 8,
+ d;
+ for (d = 0; 16 > d; ++d) c += a[b + d - f];
+ Yb(c >> 4, a, b)
+ }, function(a, b) {
+ Yb(128, a, b)
+ }],
+ je = [function(a, b) {
+ var c = 8,
+ d;
+ for (d = 0; 8 > d; ++d) c += a[b + d - f] + a[b - 1 + d * f];
+ Zb(1 * (c >> 4), a, b)
+ }, function(a, b) {
+ Dc(a, b, 8)
+ }, function(a, b) {
+ var c;
+ for (c = 0; 8 > c; ++c) N(a, b + c * f, a, b - f, 8)
+ }, function(a, b) {
+ var c;
+ for (c = 0; 8 > c; ++c) jd(a,
+ b + 0, a[b - 1], 8), b += f
+ }, function(a, b) {
+ var c = 4,
+ d;
+ for (d = 0; 8 > d; ++d) c += a[b - 1 + d * f];
+ Zb(1 * (c >> 3), a, b)
+ }, function(a, b) {
+ var c = 4,
+ d;
+ for (d = 0; 8 > d; ++d) c += a[b + d - f];
+ Zb(1 * (c >> 3), a, b)
+ }, function(a, b) {
+ Zb(128, a, b)
+ }],
+ mc, Pc, Qc, Rc, Sd, Td, Ud, Vd, Wd, Xd, Yd, Zd, $d, ae, be, ce, Pd = 31,
+ uc = [0, 2, 8],
+ Od = 3,
+ Of = 1,
+ ie = [0 + 0 * f, 4 + 0 * f, 8 + 0 * f, 12 + 0 * f, 0 + 4 * f, 4 + 4 * f, 8 + 4 * f, 12 + 4 * f, 0 + 8 * f, 4 + 8 * f, 8 + 8 * f, 12 + 8 * f, 0 + 12 * f, 4 + 12 * f, 8 + 12 * f, 12 + 12 * f],
+ Ic = [4, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 17, 18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 93, 95, 96, 98, 100, 101, 102, 104, 106, 108, 110, 112, 114, 116, 118, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 143, 145, 148, 151, 154, 157
+ ],
+ Jc = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96,
+ 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 119, 122, 125, 128, 131, 134, 137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, 170, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 234, 239, 245, 249, 254, 259, 264, 269, 274, 279, 284
+ ],
+ Sf = [-$b, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],
+ Ff = [
+ [
+ [
+ [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],
+ [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],
+ [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]
+ ],
+ [
+ [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],
+ [189, 129, 242, 255, 227, 213, 255, 219, 128, 128,
+ 128
+ ],
+ [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]
+ ],
+ [
+ [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],
+ [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],
+ [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]
+ ],
+ [
+ [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],
+ [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],
+ [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]
+ ],
+ [
+ [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],
+ [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],
+ [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]
+ ],
+ [
+ [1, 204, 254, 255, 245, 255, 128, 128, 128, 128,
+ 128
+ ],
+ [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],
+ [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]
+ ],
+ [
+ [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],
+ [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],
+ [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]
+ ],
+ [
+ [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],
+ [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],
+ [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]
+ ]
+ ],
+ [
+ [
+ [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],
+ [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],
+ [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]
+ ],
+ [
+ [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],
+ [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],
+ [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]
+ ],
+ [
+ [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],
+ [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],
+ [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]
+ ],
+ [
+ [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],
+ [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],
+ [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]
+ ],
+ [
+ [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],
+ [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],
+ [22,
+ 100, 174, 245, 186, 161, 255, 199, 128, 128, 128
+ ]
+ ],
+ [
+ [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],
+ [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],
+ [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]
+ ],
+ [
+ [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],
+ [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],
+ [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]
+ ],
+ [
+ [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],
+ [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],
+ [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]
+ ]
+ ],
+ [
+ [
+ [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],
+ [175, 13,
+ 224, 243, 193, 185, 249, 198, 255, 255, 128
+ ],
+ [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]
+ ],
+ [
+ [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],
+ [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],
+ [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]
+ ],
+ [
+ [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],
+ [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],
+ [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]
+ ],
+ [
+ [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],
+ [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],
+ [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]
+ ],
+ [
+ [1, 16, 248, 255,
+ 255, 128, 128, 128, 128, 128, 128
+ ],
+ [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],
+ [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]
+ ],
+ [
+ [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],
+ [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],
+ [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]
+ ],
+ [
+ [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],
+ [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],
+ [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]
+ ],
+ [
+ [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],
+ [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],
+ [128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128
+ ]
+ ]
+ ],
+ [
+ [
+ [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],
+ [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],
+ [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]
+ ],
+ [
+ [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],
+ [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],
+ [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]
+ ],
+ [
+ [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],
+ [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],
+ [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]
+ ],
+ [
+ [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],
+ [149, 150, 226, 252, 216,
+ 205, 255, 171, 128, 128, 128
+ ],
+ [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]
+ ],
+ [
+ [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],
+ [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],
+ [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]
+ ],
+ [
+ [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],
+ [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],
+ [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]
+ ],
+ [
+ [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],
+ [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],
+ [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]
+ ],
+ [
+ [1, 1, 255, 128, 128, 128, 128,
+ 128, 128, 128, 128
+ ],
+ [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],
+ [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]
+ ]
+ ]
+ ],
+ Rf = [
+ [
+ [231, 120, 48, 89, 115, 113, 120, 152, 112],
+ [152, 179, 64, 126, 170, 118, 46, 70, 95],
+ [175, 69, 143, 80, 85, 82, 72, 155, 103],
+ [56, 58, 10, 171, 218, 189, 17, 13, 152],
+ [114, 26, 17, 163, 44, 195, 21, 10, 173],
+ [121, 24, 80, 195, 26, 62, 44, 64, 85],
+ [144, 71, 10, 38, 171, 213, 144, 34, 26],
+ [170, 46, 55, 19, 136, 160, 33, 206, 71],
+ [63, 20, 8, 114, 114, 208, 12, 9, 226],
+ [81, 40, 11, 96, 182, 84, 29, 16, 36]
+ ],
+ [
+ [134, 183, 89, 137, 98, 101, 106, 165, 148],
+ [72, 187, 100, 130, 157, 111,
+ 32, 75, 80
+ ],
+ [66, 102, 167, 99, 74, 62, 40, 234, 128],
+ [41, 53, 9, 178, 241, 141, 26, 8, 107],
+ [74, 43, 26, 146, 73, 166, 49, 23, 157],
+ [65, 38, 105, 160, 51, 52, 31, 115, 128],
+ [104, 79, 12, 27, 217, 255, 87, 17, 7],
+ [87, 68, 71, 44, 114, 51, 15, 186, 23],
+ [47, 41, 14, 110, 182, 183, 21, 17, 194],
+ [66, 45, 25, 102, 197, 189, 23, 18, 22]
+ ],
+ [
+ [88, 88, 147, 150, 42, 46, 45, 196, 205],
+ [43, 97, 183, 117, 85, 38, 35, 179, 61],
+ [39, 53, 200, 87, 26, 21, 43, 232, 171],
+ [56, 34, 51, 104, 114, 102, 29, 93, 77],
+ [39, 28, 85, 171, 58, 165, 90, 98, 64],
+ [34, 22, 116, 206, 23, 34, 43, 166, 73],
+ [107, 54, 32, 26, 51, 1, 81, 43, 31],
+ [68, 25, 106, 22,
+ 64, 171, 36, 225, 114
+ ],
+ [34, 19, 21, 102, 132, 188, 16, 76, 124],
+ [62, 18, 78, 95, 85, 57, 50, 48, 51]
+ ],
+ [
+ [193, 101, 35, 159, 215, 111, 89, 46, 111],
+ [60, 148, 31, 172, 219, 228, 21, 18, 111],
+ [112, 113, 77, 85, 179, 255, 38, 120, 114],
+ [40, 42, 1, 196, 245, 209, 10, 25, 109],
+ [88, 43, 29, 140, 166, 213, 37, 43, 154],
+ [61, 63, 30, 155, 67, 45, 68, 1, 209],
+ [100, 80, 8, 43, 154, 1, 51, 26, 71],
+ [142, 78, 78, 16, 255, 128, 34, 197, 171],
+ [41, 40, 5, 102, 211, 183, 4, 1, 221],
+ [51, 50, 17, 168, 209, 192, 23, 25, 82]
+ ],
+ [
+ [138, 31, 36, 171, 27, 166, 38, 44, 229],
+ [67, 87, 58, 169, 82, 115, 26, 59, 179],
+ [63, 59, 90, 180, 59, 166, 93, 73,
+ 154
+ ],
+ [40, 40, 21, 116, 143, 209, 34, 39, 175],
+ [47, 15, 16, 183, 34, 223, 49, 45, 183],
+ [46, 17, 33, 183, 6, 98, 15, 32, 183],
+ [57, 46, 22, 24, 128, 1, 54, 17, 37],
+ [65, 32, 73, 115, 28, 128, 23, 128, 205],
+ [40, 3, 9, 115, 51, 192, 18, 6, 223],
+ [87, 37, 9, 115, 59, 77, 64, 21, 47]
+ ],
+ [
+ [104, 55, 44, 218, 9, 54, 53, 130, 226],
+ [64, 90, 70, 205, 40, 41, 23, 26, 57],
+ [54, 57, 112, 184, 5, 41, 38, 166, 213],
+ [30, 34, 26, 133, 152, 116, 10, 32, 134],
+ [39, 19, 53, 221, 26, 114, 32, 73, 255],
+ [31, 9, 65, 234, 2, 15, 1, 118, 73],
+ [75, 32, 12, 51, 192, 255, 160, 43, 51],
+ [88, 31, 35, 67, 102, 85, 55, 186, 85],
+ [56, 21, 23, 111, 59, 205, 45, 37, 192],
+ [55, 38, 70, 124, 73, 102, 1, 34, 98]
+ ],
+ [
+ [125, 98, 42, 88, 104, 85, 117, 175, 82],
+ [95, 84, 53, 89, 128, 100, 113, 101, 45],
+ [75, 79, 123, 47, 51, 128, 81, 171, 1],
+ [57, 17, 5, 71, 102, 57, 53, 41, 49],
+ [38, 33, 13, 121, 57, 73, 26, 1, 85],
+ [41, 10, 67, 138, 77, 110, 90, 47, 114],
+ [115, 21, 2, 10, 102, 255, 166, 23, 6],
+ [101, 29, 16, 10, 85, 128, 101, 196, 26],
+ [57, 18, 10, 102, 102, 213, 34, 20, 43],
+ [117, 20, 15, 36, 163, 128, 68, 1, 26]
+ ],
+ [
+ [102, 61, 71, 37, 34, 53, 31, 243, 192],
+ [69, 60, 71, 38, 73, 119, 28, 222, 37],
+ [68, 45, 128, 34, 1, 47, 11, 245, 171],
+ [62, 17, 19, 70, 146, 85, 55, 62, 70],
+ [37, 43, 37, 154, 100, 163, 85, 160,
+ 1
+ ],
+ [63, 9, 92, 136, 28, 64, 32, 201, 85],
+ [75, 15, 9, 9, 64, 255, 184, 119, 16],
+ [86, 6, 28, 5, 64, 255, 25, 248, 1],
+ [56, 8, 17, 132, 137, 255, 55, 116, 128],
+ [58, 15, 20, 82, 135, 57, 26, 121, 40]
+ ],
+ [
+ [164, 50, 31, 137, 154, 133, 25, 35, 218],
+ [51, 103, 44, 131, 131, 123, 31, 6, 158],
+ [86, 40, 64, 135, 148, 224, 45, 183, 128],
+ [22, 26, 17, 131, 240, 154, 14, 1, 209],
+ [45, 16, 21, 91, 64, 222, 7, 1, 197],
+ [56, 21, 39, 155, 60, 138, 23, 102, 213],
+ [83, 12, 13, 54, 192, 255, 68, 47, 28],
+ [85, 26, 85, 85, 128, 128, 32, 146, 171],
+ [18, 11, 7, 63, 144, 171, 4, 4, 246],
+ [35, 27, 10, 146, 174, 171, 12, 26, 128]
+ ],
+ [
+ [190, 80, 35, 99, 180, 80,
+ 126, 54, 45
+ ],
+ [85, 126, 47, 87, 176, 51, 41, 20, 32],
+ [101, 75, 128, 139, 118, 146, 116, 128, 85],
+ [56, 41, 15, 176, 236, 85, 37, 9, 62],
+ [71, 30, 17, 119, 118, 255, 17, 18, 138],
+ [101, 38, 60, 138, 55, 70, 43, 26, 142],
+ [146, 36, 19, 30, 171, 255, 97, 27, 20],
+ [138, 45, 61, 62, 219, 1, 81, 188, 64],
+ [32, 41, 20, 117, 151, 142, 20, 21, 163],
+ [112, 19, 12, 61, 195, 128, 48, 4, 24]
+ ]
+ ],
+ If = [
+ [
+ [
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [223, 241,
+ 252, 255, 255, 255, 255, 255, 255, 255, 255
+ ],
+ [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],
+ [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],
+ [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],
+ [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ]
+ ],
+ [
+ [
+ [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [225, 252, 241, 253, 255, 255, 254, 255,
+ 255, 255, 255
+ ],
+ [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]
+ ],
+ [
+ [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 253, 254, 255, 255,
+ 255, 255, 255, 255, 255, 255
+ ],
+ [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],
+ [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255
+ ]
+ ]
+ ],
+ [
+ [
+ [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],
+ [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],
+ [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]
+ ],
+ [
+ [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255
+ ]
+ ],
+ [
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ]
+ ],
+ [
+ [
+ [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],
+ [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],
+ [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],
+ [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],
+ [248, 254, 253, 255, 255, 255,
+ 255, 255, 255, 255, 255
+ ],
+ [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],
+ [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 255, 253,
+ 255, 255, 255, 255, 255, 255, 255, 255
+ ],
+ [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ],
+ [
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
+ [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
+ ]
+ ]
+ ];
+ this.WebPGetDecoderVersion = this.Ld = function() {
+ return 512
+ };
+ var Nc = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],
+ Jf = [
+ [173, 148, 140, 0],
+ [176, 155, 140, 135, 0],
+ [180, 157, 141, 134, 130, 0],
+ [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]
+ ],
+ Kf = [0, 1, 4, 8, 5, 2, 3, 6,
+ 9, 12, 13, 10, 7, 11, 14, 15
+ ],
+ Tf = md([Kc, Lc], "");
+ U(4, x);
+ var vc = [
+ [0, 0, 0, 0],
+ [1, 0, 0, 0],
+ [0, 1, 0, 0],
+ [1, 1, 0, 0],
+ [0, 0, 1, 0],
+ [1, 0, 1, 0],
+ [0, 1, 1, 0],
+ [1, 1, 1, 0],
+ [0, 0, 0, 1],
+ [1, 0, 0, 1],
+ [0, 1, 0, 1],
+ [1, 1, 0, 1],
+ [0, 0, 1, 1],
+ [1, 0, 1, 1],
+ [0, 1, 1, 1],
+ [1, 1, 1, 1]
+ ],
+ Lf = 134480385,
+ ea = 16,
+ J = -227,
+ dd = 482,
+ Ce = [Wc, function(a) {
+ return a
+ }, function(a, b, c) {
+ return b[c + 0]
+ }, function(a, b, c) {
+ return b[c + 1]
+ }, function(a, b, c) {
+ return b[c - 1]
+ }, function(a, b, c) {
+ return ka(ka(a, b[c + 1]), b[c + 0])
+ }, function(a, b, c) {
+ return ka(a, b[c - 1])
+ }, function(a, b, c) {
+ return ka(a, b[c + 0])
+ }, function(a,
+ b, c) {
+ return ka(b[c - 1], b[c + 0])
+ }, function(a, b, c) {
+ return ka(b[c + 0], b[c + 1])
+ }, function(a, b, c) {
+ return ka(ka(a, b[c - 1]), ka(b[c + 0], b[c + 1]))
+ }, function(a, b, c) {
+ return 0 >= Math.abs((a >> 24 & 255) - (b[c - 1] >> 24 & 255)) - Math.abs((b[c + 0] >> 24 & 255) - (b[c - 1] >> 24 & 255)) + (Math.abs((a >> 16 & 255) - (b[c - 1] >> 16 & 255)) - Math.abs((b[c + 0] >> 16 & 255) - (b[c - 1] >> 16 & 255))) + (Math.abs((a >> 8 & 255) - (b[c - 1] >> 8 & 255)) - Math.abs((b[c + 0] >> 8 & 255) - (b[c - 1] >> 8 & 255))) + (Math.abs((a & 255) - (b[c - 1] & 255)) - Math.abs((b[c + 0] & 255) - (b[c - 1] & 255))) ? b[c + 0] : a
+ }, function(a, b, c) {
+ return ($a((a >>
+ 24 & 255) + (b[c + 0] >> 24 & 255) - (b[c - 1] >> 24 & 255)) << 24 | $a((a >> 16 & 255) + (b[c + 0] >> 16 & 255) - (b[c - 1] >> 16 & 255)) << 16 | $a((a >> 8 & 255) + (b[c + 0] >> 8 & 255) - (b[c - 1] >> 8 & 255)) << 8 | $a((a & 255) + (b[c + 0] & 255) - (b[c - 1] & 255))) >>> 0
+ }, function(a, b, c) {
+ var d = b[c - 1];
+ a = ka(a, b[c + 0]);
+ return (yb(a >> 24 & 255, d >> 24 & 255) << 24 | yb(a >> 16 & 255, d >> 16 & 255) << 16 | yb(a >> 8 & 255, d >> 8 & 255) << 8 | yb(a >> 0 & 255, d >> 0 & 255)) >>> 0
+ }, Wc, Wc],
+ Xf = {
+ Cc: x,
+ Bc: x,
+ Kc: x
+ },
+ $c = 16,
+ Me = 16,
+ kg = 16,
+ mg = [2, 3, 7],
+ lg = [3, 3, 11],
+ Zf = 0,
+ $f = 1,
+ ag = 2,
+ bg = 3,
+ cg = 4,
+ hg = [Ba + Ge, Ba, Ba, Ba, 40],
+ Ke = 19,
+ ig = [17, 18, 0, 1, 2, 3, 4, 5, 16,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
+ ],
+ He = 120,
+ dg = [24, 7, 23, 25, 40, 6, 39, 41, 22, 26, 38, 42, 56, 5, 55, 57, 21, 27, 54, 58, 37, 43, 72, 4, 71, 73, 20, 28, 53, 59, 70, 74, 36, 44, 88, 69, 75, 52, 60, 3, 87, 89, 19, 29, 86, 90, 35, 45, 68, 76, 85, 91, 51, 61, 104, 2, 103, 105, 18, 30, 102, 106, 34, 46, 84, 92, 67, 77, 101, 107, 50, 62, 120, 1, 119, 121, 83, 93, 17, 31, 100, 108, 66, 78, 118, 122, 33, 47, 117, 123, 49, 63, 99, 109, 82, 94, 0, 116, 124, 65, 79, 16, 32, 98, 110, 48, 115, 125, 81, 95, 64, 114, 126, 97, 111, 80, 113, 127, 96, 112],
+ Jb = 1 << ea - 1,
+ Za = U(256, 0),
+ xb = U(256, 0),
+ vb = U(256, la),
+ wb = U(256, la),
+ ia = U(dd - J, x),
+ Hb = U(dd -
+ J, x),
+ Xe = 0,
+ V = Array(Cc),
+ vg = [function(a, b, c, d, e, f, k, h, n, l, m, t, q) {
+ Ca(a, b, c, d, e, f, k, h, n, l, m, t, q, hc, 3)
+ }, Se, function(a, b, c, d, e, f, k, h, n, l, m, t, q) {
+ Ca(a, b, c, d, e, f, k, h, n, l, m, t, q, Vc, 3)
+ }, Te, Ue, Ve, function(a, b, c, d, e, f, k, h, n, l, m, t, q) {
+ Ca(a, b, c, d, e, f, k, h, n, l, m, t, q, le, 2)
+ }, Se, Te, Ue, Ve];
+ this.Hd = function(a, b, c, d) {
+ return lb(Qa, a, b, c, d)
+ };
+ this.Id = function(a, b, c, d) {
+ return lb(jb, a, b, c, d)
+ };
+ this.Jd = function(a, b, c, d) {
+ return lb(kb, a, b, c, d)
+ };
+ this.Ed = function(a, b, c, d) {
+ return lb(Ab, a, b, c, d)
+ };
+ this.Fd = function(a, b, c, d) {
+ return lb(Zc,
+ a, b, c, d)
+ };
+ this.Gd = function(a, b, c, d) {
+ return lb(Pa, a, b, c, d)
+ };
+ this.WebPDecode = this.Dd = function(a, b, c) {
+ var d = M(df),
+ e = "VP8StatusCode";
+ if (c == p) return ta;
+ e = hd(a, [0], [b], c.input);
+ if (e != L) return e == Z ? W : e;
+ d.j = c.j;
+ d.Qa = c.Qa;
+ return e = cf(a, 0, [b], d)
+ }
+ };
+
+})()
\ No newline at end of file
diff --git a/app/webogram.appcache b/app/webogram.appcache
index e361ab64..98320021 100644
--- a/app/webogram.appcache
+++ b/app/webogram.appcache
@@ -1,6 +1,6 @@
CACHE MANIFEST
-# 63
+# 61
NETWORK:
*