/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ var saveAs = saveAs || "undefined" !== typeof navigator && navigator.msSaveOrOpenBlob && navigator.msSaveOrOpenBlob.bind(navigator) || function (a) { "use strict"; if ("undefined" === typeof navigator || !/MSIE [1-9]\./.test(navigator.userAgent)) { var k = a.document, n = k.createElementNS("http://www.w3.org/1999/xhtml", "a"), w = "download" in n, x = function (c) { var e = k.createEvent("MouseEvents"); e.initMouseEvent("click", !0, !1, a, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null); c.dispatchEvent(e) }, q = a.webkitRequestFileSystem, u = a.requestFileSystem || q || a.mozRequestFileSystem, y = function (c) { (a.setImmediate || a.setTimeout)(function () { throw c; }, 0) }, r = 0, s = function (c) { var e = function () { "string" === typeof c ? (a.URL || a.webkitURL || a).revokeObjectURL(c) : c.remove() }; a.chrome ? e() : setTimeout(e, 500) }, t = function (c, a, d) { a = [].concat(a); for (var b = a.length; b--;) { var l = c["on" + a[b]]; if ("function" === typeof l) try { l.call(c, d || c) } catch (f) { y(f) } } }, m = function (c, e) { var d = this, b = c.type, l = !1, f, p, k = function () { t(d, ["writestart", "progress", "write", "writeend"]) }, g = function () { if (l || !f) f = (a.URL || a.webkitURL || a).createObjectURL(c); p ? p.location.href = f : void 0 == a.open(f, "_blank") && "undefined" !== typeof safari && (a.location.href = f); d.readyState = d.DONE; k(); s(f) }, h = function (a) { return function () { if (d.readyState !== d.DONE) return a.apply(this, arguments) } }, m = {create: !0, exclusive: !1}, v; d.readyState = d.INIT; e || (e = "download"); if (w) f = (a.URL || a.webkitURL || a).createObjectURL(c), n.href = f, n.download = e, x(n), d.readyState = d.DONE, k(), s(f); else { a.chrome && b && "application/octet-stream" !== b && (v = c.slice || c.webkitSlice, c = v.call(c, 0, c.size, "application/octet-stream"), l = !0); q && "download" !== e && (e += ".download"); if ("application/octet-stream" === b || q) p = a; u ? (r += c.size, u(a.TEMPORARY, r, h(function (a) { a.root.getDirectory("saved", m, h(function (a) { var b = function () { a.getFile(e, m, h(function (a) { a.createWriter(h(function (b) { b.onwriteend = function (b) { p.location.href = a.toURL(); d.readyState = d.DONE; t(d, "writeend", b); s(a) }; b.onerror = function () { var a = b.error; a.code !== a.ABORT_ERR && g() }; ["writestart", "progress", "write", "abort"].forEach(function (a) { b["on" + a] = d["on" + a] }); b.write(c); d.abort = function () { b.abort(); d.readyState = d.DONE }; d.readyState = d.WRITING }), g) }), g) }; a.getFile(e, {create: !1}, h(function (a) { a.remove(); b() }), h(function (a) { a.code === a.NOT_FOUND_ERR ? b() : g() })) }), g) }), g)) : g() } }, b = m.prototype; b.abort = function () { this.readyState = this.DONE; t(this, "abort") }; b.readyState = b.INIT = 0; b.WRITING = 1; b.DONE = 2; b.error = b.onwritestart = b.onprogress = b.onwrite = b.onabort = b.onerror = b.onwriteend = null; return function (a, b) { return new m(a, b) } } }("undefined" !== typeof self && self || "undefined" !== typeof window && window || this.content); "undefined" !== typeof module && null !== module ? module.exports = saveAs : "undefined" !== typeof define && null !== define && null != define.amd && define([], function () { return saveAs });