;(function (b) {
  function a(b, d) {
    if ({}.hasOwnProperty.call(a.cache, b)) return a.cache[b]
    var e = a.resolve(b)
    if (!e) throw new Error('Failed to resolve module ' + b)
    var c = { id: b, require: a, filename: b, exports: {}, loaded: !1, parent: d, children: [] }
    d && d.children.push(c)
    var f = b.slice(0, b.lastIndexOf('/') + 1)
    return (a.cache[b] = c.exports), e.call(c.exports, c, c.exports, f, b), (c.loaded = !0), (a.cache[b] = c.exports)
  }
  ;(a.modules = {}),
    (a.cache = {}),
    (a.resolve = function (b) {
      return {}.hasOwnProperty.call(a.modules, b) ? a.modules[b] : void 0
    }),
    (a.define = function (b, c) {
      a.modules[b] = c
    }),
    a.define('/gif.worker.coffee', function (d, e, f, g) {
      var b, c
      ;(b = a('/GIFEncoder.js', d)),
        (c = function (a) {
          var c, e, d, f
          return (
            (c = new b(a.width, a.height)),
            a.index === 0 ? c.writeHeader() : (c.firstFrame = !1),
            c.setTransparent(a.transparent),
            c.setRepeat(a.repeat),
            c.setDelay(a.delay),
            c.setQuality(a.quality),
            c.addFrame(a.data),
            a.last && c.finish(),
            (d = c.stream()),
            (a.data = d.pages),
            (a.cursor = d.cursor),
            (a.pageSize = d.constructor.pageSize),
            a.canTransfer
              ? ((f = function (c) {
                  for (var b = 0, d = a.data.length; b < d; ++b) (e = a.data[b]), c.push(e.buffer)
                  return c
                }.call(this, [])),
                self.postMessage(a, f))
              : self.postMessage(a)
          )
        }),
        (self.onmessage = function (a) {
          return c(a.data)
        })
    }),
    a.define('/GIFEncoder.js', function (e, h, i, j) {
      function c() {
        ;(this.page = -1), (this.pages = []), this.newPage()
      }
      function b(a, b) {
        ;(this.width = ~~a),
          (this.height = ~~b),
          (this.transparent = null),
          (this.transIndex = 0),
          (this.repeat = -1),
          (this.delay = 0),
          (this.image = null),
          (this.pixels = null),
          (this.indexedPixels = null),
          (this.colorDepth = null),
          (this.colorTab = null),
          (this.usedEntry = new Array()),
          (this.palSize = 7),
          (this.dispose = -1),
          (this.firstFrame = !0),
          (this.sample = 10),
          (this.out = new c())
      }
      var f = a('/TypedNeuQuant.js', e),
        g = a('/LZWEncoder.js', e)
      ;(c.pageSize = 4096), (c.charMap = {})
      for (var d = 0; d < 256; d++) c.charMap[d] = String.fromCharCode(d)
      ;(c.prototype.newPage = function () {
        ;(this.pages[++this.page] = new Uint8Array(c.pageSize)), (this.cursor = 0)
      }),
        (c.prototype.getData = function () {
          var d = ''
          for (var a = 0; a < this.pages.length; a++)
            for (var b = 0; b < c.pageSize; b++) d += c.charMap[this.pages[a][b]]
          return d
        }),
        (c.prototype.writeByte = function (a) {
          this.cursor >= c.pageSize && this.newPage(), (this.pages[this.page][this.cursor++] = a)
        }),
        (c.prototype.writeUTFBytes = function (b) {
          for (var c = b.length, a = 0; a < c; a++) this.writeByte(b.charCodeAt(a))
        }),
        (c.prototype.writeBytes = function (b, d, e) {
          for (var c = e || b.length, a = d || 0; a < c; a++) this.writeByte(b[a])
        }),
        (b.prototype.setDelay = function (a) {
          this.delay = Math.round(a / 10)
        }),
        (b.prototype.setFrameRate = function (a) {
          this.delay = Math.round(100 / a)
        }),
        (b.prototype.setDispose = function (a) {
          a >= 0 && (this.dispose = a)
        }),
        (b.prototype.setRepeat = function (a) {
          this.repeat = a
        }),
        (b.prototype.setTransparent = function (a) {
          this.transparent = a
        }),
        (b.prototype.addFrame = function (a) {
          ;(this.image = a),
            this.getImagePixels(),
            this.analyzePixels(),
            this.firstFrame && (this.writeLSD(), this.writePalette(), this.repeat >= 0 && this.writeNetscapeExt()),
            this.writeGraphicCtrlExt(),
            this.writeImageDesc(),
            this.firstFrame || this.writePalette(),
            this.writePixels(),
            (this.firstFrame = !1)
        }),
        (b.prototype.finish = function () {
          this.out.writeByte(59)
        }),
        (b.prototype.setQuality = function (a) {
          a < 1 && (a = 1), (this.sample = a)
        }),
        (b.prototype.writeHeader = function () {
          this.out.writeUTFBytes('GIF89a')
        }),
        (b.prototype.analyzePixels = function () {
          var g = this.pixels.length,
            d = g / 3
          this.indexedPixels = new Uint8Array(d)
          var a = new f(this.pixels, this.sample)
          a.buildColormap(), (this.colorTab = a.getColormap())
          var b = 0
          for (var c = 0; c < d; c++) {
            var e = a.lookupRGB(this.pixels[b++] & 255, this.pixels[b++] & 255, this.pixels[b++] & 255)
            ;(this.usedEntry[e] = !0), (this.indexedPixels[c] = e)
          }
          ;(this.pixels = null),
            (this.colorDepth = 8),
            (this.palSize = 7),
            this.transparent !== null && (this.transIndex = this.findClosest(this.transparent))
        }),
        (b.prototype.findClosest = function (e) {
          if (this.colorTab === null) return -1
          var k = (e & 16711680) >> 16,
            l = (e & 65280) >> 8,
            m = e & 255,
            c = 0,
            d = 16777216,
            j = this.colorTab.length
          for (var a = 0; a < j; ) {
            var f = k - (this.colorTab[a++] & 255),
              g = l - (this.colorTab[a++] & 255),
              h = m - (this.colorTab[a] & 255),
              i = f * f + g * g + h * h,
              b = parseInt(a / 3)
            this.usedEntry[b] && i < d && ((d = i), (c = b)), a++
          }
          return c
        }),
        (b.prototype.getImagePixels = function () {
          var a = this.width,
            g = this.height
          this.pixels = new Uint8Array(a * g * 3)
          var b = this.image,
            c = 0
          for (var d = 0; d < g; d++)
            for (var e = 0; e < a; e++) {
              var f = d * a * 4 + e * 4
              ;(this.pixels[c++] = b[f]), (this.pixels[c++] = b[f + 1]), (this.pixels[c++] = b[f + 2])
            }
        }),
        (b.prototype.writeGraphicCtrlExt = function () {
          this.out.writeByte(33), this.out.writeByte(249), this.out.writeByte(4)
          var b, a
          this.transparent === null ? ((b = 0), (a = 0)) : ((b = 1), (a = 2)),
            this.dispose >= 0 && (a = dispose & 7),
            (a <<= 2),
            this.out.writeByte(0 | a | 0 | b),
            this.writeShort(this.delay),
            this.out.writeByte(this.transIndex),
            this.out.writeByte(0)
        }),
        (b.prototype.writeImageDesc = function () {
          this.out.writeByte(44),
            this.writeShort(0),
            this.writeShort(0),
            this.writeShort(this.width),
            this.writeShort(this.height),
            this.firstFrame ? this.out.writeByte(0) : this.out.writeByte(128 | this.palSize)
        }),
        (b.prototype.writeLSD = function () {
          this.writeShort(this.width),
            this.writeShort(this.height),
            this.out.writeByte(240 | this.palSize),
            this.out.writeByte(0),
            this.out.writeByte(0)
        }),
        (b.prototype.writeNetscapeExt = function () {
          this.out.writeByte(33),
            this.out.writeByte(255),
            this.out.writeByte(11),
            this.out.writeUTFBytes('NETSCAPE2.0'),
            this.out.writeByte(3),
            this.out.writeByte(1),
            this.writeShort(this.repeat),
            this.out.writeByte(0)
        }),
        (b.prototype.writePalette = function () {
          this.out.writeBytes(this.colorTab)
          var b = 768 - this.colorTab.length
          for (var a = 0; a < b; a++) this.out.writeByte(0)
        }),
        (b.prototype.writeShort = function (a) {
          this.out.writeByte(a & 255), this.out.writeByte((a >> 8) & 255)
        }),
        (b.prototype.writePixels = function () {
          var a = new g(this.width, this.height, this.indexedPixels, this.colorDepth)
          a.encode(this.out)
        }),
        (b.prototype.stream = function () {
          return this.out
        }),
        (e.exports = b)
    }),
    a.define('/LZWEncoder.js', function (e, g, h, i) {
      function f(y, D, C, B) {
        function w(a, b) {
          ;(r[f++] = a), f >= 254 && t(b)
        }
        function x(b) {
          u(a), (k = i + 2), (j = !0), l(i, b)
        }
        function u(b) {
          for (var a = 0; a < b; ++a) h[a] = -1
        }
        function A(z, r) {
          var g, t, d, e, y, w, s
          for (
            q = z,
              j = !1,
              n_bits = q,
              m = p(n_bits),
              i = 1 << (z - 1),
              o = i + 1,
              k = i + 2,
              f = 0,
              e = v(),
              s = 0,
              g = a;
            g < 65536;
            g *= 2
          )
            ++s
          ;(s = 8 - s), (w = a), u(w), l(i, r)
          a: while ((t = v()) != c) {
            if (((g = (t << b) + e), (d = (t << s) ^ e), h[d] === g)) {
              e = n[d]
              continue
            }
            if (h[d] >= 0) {
              ;(y = w - d), d === 0 && (y = 1)
              do
                if (((d -= y) < 0 && (d += w), h[d] === g)) {
                  e = n[d]
                  continue a
                }
              while (h[d] >= 0)
            }
            l(e, r), (e = t), k < 1 << b ? ((n[d] = k++), (h[d] = g)) : x(r)
          }
          l(e, r), l(o, r)
        }
        function z(a) {
          a.writeByte(s), (remaining = y * D), (curPixel = 0), A(s + 1, a), a.writeByte(0)
        }
        function t(a) {
          f > 0 && (a.writeByte(f), a.writeBytes(r, 0, f), (f = 0))
        }
        function p(a) {
          return (1 << a) - 1
        }
        function v() {
          if (remaining === 0) return c
          --remaining
          var a = C[curPixel++]
          return a & 255
        }
        function l(a, c) {
          ;(g &= d[e]), e > 0 ? (g |= a << e) : (g = a), (e += n_bits)
          while (e >= 8) w(g & 255, c), (g >>= 8), (e -= 8)
          if (
            ((k > m || j) &&
              (j ? ((m = p((n_bits = q))), (j = !1)) : (++n_bits, n_bits == b ? (m = 1 << b) : (m = p(n_bits)))),
            a == o)
          ) {
            while (e > 0) w(g & 255, c), (g >>= 8), (e -= 8)
            t(c)
          }
        }
        var s = Math.max(2, B),
          r = new Uint8Array(256),
          h = new Int32Array(a),
          n = new Int32Array(a),
          g,
          e = 0,
          f,
          k = 0,
          m,
          j = !1,
          q,
          i,
          o
        this.encode = z
      }
      var c = -1,
        b = 12,
        a = 5003,
        d = [0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535]
      e.exports = f
    }),
    a.define('/TypedNeuQuant.js', function (A, F, E, D) {
      function C(A, B) {
        function I() {
          ;(o = []),
            (q = new Int32Array(256)),
            (t = new Int32Array(a)),
            (y = new Int32Array(a)),
            (z = new Int32Array(a >> 3))
          var c, d
          for (c = 0; c < a; c++)
            (d = (c << (b + 8)) / a), (o[c] = new Float64Array([d, d, d, 0])), (y[c] = e / a), (t[c] = 0)
        }
        function J() {
          for (var c = 0; c < a; c++) (o[c][0] >>= b), (o[c][1] >>= b), (o[c][2] >>= b), (o[c][3] = c)
        }
        function K(b, a, c, e, f) {
          ;(o[a][0] -= (b * (o[a][0] - c)) / d),
            (o[a][1] -= (b * (o[a][1] - e)) / d),
            (o[a][2] -= (b * (o[a][2] - f)) / d)
        }
        function L(j, e, n, l, k) {
          var h = Math.abs(e - j),
            i = Math.min(e + j, a),
            g = e + 1,
            f = e - 1,
            m = 1,
            b,
            d
          while (g < i || f > h)
            (d = z[m++]),
              g < i &&
                ((b = o[g++]),
                (b[0] -= (d * (b[0] - n)) / c),
                (b[1] -= (d * (b[1] - l)) / c),
                (b[2] -= (d * (b[2] - k)) / c)),
              f > h &&
                ((b = o[f--]),
                (b[0] -= (d * (b[0] - n)) / c),
                (b[1] -= (d * (b[1] - l)) / c),
                (b[2] -= (d * (b[2] - k)) / c))
        }
        function C(p, s, q) {
          var h = 2147483647,
            k = h,
            d = -1,
            m = d,
            c,
            j,
            e,
            n,
            l
          for (c = 0; c < a; c++)
            (j = o[c]),
              (e = Math.abs(j[0] - p) + Math.abs(j[1] - s) + Math.abs(j[2] - q)),
              e < h && ((h = e), (d = c)),
              (n = e - (t[c] >> (i - b))),
              n < k && ((k = n), (m = c)),
              (l = y[c] >> g),
              (y[c] -= l),
              (t[c] += l << f)
          return (y[d] += x), (t[d] -= r), m
        }
        function D() {
          var d,
            b,
            e,
            c,
            h,
            g,
            f = 0,
            i = 0
          for (d = 0; d < a; d++) {
            for (e = o[d], h = d, g = e[1], b = d + 1; b < a; b++) (c = o[b]), c[1] < g && ((h = b), (g = c[1]))
            if (
              ((c = o[h]),
              d != h &&
                ((b = c[0]),
                (c[0] = e[0]),
                (e[0] = b),
                (b = c[1]),
                (c[1] = e[1]),
                (e[1] = b),
                (b = c[2]),
                (c[2] = e[2]),
                (e[2] = b),
                (b = c[3]),
                (c[3] = e[3]),
                (e[3] = b)),
              g != f)
            ) {
              for (q[f] = (i + d) >> 1, b = f + 1; b < g; b++) q[b] = d
              ;(f = g), (i = d)
            }
          }
          for (q[f] = (i + n) >> 1, b = f + 1; b < 256; b++) q[b] = n
        }
        function E(j, i, k) {
          var b,
            d,
            c,
            e = 1e3,
            h = -1,
            f = q[i],
            g = f - 1
          while (f < a || g >= 0)
            f < a &&
              ((d = o[f]),
              (c = d[1] - i),
              c >= e
                ? (f = a)
                : (f++,
                  c < 0 && (c = -c),
                  (b = d[0] - j),
                  b < 0 && (b = -b),
                  (c += b),
                  c < e && ((b = d[2] - k), b < 0 && (b = -b), (c += b), c < e && ((e = c), (h = d[3]))))),
              g >= 0 &&
                ((d = o[g]),
                (c = i - d[1]),
                c >= e
                  ? (g = -1)
                  : (g--,
                    c < 0 && (c = -c),
                    (b = d[0] - j),
                    b < 0 && (b = -b),
                    (c += b),
                    c < e && ((b = d[2] - k), b < 0 && (b = -b), (c += b), c < e && ((e = c), (h = d[3])))))
          return h
        }
        function F() {
          var c,
            f = A.length,
            D = 30 + (B - 1) / 3,
            y = f / (3 * B),
            q = ~~(y / w),
            n = d,
            o = u,
            a = o >> h
          for (a <= 1 && (a = 0), c = 0; c < a; c++) z[c] = n * (((a * a - c * c) * m) / (a * a))
          var i
          f < s
            ? ((B = 1), (i = 3))
            : f % l !== 0
            ? (i = 3 * l)
            : f % k !== 0
            ? (i = 3 * k)
            : f % p !== 0
            ? (i = 3 * p)
            : (i = 3 * j)
          var r,
            t,
            x,
            e,
            g = 0
          c = 0
          while (c < y)
            if (
              ((r = (A[g] & 255) << b),
              (t = (A[g + 1] & 255) << b),
              (x = (A[g + 2] & 255) << b),
              (e = C(r, t, x)),
              K(n, e, r, t, x),
              a !== 0 && L(a, e, r, t, x),
              (g += i),
              g >= f && (g -= f),
              c++,
              q === 0 && (q = 1),
              c % q === 0)
            )
              for (n -= n / D, o -= o / v, a = o >> h, a <= 1 && (a = 0), e = 0; e < a; e++)
                z[e] = n * (((a * a - e * e) * m) / (a * a))
        }
        function G() {
          I(), F(), J(), D()
        }
        function H() {
          var b = [],
            g = []
          for (var c = 0; c < a; c++) g[o[c][3]] = c
          var d = 0
          for (var e = 0; e < a; e++) {
            var f = g[e]
            ;(b[d++] = o[f][0]), (b[d++] = o[f][1]), (b[d++] = o[f][2])
          }
          return b
        }
        var o, q, t, y, z
        ;(this.buildColormap = G), (this.getColormap = H), (this.lookupRGB = E)
      }
      var w = 100,
        a = 256,
        n = a - 1,
        b = 4,
        i = 16,
        e = 1 << i,
        f = 10,
        B = 1 << f,
        g = 10,
        x = e >> g,
        r = e << (f - g),
        z = a >> 3,
        h = 6,
        t = 1 << h,
        u = z * t,
        v = 30,
        o = 10,
        d = 1 << o,
        q = 8,
        m = 1 << q,
        y = o + q,
        c = 1 << y,
        l = 499,
        k = 491,
        p = 487,
        j = 503,
        s = 3 * j
      A.exports = C
    }),
    a('/gif.worker.coffee')
}.call(this, this))
//# sourceMappingURL=gif.worker.js.map
// gif.worker.js 0.1.6 - https://github.com/jnordberg/gif.js
