Greasy Fork

mux

test

当前为 2019-06-15 提交的版本,查看 最新版本

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/386194/709149/mux.js

/**
 * Skipped minification because the original files appears to be already minified.
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
/**
 * videojs-mux
 * @version 2.5.0
 * @copyright 2019 Mux, Inc.
 * @license
 */
(function() {
    var define = false;
    ! function(e, t) {
        if ("object" == typeof exports && "object" == typeof module) module.exports = t(require("video.js"));
        else if ("function" == typeof define && define.amd) define(["video.js"], t);
        else {
            var r = t("object" == typeof exports ? require("video.js") : e.videojs);
            for (var a in r)("object" == typeof exports ? exports : e)[a] = r[a]
        }
    }(this, function(e) {
        return function(e) {
            function t(a) {
                if (r[a]) return r[a].exports;
                var i = r[a] = {
                    i: a,
                    l: !1,
                    exports: {}
                };
                return e[a].call(i.exports, i, i.exports, t), i.l = !0, i.exports
            }
            var r = {};
            return t.m = e, t.c = r, t.d = function(e, r, a) {
                t.o(e, r) || Object.defineProperty(e, r, {
                    configurable: !1,
                    enumerable: !0,
                    get: a
                })
            }, t.n = function(e) {
                var r = e && e.__esModule ? function() {
                    return e.default
                } : function() {
                    return e
                };
                return t.d(r, "a", r), r
            }, t.o = function(e, t) {
                return Object.prototype.hasOwnProperty.call(e, t)
            }, t.p = "", t(t.s = 2)
        }([function(e, t, r) {
            ! function() {
                ! function(t, r) {
                    e.exports = r()
                }(0, function() {
                    return function(e) {
                        function t(a) {
                            if (r[a]) return r[a].exports;
                            var i = r[a] = {
                                i: a,
                                l: !1,
                                exports: {}
                            };
                            return e[a].call(i.exports, i, i.exports, t), i.l = !0, i.exports
                        }
                        var r = {};
                        return t.m = e, t.c = r, t.d = function(e, r, a) {
                            t.o(e, r) || Object.defineProperty(e, r, {
                                configurable: !1,
                                enumerable: !0,
                                get: a
                            })
                        }, t.n = function(e) {
                            var r = e && e.__esModule ? function() {
                                return e.default
                            } : function() {
                                return e
                            };
                            return t.d(r, "a", r), r
                        }, t.o = function(e, t) {
                            return Object.prototype.hasOwnProperty.call(e, t)
                        }, t.p = "", t(t.s = 16)
                    }([function(e, t) {
                        function r(e, t, r) {
                            switch (r.length) {
                                case 0:
                                    return e.call(t);
                                case 1:
                                    return e.call(t, r[0]);
                                case 2:
                                    return e.call(t, r[0], r[1]);
                                case 3:
                                    return e.call(t, r[0], r[1], r[2])
                            }
                            return e.apply(t, r)
                        }

                        function a(e, t) {
                            for (var r = -1, a = Array(e); ++r < e;) a[r] = t(r);
                            return a
                        }

                        function i(e, t) {
                            var r = R(e) || p(e) ? a(e.length, String) : [],
                                i = r.length,
                                n = !!i;
                            for (var o in e) !t && !k.call(e, o) || n && ("length" == o || l(o, i)) || r.push(o);
                            return r
                        }

                        function n(e, t, r) {
                            var a = e[t];
                            k.call(e, t) && f(a, r) && (void 0 !== r || t in e) || (e[t] = r)
                        }

                        function o(e) {
                            if (!c(e)) return A(e);
                            var t = [];
                            for (var r in Object(e)) k.call(e, r) && "constructor" != r && t.push(r);
                            return t
                        }

                        function s(e, t) {
                            return t = D(void 0 === t ? e.length - 1 : t, 0),
                                function() {
                                    for (var a = arguments, i = -1, n = D(a.length - t, 0), o = Array(n); ++i < n;) o[i] = a[t + i];
                                    i = -1;
                                    for (var s = Array(t + 1); ++i < t;) s[i] = a[i];
                                    return s[t] = o, r(e, this, s)
                                }
                        }

                        function u(e, t, r, a) {
                            r || (r = {});
                            for (var i = -1, o = t.length; ++i < o;) {
                                var s = t[i],
                                    u = a ? a(r[s], e[s], s, r, e) : void 0;
                                n(r, s, void 0 === u ? e[s] : u)
                            }
                            return r
                        }

                        function l(e, t) {
                            return !!(t = null == t ? w : t) && ("number" == typeof e || E.test(e)) && e > -1 && e % 1 == 0 && e < t
                        }

                        function d(e, t, r) {
                            if (!y(r)) return !1;
                            var a = typeof t;
                            return !!("number" == a ? h(r) && l(t, r.length) : "string" == a && t in r) && f(r[t], e)
                        }

                        function c(e) {
                            var t = e && e.constructor;
                            return e === ("function" == typeof t && t.prototype || O)
                        }

                        function f(e, t) {
                            return e === t || e !== e && t !== t
                        }

                        function p(e) {
                            return _(e) && k.call(e, "callee") && (!M.call(e, "callee") || P.call(e) == x)
                        }

                        function h(e) {
                            return null != e && v(e.length) && !m(e)
                        }

                        function _(e) {
                            return b(e) && h(e)
                        }

                        function m(e) {
                            var t = y(e) ? P.call(e) : "";
                            return t == S || t == T
                        }

                        function v(e) {
                            return "number" == typeof e && e > -1 && e % 1 == 0 && e <= w
                        }

                        function y(e) {
                            var t = typeof e;
                            return !!e && ("object" == t || "function" == t)
                        }

                        function b(e) {
                            return !!e && "object" == typeof e
                        }

                        function g(e) {
                            return h(e) ? i(e) : o(e)
                        }
                        var w = 9007199254740991,
                            x = "[object Arguments]",
                            S = "[object Function]",
                            T = "[object GeneratorFunction]",
                            E = /^(?:0|[1-9]\d*)$/,
                            O = Object.prototype,
                            k = O.hasOwnProperty,
                            P = O.toString,
                            M = O.propertyIsEnumerable,
                            A = function(e, t) {
                                return function(r) {
                                    return e(t(r))
                                }
                            }(Object.keys, Object),
                            D = Math.max,
                            q = !M.call({
                                valueOf: 1
                            }, "valueOf"),
                            R = Array.isArray,
                            j = function(e) {
                                return s(function(t, r) {
                                    var a = -1,
                                        i = r.length,
                                        n = i > 1 ? r[i - 1] : void 0,
                                        o = i > 2 ? r[2] : void 0;
                                    for (n = e.length > 3 && "function" == typeof n ? (i--, n) : void 0, o && d(r[0], r[1], o) && (n = i < 3 ? void 0 : n, i = 1), t = Object(t); ++a < i;) {
                                        var s = r[a];
                                        s && e(t, s)
                                    }
                                    return t
                                })
                            }(function(e, t) {
                                if (q || c(t) || h(t)) return void u(t, g(t), e);
                                for (var r in t) k.call(t, r) && n(e, r, t[r])
                            });
                        e.exports = j
                    }, function(e, t, r) {
                        "use strict";

                        function a(e, t, r) {
                            r = void 0 === r ? 1 : r, e[t] = e[t] || 0, e[t] += r
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a
                    }, function(e, t, r) {
                        (function(t) {
                            var r;
                            r = "undefined" != typeof window ? window : void 0 !== t ? t : "undefined" != typeof self ? self : {}, e.exports = r
                        }).call(t, r(5))
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var a = r(18),
                            i = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(a),
                            n = i.default.methodFactory;
                        i.default.methodFactory = function(e, t, r) {
                            var a = n(e, t, r);
                            return function() {
                                for (var e = ["[mux]"], t = 0; t < arguments.length; t++) e.push(arguments[t]);
                                a.apply(void 0, e)
                            }
                        }, i.default.setLevel(i.default.getLevel()), t.default = i.default
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var a = function(e) {
                                return n(e)[0]
                            },
                            i = function(e) {
                                return n(e)[1]
                            },
                            n = function(e) {
                                if ("string" != typeof e || "" === e) return ["localhost"];
                                var t = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,
                                    r = e.match(t) || [],
                                    a = r[4],
                                    i = void 0;
                                return a && (i = (a.match(/[^\.]+\.[^\.]+$/) || [])[0]), [a, i]
                            };
                        t.extractHostnameAndDomain = n, t.extractHostname = a, t.extractDomain = i
                    }, function(e, t) {
                        var r;
                        r = function() {
                            return this
                        }();
                        try {
                            r = r || Function("return this")() || (0, eval)("this")
                        } catch (e) {
                            "object" == typeof window && (r = window)
                        }
                        e.exports = r
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var a = function() {
                                return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
                                    var t = 16 * Math.random() | 0;
                                    return ("x" === e ? t : 3 & t | 8).toString(16)
                                })
                            },
                            i = function() {
                                return ("000000" + (Math.random() * Math.pow(36, 6) << 0).toString(36)).slice(-6)
                            };
                        t.generateUUID = a, t.generateShortID = i
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            e = e || "", e = e.match(/[^\r\n]+/g) || [];
                            for (var t = {}, r = 0; r < e.length; r++) {
                                var a = e[r].split(/\s*:\s*(.+)/);
                                3 === a.length && (t[a[0]] = a[1])
                            }
                            return t
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.findMediaElement = t.getMuxPlayerId = void 0;
                        var a = r(6),
                            i = function(e) {
                                return e && void 0 !== e.nodeName ? (e.muxId || (e.muxId = e.id || (0, a.generateShortID)()), e.muxId) : e
                            },
                            n = function(e) {
                                var t = void 0;
                                return e && void 0 !== e.nodeName ? (t = e, e = i(t)) : t = document.querySelector(e), [t, e, t && t.nodeName ? t.nodeName.toLowerCase() : ""]
                            };
                        t.getMuxPlayerId = i, t.findMediaElement = n
                    }, function(e, t, r) {
                        "use strict";

                        function a() {
                            return "1" === (n.default.doNotTrack || n.default.navigator.doNotTrack || n.default.navigator.msDoNotTrack)
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a;
                        var i = r(2),
                            n = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(i)
                    }, function(e, t, r) {
                        (function(t) {
                            var a, i = void 0 !== t ? t : "undefined" != typeof window ? window : {},
                                n = r(21);
                            "undefined" != typeof document ? a = document : (a = i["__GLOBAL_DOCUMENT_CACHE@4"]) || (a = i["__GLOBAL_DOCUMENT_CACHE@4"] = n), e.exports = a
                        }).call(t, r(5))
                    }, function(e, t) {
                        e.exports = function(e) {
                            return e.webpackPolyfill || (e.deprecate = function() {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", {
                                enumerable: !0,
                                get: function() {
                                    return e.l
                                }
                            }), Object.defineProperty(e, "id", {
                                enumerable: !0,
                                get: function() {
                                    return e.i
                                }
                            }), e.webpackPolyfill = 1), e
                        }
                    }, function(e, t, r) {
                        "use strict";
                        var a = r(40),
                            i = r(41),
                            n = r(14);
                        e.exports = {
                            formats: n,
                            parse: i,
                            stringify: a
                        }
                    }, function(e, t, r) {
                        "use strict";
                        var a = Object.prototype.hasOwnProperty,
                            i = function() {
                                for (var e = [], t = 0; t < 256; ++t) e.push("%" + ((t < 16 ? "0" : "") + t.toString(16)).toUpperCase());
                                return e
                            }(),
                            n = function(e) {
                                for (var t; e.length;) {
                                    var r = e.pop();
                                    if (t = r.obj[r.prop], Array.isArray(t)) {
                                        for (var a = [], i = 0; i < t.length; ++i) void 0 !== t[i] && a.push(t[i]);
                                        r.obj[r.prop] = a
                                    }
                                }
                                return t
                            };
                        t.arrayToObject = function(e, t) {
                            for (var r = t && t.plainObjects ? Object.create(null) : {}, a = 0; a < e.length; ++a) void 0 !== e[a] && (r[a] = e[a]);
                            return r
                        }, t.merge = function(e, r, i) {
                            if (!r) return e;
                            if ("object" != typeof r) {
                                if (Array.isArray(e)) e.push(r);
                                else {
                                    if ("object" != typeof e) return [e, r];
                                    (i.plainObjects || i.allowPrototypes || !a.call(Object.prototype, r)) && (e[r] = !0)
                                }
                                return e
                            }
                            if ("object" != typeof e) return [e].concat(r);
                            var n = e;
                            return Array.isArray(e) && !Array.isArray(r) && (n = t.arrayToObject(e, i)), Array.isArray(e) && Array.isArray(r) ? (r.forEach(function(r, n) {
                                a.call(e, n) ? e[n] && "object" == typeof e[n] ? e[n] = t.merge(e[n], r, i) : e.push(r) : e[n] = r
                            }), e) : Object.keys(r).reduce(function(e, n) {
                                var o = r[n];
                                return a.call(e, n) ? e[n] = t.merge(e[n], o, i) : e[n] = o, e
                            }, n)
                        }, t.assign = function(e, t) {
                            return Object.keys(t).reduce(function(e, r) {
                                return e[r] = t[r], e
                            }, e)
                        }, t.decode = function(e) {
                            try {
                                return decodeURIComponent(e.replace(/\+/g, " "))
                            } catch (t) {
                                return e
                            }
                        }, t.encode = function(e) {
                            if (0 === e.length) return e;
                            for (var t = "string" == typeof e ? e : String(e), r = "", a = 0; a < t.length; ++a) {
                                var n = t.charCodeAt(a);
                                45 === n || 46 === n || 95 === n || 126 === n || n >= 48 && n <= 57 || n >= 65 && n <= 90 || n >= 97 && n <= 122 ? r += t.charAt(a) : n < 128 ? r += i[n] : n < 2048 ? r += i[192 | n >> 6] + i[128 | 63 & n] : n < 55296 || n >= 57344 ? r += i[224 | n >> 12] + i[128 | n >> 6 & 63] + i[128 | 63 & n] : (a += 1, n = 65536 + ((1023 & n) << 10 | 1023 & t.charCodeAt(a)), r += i[240 | n >> 18] + i[128 | n >> 12 & 63] + i[128 | n >> 6 & 63] + i[128 | 63 & n])
                            }
                            return r
                        }, t.compact = function(e) {
                            for (var t = [{
                                    obj: {
                                        o: e
                                    },
                                    prop: "o"
                                }], r = [], a = 0; a < t.length; ++a)
                                for (var i = t[a], o = i.obj[i.prop], s = Object.keys(o), u = 0; u < s.length; ++u) {
                                    var l = s[u],
                                        d = o[l];
                                    "object" == typeof d && null !== d && -1 === r.indexOf(d) && (t.push({
                                        obj: o,
                                        prop: l
                                    }), r.push(d))
                                }
                            return n(t)
                        }, t.isRegExp = function(e) {
                            return "[object RegExp]" === Object.prototype.toString.call(e)
                        }, t.isBuffer = function(e) {
                            return null !== e && void 0 !== e && !!(e.constructor && e.constructor.isBuffer && e.constructor.isBuffer(e))
                        }
                    }, function(e, t, r) {
                        "use strict";
                        var a = String.prototype.replace,
                            i = /%20/g;
                        e.exports = {
                            default: "RFC3986",
                            formatters: {
                                RFC1738: function(e) {
                                    return a.call(e, i, "+")
                                },
                                RFC3986: function(e) {
                                    return e
                                }
                            },
                            RFC1738: "RFC1738",
                            RFC3986: "RFC3986"
                        }
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }

                        function i(e) {
                            var t = {};
                            for (var r in e) e.hasOwnProperty(r) && (t[e[r]] = r);
                            return t
                        }

                        function n(e) {
                            var t = {},
                                r = {};
                            return Object.keys(e).forEach(function(a) {
                                var i = !1;
                                if (e.hasOwnProperty(a) && void 0 !== e[a]) {
                                    var n = a.split("_"),
                                        o = n[0],
                                        u = c[o];
                                    u || (s.default.info("Data key word `" + n[0] + "` not expected in " + a), u = o + "_"), n.splice(1).forEach(function(e) {
                                        "url" === e && (i = !0), p[e] ? u += p[e] : (s.default.info("Data key word `" + e + "` not expected in " + a), u += "_" + e + "_")
                                    }), i ? r[u] = e[a] : t[u] = e[a]
                                }
                            }), (0, l.default)(t, r)
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = n;
                        var o = r(3),
                            s = a(o),
                            u = r(0),
                            l = a(u),
                            d = {
                                a: "env",
                                b: "beacon",
                                d: "ad",
                                e: "event",
                                f: "experiment",
                                m: "mux",
                                n: "response",
                                p: "player",
                                q: "request",
                                r: "retry",
                                s: "session",
                                t: "timestamp",
                                u: "viewer",
                                v: "video",
                                w: "page",
                                x: "view",
                                y: "sub"
                            },
                            c = i(d),
                            f = {
                                ad: "ad",
                                ag: "aggregate",
                                ap: "api",
                                al: "application",
                                ar: "architecture",
                                as: "asset",
                                au: "autoplay",
                                av: "average",
                                bi: "bitrate",
                                br: "break",
                                bw: "browser",
                                by: "bytes",
                                ca: "cached",
                                cb: "cancel",
                                cd: "code",
                                cg: "category",
                                ch: "changed",
                                cn: "config",
                                co: "count",
                                ce: "counter",
                                cp: "complete",
                                ct: "content",
                                cu: "current",
                                dg: "downscaling",
                                dm: "domain",
                                dn: "cdn",
                                do: "downscale",
                                du: "duration",
                                dv: "device",
                                ec: "encoding",
                                en: "end",
                                eg: "engine",
                                em: "embed",
                                er: "error",
                                es: "errorcode",
                                et: "errortext",
                                ee: "event",
                                ev: "events",
                                ex: "expires",
                                fi: "first",
                                fm: "family",
                                ft: "format",
                                fq: "frequency",
                                fr: "frame",
                                fs: "fullscreen",
                                he: "headers",
                                ho: "host",
                                hn: "hostname",
                                ht: "height",
                                id: "id",
                                ii: "init",
                                in: "instance",
                                ip: "ip",
                                is: "is",
                                ke: "key",
                                la: "language",
                                lb: "labeled",
                                le: "level",
                                li: "live",
                                ld: "loaded",
                                lo: "load",
                                ls: "lists",
                                lt: "latency",
                                ma: "max",
                                md: "media",
                                me: "message",
                                mi: "mime",
                                ml: "midroll",
                                mm: "min",
                                mn: "manufacturer",
                                mx: "mux",
                                nm: "name",
                                no: "number",
                                on: "on",
                                os: "os",
                                pa: "paused",
                                pb: "playback",
                                pd: "producer",
                                pe: "percentage",
                                pf: "played",
                                pg: "program",
                                ph: "playhead",
                                pi: "plugin",
                                pl: "preroll",
                                po: "poster",
                                pr: "preload",
                                py: "property",
                                ra: "rate",
                                rd: "requested",
                                re: "rebuffer",
                                rf: "rendition",
                                ro: "ratio",
                                rp: "response",
                                rq: "request",
                                rs: "requests",
                                sa: "sample",
                                se: "session",
                                sk: "seek",
                                sm: "stream",
                                so: "source",
                                sq: "sequence",
                                sr: "series",
                                st: "start",
                                su: "startup",
                                sv: "server",
                                sw: "software",
                                ta: "tag",
                                tc: "tech",
                                te: "text",
                                th: "throughput",
                                ti: "time",
                                tl: "total",
                                to: "to",
                                tt: "title",
                                ty: "type",
                                ug: "upscaling",
                                up: "upscale",
                                ur: "url",
                                us: "user",
                                va: "variant",
                                vd: "viewed",
                                vi: "video",
                                ve: "version",
                                vw: "view",
                                vr: "viewer",
                                wd: "width",
                                wa: "watch",
                                wt: "waiting"
                            },
                            p = i(f)
                    }, function(e, t, r) {
                        "use strict";
                        e.exports = r(17).default
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var i = function() {
                                function e(e, t) {
                                    var r = [],
                                        a = !0,
                                        i = !1,
                                        n = void 0;
                                    try {
                                        for (var o, s = e[Symbol.iterator](); !(a = (o = s.next()).done) && (r.push(o.value), !t || r.length !== t); a = !0);
                                    } catch (e) {
                                        i = !0, n = e
                                    } finally {
                                        try {
                                            !a && s.return && s.return()
                                        } finally {
                                            if (i) throw n
                                        }
                                    }
                                    return r
                                }
                                return function(t, r) {
                                    if (Array.isArray(t)) return t;
                                    if (Symbol.iterator in Object(t)) return e(t, r);
                                    throw new TypeError("Invalid attempt to destructure non-iterable instance")
                                }
                            }(),
                            n = r(2),
                            o = a(n),
                            s = r(8),
                            u = r(3),
                            l = a(u),
                            d = r(9),
                            c = a(d),
                            f = r(19),
                            p = a(f),
                            h = r(48),
                            _ = a(h),
                            m = r(49),
                            v = a(m),
                            y = {},
                            b = function e(t) {
                                var r = arguments;
                                "string" == typeof t ? e.hasOwnProperty(t) ? o.default.setTimeout(function() {
                                    r = Array.prototype.splice.call(r, 1), e[t].apply(null, r)
                                }, 0) : l.default.warn("`" + t + "` is an unknown task") : "function" == typeof t ? o.default.setTimeout(function() {
                                    t(e)
                                }, 0) : l.default.warn("`" + t + "` is invalid.")
                            };
                        b.loaded = Date.now(), b.VERSION = "2.7.0", b.API_VERSION = "2.0", b.PLAYER_TRACKED = !1, b.monitor = function(e, t) {
                            return (0, _.default)(b, e, t)
                        }, b.destroyMonitor = function(e) {
                            var t = (0, s.findMediaElement)(e),
                                r = i(t, 1),
                                a = r[0];
                            a && a.mux && "function" == typeof a.mux.destroy ? a.mux.destroy() : l.default.error("A video element monitor for `" + e + "` has not been initialized via `mux.monitor`.")
                        }, b.addHLSJS = function(e, t) {
                            var r = (0, s.getMuxPlayerId)(e);
                            y[r] ? y[r].addHLSJS(t) : l.default.error("A monitor for `" + r + "` has not been initialized.")
                        }, b.addDashJS = function(e, t) {
                            var r = (0, s.getMuxPlayerId)(e);
                            y[r] ? y[r].addDashJS(t) : l.default.error("A monitor for `" + r + "` has not been initialized.")
                        }, b.removeHLSJS = function(e) {
                            var t = (0, s.getMuxPlayerId)(e);
                            y[t] ? y[t].removeHLSJS() : l.default.error("A monitor for `" + t + "` has not been initialized.")
                        }, b.removeDashJS = function(e, t) {
                            var r = (0, s.getMuxPlayerId)(e);
                            y[r] ? y[r].removeDashJS(t) : l.default.error("A monitor for `" + r + "` has not been initialized.")
                        }, b.init = function(e, t) {
                            var r = (0, s.getMuxPlayerId)(e);
                            y[r] = new p.default(b, r, t)
                        }, b.emit = function(e, t, r) {
                            var a = (0, s.getMuxPlayerId)(e);
                            y[a] ? (y[a].emit(t, r), "destroy" === t && delete y[a]) : l.default.error("A monitor for `" + a + "` has not been initialized.")
                        }, (0, c.default)() && l.default.info("The browser's Do Not Track flag is enabled - Mux beaconing may be disabled."), o.default.addEventListener("unload", function() {
                            b.WINDOW_UNLOADING = !0
                        }, !1), b.checkDoNotTrack = c.default, b.log = l.default, b.utils = v.default, t.default = b
                    }, function(e, t, r) {
                        var a, i;
                        ! function(n, o) {
                            "use strict";
                            a = o, void 0 !== (i = "function" == typeof a ? a.call(t, r, t, e) : a) && (e.exports = i)
                        }(0, function() {
                            "use strict";

                            function e(e, t) {
                                var r = e[t];
                                if ("function" == typeof r.bind) return r.bind(e);
                                try {
                                    return Function.prototype.bind.call(r, e)
                                } catch (t) {
                                    return function() {
                                        return Function.prototype.apply.apply(r, [e, arguments])
                                    }
                                }
                            }

                            function t(t) {
                                return "debug" === t && (t = "log"), typeof console !== s && (void 0 !== console[t] ? e(console, t) : void 0 !== console.log ? e(console, "log") : o)
                            }

                            function r(e, t) {
                                for (var r = 0; r < u.length; r++) {
                                    var a = u[r];
                                    this[a] = r < e ? o : this.methodFactory(a, e, t)
                                }
                                this.log = this.debug
                            }

                            function a(e, t, a) {
                                return function() {
                                    typeof console !== s && (r.call(this, t, a), this[e].apply(this, arguments))
                                }
                            }

                            function i(e, r, i) {
                                return t(e) || a.apply(this, arguments)
                            }

                            function n(e, t, a) {
                                function n(e) {
                                    var t = (u[e] || "silent").toUpperCase();
                                    if (typeof window !== s) {
                                        try {
                                            return void(window.localStorage[c] = t)
                                        } catch (e) {}
                                        try {
                                            window.document.cookie = encodeURIComponent(c) + "=" + t + ";"
                                        } catch (e) {}
                                    }
                                }

                                function o() {
                                    var e;
                                    if (typeof window !== s) {
                                        try {
                                            e = window.localStorage[c]
                                        } catch (e) {}
                                        if (typeof e === s) try {
                                            var t = window.document.cookie,
                                                r = t.indexOf(encodeURIComponent(c) + "=");
                                            r && (e = /^([^;]+)/.exec(t.slice(r))[1])
                                        } catch (e) {}
                                        return void 0 === d.levels[e] && (e = void 0), e
                                    }
                                }
                                var l, d = this,
                                    c = "loglevel";
                                e && (c += ":" + e), d.levels = {
                                    TRACE: 0,
                                    DEBUG: 1,
                                    INFO: 2,
                                    WARN: 3,
                                    ERROR: 4,
                                    SILENT: 5
                                }, d.methodFactory = a || i, d.getLevel = function() {
                                    return l
                                }, d.setLevel = function(t, a) {
                                    if ("string" == typeof t && void 0 !== d.levels[t.toUpperCase()] && (t = d.levels[t.toUpperCase()]), !("number" == typeof t && t >= 0 && t <= d.levels.SILENT)) throw "log.setLevel() called with invalid level: " + t;
                                    if (l = t, !1 !== a && n(t), r.call(d, t, e), typeof console === s && t < d.levels.SILENT) return "No console available for logging"
                                }, d.setDefaultLevel = function(e) {
                                    o() || d.setLevel(e, !1)
                                }, d.enableAll = function(e) {
                                    d.setLevel(d.levels.TRACE, e)
                                }, d.disableAll = function(e) {
                                    d.setLevel(d.levels.SILENT, e)
                                };
                                var f = o();
                                null == f && (f = null == t ? "WARN" : t), d.setLevel(f, !1)
                            }
                            var o = function() {},
                                s = "undefined",
                                u = ["trace", "debug", "info", "warn", "error"],
                                l = new n,
                                d = {};
                            l.getLogger = function(e) {
                                if ("string" != typeof e || "" === e) throw new TypeError("You must supply a name when creating a logger.");
                                var t = d[e];
                                return t || (t = d[e] = new n(e, l.getLevel(), l.methodFactory)), t
                            };
                            var c = typeof window !== s ? window.log : void 0;
                            return l.noConflict = function() {
                                return typeof window !== s && window.log === l && (window.log = c), l
                            }, l
                        })
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var i = function() {
                                function e(e, t) {
                                    var r = [],
                                        a = !0,
                                        i = !1,
                                        n = void 0;
                                    try {
                                        for (var o, s = e[Symbol.iterator](); !(a = (o = s.next()).done) && (r.push(o.value), !t || r.length !== t); a = !0);
                                    } catch (e) {
                                        i = !0, n = e
                                    } finally {
                                        try {
                                            !a && s.return && s.return()
                                        } finally {
                                            if (i) throw n
                                        }
                                    }
                                    return r
                                }
                                return function(t, r) {
                                    if (Array.isArray(t)) return t;
                                    if (Symbol.iterator in Object(t)) return e(t, r);
                                    throw new TypeError("Invalid attempt to destructure non-iterable instance")
                                }
                            }(),
                            n = r(3),
                            o = a(n),
                            s = r(0),
                            u = a(s),
                            l = r(6),
                            d = r(4),
                            c = r(2),
                            f = a(c),
                            p = r(1),
                            h = a(p),
                            _ = r(20),
                            m = a(_),
                            v = r(23),
                            y = r(24),
                            b = r(25),
                            g = a(b),
                            w = r(26),
                            x = a(w),
                            S = r(27),
                            T = a(S),
                            E = r(28),
                            O = a(E),
                            k = r(29),
                            P = a(k),
                            M = r(30),
                            A = a(M),
                            D = r(31),
                            q = a(D),
                            R = r(32),
                            j = a(R),
                            I = r(33),
                            L = a(I),
                            C = r(34),
                            N = a(C),
                            H = r(35),
                            B = a(H),
                            F = r(36),
                            U = a(F),
                            W = r(37),
                            G = a(W),
                            V = r(38),
                            J = a(V),
                            z = r(47),
                            $ = a(z),
                            Q = ["viewstart", "ended", "loadstart", "pause", "play", "playing", "ratechange", "waiting", "adplay", "adpause", "adended", "aderror", "adplaying", "adrequest", "adresponse", "adbreakstart", "adbreakend", "rebufferstart", "rebufferend", "seeked", "error", "hb", "requestcompleted", "requestfailed", "requestcanceled"],
                            K = function(e, t, r) {
                                var a = this;
                                this.DOM_CONTENT_LOADED_EVENT_END = f.default.performance && f.default.performance.timing.domContentLoadedEventEnd, this.NAVIGATION_START = f.default.performance && f.default.performance.timing.navigationStart;
                                var i = {
                                    debug: !1,
                                    minimumRebufferDuration: 250,
                                    sustainedRebufferThreshold: 1e3,
                                    playbackHeartbeatTime: 25,
                                    beaconDomain: "litix.io",
                                    sampleRate: 1,
                                    disableCookies: !1,
                                    respectDoNotTrack: !0,
                                    errorTranslator: function(e) {
                                        return e
                                    }
                                };
                                this.mux = e, this.id = t, r = (0, u.default)(i, r), r.data = r.data || {}, r.data.property_key && (r.data.env_key = r.data.property_key, delete r.data.property_key), o.default.setLevel(r.debug ? "debug" : "warn"), this.getPlayheadTime = r.getPlayheadTime, this.getStateData = r.getStateData || function() {}, this.getAdData = r.getAdData || function() {}, this.minimumRebufferDuration = r.minimumRebufferDuration, this.sustainedRebufferThreshold = r.sustainedRebufferThreshold, this.playbackHeartbeatTime = r.playbackHeartbeatTime, this.errorTranslator = r.errorTranslator, this.playbackEventDispatcher = new J.default(e, r.data.env_key, r), this.data = {
                                    player_instance_id: (0, l.generateShortID)(),
                                    mux_sample_rate: r.sampleRate,
                                    beacon_domain: r.beaconDomain
                                }, this.data.view_sequence_number = 1, this.data.player_sequence_number = 1, this.oldEmit = this.emit, this.emit = function(e, t) {
                                    t = (0, u.default)({
                                        viewer_time: Date.now()
                                    }, t), this.oldEmit(e, t)
                                };
                                var n = function() {
                                    void 0 === this.data.view_start && (this.data.view_start = Date.now(), this.emit("viewstart"))
                                }.bind(this);
                                this.on("viewinit", function(e, t) {
                                    this._resetVideoData(), this._resetViewData(), this._resetErrorData(), this._updateStateData(), (0, u.default)(this.data, t), this._initializeViewData(), this.one("play", n), this.one("adbreakstart", n)
                                });
                                var s = function(e) {
                                    this.emit("viewend"), this.send("viewend"), this.emit("viewinit", e)
                                }.bind(this);
                                this.on("videochange", function(e, t) {
                                    s(t)
                                }), this.on("programchange", function(e, t) {
                                    this.data.player_is_paused && this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."), s((0, u.default)(t, {
                                        view_program_changed: !0
                                    })), n()
                                }), this.on("destroy", this.destroy);
                                var d = this.destroy.bind(this);
                                f.default.addEventListener("unload", d, !1), this.on("destroy", function() {
                                    f.default.removeEventListener("unload", d)
                                }), this.on("playerready", function(e, t) {
                                    (0, u.default)(this.data, t)
                                }), Q.forEach(function(e) {
                                    a.on(e, function(t, r) {
                                        0 !== e.indexOf("ad") && this._updateStateData(), (0, u.default)(this.data, r), this._sanitizeData()
                                    }), a.on("after" + e, function() {
                                        ("error" !== e || this.viewErrored) && this.send(e)
                                    })
                                }), this.on("viewend", function(e, t) {
                                    (0, u.default)(a.data, t)
                                });
                                var c = function(e) {
                                    var t = Date.now();
                                    this.data.player_init_time && (this.data.player_startup_time = t - this.data.player_init_time), !this.mux.PLAYER_TRACKED && this.NAVIGATION_START && (this.mux.PLAYER_TRACKED = !0, (this.data.player_init_time || this.DOM_CONTENT_LOADED_EVENT_END) && (this.data.page_load_time = Math.min(this.data.player_init_time || 1 / 0, this.DOM_CONTENT_LOADED_EVENT_END || 1 / 0) - this.NAVIGATION_START)), this.send("playerready"), delete this.data.player_startup_time, delete this.data.page_load_time
                                };
                                this.one("playerready", c), T.default.apply(this), G.default.apply(this), N.default.apply(this), A.default.apply(this), x.default.apply(this), L.default.apply(this), O.default.apply(this), P.default.apply(this), B.default.apply(this), q.default.apply(this), j.default.apply(this), U.default.apply(this), $.default.apply(this), r.hlsjs && this.addHLSJS(r), r.dashjs && this.addDashJS(r), this.emit("viewinit", r.data)
                            };
                        (0, u.default)(K.prototype, g.default.prototype), (0, u.default)(K.prototype, A.default.prototype), (0, u.default)(K.prototype, N.default.prototype), (0, u.default)(K.prototype, x.default.prototype), (0, u.default)(K.prototype, O.default.prototype), (0, u.default)(K.prototype, P.default.prototype), (0, u.default)(K.prototype, B.default.prototype), (0, u.default)(K.prototype, q.default.prototype), (0, u.default)(K.prototype, j.default.prototype), K.prototype.destroy = function() {
                            this._destroyed || (this._destroyed = !0, void 0 !== this.data.view_start && (this.emit("viewend"), this.send("viewend")), this.playbackEventDispatcher.destroy(), this.removeHLSJS(), this.removeDashJS(), f.default.clearTimeout(this._heartBeatTimeout))
                        }, K.prototype.send = function(e) {
                            var t = (0, u.default)({}, this.data);
                            if (1 === t.player_error_code && (delete t.player_error_code, delete t.player_error_message), t.player_source_duration === 1 / 0 || t.video_source_duration === 1 / 0 ? t.video_source_is_live = !0 : (t.player_source_duration > 0 || t.video_source_duration > 0) && (t.video_source_is_live = !1), t.video_source_url = t.video_source_url || t.player_source_url, t.video_source_url) {
                                var r = (0, d.extractHostnameAndDomain)(t.video_source_url),
                                    a = i(r, 2),
                                    n = a[0],
                                    o = a[1];
                                t.video_source_domain = o, t.video_source_hostname = n
                            }
                            delete t.ad_request_id, this.playbackEventDispatcher.send(e, t), this.data.view_sequence_number++, this.data.player_sequence_number++, this._restartHeartBeat()
                        }, K.prototype._updateStateData = function() {
                            (0, u.default)(this.data, this.getStateData()), this.getPlayheadTime && (this.data.player_playhead_time = this.getPlayheadTime()), this._sanitizeData()
                        }, K.prototype._sanitizeData = function() {
                            var e = this;
                            ["player_width", "player_height", "video_source_width", "video_source_height", "player_playhead_time"].forEach(function(t) {
                                var r = parseInt(e.data[t], 10);
                                e.data[t] = isNaN(r) ? void 0 : r
                            })
                        }, K.prototype._resetVideoData = function(e, t) {
                            var r = this;
                            Object.keys(this.data).forEach(function(e) {
                                0 === e.indexOf("video_") && delete r.data[e]
                            })
                        }, K.prototype._resetViewData = function() {
                            var e = this;
                            Object.keys(this.data).forEach(function(t) {
                                0 === t.indexOf("view_") && delete e.data[t]
                            }), this.data.view_sequence_number = 1
                        }, K.prototype._resetErrorData = function(e, t) {
                            delete this.data.player_error_code, delete this.data.player_error_message
                        }, K.prototype._initializeViewData = function() {
                            var e = this,
                                t = this.data.view_id = (0, l.generateUUID)();
                            this.data.video_id || (this.data.video_id = (0, m.default)(this.data.player_source_url));
                            var r = function() {
                                t === e.data.view_id && (0, h.default)(e.data, "player_view_count", 1)
                            };
                            this.data.player_is_paused ? this.one("play", r) : r()
                        }, K.prototype._restartHeartBeat = function() {
                            var e = this;
                            f.default.clearTimeout(this._heartBeatTimeout), this.viewErrored || (this._heartBeatTimeout = f.default.setTimeout(function() {
                                e.data.player_is_paused || e.emit("hb")
                            }, 1e4))
                        }, K.prototype.addHLSJS = function(e) {
                            return e.hlsjs ? this.hlsjs ? void this.mux.log.warn("An instance of HLS.js is already being monitored for this player.") : (this.hlsjs = e.hlsjs, void(0, v.monitorHlsJs)(this.mux, this.id, e.hlsjs, {}, e.Hls || f.default.Hls)) : void this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.")
                        }, K.prototype.removeHLSJS = function() {
                            this.hlsjs && ((0, v.stopMonitoringHlsJs)(this.hlsjs), this.hlsjs = void 0)
                        }, K.prototype.addDashJS = function(e) {
                            return e.dashjs ? this.dashjs ? void this.mux.log.warn("An instance of Dash.js is already being monitored for this player.") : (this.dashjs = e.dashjs, void(0, y.monitorDashJS)(this.mux, this.id, e.dashjs)) : void this.mux.log.warn("You must pass a valid dashjs instance in order to track it.")
                        }, K.prototype.removeDashJS = function() {
                            this.dashjs && ((0, y.stopMonitoringDashJS)(this.dashjs), this.dashjs = void 0)
                        }, t.default = K
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }

                        function i(e) {
                            var t = o.default.createElement("a");
                            t.href = e;
                            var r = t.pathname.replace(/\.[^\/.]+$/, "");
                            return u.default.encode(t.host + r).split("=")[0]
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = i;
                        var n = r(10),
                            o = a(n),
                            s = r(22),
                            u = a(s)
                    }, function(e, t) {}, function(e, t, r) {
                        (function(e, a) {
                            var i;
                            ! function(a) {
                                var n = ("object" == typeof e && e && e.exports, function(e) {
                                    this.message = e
                                });
                                n.prototype = new Error, n.prototype.name = "InvalidCharacterError";
                                var o = function(e) {
                                        throw new n(e)
                                    },
                                    s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
                                    u = /[\t\n\f\r ]/g,
                                    l = function(e) {
                                        e = String(e).replace(u, "");
                                        var t = e.length;
                                        t % 4 == 0 && (e = e.replace(/==?$/, ""), t = e.length), (t % 4 == 1 || /[^+a-zA-Z0-9\/]/.test(e)) && o("Invalid character: the string to be decoded is not correctly encoded.");
                                        for (var r, a, i = 0, n = "", l = -1; ++l < t;) a = s.indexOf(e.charAt(l)), r = i % 4 ? 64 * r + a : a, i++ % 4 && (n += String.fromCharCode(255 & r >> (-2 * i & 6)));
                                        return n
                                    },
                                    d = function(e) {
                                        e = String(e), /[^\0-\xFF]/.test(e) && o("The string to be encoded contains characters outside of the Latin1 range.");
                                        for (var t, r, a, i, n = e.length % 3, u = "", l = -1, d = e.length - n; ++l < d;) t = e.charCodeAt(l) << 16, r = e.charCodeAt(++l) << 8, a = e.charCodeAt(++l), i = t + r + a, u += s.charAt(i >> 18 & 63) + s.charAt(i >> 12 & 63) + s.charAt(i >> 6 & 63) + s.charAt(63 & i);
                                        return 2 == n ? (t = e.charCodeAt(l) << 8, r = e.charCodeAt(++l), i = t + r, u += s.charAt(i >> 10) + s.charAt(i >> 4 & 63) + s.charAt(i << 2 & 63) + "=") : 1 == n && (i = e.charCodeAt(l), u += s.charAt(i >> 2) + s.charAt(i << 4 & 63) + "=="), u
                                    },
                                    c = {
                                        encode: d,
                                        decode: l,
                                        version: "0.1.0"
                                    };
                                void 0 !== (i = function() {
                                    return c
                                }.call(t, r, t, e)) && (e.exports = i)
                            }()
                        }).call(t, r(11)(e), r(5))
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.stopMonitoringHlsJs = t.monitorHlsJs = void 0;
                        var i = r(2),
                            n = a(i),
                            o = r(7),
                            s = a(o),
                            u = r(4),
                            l = function(e) {
                                if (!e) return {};
                                var t = n.default.performance.timing.navigationStart;
                                return {
                                    bytesLoaded: e.total,
                                    requestStart: Math.round(t + e.trequest),
                                    responseStart: Math.round(t + e.tfirst),
                                    responseEnd: Math.round(t + e.tload)
                                }
                            },
                            d = function(e) {
                                if (e && "function" == typeof e.getAllResponseHeaders) return (0, s.default)(e.getAllResponseHeaders())
                            },
                            c = function(e, t, r) {
                                var a = (arguments.length > 3 && void 0 !== arguments[3] && arguments[3], arguments[4]),
                                    i = e.log;
                                if (!n.default.performance || !n.default.performance.timing) return void i.warn("window.performance.timing not supported. Not tracking HLS.js.");
                                var o = function(r, a) {
                                        return e.emit(t, r, a)
                                    },
                                    s = function(e, t) {
                                        var r = t.levels,
                                            a = t.audioTracks,
                                            i = t.url,
                                            n = t.stats,
                                            s = t.networkDetails,
                                            c = {},
                                            f = {};
                                        r.forEach(function(e, t) {
                                            c[t] = {
                                                width: e.width,
                                                height: e.height,
                                                bitrate: e.bitrate,
                                                attrs: e.attrs
                                            }
                                        }), a.forEach(function(e, t) {
                                            f[t] = {
                                                name: e.name,
                                                language: e.lang,
                                                bitrate: e.bitrate
                                            }
                                        });
                                        var p = l(n),
                                            h = p.bytesLoaded,
                                            _ = p.requestStart,
                                            m = p.responseStart,
                                            v = p.responseEnd;
                                        o("requestcompleted", {
                                            request_event_type: e,
                                            request_bytes_loaded: h,
                                            request_start: _,
                                            request_response_start: m,
                                            request_response_end: v,
                                            request_type: "manifest",
                                            request_hostname: (0, u.extractHostname)(i),
                                            request_response_headers: d(s),
                                            request_rendition_lists: {
                                                media: c,
                                                audio: f,
                                                video: {}
                                            }
                                        })
                                    };
                                r.on(a.Events.MANIFEST_LOADED, s);
                                var c = function(e, t) {
                                    var r = t.details,
                                        a = t.level,
                                        i = t.networkDetails,
                                        n = t.stats,
                                        s = l(n),
                                        c = s.bytesLoaded,
                                        f = s.requestStart,
                                        p = s.responseStart,
                                        h = s.responseEnd;
                                    o("requestcompleted", {
                                        request_event_type: e,
                                        request_bytes_loaded: c,
                                        request_start: f,
                                        request_response_start: p,
                                        request_response_end: h,
                                        request_current_level: a,
                                        request_type: "manifest",
                                        request_hostname: (0, u.extractHostname)(r.url),
                                        request_response_headers: d(i)
                                    })
                                };
                                r.on(a.Events.LEVEL_LOADED, c);
                                var f = function(e, t) {
                                    var r = t.details,
                                        a = t.networkDetails,
                                        i = t.stats,
                                        n = l(i),
                                        s = n.bytesLoaded,
                                        c = n.requestStart,
                                        f = n.responseStart,
                                        p = n.responseEnd;
                                    o("requestcompleted", {
                                        request_event_type: e,
                                        request_bytes_loaded: s,
                                        request_start: c,
                                        request_response_start: f,
                                        request_response_end: p,
                                        request_type: "manifest",
                                        request_hostname: (0, u.extractHostname)(r.url),
                                        request_response_headers: d(a)
                                    })
                                };
                                r.on(a.Events.AUDIO_TRACK_LOADED, f);
                                var p = function(e, t) {
                                    var a = t.stats,
                                        i = t.networkDetails,
                                        n = t.frag,
                                        s = l(a),
                                        c = s.bytesLoaded,
                                        f = s.requestStart,
                                        p = s.responseStart,
                                        h = s.responseEnd,
                                        _ = {
                                            request_event_type: e,
                                            request_bytes_loaded: c,
                                            request_start: f,
                                            request_response_start: p,
                                            request_response_end: h,
                                            request_hostname: i ? (0, u.extractHostname)(i.responseURL) : void 0,
                                            request_response_headers: d(i),
                                            request_media_duration: n.duration
                                        };
                                    "main" === n.type ? (_.request_type = "media", _.request_current_level = n.level, _.request_video_width = (r.levels[n.level] || {}).width, _.request_video_height = (r.levels[n.level] || {}).height) : _.request_type = n.type, o("requestcompleted", _)
                                };
                                r.on(a.Events.FRAG_LOADED, p);
                                var h = function(e, t) {
                                    var r = t.details,
                                        i = t.response,
                                        n = t.context,
                                        s = t.frag;
                                    if (r === a.ErrorDetails.MANIFEST_LOAD_ERROR || r === a.ErrorDetails.MANIFEST_LOAD_TIMEOUT || r === a.ErrorDetails.FRAG_LOAD_ERROR || r === a.ErrorDetails.FRAG_LOAD_TIMEOUT || r === a.ErrorDetails.LEVEL_LOAD_ERROR || r === a.ErrorDetails.LEVEL_LOAD_TIMEOUT) {
                                        var l = s && s.url || n && n.url || "";
                                        o("requestfailed", {
                                            request_error: r,
                                            request_url: l,
                                            request_hostname: (0, u.extractHostname)(l),
                                            request_type: r === a.ErrorDetails.FRAG_LOAD_ERROR || r === a.ErrorDetails.FRAG_LOAD_TIMEOUT ? "media" : "manifest",
                                            request_error_code: i && i.code,
                                            request_error_text: i && i.text
                                        })
                                    }
                                };
                                r.on(a.Events.ERROR, h);
                                var _ = function(e, t) {
                                    var r = t.frag,
                                        a = r && r._url || "";
                                    o("requestcanceled", {
                                        request_cancel: e,
                                        request_url: a,
                                        request_type: "media",
                                        request_hostname: (0, u.extractHostname)(a)
                                    })
                                };
                                r.on(a.Events.FRAG_LOAD_EMERGENCY_ABORTED, _), r._stopMuxMonitor = function() {
                                    r.off(a.Events.MANIFEST_LOADED, s), r.off(a.Events.LEVEL_LOADED, c), r.off(a.Events.AUDIO_TRACK_LOADED, f), r.off(a.Events.FRAG_LOADED, p), r.off(a.Events.ERROR, h), r.off(a.Events.FRAG_LOAD_EMERGENCY_ABORTED, _), r.off(a.Events.DESTROYING, r._stopMuxMonitor), delete r._stopMuxMonitor
                                }, r.on(a.Events.DESTROYING, r._stopMuxMonitor)
                            },
                            f = function(e) {
                                e && "function" == typeof e._stopMuxMonitor && e._stopMuxMonitor()
                            };
                        t.monitorHlsJs = c, t.stopMonitoringHlsJs = f
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.stopMonitoringDashJS = t.monitorDashJS = void 0;
                        var i = r(2),
                            n = a(i),
                            o = r(7),
                            s = a(o),
                            u = r(4),
                            l = function(e, t) {
                                if (!e || "function" != typeof e.getRequests) return {};
                                var r = e.getRequests({
                                    state: "executed"
                                });
                                if (0 === r.length) return {};
                                var a = r[r.length - 1],
                                    i = (0, u.extractHostname)(a.url),
                                    n = a.bytesLoaded,
                                    o = new Date(a.requestStartDate).getTime(),
                                    l = new Date(a.firstByteDate).getTime(),
                                    d = new Date(a.requestEndDate).getTime(),
                                    c = isNaN(a.duration) ? 0 : a.duration,
                                    f = t.getMetricsFor(a.mediaType).HttpList,
                                    p = void 0;
                                return f.length > 0 && (p = (0, s.default)(f[f.length - 1]._responseHeaders || "")), {
                                    requestStart: o,
                                    requestResponseStart: l,
                                    requestResponseEnd: d,
                                    requestBytesLoaded: n,
                                    requestResponseHeaders: p,
                                    requestMediaDuration: c,
                                    requestHostname: i
                                }
                            },
                            d = function(e, t) {
                                var r = t.getQualityFor(e),
                                    a = t.getCurrentTrackFor(e),
                                    i = a.bitrateList;
                                return i ? {
                                    currentLevel: r,
                                    renditionWidth: i[r].width || null,
                                    renditionHeight: i[r].height || null,
                                    renditionBitrate: i[r].bandwidth
                                } : {}
                            },
                            c = function(e, t, r) {
                                var a = (arguments.length > 3 && void 0 !== arguments[3] && arguments[3], e.log);
                                if (!r || !r.on) return void a.warn("Invalid dash.js player reference. Monitoring blocked.");
                                var i = function(r, a) {
                                        return e.emit(t, r, a)
                                    },
                                    o = function(e) {
                                        var t = e.type,
                                            r = e.data,
                                            a = r || {},
                                            n = a.url;
                                        i("requestcompleted", {
                                            request_event_type: t,
                                            request_start: 0,
                                            request_response_start: 0,
                                            request_response_end: 0,
                                            request_bytes_loaded: -1,
                                            request_type: "manifest",
                                            request_hostname: (0, u.extractHostname)(n)
                                        })
                                    };
                                r.on("manifestLoaded", o);
                                var s = {},
                                    c = function(e) {
                                        var t = e.type,
                                            a = e.fragmentModel,
                                            n = e.chunk,
                                            o = n || {},
                                            u = o.mediaInfo,
                                            d = u || {},
                                            c = d.type,
                                            f = d.bitrateList;
                                        f = f || [];
                                        var p = {};
                                        f.forEach(function(e, t) {
                                            p[t] = {}, p[t].width = e.width, p[t].height = e.height, p[t].bitrate = e.bandwidth, p[t].attrs = {}
                                        }), "video" === c ? s.video = p : "audio" === c ? s.audio = p : s.media = p;
                                        var h = l(a, r),
                                            _ = h.requestStart,
                                            m = h.requestResponseStart,
                                            v = h.requestResponseEnd,
                                            y = h.requestResponseHeaders,
                                            b = h.requestMediaDuration,
                                            g = h.requestHostname;
                                        i("requestcompleted", {
                                            request_event_type: t,
                                            request_start: _,
                                            request_response_start: m,
                                            request_response_end: v,
                                            request_bytes_loaded: -1,
                                            request_type: c + "_init",
                                            request_response_headers: y,
                                            request_hostname: g,
                                            request_media_duration: b,
                                            request_rendition_lists: s
                                        })
                                    };
                                r.on("initFragmentLoaded", c);
                                var f = function(e) {
                                    var t = e.type,
                                        a = e.fragmentModel,
                                        n = e.chunk,
                                        o = n || {},
                                        s = o.mediaInfo,
                                        u = o.start,
                                        c = s || {},
                                        f = c.type,
                                        p = l(a, r),
                                        h = p.requestStart,
                                        _ = p.requestResponseStart,
                                        m = p.requestResponseEnd,
                                        v = p.requestBytesLoaded,
                                        y = p.requestResponseHeaders,
                                        b = p.requestMediaDuration,
                                        g = p.requestHostname,
                                        w = d(f, r),
                                        x = w.currentLevel,
                                        S = w.renditionWidth,
                                        T = w.renditionHeight,
                                        E = w.renditionBitrate;
                                    i("requestcompleted", {
                                        request_event_type: t,
                                        request_start: h,
                                        request_response_start: _,
                                        request_response_end: m,
                                        request_bytes_loaded: v,
                                        request_type: f,
                                        request_response_headers: y,
                                        request_hostname: g,
                                        request_media_start_time: u,
                                        request_media_duration: b,
                                        request_current_level: x,
                                        request_labeled_bitrate: E,
                                        request_video_width: S,
                                        request_video_height: T
                                    })
                                };
                                r.on("mediaFragmentLoaded", f);
                                var p = function(e) {
                                    var t = e.error,
                                        r = e.event;
                                    r = r || {};
                                    var a = r.request || {},
                                        o = n.default.event && n.default.event.currentTarget || {};
                                    i("requestfailed", {
                                        request_error: t + "_" + r.id + "_" + a.type,
                                        request_url: r.url,
                                        request_hostname: (0, u.extractHostname)(r.url),
                                        request_type: a.mediaType,
                                        request_error_code: o.status,
                                        request_error_type: o.statusText
                                    })
                                };
                                r.on("error", p), r._stopMuxMonitor = function() {
                                    r.off("manifestLoaded", o), r.off("initFragmentLoaded", c), r.off("mediaFragmentLoaded", f), r.off("error", p), delete r._stopMuxMonitor
                                }
                            },
                            f = function(e) {
                                e && "function" == typeof e._stopMuxMonitor && e._stopMuxMonitor()
                            };
                        t.monitorDashJS = c, t.stopMonitoringDashJS = f
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var a = function() {},
                            i = 0;
                        a.prototype.on = function(e, t, r) {
                            return t._eventEmitterGuid = t._eventEmitterGuid || ++i, this._listeners = this._listeners || {}, this._listeners[e] = this._listeners[e] || [], r && (t = t.bind(r)), this._listeners[e].push(t), t
                        }, a.prototype.off = function(e, t) {
                            var r = this._listeners && this._listeners[e];
                            r && r.forEach(function(e, a) {
                                e._eventEmitterGuid === t._eventEmitterGuid && r.splice(a, 1)
                            })
                        }, a.prototype.one = function(e, t, r) {
                            var a = this;
                            t._eventEmitterGuid = t._eventEmitterGuid || ++i;
                            var n = function i() {
                                a.off(e, i), t.apply(r || this, arguments)
                            };
                            n._eventEmitterGuid = t._eventEmitterGuid, this.on(e, n)
                        }, a.prototype.emit = function(e, t) {
                            var r = this;
                            if (this._listeners) {
                                t = t || {};
                                var a = this._listeners["before*"] || [],
                                    i = this._listeners[e] || [],
                                    n = this._listeners["after" + e] || [],
                                    o = function(t, a) {
                                        t = t.slice(), t.forEach(function(t) {
                                            t.call(r, {
                                                type: e
                                            }, a)
                                        })
                                    };
                                o(a, t), o(i, t), o(n, t)
                            }
                        }, t.default = a
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var a = r(2),
                            i = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(a),
                            n = function() {
                                this._playbackHeartbeatInterval = null, this._playheadShouldBeProgressing = !1, this.on("playing", function() {
                                    this._playheadShouldBeProgressing = !0
                                }), this.on("play", this._startPlaybackHeartbeatInterval), this.on("adbreakstart", this._startPlaybackHeartbeatInterval), this.on("adplay", this._startPlaybackHeartbeatInterval), this.on("seeking", this._startPlaybackHeartbeatInterval), this.on("devicewake", this._startPlaybackHeartbeatInterval), this.on("viewstart", this._startPlaybackHeartbeatInterval), this.on("pause", this._stopPlaybackHeartbeatInterval), this.on("ended", this._stopPlaybackHeartbeatInterval), this.on("viewend", this._stopPlaybackHeartbeatInterval), this.on("error", this._stopPlaybackHeartbeatInterval), this.on("adpause", this._stopPlaybackHeartbeatInterval), this.on("adbreakend", this._stopPlaybackHeartbeatInterval), this.on("seeked", function() {
                                    this.data.player_is_paused && this._stopPlaybackHeartbeatInterval()
                                }), this.on("timeupdate", function() {
                                    null !== this._playbackHeartbeatInterval && this.emit("playbackheartbeat")
                                }), this.on("devicesleep", function(e, t) {
                                    null !== this._playbackHeartbeatInterval && (i.default.clearInterval(this._playbackHeartbeatInterval), this.emit("playbackheartbeatend", {
                                        viewer_time: t.viewer_time
                                    }), this._playbackHeartbeatInterval = null)
                                })
                            };
                        n.prototype._startPlaybackHeartbeatInterval = function() {
                            var e = this;
                            null === this._playbackHeartbeatInterval && (this.emit("playbackheartbeat"), this._playbackHeartbeatInterval = i.default.setInterval(function() {
                                e.emit("playbackheartbeat")
                            }, this.playbackHeartbeatTime))
                        }, n.prototype._stopPlaybackHeartbeatInterval = function() {
                            this._playheadShouldBeProgressing = !1, null !== this._playbackHeartbeatInterval && (i.default.clearInterval(this._playbackHeartbeatInterval), this.emit("playbackheartbeatend"), this._playbackHeartbeatInterval = null)
                        }, t.default = n
                    }, function(e, t, r) {
                        "use strict";

                        function a() {
                            var e = this;
                            this.on("viewinit", function() {
                                e.viewErrored = !1
                            }), this.on("error", function() {
                                try {
                                    var t = e.errorTranslator({
                                        player_error_code: e.data.player_error_code,
                                        player_error_message: e.data.player_error_message
                                    });
                                    t ? (e.data.player_error_code = t.player_error_code, e.data.player_error_message = t.player_error_message, e.viewErrored = !0) : (delete e.data.player_error_code, delete e.data.player_error_message)
                                } catch (t) {
                                    e.mux.log.warn("Exception in error translator callback.", t), e.viewErrored = !0
                                }
                            })
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var a = r(1),
                            i = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(a),
                            n = function() {
                                this._watchTimeTrackerLastCheckedTime = null, this.on("playbackheartbeat", this._updateWatchTime), this.on("playbackheartbeatend", this._clearWatchTimeState)
                            };
                        n.prototype._updateWatchTime = function(e, t) {
                            var r = t.viewer_time;
                            null === this._watchTimeTrackerLastCheckedTime && (this._watchTimeTrackerLastCheckedTime = r), (0, i.default)(this.data, "view_watch_time", r - this._watchTimeTrackerLastCheckedTime), this._watchTimeTrackerLastCheckedTime = r
                        }, n.prototype._clearWatchTimeState = function(e, t) {
                            this._updateWatchTime(e, t), this._watchTimeTrackerLastCheckedTime = null
                        }, t.default = n
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var a = r(1),
                            i = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(a),
                            n = function() {
                                this._playbackTimeTrackerLastPlayheadPosition = -1, this.on("playbackheartbeat", this._updatePlaybackTime), this.on("playbackheartbeatend", this._clearPlaybackTimeState), this.on("seeking", this._clearPlaybackTimeState)
                            };
                        n.prototype._updatePlaybackTime = function() {
                            var e = this.data.player_playhead_time;
                            if (this._playbackTimeTrackerLastPlayheadPosition >= 0 && e > this._playbackTimeTrackerLastPlayheadPosition) {
                                var t = e - this._playbackTimeTrackerLastPlayheadPosition;
                                t <= 1e3 && (0, i.default)(this.data, "view_content_playback_time", t)
                            }
                            this._playbackTimeTrackerLastPlayheadPosition = e
                        }, n.prototype._clearPlaybackTimeState = function() {
                            this._updatePlaybackTime(), this._playbackTimeTrackerLastPlayheadPosition = -1
                        }, t.default = n
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var a = function() {
                            this.on("playbackheartbeat", this._updatePlayheadTime), this.on("playbackheartbeatend", this._updatePlayheadTime), this.on("timeupdate", this._updatePlayheadTime), this.on("destroy", function() {
                                this.off("timeupdate", this._updatePlayheadTime)
                            })
                        };
                        a.prototype._updatePlayheadTime = function(e, t) {
                            if (t.player_playhead_time) this.data.player_playhead_time = t.player_playhead_time;
                            else if (this.getPlayheadTime) {
                                var r = this.getPlayheadTime();
                                void 0 !== r && (this.data.player_playhead_time = r)
                            }
                        }, t.default = a
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var a = r(1),
                            i = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(a),
                            n = function() {
                                this._lastCheckedTime = null, this._lastPlayheadTime = null, this._lastPlayheadTimeUpdatedTime = null, this.on("playbackheartbeat", this._checkIfRebuffering), this.on("playbackheartbeatend", this._cleanupRebufferTracker), this.on("seeking", function() {
                                    this._cleanupRebufferTracker(null, {
                                        viewer_time: Date.now()
                                    })
                                })
                            };
                        n.prototype._checkIfRebuffering = function(e, t) {
                            if (this.isSeeking || this.isAdBreak || !this._playheadShouldBeProgressing) return void this._cleanupRebufferTracker(e, t);
                            if (null === this._lastCheckedTime) return this._prepareRebufferTrackerState(t.viewer_time), void this._updateRebufferMetrics();
                            if (this._lastPlayheadTime !== this.data.player_playhead_time) return void this._cleanupRebufferTracker(e, t, !0);
                            var r = t.viewer_time - this._lastPlayheadTimeUpdatedTime;
                            r >= this.sustainedRebufferThreshold && (this._rebuffering ? this._updateRebufferMetrics(t.viewer_time - this._lastCheckedTime) : (this._rebuffering = !0, (0, i.default)(this.data, "view_rebuffer_count", 1), this._updateRebufferMetrics(r), this.emit("rebufferstart"))), this._lastCheckedTime = t.viewer_time
                        }, n.prototype._clearRebufferTrackerState = function() {
                            this._lastCheckedTime = null, this._lastPlayheadTime = null, this._lastPlayheadTimeUpdatedTime = null
                        }, n.prototype._prepareRebufferTrackerState = function(e) {
                            this._lastCheckedTime = e, this._lastPlayheadTime = this.data.player_playhead_time, this._lastPlayheadTimeUpdatedTime = e
                        }, n.prototype._cleanupRebufferTracker = function(e, t) {
                            var r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
                            if (this._rebuffering) this._rebuffering = !1, this._updateRebufferMetrics(t.viewer_time - this._lastCheckedTime), this.emit("rebufferend", {
                                viewer_time: t.viewer_time
                            });
                            else {
                                if (null === this._lastCheckedTime) return void this._updateRebufferMetrics();
                                var a = this.data.player_playhead_time - this._lastPlayheadTime,
                                    n = t.viewer_time - this._lastPlayheadTimeUpdatedTime;
                                a > 0 && n - a > this.minimumRebufferDuration ? ((0, i.default)(this.data, "view_rebuffer_count", 1), this._updateRebufferMetrics(n - a), this.emit("rebufferstart", {
                                    viewer_time: this._lastPlayheadTimeUpdatedTime
                                }), this.emit("rebufferend", {
                                    viewer_time: this._lastPlayheadTimeUpdatedTime + n - a
                                })) : this._updateRebufferMetrics()
                            }
                            r ? this._prepareRebufferTrackerState(t.viewer_time) : this._clearRebufferTrackerState()
                        }, n.prototype._updateRebufferMetrics = function(e) {
                            e > 0 && (0, i.default)(this.data, "view_rebuffer_duration", e), this.data.view_watch_time >= 0 && this.data.view_rebuffer_count > 0 && (this.data.view_rebuffer_frequency = this.data.view_rebuffer_count / this.data.view_watch_time, this.data.view_rebuffer_percentage = this.data.view_rebuffer_duration / this.data.view_watch_time)
                        }, t.default = n
                    }, function(e, t, r) {
                        "use strict";
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var a = function() {
                            this.on("viewinit", function() {
                                var e = this.data,
                                    t = e.view_id;
                                if (!e.view_program_changed) {
                                    var r = function(e, r) {
                                        var a = r.viewer_time;
                                        "playing" === e.type && void 0 === this.data.view_time_to_first_frame ? this.calculateTimeToFirstFrame(a || Date.now(), t) : "adplaying" !== e.type || void 0 !== this.data.view_time_to_first_frame && !this.inPrerollPosition() || this.calculateTimeToFirstFrame(a || Date.now(), t)
                                    };
                                    this.one("playing", r), this.one("adplaying", r), this.one("viewend", function() {
                                        this.off("playing", r), this.off("adplaying", r)
                                    })
                                }
                            })
                        };
                        a.prototype.calculateTimeToFirstFrame = function(e, t) {
                            t === this.data.view_id && (this._updateWatchTime(null, {
                                viewer_time: e
                            }), this.data.view_time_to_first_frame = this.data.view_watch_time, (this.data.player_autoplay_on || this.data.video_is_autoplay) && this.NAVIGATION_START && (this.data.view_aggregate_startup_time = this.data.view_start + this.data.view_watch_time - this.NAVIGATION_START))
                        }, t.default = a
                    }, function(e, t, r) {
                        "use strict";

                        function a() {
                            var e = this;
                            this.on("viewinit", function() {
                                this._lastPlayheadPosition = -1
                            });
                            var t = ["pause", "rebufferstart", "seeking", "error", "adbreakstart", "hb"],
                                r = ["playing", "hb"];
                            t.forEach(function(t) {
                                e.on(t, function() {
                                    if (this._lastPlayheadPosition >= 0 && this.data.player_playhead_time >= 0 && this._lastPlayerWidth >= 0 && this._lastSourceWidth > 0 && this._lastPlayerHeight >= 0 && this._lastSourceHeight > 0) {
                                        var e = this.data.player_playhead_time - this._lastPlayheadPosition;
                                        if (e < 0) return void(this._lastPlayheadPosition = -1);
                                        var t = Math.min(this._lastPlayerWidth / this._lastSourceWidth, this._lastPlayerHeight / this._lastSourceHeight),
                                            r = Math.max(0, t - 1),
                                            a = Math.max(0, 1 - t);
                                        this.data.view_max_upscale_percentage = Math.max(this.data.view_max_upscale_percentage || 0, r), this.data.view_max_downscale_percentage = Math.max(this.data.view_max_downscale_percentage || 0, a), (0, n.default)(this.data, "view_total_content_playback_time", e), (0, n.default)(this.data, "view_total_upscaling", r * e), (0, n.default)(this.data, "view_total_downscaling", a * e)
                                    }
                                    this._lastPlayheadPosition = -1
                                })
                            }), r.forEach(function(t) {
                                e.on(t, function() {
                                    this._lastPlayheadPosition = this.data.player_playhead_time, this._lastPlayerWidth = this.data.player_width, this._lastPlayerHeight = this.data.player_height, this._lastSourceWidth = this.data.video_source_width, this._lastSourceHeight = this.data.video_source_height
                                })
                            })
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a;
                        var i = r(1),
                            n = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(i)
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }

                        function i() {
                            this.isSeeking = !1, this.on("seeking", function(e, t) {
                                (0, u.default)(this.data, t), this._lastSeekingTime = Date.now(), !1 === this.isSeeking && (this.isSeeking = !0, this.send("seeking"))
                            }), this.on("seeked", function() {
                                this.isSeeking = !1;
                                var e = this._lastSeekingTime || Date.now(),
                                    t = Date.now() - e;
                                (0, o.default)(this.data, "view_seek_count", 1), (0, o.default)(this.data, "view_seek_duration", t);
                                var r = this.data.view_max_seek_time || 0;
                                this.data.view_max_seek_time = Math.max(r, t)
                            }), this.on("viewend", function() {
                                this.isSeeking = !1
                            })
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = i;
                        var n = r(1),
                            o = a(n),
                            s = r(0),
                            u = a(s)
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var i = function() {
                                function e(e, t) {
                                    var r = [],
                                        a = !0,
                                        i = !1,
                                        n = void 0;
                                    try {
                                        for (var o, s = e[Symbol.iterator](); !(a = (o = s.next()).done) && (r.push(o.value), !t || r.length !== t); a = !0);
                                    } catch (e) {
                                        i = !0, n = e
                                    } finally {
                                        try {
                                            !a && s.return && s.return()
                                        } finally {
                                            if (i) throw n
                                        }
                                    }
                                    return r
                                }
                                return function(t, r) {
                                    if (Array.isArray(t)) return t;
                                    if (Symbol.iterator in Object(t)) return e(t, r);
                                    throw new TypeError("Invalid attempt to destructure non-iterable instance")
                                }
                            }(),
                            n = r(1),
                            o = a(n),
                            s = r(4),
                            u = r(0),
                            l = a(u),
                            d = function(e, t) {
                                e.push(t), e.sort(function(e, t) {
                                    return e.viewer_time - t.viewer_time
                                })
                            },
                            c = ["adbreakstart", "adrequest", "adresponse", "adplay", "adplaying", "adpause", "adended", "adbreakend", "aderror"],
                            f = function() {
                                var e = this;
                                this.on("viewinit", function() {
                                    this.isAdBreak = !1, this._currentAdRequestNumber = 0, this._currentAdResponseNumber = 0, this._adRequests = [], this._adResponses = [], this._adHasPlayed = !1, this._wouldBeNewAdPlay = !0, this._prerollPlayTime = void 0
                                }), c.forEach(function(t) {
                                    return e.on(t, e._updateAdData)
                                });
                                var t = function() {
                                    e.isAdBreak = !1
                                };
                                this.on("adbreakstart", function() {
                                    this.isAdBreak = !0
                                }), this.on("play", t), this.on("playing", t), this.on("viewend", t), this.on("adrequest", function(e, t) {
                                    t = (0, l.default)({
                                        ad_request_id: "generatedAdRequestId" + this._currentAdRequestNumber++
                                    }, t), d(this._adRequests, t), (0, o.default)(this.data, "view_ad_request_count"), this.inPrerollPosition() && (this.data.view_preroll_requested = !0, this._adHasPlayed || (0, o.default)(this.data, "view_preroll_request_count"))
                                }), this.on("adresponse", function(e, t) {
                                    t = (0, l.default)({
                                        ad_request_id: "generatedAdRequestId" + this._currentAdResponseNumber++
                                    }, t), d(this._adResponses, t);
                                    var r = this.findAdRequest(t.ad_request_id);
                                    r && (0, o.default)(this.data, "view_ad_request_time", Math.max(0, t.viewer_time - r.viewer_time))
                                }), this.on("adplay", function(e, t) {
                                    this._adHasPlayed = !0, this._wouldBeNewAdPlay && (this._wouldBeNewAdPlay = !1, (0, o.default)(this.data, "view_ad_played_count")), this.inPrerollPosition() && !this.data.view_preroll_played && (this.data.view_preroll_played = !0, this._adRequests.length > 0 && (this.data.view_preroll_request_time = Math.max(0, t.viewer_time - this._adRequests[0].viewer_time)), this.data.view_start && (this.data.view_startup_preroll_request_time = Math.max(0, t.viewer_time - this.data.view_start)), this._prerollPlayTime = t.viewer_time)
                                }), this.on("adplaying", function(e, t) {
                                    this.inPrerollPosition() && void 0 === this.data.view_preroll_load_time && void 0 !== this._prerollPlayTime && (this.data.view_preroll_load_time = t.viewer_time - this._prerollPlayTime, this.data.view_startup_preroll_load_time = t.viewer_time - this._prerollPlayTime)
                                }), this.on("adended", function() {
                                    this._wouldBeNewAdPlay = !0
                                }), this.on("aderror", function() {
                                    this._wouldBeNewAdPlay = !0
                                })
                            };
                        f.prototype.inPrerollPosition = function() {
                            return void 0 === this.data.view_content_playback_time || this.data.view_content_playback_time <= 1e3
                        }, f.prototype.findAdRequest = function(e) {
                            for (var t = 0; t < this._adRequests.length; t++)
                                if (this._adRequests[t].ad_request_id === e) return this._adRequests[t]
                        }, f.prototype._updateAdData = function(e, t) {
                            if (this.inPrerollPosition()) {
                                if (!this.data.view_preroll_ad_tag_hostname && t.ad_tag_url) {
                                    var r = (0, s.extractHostnameAndDomain)(t.ad_tag_url),
                                        a = i(r, 2),
                                        n = a[0],
                                        o = a[1];
                                    this.data.view_preroll_ad_tag_domain = o, this.data.view_preroll_ad_tag_hostname = n
                                }
                                if (!this.data.view_preroll_ad_asset_hostname && t.ad_asset_url) {
                                    var u = (0, s.extractHostnameAndDomain)(t.ad_asset_url),
                                        l = i(u, 2),
                                        d = l[0],
                                        c = l[1];
                                    this.data.view_preroll_ad_asset_domain = c, this.data.view_preroll_ad_asset_hostname = d
                                }
                            }
                        }, t.default = f
                    }, function(e, t, r) {
                        "use strict";

                        function a() {
                            var e = this,
                                t = void 0,
                                r = void 0,
                                a = function() {
                                    (0, n.default)(e.data, "view_waiting_rebuffer_count", 1), t = Date.now(), r = window.setInterval(function() {
                                        if (t) {
                                            var r = Date.now();
                                            (0, n.default)(e.data, "view_waiting_rebuffer_duration", r - t), t = r
                                        }
                                    }, 250)
                                },
                                i = function() {
                                    t && ((0, n.default)(e.data, "view_waiting_rebuffer_duration", Date.now() - t), t = !1, window.clearInterval(r))
                                },
                                o = !1,
                                s = function() {
                                    o = !0
                                },
                                u = function() {
                                    o = !1, i()
                                };
                            this.on("waiting", function() {
                                o && a()
                            }), this.on("playing", function() {
                                i(), s()
                            }), this.on("pause", u), this.on("seeking", u)
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a;
                        var i = r(1),
                            n = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(i)
                    }, function(e, t, r) {
                        "use strict";

                        function a() {
                            var e = this;
                            this.one("playbackheartbeat", o), this.on("playbackheartbeatend", function() {
                                e.off("before*", s), e.one("playbackheartbeat", o)
                            })
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a;
                        var i = r(0),
                            n = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(i),
                            o = function() {
                                this.lastWallClockTime = Date.now(), this.on("before*", s)
                            },
                            s = function(e) {
                                var t = Date.now(),
                                    r = this.lastWallClockTime;
                                this.lastWallClockTime = t, t - r > 3e4 && (this.emit("devicesleep", {
                                    viewer_time: r
                                }), (0, n.default)(this.data, {
                                    viewer_time: r
                                }), this.send("devicesleep"), this.emit("devicewake", {
                                    viewer_time: t
                                }), (0, n.default)(this.data, {
                                    viewer_time: t
                                }), this.send("devicewake"))
                            }
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                                return typeof e
                            } : function(e) {
                                return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
                            },
                            n = r(39),
                            o = r(3),
                            s = a(o),
                            u = r(43),
                            l = a(u),
                            d = r(9),
                            c = a(d),
                            f = r(15),
                            p = a(f),
                            h = r(44),
                            _ = a(h),
                            m = r(46),
                            v = a(m),
                            y = r(0),
                            b = a(y),
                            g = ["env_key", "view_id", "view_sequence_number", "player_sequence_number", "beacon_domain", "player_playhead_time", "viewer_time", "mux_api_version", "event", "video_id"],
                            w = ["viewstart", "error", "ended", "viewend"],
                            x = function(e, t) {
                                var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                                this.mux = e, this.envKey = t, this.eventQueue = new _.default((0, l.default)(t, r.beaconDomain)), this.previousBeaconData = null, this.lastEventTime = null, this.sampleRate = r.sampleRate, this.disableCookies = r.disableCookies, this.respectDoNotTrack = r.respectDoNotTrack, this.pageLevelData = {
                                    mux_api_version: this.mux.API_VERSION,
                                    mux_embed_version: this.mux.VERSION,
                                    page_url: window.location.href,
                                    viewer_application_name: v.default.name,
                                    viewer_application_version: v.default.version,
                                    viewer_application_engine: v.default.layout,
                                    viewer_device_name: v.default.product,
                                    viewer_device_category: "",
                                    viewer_device_manufacturer: v.default.manufacturer,
                                    viewer_os_family: v.default.os && v.default.os.family,
                                    viewer_os_architecture: v.default.os && v.default.os.architecture,
                                    viewer_os_version: v.default.os && v.default.os.version
                                }, this.viewerData = this.disableCookies ? {} : (0, n.getAndUpdateViewerData)()
                            };
                        x.prototype.send = function(e, t) {
                            if (e) {
                                if (this.respectDoNotTrack && (0, c.default)()) return s.default.info("Not sending `" + e + "` because Do Not Track is enabled in your browser");
                                if (!t || "object" !== (void 0 === t ? "undefined" : i(t))) return s.default.error("A data object was expected in send() but was not provided");
                                var r = this.disableCookies ? {} : (0, n.getAndUpdateSessionData)(),
                                    a = {};
                                (0, b.default)(a, this.pageLevelData), (0, b.default)(a, t), (0, b.default)(a, r), (0, b.default)(a, this.viewerData), a.event = e, a.env_key = this.envKey, a.user_id && (a.viewer_user_id = a.user_id, delete a.user_id);
                                var o = a.mux_sample_number >= this.sampleRate,
                                    u = this._deduplicateBeaconData(e, a),
                                    l = (0, p.default)(u);
                                if (this.lastEventTime = Date.now(), o) return s.default.info("Not sending event due to sample rate restriction", e, a, l);
                                if (!this.envKey) return s.default.info("Not sending event due to missing environment key", e, a, l);
                                if (!this.rateLimited)
                                    if (s.default.info("Sending event", e, a, l), this.rateLimited = !this.eventQueue.queueEvent(e, l), this.mux.WINDOW_UNLOADING && "viewend" === e) this.eventQueue.destroy(!0);
                                    else if (w.indexOf(e) >= 0 && this.eventQueue.flushEvents(), this.rateLimited) return a.event = "eventrateexceeded", l = (0, p.default)(a), this.eventQueue.queueEvent(a.event, l), s.default.error("Beaconing disabled due to rate limit.")
                            }
                        }, x.prototype.destroy = function() {
                            this.eventQueue.destroy(!1)
                        };
                        var S = function(e, t, r, a) {
                            return !(!e || 0 !== t.indexOf("request_") || "request_response_headers" !== t && "object" === (void 0 === r ? "undefined" : i(r)) && "object" === (void 0 === a ? "undefined" : i(a)) && Object.keys(r || {}).length === Object.keys(a || {}).length)
                        };
                        x.prototype._deduplicateBeaconData = function(e, t) {
                            var r = this,
                                a = {},
                                i = t.view_id;
                            if (!i || "viewstart" === e || "viewend" === e || !this.previousBeaconData || Date.now() - this.lastEventTime >= 6e5) a = (0, b.default)({}, t), i && (this.previousBeaconData = a), i && "viewend" === e && (this.previousBeaconData = null);
                            else {
                                var n = 0 === e.indexOf("request");
                                Object.keys(t).forEach(function(e) {
                                    var i = t[e];
                                    (i !== r.previousBeaconData[e] || g.indexOf(e) > -1 || S(n, e, i, r.previousBeaconData[e])) && (a[e] = i, r.previousBeaconData[e] = i)
                                })
                            }
                            return a
                        }, t.default = x
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.getAndUpdateSessionData = t.getAndUpdateViewerData = void 0;
                        var i = r(12),
                            n = a(i),
                            o = r(42),
                            s = a(o),
                            u = r(6),
                            l = function() {
                                var e = void 0;
                                try {
                                    e = n.default.parse(s.default.get("muxData") || "")
                                } catch (t) {
                                    e = {}
                                }
                                return e
                            },
                            d = function(e) {
                                s.default.set("muxData", n.default.stringify(e), {
                                    expires: 7300
                                })
                            },
                            c = function() {
                                var e = l();
                                return e.mux_viewer_id = e.mux_viewer_id || (0, u.generateUUID)(), e.msn = e.msn || Math.random(), d(e), {
                                    mux_viewer_id: e.mux_viewer_id,
                                    mux_sample_number: e.msn
                                }
                            },
                            f = function() {
                                var e = l(),
                                    t = Date.now();
                                return e.session_start && (e.sst = e.session_start, delete e.session_start), e.session_id && (e.sid = e.session_id, delete e.session_id), e.session_expires && (e.sex = e.session_expires, delete e.session_expires), (!e.sex || e.sex < t) && (e.sid = (0, u.generateUUID)(), e.sst = t), e.sex = t + 15e5, d(e), {
                                    session_id: e.sid,
                                    session_start: e.sst,
                                    session_expires: e.sex
                                }
                            };
                        t.getAndUpdateViewerData = c, t.getAndUpdateSessionData = f
                    }, function(e, t, r) {
                        "use strict";
                        var a = r(13),
                            i = r(14),
                            n = {
                                brackets: function(e) {
                                    return e + "[]"
                                },
                                indices: function(e, t) {
                                    return e + "[" + t + "]"
                                },
                                repeat: function(e) {
                                    return e
                                }
                            },
                            o = Date.prototype.toISOString,
                            s = {
                                delimiter: "&",
                                encode: !0,
                                encoder: a.encode,
                                encodeValuesOnly: !1,
                                serializeDate: function(e) {
                                    return o.call(e)
                                },
                                skipNulls: !1,
                                strictNullHandling: !1
                            },
                            u = function e(t, r, i, n, o, u, l, d, c, f, p, h) {
                                var _ = t;
                                if ("function" == typeof l) _ = l(r, _);
                                else if (_ instanceof Date) _ = f(_);
                                else if (null === _) {
                                    if (n) return u && !h ? u(r, s.encoder) : r;
                                    _ = ""
                                }
                                if ("string" == typeof _ || "number" == typeof _ || "boolean" == typeof _ || a.isBuffer(_)) return u ? [p(h ? r : u(r, s.encoder)) + "=" + p(u(_, s.encoder))] : [p(r) + "=" + p(String(_))];
                                var m = [];
                                if (void 0 === _) return m;
                                var v;
                                if (Array.isArray(l)) v = l;
                                else {
                                    var y = Object.keys(_);
                                    v = d ? y.sort(d) : y
                                }
                                for (var b = 0; b < v.length; ++b) {
                                    var g = v[b];
                                    o && null === _[g] || (m = Array.isArray(_) ? m.concat(e(_[g], i(r, g), i, n, o, u, l, d, c, f, p, h)) : m.concat(e(_[g], r + (c ? "." + g : "[" + g + "]"), i, n, o, u, l, d, c, f, p, h)))
                                }
                                return m
                            };
                        e.exports = function(e, t) {
                            var r = e,
                                o = t ? a.assign({}, t) : {};
                            if (null !== o.encoder && void 0 !== o.encoder && "function" != typeof o.encoder) throw new TypeError("Encoder has to be a function.");
                            var l = void 0 === o.delimiter ? s.delimiter : o.delimiter,
                                d = "boolean" == typeof o.strictNullHandling ? o.strictNullHandling : s.strictNullHandling,
                                c = "boolean" == typeof o.skipNulls ? o.skipNulls : s.skipNulls,
                                f = "boolean" == typeof o.encode ? o.encode : s.encode,
                                p = "function" == typeof o.encoder ? o.encoder : s.encoder,
                                h = "function" == typeof o.sort ? o.sort : null,
                                _ = void 0 !== o.allowDots && o.allowDots,
                                m = "function" == typeof o.serializeDate ? o.serializeDate : s.serializeDate,
                                v = "boolean" == typeof o.encodeValuesOnly ? o.encodeValuesOnly : s.encodeValuesOnly;
                            if (void 0 === o.format) o.format = i.default;
                            else if (!Object.prototype.hasOwnProperty.call(i.formatters, o.format)) throw new TypeError("Unknown format option provided.");
                            var y, b, g = i.formatters[o.format];
                            "function" == typeof o.filter ? (b = o.filter, r = b("", r)) : Array.isArray(o.filter) && (b = o.filter, y = b);
                            var w = [];
                            if ("object" != typeof r || null === r) return "";
                            var x;
                            x = o.arrayFormat in n ? o.arrayFormat : "indices" in o ? o.indices ? "indices" : "repeat" : "indices";
                            var S = n[x];
                            y || (y = Object.keys(r)), h && y.sort(h);
                            for (var T = 0; T < y.length; ++T) {
                                var E = y[T];
                                c && null === r[E] || (w = w.concat(u(r[E], E, S, d, c, f ? p : null, b, h, _, m, g, v)))
                            }
                            var O = w.join(l),
                                k = !0 === o.addQueryPrefix ? "?" : "";
                            return O.length > 0 ? k + O : ""
                        }
                    }, function(e, t, r) {
                        "use strict";
                        var a = r(13),
                            i = Object.prototype.hasOwnProperty,
                            n = {
                                allowDots: !1,
                                allowPrototypes: !1,
                                arrayLimit: 20,
                                decoder: a.decode,
                                delimiter: "&",
                                depth: 5,
                                parameterLimit: 1e3,
                                plainObjects: !1,
                                strictNullHandling: !1
                            },
                            o = function(e, t) {
                                for (var r = {}, a = t.ignoreQueryPrefix ? e.replace(/^\?/, "") : e, o = t.parameterLimit === 1 / 0 ? void 0 : t.parameterLimit, s = a.split(t.delimiter, o), u = 0; u < s.length; ++u) {
                                    var l, d, c = s[u],
                                        f = c.indexOf("]="),
                                        p = -1 === f ? c.indexOf("=") : f + 1; - 1 === p ? (l = t.decoder(c, n.decoder), d = t.strictNullHandling ? null : "") : (l = t.decoder(c.slice(0, p), n.decoder), d = t.decoder(c.slice(p + 1), n.decoder)), i.call(r, l) ? r[l] = [].concat(r[l]).concat(d) : r[l] = d
                                }
                                return r
                            },
                            s = function(e, t, r) {
                                for (var a = t, i = e.length - 1; i >= 0; --i) {
                                    var n, o = e[i];
                                    if ("[]" === o) n = [], n = n.concat(a);
                                    else {
                                        n = r.plainObjects ? Object.create(null) : {};
                                        var s = "[" === o.charAt(0) && "]" === o.charAt(o.length - 1) ? o.slice(1, -1) : o,
                                            u = parseInt(s, 10);
                                        !isNaN(u) && o !== s && String(u) === s && u >= 0 && r.parseArrays && u <= r.arrayLimit ? (n = [], n[u] = a) : n[s] = a
                                    }
                                    a = n
                                }
                                return a
                            },
                            u = function(e, t, r) {
                                if (e) {
                                    var a = r.allowDots ? e.replace(/\.([^.[]+)/g, "[$1]") : e,
                                        n = /(\[[^[\]]*])/,
                                        o = /(\[[^[\]]*])/g,
                                        u = n.exec(a),
                                        l = u ? a.slice(0, u.index) : a,
                                        d = [];
                                    if (l) {
                                        if (!r.plainObjects && i.call(Object.prototype, l) && !r.allowPrototypes) return;
                                        d.push(l)
                                    }
                                    for (var c = 0; null !== (u = o.exec(a)) && c < r.depth;) {
                                        if (c += 1, !r.plainObjects && i.call(Object.prototype, u[1].slice(1, -1)) && !r.allowPrototypes) return;
                                        d.push(u[1])
                                    }
                                    return u && d.push("[" + a.slice(u.index) + "]"), s(d, t, r)
                                }
                            };
                        e.exports = function(e, t) {
                            var r = t ? a.assign({}, t) : {};
                            if (null !== r.decoder && void 0 !== r.decoder && "function" != typeof r.decoder) throw new TypeError("Decoder has to be a function.");
                            if (r.ignoreQueryPrefix = !0 === r.ignoreQueryPrefix, r.delimiter = "string" == typeof r.delimiter || a.isRegExp(r.delimiter) ? r.delimiter : n.delimiter, r.depth = "number" == typeof r.depth ? r.depth : n.depth, r.arrayLimit = "number" == typeof r.arrayLimit ? r.arrayLimit : n.arrayLimit, r.parseArrays = !1 !== r.parseArrays, r.decoder = "function" == typeof r.decoder ? r.decoder : n.decoder, r.allowDots = "boolean" == typeof r.allowDots ? r.allowDots : n.allowDots, r.plainObjects = "boolean" == typeof r.plainObjects ? r.plainObjects : n.plainObjects, r.allowPrototypes = "boolean" == typeof r.allowPrototypes ? r.allowPrototypes : n.allowPrototypes, r.parameterLimit = "number" == typeof r.parameterLimit ? r.parameterLimit : n.parameterLimit, r.strictNullHandling = "boolean" == typeof r.strictNullHandling ? r.strictNullHandling : n.strictNullHandling, "" === e || null === e || void 0 === e) return r.plainObjects ? Object.create(null) : {};
                            for (var i = "string" == typeof e ? o(e, r) : e, s = r.plainObjects ? Object.create(null) : {}, l = Object.keys(i), d = 0; d < l.length; ++d) {
                                var c = l[d],
                                    f = u(c, i[c], r);
                                s = a.merge(s, f, r)
                            }
                            return a.compact(s)
                        }
                    }, function(e, t, r) {
                        "use strict";
                        var a, i, n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                            return typeof e
                        } : function(e) {
                            return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
                        };
                        ! function(o) {
                            var s = !1;
                            if (a = o, void 0 !== (i = "function" == typeof a ? a.call(t, r, t, e) : a) && (e.exports = i), s = !0, "object" === n(t) && (e.exports = o(), s = !0), !s) {
                                var u = window.Cookies,
                                    l = window.Cookies = o();
                                l.noConflict = function() {
                                    return window.Cookies = u, l
                                }
                            }
                        }(function() {
                            function e(r) {
                                function a(e, i, n) {
                                    var o;
                                    if ("undefined" != typeof document) {
                                        if (arguments.length > 1) {
                                            if (n = t({
                                                    path: "/"
                                                }, a.defaults, n), "number" == typeof n.expires) {
                                                var s = new Date;
                                                s.setMilliseconds(s.getMilliseconds() + 864e5 * n.expires), n.expires = s
                                            }
                                            try {
                                                o = JSON.stringify(i), /^[\{\[]/.test(o) && (i = o)
                                            } catch (e) {}
                                            return i = r.write ? r.write(i, e) : encodeURIComponent(String(i)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), e = encodeURIComponent(String(e)), e = e.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent), e = e.replace(/[\(\)]/g, escape), document.cookie = [e, "=", i, n.expires ? "; expires=" + n.expires.toUTCString() : "", n.path ? "; path=" + n.path : "", n.domain ? "; domain=" + n.domain : "", n.secure ? "; secure" : ""].join("")
                                        }
                                        e || (o = {});
                                        for (var u = document.cookie ? document.cookie.split("; ") : [], l = /(%[0-9A-Z]{2})+/g, d = 0; d < u.length; d++) {
                                            var c = u[d].split("="),
                                                f = c.slice(1).join("=");
                                            '"' === f.charAt(0) && (f = f.slice(1, -1));
                                            try {
                                                var p = c[0].replace(l, decodeURIComponent);
                                                if (f = r.read ? r.read(f, p) : r(f, p) || f.replace(l, decodeURIComponent), this.json) try {
                                                    f = JSON.parse(f)
                                                } catch (e) {}
                                                if (e === p) {
                                                    o = f;
                                                    break
                                                }
                                                e || (o[p] = f)
                                            } catch (e) {}
                                        }
                                        return o
                                    }
                                }
                                return a.set = a, a.get = function(e) {
                                    return a.call(a, e)
                                }, a.getJSON = function() {
                                    return a.apply({
                                        json: !0
                                    }, [].slice.call(arguments))
                                }, a.defaults = {}, a.remove = function(e, r) {
                                    a(e, "", t(r, {
                                        expires: -1
                                    }))
                                }, a.withConverter = e, a
                            }
                            var t = function() {
                                for (var e = 0, t = {}; e < arguments.length; e++) {
                                    var r = arguments[e];
                                    for (var a in r) t[a] = r[a]
                                }
                                return t
                            };
                            return e(function() {})
                        })
                    }, function(e, t, r) {
                        "use strict";

                        function a(e, t) {
                            return e = e || "", t = t || "litix.io", e.match(/^[a-z0-9]+$/) ? "https://" + e + "." + t : "https://img.litix.io/a.gif"
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var i = r(2),
                            n = a(i),
                            o = r(3),
                            s = a(o),
                            u = r(45),
                            l = a(u),
                            d = r(0),
                            c = a(d),
                            f = r(15),
                            p = a(f),
                            h = !!n.default.XMLHttpRequest && "withCredentials" in new n.default.XMLHttpRequest,
                            _ = {
                                maxBeaconSize: 300,
                                maxQueueLength: 3600,
                                baseTimeBetweenBeacons: 5e3
                            },
                            m = function(e, t) {
                                this._beaconUrl = e || "https://img.litix.io", this._eventQueue = [], this._postInFlight = !1, this._failureCount = 0, this._sendTimeout = !1, this._options = (0, c.default)({}, _, t)
                            };
                        m.prototype.queueEvent = function(e, t) {
                            var r = (0, c.default)({}, t);
                            return h ? (this._eventQueue.length <= this._options.maxQueueLength || "eventrateexceeded" === e) && (this._eventQueue.push(r), this._sendTimeout || this._startBeaconSending(), this._eventQueue.length <= this._options.maxQueueLength) : (l.default.send(this._beaconUrl, r), !0)
                        }, m.prototype.flushEvents = function() {
                            h && (this._eventQueue.length && this._sendBeaconQueue(), this._startBeaconSending())
                        }, m.prototype.destroy = function() {
                            var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                            this.destroyed = !0, e ? this._clearBeaconQueue() : this.flushEvents(), n.default.clearTimeout(this._sendTimeout)
                        }, m.prototype._clearBeaconQueue = function() {
                            var e = n.default.navigator,
                                t = this._eventQueue.length > this._options.maxBeaconSize ? this._eventQueue.length - this._options.maxBeaconSize : 0,
                                r = this._eventQueue.slice(t);
                            if (t > 0 && (0, c.default)(r[r.length - 1], (0, p.default)({
                                    mux_view_message: "event queue truncated"
                                })), e.sendBeacon) e.sendBeacon(this._beaconUrl, JSON.stringify({
                                events: r
                            }));
                            else if (n.default.XMLHttpRequest) {
                                var a = new n.default.XMLHttpRequest;
                                a.open("POST", this._beaconUrl), a.setRequestHeader("Content-Type", "application/json"), a.send(JSON.stringify({
                                    events: r
                                }))
                            } else l.default.send(this._beaconUrl, r[r.length - 1])
                        }, m.prototype._sendBeaconQueue = function() {
                            var e = this;
                            if (n.default.XMLHttpRequest && !this._postInFlight) {
                                var t = new n.default.XMLHttpRequest,
                                    r = this._eventQueue.slice(0, this._options.maxBeaconSize);
                                this._eventQueue = this._eventQueue.slice(this._options.maxBeaconSize), this._postInFlight = !0, t.onreadystatechange = function() {
                                    4 === t.readyState && (200 !== t.status ? (e._eventQueue = r.concat(e._eventQueue), e._failureCount += 1, s.default.info("Error sending beacon: " + t.status), s.default.info(t.responseText)) : e._failureCount = 0, e._postInFlight = !1)
                                }, t.open("POST", this._beaconUrl), t.setRequestHeader("Content-Type", "application/json"), t.send(JSON.stringify({
                                    events: r
                                }))
                            }
                        }, m.prototype._getNextBeaconTime = function() {
                            if (!this._failureCount) return this._options.baseTimeBetweenBeacons;
                            var e = Math.pow(2, this._failureCount - 1);
                            return (1 + (e *= Math.random())) * this._options.baseTimeBetweenBeacons
                        }, m.prototype._startBeaconSending = function() {
                            var e = this;
                            n.default.clearTimeout(this._sendTimeout), this.destroyed || (this._sendTimeout = n.default.setTimeout(function() {
                                e._eventQueue.length && e._sendBeaconQueue(), e._startBeaconSending()
                            }, this._getNextBeaconTime()))
                        }, t.default = m
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var i = r(12),
                            n = a(i),
                            o = r(2),
                            s = a(o),
                            u = {};
                        u.send = function(e, t) {
                            function r() {
                                a.src = o + (i ? "&rc=" + i : "")
                            }
                            var a = new Image,
                                i = 0,
                                o = e + "?" + n.default.stringify(t);
                            return a.addEventListener("error", function() {
                                i > 3 || s.default.setTimeout(function() {
                                    i++, r()
                                }, 5e3 * i)
                            }), r(), a
                        }, t.default = u
                    }, function(e, t, r) {
                        (function(e, a) {
                            var i;
                            (function() {
                                "use strict";

                                function n(e) {
                                    return e = String(e), e.charAt(0).toUpperCase() + e.slice(1)
                                }

                                function o(e, t, r) {
                                    var a = {
                                        "10.0": "10",
                                        6.4: "10 Technical Preview",
                                        6.3: "8.1",
                                        6.2: "8",
                                        6.1: "Server 2008 R2 / 7",
                                        "6.0": "Server 2008 / Vista",
                                        5.2: "Server 2003 / XP 64-bit",
                                        5.1: "XP",
                                        5.01: "2000 SP1",
                                        "5.0": "2000",
                                        "4.0": "NT",
                                        "4.90": "ME"
                                    };
                                    return t && r && /^Win/i.test(e) && !/^Windows Phone /i.test(e) && (a = a[/[\d.]+$/.exec(e)]) && (e = "Windows " + a), e = String(e), t && r && (e = e.replace(RegExp(t, "i"), r)), e = u(e.replace(/ ce$/i, " CE").replace(/\bhpw/i, "web").replace(/\bMacintosh\b/, "Mac OS").replace(/_PowerPC\b/i, " OS").replace(/\b(OS X) [^ \d]+/i, "$1").replace(/\bMac (OS X)\b/, "$1").replace(/\/(\d)/, " $1").replace(/_/g, ".").replace(/(?: BePC|[ .]*fc[ \d.]+)$/i, "").replace(/\bx86\.64\b/gi, "x86_64").replace(/\b(Windows Phone) OS\b/, "$1").replace(/\b(Chrome OS \w+) [\d.]+\b/, "$1").split(" on ")[0])
                                }

                                function s(e, t) {
                                    var r = -1,
                                        a = e ? e.length : 0;
                                    if ("number" == typeof a && a > -1 && a <= x)
                                        for (; ++r < a;) t(e[r], r, e);
                                    else l(e, t)
                                }

                                function u(e) {
                                    return e = h(e), /^(?:webOS|i(?:OS|P))/.test(e) ? e : n(e)
                                }

                                function l(e, t) {
                                    for (var r in e) O.call(e, r) && t(e[r], r, e)
                                }

                                function d(e) {
                                    return null == e ? n(e) : k.call(e).slice(8, -1)
                                }

                                function c(e, t) {
                                    var r = null != e ? typeof e[t] : "number";
                                    return !(/^(?:boolean|number|string|undefined)$/.test(r) || "object" == r && !e[t])
                                }

                                function f(e) {
                                    return String(e).replace(/([ -])(?!$)/g, "$1?")
                                }

                                function p(e, t) {
                                    var r = null;
                                    return s(e, function(a, i) {
                                        r = t(r, a, i, e)
                                    }), r
                                }

                                function h(e) {
                                    return String(e).replace(/^ +| +$/g, "")
                                }

                                function _(e) {
                                    function t(t) {
                                        return p(t, function(t, r) {
                                            var a = r.pattern || f(r);
                                            return !t && (t = RegExp("\\b" + a + " *\\d+[.\\w_]*", "i").exec(e) || RegExp("\\b" + a + " *\\w+-[\\w]*", "i").exec(e) || RegExp("\\b" + a + "(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)", "i").exec(e)) && ((t = String(r.label && !RegExp(a, "i").test(r.label) ? r.label : t).split("/"))[1] && !/[\d.]+/.test(t[0]) && (t[0] += " " + t[1]), r = r.label || r, t = u(t[0].replace(RegExp(a, "i"), r).replace(RegExp("; *(?:" + r + "[_-])?", "i"), " ").replace(RegExp("(" + r + ")[-_.]?(\\w)", "i"), "$1 $2"))), t
                                        })
                                    }

                                    function r() {
                                        return this.description || ""
                                    }
                                    var a = v,
                                        i = e && "object" == typeof e && "String" != d(e);
                                    i && (a = e, e = null);
                                    var n = a.navigator || {},
                                        s = n.userAgent || "";
                                    e || (e = s);
                                    var m, b, g = i || T == y,
                                        w = i ? !!n.likeChrome : /\bChrome\b/.test(e) && !/internal|\n/i.test(k.toString()),
                                        x = i ? "Object" : "ScriptBridgingProxyObject",
                                        E = i ? "Object" : "Environment",
                                        O = i && a.java ? "JavaPackage" : d(a.java),
                                        P = i ? "Object" : "RuntimeObject",
                                        M = /\bJava/.test(O) && a.java,
                                        A = M && d(a.environment) == E,
                                        D = M ? "a" : "α",
                                        q = M ? "b" : "β",
                                        R = a.document || {},
                                        j = a.operamini || a.opera,
                                        I = S.test(I = i && j ? j["[[Class]]"] : d(j)) ? I : j = null,
                                        L = e,
                                        C = [],
                                        N = null,
                                        H = e == s,
                                        B = H && j && "function" == typeof j.version && j.version(),
                                        F = function(t) {
                                            return p(t, function(t, r) {
                                                return t || RegExp("\\b" + (r.pattern || f(r)) + "\\b", "i").exec(e) && (r.label || r)
                                            })
                                        }([{
                                            label: "EdgeHTML",
                                            pattern: "Edge"
                                        }, "Trident", {
                                            label: "WebKit",
                                            pattern: "AppleWebKit"
                                        }, "iCab", "Presto", "NetFront", "Tasman", "KHTML", "Gecko"]),
                                        U = function(t) {
                                            return p(t, function(t, r) {
                                                return t || RegExp("\\b" + (r.pattern || f(r)) + "\\b", "i").exec(e) && (r.label || r)
                                            })
                                        }(["Adobe AIR", "Arora", "Avant Browser", "Breach", "Camino", "Electron", "Epiphany", "Fennec", "Flock", "Galeon", "GreenBrowser", "iCab", "Iceweasel", "K-Meleon", "Konqueror", "Lunascape", "Maxthon", {
                                            label: "Microsoft Edge",
                                            pattern: "Edge"
                                        }, "Midori", "Nook Browser", "PaleMoon", "PhantomJS", "Raven", "Rekonq", "RockMelt", {
                                            label: "Samsung Internet",
                                            pattern: "SamsungBrowser"
                                        }, "SeaMonkey", {
                                            label: "Silk",
                                            pattern: "(?:Cloud9|Silk-Accelerated)"
                                        }, "Sleipnir", "SlimBrowser", {
                                            label: "SRWare Iron",
                                            pattern: "Iron"
                                        }, "Sunrise", "Swiftfox", "Waterfox", "WebPositive", "Opera Mini", {
                                            label: "Opera Mini",
                                            pattern: "OPiOS"
                                        }, "Opera", {
                                            label: "Opera",
                                            pattern: "OPR"
                                        }, "Chrome", {
                                            label: "Chrome Mobile",
                                            pattern: "(?:CriOS|CrMo)"
                                        }, {
                                            label: "Firefox",
                                            pattern: "(?:Firefox|Minefield)"
                                        }, {
                                            label: "Firefox for iOS",
                                            pattern: "FxiOS"
                                        }, {
                                            label: "IE",
                                            pattern: "IEMobile"
                                        }, {
                                            label: "IE",
                                            pattern: "MSIE"
                                        }, "Safari"]),
                                        W = t([{
                                            label: "BlackBerry",
                                            pattern: "BB10"
                                        }, "BlackBerry", {
                                            label: "Galaxy S",
                                            pattern: "GT-I9000"
                                        }, {
                                            label: "Galaxy S2",
                                            pattern: "GT-I9100"
                                        }, {
                                            label: "Galaxy S3",
                                            pattern: "GT-I9300"
                                        }, {
                                            label: "Galaxy S4",
                                            pattern: "GT-I9500"
                                        }, {
                                            label: "Galaxy S5",
                                            pattern: "SM-G900"
                                        }, {
                                            label: "Galaxy S6",
                                            pattern: "SM-G920"
                                        }, {
                                            label: "Galaxy S6 Edge",
                                            pattern: "SM-G925"
                                        }, {
                                            label: "Galaxy S7",
                                            pattern: "SM-G930"
                                        }, {
                                            label: "Galaxy S7 Edge",
                                            pattern: "SM-G935"
                                        }, "Google TV", "Lumia", "iPad", "iPod", "iPhone", "Kindle", {
                                            label: "Kindle Fire",
                                            pattern: "(?:Cloud9|Silk-Accelerated)"
                                        }, "Nexus", "Nook", "PlayBook", "PlayStation Vita", "PlayStation", "TouchPad", "Transformer", {
                                            label: "Wii U",
                                            pattern: "WiiU"
                                        }, "Wii", "Xbox One", {
                                            label: "Xbox 360",
                                            pattern: "Xbox"
                                        }, "Xoom"]),
                                        G = function(t) {
                                            return p(t, function(t, r, a) {
                                                return t || (r[W] || r[/^[a-z]+(?: +[a-z]+\b)*/i.exec(W)] || RegExp("\\b" + f(a) + "(?:\\b|\\w*\\d)", "i").exec(e)) && a
                                            })
                                        }({
                                            Apple: {
                                                iPad: 1,
                                                iPhone: 1,
                                                iPod: 1
                                            },
                                            Archos: {},
                                            Amazon: {
                                                Kindle: 1,
                                                "Kindle Fire": 1
                                            },
                                            Asus: {
                                                Transformer: 1
                                            },
                                            "Barnes & Noble": {
                                                Nook: 1
                                            },
                                            BlackBerry: {
                                                PlayBook: 1
                                            },
                                            Google: {
                                                "Google TV": 1,
                                                Nexus: 1
                                            },
                                            HP: {
                                                TouchPad: 1
                                            },
                                            HTC: {},
                                            LG: {},
                                            Microsoft: {
                                                Xbox: 1,
                                                "Xbox One": 1
                                            },
                                            Motorola: {
                                                Xoom: 1
                                            },
                                            Nintendo: {
                                                "Wii U": 1,
                                                Wii: 1
                                            },
                                            Nokia: {
                                                Lumia: 1
                                            },
                                            Samsung: {
                                                "Galaxy S": 1,
                                                "Galaxy S2": 1,
                                                "Galaxy S3": 1,
                                                "Galaxy S4": 1
                                            },
                                            Sony: {
                                                PlayStation: 1,
                                                "PlayStation Vita": 1
                                            }
                                        }),
                                        V = function(t) {
                                            return p(t, function(t, r) {
                                                var a = r.pattern || f(r);
                                                return !t && (t = RegExp("\\b" + a + "(?:/[\\d.]+|[ \\w.]*)", "i").exec(e)) && (t = o(t, a, r.label || r)), t
                                            })
                                        }(["Windows Phone", "Android", "CentOS", {
                                            label: "Chrome OS",
                                            pattern: "CrOS"
                                        }, "Debian", "Fedora", "FreeBSD", "Gentoo", "Haiku", "Kubuntu", "Linux Mint", "OpenBSD", "Red Hat", "SuSE", "Ubuntu", "Xubuntu", "Cygwin", "Symbian OS", "hpwOS", "webOS ", "webOS", "Tablet OS", "Tizen", "Linux", "Mac OS X", "Macintosh", "Mac", "Windows 98;", "Windows "]);
                                    if (F && (F = [F]), G && !W && (W = t([G])), (m = /\bGoogle TV\b/.exec(W)) && (W = m[0]), /\bSimulator\b/i.test(e) && (W = (W ? W + " " : "") + "Simulator"), "Opera Mini" == U && /\bOPiOS\b/.test(e) && C.push("running in Turbo/Uncompressed mode"), "IE" == U && /\blike iPhone OS\b/.test(e) ? (m = _(e.replace(/like iPhone OS/, "")), G = m.manufacturer, W = m.product) : /^iP/.test(W) ? (U || (U = "Safari"), V = "iOS" + ((m = / OS ([\d_]+)/i.exec(e)) ? " " + m[1].replace(/_/g, ".") : "")) : "Konqueror" != U || /buntu/i.test(V) ? G && "Google" != G && (/Chrome/.test(U) && !/\bMobile Safari\b/i.test(e) || /\bVita\b/.test(W)) || /\bAndroid\b/.test(V) && /^Chrome/.test(U) && /\bVersion\//i.test(e) ? (U = "Android Browser", V = /\bAndroid\b/.test(V) ? V : "Android") : "Silk" == U ? (/\bMobi/i.test(e) || (V = "Android", C.unshift("desktop mode")), /Accelerated *= *true/i.test(e) && C.unshift("accelerated")) : "PaleMoon" == U && (m = /\bFirefox\/([\d.]+)\b/.exec(e)) ? C.push("identifying as Firefox " + m[1]) : "Firefox" == U && (m = /\b(Mobile|Tablet|TV)\b/i.exec(e)) ? (V || (V = "Firefox OS"), W || (W = m[1])) : !U || (m = !/\bMinefield\b/i.test(e) && /\b(?:Firefox|Safari)\b/.exec(U)) ? (U && !W && /[\/,]|^[^(]+?\)/.test(e.slice(e.indexOf(m + "/") + 8)) && (U = null), (m = W || G || V) && (W || G || /\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test(V)) && (U = /[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test(V) ? V : m) + " Browser")) : "Electron" == U && (m = (/\bChrome\/([\d.]+)\b/.exec(e) || 0)[1]) && C.push("Chromium " + m) : V = "Kubuntu", B || (B = function(t) {
                                            return p(t, function(t, r) {
                                                return t || (RegExp(r + "(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)", "i").exec(e) || 0)[1] || null
                                            })
                                        }(["(?:Cloud9|CriOS|CrMo|Edge|FxiOS|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$))", "Version", f(U), "(?:Firefox|Minefield|NetFront)"])), (m = "iCab" == F && parseFloat(B) > 3 && "WebKit" || /\bOpera\b/.test(U) && (/\bOPR\b/.test(e) ? "Blink" : "Presto") || /\b(?:Midori|Nook|Safari)\b/i.test(e) && !/^(?:Trident|EdgeHTML)$/.test(F) && "WebKit" || !F && /\bMSIE\b/i.test(e) && ("Mac OS" == V ? "Tasman" : "Trident") || "WebKit" == F && /\bPlayStation\b(?! Vita\b)/i.test(U) && "NetFront") && (F = [m]), "IE" == U && (m = (/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(e) || 0)[1]) ? (U += " Mobile", V = "Windows Phone " + (/\+$/.test(m) ? m : m + ".x"), C.unshift("desktop mode")) : /\bWPDesktop\b/i.test(e) ? (U = "IE Mobile", V = "Windows Phone 8.x", C.unshift("desktop mode"), B || (B = (/\brv:([\d.]+)/.exec(e) || 0)[1])) : "IE" != U && "Trident" == F && (m = /\brv:([\d.]+)/.exec(e)) && (U && C.push("identifying as " + U + (B ? " " + B : "")), U = "IE", B = m[1]), H) {
                                        if (c(a, "global"))
                                            if (M && (m = M.lang.System, L = m.getProperty("os.arch"), V = V || m.getProperty("os.name") + " " + m.getProperty("os.version")), g && c(a, "system") && (m = [a.system])[0]) {
                                                V || (V = m[0].os || null);
                                                try {
                                                    m[1] = a.require("ringo/engine").version, B = m[1].join("."), U = "RingoJS"
                                                } catch (e) {
                                                    m[0].global.system == a.system && (U = "Narwhal")
                                                }
                                            } else "object" == typeof a.process && !a.process.browser && (m = a.process) ? "object" == typeof m.versions ? "string" == typeof m.versions.electron ? (C.push("Node " + m.versions.node), U = "Electron", B = m.versions.electron) : "string" == typeof m.versions.nw && (C.push("Chromium " + B, "Node " + m.versions.node), U = "NW.js", B = m.versions.nw) : (U = "Node.js", L = m.arch, V = m.platform, B = /[\d.]+/.exec(m.version), B = B ? B[0] : "unknown") : A && (U = "Rhino");
                                        else d(m = a.runtime) == x ? (U = "Adobe AIR", V = m.flash.system.Capabilities.os) : d(m = a.phantom) == P ? (U = "PhantomJS", B = (m = m.version || null) && m.major + "." + m.minor + "." + m.patch) : "number" == typeof R.documentMode && (m = /\bTrident\/(\d+)/i.exec(e)) ? (B = [B, R.documentMode], (m = +m[1] + 4) != B[1] && (C.push("IE " + B[1] + " mode"), F && (F[1] = ""), B[1] = m), B = "IE" == U ? String(B[1].toFixed(1)) : B[0]) : "number" == typeof R.documentMode && /^(?:Chrome|Firefox)\b/.test(U) && (C.push("masking as " + U + " " + B), U = "IE", B = "11.0", F = ["Trident"], V = "Windows");
                                        V = V && u(V)
                                    }
                                    if (B && (m = /(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(B) || /(?:alpha|beta)(?: ?\d)?/i.exec(e + ";" + (H && n.appMinorVersion)) || /\bMinefield\b/i.test(e) && "a") && (N = /b/i.test(m) ? "beta" : "alpha", B = B.replace(RegExp(m + "\\+?$"), "") + ("beta" == N ? q : D) + (/\d+\+?/.exec(m) || "")), "Fennec" == U || "Firefox" == U && /\b(?:Android|Firefox OS)\b/.test(V)) U = "Firefox Mobile";
                                    else if ("Maxthon" == U && B) B = B.replace(/\.[\d.]+/, ".x");
                                    else if (/\bXbox\b/i.test(W)) "Xbox 360" == W && (V = null), "Xbox 360" == W && /\bIEMobile\b/.test(e) && C.unshift("mobile mode");
                                    else if (!/^(?:Chrome|IE|Opera)$/.test(U) && (!U || W || /Browser|Mobi/.test(U)) || "Windows CE" != V && !/Mobi/i.test(e))
                                        if ("IE" == U && H) try {
                                            null === a.external && C.unshift("platform preview")
                                        } catch (e) {
                                            C.unshift("embedded")
                                        } else(/\bBlackBerry\b/.test(W) || /\bBB10\b/.test(e)) && (m = (RegExp(W.replace(/ +/g, " *") + "/([.\\d]+)", "i").exec(e) || 0)[1] || B) ? (m = [m, /BB10/.test(e)], V = (m[1] ? (W = null, G = "BlackBerry") : "Device Software") + " " + m[0], B = null) : this != l && "Wii" != W && (H && j || /Opera/.test(U) && /\b(?:MSIE|Firefox)\b/i.test(e) || "Firefox" == U && /\bOS X (?:\d+\.){2,}/.test(V) || "IE" == U && (V && !/^Win/.test(V) && B > 5.5 || /\bWindows XP\b/.test(V) && B > 8 || 8 == B && !/\bTrident\b/.test(e))) && !S.test(m = _.call(l, e.replace(S, "") + ";")) && m.name && (m = "ing as " + m.name + ((m = m.version) ? " " + m : ""), S.test(U) ? (/\bIE\b/.test(m) && "Mac OS" == V && (V = null), m = "identify" + m) : (m = "mask" + m, U = I ? u(I.replace(/([a-z])([A-Z])/g, "$1 $2")) : "Opera", /\bIE\b/.test(m) && (V = null), H || (B = null)), F = ["Presto"], C.push(m));
                                        else U += " Mobile";
                                    (m = (/\bAppleWebKit\/([\d.]+\+?)/i.exec(e) || 0)[1]) && (m = [parseFloat(m.replace(/\.(\d)$/, ".0$1")), m], "Safari" == U && "+" == m[1].slice(-1) ? (U = "WebKit Nightly", N = "alpha", B = m[1].slice(0, -1)) : B != m[1] && B != (m[2] = (/\bSafari\/([\d.]+\+?)/i.exec(e) || 0)[1]) || (B = null), m[1] = (/\bChrome\/([\d.]+)/i.exec(e) || 0)[1], 537.36 == m[0] && 537.36 == m[2] && parseFloat(m[1]) >= 28 && "WebKit" == F && (F = ["Blink"]), H && (w || m[1]) ? (F && (F[1] = "like Chrome"), m = m[1] || (m = m[0], m < 530 ? 1 : m < 532 ? 2 : m < 532.05 ? 3 : m < 533 ? 4 : m < 534.03 ? 5 : m < 534.07 ? 6 : m < 534.1 ? 7 : m < 534.13 ? 8 : m < 534.16 ? 9 : m < 534.24 ? 10 : m < 534.3 ? 11 : m < 535.01 ? 12 : m < 535.02 ? "13+" : m < 535.07 ? 15 : m < 535.11 ? 16 : m < 535.19 ? 17 : m < 536.05 ? 18 : m < 536.1 ? 19 : m < 537.01 ? 20 : m < 537.11 ? "21+" : m < 537.13 ? 23 : m < 537.18 ? 24 : m < 537.24 ? 25 : m < 537.36 ? 26 : "Blink" != F ? "27" : "28")) : (F && (F[1] = "like Safari"), m = m[0], m = m < 400 ? 1 : m < 500 ? 2 : m < 526 ? 3 : m < 533 ? 4 : m < 534 ? "4+" : m < 535 ? 5 : m < 537 ? 6 : m < 538 ? 7 : m < 601 ? 8 : "8"), F && (F[1] += " " + (m += "number" == typeof m ? ".x" : /[.+]/.test(m) ? "" : "+")), "Safari" == U && (!B || parseInt(B) > 45) && (B = m)), "Opera" == U && (m = /\bzbov|zvav$/.exec(V)) ? (U += " ", C.unshift("desktop mode"), "zvav" == m ? (U += "Mini", B = null) : U += "Mobile", V = V.replace(RegExp(" *" + m + "$"), "")) : "Safari" == U && /\bChrome\b/.exec(F && F[1]) && (C.unshift("desktop mode"), U = "Chrome Mobile", B = null, /\bOS X\b/.test(V) ? (G = "Apple", V = "iOS 4.3+") : V = null), B && 0 == B.indexOf(m = /[\d.]+$/.exec(V)) && e.indexOf("/" + m + "-") > -1 && (V = h(V.replace(m, ""))), F && !/\b(?:Avant|Nook)\b/.test(U) && (/Browser|Lunascape|Maxthon/.test(U) || "Safari" != U && /^iOS/.test(V) && /\bSafari\b/.test(F[1]) || /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|Web)/.test(U) && F[1]) && (m = F[F.length - 1]) && C.push(m), C.length && (C = ["(" + C.join("; ") + ")"]), G && W && W.indexOf(G) < 0 && C.push("on " + G), W && C.push((/^on /.test(C[C.length - 1]) ? "" : "on ") + W), V && (m = / ([\d.+]+)$/.exec(V), b = m && "/" == V.charAt(V.length - m[0].length - 1), V = {
                                        architecture: 32,
                                        family: m && !b ? V.replace(m[0], "") : V,
                                        version: m ? m[1] : null,
                                        toString: function() {
                                            var e = this.version;
                                            return this.family + (e && !b ? " " + e : "") + (64 == this.architecture ? " 64-bit" : "")
                                        }
                                    }), (m = /\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(L)) && !/\bi686\b/i.test(L) ? (V && (V.architecture = 64, V.family = V.family.replace(RegExp(" *" + m), "")), U && (/\bWOW64\b/i.test(e) || H && /\w(?:86|32)$/.test(n.cpuClass || n.platform) && !/\bWin64; x64\b/i.test(e)) && C.unshift("32-bit")) : V && /^OS X/.test(V.family) && "Chrome" == U && parseFloat(B) >= 39 && (V.architecture = 64), e || (e = null);
                                    var J = {};
                                    return J.description = e, J.layout = F && F[0], J.manufacturer = G, J.name = U, J.prerelease = N, J.product = W, J.ua = e, J.version = U && B, J.os = V || {
                                        architecture: null,
                                        family: null,
                                        version: null,
                                        toString: function() {
                                            return "null"
                                        }
                                    }, J.parse = _, J.toString = r, J.version && C.unshift(B), J.name && C.unshift(U), V && U && (V != String(V).split(" ")[0] || V != U.split(" ")[0] && !W) && C.push(W ? "(" + V + ")" : "on " + V), C.length && (J.description = C.join(" ")), J
                                }
                                var m = {
                                        function: !0,
                                        object: !0
                                    },
                                    v = m[typeof window] && window || this,
                                    y = v,
                                    b = m[typeof t] && t,
                                    g = m[typeof e] && e && !e.nodeType && e,
                                    w = b && g && "object" == typeof a && a;
                                !w || w.global !== w && w.window !== w && w.self !== w || (v = w);
                                var x = Math.pow(2, 53) - 1,
                                    S = /\bOpera/,
                                    T = this,
                                    E = Object.prototype,
                                    O = E.hasOwnProperty,
                                    k = E.toString,
                                    P = _();
                                v.platform = P, void 0 !== (i = function() {
                                    return P
                                }.call(t, r, t, e)) && (e.exports = i)
                            }).call(this)
                        }).call(t, r(11)(e), r(5))
                    }, function(e, t, r) {
                        "use strict";

                        function a() {
                            function e(e, t) {
                                var r = t.request_start,
                                    u = t.request_response_start,
                                    l = t.request_response_end,
                                    d = t.request_bytes_loaded;
                                o++;
                                var c = u - r,
                                    f = l - u;
                                if (c > 0 && f > 0 && d > 0) {
                                    var p = d / f * 8e3;
                                    s++, a += c, i += d, n += f, this.data.view_min_request_throughput = Math.min(this.data.view_min_request_throughput || 1 / 0, p), this.data.view_average_request_throughput = i / n * 8e3, this.data.view_max_request_latency = Math.max(this.data.view_max_request_latency || 0, c), this.data.view_average_request_latency = a / s, this.data.view_request_count = o
                                }
                            }

                            function t(e, t) {
                                o++, u++, this.data.view_request_count = o, this.data.view_request_failed_count = u
                            }

                            function r(e, t) {
                                o++, l++, this.data.view_request_count = o, this.data.view_request_canceled_count = l
                            }
                            var a = 0,
                                i = 0,
                                n = 0,
                                o = 0,
                                s = 0,
                                u = 0,
                                l = 0;
                            this.on("requestcompleted", e), this.on("requestfailed", t), this.on("requestcanceled", r)
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a
                    }, function(e, t, r) {
                        "use strict";

                        function a(e, t, r) {
                            var a = (0, s.findMediaElement)(t),
                                n = i(a, 3),
                                d = n[0],
                                c = n[1],
                                f = n[2],
                                p = e.log,
                                h = e.utils.getComputedStyle,
                                _ = e.utils.secondsToMs,
                                m = {
                                    automaticErrorTracking: !0
                                };
                            return d ? "video" !== f && "audio" !== f ? p.error("The element of `" + c + "` was not a media element.") : (r = (0, o.default)(m, r), r.data = (0, o.default)({
                                player_software: "HTML5 Video Element",
                                player_software_version: "No Versions",
                                player_mux_plugin_name: "VideoElementMonitor",
                                player_mux_plugin_version: "2.7.0"
                            }, r.data), r.getPlayheadTime = function() {
                                return _(d.currentTime)
                            }, r.getStateData = function() {
                                return {
                                    player_is_paused: d.paused,
                                    player_playhead_time: _(d.currentTime),
                                    player_width: parseInt(h(d, "width")),
                                    player_height: parseInt(h(d, "height")),
                                    player_autoplay_on: d.autoplay,
                                    player_preload_on: d.preload,
                                    video_poster_url: d.poster,
                                    video_source_url: d.currentSrc,
                                    video_source_duration: _(d.duration),
                                    video_source_height: d.videoHeight,
                                    video_source_width: d.videoWidth
                                }
                            }, d.mux = d.mux || {}, d.mux.emit = function(t, r) {
                                e.emit(c, t, r)
                            }, d.mux.destroy = function() {
                                Object.keys(d.mux.listeners).forEach(function(e) {
                                    d.removeEventListener(e, d.mux.listeners[e], !1)
                                }), delete d.mux.listeners, e.emit(c, "destroy")
                            }, d.mux.swapElement = function(t) {
                                var r = (0, s.findMediaElement)(t),
                                    a = i(r, 3),
                                    n = a[0],
                                    u = a[1],
                                    l = a[2];
                                return n ? "video" !== l && "audio" !== l ? e.log.error("The element of `" + u + "` was not a media element.") : (n.muxId = d.muxId, delete d.muxId, n.mux = n.mux || {}, n.mux.listeners = (0, o.default)({}, d.mux.listeners), delete d.mux.listeners, Object.keys(n.mux.listeners).forEach(function(e) {
                                    d.removeEventListener(e, n.mux.listeners[e], !1), n.addEventListener(e, n.mux.listeners[e], !1)
                                }), n.mux.swapElement = d.mux.swapElement, n.mux.destroy = d.mux.destroy, delete d.mux, void(d = n)) : e.log.error("No element was found with the `" + u + "` query selector.")
                            }, d.mux.addHLSJS = function(t) {
                                e.addHLSJS(c, t)
                            }, d.mux.addDashJS = function(t) {
                                e.addDashJS(c, t)
                            }, d.mux.removeHLSJS = function() {
                                e.removeHLSJS(c)
                            }, d.mux.removeDashJS = function() {
                                e.removeDashJS(c)
                            }, e.init(c, r), e.emit(c, "playerready"), d.paused || (e.emit(c, "play"), d.readyState > 2 && e.emit(c, "playing")), d.mux.listeners = {}, void u.forEach(function(t) {
                                ("error" !== t || r.automaticErrorTracking) && (d.mux.listeners[t] = function() {
                                    var r = {};
                                    "error" === t && (r.player_error_code = d.error && d.error.code, r.player_error_message = d.error && l[d.error.code]), e.emit(c, t, r)
                                }, d.addEventListener(t, d.mux.listeners[t], !1))
                            })) : p.error("No element was found with the `" + c + "` query selector.")
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var i = function() {
                            function e(e, t) {
                                var r = [],
                                    a = !0,
                                    i = !1,
                                    n = void 0;
                                try {
                                    for (var o, s = e[Symbol.iterator](); !(a = (o = s.next()).done) && (r.push(o.value), !t || r.length !== t); a = !0);
                                } catch (e) {
                                    i = !0, n = e
                                } finally {
                                    try {
                                        !a && s.return && s.return()
                                    } finally {
                                        if (i) throw n
                                    }
                                }
                                return r
                            }
                            return function(t, r) {
                                if (Array.isArray(t)) return t;
                                if (Symbol.iterator in Object(t)) return e(t, r);
                                throw new TypeError("Invalid attempt to destructure non-iterable instance")
                            }
                        }();
                        t.default = a;
                        var n = r(0),
                            o = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(n),
                            s = r(8),
                            u = ["loadstart", "pause", "play", "playing", "seeking", "seeked", "timeupdate", "ratechange", "stalled", "waiting", "error", "ended"],
                            l = {
                                1: "MEDIA_ERR_ABORTED",
                                2: "MEDIA_ERR_NETWORK",
                                3: "MEDIA_ERR_DECODE",
                                4: "MEDIA_ERR_SRC_NOT_SUPPORTED"
                            }
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return e && e.__esModule ? e : {
                                default: e
                            }
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        });
                        var i = r(50),
                            n = a(i),
                            o = r(1),
                            s = a(o),
                            u = r(51),
                            l = a(u),
                            d = r(52),
                            c = a(d),
                            f = r(0),
                            p = a(f),
                            h = r(7),
                            _ = a(h),
                            m = r(4),
                            v = {};
                        v.safeCall = n.default, v.safeIncrement = s.default, v.getComputedStyle = l.default, v.secondsToMs = c.default, v.assign = p.default, v.headersStringToObject = _.default, v.extractHostnameAndDomain = m.extractHostnameAndDomain, t.default = v
                    }, function(e, t, r) {
                        "use strict";

                        function a(e, t, r, a) {
                            var i = a;
                            if (e && "function" == typeof e[t]) try {
                                i = e[t].apply(e, r)
                            } catch (e) {
                                n.default.info("safeCall error", e)
                            }
                            return i
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a;
                        var i = r(3),
                            n = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(i)
                    }, function(e, t, r) {
                        "use strict";

                        function a(e, t) {
                            if (n.default.defaultView && n.default.defaultView.getComputedStyle) return n.default.defaultView.getComputedStyle(e, null).getPropertyValue(t)
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a;
                        var i = r(10),
                            n = function(e) {
                                return e && e.__esModule ? e : {
                                    default: e
                                }
                            }(i)
                    }, function(e, t, r) {
                        "use strict";

                        function a(e) {
                            return Math.floor(1e3 * e)
                        }
                        Object.defineProperty(t, "__esModule", {
                            value: !0
                        }), t.default = a
                    }])
                })
            }()
        }, function(e, t, r) {
            "use strict";

            function a(e, t) {
                var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [],
                    a = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : [],
                    i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : function() {
                        return {}
                    },
                    n = !1;
                e.on("adstart", function() {
                    n = !0
                }), e.on("adend", function() {
                    n = !1
                }), e.on("adserror", function() {
                    n = !1
                });
                var s = function() {
                    var a = o(t.currentTime()),
                        s = function r() {
                            var s = Date.now(),
                                u = o(t.currentTime());
                            if (n) {
                                if (u > a) {
                                    var l = i();
                                    l.viewer_time = s - Math.max(0, u - a), t.off("timeupdate", r), e.mux.emit("adplaying", l)
                                }
                            } else t.off("timeupdate", r)
                        };
                    t.on("timeupdate", s);
                    var u = function e() {
                        t.off("timeupdate", s), r.forEach(function(r) {
                            t.off(r, e)
                        })
                    };
                    r.forEach(function(e) {
                        t.on(e, u)
                    })
                };
                a.forEach(function(e) {
                    t.on(e, s)
                })
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            }), t.default = a;
            var i = r(0),
                n = function(e) {
                    return e && e.__esModule ? e : {
                        default: e
                    }
                }(i),
                o = n.default.utils.secondsToMs
        }, function(e, t, r) {
            "use strict";

            function a(e) {
                return e && e.__esModule ? e : {
                    default: e
                }
            }

            function i(e) {
                if (o.default.IS_IE8) return !1;
                var t = this,
                    r = t.id();
                e = x({
                    automaticErrorTracking: !0
                }, e), e.data = x({
                    player_software_name: "Video.js",
                    player_software_version: o.default.VERSION || "< 4.11",
                    player_mux_plugin_name: "videojs-mux",
                    player_mux_plugin_version: "2.5.0"
                }, e.data), e.getPlayheadTime = function() {
                    return E(t.currentTime())
                }, e.getStateData = function() {
                    var e = S(t, "videoHeight"),
                        r = S(t, "videoWidth");
                    if (void 0 === r || void 0 === e) {
                        var a = t.el().firstChild;
                        a && "VIDEO" === a.nodeName.toUpperCase() && (e = a.videoHeight, r = a.videoWidth)
                    }
                    return {
                        player_is_paused: S(t, "paused"),
                        player_is_fullscreen: S(t, "isFullscreen"),
                        player_autoplay_on: !!S(t, "autoplay"),
                        player_preload_on: S(t, "preload"),
                        player_width: T(t.el(), "width"),
                        player_height: T(t.el(), "height"),
                        player_language_code: S(t, "language"),
                        video_poster_url: S(t, "poster"),
                        video_source_url: S(t, "currentSrc"),
                        video_source_mime_type: S(t, "currentType"),
                        video_source_duration: E(S(t, "duration") || 0),
                        video_source_height: e,
                        video_source_width: r
                    }
                }, t.mux = function() {
                    w.error("[videojs-mux] The plugin was initialized more than once.")
                }, t.mux.emit = function(e, t) {
                    u.default.emit(r, e, t)
                }, t.mux.log = w, t.mux.utils = u.default.utils, u.default.init(r, e);
                var a = !1,
                    i = function() {
                        a || t.mux.emit("playerready"), a = !0
                    };
                t.ready(function() {
                    t.addClass("vjs-mux"), d.default.setTimeout(i, 0)
                });
                var n = !1;
                t.one("play", i), O.forEach(function(r) {
                    ("error" !== r || e.automaticErrorTracking) && t.on(r, function() {
                        if (!n) {
                            var e = {};
                            if ("error" === r) {
                                var a = S(t, "error");
                                e.player_error_code = a && a.code, e.player_error_message = a && a.message
                            }
                            t.mux.emit(r, e)
                        }
                    })
                });
                var s = !1;
                t.on("play", function() {
                    s = !0
                }), t.on("pause", function() {
                    s = !1
                }), t.on("adstart", function() {
                    n = !0, s && t.mux.emit("pause"), t.mux.emit("adbreakstart")
                }), t.on("adend", function() {
                    t.mux.emit("adbreakend"), n = !1, S(t, "paused") || (t.mux.emit("play"), s = !0, t.onceux && t.mux.emit("playing"))
                }), t.ima && (0, f.default)(t), t.onceux && (0, y.default)(t), t.ima3 && "function" == typeof t.ima3.ready && (0, h.default)(t), t.FreeWheelPlugin && t.FreeWheelPlugin.VERSION && (0, m.default)(t), t.on("dispose", function() {
                    t.mux.emit("destroy")
                })
            }
            var n = r(3),
                o = a(n),
                s = r(0),
                u = a(s),
                l = r(4),
                d = a(l),
                c = r(6),
                f = a(c),
                p = r(7),
                h = a(p),
                _ = r(8),
                m = a(_),
                v = r(9),
                y = a(v),
                b = r(10),
                g = a(b),
                w = u.default.log,
                x = u.default.utils.assign,
                S = u.default.utils.safeCall,
                T = u.default.utils.getComputedStyle,
                E = u.default.utils.secondsToMs,
                O = ["loadstart", "pause", "play", "playing", "seeking", "seeked", "timeupdate", "ratechange", "stalled", "waiting", "error", "ended"];
            (o.default.registerPlugin || o.default.plugin || function() {
                u.default.log.error("No valid method to register videojs plugin available.")
            })("mux", i), (0, g.default)(o.default)
        }, function(t, r) {
            t.exports = e
        }, function(e, t, r) {
            (function(t) {
                var r;
                r = "undefined" != typeof window ? window : void 0 !== t ? t : "undefined" != typeof self ? self : {}, e.exports = r
            }).call(t, r(5))
        }, function(e, t) {
            var r;
            r = function() {
                return this
            }();
            try {
                r = r || Function("return this")() || (0, eval)("this")
            } catch (e) {
                "object" == typeof window && (r = window)
            }
            e.exports = r
        }, function(e, t, r) {
            "use strict";

            function a(e) {
                var t = function(t) {
                        t = t || {};
                        var r = "function" == typeof t.getAdData ? t.getAdData() : {},
                            a = "function" == typeof t.getAd ? t.getAd() : {},
                            i = "function" == typeof a.getMediaUrl ? a.getMediaUrl() : r.mediaUrl,
                            n = e.ima.settings || {},
                            o = {};
                        return i && (o.ad_asset_url = i), n.adTagUrl && (o.ad_tag_url = n.adTagUrl), o
                    },
                    r = void 0,
                    a = void 0,
                    i = void 0,
                    n = void 0,
                    o = void 0,
                    s = void 0;
                try {
                    var u = window.google.ima.AdEvent.Type;
                    r = u.LOADED, a = u.STARTED, i = u.COMPLETE, n = u.PAUSED, o = u.RESUMED, s = u.SKIPPED
                } catch (e) {
                    r = "loaded", a = "start", i = "complete", n = "pause", o = "resume", s = "skip"
                }
                var l = 0;
                e.mux.triggerAdRequest = function() {
                    l++, e.mux.emit("adrequest", t())
                }, e.on("adsready", function() {
                    var u = e.ima.addEventListener || function() {};
                    u(r, function(r) {
                        var a = t(r);
                        l > 0 && (l--, e.mux.emit("adresponse", a)), e.mux.emit("adplay", a)
                    }), u(a, function(r) {
                        var a = t(r);
                        e.mux.emit("adplaying", a)
                    }), u(o, function(r) {
                        var a = t(r);
                        e.mux.emit("adplay", a), e.mux.emit("adplaying", a)
                    }), u(n, function(r) {
                        var a = t(r);
                        e.mux.emit("adpause", a)
                    }), u(i, function(r) {
                        var a = t(r);
                        e.mux.emit("adended", a)
                    }), u(s, function(r) {
                        var a = t(r);
                        e.mux.emit("adended", a)
                    }), e.on("adserror", function() {
                        l > 0 && (l--, e.mux.emit("adresponse")), e.mux.emit("aderror")
                    })
                })
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            }), t.default = a
        }, function(e, t, r) {
            "use strict";

            function a(e) {
                if ("string" != typeof e) return !1;
                var t = e.split(".").map(function(e) {
                        return parseInt(e)
                    }),
                    r = t[0],
                    a = t[1];
                return r > 2 || 2 === r && a >= 3
            }

            function i(e) {
                var t = function() {
                    var t = e.ima3.currentAd,
                        r = e.ima3.settings,
                        a = {};
                    return t && (a.ad_asset_url = t.mediaUrl), r && (a.ad_tag_url = r.serverUrl), a
                };
                if (a(e.ima3.version)) {
                    var r = 0,
                        i = function() {
                            r > 0 && (r--, e.mux.emit("adresponse", t()))
                        };
                    e.on("ads-request", function() {
                        r++, e.mux.emit("adrequest", t())
                    }), e.on("ads-load", function() {
                        i(), e.mux.emit("adplay", t())
                    }), e.on("adserror", function() {
                        i(), e.mux.emit("aderror")
                    }), e.on("ads-play", function() {
                        e.mux.emit("adplay", t())
                    }), e.on("ads-pause", function() {
                        e.mux.emit("adpause", t())
                    }), e.on("ads-ad-ended", function() {
                        e.mux.emit("adended", t())
                    })
                }
                e.ima3.ready(function() {
                    if (e.ima3.adPlayer) {
                        a(e.ima3.version) || (e.ima3.adPlayer.on("play", function() {
                            e.mux.emit("adplay")
                        }), e.ima3.adPlayer.on("pause", function() {
                            e.mux.emit("adpause")
                        }), e.ima3.adPlayer.on("ended", function() {
                            e.mux.emit("adended")
                        }));
                        var r = ["pause", "ended", "adserror"],
                            i = ["play"];
                        (0, o.default)(e, e.ima3.adPlayer, r, i, t)
                    } else e.mux.log("Legacy IMA3 plugin found, ad events may not track correctly."), e.on("ads-ad-started", function() {
                        e.mux.emit("adplaying", t())
                    }), e.on("ads-play", function() {
                        e.mux.emit("adplaying", t())
                    })
                })
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            }), t.brightcoveImaAdsEventsSupported = a, t.default = i;
            var n = r(1),
                o = function(e) {
                    return e && e.__esModule ? e : {
                        default: e
                    }
                }(n)
        }, function(e, t, r) {
            "use strict";

            function a(e) {
                var t = function(t) {
                    var r = e.FreeWheelPlugin,
                        a = {};
                    switch (t) {
                        case "adplay":
                        case "adplaying":
                        case "adpause":
                            a.ad_asset_url = e.currentSrc()
                    }
                    return r && (a.ad_tag_url = "html5" === r.tech.toLowerCase() ? r.settings.Html5.serverUrl : r.settings.Flash.serverUrl), a
                };
                e.on("ads-request", function() {
                    e.mux.emit("adrequest", t("adrequest"))
                }), e.on("ads-load", function() {
                    e.mux.emit("adresponse", t("adresponse"))
                }), e.on("adserror", function() {
                    e.mux.emit("aderror")
                }), e.on("ads-ad-started", function() {
                    e.mux.emit("adplay", t("adplay")), e.mux.emit("adplaying", t("adplaying"))
                }), e.on("ads-play", function() {
                    e.mux.emit("adplay", t("adplay")), e.mux.emit("adplaying", t("adplaying"))
                }), e.on("ads-pause", function() {
                    e.mux.emit("adpause", t("adpause"))
                }), e.on("ads-ad-ended", function() {
                    e.mux.emit("adended", t("adended"))
                }), e.on("adend", function() {
                    e.mux.emit("play")
                })
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            }), t.default = a
        }, function(e, t, r) {
            "use strict";

            function a(e) {
                var t = ["onceux-linearad-pause", "onceux-linearad-skipped", "onceux-linearad-complete", "adserror"],
                    r = ["adstart", "onceux-linearad-resume"];
                (0, n.default)(e, e, t, r), e.on("adstart", function() {
                    e.mux.emit("adplay")
                }), e.on("onceux-linearad-start", function(t) {
                    t.linearAd && t.linearAd.index > 0 && (e.mux.emit("adplay"), e.mux.emit("adplaying"))
                }), e.on("onceux-linearad-resume", function() {
                    e.mux.emit("adplay")
                }), e.on("onceux-linearad-pause", function() {
                    e.mux.emit("adpause")
                }), e.on("onceux-linearad-complete", function() {
                    e.mux.emit("adended")
                }), e.on("onceux-linearad-skipped", function() {
                    e.mux.emit("adended")
                })
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            }), t.default = a;
            var i = r(1),
                n = function(e) {
                    return e && e.__esModule ? e : {
                        default: e
                    }
                }(i)
        }, function(e, t, r) {
            "use strict";

            function a(e) {
                if (!o && "function" == typeof e.getTech) {
                    for (var t = e.getTech("Html5") || {}, r = t.sourceHandlers, a = 0; a < r.length; a++) ! function(t) {
                        var a = r[t],
                            i = a.handleSource;
                        a.handleSource = function(t, r) {
                            var a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
                                o = i(t, r, a);
                            if (o && "function" == typeof o.xhr) try {
                                (0, n.default)(e(o.player_.el_.parentNode.id), o.xhr)
                            } catch (e) {}
                            return o
                        }
                    }(a);
                    o = !0
                }
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            }), t.default = a;
            var i = r(11),
                n = function(e) {
                    return e && e.__esModule ? e : {
                        default: e
                    }
                }(i),
                o = !1
        }, function(e, t, r) {
            "use strict";

            function a(e, t) {
                var r = function(t, r, a) {
                        var i = (0, n.default)(e, t, r);
                        return function() {
                            try {
                                i()
                            } catch (e) {}
                            try {
                                a()
                            } catch (e) {}
                        }
                    },
                    a = function(e) {
                        return function(t) {
                            var a = Date.now();
                            try {
                                e(t)
                            } catch (e) {}
                            try {
                                t.onreadystatechange = r(t, a, t.onreadystatechange || function() {})
                            } catch (e) {}
                        }
                    };
                t.beforeRequest = function(e) {
                    return function(t) {
                        var r = e(t);
                        return r.beforeSend = a(r.beforeSend || function() {}), r
                    }
                }(t.beforeRequest || function(e) {
                    return e
                })
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            }), t.default = a;
            var i = r(12),
                n = function(e) {
                    return e && e.__esModule ? e : {
                        default: e
                    }
                }(i)
        }, function(e, t, r) {
            "use strict";

            function a(e, t, r) {
                var a = e.mux.utils.extractHostnameAndDomain,
                    n = e.mux.utils.headersStringToObject,
                    o = function(e) {
                        var t = e["content-type"];
                        return t ? t.match(/^audio\/mpegurl/i) ? "manifest" : t.match(/^audio.*/i) ? "audio" : t.match(/^video.*/) ? "video" : t.match(/^application\/x-mpegurl/i) ? "manifest" : t.match(/^application\/vnd.apple.mpegurl/i) ? "manifest" : t.match(/^application\/dash+xml/i) ? "manifest" : "unknown" : "unknown"
                    },
                    s = 0;
                return function() {
                    var u = t.readyState;
                    if (u >= 2) {
                        if (s = s || Date.now(), 4 !== u) return;
                        if (t.status >= 200 && t.status < 300) {
                            var l = Date.now(),
                                d = "arraybuffer" === t.responseType ? t.response.byteLength : t.responseText.length,
                                c = a(t.responseURL),
                                f = i(c, 1),
                                p = f[0],
                                h = n(t.getAllResponseHeaders ? t.getAllResponseHeaders() : ""),
                                _ = o(h),
                                m = {
                                    request_start: r,
                                    request_response_start: s,
                                    request_response_end: l,
                                    request_bytes_loaded: d,
                                    request_hostname: p,
                                    request_response_headers: h,
                                    request_type: _
                                };
                            e.mux.emit("requestcompleted", m)
                        } else e.mux.emit("requestfailed")
                    }
                }
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = function() {
                function e(e, t) {
                    var r = [],
                        a = !0,
                        i = !1,
                        n = void 0;
                    try {
                        for (var o, s = e[Symbol.iterator](); !(a = (o = s.next()).done) && (r.push(o.value), !t || r.length !== t); a = !0);
                    } catch (e) {
                        i = !0, n = e
                    } finally {
                        try {
                            !a && s.return && s.return()
                        } finally {
                            if (i) throw n
                        }
                    }
                    return r
                }
                return function(t, r) {
                    if (Array.isArray(t)) return t;
                    if (Symbol.iterator in Object(t)) return e(t, r);
                    throw new TypeError("Invalid attempt to destructure non-iterable instance")
                }
            }();
            t.default = a
        }])
    });
})();