(function (g)
{
"function" === typeof define && define.amd ? define(["jquery", "datatables.net", "datatables.net-buttons"], function (d) {
return g(d, window, document);
}) : "object" === typeof exports ? module.exports = function (d, f) {
d || (d = window);
if (!f || !f.fn.dataTable) f = require("datatables.net")(d, f).$;
f.fn.dataTable.Buttons || require("datatables.net-buttons")(d, f);
return g(f, d, d.document);
} : g(jQuery, window, document);
})(function (g, d, f, k)
{
var l = g.fn.dataTable,
j;
if ("undefined" !== typeof navigator && /MSIE [1-9]\./.test(navigator.userAgent)) j =
void 0;
else
{
var v = d.document,
o = v.createElementNS("http://www.w3.org/1999/xhtml", "a"),
D = "download" in o,
p = d.webkitRequestFileSystem,
w = d.requestFileSystem || p || d.mozRequestFileSystem,
E = function (a)
{
(d.setImmediate || d.setTimeout)(function () {
throw a;
}, 0);
},
q = 0,
r = function (a)
{
var b = function ()
{
"string" === typeof a ? (d.URL || d.webkitURL || d).revokeObjectURL(a) : a.remove();
};
d.chrome ? b() : setTimeout(b, 500);
},
s = function (a, b, e)
{
for(b = [].concat(b), c = b.length; c--;)
{
var d = a["on" + b[c]];
if ("function" === typeof d) try
{
d.call(a,
e || a);
}
catch (h)
{
E(h);
}
}
},
y = function (a)
{
return /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type) ? new Blob(["", a],
{
type: a.type
}) : a;
},
A = function (a, b)
{
a = y(a),
e = this,
c = a.type,
x = !1,
h, g, z = function ()
{
s(e, ["writestart", "progress", "write", "writeend"]);
},
f = function ()
{
if (x || !h) h = (d.URL || d.webkitURL || d).createObjectURL(a);
g ? g.location.href = h : d.open(h, "_blank") === k && "undefined" !== typeof safari && (d.location.href = h);
e.readyState = e.DONE;
z();
r(h);
},
n = function (a)
{
return function () {
if (e.readyState !==
e.DONE) return a.apply(this, arguments);
};
},
i = {
create: !0,
exclusive: !1
},
j;
e.readyState = e.INIT;
b || (b = "download");
if (D) h = (d.URL || d.webkitURL || d).createObjectURL(a), o.href = h, o.download = b, c = v.createEvent("MouseEvents"), c.initMouseEvent("click", !0, !1, d, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), o.dispatchEvent(c), e.readyState = e.DONE, z(), r(h);
else
{
d.chrome && (c && "application/octet-stream" !== c) && (j = a.slice || a.webkitSlice, a = j.call(a, 0, a.size, "application/octet-stream"), x = !0);
p && "download" !== b && (b += ".download");
if ("application/octet-stream" ===
c || p) g = d;
w ? (q += a.size, w(d.TEMPORARY, q, n(function (c) {
c.root.getDirectory("saved", i, n(function (c) {
var d = function () {
c.getFile(b, i, n(function (b) {
b.createWriter(n(function (c) {
c.onwriteend = function (a) {
g.location.href = b.toURL();
e.readyState = e.DONE;
s(e, "writeend", a);
r(b);
};
c.onerror = function () {
var a = c.error;
a.code !== a.ABORT_ERR && f();
};
["writestart", "progress", "write", "abort"].forEach(function (a) {
c["on" + a] = e["on" + a];
});
c.write(a);
e.abort = function () {
c.abort();
e.readyState = e.DONE;
};
e.readyState = e.WRITING;
}), f);
}),
f);
};
c.getFile(b,
{
create: false
}, n(function (a) {
a.remove();
d();
}), n(function (a) {
a.code === a.NOT_FOUND_ERR ? d() : f();
}));
}), f);
}), f)) : f();
}
},
i = A.prototype;
"undefined" !== typeof navigator && navigator.msSaveOrOpenBlob ? j = function (a, b) {
return navigator.msSaveOrOpenBlob(y(a), b);
} : (i.abort = function () {
this.readyState = this.DONE;
s(this, "abort");
}, i.readyState = i.INIT = 0, i.WRITING = 1, i.DONE = 2, i.error = i.onwritestart = i.onprogress = i.onwrite = i.onabort = i.onerror = i.onwriteend = null, j = function (a, b) {
return new A(a, b);
});
}
var t = function (a,
b)
{
var e = "*" === a.filename && "*" !== a.title && a.title !== k ? a.title : a.filename; - 1 !== e.indexOf("*") && (e = e.replace("*", g("title").text()));
e = e.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g, "");
return b === k || !0 === b ? e + a.extension : e;
},
F = function (a)
{
a = a.title;
return -1 !== a.indexOf("*") ? a.replace("*", g("title").text()) : a;
},
u = function (a)
{
return a.newline ? a.newline : navigator.userAgent.match(/Windows/) ? "\r\n" : "\n";
},
B = function (a, b)
{
for (var e = u(b), c = a.buttons.exportData(b.exportOptions), d = b.fieldBoundary, h = b.fieldSeparator,
f = RegExp(d, "g"), g = b.escapeChar !== k ? b.escapeChar : "\\", i = function (a)
{
for (var b = "", c = 0, e = a.length; c < e; c++) 0 < c && (b += h), b += d ? d + ("" + a[c]).replace(f, g + d) + d : a[c];
return b;
}, n = b.header ? i(c.header) + e : "", j = b.footer ? e + i(c.footer) : "", l = [], m = 0, o = c.body.length; m < o; m++) l.push(i(c.body[m]));
return {
str: n + l.join(e) + j,
rows: l.length
};
},
C = function ()
{
return -1 !== navigator.userAgent.indexOf("Safari") && -1 === navigator.userAgent.indexOf("Chrome") && -1 === navigator.userAgent.indexOf("Opera");
},
m = {
"_rels/.rels": '