/*! Video.js v4.10.2 Copyright 2014 Brightcove, Inc. https://github.com/videojs/video.js/blob/master/LICENSE */
(function() {
	var b = void 0,
	f = !0,
	k = null,
	l = !1;
	function m() {
 return function() {}
	}
	function p(a) {
 return function() {
 return this[a]
 }
	}
	function q(a) {
 return function() {
 return a
 }
	}
	var s;
	document.createElement("video");
	document.createElement("audio");
	document.createElement("track");
	function t(a, c, d) {
 if ("string" === typeof a) {
 0 === a.indexOf("#") && (a = a.slice(1));
 if (t.Ca[a]) return t.Ca[a];
 a = t.w(a)
 }
 if (!a || !a.nodeName) throw new TypeError("The element or ID supplied is not valid. (videojs)");
 return a.player || new t.Player(a, c, d)
	}
	var videojs = window.videojs = t;
	t.Vb = "4.10";
	t.Vc = "https:" == document.location.protocol ? "https://": "http://";
	t.options = {
 techOrder: ["html5", "flash"],
 html5: {},
 flash: {},
 width: 300,
 height: 150,
 defaultVolume: 0,
 playbackRates: [],
 inactivityTimeout: 2E3,
 children: {
 mediaLoader: {},
 posterImage: {},
 textTrackDisplay: {},
 loadingSpinner: {},
 bigPlayButton: {},
 controlBar: {},
 errorDisplay: {}
 },
 language: document.getElementsByTagName("html")[0].getAttribute("lang") || navigator.languages && navigator.languages[0] || navigator.ze || navigator.language || "en",
 languages: {},
 notSupportedMessage: "No compatible source was found for this video."
	};
	"GENERATED_CDN_VSN" !== t.Vb && (videojs.options.flash.swf = t.Vc + "vjs.zencdn.net/" + t.Vb + "/video-js.swf");
	t.hd = function(a, c) {
 t.options.languages[a] = t.options.languages[a] !== b ? t.ga.Va(t.options.languages[a], c) : c;
 return t.options.languages
	};
	t.Ca = {};
	"function" === typeof define && define.amd ? define([],
                                                        function() {
                                                        return videojs
                                                        }) : "object" === typeof exports && "object" === typeof module && (module.exports = videojs);
	t.qa = t.CoreObject = m();
	t.qa.extend = function(a) {
 var c, d;
 a = a || {};
 c = a.init || a.i || this.prototype.init || this.prototype.i || m();
 d = function() {
 c.apply(this, arguments)
 };
 d.prototype = t.g.create(this.prototype);
 d.prototype.constructor = d;
 d.extend = t.qa.extend;
 d.create = t.qa.create;
 for (var e in a) a.hasOwnProperty(e) && (d.prototype[e] = a[e]);
 return d
	};
	t.qa.create = function() {
 var a = t.g.create(this.prototype);
 this.apply(a, arguments);
 return a
	};
	t.c = function(a, c, d) {
 if (t.g.isArray(c)) return u(t.c, a, c, d);
 var e = t.getData(a);
 e.C || (e.C = {});
 e.C[c] || (e.C[c] = []);
 d.r || (d.r = t.r++);
 e.C[c].push(d);
 e.W || (e.disabled = l, e.W = function(c) {
         if (!e.disabled) {
         c = t.rc(c);
         var d = e.C[c.type];
         if (d) for (var d = d.slice(0), j = 0, n = d.length; j < n && !c.zc(); j++) d[j].call(a, c)
         }
         });
 1 == e.C[c].length && (a.addEventListener ? a.addEventListener(c, e.W, l) : a.attachEvent && a.attachEvent("on" + c, e.W))
	};
	t.j = function(a, c, d) {
 if (t.uc(a)) {
 var e = t.getData(a);
 if (e.C) {
 if (t.g.isArray(c)) return u(t.j, a, c, d);
 if (c) {
 var g = e.C[c];
 if (g) {
 if (d) {
 if (d.r) for (e = 0; e < g.length; e++) g[e].r === d.r && g.splice(e--, 1)
 } else e.C[c] = [];
 t.kc(a, c)
 }
 } else for (g in e.C) c = g,
 e.C[c] = [],
 t.kc(a, c)
 }
 }
	};
	t.kc = function(a, c) {
 var d = t.getData(a);
 0 === d.C[c].length && (delete d.C[c], a.removeEventListener ? a.removeEventListener(c, d.W, l) : a.detachEvent && a.detachEvent("on" + c, d.W));
 t.Ib(d.C) && (delete d.C, delete d.W, delete d.disabled);
 t.Ib(d) && t.Ic(a)
	};
	t.rc = function(a) {
 function c() {
 return f
 }
 function d() {
 return l
 }
 if (!a || !a.Jb) {
 var e = a || window.event;
 a = {};
 for (var g in e)"layerX" !== g && ("layerY" !== g && "keyLocation" !== g) && ("returnValue" == g && e.preventDefault || (a[g] = e[g]));
 a.target || (a.target = a.srcElement || document);
 a.relatedTarget = a.fromElement === a.target ? a.toElement: a.fromElement;
 a.preventDefault = function() {
 e.preventDefault && e.preventDefault();
 a.returnValue = l;
 a.Cd = c;
 a.defaultPrevented = f
 };
 a.Cd = d;
 a.defaultPrevented = l;
 a.stopPropagation = function() {
 e.stopPropagation && e.stopPropagation();
 a.cancelBubble = f;
 a.Jb = c
 };
 a.Jb = d;
 a.stopImmediatePropagation = function() {
 e.stopImmediatePropagation && e.stopImmediatePropagation();
 a.zc = c;
 a.stopPropagation()
 };
 a.zc = d;
 if (a.clientX != k) {
 g = document.documentElement;
 var h = document.body;
 a.pageX = a.clientX + (g && g.scrollLeft || h && h.scrollLeft || 0) - (g && g.clientLeft || h && h.clientLeft || 0);
 a.pageY = a.clientY + (g && g.scrollTop || h && h.scrollTop || 0) - (g && g.clientTop || h && h.clientTop || 0)
 }
 a.which = a.charCode || a.keyCode;
 a.button != k && (a.button = a.button & 1 ? 0 : a.button & 4 ? 1 : a.button & 2 ? 2 : 0)
 }
 return a
	};
	t.l = function(a, c) {
 var d = t.uc(a) ? t.getData(a) : {},
 e = a.parentNode || a.ownerDocument;
 "string" === typeof c && (c = {
                           type: c,
                           target: a
                           });
 c = t.rc(c);
 d.W && d.W.call(a, c);
 if (e && !c.Jb() && c.bubbles !== l) t.l(e, c);
 else if (!e && !c.defaultPrevented && (d = t.getData(c.target), c.target[c.type])) {
 d.disabled = f;
 if ("function" === typeof c.target[c.type]) c.target[c.type]();
 d.disabled = l
 }
 return ! c.defaultPrevented
	};
	t.R = function(a, c, d) {
 function e() {
 t.j(a, c, e);
 d.apply(this, arguments)
 }
 if (t.g.isArray(c)) return u(t.R, a, c, d);
 e.r = d.r = d.r || t.r++;
 t.c(a, c, e)
	};
	function u(a, c, d, e) {
 t.ic.forEach(d,
              function(d) {
              a(c, d, e)
              })
	}
	var v = Object.prototype.hasOwnProperty;
	t.e = function(a, c) {
 var d;
 c = c || {};
 d = document.createElement(a || "div");
 t.g.X(c,
       function(a, c) { - 1 !== a.indexOf("aria-") || "role" == a ? d.setAttribute(a, c) : d[a] = c
       });
 return d
	};
	t.ba = function(a) {
 return a.charAt(0).toUpperCase() + a.slice(1)
	};
	t.g = {};
	t.g.create = Object.create ||
	function(a) {
 function c() {}
 c.prototype = a;
 return new c
	};
	t.g.X = function(a, c, d) {
 for (var e in a) v.call(a, e) && c.call(d || this, e, a[e])
	};
	t.g.z = function(a, c) {
 if (!c) return a;
 for (var d in c) v.call(c, d) && (a[d] = c[d]);
 return a
	};
	t.g.qd = function(a, c) {
 var d, e, g;
 a = t.g.copy(a);
 for (d in c) v.call(c, d) && (e = a[d], g = c[d], a[d] = t.g.Ta(e) && t.g.Ta(g) ? t.g.qd(e, g) : c[d]);
 return a
	};
	t.g.copy = function(a) {
 return t.g.z({},
              a)
	};
	t.g.Ta = function(a) {
 return !! a && "object" === typeof a && "[object Object]" === a.toString() && a.constructor === Object
	};
	t.g.isArray = Array.isArray ||
	function(a) {
 return "[object Array]" === Object.prototype.toString.call(a)
	};
	t.Ed = function(a) {
 return a !== a
	};
	t.bind = function(a, c, d) {
 function e() {
 return c.apply(a, arguments)
 }
 c.r || (c.r = t.r++);
 e.r = d ? d + "_" + c.r: c.r;
 return e
	};
	t.va = {};
	t.r = 1;
	t.expando = "vdata" + (new Date).getTime();
	t.getData = function(a) {
 var c = a[t.expando];
 c || (c = a[t.expando] = t.r++, t.va[c] = {});
 return t.va[c]
	};
	t.uc = function(a) {
 a = a[t.expando];
 return ! (!a || t.Ib(t.va[a]))
	};
	t.Ic = function(a) {
 var c = a[t.expando];
 if (c) {
 delete t.va[c];
 try {
 delete a[t.expando]
 } catch(d) {
 a.removeAttribute ? a.removeAttribute(t.expando) : a[t.expando] = k
 }
 }
	};
	t.Ib = function(a) {
 for (var c in a) if (a[c] !== k) return l;
 return f
	};
	t.Sa = function(a, c) {
 return - 1 !== (" " + a.className + " ").indexOf(" " + c + " ")
	};
	t.n = function(a, c) {
 t.Sa(a, c) || (a.className = "" === a.className ? c: a.className + " " + c)
	};
	t.p = function(a, c) {
 var d, e;
 if (t.Sa(a, c)) {
 d = a.className.split(" ");
 for (e = d.length - 1; 0 <= e; e--) d[e] === c && d.splice(e, 1);
 a.className = d.join(" ")
 }
	};
	t.A = t.e("video");
	t.O = navigator.userAgent;
	t.bd = /iPhone/i.test(t.O);
	t.ad = /iPad/i.test(t.O);
	t.cd = /iPod/i.test(t.O);
	t.$c = t.bd || t.ad || t.cd;
	var aa = t,
	x;
	var y = t.O.match(/OS (\d+)_/i);
	x = y && y[1] ? y[1] : b;
	aa.oe = x;
	t.Yc = /Android/i.test(t.O);
	var ba = t,
	z;
	var A = t.O.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i),
	B,
	C;
	A ? (B = A[1] && parseFloat(A[1]), C = A[2] && parseFloat(A[2]), z = B && C ? parseFloat(A[1] + "." + A[2]) : B ? B: k) : z = k;
	ba.Ub = z;
	t.dd = t.Yc && /webkit/i.test(t.O) && 2.3 > t.Ub;
	t.Zc = /Firefox/i.test(t.O);
	t.pe = /Chrome/i.test(t.O);
	t.ec = !!("ontouchstart" in window || window.Xc && document instanceof window.Xc);
	t.Wc = "backgroundSize" in t.A.style;
	t.Kc = function(a, c) {
 t.g.X(c,
       function(c, e) {
       e === k || "undefined" === typeof e || e === l ? a.removeAttribute(c) : a.setAttribute(c, e === f ? "": e)
       })
	};
	t.Aa = function(a) {
 var c, d, e, g;
 c = {};
 if (a && a.attributes && 0 < a.attributes.length) {
 d = a.attributes;
 for (var h = d.length - 1; 0 <= h; h--) {
 e = d[h].name;
 g = d[h].value;
 if ("boolean" === typeof a[e] || -1 !== ",autoplay,controls,loop,muted,default,".indexOf("," + e + ",")) g = g !== k ? f: l;
 c[e] = g
 }
 }
 return c
	};
	t.ve = function(a, c) {
 var d = "";
 document.defaultView && document.defaultView.getComputedStyle ? d = document.defaultView.getComputedStyle(a, "").getPropertyValue(c) : a.currentStyle && (d = a["client" + c.substr(0, 1).toUpperCase() + c.substr(1)] + "px");
 return d
	};
	t.Hb = function(a, c) {
 c.firstChild ? c.insertBefore(a, c.firstChild) : c.appendChild(a)
	};
	t.Oa = {};
	t.w = function(a) {
 0 === a.indexOf("#") && (a = a.slice(1));
 return document.getElementById(a)
	};
	t.za = function(a, c) {
 c = c || a;
 var d = Math.floor(a % 60),
 e = Math.floor(a / 60 % 60),
 g = Math.floor(a / 3600),
 h = Math.floor(c / 60 % 60),
 j = Math.floor(c / 3600);
 if (isNaN(a) || Infinity === a) g = e = d = "-";
 g = 0 < g || 0 < j ? g + ":": "";
 return g + (((g || 10 <= h) && 10 > e ? "0" + e: e) + ":") + (10 > d ? "0" + d: d)
	};
	t.kd = function() {
 document.body.focus();
 document.onselectstart = q(l)
	};
	t.ke = function() {
 document.onselectstart = q(f)
	};
	t.trim = function(a) {
 return (a + "").replace(/^\s+|\s+$/g, "")
	};
	t.round = function(a, c) {
 c || (c = 0);
 return Math.round(a * Math.pow(10, c)) / Math.pow(10, c)
	};
	t.zb = function(a, c) {
 return {
 length: 1,
 start: function() {
 return a
 },
 end: function() {
 return c
 }
 }
	};
	t.get = function(a, c, d, e) {
 var g, h, j, n;
 d = d || m();
 "undefined" === typeof XMLHttpRequest && (window.XMLHttpRequest = function() {
                                           try {
                                           return new window.ActiveXObject("Msxml2.XMLHTTP.6.0")
                                           } catch(a) {}
                                           try {
                                           return new window.ActiveXObject("Msxml2.XMLHTTP.3.0")
                                           } catch(c) {}
                                           try {
                                           return new window.ActiveXObject("Msxml2.XMLHTTP")
                                           } catch(d) {}
                                           throw Error("This browser does not support XMLHttpRequest.");
                                           });
 h = new XMLHttpRequest;
 j = t.Xd(a);
 n = window.location;
 j.protocol + j.host !== n.protocol + n.host && window.XDomainRequest && !("withCredentials" in h) ? (h = new window.XDomainRequest, h.onload = function() {
                                                                                                      c(h.responseText)
                                                                                                      },
                                                                                                      h.onerror = d, h.onprogress = m(), h.ontimeout = d) : (g = "file:" == j.protocol || "file:" == n.protocol, h.onreadystatechange = function() {
                                                                                                                                                             4 === h.readyState && (200 === h.status || g && 0 === h.status ? c(h.responseText) : d(h.responseText))
                                                                                                                                                             });
 try {
 h.open("GET", a, f),
 e && (h.withCredentials = f)
 } catch(r) {
 d(r);
 return
 }
 try {
 h.send()
 } catch(w) {
 d(w)
 }
	};
	t.ae = function(a) {
 try {
 var c = window.localStorage || l;
 c && (c.volume = a)
 } catch(d) {
 22 == d.code || 1014 == d.code ? t.log("LocalStorage Full (VideoJS)", d) : 18 == d.code ? t.log("LocalStorage not allowed (VideoJS)", d) : t.log("LocalStorage Error (VideoJS)", d)
 }
	};
	t.tc = function(a) {
 a.match(/^https?:\/\//) || (a = t.e("div", {
         innerHTML: '<a href="' + a + '">x</a>'
         }).firstChild.href);
return a
};
t.Xd = function(a) {
    var c, d, e, g;
    g = "protocol hostname port pathname search hash host".split(" ");
    d = t.e("a", {
            href: a
            });
    if (e = "" === d.host && "file:" !== d.protocol) c = t.e("div"),
        c.innerHTML = '<a href="' + a + '"></a>',
        d = c.firstChild,
        c.setAttribute("style", "display:none; position:absolute;"),
        document.body.appendChild(c);
    a = {};
    for (var h = 0; h < g.length; h++) a[g[h]] = d[g[h]];
    e && document.body.removeChild(c);
    return a
};
function D(a, c) {
    var d, e;
    d = Array.prototype.slice.call(c);
    e = m();
    e = window.console || {
    log: e,
    warn: e,
    error: e
    };
    a ? d.unshift(a.toUpperCase() + ":") : a = "log";
    t.log.history.push(d);
    d.unshift("VIDEOJS:");
    if (e[a].apply) e[a].apply(e, d);
    else e[a](d.join(" "))
        }
t.log = function() {
    D(k, arguments)
};
t.log.history = [];
t.log.error = function() {
    D("error", arguments)
};
t.log.warn = function() {
    D("warn", arguments)
};
t.xd = function(a) {
    var c, d;
    a.getBoundingClientRect && a.parentNode && (c = a.getBoundingClientRect());
    if (!c) return {
    left: 0,
    top: 0
    };
    a = document.documentElement;
    d = document.body;
    return {
    left: t.round(c.left + (window.pageXOffset || d.scrollLeft) - (a.clientLeft || d.clientLeft || 0)),
    top: t.round(c.top + (window.pageYOffset || d.scrollTop) - (a.clientTop || d.clientTop || 0))
    }
};
t.ic = {};
t.ic.forEach = function(a, c, d) {
    if (t.g.isArray(a) && c instanceof Function) for (var e = 0,
                                                      g = a.length; e < g; ++e) c.call(d || t, a[e], e, a);
    return a
};
t.ga = {};
t.ga.Va = function(a, c) {
    var d, e, g;
    a = t.g.copy(a);
    for (d in c) c.hasOwnProperty(d) && (e = a[d], g = c[d], a[d] = t.g.Ta(e) && t.g.Ta(g) ? t.ga.Va(e, g) : c[d]);
    return a
};
t.a = t.qa.extend({
                  i: function(a, c, d) {
                  this.d = a;
                  this.m = t.g.copy(this.m);
                  c = this.options(c);
                  this.L = c.id || c.el && c.el.id;
                  this.L || (this.L = (a.id && a.id() || "no_player") + "_component_" + t.r++);
                  this.Kd = c.name || k;
                  this.b = c.el || this.e();
                  this.P = [];
                  this.Pa = {};
                  this.Qa = {};
                  this.wc();
                  this.K(d);
                  if (c.Jc !== l) {
                  var e, g;
                  this.k().reportUserActivity && (e = t.bind(this.k(), this.k().reportUserActivity), this.c("touchstart",
                                                                                                            function() {
                                                                                                            e();
                                                                                                            clearInterval(g);
                                                                                                            g = setInterval(e, 250)
                                                                                                            }), a = function() {
                                                  e();
                                                  clearInterval(g)
                                                  },
                                                  this.c("touchmove", e), this.c("touchend", a), this.c("touchcancel", a))
                  }
                  }
                  });
s = t.a.prototype;
s.dispose = function() {
    this.l({
           type: "dispose",
           bubbles: l
           });
    if (this.P) for (var a = this.P.length - 1; 0 <= a; a--) this.P[a].dispose && this.P[a].dispose();
    this.Qa = this.Pa = this.P = k;
    this.j();
    this.b.parentNode && this.b.parentNode.removeChild(this.b);
    t.Ic(this.b);
    this.b = k
};
s.d = f;
s.k = p("d");
s.options = function(a) {
    return a === b ? this.m: this.m = t.ga.Va(this.m, a)
};
s.e = function(a, c) {
    return t.e(a, c)
};
s.t = function(a) {
    var c = this.d.language(),
    d = this.d.languages();
    return d && d[c] && d[c][a] ? d[c][a] : a
};
s.w = p("b");
s.ja = function() {
    return this.v || this.b
};
s.id = p("L");
s.name = p("Kd");
s.children = p("P");
s.zd = function(a) {
    return this.Pa[a]
};
s.ka = function(a) {
    return this.Qa[a]
};
s.V = function(a, c) {
    var d, e;
    "string" === typeof a ? (e = a, c = c || {},
                             d = c.componentClass || t.ba(e), c.name = e, d = new window.videojs[d](this.d || this, c)) : d = a;
    this.P.push(d);
    "function" === typeof d.id && (this.Pa[d.id()] = d); (e = e || d.name && d.name()) && (this.Qa[e] = d);
    "function" === typeof d.el && d.el() && this.ja().appendChild(d.el());
    return d
};
s.removeChild = function(a) {
    "string" === typeof a && (a = this.ka(a));
    if (a && this.P) {
        for (var c = l,
             d = this.P.length - 1; 0 <= d; d--) if (this.P[d] === a) {
            c = f;
            this.P.splice(d, 1);
            break
        }
        c && (this.Pa[a.id] = k, this.Qa[a.name] = k, (c = a.w()) && c.parentNode === this.ja() && this.ja().removeChild(a.w()))
    }
};
s.wc = function() {
    var a, c, d, e, g, h;
    a = this;
    c = a.options();
    if (d = c.children) if (h = function(d, e) {
                            c[d] !== b && (e = c[d]);
                            e !== l && (a[d] = a.V(d, e))
                            },
                            t.g.isArray(d)) for (var j = 0; j < d.length; j++) e = d[j],
                                "string" == typeof e ? (g = e, e = {}) : g = e.name,
                                h(g, e);
    else t.g.X(d, h)
        };
s.T = q("");
s.c = function(a, c, d) {
    var e, g, h;
    "string" === typeof a || t.g.isArray(a) ? t.c(this.b, a, t.bind(this, c)) : (e = t.bind(this, d), h = this, g = function() {
                                                                                 h.j(a, c, e)
                                                                                 },
                                                                                 g.r = e.r, this.c("dispose", g), d = function() {
                                                                                 h.j("dispose", g)
                                                                                 },
                                                                                 d.r = e.r, a.nodeName ? (t.c(a, c, e), t.c(a, "dispose", d)) : "function" === typeof a.c && (a.c(c, e), a.c("dispose", d)));
    return this
};
s.j = function(a, c, d) { ! a || "string" === typeof a || t.g.isArray(a) ? t.j(this.b, a, c) : (d = t.bind(this, d), this.j("dispose", d), a.nodeName ? (t.j(a, c, d), t.j(a, "dispose", d)) : (a.j(c, d), a.j("dispose", d)));
    return this
};
s.R = function(a, c, d) {
    var e, g, h;
    "string" === typeof a || t.g.isArray(a) ? t.R(this.b, a, t.bind(this, c)) : (e = t.bind(this, d), g = this, h = function() {
                                                                                 g.j(a, c, h);
                                                                                 e.apply(this, arguments)
                                                                                 },
                                                                                 h.r = e.r, this.c(a, c, h));
    return this
};
s.l = function(a) {
    t.l(this.b, a);
    return this
};
s.K = function(a) {
    a && (this.la ? a.call(this) : (this.ab === b && (this.ab = []), this.ab.push(a)));
    return this
};
s.Ga = function() {
    this.la = f;
    var a = this.ab;
    if (a && 0 < a.length) {
        for (var c = 0,
             d = a.length; c < d; c++) a[c].call(this);
        this.ab = [];
        this.l("ready")
    }
};
s.Sa = function(a) {
    return t.Sa(this.b, a)
};
s.n = function(a) {
    t.n(this.b, a);
    return this
};
s.p = function(a) {
    t.p(this.b, a);
    return this
};
s.show = function() {
    this.b.style.display = "block";
    return this
};
s.Y = function() {
    this.b.style.display = "none";
    return this
};
function E(a) {
    a.p("vjs-lock-showing")
}
s.disable = function() {
    this.Y();
    this.show = m()
};
s.width = function(a, c) {
    return F(this, "width", a, c)
};
s.height = function(a, c) {
    return F(this, "height", a, c)
};
s.td = function(a, c) {
    return this.width(a, f).height(c)
};
function F(a, c, d, e) {
    if (d !== b) {
        if (d === k || t.Ed(d)) d = 0;
        a.b.style[c] = -1 !== ("" + d).indexOf("%") || -1 !== ("" + d).indexOf("px") ? d: "auto" === d ? "": d + "px";
        e || a.l("resize");
        return a
    }
    if (!a.b) return 0;
    d = a.b.style[c];
    e = d.indexOf("px");
    return - 1 !== e ? parseInt(d.slice(0, e), 10) : parseInt(a.b["offset" + t.ba(c)], 10)
}
function G(a) {
    var c, d, e, g, h, j, n, r;
    c = 0;
    d = k;
    a.c("touchstart",
        function(a) {
        1 === a.touches.length && (d = a.touches[0], c = (new Date).getTime(), g = f)
        });
    a.c("touchmove",
        function(a) {
        1 < a.touches.length ? g = l: d && (j = a.touches[0].pageX - d.pageX, n = a.touches[0].pageY - d.pageY, r = Math.sqrt(j * j + n * n), 22 < r && (g = l))
        });
    h = function() {
        g = l
    };
    a.c("touchleave", h);
    a.c("touchcancel", h);
    a.c("touchend",
        function(a) {
        d = k;
        g === f && (e = (new Date).getTime() - c, 250 > e && (a.preventDefault(), this.l("tap")))
        })
}
t.u = t.a.extend({
                 i: function(a, c) {
                 t.a.call(this, a, c);
                 G(this);
                 this.c("tap", this.s);
                 this.c("click", this.s);
                 this.c("focus", this.Ya);
                 this.c("blur", this.Xa)
                 }
                 });
s = t.u.prototype;
s.e = function(a, c) {
    var d;
    c = t.g.z({
              className: this.T(),
              role: "button",
              "aria-live": "polite",
              tabIndex: 0
              },
              c);
    d = t.a.prototype.e.call(this, a, c);
    c.innerHTML || (this.v = t.e("div", {
                                 className: "vjs-control-content"
                                 }), this.xb = t.e("span", {
                                                   className: "vjs-control-text",
                                                   innerHTML: this.t(this.ua) || "Need Text"
                                                   }), this.v.appendChild(this.xb), d.appendChild(this.v));
    return d
};
s.T = function() {
    return "vjs-control " + t.a.prototype.T.call(this)
};
s.s = m();
s.Ya = function() {
    t.c(document, "keydown", t.bind(this, this.Z))
};
s.Z = function(a) {
    if (32 == a.which || 13 == a.which) a.preventDefault(),
        this.s()
        };
s.Xa = function() {
    t.j(document, "keydown", t.bind(this, this.Z))
};
t.S = t.a.extend({
                 i: function(a, c) {
                 t.a.call(this, a, c);
                 this.jd = this.ka(this.m.barName);
                 this.handle = this.ka(this.m.handleName);
                 this.c("mousedown", this.Za);
                 this.c("touchstart", this.Za);
                 this.c("focus", this.Ya);
                 this.c("blur", this.Xa);
                 this.c("click", this.s);
                 this.c(a, "controlsvisible", this.update);
                 this.c(a, this.Ec, this.update);
                 this.F = {};
                 this.F.move = t.bind(this, this.$a);
                 this.F.end = t.bind(this, this.Mb)
                 }
                 });
s = t.S.prototype;
s.dispose = function() {
    t.j(document, "mousemove", this.F.move, l);
    t.j(document, "mouseup", this.F.end, l);
    t.j(document, "touchmove", this.F.move, l);
    t.j(document, "touchend", this.F.end, l);
    t.j(document, "keyup", t.bind(this, this.Z));
    t.a.prototype.dispose.call(this)
};
s.e = function(a, c) {
    c = c || {};
    c.className += " vjs-slider";
    c = t.g.z({
              role: "slider",
              "aria-valuenow": 0,
              "aria-valuemin": 0,
              "aria-valuemax": 100,
              tabIndex: 0
              },
              c);
    return t.a.prototype.e.call(this, a, c)
};
s.Za = function(a) {
    a.preventDefault();
    t.kd();
    this.n("vjs-sliding");
    t.c(document, "mousemove", this.F.move);
    t.c(document, "mouseup", this.F.end);
    t.c(document, "touchmove", this.F.move);
    t.c(document, "touchend", this.F.end);
    this.$a(a)
};
s.$a = m();
s.Mb = function() {
    t.ke();
    this.p("vjs-sliding");
    t.j(document, "mousemove", this.F.move, l);
    t.j(document, "mouseup", this.F.end, l);
    t.j(document, "touchmove", this.F.move, l);
    t.j(document, "touchend", this.F.end, l);
    this.update()
};
s.update = function() {
    if (this.b) {
        var a, c = this.Gb(),
        d = this.handle,
        e = this.jd;
        isNaN(c) && (c = 0);
        a = c;
        if (d) {
            a = this.b.offsetWidth;
            var g = d.w().offsetWidth;
            a = g ? g / a: 0;
            c *= 1 - a;
            a = c + a / 2;
            d.w().style.left = t.round(100 * c, 2) + "%"
        }
        e && (e.w().style.width = t.round(100 * a, 2) + "%")
    }
};
function H(a, c) {
    var d, e, g, h;
    d = a.b;
    e = t.xd(d);
    h = g = d.offsetWidth;
    d = a.handle;
    if (a.options().vertical) return h = e.top,
        e = c.changedTouches ? c.changedTouches[0].pageY: c.pageY,
        d && (d = d.w().offsetHeight, h += d / 2, g -= d),
        Math.max(0, Math.min(1, (h - e + g) / g));
    g = e.left;
    e = c.changedTouches ? c.changedTouches[0].pageX: c.pageX;
    d && (d = d.w().offsetWidth, g += d / 2, h -= d);
    return Math.max(0, Math.min(1, (e - g) / h))
}
s.Ya = function() {
    t.c(document, "keyup", t.bind(this, this.Z))
};
s.Z = function(a) {
    if (37 == a.which || 40 == a.which) a.preventDefault(),
        this.Nc();
    else if (38 == a.which || 39 == a.which) a.preventDefault(),
        this.Oc()
        };
s.Xa = function() {
    t.j(document, "keyup", t.bind(this, this.Z))
};
s.s = function(a) {
    a.stopImmediatePropagation();
    a.preventDefault()
};
t.$ = t.a.extend();
t.$.prototype.defaultValue = 0;
t.$.prototype.e = function(a, c) {
    c = c || {};
    c.className += " vjs-slider-handle";
    c = t.g.z({
              innerHTML: '<span class="vjs-control-text">' + this.defaultValue + "</span>"
              },
              c);
    return t.a.prototype.e.call(this, "div", c)
};
t.ha = t.a.extend();
function ca(a, c) {
    a.V(c);
    c.c("click", t.bind(a,
                        function() {
                        E(this)
                        }))
}
t.ha.prototype.e = function() {
    var a = this.options().lc || "ul";
    this.v = t.e(a, {
                 className: "vjs-menu-content"
                 });
    a = t.a.prototype.e.call(this, "div", {
                             append: this.v,
                             className: "vjs-menu"
                             });
    a.appendChild(this.v);
    t.c(a, "click",
        function(a) {
        a.preventDefault();
        a.stopImmediatePropagation()
        });
    return a
};
t.J = t.u.extend({
                 i: function(a, c) {
                 t.u.call(this, a, c);
                 this.selected(c.selected)
                 }
                 });
t.J.prototype.e = function(a, c) {
    return t.u.prototype.e.call(this, "li", t.g.z({
                                                  className: "vjs-menu-item",
                                                  innerHTML: this.t(this.m.label)
                                                  },
                                                  c))
};
t.J.prototype.s = function() {
    this.selected(f)
};
t.J.prototype.selected = function(a) {
    a ? (this.n("vjs-selected"), this.b.setAttribute("aria-selected", f)) : (this.p("vjs-selected"), this.b.setAttribute("aria-selected", l))
};
t.N = t.u.extend({
                 i: function(a, c) {
                 t.u.call(this, a, c);
                 this.Ba = this.xa();
                 this.V(this.Ba);
                 this.Q && 0 === this.Q.length && this.Y();
                 this.c("keyup", this.Z);
                 this.b.setAttribute("aria-haspopup", f);
                 this.b.setAttribute("role", "button")
                 }
                 });
s = t.N.prototype;
s.ta = l;
s.xa = function() {
    var a = new t.ha(this.d);
    this.options().title && a.ja().appendChild(t.e("li", {
                                                   className: "vjs-menu-title",
                                                   innerHTML: t.ba(this.options().title),
                                                   he: -1
                                                   }));
    if (this.Q = this.createItems()) for (var c = 0; c < this.Q.length; c++) ca(a, this.Q[c]);
    return a
};
s.wa = m();
s.T = function() {
    return this.className + " vjs-menu-button " + t.u.prototype.T.call(this)
};
s.Ya = m();
s.Xa = m();
s.s = function() {
    this.R("mouseout", t.bind(this,
                              function() {
                              E(this.Ba);
                              this.b.blur()
                              }));
    this.ta ? I(this) : J(this)
};
s.Z = function(a) {
    a.preventDefault();
    32 == a.which || 13 == a.which ? this.ta ? I(this) : J(this) : 27 == a.which && this.ta && I(this)
};
function J(a) {
    a.ta = f;
    a.Ba.n("vjs-lock-showing");
    a.b.setAttribute("aria-pressed", f);
    a.Q && 0 < a.Q.length && a.Q[0].w().focus()
}
function I(a) {
    a.ta = l;
    E(a.Ba);
    a.b.setAttribute("aria-pressed", l)
}
t.D = function(a) {
    "number" === typeof a ? this.code = a: "string" === typeof a ? this.message = a: "object" === typeof a && t.g.z(this, a);
    this.message || (this.message = t.D.rd[this.code] || "")
};
t.D.prototype.code = 0;
t.D.prototype.message = "";
t.D.prototype.status = k;
t.D.Ra = "MEDIA_ERR_CUSTOM MEDIA_ERR_ABORTED MEDIA_ERR_NETWORK MEDIA_ERR_DECODE MEDIA_ERR_SRC_NOT_SUPPORTED MEDIA_ERR_ENCRYPTED".split(" ");
t.D.rd = {
    1 : "You aborted the video playback",
    2 : "A network error caused the video download to fail part-way.",
    3 : "The video playback was aborted due to a corruption problem or because the video used features your browser did not support.",
    4 : "The video could not be loaded, either because the server or network failed or because the format is not supported.",
    5 : "The video is encrypted and we do not have the keys to decrypt it."
};
for (var K = 0; K < t.D.Ra.length; K++) t.D[t.D.Ra[K]] = K,
t.D.prototype[t.D.Ra[K]] = K;
var L, M, N, O;
L = ["requestFullscreen exitFullscreen fullscreenElement fullscreenEnabled fullscreenchange fullscreenerror".split(" "), "webkitRequestFullscreen webkitExitFullscreen webkitFullscreenElement webkitFullscreenEnabled webkitfullscreenchange webkitfullscreenerror".split(" "), "webkitRequestFullScreen webkitCancelFullScreen webkitCurrentFullScreenElement webkitCancelFullScreen webkitfullscreenchange webkitfullscreenerror".split(" "), "mozRequestFullScreen mozCancelFullScreen mozFullScreenElement mozFullScreenEnabled mozfullscreenchange mozfullscreenerror".split(" "), "msRequestFullscreen msExitFullscreen msFullscreenElement msFullscreenEnabled MSFullscreenChange MSFullscreenError".split(" ")];
M = L[0];
for (O = 0; O < L.length; O++) if (L[O][1] in document) {
    N = L[O];
    break
}
if (N) {
    t.Oa.Fb = {};
    for (O = 0; O < N.length; O++) t.Oa.Fb[M[O]] = N[O]
        }
t.Player = t.a.extend({
                      i: function(a, c, d) {
                      this.I = a;
                      a.id = a.id || "vjs_video_" + t.r++;
                      this.ie = a && t.Aa(a);
                      c = t.g.z(da(a), c);
                      this.Ua = c.language || t.options.language;
                      this.Id = c.languages || t.options.languages;
                      this.G = {};
                      this.Fc = c.poster || "";
                      this.yb = !!c.controls;
                      a.controls = l;
                      c.Jc = l;
                      P(this, "audio" === this.I.nodeName.toLowerCase());
                      t.a.call(this, this, c, d);
                      this.controls() ? this.n("vjs-controls-enabled") : this.n("vjs-controls-disabled");
                      P(this) && this.n("vjs-audio");
                      t.Ca[this.L] = this;
                      c.plugins && t.g.X(c.plugins,
                                         function(a, c) {
                                         this[a](c)
                                         },
                                         this);
                      var e, g, h, j, n, r;
                      e = t.bind(this, this.reportUserActivity);
                      this.c("mousedown",
                             function() {
                             e();
                             clearInterval(g);
                             g = setInterval(e, 250)
                             });
                      this.c("mousemove",
                             function(a) {
                             if (a.screenX != n || a.screenY != r) n = a.screenX,
                             r = a.screenY,
                             e()
                             });
                      this.c("mouseup",
                             function() {
                             e();
                             clearInterval(g)
                             });
                      this.c("keydown", e);
                      this.c("keyup", e);
                      h = setInterval(t.bind(this,
                                             function() {
                                             if (this.pa) {
                                             this.pa = l;
                                             this.userActive(f);
                                             clearTimeout(j);
                                             var a = this.options().inactivityTimeout;
                                             0 < a && (j = setTimeout(t.bind(this,
                                                                             function() {
                                                                             this.pa || this.userActive(l)
                                                                             }), a))
                                             }
                                             }), 250);
                      this.c("dispose",
                             function() {
                             clearInterval(h);
                             clearTimeout(j)
                             })
                      }
                      });
s = t.Player.prototype;
s.language = function(a) {
    if (a === b) return this.Ua;
    this.Ua = a;
    return this
};
s.languages = p("Id");
s.m = t.options;
s.dispose = function() {
    this.l("dispose");
    this.j("dispose");
    t.Ca[this.L] = k;
    this.I && this.I.player && (this.I.player = k);
    this.b && this.b.player && (this.b.player = k);
    this.o && this.o.dispose();
    t.a.prototype.dispose.call(this)
};
function da(a) {
    var c, d, e = {
    sources: [],
    tracks: []
    };
    c = t.Aa(a);
    d = c["data-setup"];
    d !== k && t.g.z(c, t.JSON.parse(d || "{}"));
    t.g.z(e, c);
    if (a.hasChildNodes()) {
        var g, h;
        a = a.childNodes;
        g = 0;
        for (h = a.length; g < h; g++) c = a[g],
            d = c.nodeName.toLowerCase(),
            "source" === d ? e.sources.push(t.Aa(c)) : "track" === d && e.tracks.push(t.Aa(c))
            }
    return e
}
s.e = function() {
    var a = this.b = t.a.prototype.e.call(this, "div"),
    c = this.I,
    d;
    c.removeAttribute("width");
    c.removeAttribute("height");
    if (c.hasChildNodes()) {
        var e, g, h, j, n;
        e = c.childNodes;
        g = e.length;
        for (n = []; g--;) h = e[g],
            j = h.nodeName.toLowerCase(),
            "track" === j && n.push(h);
        for (e = 0; e < n.length; e++) c.removeChild(n[e])
            }
    d = t.Aa(c);
    t.g.X(d,
          function(c) {
          "class" == c ? a.className = d[c] : a.setAttribute(c, d[c])
          });
    c.id += "_html5_api";
    c.className = "vjs-tech";
    c.player = a.player = this;
    this.n("vjs-paused");
    this.width(this.m.width, f);
    this.height(this.m.height, f);
    c.Bd = c.networkState;
    c.parentNode && c.parentNode.insertBefore(a, c);
    t.Hb(c, a);
    this.b = a;
    this.c("loadstart", this.Pd);
    this.c("waiting", this.Vd);
    this.c(["canplay", "canplaythrough", "playing", "ended"], this.Ud);
    this.c("seeking", this.Sd);
    this.c("seeked", this.Rd);
    this.c("ended", this.Ld);
    this.c("play", this.Ob);
    this.c("firstplay", this.Nd);
    this.c("pause", this.Nb);
    this.c("progress", this.Qd);
    this.c("durationchange", this.Cc);
    this.c("fullscreenchange", this.Od);
    return a
};
function Q(a, c, d) {
    a.o && (a.la = l, a.o.dispose(), a.o = l);
    "Html5" !== c && a.I && (t.h.Bb(a.I), a.I = k);
    a.eb = c;
    a.la = l;
    var e = t.g.z({
                  source: d,
                  parentEl: a.b
                  },
                  a.m[c.toLowerCase()]);
    d && (a.nc = d.type, d.src == a.G.src && 0 < a.G.currentTime && (e.startTime = a.G.currentTime), a.G.src = d.src);
    a.o = new window.videojs[c](a, e);
    a.o.K(function() {
          this.d.Ga()
          })
}
s.Pd = function() {
    this.error(k);
    this.paused() ? (R(this, l), this.R("play",
                                        function() {
                                        R(this, f)
                                        })) : this.l("firstplay")
};
s.vc = l;
function R(a, c) {
    c !== b && a.vc !== c && ((a.vc = c) ? (a.n("vjs-has-started"), a.l("firstplay")) : a.p("vjs-has-started"))
}
s.Ob = function() {
    this.p("vjs-paused");
    this.n("vjs-playing")
};
s.Vd = function() {
    this.n("vjs-waiting")
};
s.Ud = function() {
    this.p("vjs-waiting")
};
s.Sd = function() {
    this.n("vjs-seeking")
};
s.Rd = function() {
    this.p("vjs-seeking")
};
s.Nd = function() {
    this.m.starttime && this.currentTime(this.m.starttime);
    this.n("vjs-has-started")
};
s.Nb = function() {
    this.p("vjs-playing");
    this.n("vjs-paused")
};
s.Qd = function() {
    1 == this.bufferedPercent() && this.l("loadedalldata")
};
s.Ld = function() {
    this.m.loop ? (this.currentTime(0), this.play()) : this.paused() || this.pause()
};
s.Cc = function() {
    var a = S(this, "duration");
    a && (0 > a && (a = Infinity), this.duration(a), Infinity === a ? this.n("vjs-live") : this.p("vjs-live"))
};
s.Od = function() {
    this.isFullscreen() ? this.n("vjs-fullscreen") : this.p("vjs-fullscreen")
};
function T(a, c, d) {
    if (a.o && !a.o.la) a.o.K(function() {
                              this[c](d)
                              });
    else try {
        a.o[c](d)
    } catch(e) {
        throw t.log(e),
        e;
    }
}
function S(a, c) {
    if (a.o && a.o.la) try {
        return a.o[c]()
    } catch(d) {
        throw a.o[c] === b ? t.log("Video.js: " + c + " method not defined for " + a.eb + " playback technology.", d) : "TypeError" == d.name ? (t.log("Video.js: " + c + " unavailable on " + a.eb + " playback technology element.", d), a.o.la = l) : t.log(d),
        d;
    }
}
s.play = function() {
    T(this, "play");
    return this
};
s.pause = function() {
    T(this, "pause");
    return this
};
s.paused = function() {
    return S(this, "paused") === l ? l: f
};
s.currentTime = function(a) {
    return a !== b ? (T(this, "setCurrentTime", a), this) : this.G.currentTime = S(this, "currentTime") || 0
};
s.duration = function(a) {
    if (a !== b) return this.G.duration = parseFloat(a),
        this;
    this.G.duration === b && this.Cc();
    return this.G.duration || 0
};
s.remainingTime = function() {
    return this.duration() - this.currentTime()
};
s.buffered = function() {
    var a = S(this, "buffered");
    if (!a || !a.length) a = t.zb(0, 0);
    return a
};
s.bufferedPercent = function() {
    var a = this.duration(),
    c = this.buffered(),
    d = 0,
    e,
    g;
    if (!a) return 0;
    for (var h = 0; h < c.length; h++) e = c.start(h),
        g = c.end(h),
        g > a && (g = a),
        d += g - e;
    return d / a
};
s.volume = function(a) {
    if (a !== b) return a = Math.max(0, Math.min(1, parseFloat(a))),
        this.G.volume = a,
        T(this, "setVolume", a),
        t.ae(a),
        this;
    a = parseFloat(S(this, "volume"));
    return isNaN(a) ? 1 : a
};
s.muted = function(a) {
    return a !== b ? (T(this, "setMuted", a), this) : S(this, "muted") || l
};
s.Ea = function() {
    return S(this, "supportsFullScreen") || l
};
s.yc = l;
s.isFullscreen = function(a) {
    return a !== b ? (this.yc = !!a, this) : this.yc
};
s.isFullScreen = function(a) {
    t.log.warn('player.isFullScreen() has been deprecated, use player.isFullscreen() with a lowercase "s")');
    return this.isFullscreen(a)
};
s.requestFullscreen = function() {
    var a = t.Oa.Fb;
    this.isFullscreen(f);
    a ? (t.c(document, a.fullscreenchange, t.bind(this,
                                                  function(c) {
                                                  this.isFullscreen(document[a.fullscreenElement]);
                                                  this.isFullscreen() === l && t.j(document, a.fullscreenchange, arguments.callee);
                                                  this.l("fullscreenchange")
                                                  })), this.b[a.requestFullscreen]()) : this.o.Ea() ? T(this, "enterFullScreen") : (this.qc(), this.l("fullscreenchange"));
    return this
};
s.requestFullScreen = function() {
    t.log.warn('player.requestFullScreen() has been deprecated, use player.requestFullscreen() with a lowercase "s")');
    return this.requestFullscreen()
};
s.exitFullscreen = function() {
    var a = t.Oa.Fb;
    this.isFullscreen(l);
    if (a) document[a.exitFullscreen]();
    else this.o.Ea() ? T(this, "exitFullScreen") : (this.Cb(), this.l("fullscreenchange"));
    return this
};
s.cancelFullScreen = function() {
    t.log.warn("player.cancelFullScreen() has been deprecated, use player.exitFullscreen()");
    return this.exitFullscreen()
};
s.qc = function() {
    this.Dd = f;
    this.ud = document.documentElement.style.overflow;
    t.c(document, "keydown", t.bind(this, this.sc));
    document.documentElement.style.overflow = "hidden";
    t.n(document.body, "vjs-full-window");
    this.l("enterFullWindow")
};
s.sc = function(a) {
    27 === a.keyCode && (this.isFullscreen() === f ? this.exitFullscreen() : this.Cb())
};
s.Cb = function() {
    this.Dd = l;
    t.j(document, "keydown", this.sc);
    document.documentElement.style.overflow = this.ud;
    t.p(document.body, "vjs-full-window");
    this.l("exitFullWindow")
};
s.selectSource = function(a) {
    for (var c = 0,
         d = this.m.techOrder; c < d.length; c++) {
        var e = t.ba(d[c]),
        g = window.videojs[e];
        if (g) {
            if (g.isSupported()) for (var h = 0,
                                      j = a; h < j.length; h++) {
                var n = j[h];
                if (g.canPlaySource(n)) return {
                source: n,
                o: e
                }
            }
        } else t.log.error('The "' + e + '" tech is undefined. Skipped browser support check for that tech.')
            }
    return l
};
s.src = function(a) {
    if (a === b) return S(this, "src");
    t.g.isArray(a) ? U(this, a) : "string" === typeof a ? this.src({
                                                                   src: a
                                                                   }) : a instanceof Object && (a.type && !window.videojs[this.eb].canPlaySource(a) ? U(this, [a]) : (this.G.src = a.src, this.nc = a.type || "", this.K(function() {
                                                                                                                                                                                                                         T(this, "src", a.src);
                                                                                                                                                                                                                         "auto" == this.m.preload && this.load();
                                                                                                                                                                                                                         this.m.autoplay && this.play()
                                                                                                                                                                                                                         })));
    return this
};
function U(a, c) {
    var d = a.selectSource(c),
    e;
    d ? d.o === a.eb ? a.src(d.source) : Q(a, d.o, d.source) : (e = setTimeout(t.bind(a,
                                                                                      function() {
                                                                                      this.error({
                                                                                                 code: 4,
                                                                                                 message: this.t(this.options().notSupportedMessage)
                                                                                                 })
                                                                                      }), 0), a.Ga(), a.c("dispose",
                                                                                                          function() {
                                                                                                          clearTimeout(e)
                                                                                                          }))
}
s.load = function() {
    T(this, "load");
    return this
};
s.currentSrc = function() {
    return S(this, "currentSrc") || this.G.src || ""
};
s.pd = function() {
    return this.nc || ""
};
s.Da = function(a) {
    return a !== b ? (T(this, "setPreload", a), this.m.preload = a, this) : S(this, "preload")
};
s.autoplay = function(a) {
    return a !== b ? (T(this, "setAutoplay", a), this.m.autoplay = a, this) : S(this, "autoplay")
};
s.loop = function(a) {
    return a !== b ? (T(this, "setLoop", a), this.m.loop = a, this) : S(this, "loop")
};
s.poster = function(a) {
    if (a === b) return this.Fc;
    a || (a = "");
    this.Fc = a;
    T(this, "setPoster", a);
    this.l("posterchange");
    return this
};
s.controls = function(a) {
    return a !== b ? (a = !!a, this.yb !== a && ((this.yb = a) ? (this.p("vjs-controls-disabled"), this.n("vjs-controls-enabled"), this.l("controlsenabled")) : (this.p("vjs-controls-enabled"), this.n("vjs-controls-disabled"), this.l("controlsdisabled"))), this) : this.yb
};
t.Player.prototype.Tb;
s = t.Player.prototype;
s.usingNativeControls = function(a) {
    return a !== b ? (a = !!a, this.Tb !== a && ((this.Tb = a) ? (this.n("vjs-using-native-controls"), this.l("usingnativecontrols")) : (this.p("vjs-using-native-controls"), this.l("usingcustomcontrols"))), this) : this.Tb
};
s.da = k;
s.error = function(a) {
    if (a === b) return this.da;
    if (a === k) return this.da = a,
        this.p("vjs-error"),
        this;
    this.da = a instanceof t.D ? a: new t.D(a);
    this.l("error");
    this.n("vjs-error");
    t.log.error("(CODE:" + this.da.code + " " + t.D.Ra[this.da.code] + ")", this.da.message, this.da);
    return this
};
s.ended = function() {
    return S(this, "ended")
};
s.seeking = function() {
    return S(this, "seeking")
};
s.pa = f;
s.reportUserActivity = function() {
    this.pa = f
};
s.Sb = f;
s.userActive = function(a) {
    return a !== b ? (a = !!a, a !== this.Sb && ((this.Sb = a) ? (this.pa = f, this.p("vjs-user-inactive"), this.n("vjs-user-active"), this.l("useractive")) : (this.pa = l, this.o && this.o.R("mousemove",
                                                                                                                                                                                                function(a) {
                                                                                                                                                                                                a.stopPropagation();
                                                                                                                                                                                                a.preventDefault()
                                                                                                                                                                                                }), this.p("vjs-user-active"), this.n("vjs-user-inactive"), this.l("userinactive"))), this) : this.Sb
};
s.playbackRate = function(a) {
    return a !== b ? (T(this, "setPlaybackRate", a), this) : this.o && this.o.featuresPlaybackRate ? S(this, "playbackRate") : 1
};
s.xc = l;
function P(a, c) {
    return c !== b ? (a.xc = !!c, a) : a.xc
}
t.Ja = t.a.extend();
t.Ja.prototype.m = {
we: "play",
children: {
playToggle: {},
currentTimeDisplay: {},
timeDivider: {},
durationDisplay: {},
remainingTimeDisplay: {},
liveDisplay: {},
progressControl: {},
fullscreenToggle: {},
volumeControl: {},
muteToggle: {},
playbackRateMenuButton: {}
}
};
t.Ja.prototype.e = function() {
    return t.e("div", {
               className: "vjs-control-bar"
               })
};
t.Yb = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c)
                  }
                  });
t.Yb.prototype.e = function() {
    var a = t.a.prototype.e.call(this, "div", {
                                 className: "vjs-live-controls vjs-control"
                                 });
    this.v = t.e("div", {
                 className: "vjs-live-display",
                 innerHTML: '<span class="vjs-control-text">' + this.t("Stream Type") + "</span>" + this.t("LIVE"),
                 "aria-live": "off"
                 });
    a.appendChild(this.v);
    return a
};
t.ac = t.u.extend({
                  i: function(a, c) {
                  t.u.call(this, a, c);
                  this.c(a, "play", this.Ob);
                  this.c(a, "pause", this.Nb)
                  }
                  });
s = t.ac.prototype;
s.ua = "Play";
s.T = function() {
    return "vjs-play-control " + t.u.prototype.T.call(this)
};
s.s = function() {
    this.d.paused() ? this.d.play() : this.d.pause()
};
s.Ob = function() {
    this.p("vjs-paused");
    this.n("vjs-playing");
    this.b.children[0].children[0].innerHTML = this.t("Pause")
};
s.Nb = function() {
    this.p("vjs-playing");
    this.n("vjs-paused");
    this.b.children[0].children[0].innerHTML = this.t("Play")
};
t.hb = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c);
                  this.c(a, "timeupdate", this.fa)
                  }
                  });
t.hb.prototype.e = function() {
    var a = t.a.prototype.e.call(this, "div", {
                                 className: "vjs-current-time vjs-time-controls vjs-control"
                                 });
    this.v = t.e("div", {
                 className: "vjs-current-time-display",
                 innerHTML: '<span class="vjs-control-text">Current Time </span>0:00',
                 "aria-live": "off"
                 });
    a.appendChild(this.v);
    return a
};
t.hb.prototype.fa = function() {
    var a = this.d.bb ? this.d.G.currentTime: this.d.currentTime();
    this.v.innerHTML = '<span class="vjs-control-text">' + this.t("Current Time") + "</span> " + t.za(a, this.d.duration())
};
t.ib = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c);
                  this.c(a, "timeupdate", this.fa)
                  }
                  });
t.ib.prototype.e = function() {
    var a = t.a.prototype.e.call(this, "div", {
                                 className: "vjs-duration vjs-time-controls vjs-control"
                                 });
    this.v = t.e("div", {
                 className: "vjs-duration-display",
                 innerHTML: '<span class="vjs-control-text">' + this.t("Duration Time") + "</span> 0:00",
                 "aria-live": "off"
                 });
    a.appendChild(this.v);
    return a
};
t.ib.prototype.fa = function() {
    var a = this.d.duration();
    a && (this.v.innerHTML = '<span class="vjs-control-text">' + this.t("Duration Time") + "</span> " + t.za(a))
};
t.gc = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c)
                  }
                  });
t.gc.prototype.e = function() {
    return t.a.prototype.e.call(this, "div", {
                                className: "vjs-time-divider",
                                innerHTML: "<div><span>/</span></div>"
                                })
};
t.pb = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c);
                  this.c(a, "timeupdate", this.fa)
                  }
                  });
t.pb.prototype.e = function() {
    var a = t.a.prototype.e.call(this, "div", {
                                 className: "vjs-remaining-time vjs-time-controls vjs-control"
                                 });
    this.v = t.e("div", {
                 className: "vjs-remaining-time-display",
                 innerHTML: '<span class="vjs-control-text">' + this.t("Remaining Time") + "</span> -0:00",
                 "aria-live": "off"
                 });
    a.appendChild(this.v);
    return a
};
t.pb.prototype.fa = function() {
    this.d.duration() && (this.v.innerHTML = '<span class="vjs-control-text">' + this.t("Remaining Time") + "</span> -" + t.za(this.d.remainingTime()))
};
t.Ka = t.u.extend({
                  i: function(a, c) {
                  t.u.call(this, a, c)
                  }
                  });
t.Ka.prototype.ua = "Fullscreen";
t.Ka.prototype.T = function() {
    return "vjs-fullscreen-control " + t.u.prototype.T.call(this)
};
t.Ka.prototype.s = function() {
    this.d.isFullscreen() ? (this.d.exitFullscreen(), this.xb.innerHTML = this.t("Fullscreen")) : (this.d.requestFullscreen(), this.xb.innerHTML = this.t("Non-Fullscreen"))
};
t.ob = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c)
                  }
                  });
t.ob.prototype.m = {
children: {
seekBar: {}
}
};
t.ob.prototype.e = function() {
    return t.a.prototype.e.call(this, "div", {
                                className: "vjs-progress-control vjs-control"
                                })
};
t.cc = t.S.extend({
                  i: function(a, c) {
                  t.S.call(this, a, c);
                  this.c(a, "timeupdate", this.oa);
                  a.K(t.bind(this, this.oa))
                  }
                  });
s = t.cc.prototype;
s.m = {
children: {
loadProgressBar: {},
playProgressBar: {},
seekHandle: {}
},
barName: "playProgressBar",
handleName: "seekHandle"
};
s.Ec = "timeupdate";
s.e = function() {
    return t.S.prototype.e.call(this, "div", {
                                className: "vjs-progress-holder",
                                "aria-label": "video progress bar"
                                })
};
s.oa = function() {
    var a = this.d.bb ? this.d.G.currentTime: this.d.currentTime();
    this.b.setAttribute("aria-valuenow", t.round(100 * this.Gb(), 2));
    this.b.setAttribute("aria-valuetext", t.za(a, this.d.duration()))
};
s.Gb = function() {
    return this.d.currentTime() / this.d.duration()
};
s.Za = function(a) {
    t.S.prototype.Za.call(this, a);
    this.d.bb = f;
    this.me = !this.d.paused();
    this.d.pause()
};
s.$a = function(a) {
    a = H(this, a) * this.d.duration();
    a == this.d.duration() && (a -= 0.1);
    this.d.currentTime(a)
};
s.Mb = function(a) {
    t.S.prototype.Mb.call(this, a);
    this.d.bb = l;
    this.me && this.d.play()
};
s.Oc = function() {
    this.d.currentTime(this.d.currentTime() + 5)
};
s.Nc = function() {
    this.d.currentTime(this.d.currentTime() - 5)
};
t.lb = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c);
                  this.c(a, "progress", this.update)
                  }
                  });
t.lb.prototype.e = function() {
    return t.a.prototype.e.call(this, "div", {
                                className: "vjs-load-progress",
                                innerHTML: '<span class="vjs-control-text"><span>' + this.t("Loaded") + "</span>: 0%</span>"
                                })
};
t.lb.prototype.update = function() {
    var a, c, d, e, g = this.d.buffered();
    a = this.d.duration();
    var h, j = this.d;
    h = j.buffered();
    j = j.duration();
    h = h.end(h.length - 1);
    h > j && (h = j);
    j = this.b.children;
    this.b.style.width = 100 * (h / a || 0) + "%";
    for (a = 0; a < g.length; a++) c = g.start(a),
        d = g.end(a),
        (e = j[a]) || (e = this.b.appendChild(t.e())),
        e.style.left = 100 * (c / h || 0) + "%",
        e.style.width = 100 * ((d - c) / h || 0) + "%";
    for (a = j.length; a > g.length; a--) this.b.removeChild(j[a - 1])
        };
t.$b = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c)
                  }
                  });
t.$b.prototype.e = function() {
    return t.a.prototype.e.call(this, "div", {
                                className: "vjs-play-progress",
                                innerHTML: '<span class="vjs-control-text"><span>' + this.t("Progress") + "</span>: 0%</span>"
                                })
};
t.La = t.$.extend({
                  i: function(a, c) {
                  t.$.call(this, a, c);
                  this.c(a, "timeupdate", this.fa)
                  }
                  });
t.La.prototype.defaultValue = "00:00";
t.La.prototype.e = function() {
    return t.$.prototype.e.call(this, "div", {
                                className: "vjs-seek-handle",
                                "aria-live": "off"
                                })
};
t.La.prototype.fa = function() {
    var a = this.d.bb ? this.d.G.currentTime: this.d.currentTime();
    this.b.innerHTML = '<span class="vjs-control-text">' + t.za(a, this.d.duration()) + "</span>"
};
t.rb = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c);
                  a.o && a.o.featuresVolumeControl === l && this.n("vjs-hidden");
                  this.c(a, "loadstart",
                         function() {
                         a.o.featuresVolumeControl === l ? this.n("vjs-hidden") : this.p("vjs-hidden")
                         })
                  }
                  });
t.rb.prototype.m = {
children: {
volumeBar: {}
}
};
t.rb.prototype.e = function() {
    return t.a.prototype.e.call(this, "div", {
                                className: "vjs-volume-control vjs-control"
                                })
};
t.qb = t.S.extend({
                  i: function(a, c) {
                  t.S.call(this, a, c);
                  this.c(a, "volumechange", this.oa);
                  a.K(t.bind(this, this.oa))
                  }
                  });
s = t.qb.prototype;
s.oa = function() {
    this.b.setAttribute("aria-valuenow", t.round(100 * this.d.volume(), 2));
    this.b.setAttribute("aria-valuetext", t.round(100 * this.d.volume(), 2) + "%")
};
s.m = {
children: {
volumeLevel: {},
volumeHandle: {}
},
barName: "volumeLevel",
handleName: "volumeHandle"
};
s.Ec = "volumechange";
s.e = function() {
    return t.S.prototype.e.call(this, "div", {
                                className: "vjs-volume-bar",
                                "aria-label": "volume level"
                                })
};
s.$a = function(a) {
    this.d.muted() && this.d.muted(l);
    this.d.volume(H(this, a))
};
s.Gb = function() {
    return this.d.muted() ? 0 : this.d.volume()
};
s.Oc = function() {
    this.d.volume(this.d.volume() + 0.1)
};
s.Nc = function() {
    this.d.volume(this.d.volume() - 0.1)
};
t.hc = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c)
                  }
                  });
t.hc.prototype.e = function() {
    return t.a.prototype.e.call(this, "div", {
                                className: "vjs-volume-level",
                                innerHTML: '<span class="vjs-control-text"></span>'
                                })
};
t.sb = t.$.extend();
t.sb.prototype.defaultValue = "00:00";
t.sb.prototype.e = function() {
    return t.$.prototype.e.call(this, "div", {
                                className: "vjs-volume-handle"
                                })
};
t.ia = t.u.extend({
                  i: function(a, c) {
                  t.u.call(this, a, c);
                  this.c(a, "volumechange", this.update);
                  a.o && a.o.featuresVolumeControl === l && this.n("vjs-hidden");
                  this.c(a, "loadstart",
                         function() {
                         a.o.featuresVolumeControl === l ? this.n("vjs-hidden") : this.p("vjs-hidden")
                         })
                  }
                  });
t.ia.prototype.e = function() {
    return t.u.prototype.e.call(this, "div", {
                                className: "vjs-mute-control vjs-control",
                                innerHTML: '<div><span class="vjs-control-text">' + this.t("Mute") + "</span></div>"
                                })
};
t.ia.prototype.s = function() {
    this.d.muted(this.d.muted() ? l: f)
};
t.ia.prototype.update = function() {
    var a = this.d.volume(),
    c = 3;
    0 === a || this.d.muted() ? c = 0 : 0.33 > a ? c = 1 : 0.67 > a && (c = 2);
    this.d.muted() ? this.b.children[0].children[0].innerHTML != this.t("Unmute") && (this.b.children[0].children[0].innerHTML = this.t("Unmute")) : this.b.children[0].children[0].innerHTML != this.t("Mute") && (this.b.children[0].children[0].innerHTML = this.t("Mute"));
    for (a = 0; 4 > a; a++) t.p(this.b, "vjs-vol-" + a);
    t.n(this.b, "vjs-vol-" + c)
};
t.sa = t.N.extend({
                  i: function(a, c) {
                  t.N.call(this, a, c);
                  this.c(a, "volumechange", this.update);
                  a.o && a.o.featuresVolumeControl === l && this.n("vjs-hidden");
                  this.c(a, "loadstart",
                         function() {
                         a.o.featuresVolumeControl === l ? this.n("vjs-hidden") : this.p("vjs-hidden")
                         });
                  this.n("vjs-menu-button")
                  }
                  });
t.sa.prototype.xa = function() {
    var a = new t.ha(this.d, {
                     lc: "div"
                     }),
    c = new t.qb(this.d, this.m.volumeBar);
    c.c("focus",
        function() {
        a.n("vjs-lock-showing")
        });
    c.c("blur",
        function() {
        E(a)
        });
    a.V(c);
    return a
};
t.sa.prototype.s = function() {
    t.ia.prototype.s.call(this);
    t.N.prototype.s.call(this)
};
t.sa.prototype.e = function() {
    return t.u.prototype.e.call(this, "div", {
                                className: "vjs-volume-menu-button vjs-menu-button vjs-control",
                                innerHTML: '<div><span class="vjs-control-text">' + this.t("Mute") + "</span></div>"
                                })
};
t.sa.prototype.update = t.ia.prototype.update;
t.bc = t.N.extend({
                  i: function(a, c) {
                  t.N.call(this, a, c);
                  this.Tc();
                  this.Sc();
                  this.c(a, "loadstart", this.Tc);
                  this.c(a, "ratechange", this.Sc)
                  }
                  });
s = t.bc.prototype;
s.e = function() {
    var a = t.a.prototype.e.call(this, "div", {
                                 className: "vjs-playback-rate vjs-menu-button vjs-control",
                                 innerHTML: '<div class="vjs-control-content"><span class="vjs-control-text">' + this.t("Playback Rate") + "</span></div>"
                                 });
    this.Ac = t.e("div", {
                  className: "vjs-playback-rate-value",
                  innerHTML: 1
                  });
    a.appendChild(this.Ac);
    return a
};
s.xa = function() {
    var a = new t.ha(this.k()),
    c = this.k().options().playbackRates;
    if (c) for (var d = c.length - 1; 0 <= d; d--) a.V(new t.nb(this.k(), {
                                                                rate: c[d] + "x"
                                                                }));
    return a
};
s.oa = function() {
    this.w().setAttribute("aria-valuenow", this.k().playbackRate())
};
s.s = function() {
    for (var a = this.k().playbackRate(), c = this.k().options().playbackRates, d = c[0], e = 0; e < c.length; e++) if (c[e] > a) {
        d = c[e];
        break
    }
    this.k().playbackRate(d)
};
function ea(a) {
    return a.k().o && a.k().o.featuresPlaybackRate && a.k().options().playbackRates && 0 < a.k().options().playbackRates.length
}
s.Tc = function() {
    ea(this) ? this.p("vjs-hidden") : this.n("vjs-hidden")
};
s.Sc = function() {
    ea(this) && (this.Ac.innerHTML = this.k().playbackRate() + "x")
};
t.nb = t.J.extend({
                  lc: "button",
                  i: function(a, c) {
                  var d = this.label = c.rate,
                  e = this.Hc = parseFloat(d, 10);
                  c.label = d;
                  c.selected = 1 === e;
                  t.J.call(this, a, c);
                  this.c(a, "ratechange", this.update)
                  }
                  });
t.nb.prototype.s = function() {
    t.J.prototype.s.call(this);
    this.k().playbackRate(this.Hc)
};
t.nb.prototype.update = function() {
    this.selected(this.k().playbackRate() == this.Hc)
};
t.ra = t.u.extend({
                  i: function(a, c) {
                  t.u.call(this, a, c);
                  this.update();
                  a.c("posterchange", t.bind(this, this.update))
                  }
                  });
t.ra.prototype.dispose = function() {
    this.k().j("posterchange", this.update);
    t.u.prototype.dispose.call(this)
};
t.ra.prototype.e = function() {
    var a = t.e("div", {
                className: "vjs-poster",
                tabIndex: -1
                });
    t.Wc || (this.Db = t.e("img"), a.appendChild(this.Db));
    return a
};
t.ra.prototype.update = function() {
    var a = this.k().poster(),
    c;
    this.Db ? this.Db.src = a: (c = "", a && (c = 'url("' + a + '")'), this.b.style.backgroundImage = c);
    a ? this.b.style.display = "": this.Y()
};
t.ra.prototype.s = function() {
    this.d.play()
};
t.Zb = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c)
                  }
                  });
t.Zb.prototype.e = function() {
    return t.a.prototype.e.call(this, "div", {
                                className: "vjs-loading-spinner"
                                })
};
t.fb = t.u.extend();
t.fb.prototype.e = function() {
    return t.u.prototype.e.call(this, "div", {
                                className: "vjs-big-play-button",
                                innerHTML: '<span aria-hidden="true"></span>',
                                "aria-label": "play video"
                                })
};
t.fb.prototype.s = function() {
    this.d.play()
};
t.jb = t.a.extend({
                  i: function(a, c) {
                  t.a.call(this, a, c);
                  this.update();
                  this.c(a, "error", this.update)
                  }
                  });
t.jb.prototype.e = function() {
    var a = t.a.prototype.e.call(this, "div", {
                                 className: "vjs-error-display"
                                 });
    this.v = t.e("div");
    a.appendChild(this.v);
    return a
};
t.jb.prototype.update = function() {
    this.k().error() && (this.v.innerHTML = this.t(this.k().error().message))
};
t.q = t.a.extend({
                 i: function(a, c, d) {
                 c = c || {};
                 c.Jc = l;
                 t.a.call(this, a, c, d);
                 this.featuresProgressEvents || (this.Bc = f, this.Gc = setInterval(t.bind(this,
                                                                                           function() {
                                                                                           var a = this.k().bufferedPercent();
                                                                                           this.ld != a && this.k().l("progress");
                                                                                           this.ld = a;
                                                                                           1 === a && clearInterval(this.Gc)
                                                                                           }), 500));
                 this.featuresTimeupdateEvents || (a = this.d, this.Lb = f, this.c(a, "play", this.Rc), this.c(a, "pause", this.cb), this.R("timeupdate",
                                                                                                                                            function() {
                                                                                                                                            this.featuresTimeupdateEvents = f;
                                                                                                                                            fa(this)
                                                                                                                                            }));
                 var e;
                 e = this.k();
                 a = function() {
                 if (e.controls() && !e.usingNativeControls()) {
                 var a;
                 this.c("mousedown", this.s);
                 this.c("touchstart",
                        function() {
                        a = this.d.userActive()
                        });
                 this.c("touchmove",
                        function() {
                        a && this.k().reportUserActivity()
                        });
                 this.c("touchend",
                        function(a) {
                        a.preventDefault()
                        });
                 G(this);
                 this.c("tap", this.Td)
                 }
                 };
                 this.K(a);
                 this.c(e, "controlsenabled", a);
                 this.c(e, "controlsdisabled", this.Zd);
                 this.K(function() {
                        this.networkState && 0 < this.networkState() && this.k().l("loadstart")
                        })
                 }
                 });
s = t.q.prototype;
s.Zd = function() {
    this.j("tap");
    this.j("touchstart");
    this.j("touchmove");
    this.j("touchleave");
    this.j("touchcancel");
    this.j("touchend");
    this.j("click");
    this.j("mousedown")
};
s.s = function(a) {
    0 === a.button && this.k().controls() && (this.k().paused() ? this.k().play() : this.k().pause())
};
s.Td = function() {
    this.k().userActive(!this.k().userActive())
};
function fa(a) {
    a.Lb = l;
    a.cb();
    a.j("play", a.Rc);
    a.j("pause", a.cb)
}
s.Rc = function() {
    this.mc && this.cb();
    this.mc = setInterval(t.bind(this,
                                 function() {
                                 this.k().l("timeupdate")
                                 }), 250)
};
s.cb = function() {
    clearInterval(this.mc);
    this.k().l("timeupdate")
};
s.dispose = function() {
    this.Bc && (this.Bc = l, clearInterval(this.Gc));
    this.Lb && fa(this);
    t.a.prototype.dispose.call(this)
};
s.Qb = function() {
    this.Lb && this.k().l("timeupdate")
};
s.Lc = m();
t.q.prototype.featuresVolumeControl = f;
t.q.prototype.featuresFullscreenResize = l;
t.q.prototype.featuresPlaybackRate = l;
t.q.prototype.featuresProgressEvents = l;
t.q.prototype.featuresTimeupdateEvents = l;
t.media = {};
t.h = t.q.extend({
                 i: function(a, c, d) {
                 this.featuresVolumeControl = t.h.nd();
                 this.featuresPlaybackRate = t.h.md();
                 this.movingMediaElementInDOM = !t.$c;
                 this.featuresProgressEvents = this.featuresFullscreenResize = f;
                 t.q.call(this, a, c, d);
                 for (d = t.h.kb.length - 1; 0 <= d; d--) this.c(t.h.kb[d], this.vd);
                 if ((c = c.source) && this.b.currentSrc !== c.src || a.I && 3 === a.I.Bd) this.b.src = c.src;
                 if (t.ec && a.options().nativeControlsForTouch === f) {
                 var e, g, h, j;
                 e = this;
                 g = this.k();
                 c = g.controls();
                 e.b.controls = !!c;
                 h = function() {
                 e.b.controls = f
                 };
                 j = function() {
                 e.b.controls = l
                 };
                 g.c("controlsenabled", h);
                 g.c("controlsdisabled", j);
                 c = function() {
                 g.j("controlsenabled", h);
                 g.j("controlsdisabled", j)
                 };
                 e.c("dispose", c);
                 g.c("usingcustomcontrols", c);
                 g.usingNativeControls(f)
                 }
                 a.K(function() {
                     this.I && (this.m.autoplay && this.paused()) && (delete this.I.poster, this.play())
                     });
                 this.Ga()
                 }
                 });
s = t.h.prototype;
s.dispose = function() {
    t.h.Bb(this.b);
    t.q.prototype.dispose.call(this)
};
s.e = function() {
    var a = this.d,
    c = a.I,
    d;
    if (!c || this.movingMediaElementInDOM === l) c ? (d = c.cloneNode(l), t.h.Bb(c), c = d, a.I = k) : (c = t.e("video"), t.Kc(c, t.g.z(a.ie || {},
                                                                                                                                         {
                                                                                                                                         id: a.id() + "_html5_api",
                                                                                                                                         "class": "vjs-tech"
                                                                                                                                         }))),
        c.player = a,
        t.Hb(c, a.w());
    d = ["autoplay", "preload", "loop", "muted"];
    for (var e = d.length - 1; 0 <= e; e--) {
        var g = d[e],
        h = {};
        "undefined" !== typeof a.m[g] && (h[g] = a.m[g]);
        t.Kc(c, h)
    }
    return c
};
s.vd = function(a) {
    "error" == a.type && this.error() ? this.k().error(this.error().code) : (a.bubbles = l, this.k().l(a))
};
s.play = function() {
    this.b.play()
};
s.pause = function() {
    this.b.pause()
};
s.paused = function() {
    return this.b.paused
};
s.currentTime = function() {
    return this.b.currentTime
};
s.Qb = function(a) {
    try {
        this.b.currentTime = a
    } catch(c) {
        t.log(c, "Video is not ready. (Video.js)")
    }
};
s.duration = function() {
    return this.b.duration || 0
};
s.buffered = function() {
    return this.b.buffered
};
s.volume = function() {
    return this.b.volume
};
s.fe = function(a) {
    this.b.volume = a
};
s.muted = function() {
    return this.b.muted
};
s.ce = function(a) {
    this.b.muted = a
};
s.width = function() {
    return this.b.offsetWidth
};
s.height = function() {
    return this.b.offsetHeight
};
s.Ea = function() {
    return "function" == typeof this.b.webkitEnterFullScreen && (/Android/.test(t.O) || !/Chrome|Mac OS X 10.5/.test(t.O)) ? f: l
};
s.pc = function() {
    var a = this.b;
    "webkitDisplayingFullscreen" in a && this.R("webkitbeginfullscreen",
                                                function() {
                                                this.d.isFullscreen(f);
                                                this.R("webkitendfullscreen",
                                                       function() {
                                                       this.d.isFullscreen(l);
                                                       this.d.l("fullscreenchange")
                                                       });
                                                this.d.l("fullscreenchange")
                                                });
    a.paused && a.networkState <= a.ne ? (this.b.play(), setTimeout(function() {
                                                                    a.pause();
                                                                    a.webkitEnterFullScreen()
                                                                    },
                                                                    0)) : a.webkitEnterFullScreen()
};
s.wd = function() {
    this.b.webkitExitFullScreen()
};
s.src = function(a) {
    if (a === b) return this.b.src;
    this.b.src = a
};
s.load = function() {
    this.b.load()
};
s.currentSrc = function() {
    return this.b.currentSrc
};
s.poster = function() {
    return this.b.poster
};
s.Lc = function(a) {
    this.b.poster = a
};
s.Da = function() {
    return this.b.Da
};
s.ee = function(a) {
    this.b.Da = a
};
s.autoplay = function() {
    return this.b.autoplay
};
s.$d = function(a) {
    this.b.autoplay = a
};
s.controls = function() {
    return this.b.controls
};
s.loop = function() {
    return this.b.loop
};
s.be = function(a) {
    this.b.loop = a
};
s.error = function() {
    return this.b.error
};
s.seeking = function() {
    return this.b.seeking
};
s.ended = function() {
    return this.b.ended
};
s.playbackRate = function() {
    return this.b.playbackRate
};
s.de = function(a) {
    this.b.playbackRate = a
};
s.networkState = function() {
    return this.b.networkState
};
t.h.isSupported = function() {
    try {
        t.A.volume = 0.5
    } catch(a) {
        return l
    }
    return !! t.A.canPlayType
};
t.h.vb = function(a) {
    try {
        return !! t.A.canPlayType(a.type)
    } catch(c) {
        return ""
    }
};
t.h.nd = function() {
    var a = t.A.volume;
    t.A.volume = a / 2 + 0.1;
    return a !== t.A.volume
};
t.h.md = function() {
    var a = t.A.playbackRate;
    t.A.playbackRate = a / 2 + 0.1;
    return a !== t.A.playbackRate
};
var V, ga = /^application\/(?:x-|vnd\.apple\.)mpegurl/i,
ha = /^video\/mp4/i;
t.h.Dc = function() {
    4 <= t.Ub && (V || (V = t.A.constructor.prototype.canPlayType), t.A.constructor.prototype.canPlayType = function(a) {
                  return a && ga.test(a) ? "maybe": V.call(this, a)
                  });
    t.dd && (V || (V = t.A.constructor.prototype.canPlayType), t.A.constructor.prototype.canPlayType = function(a) {
             return a && ha.test(a) ? "maybe": V.call(this, a)
             })
};
t.h.le = function() {
    var a = t.A.constructor.prototype.canPlayType;
    t.A.constructor.prototype.canPlayType = V;
    V = k;
    return a
};
t.h.Dc();
t.h.kb = "loadstart suspend abort error emptied stalled loadedmetadata loadeddata canplay canplaythrough playing waiting seeking seeked ended durationchange timeupdate progress play pause ratechange volumechange".split(" ");
t.h.Bb = function(a) {
    if (a) {
        a.player = k;
        for (a.parentNode && a.parentNode.removeChild(a); a.hasChildNodes();) a.removeChild(a.firstChild);
        a.removeAttribute("src");
        if ("function" === typeof a.load) try {
            a.load()
        } catch(c) {}
    }
};
t.f = t.q.extend({
                 i: function(a, c, d) {
                 t.q.call(this, a, c, d);
                 var e = c.source;
                 d = c.parentEl;
                 var g = this.b = t.e("div", {
                                      id: a.id() + "_temp_flash"
                                      }),
                 h = a.id() + "_flash_api",
                 j = a.m,
                 j = t.g.z({
                           readyFunction: "videojs.Flash.onReady",
                           eventProxyFunction: "videojs.Flash.onEvent",
                           errorEventProxyFunction: "videojs.Flash.onError",
                           autoplay: j.autoplay,
                           preload: j.Da,
                           loop: j.loop,
                           muted: j.muted
                           },
                           c.flashVars),
                 n = t.g.z({
                           wmode: "opaque",
                           bgcolor: "#000000"
                           },
                           c.params),
                 h = t.g.z({
                           id: h,
                           name: h,
                           "class": "vjs-tech"
                           },
                           c.attributes);
                 e && (e.type && t.f.Gd(e.type) ? (e = t.f.Pc(e.src), j.rtmpConnection = encodeURIComponent(e.wb), j.rtmpStream = encodeURIComponent(e.Rb)) : j.src = encodeURIComponent(t.tc(e.src)));
                 t.Hb(g, d);
                 c.startTime && this.K(function() {
                                       this.load();
                                       this.play();
                                       this.currentTime(c.startTime)
                                       });
                 t.Zc && this.K(function() {
                                this.c("mousemove",
                                       function() {
                                       this.k().l({
                                                  type: "mousemove",
                                                  bubbles: l
                                                  })
                                       })
                                });
                 a.c("stageclick", a.reportUserActivity);
                 this.b = t.f.oc(c.swf, g, j, n, h)
                 }
                 });
t.f.prototype.dispose = function() {
    t.q.prototype.dispose.call(this)
};
t.f.prototype.play = function() {
    this.b.vjs_play()
};
t.f.prototype.pause = function() {
    this.b.vjs_pause()
};
t.f.prototype.src = function(a) {
    if (a === b) return this.currentSrc();
    t.f.Fd(a) ? (a = t.f.Pc(a), this.xe(a.wb), this.ye(a.Rb)) : (a = t.tc(a), this.b.vjs_src(a));
    if (this.d.autoplay()) {
        var c = this;
        setTimeout(function() {
                   c.play()
                   },
                   0)
    }
};
t.f.prototype.setCurrentTime = function(a) {
    this.Jd = a;
    this.b.vjs_setProperty("currentTime", a);
    t.q.prototype.Qb.call(this)
};
t.f.prototype.currentTime = function() {
    return this.seeking() ? this.Jd || 0 : this.b.vjs_getProperty("currentTime")
};
t.f.prototype.currentSrc = function() {
    var a = this.b.vjs_getProperty("currentSrc");
    if (a == k) {
        var c = this.rtmpConnection(),
        d = this.rtmpStream();
        c && d && (a = t.f.ge(c, d))
    }
    return a
};
t.f.prototype.load = function() {
    this.b.vjs_load()
};
t.f.prototype.poster = function() {
    this.b.vjs_getProperty("poster")
};
t.f.prototype.setPoster = m();
t.f.prototype.buffered = function() {
    return t.zb(0, this.b.vjs_getProperty("buffered"))
};
t.f.prototype.Ea = q(l);
t.f.prototype.pc = q(l);
function ia() {
    var a = W[X],
    c = a.charAt(0).toUpperCase() + a.slice(1);
    ja["set" + c] = function(c) {
        return this.b.vjs_setProperty(a, c)
    }
}
function ka(a) {
    ja[a] = function() {
        return this.b.vjs_getProperty(a)
    }
}
var ja = t.f.prototype,
W = "rtmpConnection rtmpStream preload defaultPlaybackRate playbackRate autoplay loop mediaGroup controller controls volume muted defaultMuted".split(" "),
la = "error networkState readyState seeking initialTime duration startOffsetTime paused played seekable ended videoTracks audioTracks videoWidth videoHeight textTracks".split(" "),
X;
for (X = 0; X < W.length; X++) ka(W[X]),
ia();
for (X = 0; X < la.length; X++) ka(la[X]);
t.f.isSupported = function() {
    return 10 <= t.f.version()[0]
};
t.f.vb = function(a) {
    if (!a.type) return "";
    a = a.type.replace(/;.*/, "").toLowerCase();
    if (a in t.f.yd || a in t.f.Qc) return "maybe"
        };
t.f.yd = {
    "video/flv": "FLV",
    "video/x-flv": "FLV",
    "video/mp4": "MP4",
    "video/m4v": "MP4"
};
t.f.Qc = {
    "rtmp/mp4": "MP4",
    "rtmp/flv": "FLV"
};
t.f.onReady = function(a) {
    var c;
    if (c = (a = t.w(a)) && a.parentNode && a.parentNode.player) a.player = c,
        t.f.checkReady(c.o)
        };
t.f.checkReady = function(a) {
    a.w() && (a.w().vjs_getProperty ? a.Ga() : setTimeout(function() {
                                                          t.f.checkReady(a)
                                                          },
                                                          50))
};
t.f.onEvent = function(a, c) {
    t.w(a).player.l(c)
};
t.f.onError = function(a, c) {
    var d = t.w(a).player,
    e = "FLASH: " + c;
    "srcnotfound" == c ? d.error({
                                 code: 4,
                                 message: e
                                 }) : d.error(e)
};
t.f.version = function() {
    var a = "0,0,0";
    try {
        a = (new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version").replace(/\D+/g, ",").match(/^,?(.+),?$/)[1]
    } catch(c) {
        try {
            navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin && (a = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1])
        } catch(d) {}
    }
    return a.split(",")
};
t.f.oc = function(a, c, d, e, g) {
    a = t.f.Ad(a, d, e, g);
    a = t.e("div", {
            innerHTML: a
            }).childNodes[0];
    d = c.parentNode;
    c.parentNode.replaceChild(a, c);
    var h = d.childNodes[0];
    setTimeout(function() {
               h.style.display = "block"
               },
               1E3);
    return a
};
t.f.Ad = function(a, c, d, e) {
    var g = "",
    h = "",
    j = "";
    c && t.g.X(c,
               function(a, c) {
               g += a + "=" + c + "&amp;"
               });
    d = t.g.z({
              movie: a,
              flashvars: g,
              allowScriptAccess: "always",
              allowNetworking: "all"
              },
              d);
    t.g.X(d,
          function(a, c) {
          h += '<param name="' + a + '" value="' + c + '" />'
          });
    e = t.g.z({
              data: a,
              width: "100%",
              height: "100%"
              },
              e);
    t.g.X(e,
          function(a, c) {
          j += a + '="' + c + '" '
          });
    return '<object type="application/x-shockwave-flash"' + j + ">" + h + "</object>"
};
t.f.ge = function(a, c) {
    return a + "&" + c
};
t.f.Pc = function(a) {
    var c = {
    wb: "",
    Rb: ""
    };
    if (!a) return c;
    var d = a.indexOf("&"),
    e; - 1 !== d ? e = d + 1 : (d = e = a.lastIndexOf("/") + 1, 0 === d && (d = e = a.length));
    c.wb = a.substring(0, d);
    c.Rb = a.substring(e, a.length);
    return c
};
t.f.Gd = function(a) {
    return a in t.f.Qc
};
t.f.fd = /^rtmp[set]?:\/\//i;
t.f.Fd = function(a) {
    return t.f.fd.test(a)
};
t.ed = t.a.extend({
                  i: function(a, c, d) {
                  t.a.call(this, a, c, d);
                  if (!a.m.sources || 0 === a.m.sources.length) {
                  c = 0;
                  for (d = a.m.techOrder; c < d.length; c++) {
                  var e = t.ba(d[c]),
                  g = window.videojs[e];
                  if (g && g.isSupported()) {
                  Q(a, e);
                  break
                  }
                  }
                  } else a.src(a.m.sources)
                  }
                  });
t.Player.prototype.textTracks = function() {
    return this.Fa = this.Fa || []
};
function ma(a, c, d, e, g) {
    var h = a.Fa = a.Fa || [];
    g = g || {};
    g.kind = c;
    g.label = d;
    g.language = e;
    c = t.ba(c || "subtitles");
    var j = new window.videojs[c + "Track"](a, g);
    h.push(j);
    j.Ab() && a.K(function() {
                  setTimeout(function() {
                             Y(j.k(), j.id())
                             },
                             0)
                  })
}
function Y(a, c, d) {
    for (var e = a.Fa,
         g = 0,
         h = e.length,
         j, n; g < h; g++) j = e[g],
        j.id() === c ? (j.show(), n = j) : d && (j.M() == d && 0 < j.mode()) && j.disable(); (c = n ? n.M() : d ? d: l) && a.l(c + "trackchange")
}
t.B = t.a.extend({
                 i: function(a, c) {
                 t.a.call(this, a, c);
                 this.L = c.id || "vjs_" + c.kind + "_" + c.language + "_" + t.r++;
                 this.Mc = c.src;
                 this.sd = c["default"] || c.dflt;
                 this.je = c.title;
                 this.Ua = c.srclang;
                 this.Hd = c.label;
                 this.ca = [];
                 this.tb = [];
                 this.ma = this.na = 0
                 }
                 });
s = t.B.prototype;
s.M = p("H");
s.src = p("Mc");
s.Ab = p("sd");
s.title = p("je");
s.language = p("Ua");
s.label = p("Hd");
s.od = p("ca");
s.gd = p("tb");
s.readyState = p("na");
s.mode = p("ma");
s.e = function() {
    return t.a.prototype.e.call(this, "div", {
                                className: "vjs-" + this.H + " vjs-text-track"
                                })
};
s.show = function() {
    na(this);
    this.ma = 2;
    t.a.prototype.show.call(this)
};
s.Y = function() {
    na(this);
    this.ma = 1;
    t.a.prototype.Y.call(this)
};
s.disable = function() {
    2 == this.ma && this.Y();
    this.d.j("timeupdate", t.bind(this, this.update, this.L));
    this.d.j("ended", t.bind(this, this.reset, this.L));
    this.reset();
    this.d.ka("textTrackDisplay").removeChild(this);
    this.ma = 0
};
function na(a) {
    0 === a.na && a.load();
    0 === a.ma && (a.d.c("timeupdate", t.bind(a, a.update, a.L)), a.d.c("ended", t.bind(a, a.reset, a.L)), ("captions" === a.H || "subtitles" === a.H) && a.d.ka("textTrackDisplay").V(a))
}
s.load = function() {
    0 === this.na && (this.na = 1, t.get(this.Mc, t.bind(this, this.Wd), t.bind(this, this.Md)))
};
s.Md = function(a) {
    this.error = a;
    this.na = 3;
    this.l("error")
};
s.Wd = function(a) {
    var c, d;
    a = a.split("\n");
    for (var e = "",
         g = 1,
         h = a.length; g < h; g++) if (e = t.trim(a[g])) { - 1 == e.indexOf("--\x3e") ? (c = e, e = t.trim(a[++g])) : c = this.ca.length;
        c = {
        id: c,
        index: this.ca.length
        };
        d = e.split(/[\t ]+/);
        c.startTime = oa(d[0]);
        c.ya = oa(d[2]);
        for (d = []; a[++g] && (e = t.trim(a[g]));) d.push(e);
        c.text = d.join("<br/>");
        this.ca.push(c)
    }
    this.na = 2;
    this.l("loaded")
};
function oa(a) {
    var c = a.split(":");
    a = 0;
    var d, e, g;
    3 == c.length ? (d = c[0], e = c[1], c = c[2]) : (d = 0, e = c[0], c = c[1]);
    c = c.split(/\s+/);
    c = c.splice(0, 1)[0];
    c = c.split(/\.|,/);
    g = parseFloat(c[1]);
    c = c[0];
    a += 3600 * parseFloat(d);
    a += 60 * parseFloat(e);
    a += parseFloat(c);
    g && (a += g / 1E3);
    return a
}
s.update = function() {
    if (0 < this.ca.length) {
        var a = this.d.options().trackTimeOffset || 0,
        a = this.d.currentTime() + a;
        if (this.Pb === b || a < this.Pb || this.Wa <= a) {
            var c = this.ca,
            d = this.d.duration(),
            e = 0,
            g = l,
            h = [],
            j,
            n,
            r,
            w;
            a >= this.Wa || this.Wa === b ? w = this.Eb !== b ? this.Eb: 0 : (g = f, w = this.Kb !== b ? this.Kb: c.length - 1);
            for (;;) {
                r = c[w];
                if (r.ya <= a) e = Math.max(e, r.ya),
                    r.Na && (r.Na = l);
                else if (a < r.startTime) {
                    if (d = Math.min(d, r.startTime), r.Na && (r.Na = l), !g) break
                        } else g ? (h.splice(0, 0, r), n === b && (n = w), j = w) : (h.push(r), j === b && (j = w), n = w),
                            d = Math.min(d, r.ya),
                            e = Math.max(e, r.startTime),
                            r.Na = f;
                if (g) if (0 === w) break;
                else w--;
                else if (w === c.length - 1) break;
                else w++
                    }
            this.tb = h;
            this.Wa = d;
            this.Pb = e;
            this.Eb = j;
            this.Kb = n;
            j = this.tb;
            n = "";
            a = 0;
            for (c = j.length; a < c; a++) n += '<span class="vjs-tt-cue">' + j[a].text + "</span>";
            this.b.innerHTML = n;
            this.l("cuechange")
        }
    }
};
s.reset = function() {
    this.Wa = 0;
    this.Pb = this.d.duration();
    this.Kb = this.Eb = 0
};
t.Wb = t.B.extend();
t.Wb.prototype.H = "captions";
t.dc = t.B.extend();
t.dc.prototype.H = "subtitles";
t.Xb = t.B.extend();
t.Xb.prototype.H = "chapters";
t.fc = t.a.extend({
                  i: function(a, c, d) {
                  t.a.call(this, a, c, d);
                  if (a.m.tracks && 0 < a.m.tracks.length) {
                  c = this.d;
                  a = a.m.tracks;
                  for (var e = 0; e < a.length; e++) d = a[e],
                  ma(c, d.kind, d.label, d.language, d)
                  }
                  }
                  });
t.fc.prototype.e = function() {
    return t.a.prototype.e.call(this, "div", {
                                className: "vjs-text-track-display"
                                })
};
t.aa = t.J.extend({
                  i: function(a, c) {
                  var d = this.ea = c.track;
                  c.label = d.label();
                  c.selected = d.Ab();
                  t.J.call(this, a, c);
                  this.c(a, d.M() + "trackchange", this.update)
                  }
                  });
t.aa.prototype.s = function() {
    t.J.prototype.s.call(this);
    Y(this.d, this.ea.L, this.ea.M())
};
t.aa.prototype.update = function() {
    this.selected(2 == this.ea.mode())
};
t.mb = t.aa.extend({
                   i: function(a, c) {
                   c.track = {
                   M: function() {
                   return c.kind
                   },
                   k: a,
                   label: function() {
                   return c.kind + " off"
                   },
                   Ab: q(l),
                   mode: q(l)
                   };
                   t.aa.call(this, a, c);
                   this.selected(f)
                   }
                   });
t.mb.prototype.s = function() {
    t.aa.prototype.s.call(this);
    Y(this.d, this.ea.L, this.ea.M())
};
t.mb.prototype.update = function() {
    for (var a = this.d.textTracks(), c = 0, d = a.length, e, g = f; c < d; c++) e = a[c],
        e.M() == this.ea.M() && 2 == e.mode() && (g = l);
    this.selected(g)
};
t.U = t.N.extend({
                 i: function(a, c) {
                 t.N.call(this, a, c);
                 1 >= this.Q.length && this.Y()
                 }
                 });
t.U.prototype.wa = function() {
    var a = [],
    c;
    a.push(new t.mb(this.d, {
                    kind: this.H
                    }));
    for (var d = 0; d < this.d.textTracks().length; d++) c = this.d.textTracks()[d],
        c.M() === this.H && a.push(new t.aa(this.d, {
                                            track: c
                                            }));
    return a
};
t.Ha = t.U.extend({
                  i: function(a, c, d) {
                  t.U.call(this, a, c, d);
                  this.b.setAttribute("aria-label", "Captions Menu")
                  }
                  });
t.Ha.prototype.H = "captions";
t.Ha.prototype.ua = "Captions";
t.Ha.prototype.className = "vjs-captions-button";
t.Ma = t.U.extend({
                  i: function(a, c, d) {
                  t.U.call(this, a, c, d);
                  this.b.setAttribute("aria-label", "Subtitles Menu")
                  }
                  });
t.Ma.prototype.H = "subtitles";
t.Ma.prototype.ua = "Subtitles";
t.Ma.prototype.className = "vjs-subtitles-button";
t.Ia = t.U.extend({
                  i: function(a, c, d) {
                  t.U.call(this, a, c, d);
                  this.b.setAttribute("aria-label", "Chapters Menu")
                  }
                  });
s = t.Ia.prototype;
s.H = "chapters";
s.ua = "Chapters";
s.className = "vjs-chapters-button";
s.wa = function() {
    for (var a = [], c, d = 0; d < this.d.textTracks().length; d++) c = this.d.textTracks()[d],
        c.M() === this.H && a.push(new t.aa(this.d, {
                                            track: c
                                            }));
    return a
};
s.xa = function() {
    for (var a = this.d.textTracks(), c = 0, d = a.length, e, g, h = this.Q = []; c < d; c++) if (e = a[c], e.M() == this.H) if (0 === e.readyState()) e.load(),
        e.c("loaded", t.bind(this, this.xa));
    else {
        g = e;
        break
    }
    a = this.Ba;
    a === b && (a = new t.ha(this.d), a.ja().appendChild(t.e("li", {
                                                             className: "vjs-menu-title",
                                                             innerHTML: t.ba(this.H),
                                                             he: -1
                                                             })));
    if (g) {
        e = g.ca;
        for (var j, c = 0,
             d = e.length; c < d; c++) j = e[c],
            j = new t.gb(this.d, {
                         track: g,
                         cue: j
                         }),
            h.push(j),
            a.V(j);
        this.V(a)
    }
    0 < this.Q.length && this.show();
    return a
};
t.gb = t.J.extend({
                  i: function(a, c) {
                  var d = this.ea = c.track,
                  e = this.cue = c.cue,
                  g = a.currentTime();
                  c.label = e.text;
                  c.selected = e.startTime <= g && g < e.ya;
                  t.J.call(this, a, c);
                  d.c("cuechange", t.bind(this, this.update))
                  }
                  });
t.gb.prototype.s = function() {
    t.J.prototype.s.call(this);
    this.d.currentTime(this.cue.startTime);
    this.update(this.cue.startTime)
};
t.gb.prototype.update = function() {
    var a = this.cue,
    c = this.d.currentTime();
    this.selected(a.startTime <= c && c < a.ya)
};
t.g.z(t.Ja.prototype.m.children, {
      subtitlesButton: {},
      captionsButton: {},
      chaptersButton: {}
      });
if ("undefined" !== typeof window.JSON && "function" === typeof window.JSON.parse) t.JSON = window.JSON;
else {
    t.JSON = {};
    var Z = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
    t.JSON.parse = function(a, c) {
        function d(a, e) {
            var j, n, r = a[e];
            if (r && "object" === typeof r) for (j in r) Object.prototype.hasOwnProperty.call(r, j) && (n = d(r, j), n !== b ? r[j] = n: delete r[j]);
            return c.call(a, e, r)
        }
        var e;
        a = String(a);
        Z.lastIndex = 0;
        Z.test(a) && (a = a.replace(Z,
                                    function(a) {
                                    return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice( - 4)
                                    }));
        if (/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return e = eval("(" + a + ")"),
                                                                                                                                                                                                  "function" === typeof c ? d({
                                                                                                                                                                                                                              "": e
                                                                                                                                                                                                                              },
                                                                                                                                                                                                                              "") : e;
                                                                                                                                                                                                  throw new SyntaxError("JSON.parse(): invalid or malformed JSON data");
                                                                                                                                                                                                  }
                                                                                                                                                                                                  }
                                                                                                                                                                                                  t.jc = function() {
                                                                                                                                                                                                  var a, c, d, e;
                                                                                                                                                                                                  a = document.getElementsByTagName("video");
                                                                                                                                                                                                  c = document.getElementsByTagName("audio");
                                                                                                                                                                                                  var g = [];
                                                                                                                                                                                                  if (a && 0 < a.length) {
                                                                                                                                                                                                  d = 0;
                                                                                                                                                                                                  for (e = a.length; d < e; d++) g.push(a[d])
                                                                                                                                                                                                  }
                                                                                                                                                                                                  if (c && 0 < c.length) {
                                                                                                                                                                                                  d = 0;
                                                                                                                                                                                                  for (e = c.length; d < e; d++) g.push(c[d])
                                                                                                                                                                                                  }
                                                                                                                                                                                                  if (g && 0 < g.length) {
                                                                                                                                                                                                  d = 0;
                                                                                                                                                                                                  for (e = g.length; d < e; d++) if ((c = g[d]) && c.getAttribute) c.player === b && (a = c.getAttribute("data-setup"), a !== k && videojs(c));
                                                                                                                                                                                                  else {
                                                                                                                                                                                                  t.ub();
                                                                                                                                                                                                  break
                                                                                                                                                                                                  }
                                                                                                                                                                                                  } else t.Uc || t.ub()
                                                                                                                                                                                                  };
                                                                                                                                                                                                  t.ub = function() {
                                                                                                                                                                                                  setTimeout(t.jc, 1)
                                                                                                                                                                                                  };
                                                                                                                                                                                                  "complete" === document.readyState ? t.Uc = f: t.R(window, "load",
                                                                                                                                                                                                                                                     function() {
                                                                                                                                                                                                                                                     t.Uc = f
                                                                                                                                                                                                                                                     });
                                                                                                                                                                                                  t.ub();
                                                                                                                                                                                                  t.Yd = function(a, c) {
                                                                                                                                                                                                  t.Player.prototype[a] = c
                                                                                                                                                                                                  };
                                                                                                                                                                                                  var pa = this;
                                                                                                                                                                                                  function $(a, c) {
                                                                                                                                                                                                  var d = a.split("."),
                                                                                                                                                                                                  e = pa; ! (d[0] in e) && e.execScript && e.execScript("var " + d[0]);
                                                                                                                                                                                                  for (var g; d.length && (g = d.shift());) ! d.length && c !== b ? e[g] = c: e = e[g] ? e[g] : e[g] = {}
                                                                                                                                                                                                  };
                                                                                                                                                                                                  $("videojs", t);
                                                                                                                                                                                                  $("_V_", t);
                                                                                                                                                                                                  $("videojs.options", t.options);
                                                                                                                                                                                                  $("videojs.players", t.Ca);
                                                                                                                                                                                                  $("videojs.TOUCH_ENABLED", t.ec);
                                                                                                                                                                                                  $("videojs.cache", t.va);
                                                                                                                                                                                                  $("videojs.Component", t.a);
                                                                                                                                                                                                  t.a.prototype.player = t.a.prototype.k;
                                                                                                                                                                                                  t.a.prototype.options = t.a.prototype.options;
                                                                                                                                                                                                  t.a.prototype.init = t.a.prototype.i;
                                                                                                                                                                                                  t.a.prototype.dispose = t.a.prototype.dispose;
                                                                                                                                                                                                  t.a.prototype.createEl = t.a.prototype.e;
                                                                                                                                                                                                  t.a.prototype.contentEl = t.a.prototype.ja;
                                                                                                                                                                                                  t.a.prototype.el = t.a.prototype.w;
                                                                                                                                                                                                  t.a.prototype.addChild = t.a.prototype.V;
                                                                                                                                                                                                  t.a.prototype.getChild = t.a.prototype.ka;
                                                                                                                                                                                                  t.a.prototype.getChildById = t.a.prototype.zd;
                                                                                                                                                                                                  t.a.prototype.children = t.a.prototype.children;
                                                                                                                                                                                                  t.a.prototype.initChildren = t.a.prototype.wc;
                                                                                                                                                                                                  t.a.prototype.removeChild = t.a.prototype.removeChild;
                                                                                                                                                                                                  t.a.prototype.on = t.a.prototype.c;
                                                                                                                                                                                                  t.a.prototype.off = t.a.prototype.j;
                                                                                                                                                                                                  t.a.prototype.one = t.a.prototype.R;
                                                                                                                                                                                                  t.a.prototype.trigger = t.a.prototype.l;
                                                                                                                                                                                                  t.a.prototype.triggerReady = t.a.prototype.Ga;
                                                                                                                                                                                                  t.a.prototype.show = t.a.prototype.show;
                                                                                                                                                                                                  t.a.prototype.hide = t.a.prototype.Y;
                                                                                                                                                                                                  t.a.prototype.width = t.a.prototype.width;
                                                                                                                                                                                                  t.a.prototype.height = t.a.prototype.height;
                                                                                                                                                                                                  t.a.prototype.dimensions = t.a.prototype.td;
                                                                                                                                                                                                  t.a.prototype.ready = t.a.prototype.K;
                                                                                                                                                                                                  t.a.prototype.addClass = t.a.prototype.n;
                                                                                                                                                                                                  t.a.prototype.removeClass = t.a.prototype.p;
                                                                                                                                                                                                  t.a.prototype.buildCSSClass = t.a.prototype.T;
                                                                                                                                                                                                  t.a.prototype.localize = t.a.prototype.t;
                                                                                                                                                                                                  t.Player.prototype.ended = t.Player.prototype.ended;
                                                                                                                                                                                                  t.Player.prototype.enterFullWindow = t.Player.prototype.qc;
                                                                                                                                                                                                  t.Player.prototype.exitFullWindow = t.Player.prototype.Cb;
                                                                                                                                                                                                  t.Player.prototype.preload = t.Player.prototype.Da;
                                                                                                                                                                                                  t.Player.prototype.remainingTime = t.Player.prototype.remainingTime;
                                                                                                                                                                                                  t.Player.prototype.supportsFullScreen = t.Player.prototype.Ea;
                                                                                                                                                                                                  t.Player.prototype.currentType = t.Player.prototype.pd;
                                                                                                                                                                                                  t.Player.prototype.requestFullScreen = t.Player.prototype.requestFullScreen;
                                                                                                                                                                                                  t.Player.prototype.requestFullscreen = t.Player.prototype.requestFullscreen;
                                                                                                                                                                                                  t.Player.prototype.cancelFullScreen = t.Player.prototype.cancelFullScreen;
                                                                                                                                                                                                  t.Player.prototype.exitFullscreen = t.Player.prototype.exitFullscreen;
                                                                                                                                                                                                  t.Player.prototype.isFullScreen = t.Player.prototype.isFullScreen;
                                                                                                                                                                                                  t.Player.prototype.isFullscreen = t.Player.prototype.isFullscreen;
                                                                                                                                                                                                  $("videojs.MediaLoader", t.ed);
                                                                                                                                                                                                  $("videojs.TextTrackDisplay", t.fc);
                                                                                                                                                                                                  $("videojs.ControlBar", t.Ja);
                                                                                                                                                                                                  $("videojs.Button", t.u);
                                                                                                                                                                                                  $("videojs.PlayToggle", t.ac);
                                                                                                                                                                                                  $("videojs.FullscreenToggle", t.Ka);
                                                                                                                                                                                                  $("videojs.BigPlayButton", t.fb);
                                                                                                                                                                                                  $("videojs.LoadingSpinner", t.Zb);
                                                                                                                                                                                                  $("videojs.CurrentTimeDisplay", t.hb);
                                                                                                                                                                                                  $("videojs.DurationDisplay", t.ib);
                                                                                                                                                                                                  $("videojs.TimeDivider", t.gc);
                                                                                                                                                                                                  $("videojs.RemainingTimeDisplay", t.pb);
                                                                                                                                                                                                  $("videojs.LiveDisplay", t.Yb);
                                                                                                                                                                                                  $("videojs.ErrorDisplay", t.jb);
                                                                                                                                                                                                  $("videojs.Slider", t.S);
                                                                                                                                                                                                  $("videojs.ProgressControl", t.ob);
                                                                                                                                                                                                  $("videojs.SeekBar", t.cc);
                                                                                                                                                                                                  $("videojs.LoadProgressBar", t.lb);
                                                                                                                                                                                                  $("videojs.PlayProgressBar", t.$b);
                                                                                                                                                                                                  $("videojs.SeekHandle", t.La);
                                                                                                                                                                                                  $("videojs.VolumeControl", t.rb);
                                                                                                                                                                                                  $("videojs.VolumeBar", t.qb);
                                                                                                                                                                                                  $("videojs.VolumeLevel", t.hc);
                                                                                                                                                                                                  $("videojs.VolumeMenuButton", t.sa);
                                                                                                                                                                                                  $("videojs.VolumeHandle", t.sb);
                                                                                                                                                                                                  $("videojs.MuteToggle", t.ia);
                                                                                                                                                                                                  $("videojs.PosterImage", t.ra);
                                                                                                                                                                                                  $("videojs.Menu", t.ha);
                                                                                                                                                                                                  $("videojs.MenuItem", t.J);
                                                                                                                                                                                                  $("videojs.MenuButton", t.N);
                                                                                                                                                                                                  $("videojs.PlaybackRateMenuButton", t.bc);
                                                                                                                                                                                                  t.N.prototype.createItems = t.N.prototype.wa;
                                                                                                                                                                                                  t.U.prototype.createItems = t.U.prototype.wa;
                                                                                                                                                                                                  t.Ia.prototype.createItems = t.Ia.prototype.wa;
                                                                                                                                                                                                  $("videojs.SubtitlesButton", t.Ma);
                                                                                                                                                                                                  $("videojs.CaptionsButton", t.Ha);
                                                                                                                                                                                                  $("videojs.ChaptersButton", t.Ia);
                                                                                                                                                                                                  $("videojs.MediaTechController", t.q);
                                                                                                                                                                                                  t.q.prototype.featuresVolumeControl = t.q.prototype.ue;
                                                                                                                                                                                                  t.q.prototype.featuresFullscreenResize = t.q.prototype.qe;
                                                                                                                                                                                                  t.q.prototype.featuresPlaybackRate = t.q.prototype.re;
                                                                                                                                                                                                  t.q.prototype.featuresProgressEvents = t.q.prototype.se;
                                                                                                                                                                                                  t.q.prototype.featuresTimeupdateEvents = t.q.prototype.te;
                                                                                                                                                                                                  t.q.prototype.setPoster = t.q.prototype.Lc;
                                                                                                                                                                                                  $("videojs.Html5", t.h);
                                                                                                                                                                                                  t.h.Events = t.h.kb;
                                                                                                                                                                                                  t.h.isSupported = t.h.isSupported;
                                                                                                                                                                                                  t.h.canPlaySource = t.h.vb;
                                                                                                                                                                                                  t.h.patchCanPlayType = t.h.Dc;
                                                                                                                                                                                                  t.h.unpatchCanPlayType = t.h.le;
                                                                                                                                                                                                  t.h.prototype.setCurrentTime = t.h.prototype.Qb;
                                                                                                                                                                                                  t.h.prototype.setVolume = t.h.prototype.fe;
                                                                                                                                                                                                  t.h.prototype.setMuted = t.h.prototype.ce;
                                                                                                                                                                                                  t.h.prototype.setPreload = t.h.prototype.ee;
                                                                                                                                                                                                  t.h.prototype.setAutoplay = t.h.prototype.$d;
                                                                                                                                                                                                  t.h.prototype.setLoop = t.h.prototype.be;
                                                                                                                                                                                                  t.h.prototype.enterFullScreen = t.h.prototype.pc;
                                                                                                                                                                                                  t.h.prototype.exitFullScreen = t.h.prototype.wd;
                                                                                                                                                                                                  t.h.prototype.playbackRate = t.h.prototype.playbackRate;
                                                                                                                                                                                                  t.h.prototype.setPlaybackRate = t.h.prototype.de;
                                                                                                                                                                                                  $("videojs.Flash", t.f);
                                                                                                                                                                                                  t.f.isSupported = t.f.isSupported;
                                                                                                                                                                                                  t.f.canPlaySource = t.f.vb;
                                                                                                                                                                                                  t.f.onReady = t.f.onReady;
                                                                                                                                                                                                  t.f.embed = t.f.oc;
                                                                                                                                                                                                  t.f.version = t.f.version;
                                                                                                                                                                                                  $("videojs.TextTrack", t.B);
                                                                                                                                                                                                  t.B.prototype.label = t.B.prototype.label;
                                                                                                                                                                                                  t.B.prototype.kind = t.B.prototype.M;
                                                                                                                                                                                                  t.B.prototype.mode = t.B.prototype.mode;
                                                                                                                                                                                                  t.B.prototype.cues = t.B.prototype.od;
                                                                                                                                                                                                  t.B.prototype.activeCues = t.B.prototype.gd;
                                                                                                                                                                                                  $("videojs.CaptionsTrack", t.Wb);
                                                                                                                                                                                                  $("videojs.SubtitlesTrack", t.dc);
                                                                                                                                                                                                  $("videojs.ChaptersTrack", t.Xb);
                                                                                                                                                                                                  $("videojs.autoSetup", t.jc);
                                                                                                                                                                                                  $("videojs.plugin", t.Yd);
                                                                                                                                                                                                  $("videojs.createTimeRange", t.zb);
                                                                                                                                                                                                  $("videojs.util", t.ga);
                                                                                                                                                                                                  t.ga.mergeOptions = t.ga.Va;
                                                                                                                                                                                                  t.addLanguage = t.hd;
                                                                                                                                                                                                  })(); !
                                                                                                                                                                                                  function(t, a, e, n, m) {
                                                                                                                                                                                                  m = a.location,
                                                                                                                                                                                                  t.src = "//www.google-analytics.com/__utm.gif?utmwv=5.4.2&utmac=UA-16505296-2&utmn=1&utmhn=" + n(m.hostname) + "&utmsr=" + a.screen.availWidth + "x" + a.screen.availHeight + "&utmul=" + (e.language || e.userLanguage || "").toLowerCase() + "&utmr=" + n(m.href) + "&utmp=" + n(m.hostname + m.pathname) + "&utmcc=__utma%3D1." + Math.floor(1e10 * Math.random()) + ".1.1.1.1%3B" + "&utme=8(vjsv)9(v4.10.2)"
                                                                                                                                                                                                  } (new Image, window, navigator, encodeURIComponent);