!function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g--;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c<b;)d=f[c-1]||0,e=this._widths[this.relative(c)]+this.settings.margin,f.push(d+e*a);this._coordinates=f}},{filter:["width","items","settings"],run:function(){var a=this.settings.stagePadding,b=this._coordinates,c={width:Math.ceil(Math.abs(b[b.length-1]))+2*a,"padding-left":a||"","padding-right":a||""};this.$stage.css(c)}},{filter:["width","items","settings"],run:function(a){var b=this._coordinates.length,c=!this.settings.autoWidth,d=this.$stage.children();if(c&&a.items.merge)for(;b--;)a.css.width=this._widths[this.relative(b)],d.eq(b).css(a.css);else c&&(a.css.width=a.items.width,d.css(a.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(a){a.current=a.current?this.$stage.children().index(a.current):0,a.current=Math.max(this.minimum(),Math.min(this.maximum(),a.current)),this.reset(a.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var a,b,c,d,e=this.settings.rtl?1:-1,f=2*this.settings.stagePadding,g=this.coordinates(this.current())+f,h=g+this.width()*e,i=[];for(c=0,d=this._coordinates.length;c<d;c++)a=this._coordinates[c-1]||0,b=Math.abs(this._coordinates[c])+f*e,(this.op(a,"<=",g)&&this.op(a,">",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.settings.center&&(this.$stage.children(".center").removeClass("center"),this.$stage.children().eq(this.current()).addClass("center"))}}],e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var b,c,e;b=this.$element.find("img"),c=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,e=this.$element.children(c).width(),b.length&&e<=0&&this.preloadAutoWidthImages(b)}this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+' class="'+this.settings.stageClass+'"/>').wrap('<div class="'+this.settings.stageOuterClass+'"/>'),this.$element.append(this.$stage.parent()),this.replace(this.$element.children().not(this.$stage.parent())),this.$element.is(":visible")?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),"function"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b<c;)(this._invalidated.all||a.grep(this._pipe[b].filter,d).length>0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.$element.is(":visible")&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),this.settings.responsive!==!1&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)<Math.abs(d.y)&&this.is("valid")||(b.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))},e.prototype.onDragMove=function(a){var b=null,c=null,d=null,e=this.difference(this._drag.pointer,this.pointer(a)),f=this.difference(this._drag.stage.start,e);this.is("dragging")&&(a.preventDefault(),this.settings.loop?(b=this.coordinates(this.minimum()),c=this.coordinates(this.maximum()+1)-b,f.x=((f.x-b)%c+c)%c+b):(b=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),c=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),d=this.settings.pullDrag?-1*e.x/5:0,f.x=Math.max(Math.min(f.x,b+d),c+d)),this._drag.stage.current=f,this.animate(f.x))},e.prototype.onDragEnd=function(b){var d=this.difference(this._drag.pointer,this.pointer(b)),e=this._drag.stage.current,f=d.x>0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var d=-1,e=30,f=this.width(),g=this.coordinates();return this.settings.freeDrag||a.each(g,a.proxy(function(a,h){return"left"===c&&b>h-e&&b<h+e?d=a:"right"===c&&b>h-f-e&&b<h-f+e?d=a+1:this.op(b,"<",h)&&this.op(b,">",g[a+1]||h-f)&&(d="left"===c?a+1:a),d===-1},this)),this.settings.loop||(this.op(b,">",g[this.minimum()])?d=b=this.minimum():this.op(b,"<",g[this.maximum()])&&(d=b=this.maximum())),d},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){a=this.normalize(a),a!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){for(b=this._items.length,c=this._items[--b].width(),d=this.$element.width();b--&&(c+=this._items[b].width()+this.settings.margin,!(c>d)););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2===0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=f*-1*g),a=c+e,d=((a-h)%g+g)%g+h,d!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.$element.is(":visible")&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){a=this.normalize(a,!0),a!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),this.settings.responsive!==!1&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:a<c;case">":return d?a<c:a>c;case">=":return d?a<=c:a>=c;case"<=":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&a.namespace.indexOf("owl")!==-1?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.$element.is(":visible"),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.$element.is(":visible")!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type))for(var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&e*-1||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);f++<e;)this.load(h/2+this._core.relative(g)),h&&a.each(this._core.clones(this._core.relative(g)),i),g++},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={lazyLoad:!1},e.prototype.load=function(c){var d=this._core.$stage.children().eq(c),e=d&&d.find(".owl-lazy");!e||a.inArray(d.get(0),this._loaded)>-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":'url("'+g+'")',opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"==a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.$stage.children().toArray().slice(b,c),e=[],f=0;a.each(d,function(b,c){e.push(a(c).height())}),f=Math.max.apply(null,e),this._core.$stage.parent().height(f).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube"}(),d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?'style="width:'+c.width+"px;height:"+c.height+'px;"':"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(a){e='<div class="owl-video-play-icon"></div>',d=k.lazyLoad?'<div class="owl-video-tn '+j+'" '+i+'="'+a+'"></div>':'<div class="owl-video-tn" style="opacity:1;background-image:url('+a+')"></div>',b.after(d),b.after(e)};if(b.wrap('<div class="owl-video-wrapper"'+g+"></div>"),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length)return l(h.attr(i)),h.remove(),!1;"youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),"youtube"===f.type?c='<iframe width="'+g+'" height="'+h+'" src="//www.youtube.com/embed/'+f.id+"?autoplay=1&rel=0&v="+f.id+'" frameborder="0" allowfullscreen></iframe>':"vimeo"===f.type?c='<iframe src="//player.vimeo.com/video/'+f.id+'?autoplay=1" width="'+g+'" height="'+h+'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>':"vzaar"===f.type&&(c='<iframe frameborder="0"height="'+h+'"width="'+g+'" allowfullscreen mozallowfullscreen webkitAllowFullScreen src="//view.vzaar.com/'+f.id+'/player?autoplay=true"></iframe>'),a('<div class="owl-video-frame">'+c+"</div>").insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},
a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._timeout=null,this._paused=!1,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._core.settings.autoplay&&this._setAutoPlayInterval()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype.play=function(a,b){this._paused=!1,this._core.is("rotating")||(this._core.enter("rotating"),this._setAutoPlayInterval())},e.prototype._getNextTimeout=function(d,e){return this._timeout&&b.clearTimeout(this._timeout),b.setTimeout(a.proxy(function(){this._paused||this._core.is("busy")||this._core.is("interacting")||c.hidden||this._core.next(e||this._core.settings.autoplaySpeed)},this),d||this._core.settings.autoplayTimeout)},e.prototype._setAutoPlayInterval=function(){this._timeout=this._getNextTimeout()},e.prototype.stop=function(){this._core.is("rotating")&&(b.clearTimeout(this._timeout),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&(this._paused=!0)},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"</div>")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:["prev","next"],navSpeed:!1,navElement:"div",navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a("<div>").addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","div",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;a<e;a++){if(b>=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):b<0&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){if(g[b]!==d)return e=!c||b,!1}),e}function f(a){return e(a,!0)}var g=a("<support>").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document);
var jwsThemeWooModule;
(function($){
"use strict";
jwsThemeWooModule=(function(){
return {
init: function(){
this.jws_product_tabs_block();
this.related_slider();
this.quickViewInit();
this.filterAjax();
this.productImagesGallery();
this.jwsproductAttribute();
this.productImages();
this.share_button();
this.shop_sidebar();
this.addToCartAllTypes();
this.swatchesVariations();
this.jws_tigger_function();
this.initZoom();
this.countdown_single();
this.change_quantity_discount();
this.jws_woocommerce_checkout_medern();
this.checkout_input();
this.switch_checkout_layout();
this.comments_sort();
this.single_product_js();
},
single_product_js(){
$('body.single-product').on('adding_to_cart', function(){
var checkExist=setInterval(function(){
if($('body > .woocommerce-error').length){
if(!$('.jws-notices').length){
$('body').append('<div class="jws-notices"></div>');
}
var container=$('body > .woocommerce-error').appendTo('.jws-notices').wrap('<div class="note-item"></div>');
var container_item=container.closest('.note-item');
container_item.fadeIn(500);
setTimeout(function(){
container_item.fadeOut(500);
},3500);
setTimeout(function(){
container_item.remove();
},4000);
clearInterval(checkExist);
}}, 100);
$('body').on('click','.note-close', function(){
$(this).parent().fadeOut(500); ;
});
});
},
comments_sort: function(){
$(".jws-shorting-review").on("change", function(){
var $this=$(this);
var value=$this.val();
$this.addClass('active');
$('.commentlist').addClass('loading');
var url=document.location.href+"?sort="+value+"";
$('#comments').append('<div class="loader"><svg class="circular" viewBox="25 25 50 50"><circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/></svg></div>');
if('?'==url.slice(-1)){
url=url.slice(0, -1);
}
url=url.replace(/%2C/g, ',');
$.get(url, function(res){
$this.removeClass('active');
$('#comments').replaceWith($(res).find('#comments'));
}, 'html');
});
} ,
switch_checkout_layout:function(){
$('body').on('click','.sw-modern', function(){
$('.switch_checkout_layout a').removeClass('active');
$(this).addClass('active');
Cookies.set('checkout', 'modern') ;
});
$('body').on('click','.sw-classic', function(){
$('.switch_checkout_layout a').removeClass('active');
$(this).addClass('active');
Cookies.set('checkout', 'classic') ;
});
},
checkout_input:function(){
function checkForInput(element){
const $label=$(element).parents('.form-row');
if($(element).val().length > 0){
$label.addClass('entering_text');
}else{
$label.removeClass('entering_text');
}}
$('#customer_details .input-text').each(function(){
checkForInput(this);
});
$('#customer_details .input-text').on('change keyup', function(){
checkForInput(this);
});
function checkselect(){
$('.country_select').each(function(){
if($('option:selected',this).val().length > 0){
$('option:selected',this).parents('.form-row').addClass('entering_text');
}else{
$('option:selected',this).parents('.form-row').removeClass('entering_text');
}});
}
checkselect();
$('body').on('change','.country_select', function(){
checkselect();
});
},
jws_woocommerce_checkout_medern: function(){
var _apply_coupon=false;
$('body').on('updated_checkout', function(){
if($('.page_checkout_modern').length){
$('.processing').removeClass('processing');
jwsThemeWooModule.jws_update_shipping_methods();
if($('.page_checkout_modern .woocommerce-additional-fields').length&&$('#jws-shipping-methods').length){
var _note=$('.page_checkout_modern .woocommerce-additional-fields').clone();
$('.page_checkout_modern .woocommerce-additional-fields').remove();
$('#jws-shipping-methods').after(_note);
}
if(_apply_coupon){
jwsThemeWooModule.jws_clone_notices_coupon();
if($('.woocommerce-error').length&&$('.coupon-clone-wrap').length){
$('.coupon-clone-wrap').find(':input:eq(0)').trigger('focus');
}}
_apply_coupon=false;
}});
$('body').on('checkout_error', function (){
jwsThemeWooModule.jws_move_valiate_notices();
});
$('body').on('jws_update_custommer_info', function(){
$('body').trigger('update_checkout');
if($('#jws-billing-info').length){
var _email=$('input[name="billing_email"]').val();
$('#jws-billing-info .customer-info-email .customer-info-right').html(_email);
}});
$('body').on('applied_coupon_in_checkout', function (){
jwsThemeWooModule.jws_move_valiate_notices();
if($('.shipping-wrap-modern').length){
$('.woocommerce-error, .woocommerce-message').hide();
_apply_coupon=true;
}});
$('body').on('removed_coupon_in_checkout', function (){
if($('.shipping-wrap-modern').length){
$('.woocommerce-error, .woocommerce-message').hide();
_apply_coupon=true;
}});
$('body').on('click', '.showcoupon', function (){
if($('.woocommerce-error').length){
$('.woocommerce-error').hide();
}});
$('body').on('click', '.showcoupon-clone', function(){
$('.coupon-clone-wrap').toggleClass('hidden');
$('.coupon-clone-wrap').find(':input:eq(0)').trigger('focus');
});
$('body').on('click', '#apply_coupon_clone', function(){
if($('input[name="coupon_code_clone"]').length&&$('form.checkout_coupon input[name="coupon_code"]').length){
$('.woocommerce-error, .woocommerce-message').hide();
var _coupon=$('input[name="coupon_code_clone"]').val();
$('form.checkout_coupon input[name="coupon_code"]').val(_coupon).change();
$('form.checkout_coupon').trigger('submit');
$('.woocommerce-checkout-review-order').addClass('processing');
}});
$('body').on('change', 'select.shipping_method, input[name^="shipping_method"], #ship-to-different-address input, .update_totals_on_change select, .update_totals_on_change input[type="radio"], .update_totals_on_change input[type="checkbox"]', function(){
if($('.page_checkout_modern').length&&!$('.woocommerce-checkout-review-order').hasClass('processing')){
$('.woocommerce-checkout-review-order').addClass('processing');
}});
var action=$('.jws-nav-modern a');
$('body').on('click', '.jws-nav-modern .jws-shipping-step', function(){
var _valid=jwsThemeWooModule.jws_validate_form_checkout();
console.log(_valid);
if(_valid){
$('body').trigger('jws_update_custommer_info');
action.removeClass('active');
$(this).addClass('active');
$('#jws-shipping-methods').show();
$('.woocommerce-additional-fields').show();
$('#customer_details').hide();
$('.woocommerce-checkout-payment').hide();
$('#next-step-shipping').hide();
$('#next-step-payment').show();
}});
$('body').on('click', '.jws-nav-modern .jws-billing-step', function(){
$('body').trigger('jws_update_custommer_info');
action.removeClass('active');
$(this).addClass('active');
$('#jws-shipping-methods').hide();
$('.woocommerce-additional-fields').hide();
$('#customer_details').show();
$('.woocommerce-checkout-payment').hide();
$('#next-step-shipping').show();
$('#next-step-payment').hide();
});
$('body').on('click', '.jws-nav-modern .jws-payment-step', function(){
var _valid=jwsThemeWooModule.jws_validate_form_checkout();
if(_valid){
$('body').trigger('jws_update_custommer_info');
action.removeClass('active');
$(this).addClass('active');
$('#jws-shipping-methods').hide();
$('.woocommerce-additional-fields').hide();
$('#customer_details').hide();
$('.woocommerce-checkout-payment').show();
$('#next-step-shipping').hide();
$('#next-step-payment').hide();
}});
$('body').on('click', '#next-step-shipping .jws-next-step', function(){
$('.jws-shipping-step').trigger('click');
});
$('body').on('click', '#next-step-payment .jws-next-step', function(){
$('.jws-payment-step').trigger('click');
});
$('body').on('click', '#next-step-payment .jws-back-step', function(){
$('.jws-billing-step').trigger('click');
});
},
jws_validate_form_checkout: function(){
var _form=$('form.checkout');
if(_form.length <=0){
return false;
}
var _diffirent=_form.find('[name="ship_to_different_address"]').is(':checked') ? true:false;
var _wrap = !_diffirent ? _form.find('.woocommerce-billing-fields'):_form.find('#customer_details');
_wrap.find('.form-row').each(function (){
jwsThemeWooModule.jws_validate_field($(this));
});
return _wrap.find('.jws-invalid, .jws-error').length ? false:true;
},
jws_validate_field: function(_form_row){
var $this=_form_row.find('.input-text, select, input:checkbox'),
validated=true,
validate_required=_form_row.is('.validate-required'),
validate_email=_form_row.is('.validate-email'),
validate_phone=_form_row.is('.validate-phone'),
pattern='',
_note='';
_form_row.removeClass('jws-invalid');
if(validate_required){
if('checkbox'===$this.attr('type')&&!$this.is(':checked')){
_form_row.removeClass('woocommerce-validated').addClass('woocommerce-invalid woocommerce-invalid-required-field');
validated=false;
if(_form_row.find('.jws-error').length <=0){
_note=$('.jws-require-notice').html();
$this.after('<span class="jws-error">' + _note + '</span>');
}}else if($this.val()===''){
_form_row.removeClass('woocommerce-validated').addClass('woocommerce-invalid woocommerce-invalid-required-field');
validated=false;
if(_form_row.find('.jws-error').length <=0){
_note=$('.jws-require-notice').html();
$this.after('<span class="jws-error">' + _note + '</span>');
}}
}
if(validate_email){
if($this.val()){
pattern=new RegExp(/^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[0-9a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i);
if(!pattern.test($this.val())){
_form_row.removeClass('woocommerce-validated').addClass('woocommerce-invalid woocommerce-invalid-email woocommerce-invalid-phone');
validated=false;
if(_form_row.find('.jws-error').length <=0){
_note=$('.jws-email-notice').html();
$($this).after('<span class="jws-error">' + _note + '</span>');
}}
}}
if(validate_phone){
pattern=new RegExp(/[\s\#0-9_\-\+\/\(\)\.]/g);
if(0 < $this.val().replace(pattern, '').length){
_form_row.removeClass('woocommerce-validated').addClass('woocommerce-invalid woocommerce-invalid-phone');
validated=false;
if(_form_row.find('.jws-error').length <=0){
_note=$('.jws-phone-notice').html();
$($this).after('<span class="jws-error">' + _note + '</span>');
}}
}
if(validated){
_form_row.removeClass('woocommerce-invalid woocommerce-invalid-required-field woocommerce-invalid-email woocommerce-invalid-phone').addClass('woocommerce-validated');
_form_row.find('.jws-error').remove();
}else{
_form_row.addClass('jws-invalid');
}
return validated;
},
jws_clone_notices_coupon: function(){
var _notice=$('.woocommerce-error, .woocommerce-message');
if($(_notice).length){
$('.woocommerce-error, .woocommerce-message').each(function(){
var _this=$(this);
$('.coupon-clone-wrap').after(_this);
});
$('.woocommerce-error, .woocommerce-message').show();
}} ,
jws_update_shipping_methods: function(){
if($('.jws-shipping-wrap').length&&$('.order-shipping-modern').length){
var _shipping='';
var _available=false;
var _avai_html='';
$('.jws-shipping-wrap').each(function(){
var _this=$(this);
if(_this.find('#shipping_method').length){
var _p_name=_this.find('.shipping-package-name').html();
_shipping +='<tr class="woocommerce-shipping-totals shipping">';
_shipping +='<th>' + _p_name + '</th>';
_shipping +='<td>';
_shipping +='<ul id="shipping_method_clone" class="woocommerce-shipping-methods-clone">';
_this.find('#shipping_method li').each(function(){
var _method=$(this);
if($(_method).find('select.shipping_method, input[name^="shipping_method"][type="radio"]:checked, input[name^="shipping_method"][type="hidden"]').length){
var _used=_method.clone();
$(_used).find('select.shipping_method, input[name^="shipping_method"][type="radio"]:checked, input[name^="shipping_method"][type="hidden"]').remove();
_avai_html=$(_used).html();
_shipping +='<li>' + _avai_html + '</li>';
_available=true;
}});
_shipping +='</ul>';
_shipping +='</td></tr>';
}else{
$('#jws-billing-info .customer-info-method').remove();
}});
if(_available){
$('.order-shipping-modern').replaceWith(_shipping);
$('#jws-billing-info .customer-info-method .customer-info-right').html(_avai_html);
}}
$('.woocommerce-checkout-review-order-table').addClass('jws-loaded');
},
jws_move_valiate_notices: function(){
var _billing=false;
if($('.woocommerce-error li').length){
$('.woocommerce-error li').each(function (){
var _li=$(this);
var _this=_li.attr('data-id');
if(typeof _this!=='undefined'&&$('#' + _this).length){
var _wrap=$('#' + _this).parents('.form-row');
if(_wrap.length){
var _appent=$(_li).html();
if(_wrap.find('.jws-error').length){
_wrap.find('.jws-error').html(_appent);
}else{
$('#' + _this).after('<span class="jws-error">' + _appent + '</span>');
}
if(!_wrap.hasClass('woocommerce-invalid')){
_wrap.removeClass('woocommerce-validated');
_wrap.addClass('woocommerce-invalid');
}
$(_li).remove();
_billing=true;
}}
});
if($('.woocommerce-error li').length){
$('.woocommerce-error').show();
}else{
$('.woocommerce-error').hide();
}
if(_billing){
$('.jws-nav-modern .jws-billing-step').trigger('click');
}}
},
change_quantity_discount: function(){
$(document).on("change", 'input[name="quantity_discount"]', function(){
var $this=$(this),
$value=$this.val(),
$qty=$this.parents(".product").find(".quantity .qty");
$qty.val($value);
});
},
countdown_single: function(){
$('.count_down').each(function(){
var $coundown=$(this).find('.countdown');
$().jws_countdown($coundown);
});
},
jws_tigger_function: function(variations_global){
$('body').on('click', '.product_type_variation', function(e){
var _this=$(this),
_variation=null,
_data='';
_data +='product_id=' + _this.data('product_id');
_data +='&quantity=' + _this.data('quantity');
_data +='&variation_id=' + _this.attr('data-attr_id');
_data +='&add-to-cart=' + _this.data('product_id');
console.log(_this.data('variation'));
if(typeof $(_this).attr('data-variation')!=='undefined'){
_variation=JSON.parse($(_this).attr('data-variation'));
}
if(_variation){
for (var k in _variation){
_data +='&' + k + '=' + _variation[k];
}}else{
var _href=$(_this).attr('href');
window.location.href=_href;
}
e.preventDefault();
jwsThemeWooModule.single_add_to_cart(_this, _data);
});
setTimeout(function(){
if($('.jws-attr-swatches').length){
$('.jws-attr-swatches').each(function(){
var _this=$(this);
jwsThemeWooModule.jws_load_select_attr(_this);
});
}}, 100);
},
jws_load_select_attr: function(variations_global){
var variations=JSON.parse($(variations_global).attr('data-variations')),
product_item=$(variations_global).parents('.product-item-inner'),
count_attr=$(product_item).find('.jws-attr-content').length,
selected_count=$(product_item).find('.jws-attr-content .selected').length,
add_to_cat_btn=$(product_item).find('.add_to_cart_button'),
main_image=$(product_item).find('.woocommerce-loop-product__link img'),
gallery_image=$(product_item).find('.gallery img'),
old_image=main_image.attr('old_src'),
old_image_gallery=gallery_image.attr('old_src'),
selected_attr=[],
variation={},
attr_val=null,
attr_selected=[],
attr_name=null,
variation_end=null,
finded=false,
selected_attr=[],
i;
$(variations_global).find('.selected').each(function(){
var $this=$(this);
attr_val=$this.data('value');
attr_name='attribute_' + $this.data('type');
attr_selected={
'key': attr_name,
'value': attr_val
};
variation[attr_name]=attr_val;
selected_attr.push(attr_selected);
});
if(count_attr!==selected_count){
if(typeof old_image!=='undefined'){
main_image.attr('src', old_image);
}
if(typeof old_image_gallery!=='undefined'){
gallery_image.attr('src', old_image_gallery);
}}else{
for (i in variations){
var total_attr=0,
attrs=variations[i].attributes;
for (var k in attrs){
total_attr++;
}
if(count_attr!==total_attr){
break;
}
for (var k_select in selected_attr){
if(attrs[selected_attr[k_select].key]===''||attrs[selected_attr[k_select].key]===selected_attr[k_select].value){
finded=true;
}else{
finded=false;
break;
}}
if(finded){
variation_end=variations[i];
break;
}};
if(variation_end){
if(typeof old_image==='undefined'){
$(main_image).attr('old_src', $(main_image).attr('src'));
}
if($(gallery_image).length&&typeof old_image_gallery==='undefined'){
$(gallery_image).attr('old_src', $(gallery_image).attr('src'));
}
$(main_image).attr('src', variation_end.image.src);
$(main_image).removeAttr('srcset');
if(gallery_image.length){
if(typeof variation_end.jws_variation_img==='undefined'){
$(gallery_image).attr('src', variation_end.image.src);
$(gallery_image).removeAttr('srcset');
}else{
$(gallery_image).attr('src', variation_end.jws_variation_img);
}
$(gallery_image).removeAttr('srcset');
}
if(variation_end.price_html){
$(product_item).find('.price-item').html(variation_end.price_html);
}else{
$(product_item).find('.price-item').html('');
}
var add_cart_text=jws_script.add_to_cart_text;
add_to_cat_btn.html(add_cart_text);
add_to_cat_btn.attr('title', add_cart_text);
var variObj={};
for (var attr_pa in variation_end.attributes){
variObj[attr_pa]=variation[attr_pa];
console.log(variation[attr_pa]);
}
add_to_cat_btn
.attr('data-attr_id', variation_end.variation_id)
.removeClass('product_type_variable')
.addClass('product_type_variation')
.attr('data-variation', JSON.stringify(variObj));
}else{
console.log('alo');
}}
},
jwsproductAttribute: function(){
$(document.body).on('click', '.jws-swatch-variation-image', function(e){
e.preventDefault();
var variations_global=$(this).parents('.jws-attr-swatches');
$(this).siblings('.jws-swatch-variation-image').removeClass('selected');
$(this).toggleClass('selected');
jwsThemeWooModule.jws_load_select_attr(variations_global);
});
},
single_add_to_cart: function($thisbutton, _data){
var data=_data;
data +='&action=jws_ajax_add_to_cart';
if($thisbutton.val()){
data +='&add-to-cart=' + $thisbutton.val();
}
$thisbutton.removeClass('added not-added');
$thisbutton.addClass('loading');
if(!$thisbutton.find('.loader').length){
$thisbutton.append('<div class="loader"><svg class="circular" viewBox="25 25 50 50"><circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/></svg></div>');
}
$(document.body).trigger('adding_to_cart', [$thisbutton, data]);
$.ajax({
url: jws_script.ajax_url,
data: data,
method: 'POST',
success: function(response){
if(!response){
return;
}
var this_page=window.location.toString();
this_page=this_page.replace('add-to-cart', 'added-to-cart');
if(response.error&&response.product_url){
window.location=response.product_url;
return;
}
if(wc_add_to_cart_params.cart_redirect_after_add==='yes'){
window.location=wc_add_to_cart_params.cart_url;
return;
}else{
$thisbutton.removeClass('loading');
$('.jws-mini-cart-wrapper ').removeClass('acttive');
var fragments=response.fragments;
var cart_hash=response.cart_hash;
if(fragments){
$.each(fragments, function(key){
$(key).addClass('updating');
});
}
if(fragments){
$.each(fragments, function(key, value){
$(key).replaceWith(value);
});
}
console.log(response);
if(response.notices.indexOf('error') > 0){
$('body').append(response.notices);
$thisbutton.addClass('not-added');
}else{
$thisbutton.addClass('added');
$(document.body).trigger('added_to_cart', [fragments, cart_hash, $thisbutton]);
}}
},
error: function(){
console.log('ajax adding to cart error');
},
complete: function(){},
});
},
addToCartAllTypes: function(){
$(document).on('click', '.ajax_add_to_cart', function(e){
if(!$(this).find('.loader').length){
$(this).append('<div class="loader"><svg class="circular" viewBox="25 25 50 50"><circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/></svg></div>');
}});
$('body').on('submit', ' form.cart', function(e){
e.preventDefault();
var $form=$(this),
$thisbutton=$form.find('.single_add_to_cart_button'),
_data=$form.serialize();
jwsThemeWooModule.single_add_to_cart($thisbutton, _data);
});
},
shop_sidebar: function(){
$('.toggle-shop-sidebar').on('click', function(){
$('.shop-sidebar').toggleClass('active');
});
$(document).on("click", function(e){
if($(e.target).is(".shop-sidebar,.shop-sidebar *,.toggle-shop-sidebar,.toggle-shop-sidebar *")===false){
$('.shop-sidebar').removeClass('active');
}});
},
related_slider: function(){
$('.related-slider').not('.slick-initialized').slick({
swipeToSlide: true,
prevArrow: '<span class="jws-carousel-btn prev-item"><i aria-hidden="true" class="jws-icon-caret-right-thin"></i></span>',
nextArrow: '<span class="jws-carousel-btn next-item "><i aria-hidden="true" class="jws-icon-caret-right-thin"></i></span>',
});
},
jws_product_popup: function(){
$('.jws-popup-woo').magnificPopup({
type: 'inline',
removalDelay: 500,
mainClass: 'mfp-zoom-in mfp-img-mobile',
midClick: true
});
},
jws_product_tabs_block: function(){
$('.accordion-active .wc-tab').show();
$(document).on('click', '.tabs li a', function(){
$('.jws-group-accordion.accordion-active').removeClass('accordion-active');
$($(this).attr('href')).closest('.jws-group-accordion').addClass('accordion-active');
});
$(document).on('click', '.jws-group-accordion .tab-heading', function(){
let tab_is_activated=$(this).closest('.accordion-active')[0];
$('.woocommerce-tabs .accordion-active .wc-tab').slideUp();
$('.woocommerce-tabs .accordion-active').removeClass('accordion-active');
if(!tab_is_activated){
$(this).closest('.jws-group-accordion').toggleClass('accordion-active');
$(this).next('.wc-tab').slideToggle();
if($('.woocommerce-tabs .tabs.wc-tabs')[0]){
let id=$(this).next('.wc-tab').attr('id');
$('.woocommerce-tabs .tabs.wc-tabs .active').removeClass('active');
$('.woocommerce-tabs .tabs.wc-tabs a[href="#' + id + '"]').parent().addClass('active');
}}
});
$('.jws_action_review span').on("click", function(e){
$('.jws_action_review span').removeClass('active');
$(this).addClass('active');
$('.review_form_wrapper').slideToggle('slow');
});
$('.form-questions').on('submit',function(e){
e.preventDefault();
var data=$(this).serialize();
data +='&action=jws_add_question';
data +='&product_id='+$(this).data('product')+'';
$('.error').remove();
console.log(data);
$(this).addClass('loading');
$.ajax({
url: jws_script.ajax_url,
data: data,
type: 'POST',
dataType: 'json',
}).success(function(response){
if(response.status=='error'){
$('.form-questions').append('<div class="error">'+response.note+'</div>');
}else{
location.reload(true);
}
$('.form-questions').removeClass('loading');
}).error(function(ex){
console.log(ex);
});
});
$(document.body).on('click', '#answer-question-list .jws-pagination-number a', function(e){
e.preventDefault();
var url=$(this).attr('href');
if('?'==url.slice(-1)){
url=url.slice(0, -1);
}
url=url.replace(/%2C/g, ',');
$.get(url, function(res){
$('#answer-question-list .jws-pagination-number').html($(res).find('#answer-question-list .jws-pagination-number').html());
$('#answer-question-list > ul').html($(res).find('#answer-question-list > ul').html());
}, 'html');
});
},
woocommerceCategoryWidget: function(){
$('.product-categories .cat-parent ').append("<span class='cat_btn lnr lnr-chevron-down'></span>");
$("body").on("click", ".product-categories .cat-parent > .cat_btn", function(e){
var t=$(this).parent(),
n=$(t).parent();
if($(t).hasClass("active")) $(t).find("> ul").slideUp(200).parent().removeClass("active");
else {
var s=$(n).children("li.active");
$(s).removeClass("active").children("ul").css({
height: "auto"
}).slideUp(200), $(t).children("ul").slideDown(200).parent().addClass("active")
}
return !1
})
},
mobile_shop_filter: function(){
$('.sidebar-mobile a').magnificPopup({
type: 'inline',
mainClass: '',
midClick: true,
callbacks: {
beforeOpen: function(){
this.st.mainClass='shop-sidebar-click sidebar-mobile-wap';
},
afterClose: function(){
$('.shop-sidebar').removeClass('mfp-hide');
}},
});
},
swatchesVariations: function(){
var $variation_forms=$('.variations_form'),
variationGalleryReplace=false;
$('.variations_form .label').on('click', function(e){
if($(this).siblings('.value').hasClass('with-swatches')){
e.preventDefault();
}});
$variation_forms.each(function(){
var $variation_form=$(this);
if($variation_form.data('swatches')) return;
$variation_form.data('swatches', true);
if(!$variation_form.data('product_variations')){
$variation_form.find('.swatches-select').find('> div').addClass('swatch-enabled');
}
if($('.swatches-select > div').hasClass('active-swatch')){
$variation_form.addClass('variation-swatch-selected');
}
$variation_form.on('click', '.swatches-select > div', function(){
var value=$(this).data('value');
var id=$(this).parent().data('id');
$variation_form.trigger('check_variations', ['attribute_' + id, true]);
resetSwatches($variation_form);
if($(this).hasClass('active-swatch')){
return;
}
if($(this).hasClass('swatch-disabled')) return;
$variation_form.find('select#' + id).val(value).trigger('change');
$(this).parent().find('.active-swatch').removeClass('active-swatch');
$(this).addClass('active-swatch');
resetSwatches($variation_form);
})
.on('click', '.reset_variations', function(event){
$variation_form.find('.active-swatch').removeClass('active-swatch');
})
.on('reset_data', function(){
replaceMainGallery('default', $variation_form);
$('.text_vari').remove();
var all_attributes_chosen=true;
var some_attributes_chosen=false;
$variation_form.find('.variations select').each(function(){
var attribute_name=$(this).data('attribute_name')||$(this).attr('name');
var value=$(this).val()||'';
if(value.length===0){
all_attributes_chosen=false;
}else{
some_attributes_chosen=true;
}});
if(all_attributes_chosen){
$(this).parent().find('.active-swatch').removeClass('active-swatch');
}
$variation_form.removeClass('variation-swatch-selected');
var $mainOwl=$('.woocommerce-product-gallery__wrapper.owl-carousel'),
$slider_wap=$('.woocommerce-product-gallery');
resetSwatches($variation_form);
if(!isQuickShop($variation_form)){
scrollToTop();
}
if(!$mainOwl.hasClass('owl-carousel')) return;
if($slider_wap.hasClass('image_slider_center')){
$mainOwl=$mainOwl.owlCarousel({
center: true,
loop: true,
nav: true,
navText: ["<span class='nav-left'></span>", "<span class='nav-right'></span>"],
responsive: {
979: {
items: 3
},
768: {
items: 3
},
479: {
items: 1,
center: false
},
0: {
items: 1,
center: false
}},
})
}else{
$mainOwl=$mainOwl.owlCarousel({
loop: false,
margin: 10,
nav: true,
navText: ["<span class='nav-left'></span>", "<span class='nav-right'></span>"],
items: 1
})
}
$mainOwl.trigger('refresh.owl.carousel');
$mainOwl.trigger('to.owl.carousel', 0);
})
.on('reset_image', function(){
var $thumb=$('.thumbnails .product-image-thumbnail img').first();
if(!isQuickView()&&!isQuickShop($variation_form)){
$thumb.wc_reset_variation_attr('src');
}})
.on('show_variation', function(e, variation, purchasable){
$('.text_vari').remove();
var text_vari=$variation_form.find('.swatch-color.selected');
text_vari.parents('.value').prev('.label').append('<span class="text_vari">' + $variation_form.find('.swatch-color.selected').data('value') + '</span>');
if(!variation.image.src){
}
if(isQuickView()){
var galleryHasImage=$variation_form.parents('.single-product-content').find('.thumbnails .product-image-thumbnail img[data-o_src="' + variation.image.thumb_src + '"]').length > 0;
var $firstThumb=$variation_form.parents('.single-product-content').find('.thumbnails .product-image-thumbnail img').first();
}else{
var galleryHasImage=$variation_form.parents('body').find('.thumbnails .product-image-thumbnail img[data-o_src="' + variation.image.thumb_src + '"]').length > 0;
var $firstThumb=$variation_form.parents('body').find('.thumbnails .product-image-thumbnail img').first();
}
if(galleryHasImage){
$firstThumb.wc_reset_variation_attr('src');
}
if(!isVariationGallery(variation.variation_id)){
replaceMainGallery('default', $variation_form)
}else{
if(!isQuickShop($variation_form)&&!replaceMainGallery(variation.variation_id, $variation_form)){
if($firstThumb.attr('src')!=variation.image.thumb_src){
$firstThumb.wc_set_variation_attr('src', variation.image.src);
}
jwsThemeWooModule.initZoom();
}}
$variation_form.addClass('variation-swatch-selected');
if(!isQuickShop($variation_form)&&!isQuickView()){
scrollToTop();
}
var $mainOwl=$('.woocommerce-product-gallery__wrapper.owl-carousel'),
$slider_wap=$('.woocommerce-product-gallery');
if(!$mainOwl.hasClass('owl-carousel')) return;
$variation_form.addClass('variation-swatch-selected');
if(!isQuickShop($variation_form)){
scrollToTop();
}
if(!$mainOwl.hasClass('owl-carousel')) return;
$mainOwl.trigger('destroy.owl.carousel');
if($slider_wap.hasClass('image_slider_center')){
$mainOwl=$mainOwl.owlCarousel({
center: true,
loop: true,
nav: true,
navText: ["<span class='nav-left'></span>", "<span class='nav-right'></span>"],
responsive: {
979: {
items: 3
},
768: {
items: 3
},
479: {
items: 1,
center: false
},
0: {
items: 1,
center: false
}},
})
}else{
$mainOwl=$mainOwl.owlCarousel({
loop: false,
margin: 10,
nav: true,
navText: ["<span class='nav-left'></span>", "<span class='nav-right'></span>"],
items: 1,
smartSpeed: 500,
});
}
$mainOwl.trigger('refresh.owl.carousel');
var $thumbs=$('.images .thumbnails');
$mainOwl.trigger('to.owl.carousel', 0);
if($thumbs.hasClass('owl-carousel')){
$thumbs.owlCarousel().trigger('to.owl.carousel', 0);
$thumbs.find('.active-thumb').removeClass('active-thumb');
$thumbs.find('.product-image-thumbnail').eq(0).addClass('active-thumb');
}else if($thumbs.hasClass('slick-slider')){
$thumbs.slick('slickGoTo', 0);
if(!$thumbs.find('.product-image-thumbnail').eq(0).hasClass('active-thumb')){
$thumbs.find('.active-thumb').removeClass('active-thumb');
$thumbs.find('.product-image-thumbnail').eq(0).addClass('active-thumb');
}}
});
})
var resetSwatches=function($variation_form){
if(!$variation_form.data('product_variations')) return;
$variation_form.find('.variations select').each(function(){
var select=$(this);
var swatch=select.parent().find('.swatches-select');
var options=select.html();
options=$(options);
swatch.find('> div').removeClass('swatch-enabled').addClass('swatch-disabled');
options.each(function(el){
var value=$(this).val();
if($(this).hasClass('enabled')){
swatch.find('div[data-value="' + value + '"]').removeClass('swatch-disabled').addClass('swatch-enabled');
}else{
swatch.find('div[data-value="' + value + '"]').addClass('swatch-disabled').removeClass('swatch-enabled');
}});
});
};
var scrollToTop=function(){
if(!$('body').hasClass('ochahouseduct-design-sticky')||!$('.entry-summary').hasClass('block-sticked')||$(window).width() <=1024) return;
$('html, body').animate({
scrollTop: $('.product-image-summary').offset().top - 150
}, 800);
}
var isQuickShop=function($form){
return $form.parent().hasClass('quick-shop-form');
};
var isQuickView=function(){
return $('.single-product-content').hasClass('product-quick-view');
};
var isVariationGallery=function(key){
var variation_gallery_data=isQuickView() ? '':jws_variation_gallery_data;
return typeof variation_gallery_data!=='undefined'&&variation_gallery_data&&variation_gallery_data[key];
};
var replaceMainGallery=function(key, $variationForm){
var variation_gallery_data=isQuickView() ? '':jws_variation_gallery_data;
console.log(variation_gallery_data);
if(!isVariationGallery(key)||isQuickShop($variationForm)){
return false;
}
var imagesData=variation_gallery_data[key];
if(isQuickView()){
var $mainGallery=$variationForm.parents('.single-product-content').find('.woocommerce-product-gallery__wrapper');
}else{
var $mainGallery=$variationForm.parents('body').find('.woocommerce-product-gallery__wrapper');
}
$mainGallery.empty();
for (var index=0; index < imagesData.length; index++){
var $html='<div class="product-image-wrap"><figure data-thumb="' + imagesData[index].data_thumb + '" class="woocommerce-product-gallery__image">';
if(!isQuickView()){
$html +='<a href="' + imagesData[index].href + '">';
}
$html +=imagesData[index].image;
if(!isQuickView()){
$html +='</a>';
}
$html +='</figure></div>';
$mainGallery.append($html);
}
jwsThemeWooModule.productImagesGallery();
jwsThemeWooModule.quickViewCarousel();
$('.woocommerce-product-gallery__image').trigger('zoom.destroy');
if(!isQuickView()){
jwsThemeWooModule.initZoom();
}
return true;
}},
productImagesGallery: function(){
var $thumbs=$('.images .thumbnails'),
$mainOwl=$('.woocommerce-product-gallery__wrapper:not(.quick-view-gallery)'),
$slider_wap=$('.main-product'),
$mainGallery=$('.woocommerce-product-gallery__wrapper:not(.quick-view-gallery)');
if($slider_wap.hasClass('layout_gid_two_coloms')||$slider_wap.hasClass('layout_vertical_metro')||$slider_wap.hasClass('layout_vertical')){ return false; }
if($slider_wap.hasClass('image_image_vertical')&&$(window).width() < 767){
initMainGallery();
}
if(!$slider_wap.hasClass('image_image_vertical')){
initMainGallery();
initThumbnailsMarkup();
if(($slider_wap.hasClass('thumbnail_position_left')||$slider_wap.hasClass('thumbnail_position_right'))&&jQuery(window).width() > 1024){
initThumbnailsVertical();
}else{
initThumbnailsHorizontal();
}}
function initMainGallery(){
$mainGallery.trigger('destroy.owl.carousel');
if($slider_wap.hasClass('image_slider_center')){
$mainGallery.addClass('owl-carousel').owlCarousel({
center: true,
loop: true,
nav: true,
navText: ["<span class='nav-left'></span>", "<span class='nav-right'></span>"],
responsive: {
979: {
items: 3
},
768: {
items: 3
},
479: {
items: 1,
center: false
},
0: {
items: 1,
center: false
}},
})
}else{
$mainGallery.addClass('owl-carousel').owlCarousel({
loop: false,
margin: 0,
nav: true,
navText: ["<span class='nav-left'></span>", "<span class='nav-right'></span>"],
items: 1,
smartSpeed: 500,
})
}};
function initThumbnailsMarkup(){
var markup='';
$mainGallery.find('.woocommerce-product-gallery__image').each(function(){
var image=$(this).data('thumb'),
alt=$(this).find('a > img').attr('alt'),
title=$(this).find('a > img').attr('title');
markup +='<div class="product-image-thumbnail"><img alt="' + alt + '" title="' + title + '" src="' + image + '" /></div>';
});
if($thumbs.hasClass('slick-slider')){
$thumbs.slick('unslick');
}else if($thumbs.hasClass('owl-carousel')){
$thumbs.trigger('destroy.owl.carousel');
}
$thumbs.empty();
$thumbs.append(markup);
};
function initThumbnailsHorizontal(){
$thumbs.addClass('owl-carousel').owlCarousel({
rtl: $('body').hasClass('rtl'),
items: 5,
responsive: {
979: {
items: 5
},
768: {
items: 4
},
479: {
items: 4
},
0: {
items: 4
}},
dots: false,
nav: true,
navText: ["<span class='nav-left'></span>", "<span class='nav-right'></span>"],
});
var $thumbsOwl=$thumbs.owlCarousel();
$thumbs.on('click', '.owl-item', function(e){
var i=$(this).index();
$thumbsOwl.trigger('to.owl.carousel', i);
$mainOwl.trigger('to.owl.carousel', i);
});
$mainOwl.on('changed.owl.carousel', function(e){
var i=e.item.index;
$thumbsOwl.trigger('to.owl.carousel', i);
$thumbs.find('.active-thumb').removeClass('active-thumb');
$thumbs.find('.owl-item').eq(i).addClass('active-thumb');
});
$thumbs.find('.owl-item').eq(0).addClass('active-thumb');
};
function initThumbnailsVertical(){
$thumbs.slick({
arrows:false,
slidesToShow: 5,
slidesToScroll: 1,
vertical: true,
verticalSwiping: true,
infinite: false,
focusOnSelect: true,
swipeToSlide: true,
});
$thumbs.on('click', '.product-image-thumbnail', function(e){
var i=$(this).index();
$mainOwl.trigger('to.owl.carousel', i);
});
$mainOwl.on('changed.owl.carousel', function(e){
var i=e.item.index;
$thumbs.slick('slickGoTo', i);
$thumbs.find('.active-thumb').removeClass('active-thumb');
$thumbs.find('.product-image-thumbnail').eq(i).addClass('active-thumb');
});
$thumbs.find('.product-image-thumbnail').eq(0).addClass('active-thumb');
};},
initZoom: function(){
if($('.layout_gid_two_coloms , .layout_vertical_metro').length){
return false;
}
var $mainGallery=$('.woocommerce-product-gallery__wrapper:not(.quick-view-gallery)');
$mainGallery.find('.product-image-wrap').each(function(){
var $wrapper=$(this).find('.woocommerce-product-gallery__image');
var image=$wrapper.find('img');
var zoomOptions={
touch: false
};
if('ontouchstart' in window){
zoomOptions.on='click';
}
if(image.data('large_image_width') > $(this).width()){
$wrapper.trigger('zoom.destroy');
$wrapper.zoom(zoomOptions);
}});
},
productImages: function(){
var currentImage,
$productGallery=$('.woocommerce-product-gallery'),
$mainImages=$('.woocommerce-product-gallery__wrapper'),
$thumbs=$productGallery.find('.thumbnails'),
currentClass='current-image',
PhotoSwipeTrigger='.jws-show-product-gallery';
$thumbs.addClass('thumbnails-ready');
if($productGallery.hasClass('image-action-popup')){
PhotoSwipeTrigger +=', .woocommerce-product-gallery__image a';
}
$productGallery.on('click', '.woocommerce-product-gallery__image a', function(e){
e.preventDefault();
});
$productGallery.on('click', PhotoSwipeTrigger, function(e){
e.preventDefault();
currentImage=$(this).attr('href');
var items=getProductItems();
jwsThemeWooModule.callPhotoSwipe(getCurrentGalleryIndex(e), items);
});
var getCurrentGalleryIndex=function(e){
if($mainImages.hasClass('owl-carousel')&&!$productGallery.hasClass('image_slider_center'))
return $mainImages.find('.owl-item.active').index();
else if($productGallery.hasClass('image_slider_center')) return $(e.currentTarget).parent().parent().parent().index();
else return $(e.currentTarget).parent().parent().index();
};
var getProductItems=function(){
var items=[];
$mainImages.find('figure a img').each(function(){
var src=$(this).attr('data-large_image'),
width=$(this).attr('data-large_image_width'),
height=$(this).attr('data-large_image_height'),
caption=$(this).data('caption');
items.push({
src: src,
w: width,
h: height,
});
});
return items;
};
if($productGallery.hasClass('image-action-zoom')){
var zoom_target=$('.woocommerce-product-gallery__image');
var image_to_zoom=zoom_target.find('img');
if(image_to_zoom.attr('width') > $('.woocommerce-product-gallery').width()){
zoom_target.trigger('zoom.destroy');
zoom_target.zoom({
touch: false
});
}}
},
callPhotoSwipe: function(index, items){
var pswpElement=document.querySelectorAll('.pswp')[0];
if($('body').hasClass('rtl')){
index=items.length - index - 1;
items=items.reverse();
}
var options={
index: index,
shareButtons: [{
id: 'facebook',
label: 'Share on Facebook',
url: 'https://www.facebook.com/sharer/sharer.php?u={{url}}'
}, {
id: 'twitter',
label: 'Tweet',
url: 'https://twitter.com/intent/tweet?text={{text}}&url={{url}}'
}, {
id: 'pinterest',
label: 'Pin it',
url: 'http://www.pinterest.com/pin/create/button/?url={{url}}&media={{image_url}}&description={{text}}'
}, {
id: 'download',
label: 'Download image',
url: '{{raw_image_url}}',
download: true
}],
};
var gallery=new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
gallery.init();
},
quickViewInit: function(){
$(document).on('click', '.quickview-button', function(e){
e.preventDefault();
var productId=$(this).data('product_id'),
loopName=$(this).data('loop-name'),
closeText='close_view',
loadingText='loading_view',
loop=$(this).data('loop'),
prev='',
next='',
loopBtns=$('.quick-view').find('[data-loop-name="' + loopName + '"]'),
btn=$(this);
if(!btn.find('.loader').length){
btn.append('<div class="loader"><svg class="circular" viewBox="25 25 50 50"><circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/></svg></div>');
}
btn.addClass('loading');
if(typeof addthis=='undefined'){
var s=document.createElement("script");
s.src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-562f7aa6d38d8980";
document.getElementsByTagName("body")[0].appendChild(s);
}
if(typeof loopBtns[loop - 1]!='undefined'){
prev=loopBtns.eq(loop - 1).addClass('quick-view-prev');
prev=$('<div>').append(prev.clone()).html();
}
if(typeof loopBtns[loop + 1]!='undefined'){
next=loopBtns.eq(loop + 1).addClass('quick-view-next');
next=$('<div>').append(next.clone()).html();
}
jwsThemeWooModule.quickViewLoad(productId, btn, prev, next, closeText, loadingText);
});
},
quickViewLoad: function(id, btn, prev, next, closeText, loadingText){
var data={
id: id,
action: "jws_ajax_load_product_quickview",
};
$.ajax({
url: jws_script.ajax_url,
data: data,
method: 'get',
success: function(data){
$.magnificPopup.open({
items: {
src: '<div id="jws-quickview" class="mfp-with-anim popup-quick-view">' + data + '</div>',
type: 'inline'
},
tClose: closeText,
tLoading: loadingText,
removalDelay: 500,
callbacks: {
beforeOpen: function(){
this.st.mainClass='quick-view-main';
},
open: function(){
$('.popup-quick-view').find('.variations_form').each(function(){
$(this).wc_variation_form().find('.variations select:eq(0)').change();
if(typeof $.fn.tawcvs_variation_swatches_form!=='undefined'){
$(this).tawcvs_variation_swatches_form();
}});
$('.variations_form').trigger('wc_variation_form');
$('body').trigger('jws-quick-view-displayed');
jwsThemeWooModule.quickViewCarousel();
jwsThemeWooModule.swatchesVariations();
jwsThemeWooModule.share_button();
}},
});
},
complete: function(){
btn.removeClass('loading');
},
error: function(){},
});
},
quickViewCarousel: function(){
$('#jws-quickview .woocommerce-product-gallery__wrapper').trigger('destroy.owl.carousel');
$('#jws-quickview .woocommerce-product-gallery__wrapper').addClass('owl-carousel').owlCarousel({
loop: false,
margin: 10,
nav: true,
navText: ["<span class='nav-left'></span>", "<span class='nav-right'></span>"],
items: 1
});
},
share_button: function(){
var $container=$('.popup-list'),
$item=$container.find('.item');
$().gallery_popup($container, $item);
$('.product-share button').on('click', function(){
var parents=$(this).parents('.product-share');
parents.find(".addthis_inline_share_toolbox").toggleClass('opened');
if(parents.find(".addthis_inline_share_toolbox").hasClass('opened')){
parents.find(".addthis_inline_share_toolbox a").delay(100).each(function(i){
$(this).delay(50 * i).queue(function(){
$(this).addClass("show");
$(this).dequeue();
})
});
}else{
parents.find(".addthis_inline_share_toolbox a").removeClass('show');
}});
},
priceSlider: function(){
if(typeof woocommerce_price_slider_params==='undefined'){
return false;
}
if($('body').find('.price_slider_wrapper').length <=0){
return false;
}
$('input#min_price, input#max_price').hide();
$('.price_slider, .price_label').show();
var min_price=$('.price_slider_amount #min_price').data('min'),
max_price=$('.price_slider_amount #max_price').data('max'),
current_min_price=parseInt(min_price, 10),
current_max_price=parseInt(max_price, 10);
if($('.price_slider_amount #min_price').val()!=''){
current_min_price=parseInt($('.price_slider_amount #min_price').val(), 10);
}
if($('.price_slider_amount #max_price').val()!=''){
current_max_price=parseInt($('.price_slider_amount #max_price').val(), 10);
}
$(document.body).on('bind','price_slider_create price_slider_slide', function(event, min, max){
if(woocommerce_price_slider_params.currency_pos==='left'){
$('.price_slider_amount span.from').html(woocommerce_price_slider_params.currency_symbol + min);
$('.price_slider_amount span.to').html(woocommerce_price_slider_params.currency_symbol + max);
}else if(woocommerce_price_slider_params.currency_pos==='left_space'){
$('.price_slider_amount span.from').html(woocommerce_price_slider_params.currency_symbol + ' ' + min);
$('.price_slider_amount span.to').html(woocommerce_price_slider_params.currency_symbol + ' ' + max);
}else if(woocommerce_price_slider_params.currency_pos==='right'){
$('.price_slider_amount span.from').html(min + woocommerce_price_slider_params.currency_symbol);
$('.price_slider_amount span.to').html(max + woocommerce_price_slider_params.currency_symbol);
}else if(woocommerce_price_slider_params.currency_pos==='right_space'){
$('.price_slider_amount span.from').html(min + ' ' + woocommerce_price_slider_params.currency_symbol);
$('.price_slider_amount span.to').html(max + ' ' + woocommerce_price_slider_params.currency_symbol);
}
$(document.body).trigger('price_slider_updated', [min, max]);
});
if(typeof $.fn.slider!=='undefined'){
$('.price_slider').slider({
range: true,
animate: true,
min: min_price,
max: max_price,
values: [current_min_price, current_max_price],
create: function(){
$('.price_slider_amount #min_price').val(current_min_price);
$('.price_slider_amount #max_price').val(current_max_price);
$(document.body).trigger('price_slider_create', [current_min_price, current_max_price]);
},
slide: function(event, ui){
$('input#min_price').val(ui.values[0]);
$('input#max_price').val(ui.values[1]);
$(document.body).trigger('price_slider_slide', [ui.values[0], ui.values[1]]);
},
change: function(event, ui){
$(document.body).trigger('price_slider_change', [ui.values[0], ui.values[1]]);
}});
}},
filterAjax: function(){
var autoload=true;
$(window).on('resize scroll', function(){
if($('.auto_load_more').length&&$('.auto_load_more').isInViewport()&&autoload){
autoload=false;
$('.auto_load_more').trigger("click");
}});
$(document.body).on('click', '.woocommerce-pagination .jws-products-load-more', function(e){
e.preventDefault();
$('.jws-products-load-more').append('<div class="loader"><svg class="circular" viewBox="25 25 50 50"><circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/></svg></div>');
$('.jws-products-load-more , .spinner').addClass('loading');
var url=$(this).attr('href');
if('?'==url.slice(-1)){
url=url.slice(0, -1);
}
url=url.replace(/%2C/g, ',');
$.get(url, function(res){
$('.products-wrap').append($(res).find('.products-wrap').html());
setTimeout(function(){
$('.load-template').each(function(){
$(this).parent().html(JSON.parse($(this).html()));
});
}, 500);
autoload=true;
$('.woocommerce-pagination').html($(res).find('.woocommerce-pagination').html());
}, 'html');
});
$(document).on('click', '.show_filter_shop', function(){
$('.jws-filter-modal').fadeIn().addClass('open');
});
$(document).on('click', '.modal-close , .modal-overlay', function(){
$('.jws-filter-modal').fadeOut().removeClass('open');
});
$(document.body).on('submit', '.woocommerce-ordering ', function(e){
e.preventDefault();
});
$(document.body).on('click', 'form.woocommerce-ordering div.orderby ul span', function(e){
e.preventDefault();
if($(this).hasClass('current')){
return;
}
$('.orderby-current').html($(this).text());
var form=$('form.woocommerce-ordering');
var data=$(this).attr('data-orderby');
$('form.woocommerce-ordering div.orderby ul span').removeClass('current');
$(this).addClass('current');
form.find('select.orderby').val(data).trigger('change');
});
$(document.body).on('change', '#pgs_product_pp , .orderby', function(e){
var url=$(this).parents('form').attr('action') + '?' + $(this).parents('form').serialize();
$(document.body).trigger('ochahouse_catelog_filter_ajax', [url, $(this)]);
});
$(document.body).on('click', '.price_slider_wrapper button', function(event, ui){
event.preventDefault();
var form=$(this).closest('form').get(0),
$form=$(form),
url=$form.attr('action') + '?' + $form.serialize();
$(document.body).trigger('ochahouse_catelog_filter_ajax', [url, $(this)]);
});
$(document.body).on('submit', '.woocommerce-widget-layered-nav-dropdown', function(e){
e.preventDefault();
var url=$(this).attr('action') + '?' + $(this).serialize();
$(document.body).trigger('ochahouse_catelog_filter_ajax', [url, $(this)]);
});
$(document.body).on('click', '.widget_layered_nav_filters a', function(e){
e.preventDefault();
var url=$(this).attr('href');
$(document.body).trigger('ochahouse_catelog_filter_ajax', [url, $(this)]);
});
$(document.body).on('click', '.view-icon-list a', function(e){
e.preventDefault();
$('.view-icon-list a').removeClass('sel-active')
$(this).addClass('sel-active');
var url=$(this).attr('href');
$(document.body).trigger('ochahouse_catelog_filter_ajax', [url, $(this)]);
});
$(document.body).on('click', ' #remove-filter-actived', function(e){
e.preventDefault();
var url=$(this).attr('href');
$(document.body).trigger('ochahouse_catelog_filter_ajax', [url, $(this)]);
});
$(document.body).on('click', '.woocommerce-pagination .page-numbers a', function(e){
e.preventDefault();
var url=$(this).attr('href');
$(document.body).trigger('ochahouse_catelog_filter_ajax', [url, $(this)]);
});
$(document.body).find('#jws-shop-product-cats').on('click', '.cat-link', function(e){
e.preventDefault();
var url=$(this).attr('href');
$(document.body).trigger('ochahouse_catelog_filter_ajax', [url, $(this)]);
});
$(document.body).find('#jws-categories-filter').on('click', 'a', function(e){
e.preventDefault();
$(this).addClass('selected');
var url=$(this).attr('href');
$(document.body).trigger('ochahouse_catelog_filter_ajax', [url, $(this)]);
});
$(document.body).find(' .siderbar-inner , .filter-shop-nav').on('click', 'a', function(e){
var $widget=$(this).closest('ul');
if($widget.hasClass('widget_product_tag_cloud') ||
$widget.hasClass('product-categories') ||
$widget.hasClass('wc-layered-nav') ||
$widget.hasClass('product-sort-by') ||
$widget.hasClass('product_reset') ||
$widget.hasClass('woocommerce-widget-layered-nav')){
e.preventDefault();
$(this).closest('.product-categories').find('li').removeClass('current-cat');
$(this).closest('li').addClass('chosen');
var url=$(this).attr('href');
$(document.body).trigger('ochahouse_catelog_filter_ajax', [url, $(this)]);
}
if($widget.hasClass('widget_product_tag_cloud')){
$(this).addClass('selected');
}
if($widget.hasClass('product-sort-by')){
$(this).addClass('active');
}});
$(document.body).on('ochahouse_catelog_filter_ajax', function(e, url, element){
$('html,body').animate({
scrollTop: $(".shop-container").offset().top - 60
}, 600);
$('.shop-topbar').slideUp();
$('.is-sticky').addClass('no-active-sticky').removeClass('active-sticky');
$('.product-container').addClass('ochahouse-animated-products');
$('.products').addClass('loading');
var skel='grid';
var view=$('.view-icon-list .sel-active');
if(view.hasClass('view-product-4')){
$('.content-area .product-item').attr('class', 'product-item product col-xl-3 col-lg-3 col-12');
}else if(view.hasClass('view-product-3')){
$('.content-area .product-item').attr('class', 'product-item product col-xl-4 col-lg-4 col-12');
}else if(view.hasClass('view-product-2')){
$('.content-area .product-item').attr('class', 'product-item product col-xl-6 col-lg-6 col-12');
}else if(view.hasClass('view-product-1')){
$('.content-area .product-item').attr('class', 'product-item product col-12');
skel='list';
}
if(skel=='grid'){
$('.content-area .product-item').html('<div class="skel-mask"></div>');
}else{
$('.content-area .product-item').html('<div class="skel-mask skel-list"></div>');
}
if('?'==url.slice(-1)){
url=url.slice(0, -1);
}
url=url.replace(/%2C/g, ',');
window.history.pushState(null, "", url);
$(window).bind("popstate", function(){
window.location=location.href
});
$(document.body).trigger('ochahouse_ajax_filter_before_send_request');
$.get(url, function(res){
$('.products-wrap').replaceWith($(res).find('.products-wrap'));
$('.title-wrapper').html($(res).find('.title-wrapper').html());
$('.jws-breadcrumbs').html($(res).find('.jws-breadcrumbs').html());
$('.woocommerce-result-count').html($(res).find('.woocommerce-result-count').html());
$('.shop-top-filters-right').html($(res).find('.shop-top-filters-right').html());
$('.shop-filter-actived').html($(res).find('.shop-filter-actived').html());
$('.siderbar-inner').html($(res).find('.siderbar-inner').html());
$('.woocommerce-pagination').html($(res).find('.woocommerce-pagination').html());
jwsThemeWooModule.priceSlider();
$('.load-template').each(function(){
$(this).parent().html(JSON.parse($(this).html()));
});
$(document.body).trigger('ochahouse_ajax_filter_request_success', [res, url]);
}, 'html');
});
$(document.body).on('ochahouse_ajax_filter_before_send_request', function(){
if($('#jws-shop-toolbar').hasClass('on-mobile')){
$('#jws-toggle-cats-filter').removeClass('active');
$('.jws-filter').removeClass('active');
}});
window.onpageshow=function(event){
if(event.persisted){
window.location.reload();
}};}}
}())
})(jQuery);
jQuery(document).ready(function(){
jwsThemeWooModule.init();
});
jQuery(window).on('load', function(){
});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";var t,e,i,n,W,C,o,s,r,l,a,h,u;function E(t,e,i){return[parseFloat(t[0])*(a.test(t[0])?e/100:1),parseFloat(t[1])*(a.test(t[1])?i/100:1)]}function L(t,e){return parseInt(x.css(t,e),10)||0}function N(t){return null!=t&&t===t.window}x.ui=x.ui||{},x.ui.version="1.13.3",
x.extend(x.expr.pseudos,{data:x.expr.createPseudo?x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}}):function(t,e,i){return!!x.data(t,i[3])}}),
x.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}),
x.ui.focusable=function(t,e){var i,n,o,s=t.nodeName.toLowerCase();return"area"===s?(o=(i=t.parentNode).name,!(!t.href||!o||"map"!==i.nodeName.toLowerCase())&&0<(i=x("img[usemap='#"+o+"']")).length&&i.is(":visible")):(/^(input|select|textarea|button|object)$/.test(s)?(n=!t.disabled)&&(o=x(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===s&&t.href||e,n&&x(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(x(t)))},x.extend(x.expr.pseudos,{focusable:function(t){return x.ui.focusable(t,null!=x.attr(t,"tabindex"))}}),x.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):x(this[0].form)},
x.ui.formResetMixin={_formResetHandler:function(){var e=x(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");x.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(x.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}},x.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
x.expr.pseudos||(x.expr.pseudos=x.expr[":"]),x.uniqueSort||(x.uniqueSort=x.unique),x.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,i=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},x.escapeSelector=function(t){return(t+"").replace(e,i)}),x.fn.even&&x.fn.odd||x.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),
x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},
x.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+x.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},x.ui.plugin={add:function(t,e,i){var n,o=x.ui[t].prototype;for(n in i)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([e,i[n]])},call:function(t,e,i,n){var o,s=t.plugins[e];if(s&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(o=0;o<s.length;o++)t.options[s[o][0]]&&s[o][1].apply(t.element,i)}},
W=Math.max,C=Math.abs,o=/left|center|right/,s=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,a=/%$/,h=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==n?n:(i=(e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=N(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(f){var c,d,p,g,m,v,y,w,b,_,t,e;return f&&f.of?(v="string"==typeof(f=x.extend({},f)).of?x(document).find(f.of):x(f.of),y=x.position.getWithinInfo(f.within),w=x.position.getScrollInfo(y),b=(f.collision||"flip").split(" "),_={},e=9===(e=(t=v)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:N(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()},v[0].preventDefault&&(f.at="left top"),d=e.width,p=e.height,m=x.extend({},g=e.offset),x.each(["my","at"],function(){var t,e,i=(f[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):s.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=s.test(i[1])?i[1]:"center",t=r.exec(i[0]),e=r.exec(i[1]),_[this]=[t?t[0]:0,e?e[0]:0],f[this]=[l.exec(i[0])[0],l.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===f.at[0]?m.left+=d:"center"===f.at[0]&&(m.left+=d/2),"bottom"===f.at[1]?m.top+=p:"center"===f.at[1]&&(m.top+=p/2),c=E(_.at,d,p),m.left+=c[0],m.top+=c[1],this.each(function(){var i,t,r=x(this),l=r.outerWidth(),a=r.outerHeight(),e=L(this,"marginLeft"),n=L(this,"marginTop"),o=l+e+L(this,"marginRight")+w.width,s=a+n+L(this,"marginBottom")+w.height,h=x.extend({},m),u=E(_.my,r.outerWidth(),r.outerHeight());"right"===f.my[0]?h.left-=l:"center"===f.my[0]&&(h.left-=l/2),"bottom"===f.my[1]?h.top-=a:"center"===f.my[1]&&(h.top-=a/2),h.left+=u[0],h.top+=u[1],i={marginLeft:e,marginTop:n},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](h,{targetWidth:d,targetHeight:p,elemWidth:l,elemHeight:a,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[c[0]+u[0],c[1]+u[1]],my:f.my,at:f.at,within:y,elem:r})}),f.using&&(t=function(t){var e=g.left-h.left,i=e+d-l,n=g.top-h.top,o=n+p-a,s={target:{element:v,left:g.left,top:g.top,width:d,height:p},element:{element:r,left:h.left,top:h.top,width:l,height:a},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};d<l&&C(e+i)<d&&(s.horizontal="center"),p<a&&C(n+o)<p&&(s.vertical="middle"),W(C(e),C(i))>W(C(n),C(o))?s.important="horizontal":s.important="vertical",f.using.call(this,t,s)}),r.offset(x.extend(h,{using:t}))})):h.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,n=n.width,s=t.left-e.collisionPosition.marginLeft,r=o-s,l=s+e.collisionWidth-n-o;n<e.collisionWidth?0<r&&l<=0?(i=t.left+r+e.collisionWidth-n-o,t.left+=r-i):t.left=!(0<l&&r<=0)&&l<r?o+n-e.collisionWidth:o:0<r?t.left+=r:0<l?t.left-=l:t.left=W(t.left-s,t.left)},top:function(t,e){var i,n=e.within,n=n.isWindow?n.scrollTop:n.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,r=n-s,l=s+e.collisionHeight-o-n;o<e.collisionHeight?0<r&&l<=0?(i=t.top+r+e.collisionHeight-o-n,t.top+=r-i):t.top=!(0<l&&r<=0)&&l<r?n+o-e.collisionHeight:n:0<r?t.top+=r:0<l?t.top-=l:t.top=W(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,s=t.left-e.collisionPosition.marginLeft,r=s-i,s=s+e.collisionWidth-o-i,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,a="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];r<0?((o=t.left+l+a+h+e.collisionWidth-o-n)<0||o<C(r))&&(t.left+=l+a+h):0<s&&(0<(n=t.left-e.collisionPosition.marginLeft+l+a+h-i)||C(n)<s)&&(t.left+=l+a+h)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,i=i.isWindow?i.scrollTop:i.offset.top,s=t.top-e.collisionPosition.marginTop,r=s-i,s=s+e.collisionHeight-o-i,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,a="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];r<0?((o=t.top+l+a+h+e.collisionHeight-o-n)<0||o<C(r))&&(t.top+=l+a+h):0<s&&(0<(n=t.top-e.collisionPosition.marginTop+l+a+h-i)||C(n)<s)&&(t.top+=l+a+h)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}},x.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=(i=i||e.body).nodeName?i:e.body},x.ui.safeBlur=function(t){t&&"body"!==t.nodeName.toLowerCase()&&x(t).trigger("blur")},
x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},
x.extend(x.expr.pseudos,{tabbable:function(t){var e=x.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&x.ui.focusable(t,i)}}),
x.fn.extend({uniqueId:(u=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++u)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}});
var f,c=0,d=Array.prototype.hasOwnProperty,p=Array.prototype.slice;x.cleanData=(f=x.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");f(t)}),x.widget=function(t,i,e){var n,o,s,r={},l=t.split(".")[0],a=l+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[a.toLowerCase()]=function(t){return!!x.data(t,a)},x[l]=x[l]||{},n=x[l][t],o=x[l][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},x.extend(o,n,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(s=new i).options=x.widget.extend({},s.options),x.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}r[e]="function"!=typeof n?n:function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}}),o.prototype=x.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},r,{constructor:o,namespace:l,widgetName:t,widgetFullName:a}),n?(x.each(n._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),x.widget.bridge(t,o),o},x.widget.extend=function(t){for(var e,i,n=p.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],d.call(n[o],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(s,e){var r=e.prototype.widgetFullName||s;x.fn[s]=function(i){var t="string"==typeof i,n=p.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,r);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=x.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=x.data(this,r);t?(t.option(i||{}),t._init&&t._init()):x.data(this,r,new e(i,this))})),o}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=x.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=x(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],r=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=r.classesElementLookup[t[n]]||x(),i=o.add?(function(){var i=[];o.element.each(function(t,e){x.map(r.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),r._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(o.element.get())))):x(i.not(o.element).get()),r.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=x.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;x.each(n.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(n.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,e={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return e.element.toggleClass(this._classes(e),n),this},_on:function(o,s,t){var r,l=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=r=x(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,r=this.widget()),x.each(t,function(t,e){function i(){if(o||!0!==l.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?l[e]:e).apply(l,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),n=t[1]+l.eventNamespace,t=t[2];t?r.on(n,t,i):s.on(n,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(s,r){x.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||r:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&x.effects&&x.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){x(this)[s](),i&&i.call(e[0]),t()})}})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(function(){try{return require("moment")}catch(t){}}()):"function"==typeof define&&define.amd?define(["require"],function(t){return e(function(){try{return t("moment")}catch(t){}}())}):(t=t||self).Chart=e(t.moment)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e,n={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},i=(function(t){var e={};for(var i in n)n.hasOwnProperty(i)&&(e[n[i]]=i);var a=t.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var r in a)if(a.hasOwnProperty(r)){if(!("channels"in a[r]))throw new Error("missing channels property: "+r);if(!("labels"in a[r]))throw new Error("missing channel labels property: "+r);if(a[r].labels.length!==a[r].channels)throw new Error("channel and label counts mismatch: "+r);var o=a[r].channels,s=a[r].labels;delete a[r].channels,delete a[r].labels,Object.defineProperty(a[r],"channels",{value:o}),Object.defineProperty(a[r],"labels",{value:s})}a.rgb.hsl=function(t){var e,n,i=t[0]/255,a=t[1]/255,r=t[2]/255,o=Math.min(i,a,r),s=Math.max(i,a,r),l=s-o;return s===o?e=0:i===s?e=(a-r)/l:a===s?e=2+(r-i)/l:r===s&&(e=4+(i-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),n=(o+s)/2,[e,100*(s===o?0:n<=.5?l/(s+o):l/(2-s-o)),100*n]},a.rgb.hsv=function(t){var e,n,i,a,r,o=t[0]/255,s=t[1]/255,l=t[2]/255,u=Math.max(o,s,l),d=u-Math.min(o,s,l),h=function(t){return(u-t)/6/d+.5};return 0===d?a=r=0:(r=d/u,e=h(o),n=h(s),i=h(l),o===u?a=i-n:s===u?a=1/3+e-i:l===u&&(a=2/3+n-e),a<0?a+=1:a>1&&(a-=1)),[360*a,100*r,100*u]},a.rgb.hwb=function(t){var e=t[0],n=t[1],i=t[2];return[a.rgb.hsl(t)[0],100*(1/255*Math.min(e,Math.min(n,i))),100*(i=1-1/255*Math.max(e,Math.max(n,i)))]},a.rgb.cmyk=function(t){var e,n=t[0]/255,i=t[1]/255,a=t[2]/255;return[100*((1-n-(e=Math.min(1-n,1-i,1-a)))/(1-e)||0),100*((1-i-e)/(1-e)||0),100*((1-a-e)/(1-e)||0),100*e]},a.rgb.keyword=function(t){var i=e[t];if(i)return i;var a,r,o,s=1/0;for(var l in n)if(n.hasOwnProperty(l)){var u=n[l],d=(r=t,o=u,Math.pow(r[0]-o[0],2)+Math.pow(r[1]-o[1],2)+Math.pow(r[2]-o[2],2));d<s&&(s=d,a=l)}return a},a.keyword.rgb=function(t){return n[t]},a.rgb.xyz=function(t){var e=t[0]/255,n=t[1]/255,i=t[2]/255;return[100*(.4124*(e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]},a.rgb.lab=function(t){var e=a.rgb.xyz(t),n=e[0],i=e[1],r=e[2];return i/=100,r/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},a.hsl.rgb=function(t){var e,n,i,a,r,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[r=255*l,r,r];e=2*l-(n=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var u=0;u<3;u++)(i=o+1/3*-(u-1))<0&&i++,i>1&&i--,r=6*i<1?e+6*(n-e)*i:2*i<1?n:3*i<2?e+(n-e)*(2/3-i)*6:e,a[u]=255*r;return a},a.hsl.hsv=function(t){var e=t[0],n=t[1]/100,i=t[2]/100,a=n,r=Math.max(i,.01);return n*=(i*=2)<=1?i:2-i,a*=r<=1?r:2-r,[e,100*(0===i?2*a/(r+a):2*n/(i+n)),100*((i+n)/2)]},a.hsv.rgb=function(t){var e=t[0]/60,n=t[1]/100,i=t[2]/100,a=Math.floor(e)%6,r=e-Math.floor(e),o=255*i*(1-n),s=255*i*(1-n*r),l=255*i*(1-n*(1-r));switch(i*=255,a){case 0:return[i,l,o];case 1:return[s,i,o];case 2:return[o,i,l];case 3:return[o,s,i];case 4:return[l,o,i];case 5:return[i,o,s]}},a.hsv.hsl=function(t){var e,n,i,a=t[0],r=t[1]/100,o=t[2]/100,s=Math.max(o,.01);return i=(2-r)*o,n=r*s,[a,100*(n=(n/=(e=(2-r)*s)<=1?e:2-e)||0),100*(i/=2)]},a.hwb.rgb=function(t){var e,n,i,a,r,o,s,l=t[0]/360,u=t[1]/100,d=t[2]/100,h=u+d;switch(h>1&&(u/=h,d/=h),i=6*l-(e=Math.floor(6*l)),0!=(1&e)&&(i=1-i),a=u+i*((n=1-d)-u),e){default:case 6:case 0:r=n,o=a,s=u;break;case 1:r=a,o=n,s=u;break;case 2:r=u,o=n,s=a;break;case 3:r=u,o=a,s=n;break;case 4:r=a,o=u,s=n;break;case 5:r=n,o=u,s=a}return[255*r,255*o,255*s]},a.cmyk.rgb=function(t){var e=t[0]/100,n=t[1]/100,i=t[2]/100,a=t[3]/100;return[255*(1-Math.min(1,e*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a)),255*(1-Math.min(1,i*(1-a)+a))]},a.xyz.rgb=function(t){var e,n,i,a=t[0]/100,r=t[1]/100,o=t[2]/100;return n=-.9689*a+1.8758*r+.0415*o,i=.0557*a+-.204*r+1.057*o,e=(e=3.2406*a+-1.5372*r+-.4986*o)>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:12.92*i,[255*(e=Math.min(Math.max(0,e),1)),255*(n=Math.min(Math.max(0,n),1)),255*(i=Math.min(Math.max(0,i),1))]},a.xyz.lab=function(t){var e=t[0],n=t[1],i=t[2];return n/=100,i/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(e-n),200*(n-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},a.lab.xyz=function(t){var e,n,i,a=t[0];e=t[1]/500+(n=(a+16)/116),i=n-t[2]/200;var r=Math.pow(n,3),o=Math.pow(e,3),s=Math.pow(i,3);return n=r>.008856?r:(n-16/116)/7.787,e=o>.008856?o:(e-16/116)/7.787,i=s>.008856?s:(i-16/116)/7.787,[e*=95.047,n*=100,i*=108.883]},a.lab.lch=function(t){var e,n=t[0],i=t[1],a=t[2];return(e=360*Math.atan2(a,i)/2/Math.PI)<0&&(e+=360),[n,Math.sqrt(i*i+a*a),e]},a.lch.lab=function(t){var e,n=t[0],i=t[1];return e=t[2]/360*2*Math.PI,[n,i*Math.cos(e),i*Math.sin(e)]},a.rgb.ansi16=function(t){var e=t[0],n=t[1],i=t[2],r=1 in arguments?arguments[1]:a.rgb.hsv(t)[2];if(0===(r=Math.round(r/50)))return 30;var o=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(e/255));return 2===r&&(o+=60),o},a.hsv.ansi16=function(t){return a.rgb.ansi16(a.hsv.rgb(t),t[2])},a.rgb.ansi256=function(t){var e=t[0],n=t[1],i=t[2];return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},a.ansi16.rgb=function(t){var e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),[e=e/10.5*255,e,e];var n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},a.ansi256.rgb=function(t){if(t>=232){var e=10*(t-232)+8;return[e,e,e]}var n;return t-=16,[Math.floor(t/36)/5*255,Math.floor((n=t%36)/6)/5*255,n%6/5*255]},a.rgb.hex=function(t){var e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},a.hex.rgb=function(t){var e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];var n=e[0];3===e[0].length&&(n=n.split("").map(function(t){return t+t}).join(""));var i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},a.rgb.hcg=function(t){var e,n=t[0]/255,i=t[1]/255,a=t[2]/255,r=Math.max(Math.max(n,i),a),o=Math.min(Math.min(n,i),a),s=r-o;return e=s<=0?0:r===n?(i-a)/s%6:r===i?2+(a-n)/s:4+(n-i)/s+4,e/=6,[360*(e%=1),100*s,100*(s<1?o/(1-s):0)]},a.hsl.hcg=function(t){var e=t[1]/100,n=t[2]/100,i=1,a=0;return(i=n<.5?2*e*n:2*e*(1-n))<1&&(a=(n-.5*i)/(1-i)),[t[0],100*i,100*a]},a.hsv.hcg=function(t){var e=t[1]/100,n=t[2]/100,i=e*n,a=0;return i<1&&(a=(n-i)/(1-i)),[t[0],100*i,100*a]},a.hcg.rgb=function(t){var e=t[0]/360,n=t[1]/100,i=t[2]/100;if(0===n)return[255*i,255*i,255*i];var a,r=[0,0,0],o=e%1*6,s=o%1,l=1-s;switch(Math.floor(o)){case 0:r[0]=1,r[1]=s,r[2]=0;break;case 1:r[0]=l,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=s;break;case 3:r[0]=0,r[1]=l,r[2]=1;break;case 4:r[0]=s,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=l}return a=(1-n)*i,[255*(n*r[0]+a),255*(n*r[1]+a),255*(n*r[2]+a)]},a.hcg.hsv=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e),i=0;return n>0&&(i=e/n),[t[0],100*i,100*n]},a.hcg.hsl=function(t){var e=t[1]/100,n=t[2]/100*(1-e)+.5*e,i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],100*i,100*n]},a.hcg.hwb=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},a.hwb.hcg=function(t){var e=t[1]/100,n=1-t[2]/100,i=n-e,a=0;return i<1&&(a=(n-i)/(1-i)),[t[0],100*i,100*a]},a.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},a.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},a.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},a.gray.hsl=a.gray.hsv=function(t){return[0,0,t[0]]},a.gray.hwb=function(t){return[0,100,t[0]]},a.gray.cmyk=function(t){return[0,0,0,t[0]]},a.gray.lab=function(t){return[t[0],0,0]},a.gray.hex=function(t){var e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},a.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}}(e={exports:{}},e.exports),e.exports);i.rgb,i.hsl,i.hsv,i.hwb,i.cmyk,i.xyz,i.lab,i.lch,i.hex,i.keyword,i.ansi16,i.ansi256,i.hcg,i.apple,i.gray;function a(t){var e=function(){for(var t={},e=Object.keys(i),n=e.length,a=0;a<n;a++)t[e[a]]={distance:-1,parent:null};return t}(),n=[t];for(e[t].distance=0;n.length;)for(var a=n.pop(),r=Object.keys(i[a]),o=r.length,s=0;s<o;s++){var l=r[s],u=e[l];-1===u.distance&&(u.distance=e[a].distance+1,u.parent=a,n.unshift(l))}return e}function r(t,e){return function(n){return e(t(n))}}function o(t,e){for(var n=[e[t].parent,t],a=i[e[t].parent][t],o=e[t].parent;e[o].parent;)n.unshift(e[o].parent),a=r(i[e[o].parent][o],a),o=e[o].parent;return a.conversion=n,a}var s={};Object.keys(i).forEach(function(t){s[t]={},Object.defineProperty(s[t],"channels",{value:i[t].channels}),Object.defineProperty(s[t],"labels",{value:i[t].labels});var e=function(t){for(var e=a(t),n={},i=Object.keys(e),r=i.length,s=0;s<r;s++){var l=i[s];null!==e[l].parent&&(n[l]=o(l,e))}return n}(t);Object.keys(e).forEach(function(n){var i=e[n];s[t][n]=function(t){var e=function(e){if(null==e)return e;arguments.length>1&&(e=Array.prototype.slice.call(arguments));var n=t(e);if("object"==typeof n)for(var i=n.length,a=0;a<i;a++)n[a]=Math.round(n[a]);return n};return"conversion"in t&&(e.conversion=t.conversion),e}(i),s[t][n].raw=function(t){var e=function(e){return null==e?e:(arguments.length>1&&(e=Array.prototype.slice.call(arguments)),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(i)})});var l=s,u={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},d={getRgba:h,getHsla:c,getRgb:function(t){var e=h(t);return e&&e.slice(0,3)},getHsl:function(t){var e=c(t);return e&&e.slice(0,3)},getHwb:f,getAlpha:function(t){var e=h(t);if(e)return e[3];if(e=c(t))return e[3];if(e=f(t))return e[3]},hexString:function(t,e){var e=void 0!==e&&3===t.length?e:t[3];return"#"+b(t[0])+b(t[1])+b(t[2])+(e>=0&&e<1?b(Math.round(255*e)):"")},rgbString:function(t,e){if(e<1||t[3]&&t[3]<1)return g(t,e);return"rgb("+t[0]+", "+t[1]+", "+t[2]+")"},rgbaString:g,percentString:function(t,e){if(e<1||t[3]&&t[3]<1)return p(t,e);var n=Math.round(t[0]/255*100),i=Math.round(t[1]/255*100),a=Math.round(t[2]/255*100);return"rgb("+n+"%, "+i+"%, "+a+"%)"},percentaString:p,hslString:function(t,e){if(e<1||t[3]&&t[3]<1)return m(t,e);return"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)"},hslaString:m,hwbString:function(t,e){void 0===e&&(e=void 0!==t[3]?t[3]:1);return"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+(void 0!==e&&1!==e?", "+e:"")+")"},keyword:function(t){return x[t.slice(0,3)]}};function h(t){if(t){var e=[0,0,0],n=1,i=t.match(/^#([a-fA-F0-9]{3,4})$/i),a="";if(i){a=(i=i[1])[3];for(var r=0;r<e.length;r++)e[r]=parseInt(i[r]+i[r],16);a&&(n=Math.round(parseInt(a+a,16)/255*100)/100)}else if(i=t.match(/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i)){a=i[2],i=i[1];for(r=0;r<e.length;r++)e[r]=parseInt(i.slice(2*r,2*r+2),16);a&&(n=Math.round(parseInt(a,16)/255*100)/100)}else if(i=t.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(r=0;r<e.length;r++)e[r]=parseInt(i[r+1]);n=parseFloat(i[4])}else if(i=t.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(r=0;r<e.length;r++)e[r]=Math.round(2.55*parseFloat(i[r+1]));n=parseFloat(i[4])}else if(i=t.match(/(\w+)/)){if("transparent"==i[1])return[0,0,0,0];if(!(e=u[i[1]]))return}for(r=0;r<e.length;r++)e[r]=v(e[r],0,255);return n=n||0==n?v(n,0,1):1,e[3]=n,e}}function c(t){if(t){var e=t.match(/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(e){var n=parseFloat(e[4]);return[v(parseInt(e[1]),0,360),v(parseFloat(e[2]),0,100),v(parseFloat(e[3]),0,100),v(isNaN(n)?1:n,0,1)]}}}function f(t){if(t){var e=t.match(/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(e){var n=parseFloat(e[4]);return[v(parseInt(e[1]),0,360),v(parseFloat(e[2]),0,100),v(parseFloat(e[3]),0,100),v(isNaN(n)?1:n,0,1)]}}}function g(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"rgba("+t[0]+", "+t[1]+", "+t[2]+", "+e+")"}function p(t,e){return"rgba("+Math.round(t[0]/255*100)+"%, "+Math.round(t[1]/255*100)+"%, "+Math.round(t[2]/255*100)+"%, "+(e||t[3]||1)+")"}function m(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"hsla("+t[0]+", "+t[1]+"%, "+t[2]+"%, "+e+")"}function v(t,e,n){return Math.min(Math.max(e,t),n)}function b(t){var e=t.toString(16).toUpperCase();return e.length<2?"0"+e:e}var x={};for(var y in u)x[u[y]]=y;var _=function(t){return t instanceof _?t:this instanceof _?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void("string"==typeof t?(e=d.getRgba(t))?this.setValues("rgb",e):(e=d.getHsla(t))?this.setValues("hsl",e):(e=d.getHwb(t))&&this.setValues("hwb",e):"object"==typeof t&&(void 0!==(e=t).r||void 0!==e.red?this.setValues("rgb",e):void 0!==e.l||void 0!==e.lightness?this.setValues("hsl",e):void 0!==e.v||void 0!==e.value?this.setValues("hsv",e):void 0!==e.w||void 0!==e.whiteness?this.setValues("hwb",e):void 0===e.c&&void 0===e.cyan||this.setValues("cmyk",e)))):new _(t);var e};_.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var t=this.values;return 1!==t.alpha?t.hwb.concat([t.alpha]):t.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var t=this.values;return t.rgb.concat([t.alpha])},hslaArray:function(){var t=this.values;return t.hsl.concat([t.alpha])},alpha:function(t){return void 0===t?this.values.alpha:(this.setValues("alpha",t),this)},red:function(t){return this.setChannel("rgb",0,t)},green:function(t){return this.setChannel("rgb",1,t)},blue:function(t){return this.setChannel("rgb",2,t)},hue:function(t){return t&&(t=(t%=360)<0?360+t:t),this.setChannel("hsl",0,t)},saturation:function(t){return this.setChannel("hsl",1,t)},lightness:function(t){return this.setChannel("hsl",2,t)},saturationv:function(t){return this.setChannel("hsv",1,t)},whiteness:function(t){return this.setChannel("hwb",1,t)},blackness:function(t){return this.setChannel("hwb",2,t)},value:function(t){return this.setChannel("hsv",2,t)},cyan:function(t){return this.setChannel("cmyk",0,t)},magenta:function(t){return this.setChannel("cmyk",1,t)},yellow:function(t){return this.setChannel("cmyk",2,t)},black:function(t){return this.setChannel("cmyk",3,t)},hexString:function(){return d.hexString(this.values.rgb)},rgbString:function(){return d.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return d.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return d.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return d.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return d.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return d.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return d.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var t=this.values.rgb;return t[0]<<16|t[1]<<8|t[2]},luminosity:function(){for(var t=this.values.rgb,e=[],n=0;n<t.length;n++){var i=t[n]/255;e[n]=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)}return.2126*e[0]+.7152*e[1]+.0722*e[2]},contrast:function(t){var e=this.luminosity(),n=t.luminosity();return e>n?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,n=(e[0]+t)%360;return e[0]=n<0?360+n:n,this.setValues("hsl",e),this},mix:function(t,e){var n=t,i=void 0===e?.5:e,a=2*i-1,r=this.alpha()-n.alpha(),o=((a*r==-1?a:(a+r)/(1+a*r))+1)/2,s=1-o;return this.rgb(o*this.red()+s*n.red(),o*this.green()+s*n.green(),o*this.blue()+s*n.blue()).alpha(this.alpha()*i+n.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var t,e,n=new _,i=this.values,a=n.values;for(var r in i)i.hasOwnProperty(r)&&(t=i[r],"[object Array]"===(e={}.toString.call(t))?a[r]=t.slice(0):"[object Number]"===e?a[r]=t:console.error("unexpected color value:",t));return n}},_.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},_.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},_.prototype.getValues=function(t){for(var e=this.values,n={},i=0;i<t.length;i++)n[t.charAt(i)]=e[t][i];return 1!==e.alpha&&(n.a=e.alpha),n},_.prototype.setValues=function(t,e){var n,i,a=this.values,r=this.spaces,o=this.maxes,s=1;if(this.valid=!0,"alpha"===t)s=e;else if(e.length)a[t]=e.slice(0,t.length),s=e[t.length];else if(void 0!==e[t.charAt(0)]){for(n=0;n<t.length;n++)a[t][n]=e[t.charAt(n)];s=e.a}else if(void 0!==e[r[t][0]]){var u=r[t];for(n=0;n<t.length;n++)a[t][n]=e[u[n]];s=e.alpha}if(a.alpha=Math.max(0,Math.min(1,void 0===s?a.alpha:s)),"alpha"===t)return!1;for(n=0;n<t.length;n++)i=Math.max(0,Math.min(o[t][n],a[t][n])),a[t][n]=Math.round(i);for(var d in r)d!==t&&(a[d]=l[t][d](a[t]));return!0},_.prototype.setSpace=function(t,e){var n=e[0];return void 0===n?this.getValues(t):("number"==typeof n&&(n=Array.prototype.slice.call(e)),this.setValues(t,n),this)},_.prototype.setChannel=function(t,e,n){var i=this.values[t];return void 0===n?i[e]:n===i[e]?this:(i[e]=n,this.setValues(t,i),this)},"undefined"!=typeof window&&(window.Color=_);var k,w=_,M={noop:function(){},uid:(k=0,function(){return k++}),isNullOrUndef:function(t){return null==t},isArray:function(t){if(Array.isArray&&Array.isArray(t))return!0;var e=Object.prototype.toString.call(t);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)},isObject:function(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)},isFinite:function(t){return("number"==typeof t||t instanceof Number)&&isFinite(t)},valueOrDefault:function(t,e){return void 0===t?e:t},valueAtIndexOrDefault:function(t,e,n){return M.valueOrDefault(M.isArray(t)?t[e]:t,n)},callback:function(t,e,n){if(t&&"function"==typeof t.call)return t.apply(n,e)},each:function(t,e,n,i){var a,r,o;if(M.isArray(t))if(r=t.length,i)for(a=r-1;a>=0;a--)e.call(n,t[a],a);else for(a=0;a<r;a++)e.call(n,t[a],a);else if(M.isObject(t))for(r=(o=Object.keys(t)).length,a=0;a<r;a++)e.call(n,t[o[a]],o[a])},arrayEquals:function(t,e){var n,i,a,r;if(!t||!e||t.length!==e.length)return!1;for(n=0,i=t.length;n<i;++n)if(a=t[n],r=e[n],a instanceof Array&&r instanceof Array){if(!M.arrayEquals(a,r))return!1}else if(a!==r)return!1;return!0},clone:function(t){if(M.isArray(t))return t.map(M.clone);if(M.isObject(t)){for(var e={},n=Object.keys(t),i=n.length,a=0;a<i;++a)e[n[a]]=M.clone(t[n[a]]);return e}return t},_merger:function(t,e,n,i){var a=e[t],r=n[t];M.isObject(a)&&M.isObject(r)?M.merge(a,r,i):e[t]=M.clone(r)},_mergerIf:function(t,e,n){var i=e[t],a=n[t];M.isObject(i)&&M.isObject(a)?M.mergeIf(i,a):e.hasOwnProperty(t)||(e[t]=M.clone(a))},merge:function(t,e,n){var i,a,r,o,s,l=M.isArray(e)?e:[e],u=l.length;if(!M.isObject(t))return t;for(i=(n=n||{}).merger||M._merger,a=0;a<u;++a)if(e=l[a],M.isObject(e))for(s=0,o=(r=Object.keys(e)).length;s<o;++s)i(r[s],t,e,n);return t},mergeIf:function(t,e){return M.merge(t,e,{merger:M._mergerIf})},extend:Object.assign||function(t){return M.merge(t,[].slice.call(arguments,1),{merger:function(t,e,n){e[t]=n[t]}})},inherits:function(t){var e=this,n=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},i=function(){this.constructor=n};return i.prototype=e.prototype,n.prototype=new i,n.extend=M.inherits,t&&M.extend(n.prototype,t),n.__super__=e.prototype,n},_deprecated:function(t,e,n,i){void 0!==e&&console.warn(t+': "'+n+'" is deprecated. Please use "'+i+'" instead')}},S=M;M.callCallback=M.callback,M.indexOf=function(t,e,n){return Array.prototype.indexOf.call(t,e,n)},M.getValueOrDefault=M.valueOrDefault,M.getValueAtIndexOrDefault=M.valueAtIndexOrDefault;var C={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return(t-=1)*t*t+1},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-((t-=1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return(t-=1)*t*t*t*t+1},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return 1-Math.cos(t*(Math.PI/2))},easeOutSine:function(t){return Math.sin(t*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t)-1)},easeInExpo:function(t){return 0===t?0:Math.pow(2,10*(t-1))},easeOutExpo:function(t){return 1===t?1:1-Math.pow(2,-10*t)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*--t))},easeInCirc:function(t){return t>=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n))},easeOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:2==(t/=.5)?1:(n||(n=.45),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),t<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-C.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*C.easeInBounce(2*t):.5*C.easeOutBounce(2*t-1)+.5}},P={effects:C};S.easingEffects=C;var A=Math.PI,D=A/180,T=2*A,I=A/2,F=A/4,O=2*A/3,L={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,n,i,a,r){if(r){var o=Math.min(r,a/2,i/2),s=e+o,l=n+o,u=e+i-o,d=n+a-o;t.moveTo(e,l),s<u&&l<d?(t.arc(s,l,o,-A,-I),t.arc(u,l,o,-I,0),t.arc(u,d,o,0,I),t.arc(s,d,o,I,A)):s<u?(t.moveTo(s,n),t.arc(u,l,o,-I,I),t.arc(s,l,o,I,A+I)):l<d?(t.arc(s,l,o,-A,0),t.arc(s,d,o,0,A)):t.arc(s,l,o,-A,A),t.closePath(),t.moveTo(e,n)}else t.rect(e,n,i,a)},drawPoint:function(t,e,n,i,a,r){var o,s,l,u,d,h=(r||0)*D;if(e&&"object"==typeof e&&("[object HTMLImageElement]"===(o=e.toString())||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(i,a),t.rotate(h),t.drawImage(e,-e.width/2,-e.height/2,e.width,e.height),void t.restore();if(!(isNaN(n)||n<=0)){switch(t.beginPath(),e){default:t.arc(i,a,n,0,T),t.closePath();break;case"triangle":t.moveTo(i+Math.sin(h)*n,a-Math.cos(h)*n),h+=O,t.lineTo(i+Math.sin(h)*n,a-Math.cos(h)*n),h+=O,t.lineTo(i+Math.sin(h)*n,a-Math.cos(h)*n),t.closePath();break;case"rectRounded":u=n-(d=.516*n),s=Math.cos(h+F)*u,l=Math.sin(h+F)*u,t.arc(i-s,a-l,d,h-A,h-I),t.arc(i+l,a-s,d,h-I,h),t.arc(i+s,a+l,d,h,h+I),t.arc(i-l,a+s,d,h+I,h+A),t.closePath();break;case"rect":if(!r){u=Math.SQRT1_2*n,t.rect(i-u,a-u,2*u,2*u);break}h+=F;case"rectRot":s=Math.cos(h)*n,l=Math.sin(h)*n,t.moveTo(i-s,a-l),t.lineTo(i+l,a-s),t.lineTo(i+s,a+l),t.lineTo(i-l,a+s),t.closePath();break;case"crossRot":h+=F;case"cross":s=Math.cos(h)*n,l=Math.sin(h)*n,t.moveTo(i-s,a-l),t.lineTo(i+s,a+l),t.moveTo(i+l,a-s),t.lineTo(i-l,a+s);break;case"star":s=Math.cos(h)*n,l=Math.sin(h)*n,t.moveTo(i-s,a-l),t.lineTo(i+s,a+l),t.moveTo(i+l,a-s),t.lineTo(i-l,a+s),h+=F,s=Math.cos(h)*n,l=Math.sin(h)*n,t.moveTo(i-s,a-l),t.lineTo(i+s,a+l),t.moveTo(i+l,a-s),t.lineTo(i-l,a+s);break;case"line":s=Math.cos(h)*n,l=Math.sin(h)*n,t.moveTo(i-s,a-l),t.lineTo(i+s,a+l);break;case"dash":t.moveTo(i,a),t.lineTo(i+Math.cos(h)*n,a+Math.sin(h)*n)}t.fill(),t.stroke()}},_isPointInArea:function(t,e){return t.x>e.left-1e-6&&t.x<e.right+1e-6&&t.y>e.top-1e-6&&t.y<e.bottom+1e-6},clipArea:function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},unclipArea:function(t){t.restore()},lineTo:function(t,e,n,i){var a=n.steppedLine;if(a){if("middle"===a){var r=(e.x+n.x)/2;t.lineTo(r,i?n.y:e.y),t.lineTo(r,i?e.y:n.y)}else"after"===a&&!i||"after"!==a&&i?t.lineTo(e.x,n.y):t.lineTo(n.x,e.y);t.lineTo(n.x,n.y)}else n.tension?t.bezierCurveTo(i?e.controlPointPreviousX:e.controlPointNextX,i?e.controlPointPreviousY:e.controlPointNextY,i?n.controlPointNextX:n.controlPointPreviousX,i?n.controlPointNextY:n.controlPointPreviousY,n.x,n.y):t.lineTo(n.x,n.y)}},R=L;S.clear=L.clear,S.drawRoundedRectangle=function(t){t.beginPath(),L.roundedRect.apply(L,arguments)};var z={_set:function(t,e){return S.merge(this[t]||(this[t]={}),e)}};z._set("global",{defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",defaultLineHeight:1.2,showLines:!0});var N=z,B=S.valueOrDefault;var E={toLineHeight:function(t,e){var n=(""+t).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!n||"normal"===n[1])return 1.2*e;switch(t=+n[2],n[3]){case"px":return t;case"%":t/=100}return e*t},toPadding:function(t){var e,n,i,a;return S.isObject(t)?(e=+t.top||0,n=+t.right||0,i=+t.bottom||0,a=+t.left||0):e=n=i=a=+t||0,{top:e,right:n,bottom:i,left:a,height:e+i,width:a+n}},_parseFont:function(t){var e=N.global,n=B(t.fontSize,e.defaultFontSize),i={family:B(t.fontFamily,e.defaultFontFamily),lineHeight:S.options.toLineHeight(B(t.lineHeight,e.defaultLineHeight),n),size:n,style:B(t.fontStyle,e.defaultFontStyle),weight:null,string:""};return i.string=function(t){return!t||S.isNullOrUndef(t.size)||S.isNullOrUndef(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(i),i},resolve:function(t,e,n,i){var a,r,o,s=!0;for(a=0,r=t.length;a<r;++a)if(void 0!==(o=t[a])&&(void 0!==e&&"function"==typeof o&&(o=o(e),s=!1),void 0!==n&&S.isArray(o)&&(o=o[n],s=!1),void 0!==o))return i&&!s&&(i.cacheable=!1),o}},W={_factorize:function(t){var e,n=[],i=Math.sqrt(t);for(e=1;e<i;e++)t%e==0&&(n.push(e),n.push(t/e));return i===(0|i)&&n.push(i),n.sort(function(t,e){return t-e}).pop(),n},log10:Math.log10||function(t){var e=Math.log(t)*Math.LOG10E,n=Math.round(e);return t===Math.pow(10,n)?n:e}},V=W;S.log10=W.log10;var H=S,j=P,q=R,U=E,Y=V,G={getRtlAdapter:function(t,e,n){return t?function(t,e){return{x:function(n){return t+t+e-n},setWidth:function(t){e=t},textAlign:function(t){return"center"===t?t:"right"===t?"left":"right"},xPlus:function(t,e){return t-e},leftForLtr:function(t,e){return t-e}}}(e,n):{x:function(t){return t},setWidth:function(t){},textAlign:function(t){return t},xPlus:function(t,e){return t+e},leftForLtr:function(t,e){return t}}},overrideTextDirection:function(t,e){var n,i;"ltr"!==e&&"rtl"!==e||(i=[(n=t.canvas.style).getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",e,"important"),t.prevTextDirection=i)},restoreTextDirection:function(t){var e=t.prevTextDirection;void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}};H.easing=j,H.canvas=q,H.options=U,H.math=Y,H.rtl=G;var X=function(t){H.extend(this,t),this.initialize.apply(this,arguments)};H.extend(X.prototype,{_type:void 0,initialize:function(){this.hidden=!1},pivot:function(){var t=this;return t._view||(t._view=H.extend({},t._model)),t._start={},t},transition:function(t){var e=this,n=e._model,i=e._start,a=e._view;return n&&1!==t?(a||(a=e._view={}),i||(i=e._start={}),function(t,e,n,i){var a,r,o,s,l,u,d,h,c,f=Object.keys(n);for(a=0,r=f.length;a<r;++a)if(u=n[o=f[a]],e.hasOwnProperty(o)||(e[o]=u),(s=e[o])!==u&&"_"!==o[0]){if(t.hasOwnProperty(o)||(t[o]=s),(d=typeof u)==typeof(l=t[o]))if("string"===d){if((h=w(l)).valid&&(c=w(u)).valid){e[o]=c.mix(h,i).rgbString();continue}}else if(H.isFinite(l)&&H.isFinite(u)){e[o]=l+(u-l)*i;continue}e[o]=u}}(i,a,n,t),e):(e._view=H.extend({},n),e._start=null,e)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return H.isNumber(this._model.x)&&H.isNumber(this._model.y)}}),X.extend=H.inherits;var K=X,Z=K.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),$=Z;Object.defineProperty(Z.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(Z.prototype,"chartInstance",{get:function(){return this.chart},set:function(t){this.chart=t}}),N._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:H.noop,onComplete:H.noop}});var J={animations:[],request:null,addAnimation:function(t,e,n,i){var a,r,o=this.animations;for(e.chart=t,e.startTime=Date.now(),e.duration=n,i||(t.animating=!0),a=0,r=o.length;a<r;++a)if(o[a].chart===t)return void(o[a]=e);o.push(e),1===o.length&&this.requestAnimationFrame()},cancelAnimation:function(t){var e=H.findIndex(this.animations,function(e){return e.chart===t});-1!==e&&(this.animations.splice(e,1),t.animating=!1)},requestAnimationFrame:function(){var t=this;null===t.request&&(t.request=H.requestAnimFrame.call(window,function(){t.request=null,t.startDigest()}))},startDigest:function(){this.advance(),this.animations.length>0&&this.requestAnimationFrame()},advance:function(){for(var t,e,n,i,a=this.animations,r=0;r<a.length;)e=(t=a[r]).chart,n=t.numSteps,i=Math.floor((Date.now()-t.startTime)/t.duration*n)+1,t.currentStep=Math.min(i,n),H.callback(t.render,[e,t],e),H.callback(t.onAnimationProgress,[t],e),t.currentStep>=n?(H.callback(t.onAnimationComplete,[t],e),e.animating=!1,a.splice(r,1)):++r}},Q=H.options.resolve,tt=["push","pop","shift","splice","unshift"];function et(t,e){var n=t._chartjs;if(n){var i=n.listeners,a=i.indexOf(e);-1!==a&&i.splice(a,1),i.length>0||(tt.forEach(function(e){delete t[e]}),delete t._chartjs)}}var nt=function(t,e){this.initialize(t,e)};H.extend(nt.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(t,e){var n=this;n.chart=t,n.index=e,n.linkScales(),n.addElements(),n._type=n.getMeta().type},updateIndex:function(t){this.index=t},linkScales:function(){var t=this.getMeta(),e=this.chart,n=e.scales,i=this.getDataset(),a=e.options.scales;null!==t.xAxisID&&t.xAxisID in n&&!i.xAxisID||(t.xAxisID=i.xAxisID||a.xAxes[0].id),null!==t.yAxisID&&t.yAxisID in n&&!i.yAxisID||(t.yAxisID=i.yAxisID||a.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&et(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,n=this.getMeta(),i=this.getDataset().data||[],a=n.data;for(t=0,e=i.length;t<e;++t)a[t]=a[t]||this.createMetaData(t);n.dataset=n.dataset||this.createMetaDataset()},addElementAndReset:function(t){var e=this.createMetaData(t);this.getMeta().data.splice(t,0,e),this.updateElement(e,t,!0)},buildOrUpdateElements:function(){var t,e,n=this,i=n.getDataset(),a=i.data||(i.data=[]);n._data!==a&&(n._data&&et(n._data,n),a&&Object.isExtensible(a)&&(e=n,(t=a)._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),tt.forEach(function(e){var n="onData"+e.charAt(0).toUpperCase()+e.slice(1),i=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:function(){var e=Array.prototype.slice.call(arguments),a=i.apply(this,e);return H.each(t._chartjs.listeners,function(t){"function"==typeof t[n]&&t[n].apply(t,e)}),a}})}))),n._data=a),n.resyncElements()},_configure:function(){this._config=H.merge({},[this.chart.options.datasets[this._type],this.getDataset()],{merger:function(t,e,n){"_meta"!==t&&"data"!==t&&H._merger(t,e,n)}})},_update:function(t){this._configure(),this._cachedDataOpts=null,this.update(t)},update:H.noop,transition:function(t){for(var e=this.getMeta(),n=e.data||[],i=n.length,a=0;a<i;++a)n[a].transition(t);e.dataset&&e.dataset.transition(t)},draw:function(){var t=this.getMeta(),e=t.data||[],n=e.length,i=0;for(t.dataset&&t.dataset.draw();i<n;++i)e[i].draw()},getStyle:function(t){var e,n=this.getMeta(),i=n.dataset;return this._configure(),i&&void 0===t?e=this._resolveDatasetElementOptions(i||{}):(t=t||0,e=this._resolveDataElementOptions(n.data[t]||{},t)),!1!==e.fill&&null!==e.fill||(e.backgroundColor=e.borderColor),e},_resolveDatasetElementOptions:function(t,e){var n,i,a,r,o=this,s=o.chart,l=o._config,u=t.custom||{},d=s.options.elements[o.datasetElementType.prototype._type]||{},h=o._datasetElementOptions,c={},f={chart:s,dataset:o.getDataset(),datasetIndex:o.index,hover:e};for(n=0,i=h.length;n<i;++n)a=h[n],r=e?"hover"+a.charAt(0).toUpperCase()+a.slice(1):a,c[a]=Q([u[r],l[r],d[r]],f);return c},_resolveDataElementOptions:function(t,e){var n=this,i=t&&t.custom,a=n._cachedDataOpts;if(a&&!i)return a;var r,o,s,l,u=n.chart,d=n._config,h=u.options.elements[n.dataElementType.prototype._type]||{},c=n._dataElementOptions,f={},g={chart:u,dataIndex:e,dataset:n.getDataset(),datasetIndex:n.index},p={cacheable:!i};if(i=i||{},H.isArray(c))for(o=0,s=c.length;o<s;++o)f[l=c[o]]=Q([i[l],d[l],h[l]],g,e,p);else for(o=0,s=(r=Object.keys(c)).length;o<s;++o)f[l=r[o]]=Q([i[l],d[c[l]],d[l],h[l]],g,e,p);return p.cacheable&&(n._cachedDataOpts=Object.freeze(f)),f},removeHoverStyle:function(t){H.merge(t._model,t.$previousStyle||{}),delete t.$previousStyle},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t._index,i=t.custom||{},a=t._model,r=H.getHoverColor;t.$previousStyle={backgroundColor:a.backgroundColor,borderColor:a.borderColor,borderWidth:a.borderWidth},a.backgroundColor=Q([i.hoverBackgroundColor,e.hoverBackgroundColor,r(a.backgroundColor)],void 0,n),a.borderColor=Q([i.hoverBorderColor,e.hoverBorderColor,r(a.borderColor)],void 0,n),a.borderWidth=Q([i.hoverBorderWidth,e.hoverBorderWidth,a.borderWidth],void 0,n)},_removeDatasetHoverStyle:function(){var t=this.getMeta().dataset;t&&this.removeHoverStyle(t)},_setDatasetHoverStyle:function(){var t,e,n,i,a,r,o=this.getMeta().dataset,s={};if(o){for(r=o._model,a=this._resolveDatasetElementOptions(o,!0),t=0,e=(i=Object.keys(a)).length;t<e;++t)s[n=i[t]]=r[n],r[n]=a[n];o.$previousStyle=s}},resyncElements:function(){var t=this.getMeta(),e=this.getDataset().data,n=t.data.length,i=e.length;i<n?t.data.splice(i,n-i):i>n&&this.insertElements(n,i-n)},insertElements:function(t,e){for(var n=0;n<e;++n)this.addElementAndReset(t+n)},onDataPush:function(){var t=arguments.length;this.insertElements(this.getDataset().data.length-t,t)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(t,e){this.getMeta().data.splice(t,e),this.insertElements(t,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),nt.extend=H.inherits;var it=nt,at=2*Math.PI;function rt(t,e){var n=e.startAngle,i=e.endAngle,a=e.pixelMargin,r=a/e.outerRadius,o=e.x,s=e.y;t.beginPath(),t.arc(o,s,e.outerRadius,n-r,i+r),e.innerRadius>a?(r=a/e.innerRadius,t.arc(o,s,e.innerRadius-a,i+r,n-r,!0)):t.arc(o,s,a,i+Math.PI/2,n-Math.PI/2),t.closePath(),t.clip()}function ot(t,e,n){var i="inner"===e.borderAlign;i?(t.lineWidth=2*e.borderWidth,t.lineJoin="round"):(t.lineWidth=e.borderWidth,t.lineJoin="bevel"),n.fullCircles&&function(t,e,n,i){var a,r=n.endAngle;for(i&&(n.endAngle=n.startAngle+at,rt(t,n),n.endAngle=r,n.endAngle===n.startAngle&&n.fullCircles&&(n.endAngle+=at,n.fullCircles--)),t.beginPath(),t.arc(n.x,n.y,n.innerRadius,n.startAngle+at,n.startAngle,!0),a=0;a<n.fullCircles;++a)t.stroke();for(t.beginPath(),t.arc(n.x,n.y,e.outerRadius,n.startAngle,n.startAngle+at),a=0;a<n.fullCircles;++a)t.stroke()}(t,e,n,i),i&&rt(t,n),t.beginPath(),t.arc(n.x,n.y,e.outerRadius,n.startAngle,n.endAngle),t.arc(n.x,n.y,n.innerRadius,n.endAngle,n.startAngle,!0),t.closePath(),t.stroke()}N._set("global",{elements:{arc:{backgroundColor:N.global.defaultColor,borderColor:"#fff",borderWidth:2,borderAlign:"center"}}});var st=K.extend({_type:"arc",inLabelRange:function(t){var e=this._view;return!!e&&Math.pow(t-e.x,2)<Math.pow(e.radius+e.hoverRadius,2)},inRange:function(t,e){var n=this._view;if(n){for(var i=H.getAngleFromPoint(n,{x:t,y:e}),a=i.angle,r=i.distance,o=n.startAngle,s=n.endAngle;s<o;)s+=at;for(;a>s;)a-=at;for(;a<o;)a+=at;var l=a>=o&&a<=s,u=r>=n.innerRadius&&r<=n.outerRadius;return l&&u}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,n=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,n=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},draw:function(){var t,e=this._chart.ctx,n=this._view,i="inner"===n.borderAlign?.33:0,a={x:n.x,y:n.y,innerRadius:n.innerRadius,outerRadius:Math.max(n.outerRadius-i,0),pixelMargin:i,startAngle:n.startAngle,endAngle:n.endAngle,fullCircles:Math.floor(n.circumference/at)};if(e.save(),e.fillStyle=n.backgroundColor,e.strokeStyle=n.borderColor,a.fullCircles){for(a.endAngle=a.startAngle+at,e.beginPath(),e.arc(a.x,a.y,a.outerRadius,a.startAngle,a.endAngle),e.arc(a.x,a.y,a.innerRadius,a.endAngle,a.startAngle,!0),e.closePath(),t=0;t<a.fullCircles;++t)e.fill();a.endAngle=a.startAngle+n.circumference%at}e.beginPath(),e.arc(a.x,a.y,a.outerRadius,a.startAngle,a.endAngle),e.arc(a.x,a.y,a.innerRadius,a.endAngle,a.startAngle,!0),e.closePath(),e.fill(),n.borderWidth&&ot(e,n,a),e.restore()}}),lt=H.valueOrDefault,ut=N.global.defaultColor;N._set("global",{elements:{line:{tension:.4,backgroundColor:ut,borderWidth:3,borderColor:ut,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}});var dt=K.extend({_type:"line",draw:function(){var t,e,n,i=this,a=i._view,r=i._chart.ctx,o=a.spanGaps,s=i._children.slice(),l=N.global,u=l.elements.line,d=-1,h=i._loop;if(s.length){if(i._loop){for(t=0;t<s.length;++t)if(e=H.previousItem(s,t),!s[t]._view.skip&&e._view.skip){s=s.slice(t).concat(s.slice(0,t)),h=o;break}h&&s.push(s[0])}for(r.save(),r.lineCap=a.borderCapStyle||u.borderCapStyle,r.setLineDash&&r.setLineDash(a.borderDash||u.borderDash),r.lineDashOffset=lt(a.borderDashOffset,u.borderDashOffset),r.lineJoin=a.borderJoinStyle||u.borderJoinStyle,r.lineWidth=lt(a.borderWidth,u.borderWidth),r.strokeStyle=a.borderColor||l.defaultColor,r.beginPath(),(n=s[0]._view).skip||(r.moveTo(n.x,n.y),d=0),t=1;t<s.length;++t)n=s[t]._view,e=-1===d?H.previousItem(s,t):s[d],n.skip||(d!==t-1&&!o||-1===d?r.moveTo(n.x,n.y):H.canvas.lineTo(r,e._view,n),d=t);h&&r.closePath(),r.stroke(),r.restore()}}}),ht=H.valueOrDefault,ct=N.global.defaultColor;function ft(t){var e=this._view;return!!e&&Math.abs(t-e.x)<e.radius+e.hitRadius}N._set("global",{elements:{point:{radius:3,pointStyle:"circle",backgroundColor:ct,borderColor:ct,borderWidth:1,hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}});var gt=K.extend({_type:"point",inRange:function(t,e){var n=this._view;return!!n&&Math.pow(t-n.x,2)+Math.pow(e-n.y,2)<Math.pow(n.hitRadius+n.radius,2)},inLabelRange:ft,inXRange:ft,inYRange:function(t){var e=this._view;return!!e&&Math.abs(t-e.y)<e.radius+e.hitRadius},getCenterPoint:function(){var t=this._view;return{x:t.x,y:t.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y,padding:t.radius+t.borderWidth}},draw:function(t){var e=this._view,n=this._chart.ctx,i=e.pointStyle,a=e.rotation,r=e.radius,o=e.x,s=e.y,l=N.global,u=l.defaultColor;e.skip||(void 0===t||H.canvas._isPointInArea(e,t))&&(n.strokeStyle=e.borderColor||u,n.lineWidth=ht(e.borderWidth,l.elements.point.borderWidth),n.fillStyle=e.backgroundColor||u,H.canvas.drawPoint(n,i,r,o,s,a))}}),pt=N.global.defaultColor;function mt(t){return t&&void 0!==t.width}function vt(t){var e,n,i,a,r;return mt(t)?(r=t.width/2,e=t.x-r,n=t.x+r,i=Math.min(t.y,t.base),a=Math.max(t.y,t.base)):(r=t.height/2,e=Math.min(t.x,t.base),n=Math.max(t.x,t.base),i=t.y-r,a=t.y+r),{left:e,top:i,right:n,bottom:a}}function bt(t,e,n){return t===e?n:t===n?e:t}function xt(t,e,n){var i,a,r,o,s=t.borderWidth,l=function(t){var e=t.borderSkipped,n={};return e?(t.horizontal?t.base>t.x&&(e=bt(e,"left","right")):t.base<t.y&&(e=bt(e,"bottom","top")),n[e]=!0,n):n}(t);return H.isObject(s)?(i=+s.top||0,a=+s.right||0,r=+s.bottom||0,o=+s.left||0):i=a=r=o=+s||0,{t:l.top||i<0?0:i>n?n:i,r:l.right||a<0?0:a>e?e:a,b:l.bottom||r<0?0:r>n?n:r,l:l.left||o<0?0:o>e?e:o}}function yt(t,e,n){var i=null===e,a=null===n,r=!(!t||i&&a)&&vt(t);return r&&(i||e>=r.left&&e<=r.right)&&(a||n>=r.top&&n<=r.bottom)}N._set("global",{elements:{rectangle:{backgroundColor:pt,borderColor:pt,borderSkipped:"bottom",borderWidth:0}}});var _t=K.extend({_type:"rectangle",draw:function(){var t=this._chart.ctx,e=this._view,n=function(t){var e=vt(t),n=e.right-e.left,i=e.bottom-e.top,a=xt(t,n/2,i/2);return{outer:{x:e.left,y:e.top,w:n,h:i},inner:{x:e.left+a.l,y:e.top+a.t,w:n-a.l-a.r,h:i-a.t-a.b}}}(e),i=n.outer,a=n.inner;t.fillStyle=e.backgroundColor,t.fillRect(i.x,i.y,i.w,i.h),i.w===a.w&&i.h===a.h||(t.save(),t.beginPath(),t.rect(i.x,i.y,i.w,i.h),t.clip(),t.fillStyle=e.borderColor,t.rect(a.x,a.y,a.w,a.h),t.fill("evenodd"),t.restore())},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){return yt(this._view,t,e)},inLabelRange:function(t,e){var n=this._view;return mt(n)?yt(n,t,null):yt(n,null,e)},inXRange:function(t){return yt(this._view,t,null)},inYRange:function(t){return yt(this._view,null,t)},getCenterPoint:function(){var t,e,n=this._view;return mt(n)?(t=n.x,e=(n.y+n.base)/2):(t=(n.x+n.base)/2,e=n.y),{x:t,y:e}},getArea:function(){var t=this._view;return mt(t)?t.width*Math.abs(t.y-t.base):t.height*Math.abs(t.x-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}}),kt={},wt=st,Mt=dt,St=gt,Ct=_t;kt.Arc=wt,kt.Line=Mt,kt.Point=St,kt.Rectangle=Ct;var Pt=H._deprecated,At=H.valueOrDefault;function Dt(t,e,n){var i,a,r=n.barThickness,o=e.stackCount,s=e.pixels[t],l=H.isNullOrUndef(r)?function(t,e){var n,i,a,r,o=t._length;for(a=1,r=e.length;a<r;++a)o=Math.min(o,Math.abs(e[a]-e[a-1]));for(a=0,r=t.getTicks().length;a<r;++a)i=t.getPixelForTick(a),o=a>0?Math.min(o,Math.abs(i-n)):o,n=i;return o}(e.scale,e.pixels):-1;return H.isNullOrUndef(r)?(i=l*n.categoryPercentage,a=n.barPercentage):(i=r*o,a=1),{chunk:i/o,ratio:a,start:s-i/2}}N._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),N._set("global",{datasets:{bar:{categoryPercentage:.8,barPercentage:.9}}});var Tt=it.extend({dataElementType:kt.Rectangle,_dataElementOptions:["backgroundColor","borderColor","borderSkipped","borderWidth","barPercentage","barThickness","categoryPercentage","maxBarThickness","minBarLength"],initialize:function(){var t,e,n=this;it.prototype.initialize.apply(n,arguments),(t=n.getMeta()).stack=n.getDataset().stack,t.bar=!0,e=n._getIndexScale().options,Pt("bar chart",e.barPercentage,"scales.[x/y]Axes.barPercentage","dataset.barPercentage"),Pt("bar chart",e.barThickness,"scales.[x/y]Axes.barThickness","dataset.barThickness"),Pt("bar chart",e.categoryPercentage,"scales.[x/y]Axes.categoryPercentage","dataset.categoryPercentage"),Pt("bar chart",n._getValueScale().options.minBarLength,"scales.[x/y]Axes.minBarLength","dataset.minBarLength"),Pt("bar chart",e.maxBarThickness,"scales.[x/y]Axes.maxBarThickness","dataset.maxBarThickness")},update:function(t){var e,n,i=this.getMeta().data;for(this._ruler=this.getRuler(),e=0,n=i.length;e<n;++e)this.updateElement(i[e],e,t)},updateElement:function(t,e,n){var i=this,a=i.getMeta(),r=i.getDataset(),o=i._resolveDataElementOptions(t,e);t._xScale=i.getScaleForId(a.xAxisID),t._yScale=i.getScaleForId(a.yAxisID),t._datasetIndex=i.index,t._index=e,t._model={backgroundColor:o.backgroundColor,borderColor:o.borderColor,borderSkipped:o.borderSkipped,borderWidth:o.borderWidth,datasetLabel:r.label,label:i.chart.data.labels[e]},H.isArray(r.data[e])&&(t._model.borderSkipped=null),i._updateElementGeometry(t,e,n,o),t.pivot()},_updateElementGeometry:function(t,e,n,i){var a=this,r=t._model,o=a._getValueScale(),s=o.getBasePixel(),l=o.isHorizontal(),u=a._ruler||a.getRuler(),d=a.calculateBarValuePixels(a.index,e,i),h=a.calculateBarIndexPixels(a.index,e,u,i);r.horizontal=l,r.base=n?s:d.base,r.x=l?n?s:d.head:h.center,r.y=l?h.center:n?s:d.head,r.height=l?h.size:void 0,r.width=l?void 0:h.size},_getStacks:function(t){var e,n,i=this._getIndexScale(),a=i._getMatchingVisibleMetas(this._type),r=i.options.stacked,o=a.length,s=[];for(e=0;e<o&&(n=a[e],(!1===r||-1===s.indexOf(n.stack)||void 0===r&&void 0===n.stack)&&s.push(n.stack),n.index!==t);++e);return s},getStackCount:function(){return this._getStacks().length},getStackIndex:function(t,e){var n=this._getStacks(t),i=void 0!==e?n.indexOf(e):-1;return-1===i?n.length-1:i},getRuler:function(){var t,e,n=this._getIndexScale(),i=[];for(t=0,e=this.getMeta().data.length;t<e;++t)i.push(n.getPixelForValue(null,t,this.index));return{pixels:i,start:n._startPixel,end:n._endPixel,stackCount:this.getStackCount(),scale:n}},calculateBarValuePixels:function(t,e,n){var i,a,r,o,s,l,u,d=this.chart,h=this._getValueScale(),c=h.isHorizontal(),f=d.data.datasets,g=h._getMatchingVisibleMetas(this._type),p=h._parseValue(f[t].data[e]),m=n.minBarLength,v=h.options.stacked,b=this.getMeta().stack,x=void 0===p.start?0:p.max>=0&&p.min>=0?p.min:p.max,y=void 0===p.start?p.end:p.max>=0&&p.min>=0?p.max-p.min:p.min-p.max,_=g.length;if(v||void 0===v&&void 0!==b)for(i=0;i<_&&(a=g[i]).index!==t;++i)a.stack===b&&(r=void 0===(u=h._parseValue(f[a.index].data[e])).start?u.end:u.min>=0&&u.max>=0?u.max:u.min,(p.min<0&&r<0||p.max>=0&&r>0)&&(x+=r));return o=h.getPixelForValue(x),l=(s=h.getPixelForValue(x+y))-o,void 0!==m&&Math.abs(l)<m&&(l=m,s=y>=0&&!c||y<0&&c?o-m:o+m),{size:l,base:o,head:s,center:s+l/2}},calculateBarIndexPixels:function(t,e,n,i){var a="flex"===i.barThickness?function(t,e,n){var i,a=e.pixels,r=a[t],o=t>0?a[t-1]:null,s=t<a.length-1?a[t+1]:null,l=n.categoryPercentage;return null===o&&(o=r-(null===s?e.end-e.start:s-r)),null===s&&(s=r+r-o),i=r-(r-Math.min(o,s))/2*l,{chunk:Math.abs(s-o)/2*l/e.stackCount,ratio:n.barPercentage,start:i}}(e,n,i):Dt(e,n,i),r=this.getStackIndex(t,this.getMeta().stack),o=a.start+a.chunk*r+a.chunk/2,s=Math.min(At(i.maxBarThickness,1/0),a.chunk*a.ratio);return{base:o-s/2,head:o+s/2,center:o,size:s}},draw:function(){var t=this.chart,e=this._getValueScale(),n=this.getMeta().data,i=this.getDataset(),a=n.length,r=0;for(H.canvas.clipArea(t.ctx,t.chartArea);r<a;++r){var o=e._parseValue(i.data[r]);isNaN(o.min)||isNaN(o.max)||n[r].draw()}H.canvas.unclipArea(t.ctx)},_resolveDataElementOptions:function(){var t=H.extend({},it.prototype._resolveDataElementOptions.apply(this,arguments)),e=this._getIndexScale().options,n=this._getValueScale().options;return t.barPercentage=At(e.barPercentage,t.barPercentage),t.barThickness=At(e.barThickness,t.barThickness),t.categoryPercentage=At(e.categoryPercentage,t.categoryPercentage),t.maxBarThickness=At(e.maxBarThickness,t.maxBarThickness),t.minBarLength=At(n.minBarLength,t.minBarLength),t}}),It=H.valueOrDefault,Ft=H.options.resolve;N._set("bubble",{hover:{mode:"single"},scales:{xAxes:[{type:"linear",position:"bottom",id:"x-axis-0"}],yAxes:[{type:"linear",position:"left",id:"y-axis-0"}]},tooltips:{callbacks:{title:function(){return""},label:function(t,e){var n=e.datasets[t.datasetIndex].label||"",i=e.datasets[t.datasetIndex].data[t.index];return n+": ("+t.xLabel+", "+t.yLabel+", "+i.r+")"}}}});var Ot=it.extend({dataElementType:kt.Point,_dataElementOptions:["backgroundColor","borderColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","hoverRadius","hitRadius","pointStyle","rotation"],update:function(t){var e=this,n=e.getMeta().data;H.each(n,function(n,i){e.updateElement(n,i,t)})},updateElement:function(t,e,n){var i=this,a=i.getMeta(),r=t.custom||{},o=i.getScaleForId(a.xAxisID),s=i.getScaleForId(a.yAxisID),l=i._resolveDataElementOptions(t,e),u=i.getDataset().data[e],d=i.index,h=n?o.getPixelForDecimal(.5):o.getPixelForValue("object"==typeof u?u:NaN,e,d),c=n?s.getBasePixel():s.getPixelForValue(u,e,d);t._xScale=o,t._yScale=s,t._options=l,t._datasetIndex=d,t._index=e,t._model={backgroundColor:l.backgroundColor,borderColor:l.borderColor,borderWidth:l.borderWidth,hitRadius:l.hitRadius,pointStyle:l.pointStyle,rotation:l.rotation,radius:n?0:l.radius,skip:r.skip||isNaN(h)||isNaN(c),x:h,y:c},t.pivot()},setHoverStyle:function(t){var e=t._model,n=t._options,i=H.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=It(n.hoverBackgroundColor,i(n.backgroundColor)),e.borderColor=It(n.hoverBorderColor,i(n.borderColor)),e.borderWidth=It(n.hoverBorderWidth,n.borderWidth),e.radius=n.radius+n.hoverRadius},_resolveDataElementOptions:function(t,e){var n=this,i=n.chart,a=n.getDataset(),r=t.custom||{},o=a.data[e]||{},s=it.prototype._resolveDataElementOptions.apply(n,arguments),l={chart:i,dataIndex:e,dataset:a,datasetIndex:n.index};return n._cachedDataOpts===s&&(s=H.extend({},s)),s.radius=Ft([r.radius,o.r,n._config.radius,i.options.elements.point.radius],l,e),s}}),Lt=H.valueOrDefault,Rt=Math.PI,zt=2*Rt,Nt=Rt/2;N._set("doughnut",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:"single"},legendCallback:function(t){var e,n,i,a=document.createElement("ul"),r=t.data,o=r.datasets,s=r.labels;if(a.setAttribute("class",t.id+"-legend"),o.length)for(e=0,n=o[0].data.length;e<n;++e)(i=a.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor=o[0].backgroundColor[e],s[e]&&i.appendChild(document.createTextNode(s[e]));return a.outerHTML},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(n,i){var a=t.getDatasetMeta(0),r=a.controller.getStyle(i);return{text:n,fillStyle:r.backgroundColor,strokeStyle:r.borderColor,lineWidth:r.borderWidth,hidden:isNaN(e.datasets[0].data[i])||a.data[i].hidden,index:i}}):[]}},onClick:function(t,e){var n,i,a,r=e.index,o=this.chart;for(n=0,i=(o.data.datasets||[]).length;n<i;++n)(a=o.getDatasetMeta(n)).data[r]&&(a.data[r].hidden=!a.data[r].hidden);o.update()}},cutoutPercentage:50,rotation:-Nt,circumference:zt,tooltips:{callbacks:{title:function(){return""},label:function(t,e){var n=e.labels[t.index],i=": "+e.datasets[t.datasetIndex].data[t.index];return H.isArray(n)?(n=n.slice())[0]+=i:n+=i,n}}}});var Bt=it.extend({dataElementType:kt.Arc,linkScales:H.noop,_dataElementOptions:["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"],getRingIndex:function(t){for(var e=0,n=0;n<t;++n)this.chart.isDatasetVisible(n)&&++e;return e},update:function(t){var e,n,i,a,r=this,o=r.chart,s=o.chartArea,l=o.options,u=1,d=1,h=0,c=0,f=r.getMeta(),g=f.data,p=l.cutoutPercentage/100||0,m=l.circumference,v=r._getRingWeight(r.index);if(m<zt){var b=l.rotation%zt,x=(b+=b>=Rt?-zt:b<-Rt?zt:0)+m,y=Math.cos(b),_=Math.sin(b),k=Math.cos(x),w=Math.sin(x),M=b<=0&&x>=0||x>=zt,S=b<=Nt&&x>=Nt||x>=zt+Nt,C=b<=-Nt&&x>=-Nt||x>=Rt+Nt,P=b===-Rt||x>=Rt?-1:Math.min(y,y*p,k,k*p),A=C?-1:Math.min(_,_*p,w,w*p),D=M?1:Math.max(y,y*p,k,k*p),T=S?1:Math.max(_,_*p,w,w*p);u=(D-P)/2,d=(T-A)/2,h=-(D+P)/2,c=-(T+A)/2}for(i=0,a=g.length;i<a;++i)g[i]._options=r._resolveDataElementOptions(g[i],i);for(o.borderWidth=r.getMaxBorderWidth(),e=(s.right-s.left-o.borderWidth)/u,n=(s.bottom-s.top-o.borderWidth)/d,o.outerRadius=Math.max(Math.min(e,n)/2,0),o.innerRadius=Math.max(o.outerRadius*p,0),o.radiusLength=(o.outerRadius-o.innerRadius)/(r._getVisibleDatasetWeightTotal()||1),o.offsetX=h*o.outerRadius,o.offsetY=c*o.outerRadius,f.total=r.calculateTotal(),r.outerRadius=o.outerRadius-o.radiusLength*r._getRingWeightOffset(r.index),r.innerRadius=Math.max(r.outerRadius-o.radiusLength*v,0),i=0,a=g.length;i<a;++i)r.updateElement(g[i],i,t)},updateElement:function(t,e,n){var i=this,a=i.chart,r=a.chartArea,o=a.options,s=o.animation,l=(r.left+r.right)/2,u=(r.top+r.bottom)/2,d=o.rotation,h=o.rotation,c=i.getDataset(),f=n&&s.animateRotate?0:t.hidden?0:i.calculateCircumference(c.data[e])*(o.circumference/zt),g=n&&s.animateScale?0:i.innerRadius,p=n&&s.animateScale?0:i.outerRadius,m=t._options||{};H.extend(t,{_datasetIndex:i.index,_index:e,_model:{backgroundColor:m.backgroundColor,borderColor:m.borderColor,borderWidth:m.borderWidth,borderAlign:m.borderAlign,x:l+a.offsetX,y:u+a.offsetY,startAngle:d,endAngle:h,circumference:f,outerRadius:p,innerRadius:g,label:H.valueAtIndexOrDefault(c.label,e,a.data.labels[e])}});var v=t._model;n&&s.animateRotate||(v.startAngle=0===e?o.rotation:i.getMeta().data[e-1]._model.endAngle,v.endAngle=v.startAngle+v.circumference),t.pivot()},calculateTotal:function(){var t,e=this.getDataset(),n=this.getMeta(),i=0;return H.each(n.data,function(n,a){t=e.data[a],isNaN(t)||n.hidden||(i+=Math.abs(t))}),i},calculateCircumference:function(t){var e=this.getMeta().total;return e>0&&!isNaN(t)?zt*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){var e,n,i,a,r,o,s,l,u=0,d=this.chart;if(!t)for(e=0,n=d.data.datasets.length;e<n;++e)if(d.isDatasetVisible(e)){t=(i=d.getDatasetMeta(e)).data,e!==this.index&&(r=i.controller);break}if(!t)return 0;for(e=0,n=t.length;e<n;++e)a=t[e],r?(r._configure(),o=r._resolveDataElementOptions(a,e)):o=a._options,"inner"!==o.borderAlign&&(s=o.borderWidth,u=(l=o.hoverBorderWidth)>(u=s>u?s:u)?l:u);return u},setHoverStyle:function(t){var e=t._model,n=t._options,i=H.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=Lt(n.hoverBackgroundColor,i(n.backgroundColor)),e.borderColor=Lt(n.hoverBorderColor,i(n.borderColor)),e.borderWidth=Lt(n.hoverBorderWidth,n.borderWidth)},_getRingWeightOffset:function(t){for(var e=0,n=0;n<t;++n)this.chart.isDatasetVisible(n)&&(e+=this._getRingWeight(n));return e},_getRingWeight:function(t){return Math.max(Lt(this.chart.data.datasets[t].weight,1),0)},_getVisibleDatasetWeightTotal:function(){return this._getRingWeightOffset(this.chart.data.datasets.length)}});N._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{type:"category",position:"left",offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{mode:"index",axis:"y"}}),N._set("global",{datasets:{horizontalBar:{categoryPercentage:.8,barPercentage:.9}}});var Et=Tt.extend({_getValueScaleId:function(){return this.getMeta().xAxisID},_getIndexScaleId:function(){return this.getMeta().yAxisID}}),Wt=H.valueOrDefault,Vt=H.options.resolve,Ht=H.canvas._isPointInArea;function jt(t,e){var n=t&&t.options.ticks||{},i=n.reverse,a=void 0===n.min?e:0,r=void 0===n.max?e:0;return{start:i?r:a,end:i?a:r}}N._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}});var qt=it.extend({datasetElementType:kt.Line,dataElementType:kt.Point,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth","cubicInterpolationMode","fill"],_dataElementOptions:{backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},update:function(t){var e,n,i=this,a=i.getMeta(),r=a.dataset,o=a.data||[],s=i.chart.options,l=i._config,u=i._showLine=Wt(l.showLine,s.showLines);for(i._xScale=i.getScaleForId(a.xAxisID),i._yScale=i.getScaleForId(a.yAxisID),u&&(void 0!==l.tension&&void 0===l.lineTension&&(l.lineTension=l.tension),r._scale=i._yScale,r._datasetIndex=i.index,r._children=o,r._model=i._resolveDatasetElementOptions(r),r.pivot()),e=0,n=o.length;e<n;++e)i.updateElement(o[e],e,t);for(u&&0!==r._model.tension&&i.updateBezierControlPoints(),e=0,n=o.length;e<n;++e)o[e].pivot()},updateElement:function(t,e,n){var i,a,r=this,o=r.getMeta(),s=t.custom||{},l=r.getDataset(),u=r.index,d=l.data[e],h=r._xScale,c=r._yScale,f=o.dataset._model,g=r._resolveDataElementOptions(t,e);i=h.getPixelForValue("object"==typeof d?d:NaN,e,u),a=n?c.getBasePixel():r.calculatePointY(d,e,u),t._xScale=h,t._yScale=c,t._options=g,t._datasetIndex=u,t._index=e,t._model={x:i,y:a,skip:s.skip||isNaN(i)||isNaN(a),radius:g.radius,pointStyle:g.pointStyle,rotation:g.rotation,backgroundColor:g.backgroundColor,borderColor:g.borderColor,borderWidth:g.borderWidth,tension:Wt(s.tension,f?f.tension:0),steppedLine:!!f&&f.steppedLine,hitRadius:g.hitRadius}},_resolveDatasetElementOptions:function(t){var e,n,i,a,r,o,s,l,u,d,h,c=this,f=c._config,g=t.custom||{},p=c.chart.options,m=p.elements.line,v=it.prototype._resolveDatasetElementOptions.apply(c,arguments);return v.spanGaps=Wt(f.spanGaps,p.spanGaps),v.tension=Wt(f.lineTension,m.tension),v.steppedLine=Vt([g.steppedLine,f.steppedLine,m.stepped]),v.clip=(e=Wt(f.clip,(o=c._xScale,s=c._yScale,l=v.borderWidth,d=jt(o,u=l/2),{top:(h=jt(s,u)).end,right:d.end,bottom:h.start,left:d.start})),H.isObject(e)?(n=e.top,i=e.right,a=e.bottom,r=e.left):n=i=a=r=e,{top:n,right:i,bottom:a,left:r}),v},calculatePointY:function(t,e,n){var i,a,r,o,s,l,u,d=this.chart,h=this._yScale,c=0,f=0;if(h.options.stacked){for(s=+h.getRightValue(t),u=(l=d._getSortedVisibleDatasetMetas()).length,i=0;i<u&&(r=l[i]).index!==n;++i)a=d.data.datasets[r.index],"line"===r.type&&r.yAxisID===h.id&&((o=+h.getRightValue(a.data[e]))<0?f+=o||0:c+=o||0);return s<0?h.getPixelForValue(f+s):h.getPixelForValue(c+s)}return h.getPixelForValue(t)},updateBezierControlPoints:function(){var t,e,n,i,a=this.chart,r=this.getMeta(),o=r.dataset._model,s=a.chartArea,l=r.data||[];function u(t,e,n){return Math.max(Math.min(t,n),e)}if(o.spanGaps&&(l=l.filter(function(t){return!t._model.skip})),"monotone"===o.cubicInterpolationMode)H.splineCurveMonotone(l);else for(t=0,e=l.length;t<e;++t)n=l[t]._model,i=H.splineCurve(H.previousItem(l,t)._model,n,H.nextItem(l,t)._model,o.tension),n.controlPointPreviousX=i.previous.x,n.controlPointPreviousY=i.previous.y,n.controlPointNextX=i.next.x,n.controlPointNextY=i.next.y;if(a.options.elements.line.capBezierPoints)for(t=0,e=l.length;t<e;++t)n=l[t]._model,Ht(n,s)&&(t>0&&Ht(l[t-1]._model,s)&&(n.controlPointPreviousX=u(n.controlPointPreviousX,s.left,s.right),n.controlPointPreviousY=u(n.controlPointPreviousY,s.top,s.bottom)),t<l.length-1&&Ht(l[t+1]._model,s)&&(n.controlPointNextX=u(n.controlPointNextX,s.left,s.right),n.controlPointNextY=u(n.controlPointNextY,s.top,s.bottom)))},draw:function(){var t,e=this.chart,n=this.getMeta(),i=n.data||[],a=e.chartArea,r=e.canvas,o=0,s=i.length;for(this._showLine&&(t=n.dataset._model.clip,H.canvas.clipArea(e.ctx,{left:!1===t.left?0:a.left-t.left,right:!1===t.right?r.width:a.right+t.right,top:!1===t.top?0:a.top-t.top,bottom:!1===t.bottom?r.height:a.bottom+t.bottom}),n.dataset.draw(),H.canvas.unclipArea(e.ctx));o<s;++o)i[o].draw(a)},setHoverStyle:function(t){var e=t._model,n=t._options,i=H.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=Wt(n.hoverBackgroundColor,i(n.backgroundColor)),e.borderColor=Wt(n.hoverBorderColor,i(n.borderColor)),e.borderWidth=Wt(n.hoverBorderWidth,n.borderWidth),e.radius=Wt(n.hoverRadius,n.radius)}}),Ut=H.options.resolve;N._set("polarArea",{scale:{type:"radialLinear",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,legendCallback:function(t){var e,n,i,a=document.createElement("ul"),r=t.data,o=r.datasets,s=r.labels;if(a.setAttribute("class",t.id+"-legend"),o.length)for(e=0,n=o[0].data.length;e<n;++e)(i=a.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor=o[0].backgroundColor[e],s[e]&&i.appendChild(document.createTextNode(s[e]));return a.outerHTML},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(n,i){var a=t.getDatasetMeta(0),r=a.controller.getStyle(i);return{text:n,fillStyle:r.backgroundColor,strokeStyle:r.borderColor,lineWidth:r.borderWidth,hidden:isNaN(e.datasets[0].data[i])||a.data[i].hidden,index:i}}):[]}},onClick:function(t,e){var n,i,a,r=e.index,o=this.chart;for(n=0,i=(o.data.datasets||[]).length;n<i;++n)(a=o.getDatasetMeta(n)).data[r].hidden=!a.data[r].hidden;o.update()}},tooltips:{callbacks:{title:function(){return""},label:function(t,e){return e.labels[t.index]+": "+t.yLabel}}}});var Yt=it.extend({dataElementType:kt.Arc,linkScales:H.noop,_dataElementOptions:["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"],_getIndexScaleId:function(){return this.chart.scale.id},_getValueScaleId:function(){return this.chart.scale.id},update:function(t){var e,n,i,a=this,r=a.getDataset(),o=a.getMeta(),s=a.chart.options.startAngle||0,l=a._starts=[],u=a._angles=[],d=o.data;for(a._updateRadius(),o.count=a.countVisibleElements(),e=0,n=r.data.length;e<n;e++)l[e]=s,i=a._computeAngle(e),u[e]=i,s+=i;for(e=0,n=d.length;e<n;++e)d[e]._options=a._resolveDataElementOptions(d[e],e),a.updateElement(d[e],e,t)},_updateRadius:function(){var t=this,e=t.chart,n=e.chartArea,i=e.options,a=Math.min(n.right-n.left,n.bottom-n.top);e.outerRadius=Math.max(a/2,0),e.innerRadius=Math.max(i.cutoutPercentage?e.outerRadius/100*i.cutoutPercentage:1,0),e.radiusLength=(e.outerRadius-e.innerRadius)/e.getVisibleDatasetCount(),t.outerRadius=e.outerRadius-e.radiusLength*t.index,t.innerRadius=t.outerRadius-e.radiusLength},updateElement:function(t,e,n){var i=this,a=i.chart,r=i.getDataset(),o=a.options,s=o.animation,l=a.scale,u=a.data.labels,d=l.xCenter,h=l.yCenter,c=o.startAngle,f=t.hidden?0:l.getDistanceFromCenterForValue(r.data[e]),g=i._starts[e],p=g+(t.hidden?0:i._angles[e]),m=s.animateScale?0:l.getDistanceFromCenterForValue(r.data[e]),v=t._options||{};H.extend(t,{_datasetIndex:i.index,_index:e,_scale:l,_model:{backgroundColor:v.backgroundColor,borderColor:v.borderColor,borderWidth:v.borderWidth,borderAlign:v.borderAlign,x:d,y:h,innerRadius:0,outerRadius:n?m:f,startAngle:n&&s.animateRotate?c:g,endAngle:n&&s.animateRotate?c:p,label:H.valueAtIndexOrDefault(u,e,u[e])}}),t.pivot()},countVisibleElements:function(){var t=this.getDataset(),e=this.getMeta(),n=0;return H.each(e.data,function(e,i){isNaN(t.data[i])||e.hidden||n++}),n},setHoverStyle:function(t){var e=t._model,n=t._options,i=H.getHoverColor,a=H.valueOrDefault;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=a(n.hoverBackgroundColor,i(n.backgroundColor)),e.borderColor=a(n.hoverBorderColor,i(n.borderColor)),e.borderWidth=a(n.hoverBorderWidth,n.borderWidth)},_computeAngle:function(t){var e=this,n=this.getMeta().count,i=e.getDataset(),a=e.getMeta();if(isNaN(i.data[t])||a.data[t].hidden)return 0;var r={chart:e.chart,dataIndex:t,dataset:i,datasetIndex:e.index};return Ut([e.chart.options.elements.arc.angle,2*Math.PI/n],r,t)}});N._set("pie",H.clone(N.doughnut)),N._set("pie",{cutoutPercentage:0});var Gt=Bt,Xt=H.valueOrDefault;N._set("radar",{spanGaps:!1,scale:{type:"radialLinear"},elements:{line:{fill:"start",tension:0}}});var Kt=it.extend({datasetElementType:kt.Line,dataElementType:kt.Point,linkScales:H.noop,_datasetElementOptions:["backgroundColor","borderWidth","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","fill"],_dataElementOptions:{backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},_getIndexScaleId:function(){return this.chart.scale.id},_getValueScaleId:function(){return this.chart.scale.id},update:function(t){var e,n,i=this,a=i.getMeta(),r=a.dataset,o=a.data||[],s=i.chart.scale,l=i._config;for(void 0!==l.tension&&void 0===l.lineTension&&(l.lineTension=l.tension),r._scale=s,r._datasetIndex=i.index,r._children=o,r._loop=!0,r._model=i._resolveDatasetElementOptions(r),r.pivot(),e=0,n=o.length;e<n;++e)i.updateElement(o[e],e,t);for(i.updateBezierControlPoints(),e=0,n=o.length;e<n;++e)o[e].pivot()},updateElement:function(t,e,n){var i=this,a=t.custom||{},r=i.getDataset(),o=i.chart.scale,s=o.getPointPositionForValue(e,r.data[e]),l=i._resolveDataElementOptions(t,e),u=i.getMeta().dataset._model,d=n?o.xCenter:s.x,h=n?o.yCenter:s.y;t._scale=o,t._options=l,t._datasetIndex=i.index,t._index=e,t._model={x:d,y:h,skip:a.skip||isNaN(d)||isNaN(h),radius:l.radius,pointStyle:l.pointStyle,rotation:l.rotation,backgroundColor:l.backgroundColor,borderColor:l.borderColor,borderWidth:l.borderWidth,tension:Xt(a.tension,u?u.tension:0),hitRadius:l.hitRadius}},_resolveDatasetElementOptions:function(){var t=this._config,e=this.chart.options,n=it.prototype._resolveDatasetElementOptions.apply(this,arguments);return n.spanGaps=Xt(t.spanGaps,e.spanGaps),n.tension=Xt(t.lineTension,e.elements.line.tension),n},updateBezierControlPoints:function(){var t,e,n,i,a=this.getMeta(),r=this.chart.chartArea,o=a.data||[];function s(t,e,n){return Math.max(Math.min(t,n),e)}for(a.dataset._model.spanGaps&&(o=o.filter(function(t){return!t._model.skip})),t=0,e=o.length;t<e;++t)n=o[t]._model,i=H.splineCurve(H.previousItem(o,t,!0)._model,n,H.nextItem(o,t,!0)._model,n.tension),n.controlPointPreviousX=s(i.previous.x,r.left,r.right),n.controlPointPreviousY=s(i.previous.y,r.top,r.bottom),n.controlPointNextX=s(i.next.x,r.left,r.right),n.controlPointNextY=s(i.next.y,r.top,r.bottom)},setHoverStyle:function(t){var e=t._model,n=t._options,i=H.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=Xt(n.hoverBackgroundColor,i(n.backgroundColor)),e.borderColor=Xt(n.hoverBorderColor,i(n.borderColor)),e.borderWidth=Xt(n.hoverBorderWidth,n.borderWidth),e.radius=Xt(n.hoverRadius,n.radius)}});N._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},tooltips:{callbacks:{title:function(){return""},label:function(t){return"("+t.xLabel+", "+t.yLabel+")"}}}}),N._set("global",{datasets:{scatter:{showLine:!1}}});var Zt={bar:Tt,bubble:Ot,doughnut:Bt,horizontalBar:Et,line:qt,polarArea:Yt,pie:Gt,radar:Kt,scatter:qt};function $t(t,e){return t.native?{x:t.x,y:t.y}:H.getRelativePosition(t,e)}function Jt(t,e){var n,i,a,r,o,s,l=t._getSortedVisibleDatasetMetas();for(i=0,r=l.length;i<r;++i)for(a=0,o=(n=l[i].data).length;a<o;++a)(s=n[a])._view.skip||e(s)}function Qt(t,e){var n=[];return Jt(t,function(t){t.inRange(e.x,e.y)&&n.push(t)}),n}function te(t,e,n,i){var a=Number.POSITIVE_INFINITY,r=[];return Jt(t,function(t){if(!n||t.inRange(e.x,e.y)){var o=t.getCenterPoint(),s=i(e,o);s<a?(r=[t],a=s):s===a&&r.push(t)}}),r}function ee(t){var e=-1!==t.indexOf("x"),n=-1!==t.indexOf("y");return function(t,i){var a=e?Math.abs(t.x-i.x):0,r=n?Math.abs(t.y-i.y):0;return Math.sqrt(Math.pow(a,2)+Math.pow(r,2))}}function ne(t,e,n){var i=$t(e,t);n.axis=n.axis||"x";var a=ee(n.axis),r=n.intersect?Qt(t,i):te(t,i,!1,a),o=[];return r.length?(t._getSortedVisibleDatasetMetas().forEach(function(t){var e=t.data[r[0]._index];e&&!e._view.skip&&o.push(e)}),o):[]}var ie={modes:{single:function(t,e){var n=$t(e,t),i=[];return Jt(t,function(t){if(t.inRange(n.x,n.y))return i.push(t),i}),i.slice(0,1)},label:ne,index:ne,dataset:function(t,e,n){var i=$t(e,t);n.axis=n.axis||"xy";var a=ee(n.axis),r=n.intersect?Qt(t,i):te(t,i,!1,a);return r.length>0&&(r=t.getDatasetMeta(r[0]._datasetIndex).data),r},"x-axis":function(t,e){return ne(t,e,{intersect:!1})},point:function(t,e){return Qt(t,$t(e,t))},nearest:function(t,e,n){var i=$t(e,t);n.axis=n.axis||"xy";var a=ee(n.axis);return te(t,i,n.intersect,a)},x:function(t,e,n){var i=$t(e,t),a=[],r=!1;return Jt(t,function(t){t.inXRange(i.x)&&a.push(t),t.inRange(i.x,i.y)&&(r=!0)}),n.intersect&&!r&&(a=[]),a},y:function(t,e,n){var i=$t(e,t),a=[],r=!1;return Jt(t,function(t){t.inYRange(i.y)&&a.push(t),t.inRange(i.x,i.y)&&(r=!0)}),n.intersect&&!r&&(a=[]),a}}},ae=H.extend;function re(t,e){return H.where(t,function(t){return t.pos===e})}function oe(t,e){return t.sort(function(t,n){var i=e?n:t,a=e?t:n;return i.weight===a.weight?i.index-a.index:i.weight-a.weight})}function se(t,e,n,i){return Math.max(t[n],e[n])+Math.max(t[i],e[i])}function le(t,e,n){var i,a,r=n.box,o=t.maxPadding;if(n.size&&(t[n.pos]-=n.size),n.size=n.horizontal?r.height:r.width,t[n.pos]+=n.size,r.getPadding){var s=r.getPadding();o.top=Math.max(o.top,s.top),o.left=Math.max(o.left,s.left),o.bottom=Math.max(o.bottom,s.bottom),o.right=Math.max(o.right,s.right)}if(i=e.outerWidth-se(o,t,"left","right"),a=e.outerHeight-se(o,t,"top","bottom"),i!==t.w||a!==t.h)return t.w=i,t.h=a,n.horizontal?i!==t.w:a!==t.h}function ue(t,e){var n=e.maxPadding;function i(t){var i={left:0,top:0,right:0,bottom:0};return t.forEach(function(t){i[t]=Math.max(e[t],n[t])}),i}return i(t?["left","right"]:["top","bottom"])}function de(t,e,n){var i,a,r,o,s,l,u=[];for(i=0,a=t.length;i<a;++i)(o=(r=t[i]).box).update(r.width||e.w,r.height||e.h,ue(r.horizontal,e)),le(e,n,r)&&(l=!0,u.length&&(s=!0)),o.fullWidth||u.push(r);return s&&de(u,e,n)||l}function he(t,e,n){var i,a,r,o,s=n.padding,l=e.x,u=e.y;for(i=0,a=t.length;i<a;++i)o=(r=t[i]).box,r.horizontal?(o.left=o.fullWidth?s.left:e.left,o.right=o.fullWidth?n.outerWidth-s.right:e.left+e.w,o.top=u,o.bottom=u+o.height,o.width=o.right-o.left,u=o.bottom):(o.left=l,o.right=l+o.width,o.top=e.top,o.bottom=e.top+e.h,o.height=o.bottom-o.top,l=o.right);e.x=l,e.y=u}N._set("global",{layout:{padding:{top:0,right:0,bottom:0,left:0}}});var ce,fe={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw:function(){e.draw.apply(e,arguments)}}]},t.boxes.push(e)},removeBox:function(t,e){var n=t.boxes?t.boxes.indexOf(e):-1;-1!==n&&t.boxes.splice(n,1)},configure:function(t,e,n){for(var i,a=["fullWidth","position","weight"],r=a.length,o=0;o<r;++o)i=a[o],n.hasOwnProperty(i)&&(e[i]=n[i])},update:function(t,e,n){if(t){var i=t.options.layout||{},a=H.options.toPadding(i.padding),r=e-a.width,o=n-a.height,s=function(t){var e=function(t){var e,n,i,a=[];for(e=0,n=(t||[]).length;e<n;++e)i=t[e],a.push({index:e,box:i,pos:i.position,horizontal:i.isHorizontal(),weight:i.weight});return a}(t),n=oe(re(e,"left"),!0),i=oe(re(e,"right")),a=oe(re(e,"top"),!0),r=oe(re(e,"bottom"));return{leftAndTop:n.concat(a),rightAndBottom:i.concat(r),chartArea:re(e,"chartArea"),vertical:n.concat(i),horizontal:a.concat(r)}}(t.boxes),l=s.vertical,u=s.horizontal,d=Object.freeze({outerWidth:e,outerHeight:n,padding:a,availableWidth:r,vBoxMaxWidth:r/2/l.length,hBoxMaxHeight:o/2}),h=ae({maxPadding:ae({},a),w:r,h:o,x:a.left,y:a.top},a);!function(t,e){var n,i,a;for(n=0,i=t.length;n<i;++n)(a=t[n]).width=a.horizontal?a.box.fullWidth&&e.availableWidth:e.vBoxMaxWidth,a.height=a.horizontal&&e.hBoxMaxHeight}(l.concat(u),d),de(l,h,d),de(u,h,d)&&de(l,h,d),function(t){var e=t.maxPadding;function n(n){var i=Math.max(e[n]-t[n],0);return t[n]+=i,i}t.y+=n("top"),t.x+=n("left"),n("right"),n("bottom")}(h),he(s.leftAndTop,h,d),h.x+=h.w,h.y+=h.h,he(s.rightAndBottom,h,d),t.chartArea={left:h.left,top:h.top,right:h.left+h.w,bottom:h.top+h.h},H.each(s.chartArea,function(e){var n=e.box;ae(n,t.chartArea),n.update(h.w,h.h)})}}},ge=(ce=Object.freeze({__proto__:null,default:"/*\n * DOM element rendering detection\n * https://davidwalsh.name/detect-node-insertion\n */\n@keyframes chartjs-render-animation {\n\tfrom { opacity: 0.99; }\n\tto { opacity: 1; }\n}\n\n.chartjs-render-monitor {\n\tanimation: chartjs-render-animation 0.001s;\n}\n\n/*\n * DOM element resizing detection\n * https://github.com/marcj/css-element-queries\n */\n.chartjs-size-monitor,\n.chartjs-size-monitor-expand,\n.chartjs-size-monitor-shrink {\n\tposition: absolute;\n\tdirection: ltr;\n\tleft: 0;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\toverflow: hidden;\n\tpointer-events: none;\n\tvisibility: hidden;\n\tz-index: -1;\n}\n\n.chartjs-size-monitor-expand > div {\n\tposition: absolute;\n\twidth: 1000000px;\n\theight: 1000000px;\n\tleft: 0;\n\ttop: 0;\n}\n\n.chartjs-size-monitor-shrink > div {\n\tposition: absolute;\n\twidth: 200%;\n\theight: 200%;\n\tleft: 0;\n\ttop: 0;\n}\n"}))&&ce.default||ce,pe="$chartjs",me="chartjs-size-monitor",ve="chartjs-render-monitor",be="chartjs-render-animation",xe=["animationstart","webkitAnimationStart"],ye={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function _e(t,e){var n=H.getStyle(t,e),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?Number(i[1]):void 0}var ke=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(t){}return t}()&&{passive:!0};function we(t,e,n){t.addEventListener(e,n,ke)}function Me(t,e,n){t.removeEventListener(e,n,ke)}function Se(t,e,n,i,a){return{type:t,chart:e,native:a||null,x:void 0!==n?n:null,y:void 0!==i?i:null}}function Ce(t){var e=document.createElement("div");return e.className=t||"",e}function Pe(t,e,n){var i,a,r,o,s=t[pe]||(t[pe]={}),l=s.resizer=function(t){var e=Ce(me),n=Ce(me+"-expand"),i=Ce(me+"-shrink");n.appendChild(Ce()),i.appendChild(Ce()),e.appendChild(n),e.appendChild(i),e._reset=function(){n.scrollLeft=1e6,n.scrollTop=1e6,i.scrollLeft=1e6,i.scrollTop=1e6};var a=function(){e._reset(),t()};return we(n,"scroll",a.bind(n,"expand")),we(i,"scroll",a.bind(i,"shrink")),e}((i=function(){if(s.resizer){var i=n.options.maintainAspectRatio&&t.parentNode,a=i?i.clientWidth:0;e(Se("resize",n)),i&&i.clientWidth<a&&n.canvas&&e(Se("resize",n))}},r=!1,o=[],function(){o=Array.prototype.slice.call(arguments),a=a||this,r||(r=!0,H.requestAnimFrame.call(window,function(){r=!1,i.apply(a,o)}))}));!function(t,e){var n=t[pe]||(t[pe]={}),i=n.renderProxy=function(t){t.animationName===be&&e()};H.each(xe,function(e){we(t,e,i)}),n.reflow=!!t.offsetParent,t.classList.add(ve)}(t,function(){if(s.resizer){var e=t.parentNode;e&&e!==l.parentNode&&e.insertBefore(l,e.firstChild),l._reset()}})}function Ae(t){var e=t[pe]||{},n=e.resizer;delete e.resizer,function(t){var e=t[pe]||{},n=e.renderProxy;n&&(H.each(xe,function(e){Me(t,e,n)}),delete e.renderProxy),t.classList.remove(ve)}(t),n&&n.parentNode&&n.parentNode.removeChild(n)}var De={disableCSSInjection:!1,_enabled:"undefined"!=typeof window&&"undefined"!=typeof document,_ensureLoaded:function(t){if(!this.disableCSSInjection){var e=t.getRootNode?t.getRootNode():document;!function(t,e){var n=t[pe]||(t[pe]={});if(!n.containsStyles){n.containsStyles=!0,e="/* Chart.js */\n"+e;var i=document.createElement("style");i.setAttribute("type","text/css"),i.appendChild(document.createTextNode(e)),t.appendChild(i)}}(e.host?e:document.head,ge)}},acquireContext:function(t,e){"string"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas);var n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(this._ensureLoaded(t),function(t,e){var n=t.style,i=t.getAttribute("height"),a=t.getAttribute("width");if(t[pe]={initial:{height:i,width:a,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",null===a||""===a){var r=_e(t,"width");void 0!==r&&(t.width=r)}if(null===i||""===i)if(""===t.style.height)t.height=t.width/(e.options.aspectRatio||2);else{var o=_e(t,"height");void 0!==r&&(t.height=o)}}(t,e),n):null},releaseContext:function(t){var e=t.canvas;if(e[pe]){var n=e[pe].initial;["height","width"].forEach(function(t){var i=n[t];H.isNullOrUndef(i)?e.removeAttribute(t):e.setAttribute(t,i)}),H.each(n.style||{},function(t,n){e.style[n]=t}),e.width=e.width,delete e[pe]}},addEventListener:function(t,e,n){var i=t.canvas;if("resize"!==e){var a=n[pe]||(n[pe]={});we(i,e,(a.proxies||(a.proxies={}))[t.id+"_"+e]=function(e){n(function(t,e){var n=ye[t.type]||t.type,i=H.getRelativePosition(t,e);return Se(n,e,i.x,i.y,t)}(e,t))})}else Pe(i,n,t)},removeEventListener:function(t,e,n){var i=t.canvas;if("resize"!==e){var a=((n[pe]||{}).proxies||{})[t.id+"_"+e];a&&Me(i,e,a)}else Ae(i)}};H.addEvent=we,H.removeEvent=Me;var Te=De._enabled?De:{acquireContext:function(t){return t&&t.canvas&&(t=t.canvas),t&&t.getContext("2d")||null}},Ie=H.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},Te);N._set("global",{plugins:{}});var Fe={_plugins:[],_cacheId:0,register:function(t){var e=this._plugins;[].concat(t).forEach(function(t){-1===e.indexOf(t)&&e.push(t)}),this._cacheId++},unregister:function(t){var e=this._plugins;[].concat(t).forEach(function(t){var n=e.indexOf(t);-1!==n&&e.splice(n,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(t,e,n){var i,a,r,o,s,l=this.descriptors(t),u=l.length;for(i=0;i<u;++i)if("function"==typeof(s=(r=(a=l[i]).plugin)[e])&&((o=[t].concat(n||[])).push(a.options),!1===s.apply(r,o)))return!1;return!0},descriptors:function(t){var e=t.$plugins||(t.$plugins={});if(e.id===this._cacheId)return e.descriptors;var n=[],i=[],a=t&&t.config||{},r=a.options&&a.options.plugins||{};return this._plugins.concat(a.plugins||[]).forEach(function(t){if(-1===n.indexOf(t)){var e=t.id,a=r[e];!1!==a&&(!0===a&&(a=H.clone(N.global.plugins[e])),n.push(t),i.push({plugin:t,options:a||{}}))}}),e.descriptors=i,e.id=this._cacheId,i},_invalidate:function(t){delete t.$plugins}},Oe={constructors:{},defaults:{},registerScaleType:function(t,e,n){this.constructors[t]=e,this.defaults[t]=H.clone(n)},getScaleConstructor:function(t){return this.constructors.hasOwnProperty(t)?this.constructors[t]:void 0},getScaleDefaults:function(t){return this.defaults.hasOwnProperty(t)?H.merge({},[N.scale,this.defaults[t]]):{}},updateScaleDefaults:function(t,e){this.defaults.hasOwnProperty(t)&&(this.defaults[t]=H.extend(this.defaults[t],e))},addScalesToLayout:function(t){H.each(t.scales,function(e){e.fullWidth=e.options.fullWidth,e.position=e.options.position,e.weight=e.options.weight,fe.addBox(t,e)})}},Le=H.valueOrDefault,Re=H.rtl.getRtlAdapter;N._set("global",{tooltips:{enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:H.noop,title:function(t,e){var n="",i=e.labels,a=i?i.length:0;if(t.length>0){var r=t[0];r.label?n=r.label:r.xLabel?n=r.xLabel:a>0&&r.index<a&&(n=i[r.index])}return n},afterTitle:H.noop,beforeBody:H.noop,beforeLabel:H.noop,label:function(t,e){var n=e.datasets[t.datasetIndex].label||"";return n&&(n+=": "),H.isNullOrUndef(t.value)?n+=t.yLabel:n+=t.value,n},labelColor:function(t,e){var n=e.getDatasetMeta(t.datasetIndex).data[t.index]._view;return{borderColor:n.borderColor,backgroundColor:n.backgroundColor}},labelTextColor:function(){return this._options.bodyFontColor},afterLabel:H.noop,afterBody:H.noop,beforeFooter:H.noop,footer:H.noop,afterFooter:H.noop}}});var ze={average:function(t){if(!t.length)return!1;var e,n,i=0,a=0,r=0;for(e=0,n=t.length;e<n;++e){var o=t[e];if(o&&o.hasValue()){var s=o.tooltipPosition();i+=s.x,a+=s.y,++r}}return{x:i/r,y:a/r}},nearest:function(t,e){var n,i,a,r=e.x,o=e.y,s=Number.POSITIVE_INFINITY;for(n=0,i=t.length;n<i;++n){var l=t[n];if(l&&l.hasValue()){var u=l.getCenterPoint(),d=H.distanceBetweenPoints(e,u);d<s&&(s=d,a=l)}}if(a){var h=a.tooltipPosition();r=h.x,o=h.y}return{x:r,y:o}}};function Ne(t,e){return e&&(H.isArray(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Be(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function Ee(t){var e=N.global;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,rtl:t.rtl,textDirection:t.textDirection,bodyFontColor:t.bodyFontColor,_bodyFontFamily:Le(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:Le(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:Le(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:Le(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:Le(t.titleFontStyle,e.defaultFontStyle),titleFontSize:Le(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:Le(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:Le(t.footerFontStyle,e.defaultFontStyle),footerFontSize:Le(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function We(t,e){return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-t.xPadding:t.x+t.xPadding}function Ve(t){return Ne([],Be(t))}var He=K.extend({initialize:function(){this._model=Ee(this._options),this._lastActive=[]},getTitle:function(){var t=this._options.callbacks,e=t.beforeTitle.apply(this,arguments),n=t.title.apply(this,arguments),i=t.afterTitle.apply(this,arguments),a=[];return a=Ne(a,Be(e)),a=Ne(a,Be(n)),a=Ne(a,Be(i))},getBeforeBody:function(){return Ve(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(t,e){var n=this,i=n._options.callbacks,a=[];return H.each(t,function(t){var r={before:[],lines:[],after:[]};Ne(r.before,Be(i.beforeLabel.call(n,t,e))),Ne(r.lines,i.label.call(n,t,e)),Ne(r.after,Be(i.afterLabel.call(n,t,e))),a.push(r)}),a},getAfterBody:function(){return Ve(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var t=this._options.callbacks,e=t.beforeFooter.apply(this,arguments),n=t.footer.apply(this,arguments),i=t.afterFooter.apply(this,arguments),a=[];return a=Ne(a,Be(e)),a=Ne(a,Be(n)),a=Ne(a,Be(i))},update:function(t){var e,n,i,a,r,o,s,l,u,d,h=this,c=h._options,f=h._model,g=h._model=Ee(c),p=h._active,m=h._data,v={xAlign:f.xAlign,yAlign:f.yAlign},b={x:f.x,y:f.y},x={width:f.width,height:f.height},y={x:f.caretX,y:f.caretY};if(p.length){g.opacity=1;var _=[],k=[];y=ze[c.position].call(h,p,h._eventPosition);var w=[];for(e=0,n=p.length;e<n;++e)w.push((i=p[e],a=void 0,r=void 0,o=void 0,s=void 0,l=void 0,u=void 0,d=void 0,a=i._xScale,r=i._yScale||i._scale,o=i._index,s=i._datasetIndex,l=i._chart.getDatasetMeta(s).controller,u=l._getIndexScale(),d=l._getValueScale(),{xLabel:a?a.getLabelForIndex(o,s):"",yLabel:r?r.getLabelForIndex(o,s):"",label:u?""+u.getLabelForIndex(o,s):"",value:d?""+d.getLabelForIndex(o,s):"",index:o,datasetIndex:s,x:i._model.x,y:i._model.y}));c.filter&&(w=w.filter(function(t){return c.filter(t,m)})),c.itemSort&&(w=w.sort(function(t,e){return c.itemSort(t,e,m)})),H.each(w,function(t){_.push(c.callbacks.labelColor.call(h,t,h._chart)),k.push(c.callbacks.labelTextColor.call(h,t,h._chart))}),g.title=h.getTitle(w,m),g.beforeBody=h.getBeforeBody(w,m),g.body=h.getBody(w,m),g.afterBody=h.getAfterBody(w,m),g.footer=h.getFooter(w,m),g.x=y.x,g.y=y.y,g.caretPadding=c.caretPadding,g.labelColors=_,g.labelTextColors=k,g.dataPoints=w,x=function(t,e){var n=t._chart.ctx,i=2*e.yPadding,a=0,r=e.body,o=r.reduce(function(t,e){return t+e.before.length+e.lines.length+e.after.length},0);o+=e.beforeBody.length+e.afterBody.length;var s=e.title.length,l=e.footer.length,u=e.titleFontSize,d=e.bodyFontSize,h=e.footerFontSize;i+=s*u,i+=s?(s-1)*e.titleSpacing:0,i+=s?e.titleMarginBottom:0,i+=o*d,i+=o?(o-1)*e.bodySpacing:0,i+=l?e.footerMarginTop:0,i+=l*h,i+=l?(l-1)*e.footerSpacing:0;var c=0,f=function(t){a=Math.max(a,n.measureText(t).width+c)};return n.font=H.fontString(u,e._titleFontStyle,e._titleFontFamily),H.each(e.title,f),n.font=H.fontString(d,e._bodyFontStyle,e._bodyFontFamily),H.each(e.beforeBody.concat(e.afterBody),f),c=e.displayColors?d+2:0,H.each(r,function(t){H.each(t.before,f),H.each(t.lines,f),H.each(t.after,f)}),c=0,n.font=H.fontString(h,e._footerFontStyle,e._footerFontFamily),H.each(e.footer,f),{width:a+=2*e.xPadding,height:i}}(this,g),b=function(t,e,n,i){var a=t.x,r=t.y,o=t.caretSize,s=t.caretPadding,l=t.cornerRadius,u=n.xAlign,d=n.yAlign,h=o+s,c=l+s;return"right"===u?a-=e.width:"center"===u&&((a-=e.width/2)+e.width>i.width&&(a=i.width-e.width),a<0&&(a=0)),"top"===d?r+=h:r-="bottom"===d?e.height+h:e.height/2,"center"===d?"left"===u?a+=h:"right"===u&&(a-=h):"left"===u?a-=c:"right"===u&&(a+=c),{x:a,y:r}}(g,x,v=function(t,e){var n,i,a,r,o,s=t._model,l=t._chart,u=t._chart.chartArea,d="center",h="center";s.y<e.height?h="top":s.y>l.height-e.height&&(h="bottom");var c=(u.left+u.right)/2,f=(u.top+u.bottom)/2;"center"===h?(n=function(t){return t<=c},i=function(t){return t>c}):(n=function(t){return t<=e.width/2},i=function(t){return t>=l.width-e.width/2}),a=function(t){return t+e.width+s.caretSize+s.caretPadding>l.width},r=function(t){return t-e.width-s.caretSize-s.caretPadding<0},o=function(t){return t<=f?"top":"bottom"},n(s.x)?(d="left",a(s.x)&&(d="center",h=o(s.y))):i(s.x)&&(d="right",r(s.x)&&(d="center",h=o(s.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:d,yAlign:g.yAlign?g.yAlign:h}}(this,x),h._chart)}else g.opacity=0;return g.xAlign=v.xAlign,g.yAlign=v.yAlign,g.x=b.x,g.y=b.y,g.width=x.width,g.height=x.height,g.caretX=y.x,g.caretY=y.y,h._model=g,t&&c.custom&&c.custom.call(h,g),h},drawCaret:function(t,e){var n=this._chart.ctx,i=this._view,a=this.getCaretPosition(t,e,i);n.lineTo(a.x1,a.y1),n.lineTo(a.x2,a.y2),n.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,n){var i,a,r,o,s,l,u=n.caretSize,d=n.cornerRadius,h=n.xAlign,c=n.yAlign,f=t.x,g=t.y,p=e.width,m=e.height;if("center"===c)s=g+m/2,"left"===h?(a=(i=f)-u,r=i,o=s+u,l=s-u):(a=(i=f+p)+u,r=i,o=s-u,l=s+u);else if("left"===h?(i=(a=f+d+u)-u,r=a+u):"right"===h?(i=(a=f+p-d-u)-u,r=a+u):(i=(a=n.caretX)-u,r=a+u),"top"===c)s=(o=g)-u,l=o;else{s=(o=g+m)+u,l=o;var v=r;r=i,i=v}return{x1:i,x2:a,x3:r,y1:o,y2:s,y3:l}},drawTitle:function(t,e,n){var i,a,r,o=e.title,s=o.length;if(s){var l=Re(e.rtl,e.x,e.width);for(t.x=We(e,e._titleAlign),n.textAlign=l.textAlign(e._titleAlign),n.textBaseline="middle",i=e.titleFontSize,a=e.titleSpacing,n.fillStyle=e.titleFontColor,n.font=H.fontString(i,e._titleFontStyle,e._titleFontFamily),r=0;r<s;++r)n.fillText(o[r],l.x(t.x),t.y+i/2),t.y+=i+a,r+1===s&&(t.y+=e.titleMarginBottom-a)}},drawBody:function(t,e,n){var i,a,r,o,s,l,u,d,h=e.bodyFontSize,c=e.bodySpacing,f=e._bodyAlign,g=e.body,p=e.displayColors,m=0,v=p?We(e,"left"):0,b=Re(e.rtl,e.x,e.width),x=function(e){n.fillText(e,b.x(t.x+m),t.y+h/2),t.y+=h+c},y=b.textAlign(f);for(n.textAlign=f,n.textBaseline="middle",n.font=H.fontString(h,e._bodyFontStyle,e._bodyFontFamily),t.x=We(e,y),n.fillStyle=e.bodyFontColor,H.each(e.beforeBody,x),m=p&&"right"!==y?"center"===f?h/2+1:h+2:0,s=0,u=g.length;s<u;++s){for(i=g[s],a=e.labelTextColors[s],r=e.labelColors[s],n.fillStyle=a,H.each(i.before,x),l=0,d=(o=i.lines).length;l<d;++l){if(p){var _=b.x(v);n.fillStyle=e.legendColorBackground,n.fillRect(b.leftForLtr(_,h),t.y,h,h),n.lineWidth=1,n.strokeStyle=r.borderColor,n.strokeRect(b.leftForLtr(_,h),t.y,h,h),n.fillStyle=r.backgroundColor,n.fillRect(b.leftForLtr(b.xPlus(_,1),h-2),t.y+1,h-2,h-2),n.fillStyle=a}x(o[l])}H.each(i.after,x)}m=0,H.each(e.afterBody,x),t.y-=c},drawFooter:function(t,e,n){var i,a,r=e.footer,o=r.length;if(o){var s=Re(e.rtl,e.x,e.width);for(t.x=We(e,e._footerAlign),t.y+=e.footerMarginTop,n.textAlign=s.textAlign(e._footerAlign),n.textBaseline="middle",i=e.footerFontSize,n.fillStyle=e.footerFontColor,n.font=H.fontString(i,e._footerFontStyle,e._footerFontFamily),a=0;a<o;++a)n.fillText(r[a],s.x(t.x),t.y+i/2),t.y+=i+e.footerSpacing}},drawBackground:function(t,e,n,i){n.fillStyle=e.backgroundColor,n.strokeStyle=e.borderColor,n.lineWidth=e.borderWidth;var a=e.xAlign,r=e.yAlign,o=t.x,s=t.y,l=i.width,u=i.height,d=e.cornerRadius;n.beginPath(),n.moveTo(o+d,s),"top"===r&&this.drawCaret(t,i),n.lineTo(o+l-d,s),n.quadraticCurveTo(o+l,s,o+l,s+d),"center"===r&&"right"===a&&this.drawCaret(t,i),n.lineTo(o+l,s+u-d),n.quadraticCurveTo(o+l,s+u,o+l-d,s+u),"bottom"===r&&this.drawCaret(t,i),n.lineTo(o+d,s+u),n.quadraticCurveTo(o,s+u,o,s+u-d),"center"===r&&"left"===a&&this.drawCaret(t,i),n.lineTo(o,s+d),n.quadraticCurveTo(o,s,o+d,s),n.closePath(),n.fill(),e.borderWidth>0&&n.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var n={width:e.width,height:e.height},i={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,r=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&r&&(t.save(),t.globalAlpha=a,this.drawBackground(i,e,t,n),i.y+=e.yPadding,H.rtl.overrideTextDirection(t,e.textDirection),this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),H.rtl.restoreTextDirection(t,e.textDirection),t.restore())}},handleEvent:function(t){var e,n=this,i=n._options;return n._lastActive=n._lastActive||[],"mouseout"===t.type?n._active=[]:(n._active=n._chart.getElementsAtEventForMode(t,i.mode,i),i.reverse&&n._active.reverse()),(e=!H.arrayEquals(n._active,n._lastActive))&&(n._lastActive=n._active,(i.enabled||i.custom)&&(n._eventPosition={x:t.x,y:t.y},n.update(!0),n.pivot())),e}}),je=ze,qe=He;qe.positioners=je;var Ue=H.valueOrDefault;function Ye(){return H.merge({},[].slice.call(arguments),{merger:function(t,e,n,i){if("xAxes"===t||"yAxes"===t){var a,r,o,s=n[t].length;for(e[t]||(e[t]=[]),a=0;a<s;++a)o=n[t][a],r=Ue(o.type,"xAxes"===t?"category":"linear"),a>=e[t].length&&e[t].push({}),!e[t][a].type||o.type&&o.type!==e[t][a].type?H.merge(e[t][a],[Oe.getScaleDefaults(r),o]):H.merge(e[t][a],o)}else H._merger(t,e,n,i)}})}function Ge(){return H.merge({},[].slice.call(arguments),{merger:function(t,e,n,i){var a=e[t]||{},r=n[t];"scales"===t?e[t]=Ye(a,r):"scale"===t?e[t]=H.merge(a,[Oe.getScaleDefaults(r.type),r]):H._merger(t,e,n,i)}})}function Xe(t,e,n){var i,a=function(t){return t.id===i};do{i=e+n++}while(H.findIndex(t,a)>=0);return i}function Ke(t){return"top"===t||"bottom"===t}function Ze(t,e){return function(n,i){return n[t]===i[t]?n[e]-i[e]:n[t]-i[t]}}N._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var $e=function(t,e){return this.construct(t,e),this};H.extend($e.prototype,{construct:function(t,e){var n=this;e=function(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=Ge(N.global,N[t.type],t.options||{}),t}(e);var i=Ie.acquireContext(t,e),a=i&&i.canvas,r=a&&a.height,o=a&&a.width;n.id=H.uid(),n.ctx=i,n.canvas=a,n.config=e,n.width=o,n.height=r,n.aspectRatio=r?o/r:null,n.options=e.options,n._bufferedRender=!1,n._layers=[],n.chart=n,n.controller=n,$e.instances[n.id]=n,Object.defineProperty(n,"data",{get:function(){return n.config.data},set:function(t){n.config.data=t}}),i&&a?(n.initialize(),n.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return Fe.notify(t,"beforeInit"),H.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.initToolTip(),Fe.notify(t,"afterInit"),t},clear:function(){return H.canvas.clear(this),this},stop:function(){return J.cancelAnimation(this),this},resize:function(t){var e=this,n=e.options,i=e.canvas,a=n.maintainAspectRatio&&e.aspectRatio||null,r=Math.max(0,Math.floor(H.getMaximumWidth(i))),o=Math.max(0,Math.floor(a?r/a:H.getMaximumHeight(i)));if((e.width!==r||e.height!==o)&&(i.width=e.width=r,i.height=e.height=o,i.style.width=r+"px",i.style.height=o+"px",H.retinaScale(e,n.devicePixelRatio),!t)){var s={width:r,height:o};Fe.notify(e,"resize",[s]),n.onResize&&n.onResize(e,s),e.stop(),e.update({duration:n.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},n=t.scale;H.each(e.xAxes,function(t,n){t.id||(t.id=Xe(e.xAxes,"x-axis-",n))}),H.each(e.yAxes,function(t,n){t.id||(t.id=Xe(e.yAxes,"y-axis-",n))}),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var t=this,e=t.options,n=t.scales||{},i=[],a=Object.keys(n).reduce(function(t,e){return t[e]=!1,t},{});e.scales&&(i=i.concat((e.scales.xAxes||[]).map(function(t){return{options:t,dtype:"category",dposition:"bottom"}}),(e.scales.yAxes||[]).map(function(t){return{options:t,dtype:"linear",dposition:"left"}}))),e.scale&&i.push({options:e.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),H.each(i,function(e){var i=e.options,r=i.id,o=Ue(i.type,e.dtype);Ke(i.position)!==Ke(e.dposition)&&(i.position=e.dposition),a[r]=!0;var s=null;if(r in n&&n[r].type===o)(s=n[r]).options=i,s.ctx=t.ctx,s.chart=t;else{var l=Oe.getScaleConstructor(o);if(!l)return;s=new l({id:r,type:o,options:i,ctx:t.ctx,chart:t}),n[s.id]=s}s.mergeTicksOptions(),e.isDefault&&(t.scale=s)}),H.each(a,function(t,e){t||delete n[e]}),t.scales=n,Oe.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t,e,n=this,i=[],a=n.data.datasets;for(t=0,e=a.length;t<e;t++){var r=a[t],o=n.getDatasetMeta(t),s=r.type||n.config.type;if(o.type&&o.type!==s&&(n.destroyDatasetMeta(t),o=n.getDatasetMeta(t)),o.type=s,o.order=r.order||0,o.index=t,o.controller)o.controller.updateIndex(t),o.controller.linkScales();else{var l=Zt[o.type];if(void 0===l)throw new Error('"'+o.type+'" is not a chart type.');o.controller=new l(n,t),i.push(o.controller)}}return i},resetElements:function(){var t=this;H.each(t.data.datasets,function(e,n){t.getDatasetMeta(n).controller.reset()},t)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(t){var e,n,i,a,r=this;if(t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]}),a=(i=r).options,H.each(i.scales,function(t){fe.removeBox(i,t)}),a=Ge(N.global,N[i.config.type],a),i.options=i.config.options=a,i.ensureScalesHaveIDs(),i.buildOrUpdateScales(),i.tooltip._options=a.tooltips,i.tooltip.initialize(),Fe._invalidate(r),!1!==Fe.notify(r,"beforeUpdate")){r.tooltip._data=r.data;var o=r.buildOrUpdateControllers();for(e=0,n=r.data.datasets.length;e<n;e++)r.getDatasetMeta(e).controller.buildOrUpdateElements();r.updateLayout(),r.options.animation&&r.options.animation.duration&&H.each(o,function(t){t.reset()}),r.updateDatasets(),r.tooltip.initialize(),r.lastActive=[],Fe.notify(r,"afterUpdate"),r._layers.sort(Ze("z","_idx")),r._bufferedRender?r._bufferedRequest={duration:t.duration,easing:t.easing,lazy:t.lazy}:r.render(t)}},updateLayout:function(){var t=this;!1!==Fe.notify(t,"beforeLayout")&&(fe.update(this,this.width,this.height),t._layers=[],H.each(t.boxes,function(e){e._configure&&e._configure(),t._layers.push.apply(t._layers,e._layers())},t),t._layers.forEach(function(t,e){t._idx=e}),Fe.notify(t,"afterScaleUpdate"),Fe.notify(t,"afterLayout"))},updateDatasets:function(){if(!1!==Fe.notify(this,"beforeDatasetsUpdate")){for(var t=0,e=this.data.datasets.length;t<e;++t)this.updateDataset(t);Fe.notify(this,"afterDatasetsUpdate")}},updateDataset:function(t){var e=this.getDatasetMeta(t),n={meta:e,index:t};!1!==Fe.notify(this,"beforeDatasetUpdate",[n])&&(e.controller._update(),Fe.notify(this,"afterDatasetUpdate",[n]))},render:function(t){var e=this;t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]});var n=e.options.animation,i=Ue(t.duration,n&&n.duration),a=t.lazy;if(!1!==Fe.notify(e,"beforeRender")){var r=function(t){Fe.notify(e,"afterRender"),H.callback(n&&n.onComplete,[t],e)};if(n&&i){var o=new $({numSteps:i/16.66,easing:t.easing||n.easing,render:function(t,e){var n=H.easing.effects[e.easing],i=e.currentStep,a=i/e.numSteps;t.draw(n(a),a,i)},onAnimationProgress:n.onProgress,onAnimationComplete:r});J.addAnimation(e,o,i,a)}else e.draw(),r(new $({numSteps:0,chart:e}));return e}},draw:function(t){var e,n,i=this;if(i.clear(),H.isNullOrUndef(t)&&(t=1),i.transition(t),!(i.width<=0||i.height<=0)&&!1!==Fe.notify(i,"beforeDraw",[t])){for(n=i._layers,e=0;e<n.length&&n[e].z<=0;++e)n[e].draw(i.chartArea);for(i.drawDatasets(t);e<n.length;++e)n[e].draw(i.chartArea);i._drawTooltip(t),Fe.notify(i,"afterDraw",[t])}},transition:function(t){for(var e=0,n=(this.data.datasets||[]).length;e<n;++e)this.isDatasetVisible(e)&&this.getDatasetMeta(e).controller.transition(t);this.tooltip.transition(t)},_getSortedDatasetMetas:function(t){var e,n,i=[];for(e=0,n=(this.data.datasets||[]).length;e<n;++e)t&&!this.isDatasetVisible(e)||i.push(this.getDatasetMeta(e));return i.sort(Ze("order","index")),i},_getSortedVisibleDatasetMetas:function(){return this._getSortedDatasetMetas(!0)},drawDatasets:function(t){var e,n;if(!1!==Fe.notify(this,"beforeDatasetsDraw",[t])){for(n=(e=this._getSortedVisibleDatasetMetas()).length-1;n>=0;--n)this.drawDataset(e[n],t);Fe.notify(this,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var n={meta:t,index:t.index,easingValue:e};!1!==Fe.notify(this,"beforeDatasetDraw",[n])&&(t.controller.draw(e),Fe.notify(this,"afterDatasetDraw",[n]))},_drawTooltip:function(t){var e=this.tooltip,n={tooltip:e,easingValue:t};!1!==Fe.notify(this,"beforeTooltipDraw",[n])&&(e.draw(),Fe.notify(this,"afterTooltipDraw",[n]))},getElementAtEvent:function(t){return ie.modes.single(this,t)},getElementsAtEvent:function(t){return ie.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return ie.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,n){var i=ie.modes[e];return"function"==typeof i?i(this,t,n):[]},getDatasetAtEvent:function(t){return ie.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var n=e._meta[this.id];return n||(n=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e.order||0,index:t}),n},getVisibleDatasetCount:function(){for(var t=0,e=0,n=this.data.datasets.length;e<n;++e)this.isDatasetVisible(e)&&t++;return t},isDatasetVisible:function(t){var e=this.getDatasetMeta(t);return"boolean"==typeof e.hidden?!e.hidden:!this.data.datasets[t].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(t){var e=this.id,n=this.data.datasets[t],i=n._meta&&n._meta[e];i&&(i.controller.destroy(),delete n._meta[e])},destroy:function(){var t,e,n=this,i=n.canvas;for(n.stop(),t=0,e=n.data.datasets.length;t<e;++t)n.destroyDatasetMeta(t);i&&(n.unbindEvents(),H.canvas.clear(n),Ie.releaseContext(n.ctx),n.canvas=null,n.ctx=null),Fe.notify(n,"destroy"),delete $e.instances[n.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var t=this;t.tooltip=new qe({_chart:t,_chartInstance:t,_data:t.data,_options:t.options.tooltips},t)},bindEvents:function(){var t=this,e=t._listeners={},n=function(){t.eventHandler.apply(t,arguments)};H.each(t.options.events,function(i){Ie.addEventListener(t,i,n),e[i]=n}),t.options.responsive&&(n=function(){t.resize()},Ie.addEventListener(t,"resize",n),e.resize=n)},unbindEvents:function(){var t=this,e=t._listeners;e&&(delete t._listeners,H.each(e,function(e,n){Ie.removeEventListener(t,n,e)}))},updateHoverStyle:function(t,e,n){var i,a,r,o=n?"set":"remove";for(a=0,r=t.length;a<r;++a)(i=t[a])&&this.getDatasetMeta(i._datasetIndex).controller[o+"HoverStyle"](i);"dataset"===e&&this.getDatasetMeta(t[0]._datasetIndex).controller["_"+o+"DatasetHoverStyle"]()},eventHandler:function(t){var e=this,n=e.tooltip;if(!1!==Fe.notify(e,"beforeEvent",[t])){e._bufferedRender=!0,e._bufferedRequest=null;var i=e.handleEvent(t);n&&(i=n._start?n.handleEvent(t):i|n.handleEvent(t)),Fe.notify(e,"afterEvent",[t]);var a=e._bufferedRequest;return a?e.render(a):i&&!e.animating&&(e.stop(),e.render({duration:e.options.hover.animationDuration,lazy:!0})),e._bufferedRender=!1,e._bufferedRequest=null,e}},handleEvent:function(t){var e,n=this,i=n.options||{},a=i.hover;return n.lastActive=n.lastActive||[],"mouseout"===t.type?n.active=[]:n.active=n.getElementsAtEventForMode(t,a.mode,a),H.callback(i.onHover||i.hover.onHover,[t.native,n.active],n),"mouseup"!==t.type&&"click"!==t.type||i.onClick&&i.onClick.call(n,t.native,n.active),n.lastActive.length&&n.updateHoverStyle(n.lastActive,a.mode,!1),n.active.length&&a.mode&&n.updateHoverStyle(n.active,a.mode,!0),e=!H.arrayEquals(n.active,n.lastActive),n.lastActive=n.active,e}}),$e.instances={};var Je=$e;$e.Controller=$e,$e.types={},H.configMerge=Ge,H.scaleMerge=Ye;function Qe(){throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.")}function tn(t){this.options=t||{}}H.extend(tn.prototype,{formats:Qe,parse:Qe,format:Qe,add:Qe,diff:Qe,startOf:Qe,endOf:Qe,_create:function(t){return t}}),tn.override=function(t){H.extend(tn.prototype,t)};var en={_date:tn},nn={formatters:{values:function(t){return H.isArray(t)?t:""+t},linear:function(t,e,n){var i=n.length>3?n[2]-n[1]:n[1]-n[0];Math.abs(i)>1&&t!==Math.floor(t)&&(i=t-Math.floor(t));var a=H.log10(Math.abs(i)),r="";if(0!==t)if(Math.max(Math.abs(n[0]),Math.abs(n[n.length-1]))<1e-4){var o=H.log10(Math.abs(t)),s=Math.floor(o)-Math.floor(a);s=Math.max(Math.min(s,20),0),r=t.toExponential(s)}else{var l=-1*Math.floor(a);l=Math.max(Math.min(l,20),0),r=t.toFixed(l)}else r="0";return r},logarithmic:function(t,e,n){var i=t/Math.pow(10,Math.floor(H.log10(t)));return 0===t?"0":1===i||2===i||5===i||0===e||e===n.length-1?t.toExponential():""}}},an=H.isArray,rn=H.isNullOrUndef,on=H.valueOrDefault,sn=H.valueAtIndexOrDefault;function ln(t,e,n){var i,a=t.getTicks().length,r=Math.min(e,a-1),o=t.getPixelForTick(r),s=t._startPixel,l=t._endPixel;if(!(n&&(i=1===a?Math.max(o-s,l-o):0===e?(t.getPixelForTick(1)-o)/2:(o-t.getPixelForTick(r-1))/2,(o+=r<e?i:-i)<s-1e-6||o>l+1e-6)))return o}function un(t,e,n,i){var a,r,o,s,l,u,d,h,c,f,g,p,m,v=n.length,b=[],x=[],y=[];for(a=0;a<v;++a){if(s=n[a].label,l=n[a].major?e.major:e.minor,t.font=u=l.string,d=i[u]=i[u]||{data:{},gc:[]},h=l.lineHeight,c=f=0,rn(s)||an(s)){if(an(s))for(r=0,o=s.length;r<o;++r)g=s[r],rn(g)||an(g)||(c=H.measureText(t,d.data,d.gc,c,g),f+=h)}else c=H.measureText(t,d.data,d.gc,c,s),f=h;b.push(c),x.push(f),y.push(h/2)}function _(t){return{width:b[t]||0,height:x[t]||0,offset:y[t]||0}}return function(t,e){H.each(t,function(t){var n,i=t.gc,a=i.length/2;if(a>e){for(n=0;n<a;++n)delete t.data[i[n]];i.splice(0,a)}})}(i,v),p=b.indexOf(Math.max.apply(null,b)),m=x.indexOf(Math.max.apply(null,x)),{first:_(0),last:_(v-1),widest:_(p),highest:_(m)}}function dn(t){return t.drawTicks?t.tickMarkLength:0}function hn(t){var e,n;return t.display?(e=H.options._parseFont(t),n=H.options.toPadding(t.padding),e.lineHeight+n.height):0}function cn(t,e){return H.extend(H.options._parseFont({fontFamily:on(e.fontFamily,t.fontFamily),fontSize:on(e.fontSize,t.fontSize),fontStyle:on(e.fontStyle,t.fontStyle),lineHeight:on(e.lineHeight,t.lineHeight)}),{color:H.options.resolve([e.fontColor,t.fontColor,N.global.defaultFontColor])})}function fn(t){var e=cn(t,t.minor);return{minor:e,major:t.major.enabled?cn(t,t.major):e}}function gn(t){var e,n,i,a=[];for(n=0,i=t.length;n<i;++n)void 0!==(e=t[n])._index&&a.push(e);return a}function pn(t,e,n,i){var a,r,o,s,l=on(n,0),u=Math.min(on(i,t.length),t.length),d=0;for(e=Math.ceil(e),i&&(e=(a=i-n)/Math.floor(a/e)),s=l;s<0;)d++,s=Math.round(l+d*e);for(r=Math.max(l,0);r<u;r++)o=t[r],r===s?(o._index=r,d++,s=Math.round(l+d*e)):delete o.label}N._set("scale",{display:!0,position:"left",offset:!1,gridLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{display:!1,labelString:"",padding:{top:4,bottom:4}},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:nn.formatters.values,minor:{},major:{}}});var mn=K.extend({zeroLineIndex:0,getPadding:function(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}},getTicks:function(){return this._ticks},_getLabels:function(){var t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]},mergeTicksOptions:function(){},beforeUpdate:function(){H.callback(this.options.beforeUpdate,[this])},update:function(t,e,n){var i,a,r,o,s,l=this,u=l.options.ticks,d=u.sampleSize;if(l.beforeUpdate(),l.maxWidth=t,l.maxHeight=e,l.margins=H.extend({left:0,right:0,top:0,bottom:0},n),l._ticks=null,l.ticks=null,l._labelSizes=null,l._maxLabelLines=0,l.longestLabelWidth=0,l.longestTextCache=l.longestTextCache||{},l._gridLineItems=null,l._labelItems=null,l.beforeSetDimensions(),l.setDimensions(),l.afterSetDimensions(),l.beforeDataLimits(),l.determineDataLimits(),l.afterDataLimits(),l.beforeBuildTicks(),o=l.buildTicks()||[],(!(o=l.afterBuildTicks(o)||o)||!o.length)&&l.ticks)for(o=[],i=0,a=l.ticks.length;i<a;++i)o.push({value:l.ticks[i],major:!1});return l._ticks=o,s=d<o.length,r=l._convertTicksToLabels(s?function(t,e){for(var n=[],i=t.length/e,a=0,r=t.length;a<r;a+=i)n.push(t[Math.floor(a)]);return n}(o,d):o),l._configure(),l.beforeCalculateTickRotation(),l.calculateTickRotation(),l.afterCalculateTickRotation(),l.beforeFit(),l.fit(),l.afterFit(),l._ticksToDraw=u.display&&(u.autoSkip||"auto"===u.source)?l._autoSkip(o):o,s&&(r=l._convertTicksToLabels(l._ticksToDraw)),l.ticks=r,l.afterUpdate(),l.minSize},_configure:function(){var t,e,n=this,i=n.options.ticks.reverse;n.isHorizontal()?(t=n.left,e=n.right):(t=n.top,e=n.bottom,i=!i),n._startPixel=t,n._endPixel=e,n._reversePixels=i,n._length=e-t},afterUpdate:function(){H.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){H.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0},afterSetDimensions:function(){H.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){H.callback(this.options.beforeDataLimits,[this])},determineDataLimits:H.noop,afterDataLimits:function(){H.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){H.callback(this.options.beforeBuildTicks,[this])},buildTicks:H.noop,afterBuildTicks:function(t){var e=this;return an(t)&&t.length?H.callback(e.options.afterBuildTicks,[e,t]):(e.ticks=H.callback(e.options.afterBuildTicks,[e,e.ticks])||e.ticks,t)},beforeTickToLabelConversion:function(){H.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var t=this.options.ticks;this.ticks=this.ticks.map(t.userCallback||t.callback,this)},afterTickToLabelConversion:function(){H.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){H.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var t,e,n,i,a,r,o,s=this,l=s.options,u=l.ticks,d=s.getTicks().length,h=u.minRotation||0,c=u.maxRotation,f=h;!s._isVisible()||!u.display||h>=c||d<=1||!s.isHorizontal()?s.labelRotation=h:(e=(t=s._getLabelSizes()).widest.width,n=t.highest.height-t.highest.offset,i=Math.min(s.maxWidth,s.chart.width-e),e+6>(a=l.offset?s.maxWidth/d:i/(d-1))&&(a=i/(d-(l.offset?.5:1)),r=s.maxHeight-dn(l.gridLines)-u.padding-hn(l.scaleLabel),o=Math.sqrt(e*e+n*n),f=H.toDegrees(Math.min(Math.asin(Math.min((t.highest.height+6)/a,1)),Math.asin(Math.min(r/o,1))-Math.asin(n/o))),f=Math.max(h,Math.min(c,f))),s.labelRotation=f)},afterCalculateTickRotation:function(){H.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){H.callback(this.options.beforeFit,[this])},fit:function(){var t=this,e=t.minSize={width:0,height:0},n=t.chart,i=t.options,a=i.ticks,r=i.scaleLabel,o=i.gridLines,s=t._isVisible(),l="bottom"===i.position,u=t.isHorizontal();if(u?e.width=t.maxWidth:s&&(e.width=dn(o)+hn(r)),u?s&&(e.height=dn(o)+hn(r)):e.height=t.maxHeight,a.display&&s){var d=fn(a),h=t._getLabelSizes(),c=h.first,f=h.last,g=h.widest,p=h.highest,m=.4*d.minor.lineHeight,v=a.padding;if(u){var b=0!==t.labelRotation,x=H.toRadians(t.labelRotation),y=Math.cos(x),_=Math.sin(x),k=_*g.width+y*(p.height-(b?p.offset:0))+(b?0:m);e.height=Math.min(t.maxHeight,e.height+k+v);var w,M,S=t.getPixelForTick(0)-t.left,C=t.right-t.getPixelForTick(t.getTicks().length-1);b?(w=l?y*c.width+_*c.offset:_*(c.height-c.offset),M=l?_*(f.height-f.offset):y*f.width+_*f.offset):(w=c.width/2,M=f.width/2),t.paddingLeft=Math.max((w-S)*t.width/(t.width-S),0)+3,t.paddingRight=Math.max((M-C)*t.width/(t.width-C),0)+3}else{var P=a.mirror?0:g.width+v+m;e.width=Math.min(t.maxWidth,e.width+P),t.paddingTop=c.height/2,t.paddingBottom=f.height/2}}t.handleMargins(),u?(t.width=t._length=n.width-t.margins.left-t.margins.right,t.height=e.height):(t.width=e.width,t.height=t._length=n.height-t.margins.top-t.margins.bottom)},handleMargins:function(){var t=this;t.margins&&(t.margins.left=Math.max(t.paddingLeft,t.margins.left),t.margins.top=Math.max(t.paddingTop,t.margins.top),t.margins.right=Math.max(t.paddingRight,t.margins.right),t.margins.bottom=Math.max(t.paddingBottom,t.margins.bottom))},afterFit:function(){H.callback(this.options.afterFit,[this])},isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(rn(t))return NaN;if(("number"==typeof t||t instanceof Number)&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},_convertTicksToLabels:function(t){var e,n,i,a=this;for(a.ticks=t.map(function(t){return t.value}),a.beforeTickToLabelConversion(),e=a.convertTicksToLabels(t)||a.ticks,a.afterTickToLabelConversion(),n=0,i=t.length;n<i;++n)t[n].label=e[n];return e},_getLabelSizes:function(){var t=this,e=t._labelSizes;return e||(t._labelSizes=e=un(t.ctx,fn(t.options.ticks),t.getTicks(),t.longestTextCache),t.longestLabelWidth=e.widest.width),e},_parseValue:function(t){var e,n,i,a;return an(t)?(e=+this.getRightValue(t[0]),n=+this.getRightValue(t[1]),i=Math.min(e,n),a=Math.max(e,n)):(e=void 0,n=t=+this.getRightValue(t),i=t,a=t),{min:i,max:a,start:e,end:n}},_getScaleLabel:function(t){var e=this._parseValue(t);return void 0!==e.start?"["+e.start+", "+e.end+"]":+this.getRightValue(t)},getLabelForIndex:H.noop,getPixelForValue:H.noop,getValueForPixel:H.noop,getPixelForTick:function(t){var e=this.options.offset,n=this._ticks.length,i=1/Math.max(n-(e?0:1),1);return t<0||t>n-1?null:this.getPixelForDecimal(t*i+(e?i/2:0))},getPixelForDecimal:function(t){return this._reversePixels&&(t=1-t),this._startPixel+t*this._length},getDecimalForPixel:function(t){var e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,n,i,a,r=this.options.ticks,o=this._length,s=r.maxTicksLimit||o/this._tickSize()+1,l=r.major.enabled?function(t){var e,n,i=[];for(e=0,n=t.length;e<n;e++)t[e].major&&i.push(e);return i}(t):[],u=l.length,d=l[0],h=l[u-1];if(u>s)return function(t,e,n){var i,a,r=0,o=e[0];for(n=Math.ceil(n),i=0;i<t.length;i++)a=t[i],i===o?(a._index=i,o=e[++r*n]):delete a.label}(t,l,u/s),gn(t);if(i=function(t,e,n,i){var a,r,o,s,l=function(t){var e,n,i=t.length;if(i<2)return!1;for(n=t[0],e=1;e<i;++e)if(t[e]-t[e-1]!==n)return!1;return n}(t),u=(e.length-1)/i;if(!l)return Math.max(u,1);for(o=0,s=(a=H.math._factorize(l)).length-1;o<s;o++)if((r=a[o])>u)return r;return Math.max(u,1)}(l,t,0,s),u>0){for(e=0,n=u-1;e<n;e++)pn(t,i,l[e],l[e+1]);return a=u>1?(h-d)/(u-1):null,pn(t,i,H.isNullOrUndef(a)?0:d-a,d),pn(t,i,h,H.isNullOrUndef(a)?t.length:h+a),gn(t)}return pn(t,i),gn(t)},_tickSize:function(){var t=this.options.ticks,e=H.toRadians(this.labelRotation),n=Math.abs(Math.cos(e)),i=Math.abs(Math.sin(e)),a=this._getLabelSizes(),r=t.autoSkipPadding||0,o=a?a.widest.width+r:0,s=a?a.highest.height+r:0;return this.isHorizontal()?s*n>o*i?o/n:s/i:s*i<o*n?s/n:o/i},_isVisible:function(){var t,e,n,i=this.chart,a=this.options.display;if("auto"!==a)return!!a;for(t=0,e=i.data.datasets.length;t<e;++t)if(i.isDatasetVisible(t)&&((n=i.getDatasetMeta(t)).xAxisID===this.id||n.yAxisID===this.id))return!0;return!1},_computeGridLineItems:function(t){var e,n,i,a,r,o,s,l,u,d,h,c,f,g,p,m,v,b=this,x=b.chart,y=b.options,_=y.gridLines,k=y.position,w=_.offsetGridLines,M=b.isHorizontal(),S=b._ticksToDraw,C=S.length+(w?1:0),P=dn(_),A=[],D=_.drawBorder?sn(_.lineWidth,0,0):0,T=D/2,I=H._alignPixel,F=function(t){return I(x,t,D)};for("top"===k?(e=F(b.bottom),s=b.bottom-P,u=e-T,h=F(t.top)+T,f=t.bottom):"bottom"===k?(e=F(b.top),h=t.top,f=F(t.bottom)-T,s=e+T,u=b.top+P):"left"===k?(e=F(b.right),o=b.right-P,l=e-T,d=F(t.left)+T,c=t.right):(e=F(b.left),d=t.left,c=F(t.right)-T,o=e+T,l=b.left+P),n=0;n<C;++n)i=S[n]||{},rn(i.label)&&n<S.length||(n===b.zeroLineIndex&&y.offset===w?(g=_.zeroLineWidth,p=_.zeroLineColor,m=_.zeroLineBorderDash||[],v=_.zeroLineBorderDashOffset||0):(g=sn(_.lineWidth,n,1),p=sn(_.color,n,"rgba(0,0,0,0.1)"),m=_.borderDash||[],v=_.borderDashOffset||0),void 0!==(a=ln(b,i._index||n,w))&&(r=I(x,a,g),M?o=l=d=c=r:s=u=h=f=r,A.push({tx1:o,ty1:s,tx2:l,ty2:u,x1:d,y1:h,x2:c,y2:f,width:g,color:p,borderDash:m,borderDashOffset:v})));return A.ticksLength=C,A.borderValue=e,A},_computeLabelItems:function(){var t,e,n,i,a,r,o,s,l,u,d,h,c=this,f=c.options,g=f.ticks,p=f.position,m=g.mirror,v=c.isHorizontal(),b=c._ticksToDraw,x=fn(g),y=g.padding,_=dn(f.gridLines),k=-H.toRadians(c.labelRotation),w=[];for("top"===p?(r=c.bottom-_-y,o=k?"left":"center"):"bottom"===p?(r=c.top+_+y,o=k?"right":"center"):"left"===p?(a=c.right-(m?0:_)-y,o=m?"left":"right"):(a=c.left+(m?0:_)+y,o=m?"right":"left"),t=0,e=b.length;t<e;++t)i=(n=b[t]).label,rn(i)||(s=c.getPixelForTick(n._index||t)+g.labelOffset,u=(l=n.major?x.major:x.minor).lineHeight,d=an(i)?i.length:1,v?(a=s,h="top"===p?((k?1:.5)-d)*u:(k?0:.5)*u):(r=s,h=(1-d)*u/2),w.push({x:a,y:r,rotation:k,label:i,font:l,textOffset:h,textAlign:o}));return w},_drawGrid:function(t){var e=this,n=e.options.gridLines;if(n.display){var i,a,r,o,s,l=e.ctx,u=e.chart,d=H._alignPixel,h=n.drawBorder?sn(n.lineWidth,0,0):0,c=e._gridLineItems||(e._gridLineItems=e._computeGridLineItems(t));for(r=0,o=c.length;r<o;++r)i=(s=c[r]).width,a=s.color,i&&a&&(l.save(),l.lineWidth=i,l.strokeStyle=a,l.setLineDash&&(l.setLineDash(s.borderDash),l.lineDashOffset=s.borderDashOffset),l.beginPath(),n.drawTicks&&(l.moveTo(s.tx1,s.ty1),l.lineTo(s.tx2,s.ty2)),n.drawOnChartArea&&(l.moveTo(s.x1,s.y1),l.lineTo(s.x2,s.y2)),l.stroke(),l.restore());if(h){var f,g,p,m,v=h,b=sn(n.lineWidth,c.ticksLength-1,1),x=c.borderValue;e.isHorizontal()?(f=d(u,e.left,v)-v/2,g=d(u,e.right,b)+b/2,p=m=x):(p=d(u,e.top,v)-v/2,m=d(u,e.bottom,b)+b/2,f=g=x),l.lineWidth=h,l.strokeStyle=sn(n.color,0),l.beginPath(),l.moveTo(f,p),l.lineTo(g,m),l.stroke()}}},_drawLabels:function(){var t=this;if(t.options.ticks.display){var e,n,i,a,r,o,s,l,u=t.ctx,d=t._labelItems||(t._labelItems=t._computeLabelItems());for(e=0,i=d.length;e<i;++e){if(o=(r=d[e]).font,u.save(),u.translate(r.x,r.y),u.rotate(r.rotation),u.font=o.string,u.fillStyle=o.color,u.textBaseline="middle",u.textAlign=r.textAlign,s=r.label,l=r.textOffset,an(s))for(n=0,a=s.length;n<a;++n)u.fillText(""+s[n],0,l),l+=o.lineHeight;else u.fillText(s,0,l);u.restore()}}},_drawTitle:function(){var t=this,e=t.ctx,n=t.options,i=n.scaleLabel;if(i.display){var a,r,o=on(i.fontColor,N.global.defaultFontColor),s=H.options._parseFont(i),l=H.options.toPadding(i.padding),u=s.lineHeight/2,d=n.position,h=0;if(t.isHorizontal())a=t.left+t.width/2,r="bottom"===d?t.bottom-u-l.bottom:t.top+u+l.top;else{var c="left"===d;a=c?t.left+u+l.top:t.right-u-l.top,r=t.top+t.height/2,h=c?-.5*Math.PI:.5*Math.PI}e.save(),e.translate(a,r),e.rotate(h),e.textAlign="center",e.textBaseline="middle",e.fillStyle=o,e.font=s.string,e.fillText(i.labelString,0,0),e.restore()}},draw:function(t){this._isVisible()&&(this._drawGrid(t),this._drawTitle(),this._drawLabels())},_layers:function(){var t=this,e=t.options,n=e.ticks&&e.ticks.z||0,i=e.gridLines&&e.gridLines.z||0;return t._isVisible()&&n!==i&&t.draw===t._draw?[{z:i,draw:function(){t._drawGrid.apply(t,arguments),t._drawTitle.apply(t,arguments)}},{z:n,draw:function(){t._drawLabels.apply(t,arguments)}}]:[{z:n,draw:function(){t.draw.apply(t,arguments)}}]},_getMatchingVisibleMetas:function(t){var e=this,n=e.isHorizontal();return e.chart._getSortedVisibleDatasetMetas().filter(function(i){return(!t||i.type===t)&&(n?i.xAxisID===e.id:i.yAxisID===e.id)})}});mn.prototype._draw=mn.prototype.draw;var vn=mn,bn=H.isNullOrUndef,xn=vn.extend({determineDataLimits:function(){var t,e=this,n=e._getLabels(),i=e.options.ticks,a=i.min,r=i.max,o=0,s=n.length-1;void 0!==a&&(t=n.indexOf(a))>=0&&(o=t),void 0!==r&&(t=n.indexOf(r))>=0&&(s=t),e.minIndex=o,e.maxIndex=s,e.min=n[o],e.max=n[s]},buildTicks:function(){var t=this._getLabels(),e=this.minIndex,n=this.maxIndex;this.ticks=0===e&&n===t.length-1?t:t.slice(e,n+1)},getLabelForIndex:function(t,e){var n=this.chart;return n.getDatasetMeta(e).controller._getValueScaleId()===this.id?this.getRightValue(n.data.datasets[e].data[t]):this._getLabels()[t]},_configure:function(){var t=this,e=t.options.offset,n=t.ticks;vn.prototype._configure.call(t),t.isHorizontal()||(t._reversePixels=!t._reversePixels),n&&(t._startValue=t.minIndex-(e?.5:0),t._valueRange=Math.max(n.length-(e?0:1),1))},getPixelForValue:function(t,e,n){var i,a,r,o=this;return bn(e)||bn(n)||(t=o.chart.data.datasets[n].data[e]),bn(t)||(i=o.isHorizontal()?t.x:t.y),(void 0!==i||void 0!==t&&isNaN(e))&&(a=o._getLabels(),t=H.valueOrDefault(i,t),e=-1!==(r=a.indexOf(t))?r:e,isNaN(e)&&(e=t)),o.getPixelForDecimal((e-o._startValue)/o._valueRange)},getPixelForTick:function(t){var e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t],t+this.minIndex)},getValueForPixel:function(t){var e=Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange);return Math.min(Math.max(e,0),this.ticks.length-1)},getBasePixel:function(){return this.bottom}}),yn={position:"bottom"};xn._defaults=yn;var _n=H.noop,kn=H.isNullOrUndef;var wn=vn.extend({getRightValue:function(t){return"string"==typeof t?+t:vn.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var n=H.sign(t.min),i=H.sign(t.max);n<0&&i<0?t.max=0:n>0&&i>0&&(t.min=0)}var a=void 0!==e.min||void 0!==e.suggestedMin,r=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(null===t.min?t.min=e.suggestedMin:t.min=Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(null===t.max?t.max=e.suggestedMax:t.max=Math.max(t.max,e.suggestedMax)),a!==r&&t.min>=t.max&&(a?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:function(){var t,e=this.options.ticks,n=e.stepSize,i=e.maxTicksLimit;return n?t=Math.ceil(this.max/n)-Math.floor(this.min/n)+1:(t=this._computeTickLimit(),i=i||11),i&&(t=Math.min(i,t)),t},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:_n,buildTicks:function(){var t=this,e=t.options.ticks,n=t.getTickLimit(),i={maxTicks:n=Math.max(2,n),min:e.min,max:e.max,precision:e.precision,stepSize:H.valueOrDefault(e.fixedStepSize,e.stepSize)},a=t.ticks=function(t,e){var n,i,a,r,o=[],s=t.stepSize,l=s||1,u=t.maxTicks-1,d=t.min,h=t.max,c=t.precision,f=e.min,g=e.max,p=H.niceNum((g-f)/u/l)*l;if(p<1e-14&&kn(d)&&kn(h))return[f,g];(r=Math.ceil(g/p)-Math.floor(f/p))>u&&(p=H.niceNum(r*p/u/l)*l),s||kn(c)?n=Math.pow(10,H._decimalPlaces(p)):(n=Math.pow(10,c),p=Math.ceil(p*n)/n),i=Math.floor(f/p)*p,a=Math.ceil(g/p)*p,s&&(!kn(d)&&H.almostWhole(d/p,p/1e3)&&(i=d),!kn(h)&&H.almostWhole(h/p,p/1e3)&&(a=h)),r=(a-i)/p,r=H.almostEquals(r,Math.round(r),p/1e3)?Math.round(r):Math.ceil(r),i=Math.round(i*n)/n,a=Math.round(a*n)/n,o.push(kn(d)?i:d);for(var m=1;m<r;++m)o.push(Math.round((i+m*p)*n)/n);return o.push(kn(h)?a:h),o}(i,t);t.handleDirectionalChanges(),t.max=H.max(a),t.min=H.min(a),e.reverse?(a.reverse(),t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max)},convertTicksToLabels:function(){var t=this;t.ticksAsNumbers=t.ticks.slice(),t.zeroLineIndex=t.ticks.indexOf(0),vn.prototype.convertTicksToLabels.call(t)},_configure:function(){var t,e=this,n=e.getTicks(),i=e.min,a=e.max;vn.prototype._configure.call(e),e.options.offset&&n.length&&(i-=t=(a-i)/Math.max(n.length-1,1)/2,a+=t),e._startValue=i,e._endValue=a,e._valueRange=a-i}}),Mn={position:"left",ticks:{callback:nn.formatters.linear}};function Sn(t,e,n,i){var a,r,o=t.options,s=function(t,e,n){var i=[n.type,void 0===e&&void 0===n.stack?n.index:"",n.stack].join(".");return void 0===t[i]&&(t[i]={pos:[],neg:[]}),t[i]}(e,o.stacked,n),l=s.pos,u=s.neg,d=i.length;for(a=0;a<d;++a)r=t._parseValue(i[a]),isNaN(r.min)||isNaN(r.max)||n.data[a].hidden||(l[a]=l[a]||0,u[a]=u[a]||0,o.relativePoints?l[a]=100:r.min<0||r.max<0?u[a]+=r.min:l[a]+=r.max)}function Cn(t,e,n){var i,a,r=n.length;for(i=0;i<r;++i)a=t._parseValue(n[i]),isNaN(a.min)||isNaN(a.max)||e.data[i].hidden||(t.min=Math.min(t.min,a.min),t.max=Math.max(t.max,a.max))}var Pn=wn.extend({determineDataLimits:function(){var t,e,n,i,a=this,r=a.options,o=a.chart.data.datasets,s=a._getMatchingVisibleMetas(),l=r.stacked,u={},d=s.length;if(a.min=Number.POSITIVE_INFINITY,a.max=Number.NEGATIVE_INFINITY,void 0===l)for(t=0;!l&&t<d;++t)l=void 0!==(e=s[t]).stack;for(t=0;t<d;++t)n=o[(e=s[t]).index].data,l?Sn(a,u,e,n):Cn(a,e,n);H.each(u,function(t){i=t.pos.concat(t.neg),a.min=Math.min(a.min,H.min(i)),a.max=Math.max(a.max,H.max(i))}),a.min=H.isFinite(a.min)&&!isNaN(a.min)?a.min:0,a.max=H.isFinite(a.max)&&!isNaN(a.max)?a.max:1,a.handleTickRangeOptions()},_computeTickLimit:function(){var t;return this.isHorizontal()?Math.ceil(this.width/40):(t=H.options._parseFont(this.options.ticks),Math.ceil(this.height/t.lineHeight))},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return this._getScaleLabel(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){return this.getPixelForDecimal((+this.getRightValue(t)-this._startValue)/this._valueRange)},getValueForPixel:function(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange},getPixelForTick:function(t){var e=this.ticksAsNumbers;return t<0||t>e.length-1?null:this.getPixelForValue(e[t])}}),An=Mn;Pn._defaults=An;var Dn=H.valueOrDefault,Tn=H.math.log10;var In={position:"left",ticks:{callback:nn.formatters.logarithmic}};function Fn(t,e){return H.isFinite(t)&&t>=0?t:e}var On=vn.extend({determineDataLimits:function(){var t,e,n,i,a,r,o=this,s=o.options,l=o.chart,u=l.data.datasets,d=o.isHorizontal();function h(t){return d?t.xAxisID===o.id:t.yAxisID===o.id}o.min=Number.POSITIVE_INFINITY,o.max=Number.NEGATIVE_INFINITY,o.minNotZero=Number.POSITIVE_INFINITY;var c=s.stacked;if(void 0===c)for(t=0;t<u.length;t++)if(e=l.getDatasetMeta(t),l.isDatasetVisible(t)&&h(e)&&void 0!==e.stack){c=!0;break}if(s.stacked||c){var f={};for(t=0;t<u.length;t++){var g=[(e=l.getDatasetMeta(t)).type,void 0===s.stacked&&void 0===e.stack?t:"",e.stack].join(".");if(l.isDatasetVisible(t)&&h(e))for(void 0===f[g]&&(f[g]=[]),a=0,r=(i=u[t].data).length;a<r;a++){var p=f[g];n=o._parseValue(i[a]),isNaN(n.min)||isNaN(n.max)||e.data[a].hidden||n.min<0||n.max<0||(p[a]=p[a]||0,p[a]+=n.max)}}H.each(f,function(t){if(t.length>0){var e=H.min(t),n=H.max(t);o.min=Math.min(o.min,e),o.max=Math.max(o.max,n)}})}else for(t=0;t<u.length;t++)if(e=l.getDatasetMeta(t),l.isDatasetVisible(t)&&h(e))for(a=0,r=(i=u[t].data).length;a<r;a++)n=o._parseValue(i[a]),isNaN(n.min)||isNaN(n.max)||e.data[a].hidden||n.min<0||n.max<0||(o.min=Math.min(n.min,o.min),o.max=Math.max(n.max,o.max),0!==n.min&&(o.minNotZero=Math.min(n.min,o.minNotZero)));o.min=H.isFinite(o.min)?o.min:null,o.max=H.isFinite(o.max)?o.max:null,o.minNotZero=H.isFinite(o.minNotZero)?o.minNotZero:null,this.handleTickRangeOptions()},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;t.min=Fn(e.min,t.min),t.max=Fn(e.max,t.max),t.min===t.max&&(0!==t.min&&null!==t.min?(t.min=Math.pow(10,Math.floor(Tn(t.min))-1),t.max=Math.pow(10,Math.floor(Tn(t.max))+1)):(t.min=1,t.max=10)),null===t.min&&(t.min=Math.pow(10,Math.floor(Tn(t.max))-1)),null===t.max&&(t.max=0!==t.min?Math.pow(10,Math.floor(Tn(t.min))+1):10),null===t.minNotZero&&(t.min>0?t.minNotZero=t.min:t.max<1?t.minNotZero=Math.pow(10,Math.floor(Tn(t.max))):t.minNotZero=1)},buildTicks:function(){var t=this,e=t.options.ticks,n=!t.isHorizontal(),i={min:Fn(e.min),max:Fn(e.max)},a=t.ticks=function(t,e){var n,i,a=[],r=Dn(t.min,Math.pow(10,Math.floor(Tn(e.min)))),o=Math.floor(Tn(e.max)),s=Math.ceil(e.max/Math.pow(10,o));0===r?(n=Math.floor(Tn(e.minNotZero)),i=Math.floor(e.minNotZero/Math.pow(10,n)),a.push(r),r=i*Math.pow(10,n)):(n=Math.floor(Tn(r)),i=Math.floor(r/Math.pow(10,n)));var l=n<0?Math.pow(10,Math.abs(n)):1;do{a.push(r),10==++i&&(i=1,l=++n>=0?1:l),r=Math.round(i*Math.pow(10,n)*l)/l}while(n<o||n===o&&i<s);var u=Dn(t.max,r);return a.push(u),a}(i,t);t.max=H.max(a),t.min=H.min(a),e.reverse?(n=!n,t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max),n&&a.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),vn.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(t,e){return this._getScaleLabel(this.chart.data.datasets[e].data[t])},getPixelForTick:function(t){var e=this.tickValues;return t<0||t>e.length-1?null:this.getPixelForValue(e[t])},_getFirstTickValue:function(t){var e=Math.floor(Tn(t));return Math.floor(t/Math.pow(10,e))*Math.pow(10,e)},_configure:function(){var t=this,e=t.min,n=0;vn.prototype._configure.call(t),0===e&&(e=t._getFirstTickValue(t.minNotZero),n=Dn(t.options.ticks.fontSize,N.global.defaultFontSize)/t._length),t._startValue=Tn(e),t._valueOffset=n,t._valueRange=(Tn(t.max)-Tn(e))/(1-n)},getPixelForValue:function(t){var e=this,n=0;return(t=+e.getRightValue(t))>e.min&&t>0&&(n=(Tn(t)-e._startValue)/e._valueRange+e._valueOffset),e.getPixelForDecimal(n)},getValueForPixel:function(t){var e=this,n=e.getDecimalForPixel(t);return 0===n&&0===e.min?0:Math.pow(10,e._startValue+(n-e._valueOffset)*e._valueRange)}}),Ln=In;On._defaults=Ln;var Rn=H.valueOrDefault,zn=H.valueAtIndexOrDefault,Nn=H.options.resolve,Bn={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:nn.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}};function En(t){var e=t.ticks;return e.display&&t.display?Rn(e.fontSize,N.global.defaultFontSize)+2*e.backdropPaddingY:0}function Wn(t,e,n,i,a){return t===i||t===a?{start:e-n/2,end:e+n/2}:t<i||t>a?{start:e-n,end:e}:{start:e,end:e+n}}function Vn(t){return 0===t||180===t?"center":t<180?"left":"right"}function Hn(t,e,n,i){var a,r,o=n.y+i/2;if(H.isArray(e))for(a=0,r=e.length;a<r;++a)t.fillText(e[a],n.x,o),o+=i;else t.fillText(e,n.x,o)}function jn(t,e,n){90===t||270===t?n.y-=e.h/2:(t>270||t<90)&&(n.y-=e.h)}function qn(t){return H.isNumber(t)?t:0}var Un=wn.extend({setDimensions:function(){var t=this;t.width=t.maxWidth,t.height=t.maxHeight,t.paddingTop=En(t.options)/2,t.xCenter=Math.floor(t.width/2),t.yCenter=Math.floor((t.height-t.paddingTop)/2),t.drawingArea=Math.min(t.height-t.paddingTop,t.width)/2},determineDataLimits:function(){var t=this,e=t.chart,n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;H.each(e.data.datasets,function(a,r){if(e.isDatasetVisible(r)){var o=e.getDatasetMeta(r);H.each(a.data,function(e,a){var r=+t.getRightValue(e);isNaN(r)||o.data[a].hidden||(n=Math.min(r,n),i=Math.max(r,i))})}}),t.min=n===Number.POSITIVE_INFINITY?0:n,t.max=i===Number.NEGATIVE_INFINITY?0:i,t.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/En(this.options))},convertTicksToLabels:function(){var t=this;wn.prototype.convertTicksToLabels.call(t),t.pointLabels=t.chart.data.labels.map(function(){var e=H.callback(t.options.pointLabels.callback,arguments,t);return e||0===e?e:""})},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t=this.options;t.display&&t.pointLabels.display?function(t){var e,n,i,a=H.options._parseFont(t.options.pointLabels),r={l:0,r:t.width,t:0,b:t.height-t.paddingTop},o={};t.ctx.font=a.string,t._pointLabelSizes=[];var s,l,u,d=t.chart.data.labels.length;for(e=0;e<d;e++){i=t.getPointPosition(e,t.drawingArea+5),s=t.ctx,l=a.lineHeight,u=t.pointLabels[e],n=H.isArray(u)?{w:H.longestText(s,s.font,u),h:u.length*l}:{w:s.measureText(u).width,h:l},t._pointLabelSizes[e]=n;var h=t.getIndexAngle(e),c=H.toDegrees(h)%360,f=Wn(c,i.x,n.w,0,180),g=Wn(c,i.y,n.h,90,270);f.start<r.l&&(r.l=f.start,o.l=h),f.end>r.r&&(r.r=f.end,o.r=h),g.start<r.t&&(r.t=g.start,o.t=h),g.end>r.b&&(r.b=g.end,o.b=h)}t.setReductions(t.drawingArea,r,o)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(t,e,n){var i=this,a=e.l/Math.sin(n.l),r=Math.max(e.r-i.width,0)/Math.sin(n.r),o=-e.t/Math.cos(n.t),s=-Math.max(e.b-(i.height-i.paddingTop),0)/Math.cos(n.b);a=qn(a),r=qn(r),o=qn(o),s=qn(s),i.drawingArea=Math.min(Math.floor(t-(a+r)/2),Math.floor(t-(o+s)/2)),i.setCenterPoint(a,r,o,s)},setCenterPoint:function(t,e,n,i){var a=this,r=a.width-e-a.drawingArea,o=t+a.drawingArea,s=n+a.drawingArea,l=a.height-a.paddingTop-i-a.drawingArea;a.xCenter=Math.floor((o+r)/2+a.left),a.yCenter=Math.floor((s+l)/2+a.top+a.paddingTop)},getIndexAngle:function(t){var e=this.chart,n=(t*(360/e.data.labels.length)+((e.options||{}).startAngle||0))%360;return(n<0?n+360:n)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(H.isNullOrUndef(t))return NaN;var n=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*n:(t-e.min)*n},getPointPosition:function(t,e){var n=this.getIndexAngle(t)-Math.PI/2;return{x:Math.cos(n)*e+this.xCenter,y:Math.sin(n)*e+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(t){var e=this.min,n=this.max;return this.getPointPositionForValue(t||0,this.beginAtZero?0:e<0&&n<0?n:e>0&&n>0?e:0)},_drawGrid:function(){var t,e,n,i=this,a=i.ctx,r=i.options,o=r.gridLines,s=r.angleLines,l=Rn(s.lineWidth,o.lineWidth),u=Rn(s.color,o.color);if(r.pointLabels.display&&function(t){var e=t.ctx,n=t.options,i=n.pointLabels,a=En(n),r=t.getDistanceFromCenterForValue(n.ticks.reverse?t.min:t.max),o=H.options._parseFont(i);e.save(),e.font=o.string,e.textBaseline="middle";for(var s=t.chart.data.labels.length-1;s>=0;s--){var l=0===s?a/2:0,u=t.getPointPosition(s,r+l+5),d=zn(i.fontColor,s,N.global.defaultFontColor);e.fillStyle=d;var h=t.getIndexAngle(s),c=H.toDegrees(h);e.textAlign=Vn(c),jn(c,t._pointLabelSizes[s],u),Hn(e,t.pointLabels[s],u,o.lineHeight)}e.restore()}(i),o.display&&H.each(i.ticks,function(t,n){0!==n&&(e=i.getDistanceFromCenterForValue(i.ticksAsNumbers[n]),function(t,e,n,i){var a,r=t.ctx,o=e.circular,s=t.chart.data.labels.length,l=zn(e.color,i-1),u=zn(e.lineWidth,i-1);if((o||s)&&l&&u){if(r.save(),r.strokeStyle=l,r.lineWidth=u,r.setLineDash&&(r.setLineDash(e.borderDash||[]),r.lineDashOffset=e.borderDashOffset||0),r.beginPath(),o)r.arc(t.xCenter,t.yCenter,n,0,2*Math.PI);else{a=t.getPointPosition(0,n),r.moveTo(a.x,a.y);for(var d=1;d<s;d++)a=t.getPointPosition(d,n),r.lineTo(a.x,a.y)}r.closePath(),r.stroke(),r.restore()}}(i,o,e,n))}),s.display&&l&&u){for(a.save(),a.lineWidth=l,a.strokeStyle=u,a.setLineDash&&(a.setLineDash(Nn([s.borderDash,o.borderDash,[]])),a.lineDashOffset=Nn([s.borderDashOffset,o.borderDashOffset,0])),t=i.chart.data.labels.length-1;t>=0;t--)e=i.getDistanceFromCenterForValue(r.ticks.reverse?i.min:i.max),n=i.getPointPosition(t,e),a.beginPath(),a.moveTo(i.xCenter,i.yCenter),a.lineTo(n.x,n.y),a.stroke();a.restore()}},_drawLabels:function(){var t=this,e=t.ctx,n=t.options.ticks;if(n.display){var i,a,r=t.getIndexAngle(0),o=H.options._parseFont(n),s=Rn(n.fontColor,N.global.defaultFontColor);e.save(),e.font=o.string,e.translate(t.xCenter,t.yCenter),e.rotate(r),e.textAlign="center",e.textBaseline="middle",H.each(t.ticks,function(r,l){(0!==l||n.reverse)&&(i=t.getDistanceFromCenterForValue(t.ticksAsNumbers[l]),n.showLabelBackdrop&&(a=e.measureText(r).width,e.fillStyle=n.backdropColor,e.fillRect(-a/2-n.backdropPaddingX,-i-o.size/2-n.backdropPaddingY,a+2*n.backdropPaddingX,o.size+2*n.backdropPaddingY)),e.fillStyle=s,e.fillText(r,0,-i))}),e.restore()}},_drawTitle:H.noop}),Yn=Bn;Un._defaults=Yn;var Gn=H._deprecated,Xn=H.options.resolve,Kn=H.valueOrDefault,Zn=Number.MIN_SAFE_INTEGER||-9007199254740991,$n=Number.MAX_SAFE_INTEGER||9007199254740991,Jn={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Qn=Object.keys(Jn);function ti(t,e){return t-e}function ei(t){return H.valueOrDefault(t.time.min,t.ticks.min)}function ni(t){return H.valueOrDefault(t.time.max,t.ticks.max)}function ii(t,e,n,i){var a=function(t,e,n){for(var i,a,r,o=0,s=t.length-1;o>=0&&o<=s;){if(a=t[(i=o+s>>1)-1]||null,r=t[i],!a)return{lo:null,hi:r};if(r[e]<n)o=i+1;else{if(!(a[e]>n))return{lo:a,hi:r};s=i-1}}return{lo:r,hi:null}}(t,e,n),r=a.lo?a.hi?a.lo:t[t.length-2]:t[0],o=a.lo?a.hi?a.hi:t[t.length-1]:t[1],s=o[e]-r[e],l=s?(n-r[e])/s:0,u=(o[i]-r[i])*l;return r[i]+u}function ai(t,e){var n=t._adapter,i=t.options.time,a=i.parser,r=a||i.format,o=e;return"function"==typeof a&&(o=a(o)),H.isFinite(o)||(o="string"==typeof r?n.parse(o,r):n.parse(o)),null!==o?+o:(a||"function"!=typeof r||(o=r(e),H.isFinite(o)||(o=n.parse(o))),o)}function ri(t,e){if(H.isNullOrUndef(e))return null;var n=t.options.time,i=ai(t,t.getRightValue(e));return null===i?i:(n.round&&(i=+t._adapter.startOf(i,n.round)),i)}function oi(t,e,n,i){var a,r,o,s=Qn.length;for(a=Qn.indexOf(t);a<s-1;++a)if(o=(r=Jn[Qn[a]]).steps?r.steps:$n,r.common&&Math.ceil((n-e)/(o*r.size))<=i)return Qn[a];return Qn[s-1]}function si(t,e,n){var i,a,r=[],o={},s=e.length;for(i=0;i<s;++i)o[a=e[i]]=i,r.push({value:a,major:!1});return 0!==s&&n?function(t,e,n,i){var a,r,o=t._adapter,s=+o.startOf(e[0].value,i),l=e[e.length-1].value;for(a=s;a<=l;a=+o.add(a,1,i))(r=n[a])>=0&&(e[r].major=!0);return e}(t,r,o,n):r}var li=vn.extend({initialize:function(){this.mergeTicksOptions(),vn.prototype.initialize.call(this)},update:function(){var t=this.options,e=t.time||(t.time={}),n=this._adapter=new en._date(t.adapters.date);return Gn("time scale",e.format,"time.format","time.parser"),Gn("time scale",e.min,"time.min","ticks.min"),Gn("time scale",e.max,"time.max","ticks.max"),H.mergeIf(e.displayFormats,n.formats()),vn.prototype.update.apply(this,arguments)},getRightValue:function(t){return t&&void 0!==t.t&&(t=t.t),vn.prototype.getRightValue.call(this,t)},determineDataLimits:function(){var t,e,n,i,a,r,o,s=this,l=s.chart,u=s._adapter,d=s.options,h=d.time.unit||"day",c=$n,f=Zn,g=[],p=[],m=[],v=s._getLabels();for(t=0,n=v.length;t<n;++t)m.push(ri(s,v[t]));for(t=0,n=(l.data.datasets||[]).length;t<n;++t)if(l.isDatasetVisible(t))if(a=l.data.datasets[t].data,H.isObject(a[0]))for(p[t]=[],e=0,i=a.length;e<i;++e)r=ri(s,a[e]),g.push(r),p[t][e]=r;else p[t]=m.slice(0),o||(g=g.concat(m),o=!0);else p[t]=[];m.length&&(c=Math.min(c,m[0]),f=Math.max(f,m[m.length-1])),g.length&&(g=n>1?function(t){var e,n,i,a={},r=[];for(e=0,n=t.length;e<n;++e)a[i=t[e]]||(a[i]=!0,r.push(i));return r}(g).sort(ti):g.sort(ti),c=Math.min(c,g[0]),f=Math.max(f,g[g.length-1])),c=ri(s,ei(d))||c,f=ri(s,ni(d))||f,c=c===$n?+u.startOf(Date.now(),h):c,f=f===Zn?+u.endOf(Date.now(),h)+1:f,s.min=Math.min(c,f),s.max=Math.max(c+1,f),s._table=[],s._timestamps={data:g,datasets:p,labels:m}},buildTicks:function(){var t,e,n,i=this,a=i.min,r=i.max,o=i.options,s=o.ticks,l=o.time,u=i._timestamps,d=[],h=i.getLabelCapacity(a),c=s.source,f=o.distribution;for(u="data"===c||"auto"===c&&"series"===f?u.data:"labels"===c?u.labels:function(t,e,n,i){var a,r=t._adapter,o=t.options,s=o.time,l=s.unit||oi(s.minUnit,e,n,i),u=Xn([s.stepSize,s.unitStepSize,1]),d="week"===l&&s.isoWeekday,h=e,c=[];if(d&&(h=+r.startOf(h,"isoWeek",d)),h=+r.startOf(h,d?"day":l),r.diff(n,e,l)>1e5*u)throw e+" and "+n+" are too far apart with stepSize of "+u+" "+l;for(a=h;a<n;a=+r.add(a,u,l))c.push(a);return a!==n&&"ticks"!==o.bounds||c.push(a),c}(i,a,r,h),"ticks"===o.bounds&&u.length&&(a=u[0],r=u[u.length-1]),a=ri(i,ei(o))||a,r=ri(i,ni(o))||r,t=0,e=u.length;t<e;++t)(n=u[t])>=a&&n<=r&&d.push(n);return i.min=a,i.max=r,i._unit=l.unit||(s.autoSkip?oi(l.minUnit,i.min,i.max,h):function(t,e,n,i,a){var r,o;for(r=Qn.length-1;r>=Qn.indexOf(n);r--)if(o=Qn[r],Jn[o].common&&t._adapter.diff(a,i,o)>=e-1)return o;return Qn[n?Qn.indexOf(n):0]}(i,d.length,l.minUnit,i.min,i.max)),i._majorUnit=s.major.enabled&&"year"!==i._unit?function(t){for(var e=Qn.indexOf(t)+1,n=Qn.length;e<n;++e)if(Jn[Qn[e]].common)return Qn[e]}(i._unit):void 0,i._table=function(t,e,n,i){if("linear"===i||!t.length)return[{time:e,pos:0},{time:n,pos:1}];var a,r,o,s,l,u=[],d=[e];for(a=0,r=t.length;a<r;++a)(s=t[a])>e&&s<n&&d.push(s);for(d.push(n),a=0,r=d.length;a<r;++a)l=d[a+1],o=d[a-1],s=d[a],void 0!==o&&void 0!==l&&Math.round((l+o)/2)===s||u.push({time:s,pos:a/(r-1)});return u}(i._timestamps.data,a,r,f),i._offsets=function(t,e,n,i,a){var r,o,s=0,l=0;return a.offset&&e.length&&(r=ii(t,"time",e[0],"pos"),s=1===e.length?1-r:(ii(t,"time",e[1],"pos")-r)/2,o=ii(t,"time",e[e.length-1],"pos"),l=1===e.length?o:(o-ii(t,"time",e[e.length-2],"pos"))/2),{start:s,end:l,factor:1/(s+1+l)}}(i._table,d,0,0,o),s.reverse&&d.reverse(),si(i,d,i._majorUnit)},getLabelForIndex:function(t,e){var n=this,i=n._adapter,a=n.chart.data,r=n.options.time,o=a.labels&&t<a.labels.length?a.labels[t]:"",s=a.datasets[e].data[t];return H.isObject(s)&&(o=n.getRightValue(s)),r.tooltipFormat?i.format(ai(n,o),r.tooltipFormat):"string"==typeof o?o:i.format(ai(n,o),r.displayFormats.datetime)},tickFormatFunction:function(t,e,n,i){var a=this._adapter,r=this.options,o=r.time.displayFormats,s=o[this._unit],l=this._majorUnit,u=o[l],d=n[e],h=r.ticks,c=l&&u&&d&&d.major,f=a.format(t,i||(c?u:s)),g=c?h.major:h.minor,p=Xn([g.callback,g.userCallback,h.callback,h.userCallback]);return p?p(f,e,n):f},convertTicksToLabels:function(t){var e,n,i=[];for(e=0,n=t.length;e<n;++e)i.push(this.tickFormatFunction(t[e].value,e,t));return i},getPixelForOffset:function(t){var e=this._offsets,n=ii(this._table,"time",t,"pos");return this.getPixelForDecimal((e.start+n)*e.factor)},getPixelForValue:function(t,e,n){var i=null;if(void 0!==e&&void 0!==n&&(i=this._timestamps.datasets[n][e]),null===i&&(i=ri(this,t)),null!==i)return this.getPixelForOffset(i)},getPixelForTick:function(t){var e=this.getTicks();return t>=0&&t<e.length?this.getPixelForOffset(e[t].value):null},getValueForPixel:function(t){var e=this._offsets,n=this.getDecimalForPixel(t)/e.factor-e.end,i=ii(this._table,"pos",n,"time");return this._adapter._create(i)},_getLabelSize:function(t){var e=this.options.ticks,n=this.ctx.measureText(t).width,i=H.toRadians(this.isHorizontal()?e.maxRotation:e.minRotation),a=Math.cos(i),r=Math.sin(i),o=Kn(e.fontSize,N.global.defaultFontSize);return{w:n*a+o*r,h:n*r+o*a}},getLabelWidth:function(t){return this._getLabelSize(t).w},getLabelCapacity:function(t){var e=this,n=e.options.time,i=n.displayFormats,a=i[n.unit]||i.millisecond,r=e.tickFormatFunction(t,0,si(e,[t],e._majorUnit),a),o=e._getLabelSize(r),s=Math.floor(e.isHorizontal()?e.width/o.w:e.height/o.h);return e.options.offset&&s--,s>0?s:1}}),ui={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};li._defaults=ui;var di={category:xn,linear:Pn,logarithmic:On,radialLinear:Un,time:li},hi={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};en._date.override("function"==typeof t?{_id:"moment",formats:function(){return hi},parse:function(e,n){return"string"==typeof e&&"string"==typeof n?e=t(e,n):e instanceof t||(e=t(e)),e.isValid()?e.valueOf():null},format:function(e,n){return t(e).format(n)},add:function(e,n,i){return t(e).add(n,i).valueOf()},diff:function(e,n,i){return t(e).diff(t(n),i)},startOf:function(e,n,i){return e=t(e),"isoWeek"===n?e.isoWeekday(i).valueOf():e.startOf(n).valueOf()},endOf:function(e,n){return t(e).endOf(n).valueOf()},_create:function(e){return t(e)}}:{}),N._set("global",{plugins:{filler:{propagate:!0}}});var ci={dataset:function(t){var e=t.fill,n=t.chart,i=n.getDatasetMeta(e),a=i&&n.isDatasetVisible(e)&&i.dataset._children||[],r=a.length||0;return r?function(t,e){return e<r&&a[e]._view||null}:null},boundary:function(t){var e=t.boundary,n=e?e.x:null,i=e?e.y:null;return H.isArray(e)?function(t,n){return e[n]}:function(t){return{x:null===n?t.x:n,y:null===i?t.y:i}}}};function fi(t,e,n){var i,a=t._model||{},r=a.fill;if(void 0===r&&(r=!!a.backgroundColor),!1===r||null===r)return!1;if(!0===r)return"origin";if(i=parseFloat(r,10),isFinite(i)&&Math.floor(i)===i)return"-"!==r[0]&&"+"!==r[0]||(i=e+i),!(i===e||i<0||i>=n)&&i;switch(r){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return r;default:return!1}}function gi(t){return(t.el._scale||{}).getPointPositionForValue?function(t){var e,n,i,a,r,o=t.el._scale,s=o.options,l=o.chart.data.labels.length,u=t.fill,d=[];if(!l)return null;for(e=s.ticks.reverse?o.max:o.min,n=s.ticks.reverse?o.min:o.max,i=o.getPointPositionForValue(0,e),a=0;a<l;++a)r="start"===u||"end"===u?o.getPointPositionForValue(a,"start"===u?e:n):o.getBasePosition(a),s.gridLines.circular&&(r.cx=i.x,r.cy=i.y,r.angle=o.getIndexAngle(a)-Math.PI/2),d.push(r);return d}(t):function(t){var e,n=t.el._model||{},i=t.el._scale||{},a=t.fill,r=null;if(isFinite(a))return null;if("start"===a?r=void 0===n.scaleBottom?i.bottom:n.scaleBottom:"end"===a?r=void 0===n.scaleTop?i.top:n.scaleTop:void 0!==n.scaleZero?r=n.scaleZero:i.getBasePixel&&(r=i.getBasePixel()),null!=r){if(void 0!==r.x&&void 0!==r.y)return r;if(H.isFinite(r))return{x:(e=i.isHorizontal())?r:null,y:e?null:r}}return null}(t)}function pi(t,e,n){var i,a=t[e].fill,r=[e];if(!n)return a;for(;!1!==a&&-1===r.indexOf(a);){if(!isFinite(a))return a;if(!(i=t[a]))return!1;if(i.visible)return a;r.push(a),a=i.fill}return!1}function mi(t){var e=t.fill,n="dataset";return!1===e?null:(isFinite(e)||(n="boundary"),ci[n](t))}function vi(t){return t&&!t.skip}function bi(t,e,n,i,a){var r,o,s,l;if(i&&a){for(t.moveTo(e[0].x,e[0].y),r=1;r<i;++r)H.canvas.lineTo(t,e[r-1],e[r]);if(void 0===n[0].angle)for(t.lineTo(n[a-1].x,n[a-1].y),r=a-1;r>0;--r)H.canvas.lineTo(t,n[r],n[r-1],!0);else for(o=n[0].cx,s=n[0].cy,l=Math.sqrt(Math.pow(n[0].x-o,2)+Math.pow(n[0].y-s,2)),r=a-1;r>0;--r)t.arc(o,s,l,n[r].angle,n[r-1].angle,!0)}}function xi(t,e,n,i,a,r){var o,s,l,u,d,h,c,f,g=e.length,p=i.spanGaps,m=[],v=[],b=0,x=0;for(t.beginPath(),o=0,s=g;o<s;++o)d=n(u=e[l=o%g]._view,l,i),h=vi(u),c=vi(d),r&&void 0===f&&h&&(s=g+(f=o+1)),h&&c?(b=m.push(u),x=v.push(d)):b&&x&&(p?(h&&m.push(u),c&&v.push(d)):(bi(t,m,v,b,x),b=x=0,m=[],v=[]));bi(t,m,v,b,x),t.closePath(),t.fillStyle=a,t.fill()}var yi={id:"filler",afterDatasetsUpdate:function(t,e){var n,i,a,r,o=(t.data.datasets||[]).length,s=e.propagate,l=[];for(i=0;i<o;++i)r=null,(a=(n=t.getDatasetMeta(i)).dataset)&&a._model&&a instanceof kt.Line&&(r={visible:t.isDatasetVisible(i),fill:fi(a,i,o),chart:t,el:a}),n.$filler=r,l.push(r);for(i=0;i<o;++i)(r=l[i])&&(r.fill=pi(l,i,s),r.boundary=gi(r),r.mapper=mi(r))},beforeDatasetsDraw:function(t){var e,n,i,a,r,o,s,l=t._getSortedVisibleDatasetMetas(),u=t.ctx;for(n=l.length-1;n>=0;--n)(e=l[n].$filler)&&e.visible&&(a=(i=e.el)._view,r=i._children||[],o=e.mapper,s=a.backgroundColor||N.global.defaultColor,o&&s&&r.length&&(H.canvas.clipArea(u,t.chartArea),xi(u,r,o,a,s,i._loop),H.canvas.unclipArea(u)))}},_i=H.rtl.getRtlAdapter,ki=H.noop,wi=H.valueOrDefault;function Mi(t,e){return t.usePointStyle&&t.boxWidth>e?e:t.boxWidth}N._set("global",{legend:{display:!0,position:"top",align:"center",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var n=e.datasetIndex,i=this.chart,a=i.getDatasetMeta(n);a.hidden=null===a.hidden?!i.data.datasets[n].hidden:null,i.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data.datasets,n=t.options.legend||{},i=n.labels&&n.labels.usePointStyle;return t._getSortedDatasetMetas().map(function(n){var a=n.controller.getStyle(i?0:void 0);return{text:e[n.index].label,fillStyle:a.backgroundColor,hidden:!t.isDatasetVisible(n.index),lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:a.borderWidth,strokeStyle:a.borderColor,pointStyle:a.pointStyle,rotation:a.rotation,datasetIndex:n.index}},this)}}},legendCallback:function(t){var e,n,i,a=document.createElement("ul"),r=t.data.datasets;for(a.setAttribute("class",t.id+"-legend"),e=0,n=r.length;e<n;e++)(i=a.appendChild(document.createElement("li"))).appendChild(document.createElement("span")).style.backgroundColor=r[e].backgroundColor,r[e].label&&i.appendChild(document.createTextNode(r[e].label));return a.outerHTML}});var Si=K.extend({initialize:function(t){H.extend(this,t),this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1},beforeUpdate:ki,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:ki,beforeSetDimensions:ki,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:ki,beforeBuildLabels:ki,buildLabels:function(){var t=this,e=t.options.labels||{},n=H.callback(e.generateLabels,[t.chart],t)||[];e.filter&&(n=n.filter(function(n){return e.filter(n,t.chart.data)})),t.options.reverse&&n.reverse(),t.legendItems=n},afterBuildLabels:ki,beforeFit:ki,fit:function(){var t=this,e=t.options,n=e.labels,i=e.display,a=t.ctx,r=H.options._parseFont(n),o=r.size,s=t.legendHitBoxes=[],l=t.minSize,u=t.isHorizontal();if(u?(l.width=t.maxWidth,l.height=i?10:0):(l.width=i?10:0,l.height=t.maxHeight),i){if(a.font=r.string,u){var d=t.lineWidths=[0],h=0;a.textAlign="left",a.textBaseline="middle",H.each(t.legendItems,function(t,e){var i=Mi(n,o)+o/2+a.measureText(t.text).width;(0===e||d[d.length-1]+i+2*n.padding>l.width)&&(h+=o+n.padding,d[d.length-(e>0?0:1)]=0),s[e]={left:0,top:0,width:i,height:o},d[d.length-1]+=i+n.padding}),l.height+=h}else{var c=n.padding,f=t.columnWidths=[],g=t.columnHeights=[],p=n.padding,m=0,v=0;H.each(t.legendItems,function(t,e){var i=Mi(n,o)+o/2+a.measureText(t.text).width;e>0&&v+o+2*c>l.height&&(p+=m+n.padding,f.push(m),g.push(v),m=0,v=0),m=Math.max(m,i),v+=o+c,s[e]={left:0,top:0,width:i,height:o}}),p+=m,f.push(m),g.push(v),l.width+=p}t.width=l.width,t.height=l.height}else t.width=l.width=t.height=l.height=0},afterFit:ki,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,e=t.options,n=e.labels,i=N.global,a=i.defaultColor,r=i.elements.line,o=t.height,s=t.columnHeights,l=t.width,u=t.lineWidths;if(e.display){var d,h=_i(e.rtl,t.left,t.minSize.width),c=t.ctx,f=wi(n.fontColor,i.defaultFontColor),g=H.options._parseFont(n),p=g.size;c.textAlign=h.textAlign("left"),c.textBaseline="middle",c.lineWidth=.5,c.strokeStyle=f,c.fillStyle=f,c.font=g.string;var m=Mi(n,p),v=t.legendHitBoxes,b=function(t,i){switch(e.align){case"start":return n.padding;case"end":return t-i;default:return(t-i+n.padding)/2}},x=t.isHorizontal();d=x?{x:t.left+b(l,u[0]),y:t.top+n.padding,line:0}:{x:t.left+n.padding,y:t.top+b(o,s[0]),line:0},H.rtl.overrideTextDirection(t.ctx,e.textDirection);var y=p+n.padding;H.each(t.legendItems,function(e,i){var f=c.measureText(e.text).width,g=m+p/2+f,_=d.x,k=d.y;h.setWidth(t.minSize.width),x?i>0&&_+g+n.padding>t.left+t.minSize.width&&(k=d.y+=y,d.line++,_=d.x=t.left+b(l,u[d.line])):i>0&&k+y>t.top+t.minSize.height&&(_=d.x=_+t.columnWidths[d.line]+n.padding,d.line++,k=d.y=t.top+b(o,s[d.line]));var w=h.x(_);!function(t,e,i){if(!(isNaN(m)||m<=0)){c.save();var o=wi(i.lineWidth,r.borderWidth);if(c.fillStyle=wi(i.fillStyle,a),c.lineCap=wi(i.lineCap,r.borderCapStyle),c.lineDashOffset=wi(i.lineDashOffset,r.borderDashOffset),c.lineJoin=wi(i.lineJoin,r.borderJoinStyle),c.lineWidth=o,c.strokeStyle=wi(i.strokeStyle,a),c.setLineDash&&c.setLineDash(wi(i.lineDash,r.borderDash)),n&&n.usePointStyle){var s=m*Math.SQRT2/2,l=h.xPlus(t,m/2),u=e+p/2;H.canvas.drawPoint(c,i.pointStyle,s,l,u,i.rotation)}else c.fillRect(h.leftForLtr(t,m),e,m,p),0!==o&&c.strokeRect(h.leftForLtr(t,m),e,m,p);c.restore()}}(w,k,e),v[i].left=h.leftForLtr(w,v[i].width),v[i].top=k,function(t,e,n,i){var a=p/2,r=h.xPlus(t,m+a),o=e+a;c.fillText(n.text,r,o),n.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(r,o),c.lineTo(h.xPlus(r,i),o),c.stroke())}(w,k,e,f),x?d.x+=g+n.padding:d.y+=y}),H.rtl.restoreTextDirection(t.ctx,e.textDirection)}},_getLegendItemAt:function(t,e){var n,i,a,r=this;if(t>=r.left&&t<=r.right&&e>=r.top&&e<=r.bottom)for(a=r.legendHitBoxes,n=0;n<a.length;++n)if(t>=(i=a[n]).left&&t<=i.left+i.width&&e>=i.top&&e<=i.top+i.height)return r.legendItems[n];return null},handleEvent:function(t){var e,n=this,i=n.options,a="mouseup"===t.type?"click":t.type;if("mousemove"===a){if(!i.onHover&&!i.onLeave)return}else{if("click"!==a)return;if(!i.onClick)return}e=n._getLegendItemAt(t.x,t.y),"click"===a?e&&i.onClick&&i.onClick.call(n,t.native,e):(i.onLeave&&e!==n._hoveredItem&&(n._hoveredItem&&i.onLeave.call(n,t.native,n._hoveredItem),n._hoveredItem=e),i.onHover&&e&&i.onHover.call(n,t.native,e))}});function Ci(t,e){var n=new Si({ctx:t.ctx,options:e,chart:t});fe.configure(t,n,e),fe.addBox(t,n),t.legend=n}var Pi={id:"legend",_element:Si,beforeInit:function(t){var e=t.options.legend;e&&Ci(t,e)},beforeUpdate:function(t){var e=t.options.legend,n=t.legend;e?(H.mergeIf(e,N.global.legend),n?(fe.configure(t,n,e),n.options=e):Ci(t,e)):n&&(fe.removeBox(t,n),delete t.legend)},afterEvent:function(t,e){var n=t.legend;n&&n.handleEvent(e)}},Ai=H.noop;N._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var Di=K.extend({initialize:function(t){H.extend(this,t),this.legendHitBoxes=[]},beforeUpdate:Ai,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:Ai,beforeSetDimensions:Ai,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:Ai,beforeBuildLabels:Ai,buildLabels:Ai,afterBuildLabels:Ai,beforeFit:Ai,fit:function(){var t,e=this,n=e.options,i=e.minSize={},a=e.isHorizontal();n.display?(t=(H.isArray(n.text)?n.text.length:1)*H.options._parseFont(n).lineHeight+2*n.padding,e.width=i.width=a?e.maxWidth:t,e.height=i.height=a?t:e.maxHeight):e.width=i.width=e.height=i.height=0},afterFit:Ai,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var t=this,e=t.ctx,n=t.options;if(n.display){var i,a,r,o=H.options._parseFont(n),s=o.lineHeight,l=s/2+n.padding,u=0,d=t.top,h=t.left,c=t.bottom,f=t.right;e.fillStyle=H.valueOrDefault(n.fontColor,N.global.defaultFontColor),e.font=o.string,t.isHorizontal()?(a=h+(f-h)/2,r=d+l,i=f-h):(a="left"===n.position?h+l:f-l,r=d+(c-d)/2,i=c-d,u=Math.PI*("left"===n.position?-.5:.5)),e.save(),e.translate(a,r),e.rotate(u),e.textAlign="center",e.textBaseline="middle";var g=n.text;if(H.isArray(g))for(var p=0,m=0;m<g.length;++m)e.fillText(g[m],0,p,i),p+=s;else e.fillText(g,0,0,i);e.restore()}}});function Ti(t,e){var n=new Di({ctx:t.ctx,options:e,chart:t});fe.configure(t,n,e),fe.addBox(t,n),t.titleBlock=n}var Ii={},Fi=yi,Oi=Pi,Li={id:"title",_element:Di,beforeInit:function(t){var e=t.options.title;e&&Ti(t,e)},beforeUpdate:function(t){var e=t.options.title,n=t.titleBlock;e?(H.mergeIf(e,N.global.title),n?(fe.configure(t,n,e),n.options=e):Ti(t,e)):n&&(fe.removeBox(t,n),delete t.titleBlock)}};for(var Ri in Ii.filler=Fi,Ii.legend=Oi,Ii.title=Li,Je.helpers=H,function(){function t(t,e,n){var i;return"string"==typeof t?(i=parseInt(t,10),-1!==t.indexOf("%")&&(i=i/100*e.parentNode[n])):i=t,i}function e(t){return null!=t&&"none"!==t}function n(n,i,a){var r=document.defaultView,o=H._getParentNode(n),s=r.getComputedStyle(n)[i],l=r.getComputedStyle(o)[i],u=e(s),d=e(l),h=Number.POSITIVE_INFINITY;return u||d?Math.min(u?t(s,n,a):h,d?t(l,o,a):h):"none"}H.where=function(t,e){if(H.isArray(t)&&Array.prototype.filter)return t.filter(e);var n=[];return H.each(t,function(t){e(t)&&n.push(t)}),n},H.findIndex=Array.prototype.findIndex?function(t,e,n){return t.findIndex(e,n)}:function(t,e,n){n=void 0===n?t:n;for(var i=0,a=t.length;i<a;++i)if(e.call(n,t[i],i,t))return i;return-1},H.findNextWhere=function(t,e,n){H.isNullOrUndef(n)&&(n=-1);for(var i=n+1;i<t.length;i++){var a=t[i];if(e(a))return a}},H.findPreviousWhere=function(t,e,n){H.isNullOrUndef(n)&&(n=t.length);for(var i=n-1;i>=0;i--){var a=t[i];if(e(a))return a}},H.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},H.almostEquals=function(t,e,n){return Math.abs(t-e)<n},H.almostWhole=function(t,e){var n=Math.round(t);return n-e<=t&&n+e>=t},H.max=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.max(t,e)},Number.NEGATIVE_INFINITY)},H.min=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.min(t,e)},Number.POSITIVE_INFINITY)},H.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0==(t=+t)||isNaN(t)?t:t>0?1:-1},H.toRadians=function(t){return t*(Math.PI/180)},H.toDegrees=function(t){return t*(180/Math.PI)},H._decimalPlaces=function(t){if(H.isFinite(t)){for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n}},H.getAngleFromPoint=function(t,e){var n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),r=Math.atan2(i,n);return r<-.5*Math.PI&&(r+=2*Math.PI),{angle:r,distance:a}},H.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},H.aliasPixel=function(t){return t%2==0?0:.5},H._alignPixel=function(t,e,n){var i=t.currentDevicePixelRatio,a=n/2;return Math.round((e-a)*i)/i+a},H.splineCurve=function(t,e,n,i){var a=t.skip?e:t,r=e,o=n.skip?e:n,s=Math.sqrt(Math.pow(r.x-a.x,2)+Math.pow(r.y-a.y,2)),l=Math.sqrt(Math.pow(o.x-r.x,2)+Math.pow(o.y-r.y,2)),u=s/(s+l),d=l/(s+l),h=i*(u=isNaN(u)?0:u),c=i*(d=isNaN(d)?0:d);return{previous:{x:r.x-h*(o.x-a.x),y:r.y-h*(o.y-a.y)},next:{x:r.x+c*(o.x-a.x),y:r.y+c*(o.y-a.y)}}},H.EPSILON=Number.EPSILON||1e-14,H.splineCurveMonotone=function(t){var e,n,i,a,r,o,s,l,u,d=(t||[]).map(function(t){return{model:t._model,deltaK:0,mK:0}}),h=d.length;for(e=0;e<h;++e)if(!(i=d[e]).model.skip){if(n=e>0?d[e-1]:null,(a=e<h-1?d[e+1]:null)&&!a.model.skip){var c=a.model.x-i.model.x;i.deltaK=0!==c?(a.model.y-i.model.y)/c:0}!n||n.model.skip?i.mK=i.deltaK:!a||a.model.skip?i.mK=n.deltaK:this.sign(n.deltaK)!==this.sign(i.deltaK)?i.mK=0:i.mK=(n.deltaK+i.deltaK)/2}for(e=0;e<h-1;++e)i=d[e],a=d[e+1],i.model.skip||a.model.skip||(H.almostEquals(i.deltaK,0,this.EPSILON)?i.mK=a.mK=0:(r=i.mK/i.deltaK,o=a.mK/i.deltaK,(l=Math.pow(r,2)+Math.pow(o,2))<=9||(s=3/Math.sqrt(l),i.mK=r*s*i.deltaK,a.mK=o*s*i.deltaK)));for(e=0;e<h;++e)(i=d[e]).model.skip||(n=e>0?d[e-1]:null,a=e<h-1?d[e+1]:null,n&&!n.model.skip&&(u=(i.model.x-n.model.x)/3,i.model.controlPointPreviousX=i.model.x-u,i.model.controlPointPreviousY=i.model.y-u*i.mK),a&&!a.model.skip&&(u=(a.model.x-i.model.x)/3,i.model.controlPointNextX=i.model.x+u,i.model.controlPointNextY=i.model.y+u*i.mK))},H.nextItem=function(t,e,n){return n?e>=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},H.previousItem=function(t,e,n){return n?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},H.niceNum=function(t,e){var n=Math.floor(H.log10(t)),i=t/Math.pow(10,n);return(e?i<1.5?1:i<3?2:i<7?5:10:i<=1?1:i<=2?2:i<=5?5:10)*Math.pow(10,n)},H.requestAnimFrame="undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},H.getRelativePosition=function(t,e){var n,i,a=t.originalEvent||t,r=t.target||t.srcElement,o=r.getBoundingClientRect(),s=a.touches;s&&s.length>0?(n=s[0].clientX,i=s[0].clientY):(n=a.clientX,i=a.clientY);var l=parseFloat(H.getStyle(r,"padding-left")),u=parseFloat(H.getStyle(r,"padding-top")),d=parseFloat(H.getStyle(r,"padding-right")),h=parseFloat(H.getStyle(r,"padding-bottom")),c=o.right-o.left-l-d,f=o.bottom-o.top-u-h;return{x:n=Math.round((n-o.left-l)/c*r.width/e.currentDevicePixelRatio),y:i=Math.round((i-o.top-u)/f*r.height/e.currentDevicePixelRatio)}},H.getConstraintWidth=function(t){return n(t,"max-width","clientWidth")},H.getConstraintHeight=function(t){return n(t,"max-height","clientHeight")},H._calculatePadding=function(t,e,n){return(e=H.getStyle(t,e)).indexOf("%")>-1?n*parseInt(e,10)/100:parseInt(e,10)},H._getParentNode=function(t){var e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e},H.getMaximumWidth=function(t){var e=H._getParentNode(t);if(!e)return t.clientWidth;var n=e.clientWidth,i=n-H._calculatePadding(e,"padding-left",n)-H._calculatePadding(e,"padding-right",n),a=H.getConstraintWidth(t);return isNaN(a)?i:Math.min(i,a)},H.getMaximumHeight=function(t){var e=H._getParentNode(t);if(!e)return t.clientHeight;var n=e.clientHeight,i=n-H._calculatePadding(e,"padding-top",n)-H._calculatePadding(e,"padding-bottom",n),a=H.getConstraintHeight(t);return isNaN(a)?i:Math.min(i,a)},H.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},H.retinaScale=function(t,e){var n=t.currentDevicePixelRatio=e||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==n){var i=t.canvas,a=t.height,r=t.width;i.height=a*n,i.width=r*n,t.ctx.scale(n,n),i.style.height||i.style.width||(i.style.height=a+"px",i.style.width=r+"px")}},H.fontString=function(t,e,n){return e+" "+t+"px "+n},H.longestText=function(t,e,n,i){var a=(i=i||{}).data=i.data||{},r=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(a=i.data={},r=i.garbageCollect=[],i.font=e),t.font=e;var o,s,l,u,d,h=0,c=n.length;for(o=0;o<c;o++)if(null!=(u=n[o])&&!0!==H.isArray(u))h=H.measureText(t,a,r,h,u);else if(H.isArray(u))for(s=0,l=u.length;s<l;s++)null==(d=u[s])||H.isArray(d)||(h=H.measureText(t,a,r,h,d));var f=r.length/2;if(f>n.length){for(o=0;o<f;o++)delete a[r[o]];r.splice(0,f)}return h},H.measureText=function(t,e,n,i,a){var r=e[a];return r||(r=e[a]=t.measureText(a).width,n.push(a)),r>i&&(i=r),i},H.numberOfLabelLines=function(t){var e=1;return H.each(t,function(t){H.isArray(t)&&t.length>e&&(e=t.length)}),e},H.color=w?function(t){return t instanceof CanvasGradient&&(t=N.global.defaultColor),w(t)}:function(t){return console.error("Color.js not found!"),t},H.getHoverColor=function(t){return t instanceof CanvasPattern||t instanceof CanvasGradient?t:H.color(t).saturate(.5).darken(.1).rgbString()}}(),Je._adapters=en,Je.Animation=$,Je.animationService=J,Je.controllers=Zt,Je.DatasetController=it,Je.defaults=N,Je.Element=K,Je.elements=kt,Je.Interaction=ie,Je.layouts=fe,Je.platform=Ie,Je.plugins=Fe,Je.Scale=vn,Je.scaleService=Oe,Je.Ticks=nn,Je.Tooltip=qe,Je.helpers.each(di,function(t,e){Je.scaleService.registerScaleType(e,t,t._defaults)}),Ii)Ii.hasOwnProperty(Ri)&&Je.plugins.register(Ii[Ri]);Je.platform.initialize();var zi=Je;return"undefined"!=typeof window&&(window.Chart=Je),Je.Chart=Je,Je.Legend=Ii.legend._element,Je.Title=Ii.title._element,Je.pluginService=Je.plugins,Je.PluginBase=Je.Element.extend({}),Je.canvasHelpers=Je.helpers.canvas,Je.layoutService=Je.layouts,Je.LinearScaleBase=wn,Je.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],function(t){Je[t]=function(e,n){return new Je(e,Je.helpers.merge(n||{},{type:t.charAt(0).toLowerCase()+t.slice(1)}))}}),zi});
!function(e){e.fn.appear=function(a,r){var p=e.extend({data:void 0,one:!0,accX:0,accY:0},r);return this.each(function(){var r=e(this);if(r.appeared=!1,a){var n=e(window),t=function(){if(r.is(":visible")){var e=n.scrollLeft(),a=n.scrollTop(),t=r.offset(),c=t.left,i=t.top,o=p.accX,f=p.accY,s=r.height(),l=n.height(),h=r.width(),d=n.width();i+s+f>=a&&i<=a+l+f&&c+h+o>=e&&c<=e+d+o?r.appeared||r.trigger("appear",p.data):r.appeared=!1}else r.appeared=!1},c=function(){if(r.appeared=!0,p.one){n.unbind("scroll",t);var c=e.inArray(t,e.fn.appear.checks);c>=0&&e.fn.appear.checks.splice(c,1)}a.apply(this,arguments)};p.one?r.one("appear",p.data,c):r.bind("appear",p.data,c),n.scroll(t),e.fn.appear.checks.push(t),t()}else r.trigger("appear",p.data)})},e.extend(e.fn.appear,{checks:[],timeout:null,checkAll:function(){var a=e.fn.appear.checks.length;if(a>0)for(;a--;)e.fn.appear.checks[a]()},run:function(){e.fn.appear.timeout&&clearTimeout(e.fn.appear.timeout),e.fn.appear.timeout=setTimeout(e.fn.appear.checkAll,20)}}),e.each(["append","prepend","after","before","attr","removeAttr","addClass","removeClass","toggleClass","remove","css","show","hide"],function(a,r){var p=e.fn[r];p&&(e.fn[r]=function(){var a=p.apply(this,arguments);return e.fn.appear.run(),a})})}(jQuery);
(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}return e})()({1:[function(_dereq_,module,exports){
},{}],2:[function(_dereq_,module,exports){
(function (global){
var topLevel=typeof global!=='undefined' ? global :
typeof window!=='undefined' ? window:{}
var minDoc=_dereq_(1);
var doccy;
if(typeof document!=='undefined'){
doccy=document;
}else{
doccy=topLevel['__GLOBAL_DOCUMENT_CACHE@4'];
if(!doccy){
doccy=topLevel['__GLOBAL_DOCUMENT_CACHE@4']=minDoc;
}}
module.exports=doccy;
}).call(this,typeof global!=="undefined" ? global:typeof self!=="undefined" ? self:typeof window!=="undefined" ? window:{})
},{"1":1}],3:[function(_dereq_,module,exports){
(function (global){
var win;
if(typeof window!=="undefined"){
win=window;
}else if(typeof global!=="undefined"){
win=global;
}else if(typeof self!=="undefined"){
win=self;
}else{
win={};}
module.exports=win;
}).call(this,typeof global!=="undefined" ? global:typeof self!=="undefined" ? self:typeof window!=="undefined" ? window:{})
},{}],4:[function(_dereq_,module,exports){
(function (root){
var setTimeoutFunc=setTimeout;
function noop(){}
function bind(fn, thisArg){
return function (){
fn.apply(thisArg, arguments);
};}
function Promise(fn){
if(typeof this!=='object') throw new TypeError('Promises must be constructed via new');
if(typeof fn!=='function') throw new TypeError('not a function');
this._state=0;
this._handled=false;
this._value=undefined;
this._deferreds=[];
doResolve(fn, this);
}
function handle(self, deferred){
while (self._state===3){
self=self._value;
}
if(self._state===0){
self._deferreds.push(deferred);
return;
}
self._handled=true;
Promise._immediateFn(function (){
var cb=self._state===1 ? deferred.onFulfilled:deferred.onRejected;
if(cb===null){
(self._state===1 ? resolve:reject)(deferred.promise, self._value);
return;
}
var ret;
try {
ret=cb(self._value);
} catch (e){
reject(deferred.promise, e);
return;
}
resolve(deferred.promise, ret);
});
}
function resolve(self, newValue){
try {
if(newValue===self) throw new TypeError('A promise cannot be resolved with itself.');
if(newValue&&(typeof newValue==='object'||typeof newValue==='function')){
var then=newValue.then;
if(newValue instanceof Promise){
self._state=3;
self._value=newValue;
finale(self);
return;
}else if(typeof then==='function'){
doResolve(bind(then, newValue), self);
return;
}}
self._state=1;
self._value=newValue;
finale(self);
} catch (e){
reject(self, e);
}}
function reject(self, newValue){
self._state=2;
self._value=newValue;
finale(self);
}
function finale(self){
if(self._state===2&&self._deferreds.length===0){
Promise._immediateFn(function(){
if(!self._handled){
Promise._unhandledRejectionFn(self._value);
}});
}
for (var i=0, len=self._deferreds.length; i < len; i++){
handle(self, self._deferreds[i]);
}
self._deferreds=null;
}
function Handler(onFulfilled, onRejected, promise){
this.onFulfilled=typeof onFulfilled==='function' ? onFulfilled:null;
this.onRejected=typeof onRejected==='function' ? onRejected:null;
this.promise=promise;
}
function doResolve(fn, self){
var done=false;
try {
fn(function (value){
if(done) return;
done=true;
resolve(self, value);
}, function (reason){
if(done) return;
done=true;
reject(self, reason);
});
} catch (ex){
if(done) return;
done=true;
reject(self, ex);
}}
Promise.prototype['catch']=function (onRejected){
return this.then(null, onRejected);
};
Promise.prototype.then=function (onFulfilled, onRejected){
var prom=new (this.constructor)(noop);
handle(this, new Handler(onFulfilled, onRejected, prom));
return prom;
};
Promise.all=function (arr){
var args=Array.prototype.slice.call(arr);
return new Promise(function (resolve, reject){
if(args.length===0) return resolve([]);
var remaining=args.length;
function res(i, val){
try {
if(val&&(typeof val==='object'||typeof val==='function')){
var then=val.then;
if(typeof then==='function'){
then.call(val, function (val){
res(i, val);
}, reject);
return;
}}
args[i]=val;
if(--remaining===0){
resolve(args);
}} catch (ex){
reject(ex);
}}
for (var i=0; i < args.length; i++){
res(i, args[i]);
}});
};
Promise.resolve=function (value){
if(value&&typeof value==='object'&&value.constructor===Promise){
return value;
}
return new Promise(function (resolve){
resolve(value);
});
};
Promise.reject=function (value){
return new Promise(function (resolve, reject){
reject(value);
});
};
Promise.race=function (values){
return new Promise(function (resolve, reject){
for (var i=0, len=values.length; i < len; i++){
values[i].then(resolve, reject);
}});
};
Promise._immediateFn=(typeof setImmediate==='function'&&function (fn){ setImmediate(fn); }) ||
function (fn){
setTimeoutFunc(fn, 0);
};
Promise._unhandledRejectionFn=function _unhandledRejectionFn(err){
if(typeof console!=='undefined'&&console){
console.warn('Possible Unhandled Promise Rejection:', err);
}};
Promise._setImmediateFn=function _setImmediateFn(fn){
Promise._immediateFn=fn;
};
Promise._setUnhandledRejectionFn=function _setUnhandledRejectionFn(fn){
Promise._unhandledRejectionFn=fn;
};
if(typeof module!=='undefined'&&module.exports){
module.exports=Promise;
}else if(!root.Promise){
root.Promise=Promise;
}})(this);
},{}],5:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol" ? function (obj){ return typeof obj; }:function (obj){ return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype ? "symbol":typeof obj; };
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _en=_dereq_(15);
var _general=_dereq_(27);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
var i18n={ lang: 'en', en: _en.EN };
i18n.language=function (){
for (var _len=arguments.length, args=Array(_len), _key=0; _key < _len; _key++){
args[_key]=arguments[_key];
}
if(args!==null&&args!==undefined&&args.length){
if(typeof args[0]!=='string'){
throw new TypeError('Language code must be a string value');
}
if(!/^[a-z]{2,3}((\-|_)[a-z]{2})?$/i.test(args[0])){
throw new TypeError('Language code must have format 2-3 letters and. optionally, hyphen, underscore followed by 2 more letters');
}
i18n.lang=args[0];
if(i18n[args[0]]===undefined){
args[1]=args[1]!==null&&args[1]!==undefined&&_typeof(args[1])==='object' ? args[1]:{};
i18n[args[0]] = !(0, _general.isObjectEmpty)(args[1]) ? args[1]:_en.EN;
}else if(args[1]!==null&&args[1]!==undefined&&_typeof(args[1])==='object'){
i18n[args[0]]=args[1];
}}
return i18n.lang;
};
i18n.t=function (message){
var pluralParam=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:null;
if(typeof message==='string'&&message.length){
var str=void 0,
pluralForm=void 0;
var language=i18n.language();
var _plural=function _plural(input, number, form){
if((typeof input==='undefined' ? 'undefined':_typeof(input))!=='object'||typeof number!=='number'||typeof form!=='number'){
return input;
}
var _pluralForms=function (){
return [function (){
return arguments.length <=1 ? undefined:arguments[1];
}, function (){
return (arguments.length <=0 ? undefined:arguments[0])===1 ? arguments.length <=1 ? undefined:arguments[1]:arguments.length <=2 ? undefined:arguments[2];
}, function (){
return (arguments.length <=0 ? undefined:arguments[0])===0||(arguments.length <=0 ? undefined:arguments[0])===1 ? arguments.length <=1 ? undefined:arguments[1]:arguments.length <=2 ? undefined:arguments[2];
}, function (){
if((arguments.length <=0 ? undefined:arguments[0]) % 10===1&&(arguments.length <=0 ? undefined:arguments[0]) % 100!==11){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0])!==0){
return arguments.length <=2 ? undefined:arguments[2];
}else{
return arguments.length <=3 ? undefined:arguments[3];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===1||(arguments.length <=0 ? undefined:arguments[0])===11){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0])===2||(arguments.length <=0 ? undefined:arguments[0])===12){
return arguments.length <=2 ? undefined:arguments[2];
}else if((arguments.length <=0 ? undefined:arguments[0]) > 2&&(arguments.length <=0 ? undefined:arguments[0]) < 20){
return arguments.length <=3 ? undefined:arguments[3];
}else{
return arguments.length <=4 ? undefined:arguments[4];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===1){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0])===0||(arguments.length <=0 ? undefined:arguments[0]) % 100 > 0&&(arguments.length <=0 ? undefined:arguments[0]) % 100 < 20){
return arguments.length <=2 ? undefined:arguments[2];
}else{
return arguments.length <=3 ? undefined:arguments[3];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0]) % 10===1&&(arguments.length <=0 ? undefined:arguments[0]) % 100!==11){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0]) % 10 >=2&&((arguments.length <=0 ? undefined:arguments[0]) % 100 < 10||(arguments.length <=0 ? undefined:arguments[0]) % 100 >=20)){
return arguments.length <=2 ? undefined:arguments[2];
}else{
return [3];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0]) % 10===1&&(arguments.length <=0 ? undefined:arguments[0]) % 100!==11){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0]) % 10 >=2&&(arguments.length <=0 ? undefined:arguments[0]) % 10 <=4&&((arguments.length <=0 ? undefined:arguments[0]) % 100 < 10||(arguments.length <=0 ? undefined:arguments[0]) % 100 >=20)){
return arguments.length <=2 ? undefined:arguments[2];
}else{
return arguments.length <=3 ? undefined:arguments[3];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===1){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0]) >=2&&(arguments.length <=0 ? undefined:arguments[0]) <=4){
return arguments.length <=2 ? undefined:arguments[2];
}else{
return arguments.length <=3 ? undefined:arguments[3];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===1){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0]) % 10 >=2&&(arguments.length <=0 ? undefined:arguments[0]) % 10 <=4&&((arguments.length <=0 ? undefined:arguments[0]) % 100 < 10||(arguments.length <=0 ? undefined:arguments[0]) % 100 >=20)){
return arguments.length <=2 ? undefined:arguments[2];
}else{
return arguments.length <=3 ? undefined:arguments[3];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0]) % 100===1){
return arguments.length <=2 ? undefined:arguments[2];
}else if((arguments.length <=0 ? undefined:arguments[0]) % 100===2){
return arguments.length <=3 ? undefined:arguments[3];
}else if((arguments.length <=0 ? undefined:arguments[0]) % 100===3||(arguments.length <=0 ? undefined:arguments[0]) % 100===4){
return arguments.length <=4 ? undefined:arguments[4];
}else{
return arguments.length <=1 ? undefined:arguments[1];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===1){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0])===2){
return arguments.length <=2 ? undefined:arguments[2];
}else if((arguments.length <=0 ? undefined:arguments[0]) > 2&&(arguments.length <=0 ? undefined:arguments[0]) < 7){
return arguments.length <=3 ? undefined:arguments[3];
}else if((arguments.length <=0 ? undefined:arguments[0]) > 6&&(arguments.length <=0 ? undefined:arguments[0]) < 11){
return arguments.length <=4 ? undefined:arguments[4];
}else{
return arguments.length <=5 ? undefined:arguments[5];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===0){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0])===1){
return arguments.length <=2 ? undefined:arguments[2];
}else if((arguments.length <=0 ? undefined:arguments[0])===2){
return arguments.length <=3 ? undefined:arguments[3];
}else if((arguments.length <=0 ? undefined:arguments[0]) % 100 >=3&&(arguments.length <=0 ? undefined:arguments[0]) % 100 <=10){
return arguments.length <=4 ? undefined:arguments[4];
}else if((arguments.length <=0 ? undefined:arguments[0]) % 100 >=11){
return arguments.length <=5 ? undefined:arguments[5];
}else{
return arguments.length <=6 ? undefined:arguments[6];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===1){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0])===0||(arguments.length <=0 ? undefined:arguments[0]) % 100 > 1&&(arguments.length <=0 ? undefined:arguments[0]) % 100 < 11){
return arguments.length <=2 ? undefined:arguments[2];
}else if((arguments.length <=0 ? undefined:arguments[0]) % 100 > 10&&(arguments.length <=0 ? undefined:arguments[0]) % 100 < 20){
return arguments.length <=3 ? undefined:arguments[3];
}else{
return arguments.length <=4 ? undefined:arguments[4];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0]) % 10===1){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0]) % 10===2){
return arguments.length <=2 ? undefined:arguments[2];
}else{
return arguments.length <=3 ? undefined:arguments[3];
}}, function (){
return (arguments.length <=0 ? undefined:arguments[0])!==11&&(arguments.length <=0 ? undefined:arguments[0]) % 10===1 ? arguments.length <=1 ? undefined:arguments[1]:arguments.length <=2 ? undefined:arguments[2];
}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===1){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0]) % 10 >=2&&(arguments.length <=0 ? undefined:arguments[0]) % 10 <=4&&((arguments.length <=0 ? undefined:arguments[0]) % 100 < 10||(arguments.length <=0 ? undefined:arguments[0]) % 100 >=20)){
return arguments.length <=2 ? undefined:arguments[2];
}else{
return arguments.length <=3 ? undefined:arguments[3];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===1){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0])===2){
return arguments.length <=2 ? undefined:arguments[2];
}else if((arguments.length <=0 ? undefined:arguments[0])!==8&&(arguments.length <=0 ? undefined:arguments[0])!==11){
return arguments.length <=3 ? undefined:arguments[3];
}else{
return arguments.length <=4 ? undefined:arguments[4];
}}, function (){
return (arguments.length <=0 ? undefined:arguments[0])===0 ? arguments.length <=1 ? undefined:arguments[1]:arguments.length <=2 ? undefined:arguments[2];
}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===1){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0])===2){
return arguments.length <=2 ? undefined:arguments[2];
}else if((arguments.length <=0 ? undefined:arguments[0])===3){
return arguments.length <=3 ? undefined:arguments[3];
}else{
return arguments.length <=4 ? undefined:arguments[4];
}}, function (){
if((arguments.length <=0 ? undefined:arguments[0])===0){
return arguments.length <=1 ? undefined:arguments[1];
}else if((arguments.length <=0 ? undefined:arguments[0])===1){
return arguments.length <=2 ? undefined:arguments[2];
}else{
return arguments.length <=3 ? undefined:arguments[3];
}}];
}();
return _pluralForms[form].apply(null, [number].concat(input));
};
if(i18n[language]!==undefined){
str=i18n[language][message];
if(pluralParam!==null&&typeof pluralParam==='number'){
pluralForm=i18n[language]['mejs.plural-form'];
str=_plural.apply(null, [str, pluralParam, pluralForm]);
}}
if(!str&&i18n.en){
str=i18n.en[message];
if(pluralParam!==null&&typeof pluralParam==='number'){
pluralForm=i18n.en['mejs.plural-form'];
str=_plural.apply(null, [str, pluralParam, pluralForm]);
}}
str=str||message;
if(pluralParam!==null&&typeof pluralParam==='number'){
str=str.replace('%1', pluralParam);
}
return (0, _general.escapeHTML)(str);
}
return message;
};
_mejs2.default.i18n=i18n;
if(typeof mejsL10n!=='undefined'){
_mejs2.default.i18n.language(mejsL10n.language, mejsL10n.strings);
}
exports.default=i18n;
},{"15":15,"27":27,"7":7}],6:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol" ? function (obj){ return typeof obj; }:function (obj){ return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype ? "symbol":typeof obj; };
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _general=_dereq_(27);
var _media2=_dereq_(28);
var _renderer=_dereq_(8);
var _constants=_dereq_(25);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
function _classCallCheck(instance, Constructor){ if(!(instance instanceof Constructor)){ throw new TypeError("Cannot call a class as a function"); }}
var MediaElement=function MediaElement(idOrNode, options, sources){
var _this=this;
_classCallCheck(this, MediaElement);
var t=this;
sources=Array.isArray(sources) ? sources:null;
t.defaults={
renderers: [],
fakeNodeName: 'mediaelementwrapper',
pluginPath: 'build/',
shimScriptAccess: 'sameDomain'
};
options=Object.assign(t.defaults, options);
t.mediaElement=_document2.default.createElement(options.fakeNodeName);
var id=idOrNode,
error=false;
if(typeof idOrNode==='string'){
t.mediaElement.originalNode=_document2.default.getElementById(idOrNode);
}else{
t.mediaElement.originalNode=idOrNode;
id=idOrNode.id;
}
if(t.mediaElement.originalNode===undefined||t.mediaElement.originalNode===null){
return null;
}
t.mediaElement.options=options;
id=id||'mejs_' + Math.random().toString().slice(2);
t.mediaElement.originalNode.setAttribute('id', id + '_from_mejs');
var tagName=t.mediaElement.originalNode.tagName.toLowerCase();
if(['video', 'audio'].indexOf(tagName) > -1&&!t.mediaElement.originalNode.getAttribute('preload')){
t.mediaElement.originalNode.setAttribute('preload', 'none');
}
t.mediaElement.originalNode.parentNode.insertBefore(t.mediaElement, t.mediaElement.originalNode);
t.mediaElement.appendChild(t.mediaElement.originalNode);
var processURL=function processURL(url, type){
if(_window2.default.location.protocol==='https:'&&url.indexOf('http:')===0&&_constants.IS_IOS&&_mejs2.default.html5media.mediaTypes.indexOf(type) > -1){
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function (){
if(this.readyState===4&&this.status===200){
var _url=_window2.default.URL||_window2.default.webkitURL,
blobUrl=_url.createObjectURL(this.response);
t.mediaElement.originalNode.setAttribute('src', blobUrl);
return blobUrl;
}
return url;
};
xhr.open('GET', url);
xhr.responseType='blob';
xhr.send();
}
return url;
};
var mediaFiles=void 0;
if(sources!==null){
mediaFiles=sources;
}else if(t.mediaElement.originalNode!==null){
mediaFiles=[];
switch (t.mediaElement.originalNode.nodeName.toLowerCase()){
case 'iframe':
mediaFiles.push({
type: '',
src: t.mediaElement.originalNode.getAttribute('src')
});
break;
case 'audio':
case 'video':
var _sources=t.mediaElement.originalNode.children.length,
nodeSource=t.mediaElement.originalNode.getAttribute('src');
if(nodeSource){
var node=t.mediaElement.originalNode,
type=(0, _media2.formatType)(nodeSource, node.getAttribute('type'));
mediaFiles.push({
type: type,
src: processURL(nodeSource, type)
});
}
for (var i=0; i < _sources; i++){
var n=t.mediaElement.originalNode.children[i];
if(n.tagName.toLowerCase()==='source'){
var src=n.getAttribute('src'),
_type=(0, _media2.formatType)(src, n.getAttribute('type'));
mediaFiles.push({ type: _type, src: processURL(src, _type) });
}}
break;
}}
t.mediaElement.id=id;
t.mediaElement.renderers={};
t.mediaElement.events={};
t.mediaElement.promises=[];
t.mediaElement.renderer=null;
t.mediaElement.rendererName=null;
t.mediaElement.changeRenderer=function (rendererName, mediaFiles){
var t=_this,
media=Object.keys(mediaFiles[0]).length > 2 ? mediaFiles[0]:mediaFiles[0].src;
if(t.mediaElement.renderer!==undefined&&t.mediaElement.renderer!==null&&t.mediaElement.renderer.name===rendererName){
t.mediaElement.renderer.pause();
if(t.mediaElement.renderer.stop){
t.mediaElement.renderer.stop();
}
t.mediaElement.renderer.show();
t.mediaElement.renderer.setSrc(media);
return true;
}
if(t.mediaElement.renderer!==undefined&&t.mediaElement.renderer!==null){
t.mediaElement.renderer.pause();
if(t.mediaElement.renderer.stop){
t.mediaElement.renderer.stop();
}
t.mediaElement.renderer.hide();
}
var newRenderer=t.mediaElement.renderers[rendererName],
newRendererType=null;
if(newRenderer!==undefined&&newRenderer!==null){
newRenderer.show();
newRenderer.setSrc(media);
t.mediaElement.renderer=newRenderer;
t.mediaElement.rendererName=rendererName;
return true;
}
var rendererArray=t.mediaElement.options.renderers.length ? t.mediaElement.options.renderers:_renderer.renderer.order;
for (var _i=0, total=rendererArray.length; _i < total; _i++){
var index=rendererArray[_i];
if(index===rendererName){
var rendererList=_renderer.renderer.renderers;
newRendererType=rendererList[index];
var renderOptions=Object.assign(newRendererType.options, t.mediaElement.options);
newRenderer=newRendererType.create(t.mediaElement, renderOptions, mediaFiles);
newRenderer.name=rendererName;
t.mediaElement.renderers[newRendererType.name]=newRenderer;
t.mediaElement.renderer=newRenderer;
t.mediaElement.rendererName=rendererName;
newRenderer.show();
return true;
}}
return false;
};
t.mediaElement.setSize=function (width, height){
if(t.mediaElement.renderer!==undefined&&t.mediaElement.renderer!==null){
t.mediaElement.renderer.setSize(width, height);
}};
t.mediaElement.generateError=function (message, urlList){
message=message||'';
urlList=Array.isArray(urlList) ? urlList:[];
var event=(0, _general.createEvent)('error', t.mediaElement);
event.message=message;
event.urls=urlList;
t.mediaElement.dispatchEvent(event);
error=true;
};
var props=_mejs2.default.html5media.properties,
methods=_mejs2.default.html5media.methods,
addProperty=function addProperty(obj, name, onGet, onSet){
var oldValue=obj[name];
var getFn=function getFn(){
return onGet.apply(obj, [oldValue]);
},
setFn=function setFn(newValue){
oldValue=onSet.apply(obj, [newValue]);
return oldValue;
};
Object.defineProperty(obj, name, {
get: getFn,
set: setFn
});
},
assignGettersSetters=function assignGettersSetters(propName){
if(propName!=='src'){
var capName='' + propName.substring(0, 1).toUpperCase() + propName.substring(1),
getFn=function getFn(){
return t.mediaElement.renderer!==undefined&&t.mediaElement.renderer!==null&&typeof t.mediaElement.renderer['get' + capName]==='function' ? t.mediaElement.renderer['get' + capName]():null;
},
setFn=function setFn(value){
if(t.mediaElement.renderer!==undefined&&t.mediaElement.renderer!==null&&typeof t.mediaElement.renderer['set' + capName]==='function'){
t.mediaElement.renderer['set' + capName](value);
}};
addProperty(t.mediaElement, propName, getFn, setFn);
t.mediaElement['get' + capName]=getFn;
t.mediaElement['set' + capName]=setFn;
}},
getSrc=function getSrc(){
return t.mediaElement.renderer!==undefined&&t.mediaElement.renderer!==null ? t.mediaElement.renderer.getSrc():null;
},
setSrc=function setSrc(value){
var mediaFiles=[];
if(typeof value==='string'){
mediaFiles.push({
src: value,
type: value ? (0, _media2.getTypeFromFile)(value):''
});
}else if((typeof value==='undefined' ? 'undefined':_typeof(value))==='object'&&value.src!==undefined){
var _src=(0, _media2.absolutizeUrl)(value.src),
_type2=value.type,
media=Object.assign(value, {
src: _src,
type: (_type2===''||_type2===null||_type2===undefined)&&_src ? (0, _media2.getTypeFromFile)(_src):_type2
});
mediaFiles.push(media);
}else if(Array.isArray(value)){
for (var _i2=0, total=value.length; _i2 < total; _i2++){
var _src2=(0, _media2.absolutizeUrl)(value[_i2].src),
_type3=value[_i2].type,
_media=Object.assign(value[_i2], {
src: _src2,
type: (_type3===''||_type3===null||_type3===undefined)&&_src2 ? (0, _media2.getTypeFromFile)(_src2):_type3
});
mediaFiles.push(_media);
}}
var renderInfo=_renderer.renderer.select(mediaFiles, t.mediaElement.options.renderers.length ? t.mediaElement.options.renderers:[]),
event=void 0;
if(!t.mediaElement.paused&&!(t.mediaElement.src==null||t.mediaElement.src==='')){
t.mediaElement.pause();
event=(0, _general.createEvent)('pause', t.mediaElement);
t.mediaElement.dispatchEvent(event);
}
t.mediaElement.originalNode.src=mediaFiles[0].src||'';
if(renderInfo===null&&mediaFiles[0].src){
t.mediaElement.generateError('No renderer found', mediaFiles);
return;
}
var shouldChangeRenderer = !(mediaFiles[0].src==null||mediaFiles[0].src==='');
return shouldChangeRenderer ? t.mediaElement.changeRenderer(renderInfo.rendererName, mediaFiles):null;
},
triggerAction=function triggerAction(methodName, args){
try {
if(methodName==='play'&&(t.mediaElement.rendererName==='native_dash'||t.mediaElement.rendererName==='native_hls'||t.mediaElement.rendererName==='vimeo_iframe')){
var response=t.mediaElement.renderer[methodName](args);
if(response&&typeof response.then==='function'){
response.catch(function (){
if(t.mediaElement.paused){
setTimeout(function (){
var tmpResponse=t.mediaElement.renderer.play();
if(tmpResponse!==undefined){
tmpResponse.catch(function (){
if(!t.mediaElement.renderer.paused){
t.mediaElement.renderer.pause();
}});
}}, 150);
}});
}}else{
t.mediaElement.renderer[methodName](args);
}} catch (e){
t.mediaElement.generateError(e, mediaFiles);
}},
assignMethods=function assignMethods(methodName){
t.mediaElement[methodName]=function (){
for (var _len=arguments.length, args=Array(_len), _key=0; _key < _len; _key++){
args[_key]=arguments[_key];
}
if(t.mediaElement.renderer!==undefined&&t.mediaElement.renderer!==null&&typeof t.mediaElement.renderer[methodName]==='function'){
if(t.mediaElement.promises.length){
Promise.all(t.mediaElement.promises).then(function (){
triggerAction(methodName, args);
}).catch(function (e){
t.mediaElement.generateError(e, mediaFiles);
});
}else{
triggerAction(methodName, args);
}}
return null;
};};
addProperty(t.mediaElement, 'src', getSrc, setSrc);
t.mediaElement.getSrc=getSrc;
t.mediaElement.setSrc=setSrc;
for (var _i3=0, total=props.length; _i3 < total; _i3++){
assignGettersSetters(props[_i3]);
}
for (var _i4=0, _total=methods.length; _i4 < _total; _i4++){
assignMethods(methods[_i4]);
}
t.mediaElement.addEventListener=function (eventName, callback){
t.mediaElement.events[eventName]=t.mediaElement.events[eventName]||[];
t.mediaElement.events[eventName].push(callback);
};
t.mediaElement.removeEventListener=function (eventName, callback){
if(!eventName){
t.mediaElement.events={};
return true;
}
var callbacks=t.mediaElement.events[eventName];
if(!callbacks){
return true;
}
if(!callback){
t.mediaElement.events[eventName]=[];
return true;
}
for (var _i5=0; _i5 < callbacks.length; _i5++){
if(callbacks[_i5]===callback){
t.mediaElement.events[eventName].splice(_i5, 1);
return true;
}}
return false;
};
t.mediaElement.dispatchEvent=function (event){
var callbacks=t.mediaElement.events[event.type];
if(callbacks){
for (var _i6=0; _i6 < callbacks.length; _i6++){
callbacks[_i6].apply(null, [event]);
}}
};
t.mediaElement.destroy=function (){
var mediaElement=t.mediaElement.originalNode.cloneNode(true);
var wrapper=t.mediaElement.parentElement;
mediaElement.removeAttribute('id');
mediaElement.remove();
t.mediaElement.remove();
wrapper.appendChild(mediaElement);
};
if(mediaFiles.length){
t.mediaElement.src=mediaFiles;
}
if(t.mediaElement.promises.length){
Promise.all(t.mediaElement.promises).then(function (){
if(t.mediaElement.options.success){
t.mediaElement.options.success(t.mediaElement, t.mediaElement.originalNode);
}}).catch(function (){
if(error&&t.mediaElement.options.error){
t.mediaElement.options.error(t.mediaElement, t.mediaElement.originalNode);
}});
}else{
if(t.mediaElement.options.success){
t.mediaElement.options.success(t.mediaElement, t.mediaElement.originalNode);
}
if(error&&t.mediaElement.options.error){
t.mediaElement.options.error(t.mediaElement, t.mediaElement.originalNode);
}}
return t.mediaElement;
};
_window2.default.MediaElement=MediaElement;
_mejs2.default.MediaElement=MediaElement;
exports.default=MediaElement;
},{"2":2,"25":25,"27":27,"28":28,"3":3,"7":7,"8":8}],7:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
var mejs={};
mejs.version='4.2.16';
mejs.html5media={
properties: ['volume', 'src', 'currentTime', 'muted', 'duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable', 'currentSrc', 'preload', 'bufferedBytes', 'bufferedTime', 'initialTime', 'startOffsetTime', 'defaultPlaybackRate', 'playbackRate', 'played', 'autoplay', 'loop', 'controls'],
readOnlyProperties: ['duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable'],
methods: ['load', 'play', 'pause', 'canPlayType'],
events: ['loadstart', 'durationchange', 'loadedmetadata', 'loadeddata', 'progress', 'canplay', 'canplaythrough', 'suspend', 'abort', 'error', 'emptied', 'stalled', 'play', 'playing', 'pause', 'waiting', 'seeking', 'seeked', 'timeupdate', 'ended', 'ratechange', 'volumechange'],
mediaTypes: ['audio/mp3', 'audio/ogg', 'audio/oga', 'audio/wav', 'audio/x-wav', 'audio/wave', 'audio/x-pn-wav', 'audio/mpeg', 'audio/mp4', 'video/mp4', 'video/webm', 'video/ogg', 'video/ogv']
};
_window2.default.mejs=mejs;
exports.default=mejs;
},{"3":3}],8:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.renderer=undefined;
var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol" ? function (obj){ return typeof obj; }:function (obj){ return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype ? "symbol":typeof obj; };
var _createClass=function (){ function defineProperties(target, props){ for (var i=0; i < props.length; i++){ var descriptor=props[i]; descriptor.enumerable=descriptor.enumerable||false; descriptor.configurable=true; if("value" in descriptor) descriptor.writable=true; Object.defineProperty(target, descriptor.key, descriptor); }} return function (Constructor, protoProps, staticProps){ if(protoProps) defineProperties(Constructor.prototype, protoProps); if(staticProps) defineProperties(Constructor, staticProps); return Constructor; };}();
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
function _classCallCheck(instance, Constructor){ if(!(instance instanceof Constructor)){ throw new TypeError("Cannot call a class as a function"); }}
var Renderer=function (){
function Renderer(){
_classCallCheck(this, Renderer);
this.renderers={};
this.order=[];
}
_createClass(Renderer, [{
key: 'add',
value: function add(renderer){
if(renderer.name===undefined){
throw new TypeError('renderer must contain at least `name` property');
}
this.renderers[renderer.name]=renderer;
this.order.push(renderer.name);
}}, {
key: 'select',
value: function select(mediaFiles){
var renderers=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:[];
var renderersLength=renderers.length;
renderers=renderers.length ? renderers:this.order;
if(!renderersLength){
var rendererIndicator=[/^(html5|native)/i, /^flash/i, /iframe$/i],
rendererRanking=function rendererRanking(renderer){
for (var i=0, total=rendererIndicator.length; i < total; i++){
if(rendererIndicator[i].test(renderer)){
return i;
}}
return rendererIndicator.length;
};
renderers.sort(function (a, b){
return rendererRanking(a) - rendererRanking(b);
});
}
for (var i=0, total=renderers.length; i < total; i++){
var key=renderers[i],
_renderer=this.renderers[key];
if(_renderer!==null&&_renderer!==undefined){
for (var j=0, jl=mediaFiles.length; j < jl; j++){
if(typeof _renderer.canPlayType==='function'&&typeof mediaFiles[j].type==='string'&&_renderer.canPlayType(mediaFiles[j].type)){
return {
rendererName: _renderer.name,
src: mediaFiles[j].src
};}}
}}
return null;
}}, {
key: 'order',
set: function set(order){
if(!Array.isArray(order)){
throw new TypeError('order must be an array of strings.');
}
this._order=order;
},
get: function get(){
return this._order;
}}, {
key: 'renderers',
set: function set(renderers){
if(renderers!==null&&(typeof renderers==='undefined' ? 'undefined':_typeof(renderers))!=='object'){
throw new TypeError('renderers must be an array of objects.');
}
this._renderers=renderers;
},
get: function get(){
return this._renderers;
}}]);
return Renderer;
}();
var renderer=exports.renderer=new Renderer();
_mejs2.default.Renderers=renderer;
},{"7":7}],9:[function(_dereq_,module,exports){
'use strict';
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _i18n=_dereq_(5);
var _i18n2=_interopRequireDefault(_i18n);
var _player=_dereq_(16);
var _player2=_interopRequireDefault(_player);
var _constants=_dereq_(25);
var Features=_interopRequireWildcard(_constants);
var _general=_dereq_(27);
var _dom=_dereq_(26);
var _media=_dereq_(28);
function _interopRequireWildcard(obj){ if(obj&&obj.__esModule){ return obj; }else{ var newObj={}; if(obj!=null){ for (var key in obj){ if(Object.prototype.hasOwnProperty.call(obj, key)) newObj[key]=obj[key]; }} newObj.default=obj; return newObj; }}
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
Object.assign(_player.config, {
usePluginFullScreen: true,
fullscreenText: null,
useFakeFullscreen: false
});
Object.assign(_player2.default.prototype, {
isFullScreen: false,
isNativeFullScreen: false,
isInIframe: false,
isPluginClickThroughCreated: false,
fullscreenMode: '',
containerSizeTimeout: null,
buildfullscreen: function buildfullscreen(player){
if(!player.isVideo){
return;
}
player.isInIframe=_window2.default.location!==_window2.default.parent.location;
player.detectFullscreenMode();
var t=this,
fullscreenTitle=(0, _general.isString)(t.options.fullscreenText) ? t.options.fullscreenText:_i18n2.default.t('mejs.fullscreen'),
fullscreenBtn=_document2.default.createElement('div');
fullscreenBtn.className=t.options.classPrefix + 'button ' + t.options.classPrefix + 'fullscreen-button';
fullscreenBtn.innerHTML='<button type="button" aria-controls="' + t.id + '" title="' + fullscreenTitle + '" aria-label="' + fullscreenTitle + '" tabindex="0"></button>';
t.addControlElement(fullscreenBtn, 'fullscreen');
fullscreenBtn.addEventListener('click', function (){
var isFullScreen=Features.HAS_TRUE_NATIVE_FULLSCREEN&&Features.IS_FULLSCREEN||player.isFullScreen;
if(isFullScreen){
player.exitFullScreen();
}else{
player.enterFullScreen();
}});
player.fullscreenBtn=fullscreenBtn;
t.options.keyActions.push({
keys: [70],
action: function action(player, media, key, event){
if(!event.ctrlKey){
if(typeof player.enterFullScreen!=='undefined'){
if(player.isFullScreen){
player.exitFullScreen();
}else{
player.enterFullScreen();
}}
}}
});
t.exitFullscreenCallback=function (e){
var key=e.which||e.keyCode||0;
if(t.options.enableKeyboard&&key===27&&(Features.HAS_TRUE_NATIVE_FULLSCREEN&&Features.IS_FULLSCREEN||t.isFullScreen)){
player.exitFullScreen();
}};
t.globalBind('keydown', t.exitFullscreenCallback);
t.normalHeight=0;
t.normalWidth=0;
if(Features.HAS_TRUE_NATIVE_FULLSCREEN){
var fullscreenChanged=function fullscreenChanged(){
if(player.isFullScreen){
if(Features.isFullScreen()){
player.isNativeFullScreen=true;
player.setControlsSize();
}else{
player.isNativeFullScreen=false;
player.exitFullScreen();
}}
};
player.globalBind(Features.FULLSCREEN_EVENT_NAME, fullscreenChanged);
}},
cleanfullscreen: function cleanfullscreen(player){
player.exitFullScreen();
player.globalUnbind('keydown', player.exitFullscreenCallback);
},
detectFullscreenMode: function detectFullscreenMode(){
var t=this,
isNative=t.media.rendererName!==null&&/(native|html5)/i.test(t.media.rendererName);
var mode='';
if(Features.HAS_TRUE_NATIVE_FULLSCREEN&&isNative){
mode='native-native';
}else if(Features.HAS_TRUE_NATIVE_FULLSCREEN&&!isNative){
mode='plugin-native';
}else if(t.usePluginFullScreen&&Features.SUPPORT_POINTER_EVENTS){
mode='plugin-click';
}
t.fullscreenMode=mode;
return mode;
},
enterFullScreen: function enterFullScreen(){
var t=this,
isNative=t.media.rendererName!==null&&/(html5|native)/i.test(t.media.rendererName),
containerStyles=getComputedStyle(t.getElement(t.container));
if(!t.isVideo){
return;
}
if(t.options.useFakeFullscreen===false&&Features.IS_IOS&&Features.HAS_IOS_FULLSCREEN&&typeof t.media.originalNode.webkitEnterFullscreen==='function'&&t.media.originalNode.canPlayType((0, _media.getTypeFromFile)(t.media.getSrc()))){
t.media.originalNode.webkitEnterFullscreen();
return;
}
(0, _dom.addClass)(_document2.default.documentElement, t.options.classPrefix + 'fullscreen');
(0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + 'container-fullscreen');
t.normalHeight=parseFloat(containerStyles.height);
t.normalWidth=parseFloat(containerStyles.width);
if(t.fullscreenMode==='native-native'||t.fullscreenMode==='plugin-native'){
Features.requestFullScreen(t.getElement(t.container));
if(t.isInIframe){
setTimeout(function checkFullscreen(){
if(t.isNativeFullScreen){
var percentErrorMargin=0.002,
windowWidth=_window2.default.innerWidth||_document2.default.documentElement.clientWidth||_document2.default.body.clientWidth,
screenWidth=screen.width,
absDiff=Math.abs(screenWidth - windowWidth),
marginError=screenWidth * percentErrorMargin;
if(absDiff > marginError){
t.exitFullScreen();
}else{
setTimeout(checkFullscreen, 500);
}}
}, 1000);
}}
t.getElement(t.container).style.width='100%';
t.getElement(t.container).style.height='100%';
t.containerSizeTimeout=setTimeout(function (){
t.getElement(t.container).style.width='100%';
t.getElement(t.container).style.height='100%';
t.setControlsSize();
}, 500);
if(isNative){
t.node.style.width='100%';
t.node.style.height='100%';
}else{
var elements=t.getElement(t.container).querySelectorAll('embed, object, video'),
_total=elements.length;
for (var i=0; i < _total; i++){
elements[i].style.width='100%';
elements[i].style.height='100%';
}}
if(t.options.setDimensions&&typeof t.media.setSize==='function'){
t.media.setSize(screen.width, screen.height);
}
var layers=t.getElement(t.layers).children,
total=layers.length;
for (var _i=0; _i < total; _i++){
layers[_i].style.width='100%';
layers[_i].style.height='100%';
}
if(t.fullscreenBtn){
(0, _dom.removeClass)(t.fullscreenBtn, t.options.classPrefix + 'fullscreen');
(0, _dom.addClass)(t.fullscreenBtn, t.options.classPrefix + 'unfullscreen');
}
t.setControlsSize();
t.isFullScreen=true;
var zoomFactor=Math.min(screen.width / t.width, screen.height / t.height),
captionText=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-text');
if(captionText){
captionText.style.fontSize=zoomFactor * 100 + '%';
captionText.style.lineHeight='normal';
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-position').style.bottom=(screen.height - t.normalHeight) / 2 - t.getElement(t.controls).offsetHeight / 2 + zoomFactor + 15 + 'px';
}
var event=(0, _general.createEvent)('enteredfullscreen', t.getElement(t.container));
t.getElement(t.container).dispatchEvent(event);
},
exitFullScreen: function exitFullScreen(){
var t=this,
isNative=t.media.rendererName!==null&&/(native|html5)/i.test(t.media.rendererName);
if(!t.isVideo){
return;
}
clearTimeout(t.containerSizeTimeout);
if(Features.HAS_TRUE_NATIVE_FULLSCREEN&&(Features.IS_FULLSCREEN||t.isFullScreen)){
Features.cancelFullScreen();
}
(0, _dom.removeClass)(_document2.default.documentElement, t.options.classPrefix + 'fullscreen');
(0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + 'container-fullscreen');
if(t.options.setDimensions){
t.getElement(t.container).style.width=t.normalWidth + 'px';
t.getElement(t.container).style.height=t.normalHeight + 'px';
if(isNative){
t.node.style.width=t.normalWidth + 'px';
t.node.style.height=t.normalHeight + 'px';
}else{
var elements=t.getElement(t.container).querySelectorAll('embed, object, video'),
_total2=elements.length;
for (var i=0; i < _total2; i++){
elements[i].style.width=t.normalWidth + 'px';
elements[i].style.height=t.normalHeight + 'px';
}}
if(typeof t.media.setSize==='function'){
t.media.setSize(t.normalWidth, t.normalHeight);
}
var layers=t.getElement(t.layers).children,
total=layers.length;
for (var _i2=0; _i2 < total; _i2++){
layers[_i2].style.width=t.normalWidth + 'px';
layers[_i2].style.height=t.normalHeight + 'px';
}}
if(t.fullscreenBtn){
(0, _dom.removeClass)(t.fullscreenBtn, t.options.classPrefix + 'unfullscreen');
(0, _dom.addClass)(t.fullscreenBtn, t.options.classPrefix + 'fullscreen');
}
t.setControlsSize();
t.isFullScreen=false;
var captionText=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-text');
if(captionText){
captionText.style.fontSize='';
captionText.style.lineHeight='';
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'captions-position').style.bottom='';
}
var event=(0, _general.createEvent)('exitedfullscreen', t.getElement(t.container));
t.getElement(t.container).dispatchEvent(event);
}});
},{"16":16,"2":2,"25":25,"26":26,"27":27,"28":28,"3":3,"5":5}],10:[function(_dereq_,module,exports){
'use strict';
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _player=_dereq_(16);
var _player2=_interopRequireDefault(_player);
var _i18n=_dereq_(5);
var _i18n2=_interopRequireDefault(_i18n);
var _general=_dereq_(27);
var _dom=_dereq_(26);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
Object.assign(_player.config, {
playText: null,
pauseText: null
});
Object.assign(_player2.default.prototype, {
buildplaypause: function buildplaypause(player, controls, layers, media){
var t=this,
op=t.options,
playTitle=(0, _general.isString)(op.playText) ? op.playText:_i18n2.default.t('mejs.play'),
pauseTitle=(0, _general.isString)(op.pauseText) ? op.pauseText:_i18n2.default.t('mejs.pause'),
play=_document2.default.createElement('div');
play.className=t.options.classPrefix + 'button ' + t.options.classPrefix + 'playpause-button ' + t.options.classPrefix + 'play';
play.innerHTML='<button type="button" aria-controls="' + t.id + '" title="' + playTitle + '" aria-label="' + pauseTitle + '" tabindex="0"></button>';
play.addEventListener('click', function (){
if(t.paused){
t.play();
}else{
t.pause();
}});
var playBtn=play.querySelector('button');
t.addControlElement(play, 'playpause');
function togglePlayPause(which){
if('play'===which){
(0, _dom.removeClass)(play, t.options.classPrefix + 'play');
(0, _dom.removeClass)(play, t.options.classPrefix + 'replay');
(0, _dom.addClass)(play, t.options.classPrefix + 'pause');
playBtn.setAttribute('title', pauseTitle);
playBtn.setAttribute('aria-label', pauseTitle);
}else{
(0, _dom.removeClass)(play, t.options.classPrefix + 'pause');
(0, _dom.removeClass)(play, t.options.classPrefix + 'replay');
(0, _dom.addClass)(play, t.options.classPrefix + 'play');
playBtn.setAttribute('title', playTitle);
playBtn.setAttribute('aria-label', playTitle);
}}
togglePlayPause('pse');
media.addEventListener('loadedmetadata', function (){
if(media.rendererName.indexOf('flash')===-1){
togglePlayPause('pse');
}});
media.addEventListener('play', function (){
togglePlayPause('play');
});
media.addEventListener('playing', function (){
togglePlayPause('play');
});
media.addEventListener('pause', function (){
togglePlayPause('pse');
});
media.addEventListener('ended', function (){
if(!player.options.loop){
(0, _dom.removeClass)(play, t.options.classPrefix + 'pause');
(0, _dom.removeClass)(play, t.options.classPrefix + 'play');
(0, _dom.addClass)(play, t.options.classPrefix + 'replay');
playBtn.setAttribute('title', playTitle);
playBtn.setAttribute('aria-label', playTitle);
}});
}});
},{"16":16,"2":2,"26":26,"27":27,"5":5}],11:[function(_dereq_,module,exports){
'use strict';
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _player=_dereq_(16);
var _player2=_interopRequireDefault(_player);
var _i18n=_dereq_(5);
var _i18n2=_interopRequireDefault(_i18n);
var _constants=_dereq_(25);
var _time=_dereq_(30);
var _dom=_dereq_(26);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
Object.assign(_player.config, {
enableProgressTooltip: true,
useSmoothHover: true,
forceLive: false
});
Object.assign(_player2.default.prototype, {
buildprogress: function buildprogress(player, controls, layers, media){
var lastKeyPressTime=0,
mouseIsDown=false,
startedPaused=false;
var t=this,
autoRewindInitial=player.options.autoRewind,
tooltip=player.options.enableProgressTooltip ? '<span class="' + t.options.classPrefix + 'time-float">' + ('<span class="' + t.options.classPrefix + 'time-float-current">00:00</span>') + ('<span class="' + t.options.classPrefix + 'time-float-corner"></span>') + '</span>':'',
rail=_document2.default.createElement('div');
rail.className=t.options.classPrefix + 'time-rail';
rail.innerHTML='<span class="' + t.options.classPrefix + 'time-total ' + t.options.classPrefix + 'time-slider">' + ('<span class="' + t.options.classPrefix + 'time-buffering"></span>') + ('<span class="' + t.options.classPrefix + 'time-loaded"></span>') + ('<span class="' + t.options.classPrefix + 'time-current"></span>') + ('<span class="' + t.options.classPrefix + 'time-hovered no-hover"></span>') + ('<span class="' + t.options.classPrefix + 'time-handle"><span class="' + t.options.classPrefix + 'time-handle-content"></span></span>') + ('' + tooltip) + '</span>';
t.addControlElement(rail, 'progress');
t.options.keyActions.push({
keys: [37, 227],
action: function action(player){
if(!isNaN(player.duration)&&player.duration > 0){
if(player.isVideo){
player.showControls();
player.startControlsTimer();
}
var timeSlider=player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'time-total');
if(timeSlider){
timeSlider.focus();
}
var newTime=Math.max(player.currentTime - player.options.defaultSeekBackwardInterval(player), 0);
if(!player.paused){
player.pause();
}
setTimeout(function (){
player.setCurrentTime(newTime);
}, 0);
setTimeout(function (){
player.play();
}, 0);
}}
}, {
keys: [39, 228],
action: function action(player){
if(!isNaN(player.duration)&&player.duration > 0){
if(player.isVideo){
player.showControls();
player.startControlsTimer();
}
var timeSlider=player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'time-total');
if(timeSlider){
timeSlider.focus();
}
var newTime=Math.min(player.currentTime + player.options.defaultSeekForwardInterval(player), player.duration);
if(!player.paused){
player.pause();
}
setTimeout(function (){
player.setCurrentTime(newTime);
}, 0);
setTimeout(function (){
player.play();
}, 0);
}}
});
t.rail=controls.querySelector('.' + t.options.classPrefix + 'time-rail');
t.total=controls.querySelector('.' + t.options.classPrefix + 'time-total');
t.loaded=controls.querySelector('.' + t.options.classPrefix + 'time-loaded');
t.current=controls.querySelector('.' + t.options.classPrefix + 'time-current');
t.handle=controls.querySelector('.' + t.options.classPrefix + 'time-handle');
t.timefloat=controls.querySelector('.' + t.options.classPrefix + 'time-float');
t.timefloatcurrent=controls.querySelector('.' + t.options.classPrefix + 'time-float-current');
t.slider=controls.querySelector('.' + t.options.classPrefix + 'time-slider');
t.hovered=controls.querySelector('.' + t.options.classPrefix + 'time-hovered');
t.buffer=controls.querySelector('.' + t.options.classPrefix + 'time-buffering');
t.newTime=0;
t.forcedHandlePause=false;
t.setTransformStyle=function (element, value){
element.style.transform=value;
element.style.webkitTransform=value;
element.style.MozTransform=value;
element.style.msTransform=value;
element.style.OTransform=value;
};
t.buffer.style.display='none';
var handleMouseMove=function handleMouseMove(e){
var totalStyles=getComputedStyle(t.total),
offsetStyles=(0, _dom.offset)(t.total),
width=t.total.offsetWidth,
transform=function (){
if(totalStyles.webkitTransform!==undefined){
return 'webkitTransform';
}else if(totalStyles.mozTransform!==undefined){
return 'mozTransform ';
}else if(totalStyles.oTransform!==undefined){
return 'oTransform';
}else if(totalStyles.msTransform!==undefined){
return 'msTransform';
}else{
return 'transform';
}}(),
cssMatrix=function (){
if('WebKitCSSMatrix' in window){
return 'WebKitCSSMatrix';
}else if('MSCSSMatrix' in window){
return 'MSCSSMatrix';
}else if('CSSMatrix' in window){
return 'CSSMatrix';
}}();
var percentage=0,
leftPos=0,
pos=0,
x=void 0;
if(e.originalEvent&&e.originalEvent.changedTouches){
x=e.originalEvent.changedTouches[0].pageX;
}else if(e.changedTouches){
x=e.changedTouches[0].pageX;
}else{
x=e.pageX;
}
if(t.getDuration()){
if(x < offsetStyles.left){
x=offsetStyles.left;
}else if(x > width + offsetStyles.left){
x=width + offsetStyles.left;
}
pos=x - offsetStyles.left;
percentage=pos / width;
t.newTime=percentage * t.getDuration();
if(mouseIsDown&&t.getCurrentTime()!==null&&t.newTime.toFixed(4)!==t.getCurrentTime().toFixed(4)){
t.setCurrentRailHandle(t.newTime);
t.updateCurrent(t.newTime);
}
if(!_constants.IS_IOS&&!_constants.IS_ANDROID){
if(pos < 0){
pos=0;
}
if(t.options.useSmoothHover&&cssMatrix!==null&&typeof window[cssMatrix]!=='undefined'){
var matrix=new window[cssMatrix](getComputedStyle(t.handle)[transform]),
handleLocation=matrix.m41,
hoverScaleX=pos / parseFloat(getComputedStyle(t.total).width) - handleLocation / parseFloat(getComputedStyle(t.total).width);
t.hovered.style.left=handleLocation + 'px';
t.setTransformStyle(t.hovered, 'scaleX(' + hoverScaleX + ')');
t.hovered.setAttribute('pos', pos);
if(hoverScaleX >=0){
(0, _dom.removeClass)(t.hovered, 'negative');
}else{
(0, _dom.addClass)(t.hovered, 'negative');
}}
if(t.timefloat){
var half=t.timefloat.offsetWidth / 2,
offsetContainer=mejs.Utils.offset(t.getElement(t.container)),
tooltipStyles=getComputedStyle(t.timefloat);
if(x - offsetContainer.left < t.timefloat.offsetWidth){
leftPos=half;
}else if(x - offsetContainer.left >=t.getElement(t.container).offsetWidth - half){
leftPos=t.total.offsetWidth - half;
}else{
leftPos=pos;
}
if((0, _dom.hasClass)(t.getElement(t.container), t.options.classPrefix + 'long-video')){
leftPos +=parseFloat(tooltipStyles.marginLeft) / 2 + t.timefloat.offsetWidth / 2;
}
t.timefloat.style.left=leftPos + 'px';
t.timefloatcurrent.innerHTML=(0, _time.secondsToTimeCode)(t.newTime, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat);
t.timefloat.style.display='block';
}}
}else if(!_constants.IS_IOS&&!_constants.IS_ANDROID&&t.timefloat){
leftPos=t.timefloat.offsetWidth + width >=t.getElement(t.container).offsetWidth ? t.timefloat.offsetWidth / 2:0;
t.timefloat.style.left=leftPos + 'px';
t.timefloat.style.left=leftPos + 'px';
t.timefloat.style.display='block';
}},
updateSlider=function updateSlider(){
var seconds=t.getCurrentTime(),
timeSliderText=_i18n2.default.t('mejs.time-slider'),
time=(0, _time.secondsToTimeCode)(seconds, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat),
duration=t.getDuration();
t.slider.setAttribute('role', 'slider');
t.slider.tabIndex=0;
if(media.paused){
t.slider.setAttribute('aria-label', timeSliderText);
t.slider.setAttribute('aria-valuemin', 0);
t.slider.setAttribute('aria-valuemax', isNaN(duration) ? 0:duration);
t.slider.setAttribute('aria-valuenow', seconds);
t.slider.setAttribute('aria-valuetext', time);
}else{
t.slider.removeAttribute('aria-label');
t.slider.removeAttribute('aria-valuemin');
t.slider.removeAttribute('aria-valuemax');
t.slider.removeAttribute('aria-valuenow');
t.slider.removeAttribute('aria-valuetext');
}},
restartPlayer=function restartPlayer(){
if(new Date() - lastKeyPressTime >=1000){
t.play();
}},
handleMouseup=function handleMouseup(){
if(mouseIsDown&&t.getCurrentTime()!==null&&t.newTime.toFixed(4)!==t.getCurrentTime().toFixed(4)){
t.setCurrentTime(t.newTime);
t.setCurrentRailHandle(t.newTime);
t.updateCurrent(t.newTime);
}
if(t.forcedHandlePause){
t.slider.focus();
t.play();
}
t.forcedHandlePause=false;
};
t.slider.addEventListener('focus', function (){
player.options.autoRewind=false;
});
t.slider.addEventListener('blur', function (){
player.options.autoRewind=autoRewindInitial;
});
t.slider.addEventListener('keydown', function (e){
if(new Date() - lastKeyPressTime >=1000){
startedPaused=t.paused;
}
if(t.options.enableKeyboard&&t.options.keyActions.length){
var keyCode=e.which||e.keyCode||0,
duration=t.getDuration(),
seekForward=player.options.defaultSeekForwardInterval(media),
seekBackward=player.options.defaultSeekBackwardInterval(media);
var seekTime=t.getCurrentTime();
var volume=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-slider');
if(keyCode===38||keyCode===40){
if(volume){
volume.style.display='block';
}
if(t.isVideo){
t.showControls();
t.startControlsTimer();
}
var newVolume=keyCode===38 ? Math.min(t.volume + 0.1, 1):Math.max(t.volume - 0.1, 0),
mutePlayer=newVolume <=0;
t.setVolume(newVolume);
t.setMuted(mutePlayer);
return;
}else{
if(volume){
volume.style.display='none';
}}
switch (keyCode){
case 37:
if(t.getDuration()!==Infinity){
seekTime -=seekBackward;
}
break;
case 39:
if(t.getDuration()!==Infinity){
seekTime +=seekForward;
}
break;
case 36:
seekTime=0;
break;
case 35:
seekTime=duration;
break;
case 13:
case 32:
if(_constants.IS_FIREFOX){
if(t.paused){
t.play();
}else{
t.pause();
}}
return;
default:
return;
}
seekTime=seekTime < 0||isNaN(seekTime) ? 0:seekTime >=duration ? duration:Math.floor(seekTime);
lastKeyPressTime=new Date();
if(!startedPaused){
player.pause();
}
setTimeout(function (){
t.setCurrentTime(seekTime);
}, 0);
if(seekTime < t.getDuration()&&!startedPaused){
setTimeout(restartPlayer, 1100);
}
player.showControls();
e.preventDefault();
e.stopPropagation();
}});
var events=['mousedown', 'touchstart'];
t.slider.addEventListener('dragstart', function (){
return false;
});
for (var i=0, total=events.length; i < total; i++){
t.slider.addEventListener(events[i], function (e){
t.forcedHandlePause=false;
if(t.getDuration()!==Infinity){
if(e.which===1||e.which===0){
if(!t.paused){
t.pause();
t.forcedHandlePause=true;
}
mouseIsDown=true;
handleMouseMove(e);
var endEvents=['mouseup', 'touchend'];
for (var j=0, totalEvents=endEvents.length; j < totalEvents; j++){
t.getElement(t.container).addEventListener(endEvents[j], function (event){
var target=event.target;
if(target===t.slider||target.closest('.' + t.options.classPrefix + 'time-slider')){
handleMouseMove(event);
}});
}
t.globalBind('mouseup.dur touchend.dur', function (){
handleMouseup();
mouseIsDown=false;
if(t.timefloat){
t.timefloat.style.display='none';
}});
}}
}, _constants.SUPPORT_PASSIVE_EVENT&&events[i]==='touchstart' ? { passive: true }:false);
}
t.slider.addEventListener('mouseenter', function (e){
if(e.target===t.slider&&t.getDuration()!==Infinity){
t.getElement(t.container).addEventListener('mousemove', function (event){
var target=event.target;
if(target===t.slider||target.closest('.' + t.options.classPrefix + 'time-slider')){
handleMouseMove(event);
}});
if(t.timefloat&&!_constants.IS_IOS&&!_constants.IS_ANDROID){
t.timefloat.style.display='block';
}
if(t.hovered&&!_constants.IS_IOS&&!_constants.IS_ANDROID&&t.options.useSmoothHover){
(0, _dom.removeClass)(t.hovered, 'no-hover');
}}
});
t.slider.addEventListener('mouseleave', function (){
if(t.getDuration()!==Infinity){
if(!mouseIsDown){
if(t.timefloat){
t.timefloat.style.display='none';
}
if(t.hovered&&t.options.useSmoothHover){
(0, _dom.addClass)(t.hovered, 'no-hover');
}}
}});
t.broadcastCallback=function (e){
var broadcast=controls.querySelector('.' + t.options.classPrefix + 'broadcast');
if(!t.options.forceLive&&t.getDuration()!==Infinity){
if(broadcast){
t.slider.style.display='';
broadcast.remove();
}
player.setProgressRail(e);
if(!t.forcedHandlePause){
player.setCurrentRail(e);
}
updateSlider();
}else if(!broadcast&&t.options.forceLive){
var label=_document2.default.createElement('span');
label.className=t.options.classPrefix + 'broadcast';
label.innerText=_i18n2.default.t('mejs.live-broadcast');
t.slider.style.display='none';
t.rail.appendChild(label);
}};
media.addEventListener('progress', t.broadcastCallback);
media.addEventListener('timeupdate', t.broadcastCallback);
media.addEventListener('play', function (){
t.buffer.style.display='none';
});
media.addEventListener('playing', function (){
t.buffer.style.display='none';
});
media.addEventListener('seeking', function (){
t.buffer.style.display='';
});
media.addEventListener('seeked', function (){
t.buffer.style.display='none';
});
media.addEventListener('pause', function (){
t.buffer.style.display='none';
});
media.addEventListener('waiting', function (){
t.buffer.style.display='';
});
media.addEventListener('loadeddata', function (){
t.buffer.style.display='';
});
media.addEventListener('canplay', function (){
t.buffer.style.display='none';
});
media.addEventListener('error', function (){
t.buffer.style.display='none';
});
t.getElement(t.container).addEventListener('controlsresize', function (e){
if(t.getDuration()!==Infinity){
player.setProgressRail(e);
if(!t.forcedHandlePause){
player.setCurrentRail(e);
}}
});
},
cleanprogress: function cleanprogress(player, controls, layers, media){
media.removeEventListener('progress', player.broadcastCallback);
media.removeEventListener('timeupdate', player.broadcastCallback);
if(player.rail){
player.rail.remove();
}},
setProgressRail: function setProgressRail(e){
var t=this,
target=e!==undefined ? e.detail.target||e.target:t.media;
var percent=null;
if(target&&target.buffered&&target.buffered.length > 0&&target.buffered.end&&t.getDuration()){
percent=target.buffered.end(target.buffered.length - 1) / t.getDuration();
}else if(target&&target.bytesTotal!==undefined&&target.bytesTotal > 0&&target.bufferedBytes!==undefined){
percent=target.bufferedBytes / target.bytesTotal;
}else if(e&&e.lengthComputable&&e.total!==0){
percent=e.loaded / e.total;
}
if(percent!==null){
percent=Math.min(1, Math.max(0, percent));
if(t.loaded){
t.setTransformStyle(t.loaded, 'scaleX(' + percent + ')');
}}
},
setCurrentRailHandle: function setCurrentRailHandle(fakeTime){
var t=this;
t.setCurrentRailMain(t, fakeTime);
},
setCurrentRail: function setCurrentRail(){
var t=this;
t.setCurrentRailMain(t);
},
setCurrentRailMain: function setCurrentRailMain(t, fakeTime){
if(t.getCurrentTime()!==undefined&&t.getDuration()){
var nTime=typeof fakeTime==='undefined' ? t.getCurrentTime():fakeTime;
if(t.total&&t.handle){
var tW=parseFloat(getComputedStyle(t.total).width);
var newWidth=Math.round(tW * nTime / t.getDuration()),
handlePos=newWidth - Math.round(t.handle.offsetWidth / 2);
handlePos=handlePos < 0 ? 0:handlePos;
t.setTransformStyle(t.current, 'scaleX(' + newWidth / tW + ')');
t.setTransformStyle(t.handle, 'translateX(' + handlePos + 'px)');
if(t.options.useSmoothHover&&!(0, _dom.hasClass)(t.hovered, 'no-hover')){
var pos=parseInt(t.hovered.getAttribute('pos'), 10);
pos=isNaN(pos) ? 0:pos;
var hoverScaleX=pos / tW - handlePos / tW;
t.hovered.style.left=handlePos + 'px';
t.setTransformStyle(t.hovered, 'scaleX(' + hoverScaleX + ')');
if(hoverScaleX >=0){
(0, _dom.removeClass)(t.hovered, 'negative');
}else{
(0, _dom.addClass)(t.hovered, 'negative');
}}
}}
}});
},{"16":16,"2":2,"25":25,"26":26,"30":30,"5":5}],12:[function(_dereq_,module,exports){
'use strict';
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _player=_dereq_(16);
var _player2=_interopRequireDefault(_player);
var _time=_dereq_(30);
var _dom=_dereq_(26);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
Object.assign(_player.config, {
duration: 0,
timeAndDurationSeparator: '<span> | </span>'
});
Object.assign(_player2.default.prototype, {
buildcurrent: function buildcurrent(player, controls, layers, media){
var t=this,
time=_document2.default.createElement('div');
time.className=t.options.classPrefix + 'time';
time.setAttribute('role', 'timer');
time.setAttribute('aria-live', 'off');
time.innerHTML='<span class="' + t.options.classPrefix + 'currenttime">' + (0, _time.secondsToTimeCode)(0, player.options.alwaysShowHours, player.options.showTimecodeFrameCount, player.options.framesPerSecond, player.options.secondsDecimalLength, player.options.timeFormat) + '</span>';
t.addControlElement(time, 'current');
player.updateCurrent();
t.updateTimeCallback=function (){
if(t.controlsAreVisible){
player.updateCurrent();
}};
media.addEventListener('timeupdate', t.updateTimeCallback);
},
cleancurrent: function cleancurrent(player, controls, layers, media){
media.removeEventListener('timeupdate', player.updateTimeCallback);
},
buildduration: function buildduration(player, controls, layers, media){
var t=this,
currTime=controls.lastChild.querySelector('.' + t.options.classPrefix + 'currenttime');
if(currTime){
controls.querySelector('.' + t.options.classPrefix + 'time').innerHTML +=t.options.timeAndDurationSeparator + '<span class="' + t.options.classPrefix + 'duration">' + ((0, _time.secondsToTimeCode)(t.options.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat) + '</span>');
}else{
if(controls.querySelector('.' + t.options.classPrefix + 'currenttime')){
(0, _dom.addClass)(controls.querySelector('.' + t.options.classPrefix + 'currenttime').parentNode, t.options.classPrefix + 'currenttime-container');
}
var duration=_document2.default.createElement('div');
duration.className=t.options.classPrefix + 'time ' + t.options.classPrefix + 'duration-container';
duration.innerHTML='<span class="' + t.options.classPrefix + 'duration">' + ((0, _time.secondsToTimeCode)(t.options.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat) + '</span>');
t.addControlElement(duration, 'duration');
}
t.updateDurationCallback=function (){
if(t.controlsAreVisible){
player.updateDuration();
}};
media.addEventListener('timeupdate', t.updateDurationCallback);
},
cleanduration: function cleanduration(player, controls, layers, media){
media.removeEventListener('timeupdate', player.updateDurationCallback);
},
updateCurrent: function updateCurrent(){
var t=this;
var currentTime=t.getCurrentTime();
if(isNaN(currentTime)){
currentTime=0;
}
var timecode=(0, _time.secondsToTimeCode)(currentTime, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat);
if(timecode.length > 5){
(0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + 'long-video');
}else{
(0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + 'long-video');
}
if(t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'currenttime')){
t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'currenttime').innerText=timecode;
}},
updateDuration: function updateDuration(){
var t=this;
var duration=t.getDuration();
if(t.media!==undefined&&(isNaN(duration)||duration===Infinity||duration < 0)){
t.media.duration=t.options.duration=duration=0;
}
if(t.options.duration > 0){
duration=t.options.duration;
}
var timecode=(0, _time.secondsToTimeCode)(duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond, t.options.secondsDecimalLength, t.options.timeFormat);
if(timecode.length > 5){
(0, _dom.addClass)(t.getElement(t.container), t.options.classPrefix + 'long-video');
}else{
(0, _dom.removeClass)(t.getElement(t.container), t.options.classPrefix + 'long-video');
}
if(t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'duration')&&duration > 0){
t.getElement(t.controls).querySelector('.' + t.options.classPrefix + 'duration').innerHTML=timecode;
}}
});
},{"16":16,"2":2,"26":26,"30":30}],13:[function(_dereq_,module,exports){
'use strict';
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _i18n=_dereq_(5);
var _i18n2=_interopRequireDefault(_i18n);
var _player=_dereq_(16);
var _player2=_interopRequireDefault(_player);
var _time=_dereq_(30);
var _general=_dereq_(27);
var _dom=_dereq_(26);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
Object.assign(_player.config, {
startLanguage: '',
tracksText: null,
chaptersText: null,
tracksAriaLive: false,
hideCaptionsButtonWhenEmpty: true,
toggleCaptionsButtonWhenOnlyOne: false,
slidesSelector: ''
});
Object.assign(_player2.default.prototype, {
hasChapters: false,
buildtracks: function buildtracks(player, controls, layers, media){
this.findTracks();
if(!player.tracks.length&&(!player.trackFiles||!player.trackFiles.length===0)){
return;
}
var t=this,
attr=t.options.tracksAriaLive ? ' role="log" aria-live="assertive" aria-atomic="false"':'',
tracksTitle=(0, _general.isString)(t.options.tracksText) ? t.options.tracksText:_i18n2.default.t('mejs.captions-subtitles'),
chaptersTitle=(0, _general.isString)(t.options.chaptersText) ? t.options.chaptersText:_i18n2.default.t('mejs.captions-chapters'),
total=player.trackFiles===null ? player.tracks.length:player.trackFiles.length;
if(t.domNode.textTracks){
for (var i=t.domNode.textTracks.length - 1; i >=0; i--){
t.domNode.textTracks[i].mode='hidden';
}}
t.cleartracks(player);
player.captions=_document2.default.createElement('div');
player.captions.className=t.options.classPrefix + 'captions-layer ' + t.options.classPrefix + 'layer';
player.captions.innerHTML='<div class="' + t.options.classPrefix + 'captions-position ' + t.options.classPrefix + 'captions-position-hover"' + attr + '>' + ('<span class="' + t.options.classPrefix + 'captions-text"></span>') + '</div>';
player.captions.style.display='none';
layers.insertBefore(player.captions, layers.firstChild);
player.captionsText=player.captions.querySelector('.' + t.options.classPrefix + 'captions-text');
player.captionsButton=_document2.default.createElement('div');
player.captionsButton.className=t.options.classPrefix + 'button ' + t.options.classPrefix + 'captions-button';
player.captionsButton.innerHTML='<button type="button" aria-controls="' + t.id + '" title="' + tracksTitle + '" aria-label="' + tracksTitle + '" tabindex="0"></button>' + ('<div class="' + t.options.classPrefix + 'captions-selector ' + t.options.classPrefix + 'offscreen">') + ('<ul class="' + t.options.classPrefix + 'captions-selector-list">') + ('<li class="' + t.options.classPrefix + 'captions-selector-list-item">') + ('<input type="radio" class="' + t.options.classPrefix + 'captions-selector-input" ') + ('name="' + player.id + '_captions" id="' + player.id + '_captions_none" ') + 'value="none" checked disabled>' + ('<label class="' + t.options.classPrefix + 'captions-selector-label ') + (t.options.classPrefix + 'captions-selected" ') + ('for="' + player.id + '_captions_none">' + _i18n2.default.t('mejs.none') + '</label>') + '</li>' + '</ul>' + '</div>';
t.addControlElement(player.captionsButton, 'tracks');
player.captionsButton.querySelector('.' + t.options.classPrefix + 'captions-selector-input').disabled=false;
player.chaptersButton=_document2.default.createElement('div');
player.chaptersButton.className=t.options.classPrefix + 'button ' + t.options.classPrefix + 'chapters-button';
player.chaptersButton.innerHTML='<button type="button" aria-controls="' + t.id + '" title="' + chaptersTitle + '" aria-label="' + chaptersTitle + '" tabindex="0"></button>' + ('<div class="' + t.options.classPrefix + 'chapters-selector ' + t.options.classPrefix + 'offscreen">') + ('<ul class="' + t.options.classPrefix + 'chapters-selector-list"></ul>') + '</div>';
var subtitleCount=0;
for (var _i=0; _i < total; _i++){
var kind=player.tracks[_i].kind,
src=player.tracks[_i].src;
if(src.trim()){
if(kind==='subtitles'||kind==='captions'){
subtitleCount++;
}else if(kind==='chapters'&&!controls.querySelector('.' + t.options.classPrefix + 'chapter-selector')){
player.captionsButton.parentNode.insertBefore(player.chaptersButton, player.captionsButton);
}}
}
player.trackToLoad=-1;
player.selectedTrack=null;
player.isLoadingTrack=false;
for (var _i2=0; _i2 < total; _i2++){
var _kind=player.tracks[_i2].kind;
if(player.tracks[_i2].src.trim()&&(_kind==='subtitles'||_kind==='captions')){
player.addTrackButton(player.tracks[_i2].trackId, player.tracks[_i2].srclang, player.tracks[_i2].label);
}}
player.loadNextTrack();
var inEvents=['mouseenter', 'focusin'],
outEvents=['mouseleave', 'focusout'];
if(t.options.toggleCaptionsButtonWhenOnlyOne&&subtitleCount===1){
player.captionsButton.addEventListener('click', function (e){
var trackId='none';
if(player.selectedTrack===null){
trackId=player.tracks[0].trackId;
}
var keyboard=e.keyCode||e.which;
player.setTrack(trackId, typeof keyboard!=='undefined');
});
}else{
var labels=player.captionsButton.querySelectorAll('.' + t.options.classPrefix + 'captions-selector-label'),
captions=player.captionsButton.querySelectorAll('input[type=radio]');
for (var _i3=0, _total=inEvents.length; _i3 < _total; _i3++){
player.captionsButton.addEventListener(inEvents[_i3], function (){
(0, _dom.removeClass)(this.querySelector('.' + t.options.classPrefix + 'captions-selector'), t.options.classPrefix + 'offscreen');
});
}
for (var _i4=0, _total2=outEvents.length; _i4 < _total2; _i4++){
player.captionsButton.addEventListener(outEvents[_i4], function (){
(0, _dom.addClass)(this.querySelector('.' + t.options.classPrefix + 'captions-selector'), t.options.classPrefix + 'offscreen');
});
}
for (var _i5=0, _total3=captions.length; _i5 < _total3; _i5++){
captions[_i5].addEventListener('click', function (e){
var keyboard=e.keyCode||e.which;
player.setTrack(this.value, typeof keyboard!=='undefined');
});
}
for (var _i6=0, _total4=labels.length; _i6 < _total4; _i6++){
labels[_i6].addEventListener('click', function (e){
var radio=(0, _dom.siblings)(this, function (el){
return el.tagName==='INPUT';
})[0],
event=(0, _general.createEvent)('click', radio);
radio.dispatchEvent(event);
e.preventDefault();
});
}
player.captionsButton.addEventListener('keydown', function (e){
e.stopPropagation();
});
}
for (var _i7=0, _total5=inEvents.length; _i7 < _total5; _i7++){
player.chaptersButton.addEventListener(inEvents[_i7], function (){
if(this.querySelector('.' + t.options.classPrefix + 'chapters-selector-list').children.length){
(0, _dom.removeClass)(this.querySelector('.' + t.options.classPrefix + 'chapters-selector'), t.options.classPrefix + 'offscreen');
}});
}
for (var _i8=0, _total6=outEvents.length; _i8 < _total6; _i8++){
player.chaptersButton.addEventListener(outEvents[_i8], function (){
(0, _dom.addClass)(this.querySelector('.' + t.options.classPrefix + 'chapters-selector'), t.options.classPrefix + 'offscreen');
});
}
player.chaptersButton.addEventListener('keydown', function (e){
e.stopPropagation();
});
if(!player.options.alwaysShowControls){
player.getElement(player.container).addEventListener('controlsshown', function (){
(0, _dom.addClass)(player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'captions-position'), t.options.classPrefix + 'captions-position-hover');
});
player.getElement(player.container).addEventListener('controlshidden', function (){
if(!media.paused){
(0, _dom.removeClass)(player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'captions-position'), t.options.classPrefix + 'captions-position-hover');
}});
}else{
(0, _dom.addClass)(player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'captions-position'), t.options.classPrefix + 'captions-position-hover');
}
media.addEventListener('timeupdate', function (){
player.displayCaptions();
});
if(player.options.slidesSelector!==''){
player.slidesContainer=_document2.default.querySelectorAll(player.options.slidesSelector);
media.addEventListener('timeupdate', function (){
player.displaySlides();
});
}},
cleartracks: function cleartracks(player){
if(player){
if(player.captions){
player.captions.remove();
}
if(player.chapters){
player.chapters.remove();
}
if(player.captionsText){
player.captionsText.remove();
}
if(player.captionsButton){
player.captionsButton.remove();
}
if(player.chaptersButton){
player.chaptersButton.remove();
}}
},
rebuildtracks: function rebuildtracks(){
var t=this;
t.findTracks();
t.buildtracks(t, t.getElement(t.controls), t.getElement(t.layers), t.media);
},
findTracks: function findTracks(){
var t=this,
tracktags=t.trackFiles===null ? t.node.querySelectorAll('track'):t.trackFiles,
total=tracktags.length;
t.tracks=[];
for (var i=0; i < total; i++){
var track=tracktags[i],
srclang=track.getAttribute('srclang').toLowerCase()||'',
trackId=t.id + '_track_' + i + '_' + track.getAttribute('kind') + '_' + srclang;
t.tracks.push({
trackId: trackId,
srclang: srclang,
src: track.getAttribute('src'),
kind: track.getAttribute('kind'),
label: track.getAttribute('label')||'',
entries: [],
isLoaded: false
});
}},
setTrack: function setTrack(trackId, setByKeyboard){
var t=this,
radios=t.captionsButton.querySelectorAll('input[type="radio"]'),
captions=t.captionsButton.querySelectorAll('.' + t.options.classPrefix + 'captions-selected'),
track=t.captionsButton.querySelector('input[value="' + trackId + '"]');
for (var i=0, total=radios.length; i < total; i++){
radios[i].checked=false;
}
for (var _i9=0, _total7=captions.length; _i9 < _total7; _i9++){
(0, _dom.removeClass)(captions[_i9], t.options.classPrefix + 'captions-selected');
}
track.checked=true;
var labels=(0, _dom.siblings)(track, function (el){
return (0, _dom.hasClass)(el, t.options.classPrefix + 'captions-selector-label');
});
for (var _i10=0, _total8=labels.length; _i10 < _total8; _i10++){
(0, _dom.addClass)(labels[_i10], t.options.classPrefix + 'captions-selected');
}
if(trackId==='none'){
t.selectedTrack=null;
(0, _dom.removeClass)(t.captionsButton, t.options.classPrefix + 'captions-enabled');
}else{
for (var _i11=0, _total9=t.tracks.length; _i11 < _total9; _i11++){
var _track=t.tracks[_i11];
if(_track.trackId===trackId){
if(t.selectedTrack===null){
(0, _dom.addClass)(t.captionsButton, t.options.classPrefix + 'captions-enabled');
}
t.selectedTrack=_track;
t.captions.setAttribute('lang', t.selectedTrack.srclang);
t.displayCaptions();
break;
}}
}
var event=(0, _general.createEvent)('captionschange', t.media);
event.detail.caption=t.selectedTrack;
t.media.dispatchEvent(event);
if(!setByKeyboard){
setTimeout(function (){
t.getElement(t.container).focus();
}, 500);
}},
loadNextTrack: function loadNextTrack(){
var t=this;
t.trackToLoad++;
if(t.trackToLoad < t.tracks.length){
t.isLoadingTrack=true;
t.loadTrack(t.trackToLoad);
}else{
t.isLoadingTrack=false;
t.checkForTracks();
}},
loadTrack: function loadTrack(index){
var t=this,
track=t.tracks[index];
if(track!==undefined&&(track.src!==undefined||track.src!=="")){
(0, _dom.ajax)(track.src, 'text', function (d){
track.entries=typeof d==='string'&&/<tt\s+xml/ig.exec(d) ? _mejs2.default.TrackFormatParser.dfxp.parse(d):_mejs2.default.TrackFormatParser.webvtt.parse(d);
track.isLoaded=true;
t.enableTrackButton(track);
t.loadNextTrack();
if(track.kind==='slides'){
t.setupSlides(track);
}else if(track.kind==='chapters'&&!t.hasChapters){
t.drawChapters(track);
t.hasChapters=true;
}}, function (){
t.removeTrackButton(track.trackId);
t.loadNextTrack();
});
}},
enableTrackButton: function enableTrackButton(track){
var t=this,
lang=track.srclang,
target=_document2.default.getElementById('' + track.trackId);
if(!target){
return;
}
var label=track.label;
if(label===''){
label=_i18n2.default.t(_mejs2.default.language.codes[lang])||lang;
}
target.disabled=false;
var targetSiblings=(0, _dom.siblings)(target, function (el){
return (0, _dom.hasClass)(el, t.options.classPrefix + 'captions-selector-label');
});
for (var i=0, total=targetSiblings.length; i < total; i++){
targetSiblings[i].innerHTML=label;
}
if(t.options.startLanguage===lang){
target.checked=true;
var event=(0, _general.createEvent)('click', target);
target.dispatchEvent(event);
}},
removeTrackButton: function removeTrackButton(trackId){
var element=_document2.default.getElementById('' + trackId);
if(element){
var button=element.closest('li');
if(button){
button.remove();
}}
},
addTrackButton: function addTrackButton(trackId, lang, label){
var t=this;
if(label===''){
label=_i18n2.default.t(_mejs2.default.language.codes[lang])||lang;
}
t.captionsButton.querySelector('ul').innerHTML +='<li class="' + t.options.classPrefix + 'captions-selector-list-item">' + ('<input type="radio" class="' + t.options.classPrefix + 'captions-selector-input" ') + ('name="' + t.id + '_captions" id="' + trackId + '" value="' + trackId + '" disabled>') + ('<label class="' + t.options.classPrefix + 'captions-selector-label"') + ('for="' + trackId + '">' + label + ' (loading)</label>') + '</li>';
},
checkForTracks: function checkForTracks(){
var t=this;
var hasSubtitles=false;
if(t.options.hideCaptionsButtonWhenEmpty){
for (var i=0, total=t.tracks.length; i < total; i++){
var kind=t.tracks[i].kind;
if((kind==='subtitles'||kind==='captions')&&t.tracks[i].isLoaded){
hasSubtitles=true;
break;
}}
t.captionsButton.style.display=hasSubtitles ? '':'none';
t.setControlsSize();
}},
displayCaptions: function displayCaptions(){
if(this.tracks===undefined){
return;
}
var t=this,
track=t.selectedTrack,
sanitize=function sanitize(html){
var div=_document2.default.createElement('div');
div.innerHTML=html;
var scripts=div.getElementsByTagName('script');
var i=scripts.length;
while (i--){
scripts[i].remove();
}
var allElements=div.getElementsByTagName('*');
for (var _i12=0, n=allElements.length; _i12 < n; _i12++){
var attributesObj=allElements[_i12].attributes,
attributes=Array.prototype.slice.call(attributesObj);
for (var j=0, total=attributes.length; j < total; j++){
if(attributes[j].name.startsWith('on')||attributes[j].value.startsWith('javascript')){
allElements[_i12].remove();
}else if(attributes[j].name==='style'){
allElements[_i12].removeAttribute(attributes[j].name);
}}
}
return div.innerHTML;
};
if(track!==null&&track.isLoaded){
var i=t.searchTrackPosition(track.entries, t.media.currentTime);
if(i > -1){
var text=track.entries[i].text;
if(typeof t.options.captionTextPreprocessor==='function') text=t.options.captionTextPreprocessor(text);
t.captionsText.innerHTML=sanitize(text);
t.captionsText.className=t.options.classPrefix + 'captions-text ' + (track.entries[i].identifier||'');
t.captions.style.display='';
t.captions.style.height='0px';
return;
}
t.captions.style.display='none';
}else{
t.captions.style.display='none';
}},
setupSlides: function setupSlides(track){
var t=this;
t.slides=track;
t.slides.entries.imgs=[t.slides.entries.length];
t.showSlide(0);
},
showSlide: function showSlide(index){
var _this=this;
var t=this;
if(t.tracks===undefined||t.slidesContainer===undefined){
return;
}
var url=t.slides.entries[index].text;
var img=t.slides.entries[index].imgs;
if(img===undefined||img.fadeIn===undefined){
var image=_document2.default.createElement('img');
image.src=url;
image.addEventListener('load', function (){
var self=_this,
visible=(0, _dom.siblings)(self, function (el){
return visible(el);
});
self.style.display='none';
t.slidesContainer.innerHTML +=self.innerHTML;
(0, _dom.fadeIn)(t.slidesContainer.querySelector(image));
for (var i=0, total=visible.length; i < total; i++){
(0, _dom.fadeOut)(visible[i], 400);
}});
t.slides.entries[index].imgs=img=image;
}else if(!(0, _dom.visible)(img)){
var _visible=(0, _dom.siblings)(self, function (el){
return _visible(el);
});
(0, _dom.fadeIn)(t.slidesContainer.querySelector(img));
for (var i=0, total=_visible.length; i < total; i++){
(0, _dom.fadeOut)(_visible[i]);
}}
},
displaySlides: function displaySlides(){
var t=this;
if(this.slides===undefined){
return;
}
var slides=t.slides,
i=t.searchTrackPosition(slides.entries, t.media.currentTime);
if(i > -1){
t.showSlide(i);
}},
drawChapters: function drawChapters(chapters){
var t=this,
total=chapters.entries.length;
if(!total){
return;
}
t.chaptersButton.querySelector('ul').innerHTML='';
for (var i=0; i < total; i++){
t.chaptersButton.querySelector('ul').innerHTML +='<li class="' + t.options.classPrefix + 'chapters-selector-list-item" ' + 'role="menuitemcheckbox" aria-live="polite" aria-disabled="false" aria-checked="false">' + ('<input type="radio" class="' + t.options.classPrefix + 'captions-selector-input" ') + ('name="' + t.id + '_chapters" id="' + t.id + '_chapters_' + i + '" value="' + chapters.entries[i].start + '" disabled>') + ('<label class="' + t.options.classPrefix + 'chapters-selector-label"') + ('for="' + t.id + '_chapters_' + i + '">' + chapters.entries[i].text + '</label>') + '</li>';
}
var radios=t.chaptersButton.querySelectorAll('input[type="radio"]'),
labels=t.chaptersButton.querySelectorAll('.' + t.options.classPrefix + 'chapters-selector-label');
for (var _i13=0, _total10=radios.length; _i13 < _total10; _i13++){
radios[_i13].disabled=false;
radios[_i13].checked=false;
radios[_i13].addEventListener('click', function (e){
var self=this,
listItems=t.chaptersButton.querySelectorAll('li'),
label=(0, _dom.siblings)(self, function (el){
return (0, _dom.hasClass)(el, t.options.classPrefix + 'chapters-selector-label');
})[0];
self.checked=true;
self.parentNode.setAttribute('aria-checked', true);
(0, _dom.addClass)(label, t.options.classPrefix + 'chapters-selected');
(0, _dom.removeClass)(t.chaptersButton.querySelector('.' + t.options.classPrefix + 'chapters-selected'), t.options.classPrefix + 'chapters-selected');
for (var _i14=0, _total11=listItems.length; _i14 < _total11; _i14++){
listItems[_i14].setAttribute('aria-checked', false);
}
var keyboard=e.keyCode||e.which;
if(typeof keyboard==='undefined'){
setTimeout(function (){
t.getElement(t.container).focus();
}, 500);
}
t.media.setCurrentTime(parseFloat(self.value));
if(t.media.paused){
t.media.play();
}});
}
for (var _i15=0, _total12=labels.length; _i15 < _total12; _i15++){
labels[_i15].addEventListener('click', function (e){
var radio=(0, _dom.siblings)(this, function (el){
return el.tagName==='INPUT';
})[0],
event=(0, _general.createEvent)('click', radio);
radio.dispatchEvent(event);
e.preventDefault();
});
}},
searchTrackPosition: function searchTrackPosition(tracks, currentTime){
var lo=0,
hi=tracks.length - 1,
mid=void 0,
start=void 0,
stop=void 0;
while (lo <=hi){
mid=lo + hi >> 1;
start=tracks[mid].start;
stop=tracks[mid].stop;
if(currentTime >=start&&currentTime < stop){
return mid;
}else if(start < currentTime){
lo=mid + 1;
}else if(start > currentTime){
hi=mid - 1;
}}
return -1;
}});
_mejs2.default.language={
codes: {
af: 'mejs.afrikaans',
sq: 'mejs.albanian',
ar: 'mejs.arabic',
be: 'mejs.belarusian',
bg: 'mejs.bulgarian',
ca: 'mejs.catalan',
zh: 'mejs.chinese',
'zh-cn': 'mejs.chinese-simplified',
'zh-tw': 'mejs.chines-traditional',
hr: 'mejs.croatian',
cs: 'mejs.czech',
da: 'mejs.danish',
nl: 'mejs.dutch',
en: 'mejs.english',
et: 'mejs.estonian',
fl: 'mejs.filipino',
fi: 'mejs.finnish',
fr: 'mejs.french',
gl: 'mejs.galician',
de: 'mejs.german',
el: 'mejs.greek',
ht: 'mejs.haitian-creole',
iw: 'mejs.hebrew',
hi: 'mejs.hindi',
hu: 'mejs.hungarian',
is: 'mejs.icelandic',
id: 'mejs.indonesian',
ga: 'mejs.irish',
it: 'mejs.italian',
ja: 'mejs.japanese',
ko: 'mejs.korean',
lv: 'mejs.latvian',
lt: 'mejs.lithuanian',
mk: 'mejs.macedonian',
ms: 'mejs.malay',
mt: 'mejs.maltese',
no: 'mejs.norwegian',
fa: 'mejs.persian',
pl: 'mejs.polish',
pt: 'mejs.portuguese',
ro: 'mejs.romanian',
ru: 'mejs.russian',
sr: 'mejs.serbian',
sk: 'mejs.slovak',
sl: 'mejs.slovenian',
es: 'mejs.spanish',
sw: 'mejs.swahili',
sv: 'mejs.swedish',
tl: 'mejs.tagalog',
th: 'mejs.thai',
tr: 'mejs.turkish',
uk: 'mejs.ukrainian',
vi: 'mejs.vietnamese',
cy: 'mejs.welsh',
yi: 'mejs.yiddish'
}};
_mejs2.default.TrackFormatParser={
webvtt: {
pattern: /^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,
parse: function parse(trackText){
var lines=trackText.split(/\r?\n/),
entries=[];
var timecode=void 0,
text=void 0,
identifier=void 0;
for (var i=0, total=lines.length; i < total; i++){
timecode=this.pattern.exec(lines[i]);
if(timecode&&i < lines.length){
if(i - 1 >=0&&lines[i - 1]!==''){
identifier=lines[i - 1];
}
i++;
text=lines[i];
i++;
while (lines[i]!==''&&i < lines.length){
text=text + '\n' + lines[i];
i++;
}
text=text===null ? '':text.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, "<a href='$1' target='_blank'>$1</a>");
entries.push({
identifier: identifier,
start: (0, _time.convertSMPTEtoSeconds)(timecode[1])===0 ? 0.200:(0, _time.convertSMPTEtoSeconds)(timecode[1]),
stop: (0, _time.convertSMPTEtoSeconds)(timecode[3]),
text: text,
settings: timecode[5]
});
}
identifier='';
}
return entries;
}},
dfxp: {
parse: function parse(trackText){
trackText=$(trackText).filter('tt');
var container=trackText.firstChild,
lines=container.querySelectorAll('p'),
styleNode=trackText.getElementById('' + container.attr('style')),
entries=[];
var styles=void 0;
if(styleNode.length){
styleNode.removeAttribute('id');
var attributes=styleNode.attributes;
if(attributes.length){
styles={};
for (var i=0, total=attributes.length; i < total; i++){
styles[attributes[i].name.split(":")[1]]=attributes[i].value;
}}
}
for (var _i16=0, _total13=lines.length; _i16 < _total13; _i16++){
var style=void 0,
_temp={
start: null,
stop: null,
style: null,
text: null
};
if(lines.eq(_i16).attr('begin')){
_temp.start=(0, _time.convertSMPTEtoSeconds)(lines.eq(_i16).attr('begin'));
}
if(!_temp.start&&lines.eq(_i16 - 1).attr('end')){
_temp.start=(0, _time.convertSMPTEtoSeconds)(lines.eq(_i16 - 1).attr('end'));
}
if(lines.eq(_i16).attr('end')){
_temp.stop=(0, _time.convertSMPTEtoSeconds)(lines.eq(_i16).attr('end'));
}
if(!_temp.stop&&lines.eq(_i16 + 1).attr('begin')){
_temp.stop=(0, _time.convertSMPTEtoSeconds)(lines.eq(_i16 + 1).attr('begin'));
}
if(styles){
style='';
for (var _style in styles){
style +=_style + ':' + styles[_style] + ';';
}}
if(style){
_temp.style=style;
}
if(_temp.start===0){
_temp.start=0.200;
}
_temp.text=lines.eq(_i16).innerHTML.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, "<a href='$1' target='_blank'>$1</a>");
entries.push(_temp);
}
return entries;
}}
};},{"16":16,"2":2,"26":26,"27":27,"30":30,"5":5,"7":7}],14:[function(_dereq_,module,exports){
'use strict';
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _player=_dereq_(16);
var _player2=_interopRequireDefault(_player);
var _i18n=_dereq_(5);
var _i18n2=_interopRequireDefault(_i18n);
var _constants=_dereq_(25);
var _general=_dereq_(27);
var _dom=_dereq_(26);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
Object.assign(_player.config, {
muteText: null,
unmuteText: null,
allyVolumeControlText: null,
hideVolumeOnTouchDevices: true,
audioVolume: 'horizontal',
videoVolume: 'vertical',
startVolume: 0.8
});
Object.assign(_player2.default.prototype, {
buildvolume: function buildvolume(player, controls, layers, media){
if((_constants.IS_ANDROID||_constants.IS_IOS)&&this.options.hideVolumeOnTouchDevices){
return;
}
var t=this,
mode=t.isVideo ? t.options.videoVolume:t.options.audioVolume,
muteText=(0, _general.isString)(t.options.muteText) ? t.options.muteText:_i18n2.default.t('mejs.mute'),
unmuteText=(0, _general.isString)(t.options.unmuteText) ? t.options.unmuteText:_i18n2.default.t('mejs.unmute'),
volumeControlText=(0, _general.isString)(t.options.allyVolumeControlText) ? t.options.allyVolumeControlText:_i18n2.default.t('mejs.volume-help-text'),
mute=_document2.default.createElement('div');
mute.className=t.options.classPrefix + 'button ' + t.options.classPrefix + 'volume-button ' + t.options.classPrefix + 'mute';
mute.innerHTML=mode==='horizontal' ? '<button type="button" aria-controls="' + t.id + '" title="' + muteText + '" aria-label="' + muteText + '" tabindex="0"></button>':'<button type="button" aria-controls="' + t.id + '" title="' + muteText + '" aria-label="' + muteText + '" tabindex="0"></button>' + ('<a href="javascript:void(0);" class="' + t.options.classPrefix + 'volume-slider" ') + ('aria-label="' + _i18n2.default.t('mejs.volume-slider') + '" aria-valuemin="0" aria-valuemax="100" role="slider" ') + 'aria-orientation="vertical">' + ('<span class="' + t.options.classPrefix + 'offscreen">' + volumeControlText + '</span>') + ('<div class="' + t.options.classPrefix + 'volume-total">') + ('<div class="' + t.options.classPrefix + 'volume-current"></div>') + ('<div class="' + t.options.classPrefix + 'volume-handle"></div>') + '</div>' + '</a>';
t.addControlElement(mute, 'volume');
t.options.keyActions.push({
keys: [38],
action: function action(player){
var volumeSlider=player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'volume-slider');
if(volumeSlider&&volumeSlider.matches(':focus')){
volumeSlider.style.display='block';
}
if(player.isVideo){
player.showControls();
player.startControlsTimer();
}
var newVolume=Math.min(player.volume + 0.1, 1);
player.setVolume(newVolume);
if(newVolume > 0){
player.setMuted(false);
}}
}, {
keys: [40],
action: function action(player){
var volumeSlider=player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'volume-slider');
if(volumeSlider){
volumeSlider.style.display='block';
}
if(player.isVideo){
player.showControls();
player.startControlsTimer();
}
var newVolume=Math.max(player.volume - 0.1, 0);
player.setVolume(newVolume);
if(newVolume <=0.1){
player.setMuted(true);
}}
}, {
keys: [77],
action: function action(player){
var volumeSlider=player.getElement(player.container).querySelector('.' + t.options.classPrefix + 'volume-slider');
if(volumeSlider){
volumeSlider.style.display='block';
}
if(player.isVideo){
player.showControls();
player.startControlsTimer();
}
if(player.media.muted){
player.setMuted(false);
}else{
player.setMuted(true);
}}
});
if(mode==='horizontal'){
var anchor=_document2.default.createElement('a');
anchor.className=t.options.classPrefix + 'horizontal-volume-slider';
anchor.href='javascript:void(0);';
anchor.setAttribute('aria-label', _i18n2.default.t('mejs.volume-slider'));
anchor.setAttribute('aria-valuemin', 0);
anchor.setAttribute('aria-valuemax', 100);
anchor.setAttribute('aria-valuenow', 100);
anchor.setAttribute('role', 'slider');
anchor.innerHTML +='<span class="' + t.options.classPrefix + 'offscreen">' + volumeControlText + '</span>' + ('<div class="' + t.options.classPrefix + 'horizontal-volume-total">') + ('<div class="' + t.options.classPrefix + 'horizontal-volume-current"></div>') + ('<div class="' + t.options.classPrefix + 'horizontal-volume-handle"></div>') + '</div>';
mute.parentNode.insertBefore(anchor, mute.nextSibling);
}
var mouseIsDown=false,
mouseIsOver=false,
modified=false,
updateVolumeSlider=function updateVolumeSlider(){
var volume=Math.floor(media.volume * 100);
volumeSlider.setAttribute('aria-valuenow', volume);
volumeSlider.setAttribute('aria-valuetext', volume + '%');
};
var volumeSlider=mode==='vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-slider'):t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-slider'),
volumeTotal=mode==='vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-total'):t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-total'),
volumeCurrent=mode==='vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-current'):t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-current'),
volumeHandle=mode==='vertical' ? t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'volume-handle'):t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'horizontal-volume-handle'),
positionVolumeHandle=function positionVolumeHandle(volume){
if(volume===null||isNaN(volume)||volume===undefined){
return;
}
volume=Math.max(0, volume);
volume=Math.min(volume, 1);
if(volume===0){
(0, _dom.removeClass)(mute, t.options.classPrefix + 'mute');
(0, _dom.addClass)(mute, t.options.classPrefix + 'unmute');
var button=mute.firstElementChild;
button.setAttribute('title', unmuteText);
button.setAttribute('aria-label', unmuteText);
}else{
(0, _dom.removeClass)(mute, t.options.classPrefix + 'unmute');
(0, _dom.addClass)(mute, t.options.classPrefix + 'mute');
var _button=mute.firstElementChild;
_button.setAttribute('title', muteText);
_button.setAttribute('aria-label', muteText);
}
var volumePercentage=volume * 100 + '%',
volumeStyles=getComputedStyle(volumeHandle);
if(mode==='vertical'){
volumeCurrent.style.bottom=0;
volumeCurrent.style.height=volumePercentage;
volumeHandle.style.bottom=volumePercentage;
volumeHandle.style.marginBottom=-parseFloat(volumeStyles.height) / 2 + 'px';
}else{
volumeCurrent.style.left=0;
volumeCurrent.style.width=volumePercentage;
volumeHandle.style.left=volumePercentage;
volumeHandle.style.marginLeft=-parseFloat(volumeStyles.width) / 2 + 'px';
}},
handleVolumeMove=function handleVolumeMove(e){
var totalOffset=(0, _dom.offset)(volumeTotal),
volumeStyles=getComputedStyle(volumeTotal);
modified=true;
var volume=null;
if(mode==='vertical'){
var railHeight=parseFloat(volumeStyles.height),
newY=e.pageY - totalOffset.top;
volume=(railHeight - newY) / railHeight;
if(totalOffset.top===0||totalOffset.left===0){
return;
}}else{
var railWidth=parseFloat(volumeStyles.width),
newX=e.pageX - totalOffset.left;
volume=newX / railWidth;
}
volume=Math.max(0, volume);
volume=Math.min(volume, 1);
positionVolumeHandle(volume);
t.setMuted(volume===0);
t.setVolume(volume);
e.preventDefault();
e.stopPropagation();
},
toggleMute=function toggleMute(){
if(t.muted){
positionVolumeHandle(0);
(0, _dom.removeClass)(mute, t.options.classPrefix + 'mute');
(0, _dom.addClass)(mute, t.options.classPrefix + 'unmute');
}else{
positionVolumeHandle(media.volume);
(0, _dom.removeClass)(mute, t.options.classPrefix + 'unmute');
(0, _dom.addClass)(mute, t.options.classPrefix + 'mute');
}};
player.getElement(player.container).addEventListener('keydown', function (e){
var hasFocus = !!e.target.closest('.' + t.options.classPrefix + 'container');
if(!hasFocus&&mode==='vertical'){
volumeSlider.style.display='none';
}});
mute.addEventListener('mouseenter', function (e){
if(e.target===mute){
volumeSlider.style.display='block';
mouseIsOver=true;
e.preventDefault();
e.stopPropagation();
}});
mute.addEventListener('focusin', function (){
volumeSlider.style.display='block';
mouseIsOver=true;
});
mute.addEventListener('focusout', function (e){
if((!e.relatedTarget||e.relatedTarget&&!e.relatedTarget.matches('.' + t.options.classPrefix + 'volume-slider'))&&mode==='vertical'){
volumeSlider.style.display='none';
}});
mute.addEventListener('mouseleave', function (){
mouseIsOver=false;
if(!mouseIsDown&&mode==='vertical'){
volumeSlider.style.display='none';
}});
mute.addEventListener('focusout', function (){
mouseIsOver=false;
});
mute.addEventListener('keydown', function (e){
if(t.options.enableKeyboard&&t.options.keyActions.length){
var keyCode=e.which||e.keyCode||0,
volume=media.volume;
switch (keyCode){
case 38:
volume=Math.min(volume + 0.1, 1);
break;
case 40:
volume=Math.max(0, volume - 0.1);
break;
default:
return true;
}
mouseIsDown=false;
positionVolumeHandle(volume);
media.setVolume(volume);
e.preventDefault();
e.stopPropagation();
}});
mute.querySelector('button').addEventListener('click', function (){
media.setMuted(!media.muted);
var event=(0, _general.createEvent)('volumechange', media);
media.dispatchEvent(event);
});
volumeSlider.addEventListener('dragstart', function (){
return false;
});
volumeSlider.addEventListener('mouseover', function (){
mouseIsOver=true;
});
volumeSlider.addEventListener('focusin', function (){
volumeSlider.style.display='block';
mouseIsOver=true;
});
volumeSlider.addEventListener('focusout', function (){
mouseIsOver=false;
if(!mouseIsDown&&mode==='vertical'){
volumeSlider.style.display='none';
}});
volumeSlider.addEventListener('mousedown', function (e){
handleVolumeMove(e);
t.globalBind('mousemove.vol', function (event){
var target=event.target;
if(mouseIsDown&&(target===volumeSlider||target.closest(mode==='vertical' ? '.' + t.options.classPrefix + 'volume-slider':'.' + t.options.classPrefix + 'horizontal-volume-slider'))){
handleVolumeMove(event);
}});
t.globalBind('mouseup.vol', function (){
mouseIsDown=false;
if(!mouseIsOver&&mode==='vertical'){
volumeSlider.style.display='none';
}});
mouseIsDown=true;
e.preventDefault();
e.stopPropagation();
});
media.addEventListener('volumechange', function (e){
if(!mouseIsDown){
toggleMute();
}
updateVolumeSlider(e);
});
var rendered=false;
media.addEventListener('rendererready', function (){
if(!modified){
setTimeout(function (){
rendered=true;
if(player.options.startVolume===0||media.originalNode.muted){
media.setMuted(true);
player.options.startVolume=0;
}
media.setVolume(player.options.startVolume);
t.setControlsSize();
}, 250);
}});
media.addEventListener('loadedmetadata', function (){
setTimeout(function (){
if(!modified&&!rendered){
if(player.options.startVolume===0||media.originalNode.muted){
media.setMuted(true);
}
media.setVolume(player.options.startVolume);
t.setControlsSize();
}
rendered=false;
}, 250);
});
if(player.options.startVolume===0||media.originalNode.muted){
media.setMuted(true);
player.options.startVolume=0;
toggleMute();
}
t.getElement(t.container).addEventListener('controlsresize', function (){
toggleMute();
});
}});
},{"16":16,"2":2,"25":25,"26":26,"27":27,"5":5}],15:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var EN=exports.EN={
'mejs.plural-form': 1,
'mejs.download-file': 'Download File',
'mejs.install-flash': 'You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/',
'mejs.fullscreen': 'Fullscreen',
'mejs.play': 'Play',
'mejs.pause': 'Pause',
'mejs.time-slider': 'Time Slider',
'mejs.time-help-text': 'Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.',
'mejs.live-broadcast': 'Live Broadcast',
'mejs.volume-help-text': 'Use Up/Down Arrow keys to increase or decrease volume.',
'mejs.unmute': 'Unmute',
'mejs.mute': 'Mute',
'mejs.volume-slider': 'Volume Slider',
'mejs.video-player': 'Video Player',
'mejs.audio-player': 'Audio Player',
'mejs.captions-subtitles': 'Captions/Subtitles',
'mejs.captions-chapters': 'Chapters',
'mejs.none': 'None',
'mejs.afrikaans': 'Afrikaans',
'mejs.albanian': 'Albanian',
'mejs.arabic': 'Arabic',
'mejs.belarusian': 'Belarusian',
'mejs.bulgarian': 'Bulgarian',
'mejs.catalan': 'Catalan',
'mejs.chinese': 'Chinese',
'mejs.chinese-simplified': 'Chinese (Simplified)',
'mejs.chinese-traditional': 'Chinese (Traditional)',
'mejs.croatian': 'Croatian',
'mejs.czech': 'Czech',
'mejs.danish': 'Danish',
'mejs.dutch': 'Dutch',
'mejs.english': 'English',
'mejs.estonian': 'Estonian',
'mejs.filipino': 'Filipino',
'mejs.finnish': 'Finnish',
'mejs.french': 'French',
'mejs.galician': 'Galician',
'mejs.german': 'German',
'mejs.greek': 'Greek',
'mejs.haitian-creole': 'Haitian Creole',
'mejs.hebrew': 'Hebrew',
'mejs.hindi': 'Hindi',
'mejs.hungarian': 'Hungarian',
'mejs.icelandic': 'Icelandic',
'mejs.indonesian': 'Indonesian',
'mejs.irish': 'Irish',
'mejs.italian': 'Italian',
'mejs.japanese': 'Japanese',
'mejs.korean': 'Korean',
'mejs.latvian': 'Latvian',
'mejs.lithuanian': 'Lithuanian',
'mejs.macedonian': 'Macedonian',
'mejs.malay': 'Malay',
'mejs.maltese': 'Maltese',
'mejs.norwegian': 'Norwegian',
'mejs.persian': 'Persian',
'mejs.polish': 'Polish',
'mejs.portuguese': 'Portuguese',
'mejs.romanian': 'Romanian',
'mejs.russian': 'Russian',
'mejs.serbian': 'Serbian',
'mejs.slovak': 'Slovak',
'mejs.slovenian': 'Slovenian',
'mejs.spanish': 'Spanish',
'mejs.swahili': 'Swahili',
'mejs.swedish': 'Swedish',
'mejs.tagalog': 'Tagalog',
'mejs.thai': 'Thai',
'mejs.turkish': 'Turkish',
'mejs.ukrainian': 'Ukrainian',
'mejs.vietnamese': 'Vietnamese',
'mejs.welsh': 'Welsh',
'mejs.yiddish': 'Yiddish'
};},{}],16:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.config=undefined;
var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol" ? function (obj){ return typeof obj; }:function (obj){ return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype ? "symbol":typeof obj; };
var _createClass=function (){ function defineProperties(target, props){ for (var i=0; i < props.length; i++){ var descriptor=props[i]; descriptor.enumerable=descriptor.enumerable||false; descriptor.configurable=true; if("value" in descriptor) descriptor.writable=true; Object.defineProperty(target, descriptor.key, descriptor); }} return function (Constructor, protoProps, staticProps){ if(protoProps) defineProperties(Constructor.prototype, protoProps); if(staticProps) defineProperties(Constructor, staticProps); return Constructor; };}();
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _mediaelement=_dereq_(6);
var _mediaelement2=_interopRequireDefault(_mediaelement);
var _default=_dereq_(17);
var _default2=_interopRequireDefault(_default);
var _i18n=_dereq_(5);
var _i18n2=_interopRequireDefault(_i18n);
var _constants=_dereq_(25);
var _general=_dereq_(27);
var _time=_dereq_(30);
var _media=_dereq_(28);
var _dom=_dereq_(26);
var dom=_interopRequireWildcard(_dom);
function _interopRequireWildcard(obj){ if(obj&&obj.__esModule){ return obj; }else{ var newObj={}; if(obj!=null){ for (var key in obj){ if(Object.prototype.hasOwnProperty.call(obj, key)) newObj[key]=obj[key]; }} newObj.default=obj; return newObj; }}
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
function _classCallCheck(instance, Constructor){ if(!(instance instanceof Constructor)){ throw new TypeError("Cannot call a class as a function"); }}
_mejs2.default.mepIndex=0;
_mejs2.default.players={};
var config=exports.config={
poster: '',
showPosterWhenEnded: false,
showPosterWhenPaused: false,
defaultVideoWidth: 480,
defaultVideoHeight: 270,
videoWidth: -1,
videoHeight: -1,
defaultAudioWidth: 400,
defaultAudioHeight: 40,
defaultSeekBackwardInterval: function defaultSeekBackwardInterval(media){
return media.getDuration() * 0.05;
},
defaultSeekForwardInterval: function defaultSeekForwardInterval(media){
return media.getDuration() * 0.05;
},
setDimensions: true,
audioWidth: -1,
audioHeight: -1,
loop: false,
autoRewind: true,
enableAutosize: true,
timeFormat: '',
alwaysShowHours: false,
showTimecodeFrameCount: false,
framesPerSecond: 25,
alwaysShowControls: false,
hideVideoControlsOnLoad: false,
hideVideoControlsOnPause: false,
clickToPlayPause: true,
controlsTimeoutDefault: 1500,
controlsTimeoutMouseEnter: 2500,
controlsTimeoutMouseLeave: 1000,
iPadUseNativeControls: false,
iPhoneUseNativeControls: false,
AndroidUseNativeControls: false,
features: ['playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen'],
useDefaultControls: false,
isVideo: true,
stretching: 'auto',
classPrefix: 'mejs__',
enableKeyboard: true,
pauseOtherPlayers: true,
secondsDecimalLength: 0,
customError: null,
keyActions: [{
keys: [32, 179],
action: function action(player){
if(!_constants.IS_FIREFOX){
if(player.paused||player.ended){
player.play();
}else{
player.pause();
}}
}}]
};
_mejs2.default.MepDefaults=config;
var MediaElementPlayer=function (){
function MediaElementPlayer(node, o){
_classCallCheck(this, MediaElementPlayer);
var t=this,
element=typeof node==='string' ? _document2.default.getElementById(node):node;
if(!(t instanceof MediaElementPlayer)){
return new MediaElementPlayer(element, o);
}
t.node=t.media=element;
if(!t.node){
return;
}
if(t.media.player){
return t.media.player;
}
t.hasFocus=false;
t.controlsAreVisible=true;
t.controlsEnabled=true;
t.controlsTimer=null;
t.currentMediaTime=0;
t.proxy=null;
if(o===undefined){
var options=t.node.getAttribute('data-mejsoptions');
o=options ? JSON.parse(options):{};}
t.options=Object.assign({}, config, o);
if(t.options.loop&&!t.media.getAttribute('loop')){
t.media.loop=true;
t.node.loop=true;
}else if(t.media.loop){
t.options.loop=true;
}
if(!t.options.timeFormat){
t.options.timeFormat='mm:ss';
if(t.options.alwaysShowHours){
t.options.timeFormat='hh:mm:ss';
}
if(t.options.showTimecodeFrameCount){
t.options.timeFormat +=':ff';
}}
(0, _time.calculateTimeFormat)(0, t.options, t.options.framesPerSecond||25);
t.id='mep_' + _mejs2.default.mepIndex++;
_mejs2.default.players[t.id]=t;
t.init();
return t;
}
_createClass(MediaElementPlayer, [{
key: 'getElement',
value: function getElement(element){
return element;
}}, {
key: 'init',
value: function init(){
var t=this,
playerOptions=Object.assign({}, t.options, {
success: function success(media, domNode){
t._meReady(media, domNode);
},
error: function error(e){
t._handleError(e);
}}),
tagName=t.node.tagName.toLowerCase();
t.isDynamic=tagName!=='audio'&&tagName!=='video'&&tagName!=='iframe';
t.isVideo=t.isDynamic ? t.options.isVideo:tagName!=='audio'&&t.options.isVideo;
t.mediaFiles=null;
t.trackFiles=null;
if(_constants.IS_IPAD&&t.options.iPadUseNativeControls||_constants.IS_IPHONE&&t.options.iPhoneUseNativeControls){
t.node.setAttribute('controls', true);
if(_constants.IS_IPAD&&t.node.getAttribute('autoplay')){
t.play();
}}else if((t.isVideo||!t.isVideo&&(t.options.features.length||t.options.useDefaultControls))&&!(_constants.IS_ANDROID&&t.options.AndroidUseNativeControls)){
t.node.removeAttribute('controls');
var videoPlayerTitle=t.isVideo ? _i18n2.default.t('mejs.video-player'):_i18n2.default.t('mejs.audio-player');
var offscreen=_document2.default.createElement('span');
offscreen.className=t.options.classPrefix + 'offscreen';
offscreen.innerText=videoPlayerTitle;
t.media.parentNode.insertBefore(offscreen, t.media);
t.container=_document2.default.createElement('div');
t.getElement(t.container).id=t.id;
t.getElement(t.container).className=t.options.classPrefix + 'container ' + t.options.classPrefix + 'container-keyboard-inactive ' + t.media.className;
t.getElement(t.container).tabIndex=0;
t.getElement(t.container).setAttribute('role', 'application');
t.getElement(t.container).setAttribute('aria-label', videoPlayerTitle);
t.getElement(t.container).innerHTML='<div class="' + t.options.classPrefix + 'inner">' + ('<div class="' + t.options.classPrefix + 'mediaelement"></div>') + ('<div class="' + t.options.classPrefix + 'layers"></div>') + ('<div class="' + t.options.classPrefix + 'controls"></div>') + '</div>';
t.getElement(t.container).addEventListener('focus', function (e){
if(!t.controlsAreVisible&&!t.hasFocus&&t.controlsEnabled){
t.showControls(true);
var btnSelector=(0, _general.isNodeAfter)(e.relatedTarget, t.getElement(t.container)) ? '.' + t.options.classPrefix + 'controls .' + t.options.classPrefix + 'button:last-child > button':'.' + t.options.classPrefix + 'playpause-button > button',
button=t.getElement(t.container).querySelector(btnSelector);
button.focus();
}});
t.node.parentNode.insertBefore(t.getElement(t.container), t.node);
if(!t.options.features.length&&!t.options.useDefaultControls){
t.getElement(t.container).style.background='transparent';
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'controls').style.display='none';
}
if(t.isVideo&&t.options.stretching==='fill'&&!dom.hasClass(t.getElement(t.container).parentNode, t.options.classPrefix + 'fill-container')){
t.outerContainer=t.media.parentNode;
var wrapper=_document2.default.createElement('div');
wrapper.className=t.options.classPrefix + 'fill-container';
t.getElement(t.container).parentNode.insertBefore(wrapper, t.getElement(t.container));
wrapper.appendChild(t.getElement(t.container));
}
if(_constants.IS_ANDROID){
dom.addClass(t.getElement(t.container), t.options.classPrefix + 'android');
}
if(_constants.IS_IOS){
dom.addClass(t.getElement(t.container), t.options.classPrefix + 'ios');
}
if(_constants.IS_IPAD){
dom.addClass(t.getElement(t.container), t.options.classPrefix + 'ipad');
}
if(_constants.IS_IPHONE){
dom.addClass(t.getElement(t.container), t.options.classPrefix + 'iphone');
}
dom.addClass(t.getElement(t.container), t.isVideo ? t.options.classPrefix + 'video':t.options.classPrefix + 'audio');
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'mediaelement').appendChild(t.node);
t.media.player=t;
t.controls=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'controls');
t.layers=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'layers');
var tagType=t.isVideo ? 'video':'audio',
capsTagName=tagType.substring(0, 1).toUpperCase() + tagType.substring(1);
if(t.options[tagType + 'Width'] > 0||t.options[tagType + 'Width'].toString().indexOf('%') > -1){
t.width=t.options[tagType + 'Width'];
}else if(t.node.style.width!==''&&t.node.style.width!==null){
t.width=t.node.style.width;
}else if(t.node.getAttribute('width')){
t.width=t.node.getAttribute('width');
}else{
t.width=t.options['default' + capsTagName + 'Width'];
}
if(t.options[tagType + 'Height'] > 0||t.options[tagType + 'Height'].toString().indexOf('%') > -1){
t.height=t.options[tagType + 'Height'];
}else if(t.node.style.height!==''&&t.node.style.height!==null){
t.height=t.node.style.height;
}else if(t.node.getAttribute('height')){
t.height=t.node.getAttribute('height');
}else{
t.height=t.options['default' + capsTagName + 'Height'];
}
t.initialAspectRatio=t.height >=t.width ? t.width / t.height:t.height / t.width;
t.setPlayerSize(t.width, t.height);
playerOptions.pluginWidth=t.width;
playerOptions.pluginHeight=t.height;
}else if(!t.isVideo&&!t.options.features.length&&!t.options.useDefaultControls){
t.node.style.display='none';
}
_mejs2.default.MepDefaults=playerOptions;
new _mediaelement2.default(t.media, playerOptions, t.mediaFiles);
if(t.getElement(t.container)!==undefined&&t.options.features.length&&t.controlsAreVisible&&!t.options.hideVideoControlsOnLoad){
var event=(0, _general.createEvent)('controlsshown', t.getElement(t.container));
t.getElement(t.container).dispatchEvent(event);
}}
}, {
key: 'showControls',
value: function showControls(doAnimation){
var t=this;
doAnimation=doAnimation===undefined||doAnimation;
if(t.controlsAreVisible||!t.isVideo){
return;
}
if(doAnimation){
(function (){
dom.fadeIn(t.getElement(t.controls), 200, function (){
dom.removeClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen');
var event=(0, _general.createEvent)('controlsshown', t.getElement(t.container));
t.getElement(t.container).dispatchEvent(event);
});
var controls=t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control');
var _loop=function _loop(i, total){
dom.fadeIn(controls[i], 200, function (){
dom.removeClass(controls[i], t.options.classPrefix + 'offscreen');
});
};
for (var i=0, total=controls.length; i < total; i++){
_loop(i, total);
}})();
}else{
dom.removeClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen');
t.getElement(t.controls).style.display='';
t.getElement(t.controls).style.opacity=1;
var controls=t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control');
for (var i=0, total=controls.length; i < total; i++){
dom.removeClass(controls[i], t.options.classPrefix + 'offscreen');
controls[i].style.display='';
}
var event=(0, _general.createEvent)('controlsshown', t.getElement(t.container));
t.getElement(t.container).dispatchEvent(event);
}
t.controlsAreVisible=true;
t.setControlsSize();
}}, {
key: 'hideControls',
value: function hideControls(doAnimation, forceHide){
var t=this;
doAnimation=doAnimation===undefined||doAnimation;
if(forceHide!==true&&(!t.controlsAreVisible||t.options.alwaysShowControls||t.paused&&t.readyState===4&&(!t.options.hideVideoControlsOnLoad&&t.currentTime <=0||!t.options.hideVideoControlsOnPause&&t.currentTime > 0)||t.isVideo&&!t.options.hideVideoControlsOnLoad&&!t.readyState||t.ended)){
return;
}
if(doAnimation){
(function (){
dom.fadeOut(t.getElement(t.controls), 200, function (){
dom.addClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen');
t.getElement(t.controls).style.display='';
var event=(0, _general.createEvent)('controlshidden', t.getElement(t.container));
t.getElement(t.container).dispatchEvent(event);
});
var controls=t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control');
var _loop2=function _loop2(i, total){
dom.fadeOut(controls[i], 200, function (){
dom.addClass(controls[i], t.options.classPrefix + 'offscreen');
controls[i].style.display='';
});
};
for (var i=0, total=controls.length; i < total; i++){
_loop2(i, total);
}})();
}else{
dom.addClass(t.getElement(t.controls), t.options.classPrefix + 'offscreen');
t.getElement(t.controls).style.display='';
t.getElement(t.controls).style.opacity=0;
var controls=t.getElement(t.container).querySelectorAll('.' + t.options.classPrefix + 'control');
for (var i=0, total=controls.length; i < total; i++){
dom.addClass(controls[i], t.options.classPrefix + 'offscreen');
controls[i].style.display='';
}
var event=(0, _general.createEvent)('controlshidden', t.getElement(t.container));
t.getElement(t.container).dispatchEvent(event);
}
t.controlsAreVisible=false;
}}, {
key: 'startControlsTimer',
value: function startControlsTimer(timeout){
var t=this;
timeout=typeof timeout!=='undefined' ? timeout:t.options.controlsTimeoutDefault;
t.killControlsTimer('start');
t.controlsTimer=setTimeout(function (){
t.hideControls();
t.killControlsTimer('hide');
}, timeout);
}}, {
key: 'killControlsTimer',
value: function killControlsTimer(){
var t=this;
if(t.controlsTimer!==null){
clearTimeout(t.controlsTimer);
delete t.controlsTimer;
t.controlsTimer=null;
}}
}, {
key: 'disableControls',
value: function disableControls(){
var t=this;
t.killControlsTimer();
t.controlsEnabled=false;
t.hideControls(false, true);
}}, {
key: 'enableControls',
value: function enableControls(){
var t=this;
t.controlsEnabled=true;
t.showControls(false);
}}, {
key: '_setDefaultPlayer',
value: function _setDefaultPlayer(){
var t=this;
if(t.proxy){
t.proxy.pause();
}
t.proxy=new _default2.default(t);
t.media.addEventListener('loadedmetadata', function (){
if(t.getCurrentTime() > 0&&t.currentMediaTime > 0){
t.setCurrentTime(t.currentMediaTime);
if(!_constants.IS_IOS&&!_constants.IS_ANDROID){
t.play();
}}
});
}}, {
key: '_meReady',
value: function _meReady(media, domNode){
var t=this,
autoplayAttr=domNode.getAttribute('autoplay'),
autoplay = !(autoplayAttr===undefined||autoplayAttr===null||autoplayAttr==='false'),
isNative=media.rendererName!==null&&/(native|html5)/i.test(t.media.rendererName);
if(t.getElement(t.controls)){
t.enableControls();
}
if(t.getElement(t.container)&&t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-play')){
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-play').style.display='';
}
if(t.created){
return;
}
t.created=true;
t.media=media;
t.domNode=domNode;
if(!(_constants.IS_ANDROID&&t.options.AndroidUseNativeControls)&&!(_constants.IS_IPAD&&t.options.iPadUseNativeControls)&&!(_constants.IS_IPHONE&&t.options.iPhoneUseNativeControls)){
if(!t.isVideo&&!t.options.features.length&&!t.options.useDefaultControls){
if(autoplay&&isNative){
t.play();
}
if(t.options.success){
if(typeof t.options.success==='string'){
_window2.default[t.options.success](t.media, t.domNode, t);
}else{
t.options.success(t.media, t.domNode, t);
}}
return;
}
t.featurePosition={};
t._setDefaultPlayer();
t.buildposter(t, t.getElement(t.controls), t.getElement(t.layers), t.media);
t.buildkeyboard(t, t.getElement(t.controls), t.getElement(t.layers), t.media);
t.buildoverlays(t, t.getElement(t.controls), t.getElement(t.layers), t.media);
if(t.options.useDefaultControls){
var defaultControls=['playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen'];
t.options.features=defaultControls.concat(t.options.features.filter(function (item){
return defaultControls.indexOf(item)===-1;
}));
}
t.buildfeatures(t, t.getElement(t.controls), t.getElement(t.layers), t.media);
var event=(0, _general.createEvent)('controlsready', t.getElement(t.container));
t.getElement(t.container).dispatchEvent(event);
t.setPlayerSize(t.width, t.height);
t.setControlsSize();
if(t.isVideo){
t.clickToPlayPauseCallback=function (){
if(t.options.clickToPlayPause){
var button=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-button'),
pressed=button.getAttribute('aria-pressed');
if(t.paused&&pressed){
t.pause();
}else if(t.paused){
t.play();
}else{
t.pause();
}
button.setAttribute('aria-pressed', !pressed);
t.getElement(t.container).focus();
}};
t.createIframeLayer();
t.media.addEventListener('click', t.clickToPlayPauseCallback);
if((_constants.IS_ANDROID||_constants.IS_IOS)&&!t.options.alwaysShowControls){
t.node.addEventListener('touchstart', function (){
if(t.controlsAreVisible){
t.hideControls(false);
}else{
if(t.controlsEnabled){
t.showControls(false);
}}
}, _constants.SUPPORT_PASSIVE_EVENT ? { passive: true }:false);
}else{
t.getElement(t.container).addEventListener('mouseenter', function (){
if(t.controlsEnabled){
if(!t.options.alwaysShowControls){
t.killControlsTimer('enter');
t.showControls();
t.startControlsTimer(t.options.controlsTimeoutMouseEnter);
}}
});
t.getElement(t.container).addEventListener('mousemove', function (){
if(t.controlsEnabled){
if(!t.controlsAreVisible){
t.showControls();
}
if(!t.options.alwaysShowControls){
t.startControlsTimer(t.options.controlsTimeoutMouseEnter);
}}
});
t.getElement(t.container).addEventListener('mouseleave', function (){
if(t.controlsEnabled){
if(!t.paused&&!t.options.alwaysShowControls){
t.startControlsTimer(t.options.controlsTimeoutMouseLeave);
}}
});
}
if(t.options.hideVideoControlsOnLoad){
t.hideControls(false);
}
if(t.options.enableAutosize){
t.media.addEventListener('loadedmetadata', function (e){
var target=e!==undefined ? e.detail.target||e.target:t.media;
if(t.options.videoHeight <=0&&!t.domNode.getAttribute('height')&&!t.domNode.style.height&&target!==null&&!isNaN(target.videoHeight)){
t.setPlayerSize(target.videoWidth, target.videoHeight);
t.setControlsSize();
t.media.setSize(target.videoWidth, target.videoHeight);
}});
}}
t.media.addEventListener('play', function (){
t.hasFocus=true;
for (var playerIndex in _mejs2.default.players){
if(_mejs2.default.players.hasOwnProperty(playerIndex)){
var p=_mejs2.default.players[playerIndex];
if(p.id!==t.id&&t.options.pauseOtherPlayers&&!p.paused&&!p.ended&&p.options.ignorePauseOtherPlayersOption!==true){
p.pause();
p.hasFocus=false;
}}
}
if(!(_constants.IS_ANDROID||_constants.IS_IOS)&&!t.options.alwaysShowControls&&t.isVideo){
t.hideControls();
}});
t.media.addEventListener('ended', function (){
if(t.options.autoRewind){
try {
t.setCurrentTime(0);
setTimeout(function (){
var loadingElement=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-loading');
if(loadingElement&&loadingElement.parentNode){
loadingElement.parentNode.style.display='none';
}}, 20);
} catch (exp){
}}
if(typeof t.media.renderer.stop==='function'){
t.media.renderer.stop();
}else{
t.pause();
}
if(t.setProgressRail){
t.setProgressRail();
}
if(t.setCurrentRail){
t.setCurrentRail();
}
if(t.options.loop){
t.play();
}else if(!t.options.alwaysShowControls&&t.controlsEnabled){
t.showControls();
}});
t.media.addEventListener('loadedmetadata', function (){
(0, _time.calculateTimeFormat)(t.getDuration(), t.options, t.options.framesPerSecond||25);
if(t.updateDuration){
t.updateDuration();
}
if(t.updateCurrent){
t.updateCurrent();
}
if(!t.isFullScreen){
t.setPlayerSize(t.width, t.height);
t.setControlsSize();
}});
var duration=null;
t.media.addEventListener('timeupdate', function (){
if(!isNaN(t.getDuration())&&duration!==t.getDuration()){
duration=t.getDuration();
(0, _time.calculateTimeFormat)(duration, t.options, t.options.framesPerSecond||25);
if(t.updateDuration){
t.updateDuration();
}
if(t.updateCurrent){
t.updateCurrent();
}
t.setControlsSize();
}});
t.getElement(t.container).addEventListener('click', function (e){
dom.addClass(e.currentTarget, t.options.classPrefix + 'container-keyboard-inactive');
});
t.getElement(t.container).addEventListener('focusin', function (e){
dom.removeClass(e.currentTarget, t.options.classPrefix + 'container-keyboard-inactive');
if(t.isVideo&&!_constants.IS_ANDROID&&!_constants.IS_IOS&&t.controlsEnabled&&!t.options.alwaysShowControls){
t.killControlsTimer('enter');
t.showControls();
t.startControlsTimer(t.options.controlsTimeoutMouseEnter);
}});
t.getElement(t.container).addEventListener('focusout', function (e){
setTimeout(function (){
if(e.relatedTarget){
if(t.keyboardAction&&!e.relatedTarget.closest('.' + t.options.classPrefix + 'container')){
t.keyboardAction=false;
if(t.isVideo&&!t.options.alwaysShowControls&&!t.paused){
t.startControlsTimer(t.options.controlsTimeoutMouseLeave);
}}
}}, 0);
});
setTimeout(function (){
t.setPlayerSize(t.width, t.height);
t.setControlsSize();
}, 0);
t.globalResizeCallback=function (){
if(!(t.isFullScreen||_constants.HAS_TRUE_NATIVE_FULLSCREEN&&_document2.default.webkitIsFullScreen)){
t.setPlayerSize(t.width, t.height);
}
t.setControlsSize();
};
t.globalBind('resize', t.globalResizeCallback);
}
if(autoplay&&isNative){
t.play();
}
if(t.options.success){
if(typeof t.options.success==='string'){
_window2.default[t.options.success](t.media, t.domNode, t);
}else{
t.options.success(t.media, t.domNode, t);
}}
}}, {
key: '_handleError',
value: function _handleError(e, media, node){
var t=this,
play=t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-play');
if(play){
play.style.display='none';
}
if(t.options.error){
t.options.error(e, media, node);
}
if(t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'cannotplay')){
t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'cannotplay').remove();
}
var errorContainer=_document2.default.createElement('div');
errorContainer.className=t.options.classPrefix + 'cannotplay';
errorContainer.style.width='100%';
errorContainer.style.height='100%';
var errorContent=typeof t.options.customError==='function' ? t.options.customError(t.media, t.media.originalNode):t.options.customError,
imgError='';
if(!errorContent){
var poster=t.media.originalNode.getAttribute('poster');
if(poster){
imgError='<img src="' + poster + '" alt="' + _mejs2.default.i18n.t('mejs.download-file') + '">';
}
if(e.message){
errorContent='<p>' + e.message + '</p>';
}
if(e.urls){
for (var i=0, total=e.urls.length; i < total; i++){
var url=e.urls[i];
errorContent +='<a href="' + url.src + '" data-type="' + url.type + '"><span>' + _mejs2.default.i18n.t('mejs.download-file') + ': ' + url.src + '</span></a>';
}}
}
if(errorContent&&t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-error')){
errorContainer.innerHTML=errorContent;
t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-error').innerHTML='' + imgError + errorContainer.outerHTML;
t.getElement(t.layers).querySelector('.' + t.options.classPrefix + 'overlay-error').parentNode.style.display='block';
}
if(t.controlsEnabled){
t.disableControls();
}}
}, {
key: 'setPlayerSize',
value: function setPlayerSize(width, height){
var t=this;
if(!t.options.setDimensions){
return false;
}
if(typeof width!=='undefined'){
t.width=width;
}
if(typeof height!=='undefined'){
t.height=height;
}
switch (t.options.stretching){
case 'fill':
if(t.isVideo){
t.setFillMode();
}else{
t.setDimensions(t.width, t.height);
}
break;
case 'responsive':
t.setResponsiveMode();
break;
case 'none':
t.setDimensions(t.width, t.height);
break;
default:
if(t.hasFluidMode()===true){
t.setResponsiveMode();
}else{
t.setDimensions(t.width, t.height);
}
break;
}}
}, {
key: 'hasFluidMode',
value: function hasFluidMode(){
var t=this;
return t.height.toString().indexOf('%')!==-1||t.node&&t.node.style.maxWidth&&t.node.style.maxWidth!=='none'&&t.node.style.maxWidth!==t.width||t.node&&t.node.currentStyle&&t.node.currentStyle.maxWidth==='100%';
}}, {
key: 'setResponsiveMode',
value: function setResponsiveMode(){
var t=this,
parent=function (){
var parentEl=void 0,
el=t.getElement(t.container);
while (el){
try {
if(_constants.IS_FIREFOX&&el.tagName.toLowerCase()==='html'&&_window2.default.self!==_window2.default.top&&_window2.default.frameElement!==null){
return _window2.default.frameElement;
}else{
parentEl=el.parentElement;
}} catch (e){
parentEl=el.parentElement;
}
if(parentEl&&dom.visible(parentEl)){
return parentEl;
}
el=parentEl;
}
return null;
}(),
parentStyles=parent ? getComputedStyle(parent, null):getComputedStyle(_document2.default.body, null),
nativeWidth=function (){
if(t.isVideo){
if(t.node.videoWidth&&t.node.videoWidth > 0){
return t.node.videoWidth;
}else if(t.node.getAttribute('width')){
return t.node.getAttribute('width');
}else{
return t.options.defaultVideoWidth;
}}else{
return t.options.defaultAudioWidth;
}}(),
nativeHeight=function (){
if(t.isVideo){
if(t.node.videoHeight&&t.node.videoHeight > 0){
return t.node.videoHeight;
}else if(t.node.getAttribute('height')){
return t.node.getAttribute('height');
}else{
return t.options.defaultVideoHeight;
}}else{
return t.options.defaultAudioHeight;
}}(),
aspectRatio=function (){
var ratio=1;
if(!t.isVideo){
return ratio;
}
if(t.node.videoWidth&&t.node.videoWidth > 0&&t.node.videoHeight&&t.node.videoHeight > 0){
ratio=t.height >=t.width ? t.node.videoWidth / t.node.videoHeight:t.node.videoHeight / t.node.videoWidth;
}else{
ratio=t.initialAspectRatio;
}
if(isNaN(ratio)||ratio < 0.01||ratio > 100){
ratio=1;
}
return ratio;
}(),
parentHeight=parseFloat(parentStyles.height);
var newHeight=void 0,
parentWidth=parseFloat(parentStyles.width);
if(t.isVideo){
if(t.height==='100%'){
newHeight=parseFloat(parentWidth * nativeHeight / nativeWidth, 10);
}else{
newHeight=t.height >=t.width ? parseFloat(parentWidth / aspectRatio, 10):parseFloat(parentWidth * aspectRatio, 10);
}}else{
newHeight=nativeHeight;
}
if(isNaN(newHeight)){
newHeight=parentHeight;
}
if(t.getElement(t.container).parentNode.length > 0&&t.getElement(t.container).parentNode.tagName.toLowerCase()==='body'){
parentWidth=_window2.default.innerWidth||_document2.default.documentElement.clientWidth||_document2.default.body.clientWidth;
newHeight=_window2.default.innerHeight||_document2.default.documentElement.clientHeight||_document2.default.body.clientHeight;
}
if(newHeight&&parentWidth){
t.getElement(t.container).style.width=parentWidth + 'px';
t.getElement(t.container).style.height=newHeight + 'px';
t.node.style.width='100%';
t.node.style.height='100%';
if(t.isVideo&&t.media.setSize){
t.media.setSize(parentWidth, newHeight);
}
var layerChildren=t.getElement(t.layers).children;
for (var i=0, total=layerChildren.length; i < total; i++){
layerChildren[i].style.width='100%';
layerChildren[i].style.height='100%';
}}
}}, {
key: 'setFillMode',
value: function setFillMode(){
var t=this;
var isIframe=_window2.default.self!==_window2.default.top&&_window2.default.frameElement!==null;
var parent=function (){
var parentEl=void 0,
el=t.getElement(t.container);
while (el){
try {
if(_constants.IS_FIREFOX&&el.tagName.toLowerCase()==='html'&&_window2.default.self!==_window2.default.top&&_window2.default.frameElement!==null){
return _window2.default.frameElement;
}else{
parentEl=el.parentElement;
}} catch (e){
parentEl=el.parentElement;
}
if(parentEl&&dom.visible(parentEl)){
return parentEl;
}
el=parentEl;
}
return null;
}();
var parentStyles=parent ? getComputedStyle(parent, null):getComputedStyle(_document2.default.body, null);
if(t.node.style.height!=='none'&&t.node.style.height!==t.height){
t.node.style.height='auto';
}
if(t.node.style.maxWidth!=='none'&&t.node.style.maxWidth!==t.width){
t.node.style.maxWidth='none';
}
if(t.node.style.maxHeight!=='none'&&t.node.style.maxHeight!==t.height){
t.node.style.maxHeight='none';
}
if(t.node.currentStyle){
if(t.node.currentStyle.height==='100%'){
t.node.currentStyle.height='auto';
}
if(t.node.currentStyle.maxWidth==='100%'){
t.node.currentStyle.maxWidth='none';
}
if(t.node.currentStyle.maxHeight==='100%'){
t.node.currentStyle.maxHeight='none';
}}
if(!isIframe&&!parseFloat(parentStyles.width)){
parent.style.width=t.media.offsetWidth + 'px';
}
if(!isIframe&&!parseFloat(parentStyles.height)){
parent.style.height=t.media.offsetHeight + 'px';
}
parentStyles=getComputedStyle(parent);
var parentWidth=parseFloat(parentStyles.width),
parentHeight=parseFloat(parentStyles.height);
t.setDimensions('100%', '100%');
var poster=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'poster>img');
if(poster){
poster.style.display='';
}
var targetElement=t.getElement(t.container).querySelectorAll('object, embed, iframe, video'),
initHeight=t.height,
initWidth=t.width,
scaleX1=parentWidth,
scaleY1=initHeight * parentWidth / initWidth,
scaleX2=initWidth * parentHeight / initHeight,
scaleY2=parentHeight,
bScaleOnWidth=scaleX2 > parentWidth===false,
finalWidth=bScaleOnWidth ? Math.floor(scaleX1):Math.floor(scaleX2),
finalHeight=bScaleOnWidth ? Math.floor(scaleY1):Math.floor(scaleY2),
width=bScaleOnWidth ? parentWidth + 'px':finalWidth + 'px',
height=bScaleOnWidth ? finalHeight + 'px':parentHeight + 'px';
for (var i=0, total=targetElement.length; i < total; i++){
targetElement[i].style.height=height;
targetElement[i].style.width=width;
if(t.media.setSize){
t.media.setSize(width, height);
}
targetElement[i].style.marginLeft=Math.floor((parentWidth - finalWidth) / 2) + 'px';
targetElement[i].style.marginTop=0;
}}
}, {
key: 'setDimensions',
value: function setDimensions(width, height){
var t=this;
width=(0, _general.isString)(width)&&width.indexOf('%') > -1 ? width:parseFloat(width) + 'px';
height=(0, _general.isString)(height)&&height.indexOf('%') > -1 ? height:parseFloat(height) + 'px';
t.getElement(t.container).style.width=width;
t.getElement(t.container).style.height=height;
var layers=t.getElement(t.layers).children;
for (var i=0, total=layers.length; i < total; i++){
layers[i].style.width=width;
layers[i].style.height=height;
}}
}, {
key: 'setControlsSize',
value: function setControlsSize(){
var t=this;
if(!dom.visible(t.getElement(t.container))){
return;
}
if(t.rail&&dom.visible(t.rail)){
var totalStyles=t.total ? getComputedStyle(t.total, null):null,
totalMargin=totalStyles ? parseFloat(totalStyles.marginLeft) + parseFloat(totalStyles.marginRight):0,
railStyles=getComputedStyle(t.rail),
railMargin=parseFloat(railStyles.marginLeft) + parseFloat(railStyles.marginRight);
var siblingsWidth=0;
var siblings=dom.siblings(t.rail, function (el){
return el!==t.rail;
}),
total=siblings.length;
for (var i=0; i < total; i++){
siblingsWidth +=siblings[i].offsetWidth;
}
siblingsWidth +=totalMargin + (totalMargin===0 ? railMargin * 2:railMargin) + 1;
t.getElement(t.container).style.minWidth=siblingsWidth + 'px';
var event=(0, _general.createEvent)('controlsresize', t.getElement(t.container));
t.getElement(t.container).dispatchEvent(event);
}else{
var children=t.getElement(t.controls).children;
var minWidth=0;
for (var _i=0, _total=children.length; _i < _total; _i++){
minWidth +=children[_i].offsetWidth;
}
t.getElement(t.container).style.minWidth=minWidth + 'px';
}}
}, {
key: 'addControlElement',
value: function addControlElement(element, key){
var t=this;
if(t.featurePosition[key]!==undefined){
var child=t.getElement(t.controls).children[t.featurePosition[key] - 1];
child.parentNode.insertBefore(element, child.nextSibling);
}else{
t.getElement(t.controls).appendChild(element);
var children=t.getElement(t.controls).children;
for (var i=0, total=children.length; i < total; i++){
if(element===children[i]){
t.featurePosition[key]=i;
break;
}}
}}
}, {
key: 'createIframeLayer',
value: function createIframeLayer(){
var t=this;
if(t.isVideo&&t.media.rendererName!==null&&t.media.rendererName.indexOf('iframe') > -1&&!_document2.default.getElementById(t.media.id + '-iframe-overlay')){
var layer=_document2.default.createElement('div'),
target=_document2.default.getElementById(t.media.id + '_' + t.media.rendererName);
layer.id=t.media.id + '-iframe-overlay';
layer.className=t.options.classPrefix + 'iframe-overlay';
layer.addEventListener('click', function (e){
if(t.options.clickToPlayPause){
if(t.paused){
t.play();
}else{
t.pause();
}
e.preventDefault();
e.stopPropagation();
}});
target.parentNode.insertBefore(layer, target);
}}
}, {
key: 'resetSize',
value: function resetSize(){
var t=this;
setTimeout(function (){
t.setPlayerSize(t.width, t.height);
t.setControlsSize();
}, 50);
}}, {
key: 'setPoster',
value: function setPoster(url){
var t=this;
if(t.getElement(t.container)){
var posterDiv=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'poster');
if(!posterDiv){
posterDiv=_document2.default.createElement('div');
posterDiv.className=t.options.classPrefix + 'poster ' + t.options.classPrefix + 'layer';
t.getElement(t.layers).appendChild(posterDiv);
}
var posterImg=posterDiv.querySelector('img');
if(!posterImg&&url){
posterImg=_document2.default.createElement('img');
posterImg.className=t.options.classPrefix + 'poster-img';
posterImg.width='100%';
posterImg.height='100%';
posterDiv.style.display='';
posterDiv.appendChild(posterImg);
}
if(url){
posterImg.setAttribute('src', url);
posterDiv.style.backgroundImage='url("' + url + '")';
posterDiv.style.display='';
}else if(posterImg){
posterDiv.style.backgroundImage='none';
posterDiv.style.display='none';
posterImg.remove();
}else{
posterDiv.style.display='none';
}}else if(_constants.IS_IPAD&&t.options.iPadUseNativeControls||_constants.IS_IPHONE&&t.options.iPhoneUseNativeControls||_constants.IS_ANDROID&&t.options.AndroidUseNativeControls){
t.media.originalNode.poster=url;
}}
}, {
key: 'changeSkin',
value: function changeSkin(className){
var t=this;
t.getElement(t.container).className=t.options.classPrefix + 'container ' + className;
t.setPlayerSize(t.width, t.height);
t.setControlsSize();
}}, {
key: 'globalBind',
value: function globalBind(events, callback){
var t=this,
doc=t.node ? t.node.ownerDocument:_document2.default;
events=(0, _general.splitEvents)(events, t.id);
if(events.d){
var eventList=events.d.split(' ');
for (var i=0, total=eventList.length; i < total; i++){
eventList[i].split('.').reduce(function (part, e){
doc.addEventListener(e, callback, false);
return e;
}, '');
}}
if(events.w){
var _eventList=events.w.split(' ');
for (var _i2=0, _total2=_eventList.length; _i2 < _total2; _i2++){
_eventList[_i2].split('.').reduce(function (part, e){
_window2.default.addEventListener(e, callback, false);
return e;
}, '');
}}
}}, {
key: 'globalUnbind',
value: function globalUnbind(events, callback){
var t=this,
doc=t.node ? t.node.ownerDocument:_document2.default;
events=(0, _general.splitEvents)(events, t.id);
if(events.d){
var eventList=events.d.split(' ');
for (var i=0, total=eventList.length; i < total; i++){
eventList[i].split('.').reduce(function (part, e){
doc.removeEventListener(e, callback, false);
return e;
}, '');
}}
if(events.w){
var _eventList2=events.w.split(' ');
for (var _i3=0, _total3=_eventList2.length; _i3 < _total3; _i3++){
_eventList2[_i3].split('.').reduce(function (part, e){
_window2.default.removeEventListener(e, callback, false);
return e;
}, '');
}}
}}, {
key: 'buildfeatures',
value: function buildfeatures(player, controls, layers, media){
var t=this;
for (var i=0, total=t.options.features.length; i < total; i++){
var feature=t.options.features[i];
if(t['build' + feature]){
try {
t['build' + feature](player, controls, layers, media);
} catch (e){
console.error('error building ' + feature, e);
}}
}}
}, {
key: 'buildposter',
value: function buildposter(player, controls, layers, media){
var t=this,
poster=_document2.default.createElement('div');
poster.className=t.options.classPrefix + 'poster ' + t.options.classPrefix + 'layer';
layers.appendChild(poster);
var posterUrl=media.originalNode.getAttribute('poster');
if(player.options.poster!==''){
if(posterUrl&&_constants.IS_IOS){
media.originalNode.removeAttribute('poster');
}
posterUrl=player.options.poster;
}
if(posterUrl){
t.setPoster(posterUrl);
}else if(t.media.renderer!==null&&typeof t.media.renderer.getPosterUrl==='function'){
t.setPoster(t.media.renderer.getPosterUrl());
}else{
poster.style.display='none';
}
media.addEventListener('play', function (){
poster.style.display='none';
});
media.addEventListener('playing', function (){
poster.style.display='none';
});
if(player.options.showPosterWhenEnded&&player.options.autoRewind){
media.addEventListener('ended', function (){
poster.style.display='';
});
}
media.addEventListener('error', function (){
poster.style.display='none';
});
if(player.options.showPosterWhenPaused){
media.addEventListener('pause', function (){
if(!player.ended){
poster.style.display='';
}});
}}
}, {
key: 'buildoverlays',
value: function buildoverlays(player, controls, layers, media){
if(!player.isVideo){
return;
}
var t=this,
loading=_document2.default.createElement('div'),
error=_document2.default.createElement('div'),
bigPlay=_document2.default.createElement('div');
loading.style.display='none';
loading.className=t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer';
loading.innerHTML='<div class="' + t.options.classPrefix + 'overlay-loading">' + ('<span class="' + t.options.classPrefix + 'overlay-loading-bg-img"></span>') + '</div>';
layers.appendChild(loading);
error.style.display='none';
error.className=t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer';
error.innerHTML='<div class="' + t.options.classPrefix + 'overlay-error"></div>';
layers.appendChild(error);
bigPlay.className=t.options.classPrefix + 'overlay ' + t.options.classPrefix + 'layer ' + t.options.classPrefix + 'overlay-play';
bigPlay.innerHTML='<div class="' + t.options.classPrefix + 'overlay-button" role="button" tabindex="0" ' + ('aria-label="' + _i18n2.default.t('mejs.play') + '" aria-pressed="false"></div>');
bigPlay.addEventListener('click', function (){
if(t.options.clickToPlayPause){
var button=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'overlay-button'),
pressed=button.getAttribute('aria-pressed');
if(t.paused){
t.play();
}else{
t.pause();
}
button.setAttribute('aria-pressed', !!pressed);
t.getElement(t.container).focus();
}});
bigPlay.addEventListener('keydown', function (e){
var keyPressed=e.keyCode||e.which||0;
if(keyPressed===13||_constants.IS_FIREFOX&&keyPressed===32){
var event=(0, _general.createEvent)('click', bigPlay);
bigPlay.dispatchEvent(event);
return false;
}});
layers.appendChild(bigPlay);
if(t.media.rendererName!==null&&(/(youtube|facebook)/i.test(t.media.rendererName)&&!(t.media.originalNode.getAttribute('poster')||player.options.poster||typeof t.media.renderer.getPosterUrl==='function'&&t.media.renderer.getPosterUrl())||_constants.IS_STOCK_ANDROID||t.media.originalNode.getAttribute('autoplay'))){
bigPlay.style.display='none';
}
var hasError=false;
media.addEventListener('play', function (){
bigPlay.style.display='none';
loading.style.display='none';
error.style.display='none';
hasError=false;
});
media.addEventListener('playing', function (){
bigPlay.style.display='none';
loading.style.display='none';
error.style.display='none';
hasError=false;
});
media.addEventListener('seeking', function (){
bigPlay.style.display='none';
loading.style.display='';
hasError=false;
});
media.addEventListener('seeked', function (){
bigPlay.style.display=t.paused&&!_constants.IS_STOCK_ANDROID ? '':'none';
loading.style.display='none';
hasError=false;
});
media.addEventListener('pause', function (){
loading.style.display='none';
if(!_constants.IS_STOCK_ANDROID&&!hasError){
bigPlay.style.display='';
}
hasError=false;
});
media.addEventListener('waiting', function (){
loading.style.display='';
hasError=false;
});
media.addEventListener('loadeddata', function (){
loading.style.display='';
if(_constants.IS_ANDROID){
media.canplayTimeout=setTimeout(function (){
if(_document2.default.createEvent){
var evt=_document2.default.createEvent('HTMLEvents');
evt.initEvent('canplay', true, true);
return media.dispatchEvent(evt);
}}, 300);
}
hasError=false;
});
media.addEventListener('canplay', function (){
loading.style.display='none';
clearTimeout(media.canplayTimeout);
hasError=false;
});
media.addEventListener('error', function (e){
t._handleError(e, t.media, t.node);
loading.style.display='none';
bigPlay.style.display='none';
hasError=true;
});
media.addEventListener('loadedmetadata', function (){
if(!t.controlsEnabled){
t.enableControls();
}});
media.addEventListener('keydown', function (e){
t.onkeydown(player, media, e);
hasError=false;
});
}}, {
key: 'buildkeyboard',
value: function buildkeyboard(player, controls, layers, media){
var t=this;
t.getElement(t.container).addEventListener('keydown', function (){
t.keyboardAction=true;
});
t.globalKeydownCallback=function (event){
var container=_document2.default.activeElement.closest('.' + t.options.classPrefix + 'container'),
target=t.media.closest('.' + t.options.classPrefix + 'container');
t.hasFocus = !!(container&&target&&container.id===target.id);
return t.onkeydown(player, media, event);
};
t.globalClickCallback=function (event){
t.hasFocus = !!event.target.closest('.' + t.options.classPrefix + 'container');
};
t.globalBind('keydown', t.globalKeydownCallback);
t.globalBind('click', t.globalClickCallback);
}}, {
key: 'onkeydown',
value: function onkeydown(player, media, e){
if(player.hasFocus&&player.options.enableKeyboard){
for (var i=0, total=player.options.keyActions.length; i < total; i++){
var keyAction=player.options.keyActions[i];
for (var j=0, jl=keyAction.keys.length; j < jl; j++){
if(e.keyCode===keyAction.keys[j]){
keyAction.action(player, media, e.keyCode, e);
e.preventDefault();
e.stopPropagation();
return;
}}
}}
return true;
}}, {
key: 'play',
value: function play(){
this.proxy.play();
}}, {
key: 'pause',
value: function pause(){
this.proxy.pause();
}}, {
key: 'load',
value: function load(){
this.proxy.load();
}}, {
key: 'setCurrentTime',
value: function setCurrentTime(time){
this.proxy.setCurrentTime(time);
}}, {
key: 'getCurrentTime',
value: function getCurrentTime(){
return this.proxy.currentTime;
}}, {
key: 'getDuration',
value: function getDuration(){
return this.proxy.duration;
}}, {
key: 'setVolume',
value: function setVolume(volume){
this.proxy.volume=volume;
}}, {
key: 'getVolume',
value: function getVolume(){
return this.proxy.getVolume();
}}, {
key: 'setMuted',
value: function setMuted(value){
this.proxy.setMuted(value);
}}, {
key: 'setSrc',
value: function setSrc(src){
if(!this.controlsEnabled){
this.enableControls();
}
this.proxy.setSrc(src);
}}, {
key: 'getSrc',
value: function getSrc(){
return this.proxy.getSrc();
}}, {
key: 'canPlayType',
value: function canPlayType(type){
return this.proxy.canPlayType(type);
}}, {
key: 'remove',
value: function remove(){
var t=this,
rendererName=t.media.rendererName,
src=t.media.originalNode.src;
for (var featureIndex in t.options.features){
var feature=t.options.features[featureIndex];
if(t['clean' + feature]){
try {
t['clean' + feature](t, t.getElement(t.layers), t.getElement(t.controls), t.media);
} catch (e){
console.error('error cleaning ' + feature, e);
}}
}
var nativeWidth=t.node.getAttribute('width'),
nativeHeight=t.node.getAttribute('height');
if(nativeWidth){
if(nativeWidth.indexOf('%')===-1){
nativeWidth=nativeWidth + 'px';
}}else{
nativeWidth='auto';
}
if(nativeHeight){
if(nativeHeight.indexOf('%')===-1){
nativeHeight=nativeHeight + 'px';
}}else{
nativeHeight='auto';
}
t.node.style.width=nativeWidth;
t.node.style.height=nativeHeight;
t.setPlayerSize(0, 0);
if(!t.isDynamic){
(function (){
t.node.setAttribute('controls', true);
t.node.setAttribute('id', t.node.getAttribute('id').replace('_' + rendererName, '').replace('_from_mejs', ''));
var poster=t.getElement(t.container).querySelector('.' + t.options.classPrefix + 'poster>img');
if(poster){
t.node.setAttribute('poster', poster.src);
}
delete t.node.autoplay;
t.node.setAttribute('src', '');
if(t.media.canPlayType((0, _media.getTypeFromFile)(src))!==''){
t.node.setAttribute('src', src);
}
if(rendererName&&rendererName.indexOf('iframe') > -1){
var layer=_document2.default.getElementById(t.media.id + '-iframe-overlay');
layer.remove();
}
var node=t.node.cloneNode();
node.style.display='';
t.getElement(t.container).parentNode.insertBefore(node, t.getElement(t.container));
t.node.remove();
if(t.mediaFiles){
for (var i=0, total=t.mediaFiles.length; i < total; i++){
var source=_document2.default.createElement('source');
source.setAttribute('src', t.mediaFiles[i].src);
source.setAttribute('type', t.mediaFiles[i].type);
node.appendChild(source);
}}
if(t.trackFiles){
var _loop3=function _loop3(_i4, _total4){
var track=t.trackFiles[_i4];
var newTrack=_document2.default.createElement('track');
newTrack.kind=track.kind;
newTrack.label=track.label;
newTrack.srclang=track.srclang;
newTrack.src=track.src;
node.appendChild(newTrack);
newTrack.addEventListener('load', function (){
this.mode='showing';
node.textTracks[_i4].mode='showing';
});
};
for (var _i4=0, _total4=t.trackFiles.length; _i4 < _total4; _i4++){
_loop3(_i4, _total4);
}}
delete t.node;
delete t.mediaFiles;
delete t.trackFiles;
})();
}else{
t.getElement(t.container).parentNode.insertBefore(t.node, t.getElement(t.container));
}
if(t.media.renderer&&typeof t.media.renderer.destroy==='function'){
t.media.renderer.destroy();
}
delete _mejs2.default.players[t.id];
if(_typeof(t.getElement(t.container))==='object'){
var offscreen=t.getElement(t.container).parentNode.querySelector('.' + t.options.classPrefix + 'offscreen');
offscreen.remove();
t.getElement(t.container).remove();
}
t.globalUnbind('resize', t.globalResizeCallback);
t.globalUnbind('keydown', t.globalKeydownCallback);
t.globalUnbind('click', t.globalClickCallback);
delete t.media.player;
}}, {
key: 'paused',
get: function get(){
return this.proxy.paused;
}}, {
key: 'muted',
get: function get(){
return this.proxy.muted;
},
set: function set(muted){
this.setMuted(muted);
}}, {
key: 'ended',
get: function get(){
return this.proxy.ended;
}}, {
key: 'readyState',
get: function get(){
return this.proxy.readyState;
}}, {
key: 'currentTime',
set: function set(time){
this.setCurrentTime(time);
},
get: function get(){
return this.getCurrentTime();
}}, {
key: 'duration',
get: function get(){
return this.getDuration();
}}, {
key: 'volume',
set: function set(volume){
this.setVolume(volume);
},
get: function get(){
return this.getVolume();
}}, {
key: 'src',
set: function set(src){
this.setSrc(src);
},
get: function get(){
return this.getSrc();
}}]);
return MediaElementPlayer;
}();
_window2.default.MediaElementPlayer=MediaElementPlayer;
_mejs2.default.MediaElementPlayer=MediaElementPlayer;
exports.default=MediaElementPlayer;
},{"17":17,"2":2,"25":25,"26":26,"27":27,"28":28,"3":3,"30":30,"5":5,"6":6,"7":7}],17:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass=function (){ function defineProperties(target, props){ for (var i=0; i < props.length; i++){ var descriptor=props[i]; descriptor.enumerable=descriptor.enumerable||false; descriptor.configurable=true; if("value" in descriptor) descriptor.writable=true; Object.defineProperty(target, descriptor.key, descriptor); }} return function (Constructor, protoProps, staticProps){ if(protoProps) defineProperties(Constructor.prototype, protoProps); if(staticProps) defineProperties(Constructor, staticProps); return Constructor; };}();
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
function _classCallCheck(instance, Constructor){ if(!(instance instanceof Constructor)){ throw new TypeError("Cannot call a class as a function"); }}
var DefaultPlayer=function (){
function DefaultPlayer(player){
_classCallCheck(this, DefaultPlayer);
this.media=player.media;
this.isVideo=player.isVideo;
this.classPrefix=player.options.classPrefix;
this.createIframeLayer=function (){
return player.createIframeLayer();
};
this.setPoster=function (url){
return player.setPoster(url);
};
return this;
}
_createClass(DefaultPlayer, [{
key: 'play',
value: function play(){
this.media.play();
}}, {
key: 'pause',
value: function pause(){
this.media.pause();
}}, {
key: 'load',
value: function load(){
var t=this;
if(!t.isLoaded){
t.media.load();
}
t.isLoaded=true;
}}, {
key: 'setCurrentTime',
value: function setCurrentTime(time){
this.media.setCurrentTime(time);
}}, {
key: 'getCurrentTime',
value: function getCurrentTime(){
return this.media.currentTime;
}}, {
key: 'getDuration',
value: function getDuration(){
var duration=this.media.getDuration();
if(duration===Infinity&&this.media.seekable&&this.media.seekable.length){
duration=this.media.seekable.end(0);
}
return duration;
}}, {
key: 'setVolume',
value: function setVolume(volume){
this.media.setVolume(volume);
}}, {
key: 'getVolume',
value: function getVolume(){
return this.media.getVolume();
}}, {
key: 'setMuted',
value: function setMuted(value){
this.media.setMuted(value);
}}, {
key: 'setSrc',
value: function setSrc(src){
var t=this,
layer=document.getElementById(t.media.id + '-iframe-overlay');
if(layer){
layer.remove();
}
t.media.setSrc(src);
t.createIframeLayer();
if(t.media.renderer!==null&&typeof t.media.renderer.getPosterUrl==='function'){
t.setPoster(t.media.renderer.getPosterUrl());
}}
}, {
key: 'getSrc',
value: function getSrc(){
return this.media.getSrc();
}}, {
key: 'canPlayType',
value: function canPlayType(type){
return this.media.canPlayType(type);
}}, {
key: 'paused',
get: function get(){
return this.media.paused;
}}, {
key: 'muted',
set: function set(muted){
this.setMuted(muted);
},
get: function get(){
return this.media.muted;
}}, {
key: 'ended',
get: function get(){
return this.media.ended;
}}, {
key: 'readyState',
get: function get(){
return this.media.readyState;
}}, {
key: 'currentTime',
set: function set(time){
this.setCurrentTime(time);
},
get: function get(){
return this.getCurrentTime();
}}, {
key: 'duration',
get: function get(){
return this.getDuration();
}}, {
key: 'remainingTime',
get: function get(){
return this.getDuration() - this.currentTime();
}}, {
key: 'volume',
set: function set(volume){
this.setVolume(volume);
},
get: function get(){
return this.getVolume();
}}, {
key: 'src',
set: function set(src){
this.setSrc(src);
},
get: function get(){
return this.getSrc();
}}]);
return DefaultPlayer;
}();
exports.default=DefaultPlayer;
_window2.default.DefaultPlayer=DefaultPlayer;
},{"3":3}],18:[function(_dereq_,module,exports){
'use strict';
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _player=_dereq_(16);
var _player2=_interopRequireDefault(_player);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
if(typeof jQuery!=='undefined'){
_mejs2.default.$=jQuery;
}else if(typeof Zepto!=='undefined'){
_mejs2.default.$=Zepto;
}else if(typeof ender!=='undefined'){
_mejs2.default.$=ender;
}
(function ($){
if(typeof $!=='undefined'){
$.fn.mediaelementplayer=function (options){
if(options===false){
this.each(function (){
var player=$(this).data('mediaelementplayer');
if(player){
player.remove();
}
$(this).removeData('mediaelementplayer');
});
}else{
this.each(function (){
$(this).data('mediaelementplayer', new _player2.default(this, options));
});
}
return this;
};
$(document).ready(function (){
$('.' + _mejs2.default.MepDefaults.classPrefix + 'player').mediaelementplayer();
});
}})(_mejs2.default.$);
},{"16":16,"3":3,"7":7}],19:[function(_dereq_,module,exports){
'use strict';
var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol" ? function (obj){ return typeof obj; }:function (obj){ return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype ? "symbol":typeof obj; };
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _renderer=_dereq_(8);
var _general=_dereq_(27);
var _media=_dereq_(28);
var _constants=_dereq_(25);
var _dom=_dereq_(26);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
var NativeDash={
promise: null,
load: function load(settings){
if(typeof dashjs!=='undefined'){
NativeDash.promise=new Promise(function (resolve){
resolve();
}).then(function (){
NativeDash._createPlayer(settings);
});
}else{
settings.options.path=typeof settings.options.path==='string' ? settings.options.path:'https://cdn.dashjs.org/latest/dash.all.min.js';
NativeDash.promise=NativeDash.promise||(0, _dom.loadScript)(settings.options.path);
NativeDash.promise.then(function (){
NativeDash._createPlayer(settings);
});
}
return NativeDash.promise;
},
_createPlayer: function _createPlayer(settings){
var player=dashjs.MediaPlayer().create();
_window2.default['__ready__' + settings.id](player);
return player;
}};
var DashNativeRenderer={
name: 'native_dash',
options: {
prefix: 'native_dash',
dash: {
path: 'https://cdn.dashjs.org/latest/dash.all.min.js',
debug: false,
drm: {},
robustnessLevel: ''
}},
canPlayType: function canPlayType(type){
return _constants.HAS_MSE&&['application/dash+xml'].indexOf(type.toLowerCase()) > -1;
},
create: function create(mediaElement, options, mediaFiles){
var originalNode=mediaElement.originalNode,
id=mediaElement.id + '_' + options.prefix,
autoplay=originalNode.autoplay,
children=originalNode.children;
var node=null,
dashPlayer=null;
originalNode.removeAttribute('type');
for (var i=0, total=children.length; i < total; i++){
children[i].removeAttribute('type');
}
node=originalNode.cloneNode(true);
options=Object.assign(options, mediaElement.options);
var props=_mejs2.default.html5media.properties,
events=_mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e){
return e!=='error';
}),
attachNativeEvents=function attachNativeEvents(e){
var event=(0, _general.createEvent)(e.type, mediaElement);
mediaElement.dispatchEvent(event);
},
assignGettersSetters=function assignGettersSetters(propName){
var capName='' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
node['get' + capName]=function (){
return dashPlayer!==null ? node[propName]:null;
};
node['set' + capName]=function (value){
if(_mejs2.default.html5media.readOnlyProperties.indexOf(propName)===-1){
if(propName==='src'){
var source=(typeof value==='undefined' ? 'undefined':_typeof(value))==='object'&&value.src ? value.src:value;
node[propName]=source;
if(dashPlayer!==null){
dashPlayer.reset();
for (var _i=0, _total=events.length; _i < _total; _i++){
node.removeEventListener(events[_i], attachNativeEvents);
}
dashPlayer=NativeDash._createPlayer({
options: options.dash,
id: id
});
if(value&&(typeof value==='undefined' ? 'undefined':_typeof(value))==='object'&&_typeof(value.drm)==='object'){
dashPlayer.setProtectionData(value.drm);
if((0, _general.isString)(options.dash.robustnessLevel)&&options.dash.robustnessLevel){
dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel);
}}
dashPlayer.attachSource(source);
if(autoplay){
dashPlayer.play();
}}
}else{
node[propName]=value;
}}
};};
for (var _i2=0, _total2=props.length; _i2 < _total2; _i2++){
assignGettersSetters(props[_i2]);
}
_window2.default['__ready__' + id]=function (_dashPlayer){
mediaElement.dashPlayer=dashPlayer=_dashPlayer;
var dashEvents=dashjs.MediaPlayer.events,
assignEvents=function assignEvents(eventName){
if(eventName==='loadedmetadata'){
dashPlayer.initialize();
dashPlayer.attachView(node);
dashPlayer.setAutoPlay(false);
if(_typeof(options.dash.drm)==='object'&&!_mejs2.default.Utils.isObjectEmpty(options.dash.drm)){
dashPlayer.setProtectionData(options.dash.drm);
if((0, _general.isString)(options.dash.robustnessLevel)&&options.dash.robustnessLevel){
dashPlayer.getProtectionController().setRobustnessLevel(options.dash.robustnessLevel);
}}
dashPlayer.attachSource(node.getSrc());
}
node.addEventListener(eventName, attachNativeEvents);
};
for (var _i3=0, _total3=events.length; _i3 < _total3; _i3++){
assignEvents(events[_i3]);
}
var assignMdashEvents=function assignMdashEvents(e){
if(e.type.toLowerCase()==='error'){
mediaElement.generateError(e.message, node.src);
console.error(e);
}else{
var _event=(0, _general.createEvent)(e.type, mediaElement);
_event.data=e;
mediaElement.dispatchEvent(_event);
}};
for (var eventType in dashEvents){
if(dashEvents.hasOwnProperty(eventType)){
dashPlayer.on(dashEvents[eventType], function (e){
return assignMdashEvents(e);
});
}}
};
if(mediaFiles&&mediaFiles.length > 0){
for (var _i4=0, _total4=mediaFiles.length; _i4 < _total4; _i4++){
if(_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)){
node.setAttribute('src', mediaFiles[_i4].src);
if(typeof mediaFiles[_i4].drm!=='undefined'){
options.dash.drm=mediaFiles[_i4].drm;
}
break;
}}
}
node.setAttribute('id', id);
originalNode.parentNode.insertBefore(node, originalNode);
originalNode.autoplay=false;
originalNode.style.display='none';
node.setSize=function (width, height){
node.style.width=width + 'px';
node.style.height=height + 'px';
return node;
};
node.hide=function (){
node.pause();
node.style.display='none';
return node;
};
node.show=function (){
node.style.display='';
return node;
};
node.destroy=function (){
if(dashPlayer!==null){
dashPlayer.reset();
}};
var event=(0, _general.createEvent)('rendererready', node);
mediaElement.dispatchEvent(event);
mediaElement.promises.push(NativeDash.load({
options: options.dash,
id: id
}));
return node;
}};
_media.typeChecks.push(function (url){
return ~url.toLowerCase().indexOf('.mpd') ? 'application/dash+xml':null;
});
_renderer.renderer.add(DashNativeRenderer);
},{"25":25,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],20:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PluginDetector=undefined;
var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol" ? function (obj){ return typeof obj; }:function (obj){ return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype ? "symbol":typeof obj; };
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _i18n=_dereq_(5);
var _i18n2=_interopRequireDefault(_i18n);
var _renderer=_dereq_(8);
var _general=_dereq_(27);
var _constants=_dereq_(25);
var _media=_dereq_(28);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
var PluginDetector=exports.PluginDetector={
plugins: [],
hasPluginVersion: function hasPluginVersion(plugin, v){
var pv=PluginDetector.plugins[plugin];
v[1]=v[1]||0;
v[2]=v[2]||0;
return pv[0] > v[0]||pv[0]===v[0]&&pv[1] > v[1]||pv[0]===v[0]&&pv[1]===v[1]&&pv[2] >=v[2];
},
addPlugin: function addPlugin(p, pluginName, mimeType, activeX, axDetect){
PluginDetector.plugins[p]=PluginDetector.detectPlugin(pluginName, mimeType, activeX, axDetect);
},
detectPlugin: function detectPlugin(pluginName, mimeType, activeX, axDetect){
var version=[0, 0, 0],
description=void 0,
ax=void 0;
if(_constants.NAV.plugins!==null&&_constants.NAV.plugins!==undefined&&_typeof(_constants.NAV.plugins[pluginName])==='object'){
description=_constants.NAV.plugins[pluginName].description;
if(description&&!(typeof _constants.NAV.mimeTypes!=='undefined'&&_constants.NAV.mimeTypes[mimeType]&&!_constants.NAV.mimeTypes[mimeType].enabledPlugin)){
version=description.replace(pluginName, '').replace(/^\s+/, '').replace(/\sr/gi, '.').split('.');
for (var i=0, total=version.length; i < total; i++){
version[i]=parseInt(version[i].match(/\d+/), 10);
}}
}else if(_window2.default.ActiveXObject!==undefined){
try {
ax=new ActiveXObject(activeX);
if(ax){
version=axDetect(ax);
}} catch (e){
}}
return version;
}};
PluginDetector.addPlugin('flash', 'Shockwave Flash', 'application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash', function (ax){
var version=[],
d=ax.GetVariable("$version");
if(d){
d=d.split(" ")[1].split(",");
version=[parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
}
return version;
});
var FlashMediaElementRenderer={
create: function create(mediaElement, options, mediaFiles){
var flash={};
var isActive=false;
flash.options=options;
flash.id=mediaElement.id + '_' + flash.options.prefix;
flash.mediaElement=mediaElement;
flash.flashState={};
flash.flashApi=null;
flash.flashApiStack=[];
var props=_mejs2.default.html5media.properties,
assignGettersSetters=function assignGettersSetters(propName){
flash.flashState[propName]=null;
var capName='' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
flash['get' + capName]=function (){
if(flash.flashApi!==null){
if(typeof flash.flashApi['get_' + propName]==='function'){
var value=flash.flashApi['get_' + propName]();
if(propName==='buffered'){
return {
start: function start(){
return 0;
},
end: function end(){
return value;
},
length: 1
};}
return value;
}else{
return null;
}}else{
return null;
}};
flash['set' + capName]=function (value){
if(propName==='src'){
value=(0, _media.absolutizeUrl)(value);
}
if(flash.flashApi!==null&&flash.flashApi['set_' + propName]!==undefined){
try {
flash.flashApi['set_' + propName](value);
} catch (e){
}}else{
flash.flashApiStack.push({
type: 'set',
propName: propName,
value: value
});
}};};
for (var i=0, total=props.length; i < total; i++){
assignGettersSetters(props[i]);
}
var methods=_mejs2.default.html5media.methods,
assignMethods=function assignMethods(methodName){
flash[methodName]=function (){
if(isActive){
if(flash.flashApi!==null){
if(flash.flashApi['fire_' + methodName]){
try {
flash.flashApi['fire_' + methodName]();
} catch (e){
}}else{
}}else{
flash.flashApiStack.push({
type: 'call',
methodName: methodName
});
}}
};};
methods.push('stop');
for (var _i=0, _total=methods.length; _i < _total; _i++){
assignMethods(methods[_i]);
}
var initEvents=['rendererready'];
for (var _i2=0, _total2=initEvents.length; _i2 < _total2; _i2++){
var event=(0, _general.createEvent)(initEvents[_i2], flash);
mediaElement.dispatchEvent(event);
}
_window2.default['__ready__' + flash.id]=function (){
flash.flashReady=true;
flash.flashApi=_document2.default.getElementById('__' + flash.id);
if(flash.flashApiStack.length){
for (var _i3=0, _total3=flash.flashApiStack.length; _i3 < _total3; _i3++){
var stackItem=flash.flashApiStack[_i3];
if(stackItem.type==='set'){
var propName=stackItem.propName,
capName='' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
flash['set' + capName](stackItem.value);
}else if(stackItem.type==='call'){
flash[stackItem.methodName]();
}}
}};
_window2.default['__event__' + flash.id]=function (eventName, message){
var event=(0, _general.createEvent)(eventName, flash);
if(message){
try {
event.data=JSON.parse(message);
event.details.data=JSON.parse(message);
} catch (e){
event.message=message;
}}
flash.mediaElement.dispatchEvent(event);
};
flash.flashWrapper=_document2.default.createElement('div');
if(['always', 'sameDomain'].indexOf(flash.options.shimScriptAccess)===-1){
flash.options.shimScriptAccess='sameDomain';
}
var autoplay=mediaElement.originalNode.autoplay,
flashVars=['uid=' + flash.id, 'autoplay=' + autoplay, 'allowScriptAccess=' + flash.options.shimScriptAccess, 'preload=' + (mediaElement.originalNode.getAttribute('preload')||'')],
isVideo=mediaElement.originalNode!==null&&mediaElement.originalNode.tagName.toLowerCase()==='video',
flashHeight=isVideo ? mediaElement.originalNode.height:1,
flashWidth=isVideo ? mediaElement.originalNode.width:1;
if(mediaElement.originalNode.getAttribute('src')){
flashVars.push('src=' + mediaElement.originalNode.getAttribute('src'));
}
if(flash.options.enablePseudoStreaming===true){
flashVars.push('pseudostreamstart=' + flash.options.pseudoStreamingStartQueryParam);
flashVars.push('pseudostreamtype=' + flash.options.pseudoStreamingType);
}
if(flash.options.streamDelimiter){
flashVars.push('streamdelimiter=' + encodeURIComponent(flash.options.streamDelimiter));
}
if(flash.options.proxyType){
flashVars.push('proxytype=' + flash.options.proxyType);
}
mediaElement.appendChild(flash.flashWrapper);
mediaElement.originalNode.style.display='none';
var settings=[];
if(_constants.IS_IE||_constants.IS_EDGE){
var specialIEContainer=_document2.default.createElement('div');
flash.flashWrapper.appendChild(specialIEContainer);
if(_constants.IS_EDGE){
settings=['type="application/x-shockwave-flash"', 'data="' + flash.options.pluginPath + flash.options.filename + '"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '\'"'];
}else{
settings=['classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"', 'codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"', 'id="__' + flash.id + '"', 'width="' + flashWidth + '"', 'height="' + flashHeight + '"'];
}
if(!isVideo){
settings.push('style="clip: rect(0 0 0 0); position: absolute;"');
}
specialIEContainer.outerHTML='<object ' + settings.join(' ') + '>' + ('<param name="movie" value="' + flash.options.pluginPath + flash.options.filename + '?x=' + new Date() + '" />') + ('<param name="flashvars" value="' + flashVars.join('&amp;') + '" />') + '<param name="quality" value="high" />' + '<param name="bgcolor" value="#000000" />' + '<param name="wmode" value="transparent" />' + ('<param name="allowScriptAccess" value="' + flash.options.shimScriptAccess + '" />') + '<param name="allowFullScreen" value="true" />' + ('<div>' + _i18n2.default.t('mejs.install-flash') + '</div>') + '</object>';
}else{
settings=['id="__' + flash.id + '"', 'name="__' + flash.id + '"', 'play="true"', 'loop="false"', 'quality="high"', 'bgcolor="#000000"', 'wmode="transparent"', 'allowScriptAccess="' + flash.options.shimScriptAccess + '"', 'allowFullScreen="true"', 'type="application/x-shockwave-flash"', 'pluginspage="//www.macromedia.com/go/getflashplayer"', 'src="' + flash.options.pluginPath + flash.options.filename + '"', 'flashvars="' + flashVars.join('&') + '"'];
if(isVideo){
settings.push('width="' + flashWidth + '"');
settings.push('height="' + flashHeight + '"');
}else{
settings.push('style="position: fixed; left: -9999em; top: -9999em;"');
}
flash.flashWrapper.innerHTML='<embed ' + settings.join(' ') + '>';
}
flash.flashNode=flash.flashWrapper.lastChild;
flash.hide=function (){
isActive=false;
if(isVideo){
flash.flashNode.style.display='none';
}};
flash.show=function (){
isActive=true;
if(isVideo){
flash.flashNode.style.display='';
}};
flash.setSize=function (width, height){
flash.flashNode.style.width=width + 'px';
flash.flashNode.style.height=height + 'px';
if(flash.flashApi!==null&&typeof flash.flashApi.fire_setSize==='function'){
flash.flashApi.fire_setSize(width, height);
}};
flash.destroy=function (){
flash.flashNode.remove();
};
if(mediaFiles&&mediaFiles.length > 0){
for (var _i4=0, _total4=mediaFiles.length; _i4 < _total4; _i4++){
if(_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i4].type)){
flash.setSrc(mediaFiles[_i4].src);
break;
}}
}
return flash;
}};
var hasFlash=PluginDetector.hasPluginVersion('flash', [10, 0, 0]);
if(hasFlash){
_media.typeChecks.push(function (url){
url=url.toLowerCase();
if(url.startsWith('rtmp')){
if(~url.indexOf('.mp3')){
return 'audio/rtmp';
}else{
return 'video/rtmp';
}}else if(/\.og(a|g)/i.test(url)){
return 'audio/ogg';
}else if(~url.indexOf('.m3u8')){
return 'application/x-mpegURL';
}else if(~url.indexOf('.mpd')){
return 'application/dash+xml';
}else if(~url.indexOf('.flv')){
return 'video/flv';
}else{
return null;
}});
var FlashMediaElementVideoRenderer={
name: 'flash_video',
options: {
prefix: 'flash_video',
filename: 'mediaelement-flash-video.swf',
enablePseudoStreaming: false,
pseudoStreamingStartQueryParam: 'start',
pseudoStreamingType: 'byte',
proxyType: '',
streamDelimiter: ''
},
canPlayType: function canPlayType(type){
return ~['video/mp4', 'video/rtmp', 'audio/rtmp', 'rtmp/mp4', 'audio/mp4', 'video/flv', 'video/x-flv'].indexOf(type.toLowerCase());
},
create: FlashMediaElementRenderer.create
};
_renderer.renderer.add(FlashMediaElementVideoRenderer);
var FlashMediaElementHlsVideoRenderer={
name: 'flash_hls',
options: {
prefix: 'flash_hls',
filename: 'mediaelement-flash-video-hls.swf'
},
canPlayType: function canPlayType(type){
return ~['application/x-mpegurl', 'application/vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase());
},
create: FlashMediaElementRenderer.create
};
_renderer.renderer.add(FlashMediaElementHlsVideoRenderer);
var FlashMediaElementMdashVideoRenderer={
name: 'flash_dash',
options: {
prefix: 'flash_dash',
filename: 'mediaelement-flash-video-mdash.swf'
},
canPlayType: function canPlayType(type){
return ~['application/dash+xml'].indexOf(type.toLowerCase());
},
create: FlashMediaElementRenderer.create
};
_renderer.renderer.add(FlashMediaElementMdashVideoRenderer);
var FlashMediaElementAudioRenderer={
name: 'flash_audio',
options: {
prefix: 'flash_audio',
filename: 'mediaelement-flash-audio.swf'
},
canPlayType: function canPlayType(type){
return ~['audio/mp3'].indexOf(type.toLowerCase());
},
create: FlashMediaElementRenderer.create
};
_renderer.renderer.add(FlashMediaElementAudioRenderer);
var FlashMediaElementAudioOggRenderer={
name: 'flash_audio_ogg',
options: {
prefix: 'flash_audio_ogg',
filename: 'mediaelement-flash-audio-ogg.swf'
},
canPlayType: function canPlayType(type){
return ~['audio/ogg', 'audio/oga', 'audio/ogv'].indexOf(type.toLowerCase());
},
create: FlashMediaElementRenderer.create
};
_renderer.renderer.add(FlashMediaElementAudioOggRenderer);
}},{"2":2,"25":25,"27":27,"28":28,"3":3,"5":5,"7":7,"8":8}],21:[function(_dereq_,module,exports){
'use strict';
var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol" ? function (obj){ return typeof obj; }:function (obj){ return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype ? "symbol":typeof obj; };
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _renderer=_dereq_(8);
var _general=_dereq_(27);
var _constants=_dereq_(25);
var _media=_dereq_(28);
var _dom=_dereq_(26);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
var NativeFlv={
promise: null,
load: function load(settings){
if(typeof flvjs!=='undefined'){
NativeFlv.promise=new Promise(function (resolve){
resolve();
}).then(function (){
NativeFlv._createPlayer(settings);
});
}else{
settings.options.path=typeof settings.options.path==='string' ? settings.options.path:'https://cdn.jsdelivr.net/npm/flv.js@latest';
NativeFlv.promise=NativeFlv.promise||(0, _dom.loadScript)(settings.options.path);
NativeFlv.promise.then(function (){
NativeFlv._createPlayer(settings);
});
}
return NativeFlv.promise;
},
_createPlayer: function _createPlayer(settings){
flvjs.LoggingControl.enableDebug=settings.options.debug;
flvjs.LoggingControl.enableVerbose=settings.options.debug;
var player=flvjs.createPlayer(settings.options, settings.configs);
_window2.default['__ready__' + settings.id](player);
return player;
}};
var FlvNativeRenderer={
name: 'native_flv',
options: {
prefix: 'native_flv',
flv: {
path: 'https://cdn.jsdelivr.net/npm/flv.js@latest',
cors: true,
debug: false
}},
canPlayType: function canPlayType(type){
return _constants.HAS_MSE&&['video/x-flv', 'video/flv'].indexOf(type.toLowerCase()) > -1;
},
create: function create(mediaElement, options, mediaFiles){
var originalNode=mediaElement.originalNode,
id=mediaElement.id + '_' + options.prefix;
var node=null,
flvPlayer=null;
node=originalNode.cloneNode(true);
options=Object.assign(options, mediaElement.options);
var props=_mejs2.default.html5media.properties,
events=_mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e){
return e!=='error';
}),
attachNativeEvents=function attachNativeEvents(e){
var event=(0, _general.createEvent)(e.type, mediaElement);
mediaElement.dispatchEvent(event);
},
assignGettersSetters=function assignGettersSetters(propName){
var capName='' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
node['get' + capName]=function (){
return flvPlayer!==null ? node[propName]:null;
};
node['set' + capName]=function (value){
if(_mejs2.default.html5media.readOnlyProperties.indexOf(propName)===-1){
if(propName==='src'){
node[propName]=(typeof value==='undefined' ? 'undefined':_typeof(value))==='object'&&value.src ? value.src:value;
if(flvPlayer!==null){
var _flvOptions={};
_flvOptions.type='flv';
_flvOptions.url=value;
_flvOptions.cors=options.flv.cors;
_flvOptions.debug=options.flv.debug;
_flvOptions.path=options.flv.path;
var _flvConfigs=options.flv.configs;
flvPlayer.destroy();
for (var i=0, total=events.length; i < total; i++){
node.removeEventListener(events[i], attachNativeEvents);
}
flvPlayer=NativeFlv._createPlayer({
options: _flvOptions,
configs: _flvConfigs,
id: id
});
flvPlayer.attachMediaElement(node);
flvPlayer.load();
}}else{
node[propName]=value;
}}
};};
for (var i=0, total=props.length; i < total; i++){
assignGettersSetters(props[i]);
}
_window2.default['__ready__' + id]=function (_flvPlayer){
mediaElement.flvPlayer=flvPlayer=_flvPlayer;
var flvEvents=flvjs.Events,
assignEvents=function assignEvents(eventName){
if(eventName==='loadedmetadata'){
flvPlayer.unload();
flvPlayer.detachMediaElement();
flvPlayer.attachMediaElement(node);
flvPlayer.load();
}
node.addEventListener(eventName, attachNativeEvents);
};
for (var _i=0, _total=events.length; _i < _total; _i++){
assignEvents(events[_i]);
}
var assignFlvEvents=function assignFlvEvents(name, data){
if(name==='error'){
var message=data[0] + ': ' + data[1] + ' ' + data[2].msg;
mediaElement.generateError(message, node.src);
}else{
var _event=(0, _general.createEvent)(name, mediaElement);
_event.data=data;
mediaElement.dispatchEvent(_event);
}};
var _loop=function _loop(eventType){
if(flvEvents.hasOwnProperty(eventType)){
flvPlayer.on(flvEvents[eventType], function (){
for (var _len=arguments.length, args=Array(_len), _key=0; _key < _len; _key++){
args[_key]=arguments[_key];
}
return assignFlvEvents(flvEvents[eventType], args);
});
}};
for (var eventType in flvEvents){
_loop(eventType);
}};
if(mediaFiles&&mediaFiles.length > 0){
for (var _i2=0, _total2=mediaFiles.length; _i2 < _total2; _i2++){
if(_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[_i2].type)){
node.setAttribute('src', mediaFiles[_i2].src);
break;
}}
}
node.setAttribute('id', id);
originalNode.parentNode.insertBefore(node, originalNode);
originalNode.autoplay=false;
originalNode.style.display='none';
var flvOptions={};
flvOptions.type='flv';
flvOptions.url=node.src;
flvOptions.cors=options.flv.cors;
flvOptions.debug=options.flv.debug;
flvOptions.path=options.flv.path;
var flvConfigs=options.flv.configs;
node.setSize=function (width, height){
node.style.width=width + 'px';
node.style.height=height + 'px';
return node;
};
node.hide=function (){
if(flvPlayer!==null){
flvPlayer.pause();
}
node.style.display='none';
return node;
};
node.show=function (){
node.style.display='';
return node;
};
node.destroy=function (){
if(flvPlayer!==null){
flvPlayer.destroy();
}};
var event=(0, _general.createEvent)('rendererready', node);
mediaElement.dispatchEvent(event);
mediaElement.promises.push(NativeFlv.load({
options: flvOptions,
configs: flvConfigs,
id: id
}));
return node;
}};
_media.typeChecks.push(function (url){
return ~url.toLowerCase().indexOf('.flv') ? 'video/flv':null;
});
_renderer.renderer.add(FlvNativeRenderer);
},{"25":25,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],22:[function(_dereq_,module,exports){
'use strict';
var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol" ? function (obj){ return typeof obj; }:function (obj){ return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype ? "symbol":typeof obj; };
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _renderer=_dereq_(8);
var _general=_dereq_(27);
var _constants=_dereq_(25);
var _media=_dereq_(28);
var _dom=_dereq_(26);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
var NativeHls={
promise: null,
load: function load(settings){
if(typeof Hls!=='undefined'){
NativeHls.promise=new Promise(function (resolve){
resolve();
}).then(function (){
NativeHls._createPlayer(settings);
});
}else{
settings.options.path=typeof settings.options.path==='string' ? settings.options.path:'https://cdn.jsdelivr.net/npm/hls.js@latest';
NativeHls.promise=NativeHls.promise||(0, _dom.loadScript)(settings.options.path);
NativeHls.promise.then(function (){
NativeHls._createPlayer(settings);
});
}
return NativeHls.promise;
},
_createPlayer: function _createPlayer(settings){
var player=new Hls(settings.options);
_window2.default['__ready__' + settings.id](player);
return player;
}};
var HlsNativeRenderer={
name: 'native_hls',
options: {
prefix: 'native_hls',
hls: {
path: 'https://cdn.jsdelivr.net/npm/hls.js@latest',
autoStartLoad: false,
debug: false
}},
canPlayType: function canPlayType(type){
return _constants.HAS_MSE&&['application/x-mpegurl', 'application/vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase()) > -1;
},
create: function create(mediaElement, options, mediaFiles){
var originalNode=mediaElement.originalNode,
id=mediaElement.id + '_' + options.prefix,
preload=originalNode.getAttribute('preload'),
autoplay=originalNode.autoplay;
var hlsPlayer=null,
node=null,
index=0,
total=mediaFiles.length;
node=originalNode.cloneNode(true);
options=Object.assign(options, mediaElement.options);
options.hls.autoStartLoad=preload&&preload!=='none'||autoplay;
var props=_mejs2.default.html5media.properties,
events=_mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e){
return e!=='error';
}),
attachNativeEvents=function attachNativeEvents(e){
var event=(0, _general.createEvent)(e.type, mediaElement);
mediaElement.dispatchEvent(event);
},
assignGettersSetters=function assignGettersSetters(propName){
var capName='' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
node['get' + capName]=function (){
return hlsPlayer!==null ? node[propName]:null;
};
node['set' + capName]=function (value){
if(_mejs2.default.html5media.readOnlyProperties.indexOf(propName)===-1){
if(propName==='src'){
node[propName]=(typeof value==='undefined' ? 'undefined':_typeof(value))==='object'&&value.src ? value.src:value;
if(hlsPlayer!==null){
hlsPlayer.destroy();
for (var i=0, _total=events.length; i < _total; i++){
node.removeEventListener(events[i], attachNativeEvents);
}
hlsPlayer=NativeHls._createPlayer({
options: options.hls,
id: id
});
hlsPlayer.loadSource(value);
hlsPlayer.attachMedia(node);
}}else{
node[propName]=value;
}}
};};
for (var i=0, _total2=props.length; i < _total2; i++){
assignGettersSetters(props[i]);
}
_window2.default['__ready__' + id]=function (_hlsPlayer){
mediaElement.hlsPlayer=hlsPlayer=_hlsPlayer;
var hlsEvents=Hls.Events,
assignEvents=function assignEvents(eventName){
if(eventName==='loadedmetadata'){
var url=mediaElement.originalNode.src;
hlsPlayer.detachMedia();
hlsPlayer.loadSource(url);
hlsPlayer.attachMedia(node);
}
node.addEventListener(eventName, attachNativeEvents);
};
for (var _i=0, _total3=events.length; _i < _total3; _i++){
assignEvents(events[_i]);
}
var recoverDecodingErrorDate=void 0,
recoverSwapAudioCodecDate=void 0;
var assignHlsEvents=function assignHlsEvents(name, data){
if(name==='hlsError'){
console.warn(data);
data=data[1];
if(data.fatal){
switch (data.type){
case 'mediaError':
var now=new Date().getTime();
if(!recoverDecodingErrorDate||now - recoverDecodingErrorDate > 3000){
recoverDecodingErrorDate=new Date().getTime();
hlsPlayer.recoverMediaError();
}else if(!recoverSwapAudioCodecDate||now - recoverSwapAudioCodecDate > 3000){
recoverSwapAudioCodecDate=new Date().getTime();
console.warn('Attempting to swap Audio Codec and recover from media error');
hlsPlayer.swapAudioCodec();
hlsPlayer.recoverMediaError();
}else{
var message='Cannot recover, last media error recovery failed';
mediaElement.generateError(message, node.src);
console.error(message);
}
break;
case 'networkError':
if(data.details==='manifestLoadError'){
if(index < total&&mediaFiles[index + 1]!==undefined){
node.setSrc(mediaFiles[index++].src);
node.load();
node.play();
}else{
var _message='Network error';
mediaElement.generateError(_message, mediaFiles);
console.error(_message);
}}else{
var _message2='Network error';
mediaElement.generateError(_message2, mediaFiles);
console.error(_message2);
}
break;
default:
hlsPlayer.destroy();
break;
}
return;
}}
var event=(0, _general.createEvent)(name, mediaElement);
event.data=data;
mediaElement.dispatchEvent(event);
};
var _loop=function _loop(eventType){
if(hlsEvents.hasOwnProperty(eventType)){
hlsPlayer.on(hlsEvents[eventType], function (){
for (var _len=arguments.length, args=Array(_len), _key=0; _key < _len; _key++){
args[_key]=arguments[_key];
}
return assignHlsEvents(hlsEvents[eventType], args);
});
}};
for (var eventType in hlsEvents){
_loop(eventType);
}};
if(total > 0){
for (; index < total; index++){
if(_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)){
node.setAttribute('src', mediaFiles[index].src);
break;
}}
}
if(preload!=='auto'&&!autoplay){
node.addEventListener('play', function (){
if(hlsPlayer!==null){
hlsPlayer.startLoad();
}});
node.addEventListener('pause', function (){
if(hlsPlayer!==null){
hlsPlayer.stopLoad();
}});
}
node.setAttribute('id', id);
originalNode.parentNode.insertBefore(node, originalNode);
originalNode.autoplay=false;
originalNode.style.display='none';
node.setSize=function (width, height){
node.style.width=width + 'px';
node.style.height=height + 'px';
return node;
};
node.hide=function (){
node.pause();
node.style.display='none';
return node;
};
node.show=function (){
node.style.display='';
return node;
};
node.destroy=function (){
if(hlsPlayer!==null){
hlsPlayer.stopLoad();
hlsPlayer.destroy();
}};
var event=(0, _general.createEvent)('rendererready', node);
mediaElement.dispatchEvent(event);
mediaElement.promises.push(NativeHls.load({
options: options.hls,
id: id
}));
return node;
}};
_media.typeChecks.push(function (url){
return ~url.toLowerCase().indexOf('.m3u8') ? 'application/x-mpegURL':null;
});
_renderer.renderer.add(HlsNativeRenderer);
},{"25":25,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],23:[function(_dereq_,module,exports){
'use strict';
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _renderer=_dereq_(8);
var _general=_dereq_(27);
var _constants=_dereq_(25);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
var HtmlMediaElement={
name: 'html5',
options: {
prefix: 'html5'
},
canPlayType: function canPlayType(type){
var mediaElement=_document2.default.createElement('video');
if(_constants.IS_ANDROID&&/\/mp(3|4)$/i.test(type)||~['application/x-mpegurl', 'vnd.apple.mpegurl', 'audio/mpegurl', 'audio/hls', 'video/hls'].indexOf(type.toLowerCase())&&_constants.SUPPORTS_NATIVE_HLS){
return 'yes';
}else if(mediaElement.canPlayType){
return mediaElement.canPlayType(type.toLowerCase()).replace(/no/, '');
}else{
return '';
}},
create: function create(mediaElement, options, mediaFiles){
var id=mediaElement.id + '_' + options.prefix;
var isActive=false;
var node=null;
if(mediaElement.originalNode===undefined||mediaElement.originalNode===null){
node=_document2.default.createElement('audio');
mediaElement.appendChild(node);
}else{
node=mediaElement.originalNode;
}
node.setAttribute('id', id);
var props=_mejs2.default.html5media.properties,
assignGettersSetters=function assignGettersSetters(propName){
var capName='' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
node['get' + capName]=function (){
return node[propName];
};
node['set' + capName]=function (value){
if(_mejs2.default.html5media.readOnlyProperties.indexOf(propName)===-1){
node[propName]=value;
}};};
for (var i=0, _total=props.length; i < _total; i++){
assignGettersSetters(props[i]);
}
var events=_mejs2.default.html5media.events.concat(['click', 'mouseover', 'mouseout']).filter(function (e){
return e!=='error';
}),
assignEvents=function assignEvents(eventName){
node.addEventListener(eventName, function (e){
if(isActive){
var _event=(0, _general.createEvent)(e.type, e.target);
mediaElement.dispatchEvent(_event);
}});
};
for (var _i=0, _total2=events.length; _i < _total2; _i++){
assignEvents(events[_i]);
}
node.setSize=function (width, height){
node.style.width=width + 'px';
node.style.height=height + 'px';
return node;
};
node.hide=function (){
isActive=false;
node.style.display='none';
return node;
};
node.show=function (){
isActive=true;
node.style.display='';
return node;
};
var index=0,
total=mediaFiles.length;
if(total > 0){
for (; index < total; index++){
if(_renderer.renderer.renderers[options.prefix].canPlayType(mediaFiles[index].type)){
node.setAttribute('src', mediaFiles[index].src);
break;
}}
}
node.addEventListener('error', function (e){
if(e&&e.target&&e.target.error&&e.target.error.code===4&&isActive){
if(index < total&&mediaFiles[index + 1]!==undefined){
node.src=mediaFiles[index++].src;
node.load();
node.play();
}else{
mediaElement.generateError('Media error: Format(s) not supported or source(s) not found', mediaFiles);
}}
});
var event=(0, _general.createEvent)('rendererready', node);
mediaElement.dispatchEvent(event);
return node;
}};
_window2.default.HtmlMediaElement=_mejs2.default.HtmlMediaElement=HtmlMediaElement;
_renderer.renderer.add(HtmlMediaElement);
},{"2":2,"25":25,"27":27,"3":3,"7":7,"8":8}],24:[function(_dereq_,module,exports){
'use strict';
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _renderer=_dereq_(8);
var _general=_dereq_(27);
var _media=_dereq_(28);
var _dom=_dereq_(26);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
var YouTubeApi={
isIframeStarted: false,
isIframeLoaded: false,
iframeQueue: [],
enqueueIframe: function enqueueIframe(settings){
YouTubeApi.isLoaded=typeof YT!=='undefined'&&YT.loaded;
if(YouTubeApi.isLoaded){
YouTubeApi.createIframe(settings);
}else{
YouTubeApi.loadIframeApi();
YouTubeApi.iframeQueue.push(settings);
}},
loadIframeApi: function loadIframeApi(){
if(!YouTubeApi.isIframeStarted){
(0, _dom.loadScript)('https://www.youtube.com/player_api');
YouTubeApi.isIframeStarted=true;
}},
iFrameReady: function iFrameReady(){
YouTubeApi.isLoaded=true;
YouTubeApi.isIframeLoaded=true;
while (YouTubeApi.iframeQueue.length > 0){
var settings=YouTubeApi.iframeQueue.pop();
YouTubeApi.createIframe(settings);
}},
createIframe: function createIframe(settings){
return new YT.Player(settings.containerId, settings);
},
getYouTubeId: function getYouTubeId(url){
var youTubeId='';
if(url.indexOf('?') > 0){
youTubeId=YouTubeApi.getYouTubeIdFromParam(url);
if(youTubeId===''){
youTubeId=YouTubeApi.getYouTubeIdFromUrl(url);
}}else{
youTubeId=YouTubeApi.getYouTubeIdFromUrl(url);
}
var id=youTubeId.substring(youTubeId.lastIndexOf('/') + 1);
youTubeId=id.split('?');
return youTubeId[0];
},
getYouTubeIdFromParam: function getYouTubeIdFromParam(url){
if(url===undefined||url===null||!url.trim().length){
return null;
}
var parts=url.split('?'),
parameters=parts[1].split('&');
var youTubeId='';
for (var i=0, total=parameters.length; i < total; i++){
var paramParts=parameters[i].split('=');
if(paramParts[0]==='v'){
youTubeId=paramParts[1];
break;
}}
return youTubeId;
},
getYouTubeIdFromUrl: function getYouTubeIdFromUrl(url){
if(url===undefined||url===null||!url.trim().length){
return null;
}
var parts=url.split('?');
url=parts[0];
return url.substring(url.lastIndexOf('/') + 1);
},
getYouTubeNoCookieUrl: function getYouTubeNoCookieUrl(url){
if(url===undefined||url===null||!url.trim().length||url.indexOf('//www.youtube')===-1){
return url;
}
var parts=url.split('/');
parts[2]=parts[2].replace('.com', '-nocookie.com');
return parts.join('/');
}};
var YouTubeIframeRenderer={
name: 'youtube_iframe',
options: {
prefix: 'youtube_iframe',
youtube: {
autoplay: 0,
controls: 0,
disablekb: 1,
end: 0,
loop: 0,
modestbranding: 0,
playsinline: 0,
rel: 0,
showinfo: 0,
start: 0,
iv_load_policy: 3,
nocookie: false,
imageQuality: null
}},
canPlayType: function canPlayType(type){
return ~['video/youtube', 'video/x-youtube'].indexOf(type.toLowerCase());
},
create: function create(mediaElement, options, mediaFiles){
var youtube={},
apiStack=[],
readyState=4;
var youTubeApi=null,
paused=true,
ended=false,
youTubeIframe=null,
volume=1;
youtube.options=options;
youtube.id=mediaElement.id + '_' + options.prefix;
youtube.mediaElement=mediaElement;
var props=_mejs2.default.html5media.properties,
assignGettersSetters=function assignGettersSetters(propName){
var capName='' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
youtube['get' + capName]=function (){
if(youTubeApi!==null){
var value=null;
switch (propName){
case 'currentTime':
return youTubeApi.getCurrentTime();
case 'duration':
return youTubeApi.getDuration();
case 'volume':
volume=youTubeApi.getVolume() / 100;
return volume;
case 'playbackRate':
return youTubeApi.getPlaybackRate();
case 'paused':
return paused;
case 'ended':
return ended;
case 'muted':
return youTubeApi.isMuted();
case 'buffered':
var percentLoaded=youTubeApi.getVideoLoadedFraction(),
duration=youTubeApi.getDuration();
return {
start: function start(){
return 0;
},
end: function end(){
return percentLoaded * duration;
},
length: 1
};
case 'src':
return youTubeApi.getVideoUrl();
case 'readyState':
return readyState;
}
return value;
}else{
return null;
}};
youtube['set' + capName]=function (value){
if(youTubeApi!==null){
switch (propName){
case 'src':
var url=typeof value==='string' ? value:value[0].src,
_videoId=YouTubeApi.getYouTubeId(url);
if(mediaElement.originalNode.autoplay){
youTubeApi.loadVideoById(_videoId);
}else{
youTubeApi.cueVideoById(_videoId);
}
break;
case 'currentTime':
youTubeApi.seekTo(value);
break;
case 'muted':
if(value){
youTubeApi.mute();
}else{
youTubeApi.unMute();
}
setTimeout(function (){
var event=(0, _general.createEvent)('volumechange', youtube);
mediaElement.dispatchEvent(event);
}, 50);
break;
case 'volume':
volume=value;
youTubeApi.setVolume(value * 100);
setTimeout(function (){
var event=(0, _general.createEvent)('volumechange', youtube);
mediaElement.dispatchEvent(event);
}, 50);
break;
case 'playbackRate':
youTubeApi.setPlaybackRate(value);
setTimeout(function (){
var event=(0, _general.createEvent)('ratechange', youtube);
mediaElement.dispatchEvent(event);
}, 50);
break;
case 'readyState':
var event=(0, _general.createEvent)('canplay', youtube);
mediaElement.dispatchEvent(event);
break;
default:
break;
}}else{
apiStack.push({ type: 'set', propName: propName, value: value });
}};};
for (var i=0, total=props.length; i < total; i++){
assignGettersSetters(props[i]);
}
var methods=_mejs2.default.html5media.methods,
assignMethods=function assignMethods(methodName){
youtube[methodName]=function (){
if(youTubeApi!==null){
switch (methodName){
case 'play':
paused=false;
return youTubeApi.playVideo();
case 'pause':
paused=true;
return youTubeApi.pauseVideo();
case 'load':
return null;
}}else{
apiStack.push({ type: 'call', methodName: methodName });
}};};
for (var _i=0, _total=methods.length; _i < _total; _i++){
assignMethods(methods[_i]);
}
var errorHandler=function errorHandler(error){
var message='';
switch (error.data){
case 2:
message='The request contains an invalid parameter value. Verify that video ID has 11 characters and that contains no invalid characters, such as exclamation points or asterisks.';
break;
case 5:
message='The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.';
break;
case 100:
message='The video requested was not found. Either video has been removed or has been marked as private.';
break;
case 101:
case 105:
message='The owner of the requested video does not allow it to be played in embedded players.';
break;
default:
message='Unknown error.';
break;
}
mediaElement.generateError('Code ' + error.data + ': ' + message, mediaFiles);
};
var youtubeContainer=_document2.default.createElement('div');
youtubeContainer.id=youtube.id;
if(youtube.options.youtube.nocookie){
mediaElement.originalNode.src=YouTubeApi.getYouTubeNoCookieUrl(mediaFiles[0].src);
}
mediaElement.originalNode.parentNode.insertBefore(youtubeContainer, mediaElement.originalNode);
mediaElement.originalNode.style.display='none';
var isAudio=mediaElement.originalNode.tagName.toLowerCase()==='audio',
height=isAudio ? '1':mediaElement.originalNode.height,
width=isAudio ? '1':mediaElement.originalNode.width,
videoId=YouTubeApi.getYouTubeId(mediaFiles[0].src),
youtubeSettings={
id: youtube.id,
containerId: youtubeContainer.id,
videoId: videoId,
height: height,
width: width,
playerVars: Object.assign({
controls: 0,
rel: 0,
disablekb: 1,
showinfo: 0,
modestbranding: 0,
html5: 1,
iv_load_policy: 3
}, youtube.options.youtube),
origin: _window2.default.location.host,
events: {
onReady: function onReady(e){
mediaElement.youTubeApi=youTubeApi=e.target;
mediaElement.youTubeState={
paused: true,
ended: false
};
if(apiStack.length){
for (var _i2=0, _total2=apiStack.length; _i2 < _total2; _i2++){
var stackItem=apiStack[_i2];
if(stackItem.type==='set'){
var propName=stackItem.propName,
capName='' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
youtube['set' + capName](stackItem.value);
}else if(stackItem.type==='call'){
youtube[stackItem.methodName]();
}}
}
youTubeIframe=youTubeApi.getIframe();
if(mediaElement.originalNode.muted){
youTubeApi.mute();
}
var events=['mouseover', 'mouseout'],
assignEvents=function assignEvents(e){
var newEvent=(0, _general.createEvent)(e.type, youtube);
mediaElement.dispatchEvent(newEvent);
};
for (var _i3=0, _total3=events.length; _i3 < _total3; _i3++){
youTubeIframe.addEventListener(events[_i3], assignEvents, false);
}
var initEvents=['rendererready', 'loadedmetadata', 'loadeddata', 'canplay'];
for (var _i4=0, _total4=initEvents.length; _i4 < _total4; _i4++){
var event=(0, _general.createEvent)(initEvents[_i4], youtube);
mediaElement.dispatchEvent(event);
}},
onStateChange: function onStateChange(e){
var events=[];
switch (e.data){
case -1:
events=['loadedmetadata'];
paused=true;
ended=false;
break;
case 0:
events=['ended'];
paused=false;
ended = !youtube.options.youtube.loop;
if(!youtube.options.youtube.loop){
youtube.stopInterval();
}
break;
case 1:
events=['play', 'playing'];
paused=false;
ended=false;
youtube.startInterval();
break;
case 2:
events=['pause'];
paused=true;
ended=false;
youtube.stopInterval();
break;
case 3:
events=['progress'];
ended=false;
break;
case 5:
events=['loadeddata', 'loadedmetadata', 'canplay'];
paused=true;
ended=false;
break;
}
for (var _i5=0, _total5=events.length; _i5 < _total5; _i5++){
var event=(0, _general.createEvent)(events[_i5], youtube);
mediaElement.dispatchEvent(event);
}},
onError: function onError(e){
return errorHandler(e);
}}
};
if(isAudio||mediaElement.originalNode.hasAttribute('playsinline')){
youtubeSettings.playerVars.playsinline=1;
}
if(mediaElement.originalNode.controls){
youtubeSettings.playerVars.controls=1;
}
if(mediaElement.originalNode.autoplay){
youtubeSettings.playerVars.autoplay=1;
}
if(mediaElement.originalNode.loop){
youtubeSettings.playerVars.loop=1;
}
if((youtubeSettings.playerVars.loop&&parseInt(youtubeSettings.playerVars.loop, 10)===1||mediaElement.originalNode.src.indexOf('loop=') > -1)&&!youtubeSettings.playerVars.playlist&&mediaElement.originalNode.src.indexOf('playlist=')===-1){
youtubeSettings.playerVars.playlist=YouTubeApi.getYouTubeId(mediaElement.originalNode.src);
}
YouTubeApi.enqueueIframe(youtubeSettings);
youtube.onEvent=function (eventName, player, _youTubeState){
if(_youTubeState!==null&&_youTubeState!==undefined){
mediaElement.youTubeState=_youTubeState;
}};
youtube.setSize=function (width, height){
if(youTubeApi!==null){
youTubeApi.setSize(width, height);
}};
youtube.hide=function (){
youtube.stopInterval();
youtube.pause();
if(youTubeIframe){
youTubeIframe.style.display='none';
}};
youtube.show=function (){
if(youTubeIframe){
youTubeIframe.style.display='';
}};
youtube.destroy=function (){
youTubeApi.destroy();
};
youtube.interval=null;
youtube.startInterval=function (){
youtube.interval=setInterval(function (){
var event=(0, _general.createEvent)('timeupdate', youtube);
mediaElement.dispatchEvent(event);
}, 250);
};
youtube.stopInterval=function (){
if(youtube.interval){
clearInterval(youtube.interval);
}};
youtube.getPosterUrl=function (){
var quality=options.youtube.imageQuality,
resolutions=['default', 'hqdefault', 'mqdefault', 'sddefault', 'maxresdefault'],
id=YouTubeApi.getYouTubeId(mediaElement.originalNode.src);
return quality&&resolutions.indexOf(quality) > -1&&id ? 'https://img.youtube.com/vi/' + id + '/' + quality + '.jpg':'';
};
return youtube;
}};
_window2.default.onYouTubePlayerAPIReady=function (){
YouTubeApi.iFrameReady();
};
_media.typeChecks.push(function (url){
return (/\/\/(www\.youtube|youtu\.?be)/i.test(url) ? 'video/x-youtube':null
);
});
_renderer.renderer.add(YouTubeIframeRenderer);
},{"2":2,"26":26,"27":27,"28":28,"3":3,"7":7,"8":8}],25:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cancelFullScreen=exports.requestFullScreen=exports.isFullScreen=exports.FULLSCREEN_EVENT_NAME=exports.HAS_NATIVE_FULLSCREEN_ENABLED=exports.HAS_TRUE_NATIVE_FULLSCREEN=exports.HAS_IOS_FULLSCREEN=exports.HAS_MS_NATIVE_FULLSCREEN=exports.HAS_MOZ_NATIVE_FULLSCREEN=exports.HAS_WEBKIT_NATIVE_FULLSCREEN=exports.HAS_NATIVE_FULLSCREEN=exports.SUPPORTS_NATIVE_HLS=exports.SUPPORT_PASSIVE_EVENT=exports.SUPPORT_POINTER_EVENTS=exports.HAS_MSE=exports.IS_STOCK_ANDROID=exports.IS_SAFARI=exports.IS_FIREFOX=exports.IS_CHROME=exports.IS_EDGE=exports.IS_IE=exports.IS_ANDROID=exports.IS_IOS=exports.IS_IPOD=exports.IS_IPHONE=exports.IS_IPAD=exports.UA=exports.NAV=undefined;
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
var NAV=exports.NAV=_window2.default.navigator;
var UA=exports.UA=NAV.userAgent.toLowerCase();
var IS_IPAD=exports.IS_IPAD=/ipad/i.test(UA)&&!_window2.default.MSStream;
var IS_IPHONE=exports.IS_IPHONE=/iphone/i.test(UA)&&!_window2.default.MSStream;
var IS_IPOD=exports.IS_IPOD=/ipod/i.test(UA)&&!_window2.default.MSStream;
var IS_IOS=exports.IS_IOS=/ipad|iphone|ipod/i.test(UA)&&!_window2.default.MSStream;
var IS_ANDROID=exports.IS_ANDROID=/android/i.test(UA);
var IS_IE=exports.IS_IE=/(trident|microsoft)/i.test(NAV.appName);
var IS_EDGE=exports.IS_EDGE='msLaunchUri' in NAV&&!('documentMode' in _document2.default);
var IS_CHROME=exports.IS_CHROME=/chrome/i.test(UA);
var IS_FIREFOX=exports.IS_FIREFOX=/firefox/i.test(UA);
var IS_SAFARI=exports.IS_SAFARI=/safari/i.test(UA)&&!IS_CHROME;
var IS_STOCK_ANDROID=exports.IS_STOCK_ANDROID=/^mozilla\/\d+\.\d+\s\(linux;\su;/i.test(UA);
var HAS_MSE=exports.HAS_MSE='MediaSource' in _window2.default;
var SUPPORT_POINTER_EVENTS=exports.SUPPORT_POINTER_EVENTS=function (){
var element=_document2.default.createElement('x'),
documentElement=_document2.default.documentElement,
getComputedStyle=_window2.default.getComputedStyle;
if(!('pointerEvents' in element.style)){
return false;
}
element.style.pointerEvents='auto';
element.style.pointerEvents='x';
documentElement.appendChild(element);
var supports=getComputedStyle&&(getComputedStyle(element, '')||{}).pointerEvents==='auto';
element.remove();
return !!supports;
}();
var SUPPORT_PASSIVE_EVENT=exports.SUPPORT_PASSIVE_EVENT=function (){
var supportsPassive=false;
try {
var opts=Object.defineProperty({}, 'passive', {
get: function get(){
supportsPassive=true;
}});
_window2.default.addEventListener('test', null, opts);
} catch (e){}
return supportsPassive;
}();
var html5Elements=['source', 'track', 'audio', 'video'];
var video=void 0;
for (var i=0, total=html5Elements.length; i < total; i++){
video=_document2.default.createElement(html5Elements[i]);
}
var SUPPORTS_NATIVE_HLS=exports.SUPPORTS_NATIVE_HLS=IS_SAFARI||IS_IE&&/edge/i.test(UA);
var hasiOSFullScreen=video.webkitEnterFullscreen!==undefined;
var hasNativeFullscreen=video.requestFullscreen!==undefined;
if(hasiOSFullScreen&&/mac os x 10_5/i.test(UA)){
hasNativeFullscreen=false;
hasiOSFullScreen=false;
}
var hasWebkitNativeFullScreen=video.webkitRequestFullScreen!==undefined;
var hasMozNativeFullScreen=video.mozRequestFullScreen!==undefined;
var hasMsNativeFullScreen=video.msRequestFullscreen!==undefined;
var hasTrueNativeFullScreen=hasWebkitNativeFullScreen||hasMozNativeFullScreen||hasMsNativeFullScreen;
var nativeFullScreenEnabled=hasTrueNativeFullScreen;
var fullScreenEventName='';
var isFullScreen=void 0,
requestFullScreen=void 0,
cancelFullScreen=void 0;
if(hasMozNativeFullScreen){
nativeFullScreenEnabled=_document2.default.mozFullScreenEnabled;
}else if(hasMsNativeFullScreen){
nativeFullScreenEnabled=_document2.default.msFullscreenEnabled;
}
if(IS_CHROME){
hasiOSFullScreen=false;
}
if(hasTrueNativeFullScreen){
if(hasWebkitNativeFullScreen){
fullScreenEventName='webkitfullscreenchange';
}else if(hasMozNativeFullScreen){
fullScreenEventName='fullscreenchange';
}else if(hasMsNativeFullScreen){
fullScreenEventName='MSFullscreenChange';
}
exports.isFullScreen=isFullScreen=function isFullScreen(){
if(hasMozNativeFullScreen){
return _document2.default.mozFullScreen;
}else if(hasWebkitNativeFullScreen){
return _document2.default.webkitIsFullScreen;
}else if(hasMsNativeFullScreen){
return _document2.default.msFullscreenElement!==null;
}};
exports.requestFullScreen=requestFullScreen=function requestFullScreen(el){
if(hasWebkitNativeFullScreen){
el.webkitRequestFullScreen();
}else if(hasMozNativeFullScreen){
el.mozRequestFullScreen();
}else if(hasMsNativeFullScreen){
el.msRequestFullscreen();
}};
exports.cancelFullScreen=cancelFullScreen=function cancelFullScreen(){
if(hasWebkitNativeFullScreen){
_document2.default.webkitCancelFullScreen();
}else if(hasMozNativeFullScreen){
_document2.default.mozCancelFullScreen();
}else if(hasMsNativeFullScreen){
_document2.default.msExitFullscreen();
}};}
var HAS_NATIVE_FULLSCREEN=exports.HAS_NATIVE_FULLSCREEN=hasNativeFullscreen;
var HAS_WEBKIT_NATIVE_FULLSCREEN=exports.HAS_WEBKIT_NATIVE_FULLSCREEN=hasWebkitNativeFullScreen;
var HAS_MOZ_NATIVE_FULLSCREEN=exports.HAS_MOZ_NATIVE_FULLSCREEN=hasMozNativeFullScreen;
var HAS_MS_NATIVE_FULLSCREEN=exports.HAS_MS_NATIVE_FULLSCREEN=hasMsNativeFullScreen;
var HAS_IOS_FULLSCREEN=exports.HAS_IOS_FULLSCREEN=hasiOSFullScreen;
var HAS_TRUE_NATIVE_FULLSCREEN=exports.HAS_TRUE_NATIVE_FULLSCREEN=hasTrueNativeFullScreen;
var HAS_NATIVE_FULLSCREEN_ENABLED=exports.HAS_NATIVE_FULLSCREEN_ENABLED=nativeFullScreenEnabled;
var FULLSCREEN_EVENT_NAME=exports.FULLSCREEN_EVENT_NAME=fullScreenEventName;
exports.isFullScreen=isFullScreen;
exports.requestFullScreen=requestFullScreen;
exports.cancelFullScreen=cancelFullScreen;
_mejs2.default.Features=_mejs2.default.Features||{};
_mejs2.default.Features.isiPad=IS_IPAD;
_mejs2.default.Features.isiPod=IS_IPOD;
_mejs2.default.Features.isiPhone=IS_IPHONE;
_mejs2.default.Features.isiOS=_mejs2.default.Features.isiPhone||_mejs2.default.Features.isiPad;
_mejs2.default.Features.isAndroid=IS_ANDROID;
_mejs2.default.Features.isIE=IS_IE;
_mejs2.default.Features.isEdge=IS_EDGE;
_mejs2.default.Features.isChrome=IS_CHROME;
_mejs2.default.Features.isFirefox=IS_FIREFOX;
_mejs2.default.Features.isSafari=IS_SAFARI;
_mejs2.default.Features.isStockAndroid=IS_STOCK_ANDROID;
_mejs2.default.Features.hasMSE=HAS_MSE;
_mejs2.default.Features.supportsNativeHLS=SUPPORTS_NATIVE_HLS;
_mejs2.default.Features.supportsPointerEvents=SUPPORT_POINTER_EVENTS;
_mejs2.default.Features.supportsPassiveEvent=SUPPORT_PASSIVE_EVENT;
_mejs2.default.Features.hasiOSFullScreen=HAS_IOS_FULLSCREEN;
_mejs2.default.Features.hasNativeFullscreen=HAS_NATIVE_FULLSCREEN;
_mejs2.default.Features.hasWebkitNativeFullScreen=HAS_WEBKIT_NATIVE_FULLSCREEN;
_mejs2.default.Features.hasMozNativeFullScreen=HAS_MOZ_NATIVE_FULLSCREEN;
_mejs2.default.Features.hasMsNativeFullScreen=HAS_MS_NATIVE_FULLSCREEN;
_mejs2.default.Features.hasTrueNativeFullScreen=HAS_TRUE_NATIVE_FULLSCREEN;
_mejs2.default.Features.nativeFullScreenEnabled=HAS_NATIVE_FULLSCREEN_ENABLED;
_mejs2.default.Features.fullScreenEventName=FULLSCREEN_EVENT_NAME;
_mejs2.default.Features.isFullScreen=isFullScreen;
_mejs2.default.Features.requestFullScreen=requestFullScreen;
_mejs2.default.Features.cancelFullScreen=cancelFullScreen;
},{"2":2,"3":3,"7":7}],26:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.removeClass=exports.addClass=exports.hasClass=undefined;
exports.loadScript=loadScript;
exports.offset=offset;
exports.toggleClass=toggleClass;
exports.fadeOut=fadeOut;
exports.fadeIn=fadeIn;
exports.siblings=siblings;
exports.visible=visible;
exports.ajax=ajax;
var _window=_dereq_(3);
var _window2=_interopRequireDefault(_window);
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
function loadScript(url){
return new Promise(function (resolve, reject){
var script=_document2.default.createElement('script');
script.src=url;
script.async=true;
script.onload=function (){
script.remove();
resolve();
};
script.onerror=function (){
script.remove();
reject();
};
_document2.default.head.appendChild(script);
});
}
function offset(el){
var rect=el.getBoundingClientRect(),
scrollLeft=_window2.default.pageXOffset||_document2.default.documentElement.scrollLeft,
scrollTop=_window2.default.pageYOffset||_document2.default.documentElement.scrollTop;
return { top: rect.top + scrollTop, left: rect.left + scrollLeft };}
var hasClassMethod=void 0,
addClassMethod=void 0,
removeClassMethod=void 0;
if('classList' in _document2.default.documentElement){
hasClassMethod=function hasClassMethod(el, className){
return el.classList!==undefined&&el.classList.contains(className);
};
addClassMethod=function addClassMethod(el, className){
return el.classList.add(className);
};
removeClassMethod=function removeClassMethod(el, className){
return el.classList.remove(className);
};}else{
hasClassMethod=function hasClassMethod(el, className){
return new RegExp('\\b' + className + '\\b').test(el.className);
};
addClassMethod=function addClassMethod(el, className){
if(!hasClass(el, className)){
el.className +=' ' + className;
}};
removeClassMethod=function removeClassMethod(el, className){
el.className=el.className.replace(new RegExp('\\b' + className + '\\b', 'g'), '');
};}
var hasClass=exports.hasClass=hasClassMethod;
var addClass=exports.addClass=addClassMethod;
var removeClass=exports.removeClass=removeClassMethod;
function toggleClass(el, className){
hasClass(el, className) ? removeClass(el, className):addClass(el, className);
}
function fadeOut(el){
var duration=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:400;
var callback=arguments[2];
if(!el.style.opacity){
el.style.opacity=1;
}
var start=null;
_window2.default.requestAnimationFrame(function animate(timestamp){
start=start||timestamp;
var progress=timestamp - start;
var opacity=parseFloat(1 - progress / duration, 2);
el.style.opacity=opacity < 0 ? 0:opacity;
if(progress > duration){
if(callback&&typeof callback==='function'){
callback();
}}else{
_window2.default.requestAnimationFrame(animate);
}});
}
function fadeIn(el){
var duration=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:400;
var callback=arguments[2];
if(!el.style.opacity){
el.style.opacity=0;
}
var start=null;
_window2.default.requestAnimationFrame(function animate(timestamp){
start=start||timestamp;
var progress=timestamp - start;
var opacity=parseFloat(progress / duration, 2);
el.style.opacity=opacity > 1 ? 1:opacity;
if(progress > duration){
if(callback&&typeof callback==='function'){
callback();
}}else{
_window2.default.requestAnimationFrame(animate);
}});
}
function siblings(el, filter){
var siblings=[];
el=el.parentNode.firstChild;
do {
if(!filter||filter(el)){
siblings.push(el);
}} while (el=el.nextSibling);
return siblings;
}
function visible(elem){
if(elem.getClientRects!==undefined&&elem.getClientRects==='function'){
return !!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length);
}
return !!(elem.offsetWidth||elem.offsetHeight);
}
function ajax(url, dataType, success, error){
var xhr=_window2.default.XMLHttpRequest ? new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP');
var type='application/x-www-form-urlencoded; charset=UTF-8',
completed=false,
accept='*/'.concat('*');
switch (dataType){
case 'text':
type='text/plain';
break;
case 'json':
type='application/json, text/javascript';
break;
case 'html':
type='text/html';
break;
case 'xml':
type='application/xml, text/xml';
break;
}
if(type!=='application/x-www-form-urlencoded'){
accept=type + ', */*; q=0.01';
}
if(xhr){
xhr.open('GET', url, true);
xhr.setRequestHeader('Accept', accept);
xhr.onreadystatechange=function (){
if(completed){
return;
}
if(xhr.readyState===4){
if(xhr.status===200){
completed=true;
var data=void 0;
switch (dataType){
case 'json':
data=JSON.parse(xhr.responseText);
break;
case 'xml':
data=xhr.responseXML;
break;
default:
data=xhr.responseText;
break;
}
success(data);
}else if(typeof error==='function'){
error(xhr.status);
}}
};
xhr.send();
}}
_mejs2.default.Utils=_mejs2.default.Utils||{};
_mejs2.default.Utils.offset=offset;
_mejs2.default.Utils.hasClass=hasClass;
_mejs2.default.Utils.addClass=addClass;
_mejs2.default.Utils.removeClass=removeClass;
_mejs2.default.Utils.toggleClass=toggleClass;
_mejs2.default.Utils.fadeIn=fadeIn;
_mejs2.default.Utils.fadeOut=fadeOut;
_mejs2.default.Utils.siblings=siblings;
_mejs2.default.Utils.visible=visible;
_mejs2.default.Utils.ajax=ajax;
_mejs2.default.Utils.loadScript=loadScript;
},{"2":2,"3":3,"7":7}],27:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.escapeHTML=escapeHTML;
exports.debounce=debounce;
exports.isObjectEmpty=isObjectEmpty;
exports.splitEvents=splitEvents;
exports.createEvent=createEvent;
exports.isNodeAfter=isNodeAfter;
exports.isString=isString;
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
function escapeHTML(input){
if(typeof input!=='string'){
throw new Error('Argument passed must be a string');
}
var map={
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;'
};
return input.replace(/[&<>"]/g, function (c){
return map[c];
});
}
function debounce(func, wait){
var _this=this,
_arguments=arguments;
var immediate=arguments.length > 2&&arguments[2]!==undefined ? arguments[2]:false;
if(typeof func!=='function'){
throw new Error('First argument must be a function');
}
if(typeof wait!=='number'){
throw new Error('Second argument must be a numeric value');
}
var timeout=void 0;
return function (){
var context=_this,
args=_arguments;
var later=function later(){
timeout=null;
if(!immediate){
func.apply(context, args);
}};
var callNow=immediate&&!timeout;
clearTimeout(timeout);
timeout=setTimeout(later, wait);
if(callNow){
func.apply(context, args);
}};}
function isObjectEmpty(instance){
return Object.getOwnPropertyNames(instance).length <=0;
}
function splitEvents(events, id){
var rwindow=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;
var ret={ d: [], w: [] };
(events||'').split(' ').forEach(function (v){
var eventName='' + v + (id ? '.' + id:'');
if(eventName.startsWith('.')){
ret.d.push(eventName);
ret.w.push(eventName);
}else{
ret[rwindow.test(v) ? 'w':'d'].push(eventName);
}});
ret.d=ret.d.join(' ');
ret.w=ret.w.join(' ');
return ret;
}
function createEvent(eventName, target){
if(typeof eventName!=='string'){
throw new Error('Event name must be a string');
}
var eventFrags=eventName.match(/([a-z]+\.([a-z]+))/i),
detail={
target: target
};
if(eventFrags!==null){
eventName=eventFrags[1];
detail.namespace=eventFrags[2];
}
return new window.CustomEvent(eventName, {
detail: detail
});
}
function isNodeAfter(sourceNode, targetNode){
return !!(sourceNode&&targetNode&&sourceNode.compareDocumentPosition(targetNode) & 2);
}
function isString(value){
return typeof value==='string';
}
_mejs2.default.Utils=_mejs2.default.Utils||{};
_mejs2.default.Utils.escapeHTML=escapeHTML;
_mejs2.default.Utils.debounce=debounce;
_mejs2.default.Utils.isObjectEmpty=isObjectEmpty;
_mejs2.default.Utils.splitEvents=splitEvents;
_mejs2.default.Utils.createEvent=createEvent;
_mejs2.default.Utils.isNodeAfter=isNodeAfter;
_mejs2.default.Utils.isString=isString;
},{"7":7}],28:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.typeChecks=undefined;
exports.absolutizeUrl=absolutizeUrl;
exports.formatType=formatType;
exports.getMimeFromType=getMimeFromType;
exports.getTypeFromFile=getTypeFromFile;
exports.getExtension=getExtension;
exports.normalizeExtension=normalizeExtension;
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
var _general=_dereq_(27);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
var typeChecks=exports.typeChecks=[];
function absolutizeUrl(url){
if(typeof url!=='string'){
throw new Error('`url` argument must be a string');
}
var el=document.createElement('div');
el.innerHTML='<a href="' + (0, _general.escapeHTML)(url) + '">x</a>';
return el.firstChild.href;
}
function formatType(url){
var type=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:'';
return url&&!type ? getTypeFromFile(url):type;
}
function getMimeFromType(type){
if(typeof type!=='string'){
throw new Error('`type` argument must be a string');
}
return type&&type.indexOf(';') > -1 ? type.substr(0, type.indexOf(';')):type;
}
function getTypeFromFile(url){
if(typeof url!=='string'){
throw new Error('`url` argument must be a string');
}
for (var i=0, total=typeChecks.length; i < total; i++){
var type=typeChecks[i](url);
if(type){
return type;
}}
var ext=getExtension(url),
normalizedExt=normalizeExtension(ext);
var mime='video/mp4';
if(normalizedExt){
if(~['mp4', 'm4v', 'ogg', 'ogv', 'webm', 'flv', 'mpeg', 'mov'].indexOf(normalizedExt)){
mime='video/' + normalizedExt;
}else if(~['mp3', 'oga', 'wav', 'mid', 'midi'].indexOf(normalizedExt)){
mime='audio/' + normalizedExt;
}}
return mime;
}
function getExtension(url){
if(typeof url!=='string'){
throw new Error('`url` argument must be a string');
}
var baseUrl=url.split('?')[0],
baseName=baseUrl.split('\\').pop().split('/').pop();
return ~baseName.indexOf('.') ? baseName.substring(baseName.lastIndexOf('.') + 1):'';
}
function normalizeExtension(extension){
if(typeof extension!=='string'){
throw new Error('`extension` argument must be a string');
}
switch (extension){
case 'mp4':
case 'm4v':
return 'mp4';
case 'webm':
case 'webma':
case 'webmv':
return 'webm';
case 'ogg':
case 'oga':
case 'ogv':
return 'ogg';
default:
return extension;
}}
_mejs2.default.Utils=_mejs2.default.Utils||{};
_mejs2.default.Utils.typeChecks=typeChecks;
_mejs2.default.Utils.absolutizeUrl=absolutizeUrl;
_mejs2.default.Utils.formatType=formatType;
_mejs2.default.Utils.getMimeFromType=getMimeFromType;
_mejs2.default.Utils.getTypeFromFile=getTypeFromFile;
_mejs2.default.Utils.getExtension=getExtension;
_mejs2.default.Utils.normalizeExtension=normalizeExtension;
},{"27":27,"7":7}],29:[function(_dereq_,module,exports){
'use strict';
var _document=_dereq_(2);
var _document2=_interopRequireDefault(_document);
var _promisePolyfill=_dereq_(4);
var _promisePolyfill2=_interopRequireDefault(_promisePolyfill);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
(function (arr){
arr.forEach(function (item){
if(item.hasOwnProperty('remove')){
return;
}
Object.defineProperty(item, 'remove', {
configurable: true,
enumerable: true,
writable: true,
value: function remove(){
this.parentNode.removeChild(this);
}});
});
})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
(function (){
if(typeof window.CustomEvent==='function'){
return false;
}
function CustomEvent(event, params){
params=params||{ bubbles: false, cancelable: false, detail: undefined };
var evt=_document2.default.createEvent('CustomEvent');
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
return evt;
}
CustomEvent.prototype=window.Event.prototype;
window.CustomEvent=CustomEvent;
})();
if(typeof Object.assign!=='function'){
Object.assign=function (target){
if(target===null||target===undefined){
throw new TypeError('Cannot convert undefined or null to object');
}
var to=Object(target);
for (var index=1, total=arguments.length; index < total; index++){
var nextSource=arguments[index];
if(nextSource!==null){
for (var nextKey in nextSource){
if(Object.prototype.hasOwnProperty.call(nextSource, nextKey)){
to[nextKey]=nextSource[nextKey];
}}
}}
return to;
};}
if(!String.prototype.startsWith){
String.prototype.startsWith=function (searchString, position){
position=position||0;
return this.substr(position, searchString.length)===searchString;
};}
if(!Element.prototype.matches){
Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function (s){
var matches=(this.document||this.ownerDocument).querySelectorAll(s),
i=matches.length - 1;
while (--i >=0&&matches.item(i)!==this){}
return i > -1;
};}
if(window.Element&&!Element.prototype.closest){
Element.prototype.closest=function (s){
var matches=(this.document||this.ownerDocument).querySelectorAll(s),
i=void 0,
el=this;
do {
i=matches.length;
while (--i >=0&&matches.item(i)!==el){}} while (i < 0&&(el=el.parentElement));
return el;
};}
(function (){
var lastTime=0;
var vendors=['ms', 'moz', 'webkit', 'o'];
for (var x=0; x < vendors.length&&!window.requestAnimationFrame; ++x){
window.requestAnimationFrame=window[vendors[x] + 'RequestAnimationFrame'];
window.cancelAnimationFrame=window[vendors[x] + 'CancelAnimationFrame']||window[vendors[x] + 'CancelRequestAnimationFrame'];
}
if(!window.requestAnimationFrame) window.requestAnimationFrame=function (callback){
var currTime=new Date().getTime();
var timeToCall=Math.max(0, 16 - (currTime - lastTime));
var id=window.setTimeout(function (){
callback(currTime + timeToCall);
}, timeToCall);
lastTime=currTime + timeToCall;
return id;
};
if(!window.cancelAnimationFrame) window.cancelAnimationFrame=function (id){
clearTimeout(id);
};})();
if(/firefox/i.test(navigator.userAgent)){
var getComputedStyle=window.getComputedStyle;
window.getComputedStyle=function (el, pseudoEl){
var t=getComputedStyle(el, pseudoEl);
return t===null ? { getPropertyValue: function getPropertyValue(){}}:t;
};}
if(!window.Promise){
window.Promise=_promisePolyfill2.default;
}
(function (constructor){
if(constructor&&constructor.prototype&&constructor.prototype.children===null){
Object.defineProperty(constructor.prototype, 'children', {
get: function get(){
var i=0,
node=void 0,
nodes=this.childNodes,
children=[];
while (node=nodes[i++]){
if(node.nodeType===1){
children.push(node);
}}
return children;
}});
}})(window.Node||window.Element);
},{"2":2,"4":4}],30:[function(_dereq_,module,exports){
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isDropFrame=isDropFrame;
exports.secondsToTimeCode=secondsToTimeCode;
exports.timeCodeToSeconds=timeCodeToSeconds;
exports.calculateTimeFormat=calculateTimeFormat;
exports.convertSMPTEtoSeconds=convertSMPTEtoSeconds;
var _mejs=_dereq_(7);
var _mejs2=_interopRequireDefault(_mejs);
function _interopRequireDefault(obj){ return obj&&obj.__esModule ? obj:{ default: obj };}
function isDropFrame(){
var fps=arguments.length > 0&&arguments[0]!==undefined ? arguments[0]:25;
return !(fps % 1===0);
}
function secondsToTimeCode(time){
var forceHours=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:false;
var showFrameCount=arguments.length > 2&&arguments[2]!==undefined ? arguments[2]:false;
var fps=arguments.length > 3&&arguments[3]!==undefined ? arguments[3]:25;
var secondsDecimalLength=arguments.length > 4&&arguments[4]!==undefined ? arguments[4]:0;
var timeFormat=arguments.length > 5&&arguments[5]!==undefined ? arguments[5]:'hh:mm:ss';
time = !time||typeof time!=='number'||time < 0 ? 0:time;
var dropFrames=Math.round(fps * 0.066666),
timeBase=Math.round(fps),
framesPer24Hours=Math.round(fps * 3600) * 24,
framesPer10Minutes=Math.round(fps * 600),
frameSep=isDropFrame(fps) ? ';':':',
hours=void 0,
minutes=void 0,
seconds=void 0,
frames=void 0,
f=Math.round(time * fps);
if(isDropFrame(fps)){
if(f < 0){
f=framesPer24Hours + f;
}
f=f % framesPer24Hours;
var d=Math.floor(f / framesPer10Minutes);
var m=f % framesPer10Minutes;
f=f + dropFrames * 9 * d;
if(m > dropFrames){
f=f + dropFrames * Math.floor((m - dropFrames) / Math.round(timeBase * 60 - dropFrames));
}
var timeBaseDivision=Math.floor(f / timeBase);
hours=Math.floor(Math.floor(timeBaseDivision / 60) / 60);
minutes=Math.floor(timeBaseDivision / 60) % 60;
if(showFrameCount){
seconds=timeBaseDivision % 60;
}else{
seconds=Math.floor(f / timeBase % 60).toFixed(secondsDecimalLength);
}}else{
hours=Math.floor(time / 3600) % 24;
minutes=Math.floor(time / 60) % 60;
if(showFrameCount){
seconds=Math.floor(time % 60);
}else{
seconds=Math.floor(time % 60).toFixed(secondsDecimalLength);
}}
hours=hours <=0 ? 0:hours;
minutes=minutes <=0 ? 0:minutes;
seconds=seconds <=0 ? 0:seconds;
seconds=seconds===60 ? 0:seconds;
minutes=minutes===60 ? 0:minutes;
var timeFormatFrags=timeFormat.split(':');
var timeFormatSettings={};
for (var i=0, total=timeFormatFrags.length; i < total; ++i){
var unique='';
for (var j=0, t=timeFormatFrags[i].length; j < t; j++){
if(unique.indexOf(timeFormatFrags[i][j]) < 0){
unique +=timeFormatFrags[i][j];
}}
if(~['f', 's', 'm', 'h'].indexOf(unique)){
timeFormatSettings[unique]=timeFormatFrags[i].length;
}}
var result=forceHours||hours > 0 ? (hours < 10&&timeFormatSettings.h > 1 ? '0' + hours:hours) + ':':'';
result +=(minutes < 10&&timeFormatSettings.m > 1 ? '0' + minutes:minutes) + ':';
result +='' + (seconds < 10&&timeFormatSettings.s > 1 ? '0' + seconds:seconds);
if(showFrameCount){
frames=(f % timeBase).toFixed(0);
frames=frames <=0 ? 0:frames;
result +=frames < 10&&timeFormatSettings.f ? frameSep + '0' + frames:'' + frameSep + frames;
}
return result;
}
function timeCodeToSeconds(time){
var fps=arguments.length > 1&&arguments[1]!==undefined ? arguments[1]:25;
if(typeof time!=='string'){
throw new TypeError('Time must be a string');
}
if(time.indexOf(';') > 0){
time=time.replace(';', ':');
}
if(!/\d{2}(\:\d{2}){0,3}/i.test(time)){
throw new TypeError('Time code must have the format `00:00:00`');
}
var parts=time.split(':');
var output=void 0,
hours=0,
minutes=0,
seconds=0,
frames=0,
totalMinutes=0,
dropFrames=Math.round(fps * 0.066666),
timeBase=Math.round(fps),
hFrames=timeBase * 3600,
mFrames=timeBase * 60;
switch (parts.length){
default:
case 1:
seconds=parseInt(parts[0], 10);
break;
case 2:
minutes=parseInt(parts[0], 10);
seconds=parseInt(parts[1], 10);
break;
case 3:
hours=parseInt(parts[0], 10);
minutes=parseInt(parts[1], 10);
seconds=parseInt(parts[2], 10);
break;
case 4:
hours=parseInt(parts[0], 10);
minutes=parseInt(parts[1], 10);
seconds=parseInt(parts[2], 10);
frames=parseInt(parts[3], 10);
break;
}
if(isDropFrame(fps)){
totalMinutes=60 * hours + minutes;
output=hFrames * hours + mFrames * minutes + timeBase * seconds + frames - dropFrames * (totalMinutes - Math.floor(totalMinutes / 10));
}else{
output=(hFrames * hours + mFrames * minutes + fps * seconds + frames) / fps;
}
return parseFloat(output.toFixed(3));
}
function calculateTimeFormat(time, options){
var fps=arguments.length > 2&&arguments[2]!==undefined ? arguments[2]:25;
time = !time||typeof time!=='number'||time < 0 ? 0:time;
var hours=Math.floor(time / 3600) % 24,
minutes=Math.floor(time / 60) % 60,
seconds=Math.floor(time % 60),
frames=Math.floor((time % 1 * fps).toFixed(3)),
lis=[[frames, 'f'], [seconds, 's'], [minutes, 'm'], [hours, 'h']];
var format=options.timeFormat,
firstTwoPlaces=format[1]===format[0],
separatorIndex=firstTwoPlaces ? 2:1,
separator=format.length < separatorIndex ? format[separatorIndex]:':',
firstChar=format[0],
required=false;
for (var i=0, len=lis.length; i < len; i++){
if(~format.indexOf(lis[i][1])){
required=true;
}else if(required){
var hasNextValue=false;
for (var j=i; j < len; j++){
if(lis[j][0] > 0){
hasNextValue=true;
break;
}}
if(!hasNextValue){
break;
}
if(!firstTwoPlaces){
format=firstChar + format;
}
format=lis[i][1] + separator + format;
if(firstTwoPlaces){
format=lis[i][1] + format;
}
firstChar=lis[i][1];
}}
options.timeFormat=format;
}
function convertSMPTEtoSeconds(SMPTE){
if(typeof SMPTE!=='string'){
throw new TypeError('Argument must be a string value');
}
SMPTE=SMPTE.replace(',', '.');
var decimalLen=~SMPTE.indexOf('.') ? SMPTE.split('.')[1].length:0;
var secs=0,
multiplier=1;
SMPTE=SMPTE.split(':').reverse();
for (var i=0, total=SMPTE.length; i < total; i++){
multiplier=1;
if(i > 0){
multiplier=Math.pow(60, i);
}
secs +=Number(SMPTE[i]) * multiplier;
}
return Number(secs.toFixed(decimalLen));
}
_mejs2.default.Utils=_mejs2.default.Utils||{};
_mejs2.default.Utils.secondsToTimeCode=secondsToTimeCode;
_mejs2.default.Utils.timeCodeToSeconds=timeCodeToSeconds;
_mejs2.default.Utils.calculateTimeFormat=calculateTimeFormat;
_mejs2.default.Utils.convertSMPTEtoSeconds=convertSMPTEtoSeconds;
},{"7":7}]},{},[29,6,5,15,23,20,19,21,22,24,16,18,17,9,10,11,12,13,14]);
(function($){
"use strict";
var jws_slider=function($scope, $){
$scope.find('.jws_slider_element').eq(0).each(function(){
$(this).find('.jws_slider').not('.slick-initialized').slick({
prevArrow: '<span class="jws-carousel-btn prev-item"><i class="jws-icon-arrow_left_long_light"></i></span>',
nextArrow: '<span class="jws-carousel-btn next-item "><i class="jws-icon-arrow_right_long_light"></i></span>',
swipeToSlide: true,
fade: true,
cssEase: 'linear',
appendDots: $('.slider-dots-box'),
dotsClass: 'slider-dots',
}).on('beforeChange', function(event, slick, currentSlide, nextSlide){
$('.slider-dots-box button').html('');
}).trigger('beforeChange').on('afterChange', function(event, slick, currentSlide){
$('.slider-dots-box button').html('');
$('.slider-dots-box .slick-active button')
.html(`<svg class="progress-svg" width="13" height="13">
<g transform="translate(6.5,6.5)">
<circle class="circle-go" r="6" cx="0" cy="0"></circle>
</g>
</svg>`);
}).trigger('afterChange');
});
};
var jws_product_group=function($scope, $){
$scope.find('.jws_product_group_element').eq(0).each(function(){
var $this=$(this);
$(this).find('.jws_product_slider').not('.slick-initialized').slick({
swipeToSlide: true,
dots:false,
arrows: false,
}).on('beforeChange', function(event, slick, currentSlide, nextSlide){
$this.find("[data-index]").removeClass('active');
$this.find("[data-index="+nextSlide+"]").addClass('active');
});
$this.find("[data-index]").on('click', function(e){
e.preventDefault();
var number=$(this).data('index');
$this.find("[data-index]").removeClass('active');
$this.find("[data-index="+number+"]").addClass('active');
$this.find('.jws_product_slider').slick('slickGoTo', parseInt(number));
});
});
};
var jws_carousel=function($scope, $){
$scope.find('.jws-carousel').eq(0).each(function(){
var asNavFor='',asNavFor2='';
if($(this).find('.slider-layout').hasClass('layout3')){
asNavFor='<span class="jws-carousel-btn prev-item"><i class="jws-icon-caret-left-thin"></i><i class="visibility prev jws-icon-caret-left-thin"></i></span>';
asNavFor2='<span class="jws-carousel-btn next-item "><i class="jws-icon-caret-right-thin"></i><i class="visibility next jws-icon-caret-right-thin"></i></span>';
}else{
asNavFor='<span class="jws-carousel-btn middle prev-item"></span>';
asNavFor2='<span class="jws-carousel-btn middle next-item "></span>';
}
$(this).find('.carousel').not('.slick-initialized').slick({
prevArrow:asNavFor,
nextArrow: asNavFor2,
swipeToSlide: true,
appendDots: $('.slider-dots-box'),
dotsClass: 'slider-dots',
}).on('beforeChange', function(event, slick, currentSlide, nextSlide){
$('.slider-dots-box button').html('');
}).trigger('beforeChange').on('afterChange', function(event, slick, currentSlide){
$('.slider-dots-box button').html('');
$('.slider-dots-box .slick-active button')
.html(`<svg class="progress-svg" width="13" height="13">
<g transform="translate(6.5,6.5)">
<circle class="circle-go" r="6" cx="0" cy="0"></circle>
</g>
</svg>`);
}).trigger('afterChange');
});
};
var jws_text_slider=function($scope, $){
$scope.find('.texts_slider').eq(0).each(function(){
$(this).not('.slick-initialized').slick({
infinite: true,
centerMode: true,
slidesToShow: 1,
slidesToScroll: 1,
variableWidth: true,
cssEase:"linear",
autoplay:true,
autoplaySpeed: 0,
infinite: true,
speed:10000,
arrows:false,
dots:false,
pauseOnHover:false,
pauseOnFocus: false,
})
});
};
var product_tabs_filter=function($scope, $){
$scope.find('.jws-wrap').eq(0).each(function(){
var wrap=$(this);
if(wrap.hasClass('metro')){
wrap.find('.products-tab').isotope({
itemSelector: ".product-item",
layoutMode: 'masonry',
transitionDuration: "0.3s",
masonry: {
columnWidth: '.grid-sizer',
}});
}
wrap.find('.jws-ajax-load a.ajax-load').on('click', function(e){
e.preventDefault();
var $this=$(this) , intervalID;
var key=$this.data('value');
if($this.hasClass('active')){
return;
}
clearInterval(intervalID);
wrap.addClass('jws-animated-products');
$this.parents('.jws-ajax-load').find('a').removeClass('active');
$this.addClass('active');
if($this.hasClass('opened')){
wrap.find('.products-tab').html(wrap.find('.products-tab').data(key));
if(wrap.hasClass('jws-carousel')){
jws_carousel($scope, $);
}
var iter=0;
intervalID=setInterval(function(){
wrap.find('.product-item').eq(iter).addClass('jws-animated');
iter++;
}, 100);
return;
}
$this.addClass('opened');
wrap.addClass('loading');
var data=wrap.data('args');
data.action='jws_ajax_product_filter';
if($this.data('type')=='product_cat'){
data.filter_categories=$this.data('value');
}
if($this.data('type')=='asset_type'){
data.asset_type=$this.data('value');
}
$.ajax({
url: wrap.data('url'),
data: data,
type: 'POST',
dataType: 'json',
}).success(function(response){
wrap.removeClass('loading');
let content=response.items;
wrap.find('.products-tab').html(content);
wrap.find('.products-tab').data(key, content);
if(wrap.hasClass('jws-carousel')){
jws_carousel($scope, $);
}
var iter=0;
intervalID=setInterval(function(){
wrap.find('.product-item').eq(iter).addClass('jws-animated');
iter++;
}, 100);
}).error(function(ex){
console.log(ex);
});
});
wrap.find('.jws-products-load-more').off('click').on('click', function(e){
e.preventDefault();
var $this=$(this),
data=wrap.data('args'),
paged=wrap.data('paged');
paged++;
loadProducts2(data, paged, wrap, $this)
});
var loadProducts2=function(data, paged, wrap, btn){
data.action='jws_ajax_product_filter';
data.paged=paged;
btn.addClass('loading');
wrap.find('.product-item').addClass('jws-animated');
wrap.addClass('jws-animated-products');
btn.append('<div class="loader"><svg class="circular" viewBox="25 25 50 50"><circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/></svg></div>');
$.ajax({
url: wrap.data('url'),
data: data,
method: 'POST',
dataType: 'json',
success: function(response){
if(response.items){
wrap.find('.products-tab').append(response.items);
wrap.data('paged', paged);
}
if(response.status=='no-more-posts'){
btn.hide();
}},
error: function(data){
console.log('ajax error');
console.log(data);
},
complete: function(){
btn.removeClass('loading');
$('.loader').remove();
},
});
};});
};
var demo_filter=function($scope, $){
$scope.find('.jws_demo_element').eq(0).each(function(){
$scope.find('.jws_demo_element .jws_demo_item').each(function(){
var btn=$(this).find('.jws_image_content_inner');
$(this).find('.jws_image a').on('scroll', function(){
if($(this).scrollTop() > 100){
btn.fadeOut("slow");
}else{
btn.fadeIn("slow");
}});
$(this).find('.jws_column_content').on("mouseleave", function(){
$(this).find('.jws_image a').animate({
scrollTop: 0
}, 800);
return false;
});
});
});
};
var video_popup=function($scope, $){
$scope.find('.jws_video_popup').eq(0).each(function(){
$(this).find('.jws_video_popup_inner').lightGallery();
});
};
var testimonials_slider=function($scope, $){
$scope.find('.jws_testimonials_slider_wrap').eq(0).each(function(){
var asNavFor='',asNavFor2='';
if($(this).hasClass('layout1')){
asNavFor='.testimonials_slider_thumbnail'
asNavFor2='.testimonials_slider';
}
$(this).find('.testimonials_slider').not('.slick-initialized').slick({
prevArrow: $(this).find('.prev-item'),
nextArrow: $(this).find('.next-item'),
swipeToSlide: true,
appendDots: $('.custom_dots'),
dotsClass: 'slick-dots',
}).on('beforeChange', function(event, slick, currentSlide, nextSlide){
$('.custom_dots button').html('');
}).trigger('beforeChange').on('afterChange', function(event, slick, currentSlide){
$('.custom_dots button').html('');
$('.custom_dots .slick-active button')
.html(`<svg class="progress-svg" width="13" height="13">
<g transform="translate(6.5,6.5)">
<circle class="circle-go" r="6" cx="0" cy="0"></circle>
</g>
</svg>`);
}).trigger('afterChange');
if($(this).find('.testimonials_slider').hasClass('slider_layout_layout1')){
$(this).find('.testimonials_slider_thumbnail').not('.slick-initialized').slick({
swipeToSlide: true,
asNavFor:asNavFor2,
focusOnSelect: true
});
}});
};
var blog_filter=function($scope, $){
$scope.find('.jws-blog-element').eq(0).each(function(){
var $this=$(this);
var $container=$this.find('.blog_content'),
$filter=$this.find(".post_nav");
if(!$container.hasClass('jws_blog_slider')){
$(window).on("load resize", function(){
if($container.hasClass('has-masonry')){
$container.isotope({
itemSelector: ".jws_blog_item",
layoutMode: 'masonry',
transitionDuration: "0.3s",
});
}else{
$container.isotope({
itemSelector: ".jws_blog_item",
layoutMode: 'fitRows',
transitionDuration: "0.3s",
});
}})
}
function postslider(){
$container.not('.slick-initialized').slick({
prevArrow: $this.find('.nav_left'),
nextArrow: $this.find('.nav_right'),
swipeToSlide: true,
appendDots: $('.blog_dots'),
dotsClass: 'blog-slick-dots',
}).on('beforeChange', function(event, slick, currentSlide, nextSlide){
$('.blog_dots button').html('');
}).trigger('beforeChange').on('afterChange', function(event, slick, currentSlide){
$('.blog_dots button').html('');
$('.blog_dots .slick-active button')
.html(`<svg class="progress-svg" width="13" height="13">
<g transform="translate(6.5,6.5)">
<circle class="circle-go" r="6" cx="0" cy="0"></circle>
</g>
</svg>`);
}).trigger('afterChange');
}
function filtersInit(){
$filter.find("a").on("click touchstart", function(e){
var $t=$(this),
selector=$t.data("filter");
if($t.hasClass("filter-active"))
return false;
$filter.find("a").removeClass("filter-active");
$t.addClass("filter-active");
filterAnimateStart(selector);
e.stopPropagation();
e.preventDefault();
});
}
function filterAnimateStart(filterValue){
anime.remove('.jws_blog_item');
anime({
targets: '.jws_blog_item',
translateX: -30,
opacity: 0,
easing: 'easeInOutQuint',
duration: 500,
delay: function delay(el, i, l){
return i * 60;
},
begin: function begin(anime){
$(anime.animatables).each(function(i, el){
var $element=$(el.target);
$element.css({
transition: 'none'
});
});
},
complete: function complete(anim){
if(filterValue!=='*'){
$container.slick('slickUnfilter');
$container.find('.jws_blog_item').each(function(){
$(this).removeClass('slide-shown');
});
$(filterValue).addClass('slide-shown');
$container.slick('slickFilter', '.slide-shown');
}else{
$container.find('.jws_blog_item').each(function(){
$(this).removeClass('slide-shown');
});
$container.slick('slickUnfilter');
}
filterItems(filterValue);
}});
}
function filterItems(filterValue){
var slider=$container;
var btn=filterValue;
var slide=slider.find('.jws_blog_item');
if(filterValue=='*'){
slide.removeClass('hidden');
slide.addClass('flickity');
}else{
var active=$(filterValue).removeClass('hidden');
slide.addClass('flickity');
slide.not(active).removeClass('flickity');
slide.not(active).addClass('hidden');
}
filterAnimateComplete();
}
function filterAnimateComplete(){
anime.remove('.jws_blog_item');
anime({
targets: '.jws_blog_item',
translateX: 0,
opacity: 1,
easing: 'easeOutQuint',
delay: function delay(el, i, l){
return i * 60;
},
complete: function complete(anime){
$(anime.animatables).each(function(i, el){
var element=$(el.target);
element.css({
transition: '',
transform: '',
opacity: ''
});
});
}});
}
if($container.hasClass('jws_blog_slider')){
filtersInit();
postslider();
}});
};
var team_slider=function($scope, $){
$scope.find('.jws_team_element').eq(0).each(function(){
$(this).find('.jws_team_slider').not('.slick-initialized').slick({
prevArrow: $(this).find('.nav_left'),
nextArrow: $(this).find('.nav_right'),
swipeToSlide: true,
});
});
};
var services_slider=function($scope, $){
$scope.find('.jws-services-element').eq(0).each(function(){
$(this).find('.jws-services-slider').not('.slick-initialized').slick({
swipeToSlide: true,
});
});
};
var jws_gallery=function($scope, $){
$scope.find('.jws_gallery_element').eq(0).each(function(){
var $this=$(this),
$container=$this.find('.jws_gallery'),
$filter=$this.find(".gallery_tabs");
$('.jws_gallery').lightGallery({
thumbnail: true,
selector: '.jws_gallery_item .jws-popup-global'
});
var pageDots=false;
if($container.hasClass('has-dots')){
pageDots=true;
}
if($container.hasClass('slider')){
$container.not('.slick-initialized').slick({
prevArrow: $this.find('.nav_left'),
nextArrow: $this.find('.nav_right'),
swipeToSlide: true,
});
}
if(!$container.hasClass('slider')){
$(window).on("load", function(){
if($container.hasClass('metro')){
$container.isotope({
itemSelector: ".jws_gallery_item",
layoutMode: 'masonry',
transitionDuration: "0.3s",
masonry: {
columnWidth: '.grid-sizer',
}});
}else{
if($container.hasClass('iso_container')){
$container.isotope({
itemSelector: ".jws_gallery_item",
layoutMode: 'masonry',
transitionDuration: "0.5s",
});
}}
});
}
$filter.find("a").on("click touchstart", function(e){
var $t=$(this),
selector=$t.data("filter");
if($t.hasClass("filter-active")) return false;
$filter.find("a").removeClass("filter-active");
$t.addClass("filter-active");
$container.isotope({filter: selector});
e.stopPropagation();
e.preventDefault();
});
function filterAnimateStart(filterValue){
var anime_=anime;
anime_.remove('.jws_gallery_item');
anime_({
targets: '.jws_gallery_item',
translateX: -30,
opacity: 0,
easing: 'easeInOutQuint',
duration: 500,
delay: function delay(el, i){
return i * 60;
},
begin: function begin(anime_){
$(".jws_gallery").data("lightGallery").destroy(true);
$(anime_.animatables).each(function(i, el){
var $element=$(el.target);
$element.css({
transition: 'none'
});
});
},
complete: function complete(){
if(filterValue!=='*'){
$container.slick('slickUnfilter');
$container.find('.jws_gallery_item').each(function(){
$(this).removeClass('slide-shown');
});
$(filterValue).addClass('slide-shown');
$container.slick('slickFilter', '.slide-shown');
}else{
$container.find('.jws_gallery_item').each(function(){
$(this).removeClass('slide-shown');
});
$container.slick('slickUnfilter');
}
filterItems(filterValue);
}});
}
function filterItems(filterValue){
var slider=$container;
var slide=slider.find('.jws_gallery_item');
if(filterValue=='*'){
slide.removeClass('hidden');
slide.addClass('flickity');
$('.jws_gallery').lightGallery({
thumbnail: true,
selector: '.jws_gallery_item .jws-popup-global'
});
}else{
var active=$(filterValue).removeClass('hidden');
slide.addClass('flickity');
slide.not(active).removeClass('flickity');
slide.not(active).addClass('hidden');
$('.jws_gallery').lightGallery({
thumbnail: true,
selector: filterValue.replace('*', '') + ' .jws-popup-global'
});
}
filterAnimateComplete();
}
function filterAnimateComplete(){
var anime_=anime;
anime_.remove('.jws_gallery_item');
anime_({
targets: '.jws_gallery_item',
translateX: 0,
opacity: 1,
easing: 'easeOutQuint',
delay: function delay(el, i){
return i * 60;
},
complete: function complete(anime_){
$(anime_.animatables).each(function(i, el){
var element=$(el.target);
element.css({
transition: '',
transform: '',
opacity: ''
});
});
}});
}});
};
var jws_banner=function($scope, $){
$scope.find('.jws-banner-element').eq(0).each(function(){
var $this=$(this),
$container=$this.find('.jws-banner');
if($container.hasClass('slider')){
$container.not('.slick-initialized').slick({
prevArrow: $this.find('.prev-item'),
nextArrow: $this.find('.next-item'),
swipeToSlide: true,
});
}});
};
var jws_tabs=function($scope, $){
$scope.find('.jws_tab_wrap').eq(0).each(function(){
var $this=$(this);
if($this.find('.tab_nav').length){
$this.find('.tab_nav').append("<li id='magic_line'></li>");
var $magicLine=$this.find('#magic_line');
$magicLine.width($this.find('.current').width()).height($this.find('.current').height()).css('left', $this.find('.current a').position().left).data('origLeft', $magicLine.position().left).data('origWidth', $magicLine.width()).data('origHeight', $magicLine.height());
if($this.find(".tab_nav_container").hasClass('layout_layout2')){
$magicLine.css('top', $this.find('.current a').position().top + $this.find('.current').height() - $magicLine.height()).data('origBottom', $magicLine.position().top);
}else{
$magicLine.css('top', $this.find('.current a').position().top).data('origTop', $magicLine.position().top);
}
$(window).on('resize', function(){
$magicLine.width($this.find('.current').width()).height($this.find('.current').height()).css('left', $this.find('.current a').position().left).data('origLeft', $magicLine.position().left).data('origWidth', $magicLine.width()).data('origHeight', $magicLine.height());
if($this.find(".tab_nav_container").hasClass('layout_layout2')){
$magicLine.css('top', $this.find('.current a').position().top + $this.find('.current').height() - $magicLine.height()).data('origBottom', $magicLine.position().top + $this.find('.current').height() - $magicLine.height());
}else{
$magicLine.css('top', $this.find('.current a').position().top).data('origTop', $magicLine.position().top);
}});
$this.find('.tab_nav li a').on("click", function(){
$(document).trigger('resize');
$magicLine.data('origLeft', $(this).position().left).data('origWidth', $(this).parent().width()).data('origHeight', $(this).parent().height());
if($this.find(".tab_nav_container").hasClass('layout_layout2')){
$magicLine.data('origBottom', $(this).position().top + $this.find('.current').height() - $magicLine.height());
}else{
$magicLine.data('origTop', $(this).position().top);
}
return false;
});
$this.find('.tab_nav li').find('a').on('click', function(){
if($this.find(".tab_nav_container").hasClass('layout_layout2')){
$magicLine.css({
"left": $magicLine.data('origLeft'),
"top": $magicLine.data('origBottom'),
"width": $magicLine.data('origWidth'),
"height": $magicLine.data('origHeight'),
});
}else{
$magicLine.css({
"left": $magicLine.data('origLeft'),
"top": $magicLine.data('origTop'),
"width": $magicLine.data('origWidth'),
"height": $magicLine.data('origHeight'),
});
}});
}
$this.find('.tab_nav li a').on('click', function(e){
e.preventDefault();
var tab_id=$(this).attr('data-tab');
$this.find('.tab_nav li a').parent().removeClass('current');
$this.find('.jws_tab_item').removeClass('current');
$(this).parent().addClass('current');
$this.find("#" + tab_id).addClass('current');
});
});
};
var jws_process_tabs=function($scope, $){
$scope.find('.jws_progress.layout_tab').eq(0).each(function(){
$('.process_nav .progress_item a').on('click', function(e){
e.preventDefault();
var tab_id=$(this).attr('data-tab');
$('.process_nav .progress_item a').parent().removeClass('current');
$('.process_content .progress_item').removeClass('current');
$(this).parent().addClass('current');
$("#" + tab_id).addClass('current');
});
});
};
var jws_process_hover=function($scope, $){
$scope.find('.jws_progress').eq(0).each(function(){
var $this=$(this);
if($this.hasClass('layout_list_hover')||$this.hasClass('layout_grid_animation')){
$this.find('.progress_item').on('hover', function(){
$('.progress_item').removeClass('active');
$(this).addClass('active');
});
}});
};
var jws_process_slider=function($scope, $){
$scope.find('.jws_progress.layout_slider').eq(0).each(function(){
var $this=$(this),
beforeslideNumber,
beforetotalSlides,
nav=$this.find('.slider-nav');
$this.find('.process_slider').not('.slick-initialized').slick({
slide: '.progress_item',
arrows: true,
dots: true,
prevArrow: '<span class="slick-prev lnr lnr-chevron-left"></span>',
nextArrow: '<span class="slick-next lnr lnr-chevron-right"></span>',
appendArrows: nav,
appendDots: nav,
dotsClass: 'custom_paging',
swipeToSlide: true,
customPaging: function(slider, i){
var slideNumber=(i + 1),
totalSlides=slider.slideCount;
if(slideNumber < 10){
beforeslideNumber='0' + slideNumber;
}else{
beforeslideNumber=slideNumber;
}
if(totalSlides < 10){
beforetotalSlides='0' + totalSlides;
}else{
beforetotalSlides=totalSlides;
}
return '<a class="custom-dot" role="button"><span class="string">' + beforeslideNumber + '</span>/<span class="total">' + beforetotalSlides + '</span></a>';
}});
});
};
var blogLoadMore=function($scope, $){
$scope.find('.jws-blog-element').eq(0).each(function(){
loadmore_btn($(this));
});
};
var loadmore_btn=function($scope){
var $element=$scope.find('[data-ajaxify=true]');
var options=$element.data('ajaxify-options');
if($element.length < 1) return false;
var wap=options.wrapper;
$(document.body).on('click', '.jws-load-more' , function(e){
e.preventDefault();
var $this=$(this);
$(this).append('<div class="loader"><svg class="circular" viewBox="25 25 50 50"><circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/></svg></div>');
$(this).addClass('loading');
var url=$this.attr('href');
if('?'==url.slice(-1)){
url=url.slice(0, -1);
}
url=url.replace(/%2C/g, ',');
$.get(url, function(res){
var $newItemsWrapper=$(res).find(options.wrapper);
var $newItems=$newItemsWrapper.find(options.items);
$newItems.imagesLoaded(function(){
$(wap).append($newItems);
if(!$(wap).hasClass('jws_blog_slider')){
$(wap).isotope('appended', $newItems);
}
$this.find('.loader').remove();
});
$this.parents('.jws_pagination').html($(res).find(wap).next('.jws_pagination').html());
console.log($(res).find('.jws_pagination').html());
}, 'html');
});
};
var search=function($scope, $){
if('undefined'==typeof $scope) return;
$scope.find('.jws_search').eq(0).each(function(){
var s=$(this);
var openClass='open',
button=s.find('> button');
s.find(button).on('click', function(e){
e.preventDefault();
if(!$('.form_content_popup').hasClass(openClass)){
$('.form_content_popup').addClass(openClass);
setTimeout(function(){
$('.form_content_popup input.s').focus();
}, 100);
return false;
}else{
$('.form_content_popup').removeClass(openClass);
}});
$('.close-form ').on('click', function(e){
$('.form_content_popup').removeClass(openClass);
});
s.find('.form_content_popup').appendTo(document.body);
$(".form_content_popup").each(function(){
if($('.form_content_popup').length > 1){
$(this).remove();
}});
});
};
var timeline=function ($scope, $){
if('undefined'==typeof $scope)
return;
$scope.find('.jws_timeline').eq(0).each(function (){
var $this=$(this),
field=$this.find('.jws_timeline_field'),
line=$this.find('.jws_timeline_line'),
circle=$this.find('.jws_timeline_circle');
field.each(function (){
$(this).show(function (){
$(this).addClass('animation_show');
});
});
});
}
var login_form=function($scope, $){
$scope.find('#jws-popup-login').eq(0).each(function(){
$('.toggle-password').on('click', function(){
$(this).toggleClass('icon-eye-blocked');
var password=$(this).parent().find('.pwd');
var password_repeat=$(this).parent().find('#repeat_pwd');
if(password.attr('type')=='password'){
password.attr('type', 'text');
}else{
password.attr('type', 'password');
}
if(password_repeat.attr('type')=='password'){
password_repeat.attr('type', 'text');
}else{
password_repeat.attr('type', 'password');
}});
$('#jws-popup-login').eq(0).each(function(){
$(this).find('form[name=loginpopopform]').ready(function(){
if(!($(this).find('.login-username input.required').val())&&!($(this).find('.login-password input.required').val())){
$(this).find('.button').prop("disabled", true).css({
'cursor': 'not-allowed'
});
}});
$(this).find('form[name=loginpopopform]').on('change', function(){
if(($(this).find('.login-username input.required').val())||($(this).find('.login-password input.required').val())){
$(this).find('.button').prop("disabled", false).css({
'cursor': 'auto'
});
}});
$(this).find('form[name=loginpopopform]').on('submit', function(event){
event.preventDefault();
if(!($(this).find('.login-username input.required').val())&&!($(this).find('.login-password input.required').val())){
$(this).find('.button').prop("disabled", true).css({
'cursor': 'not-allowed'
});
}
var valid=true,
email_valid=/[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}/igm;
$(this).find('.error').remove();
$(this).find('input.required').each(function(){
if(!$(this).val()){
if($(this).attr('name')=='log'){
$(this).after('<span class="error">Please enter your username</span>');
}
if($(this).attr('name')=='pwd'){
$(this).after('<span class="error">Please enter your Password</span>');
}
if($(this).is(':checkbox')&&!$(this).is(':checked')){
$(this).addClass('invalid');
valid=false;
}
if('email'===$(this).attr('type')){
if(!email_valid.test($(this).val())){
$(this).addClass('invalid');
valid=false;
}}
}});
$(this).find('input.required').on('focus', function(){
$(this).removeClass('invalid');
});
if(!valid){
return valid;
}
var form=$(this),
$elem=$('#jws-popup-login .jws-login-container'),
wp_submit=$elem.find('input[type=submit]').val();
$elem.addClass('loading');
$elem.find('.message').slideDown().remove();
var data={
action: 'jws_login_ajax',
data: form.serialize() + '&wp-submit=' + wp_submit,
};
$.post(MS_Ajax.ajaxurl, data, function(response){
try {
response=JSON.parse(response);
$elem.find('.jws-login').append(response.message);
if(response.code=='1'){
if(response.redirect){
if(window.location.href==response.redirect){
location.reload();
}else{
window.location.href=response.redirect;
}}else{
location.reload();
}}else{
var $captchaIframe=$('#jws-popup-login .gglcptch iframe');
if($captchaIframe.length > 0){
$captchaIframe.attr('src', $captchaIframe.attr('src'));
}}
} catch (e){
return false;
}
$elem.removeClass('loading');
});
return false;
});
$(this).find('form[name=registerformpopup]').ready(function(){
if(!($(this).find('.user_login input.required').val())&&!($(this).find('.user_email input.required').val())&&!($(this).find('.login-password input.required').val())&&!($(this).find('.login-password-repeater input.required').val())){
$(this).find('.button').prop("disabled", true).css({
'cursor': 'not-allowed'
});
}});
$(this).find('form[name=registerformpopup]').on('change', function(){
if(($(this).find('.user_login input.required').val())||($(this).find('.user_email input.required').val())||($(this).find('.login-password input.required').val())||($(this).find('.login-password-repeater input.required').val())){
$(this).find('.button').prop("disabled", false).css({
'cursor': 'auto'
});
}});
$(this).find('form[name=registerformpopup]').on('submit', function(e){
e.preventDefault();
var registerform=$(this);
if(!($(this).find('.user_login input.required').val())&&!($(this).find('.user_email input.required').val())&&!($(this).find('.login-password input.required').val())&&!($(this).find('.login-password-repeater input.required').val())){
$(this).find('.button').prop("disabled", true).css({
'cursor': 'not-allowed'
});
}
var valid=true,
email_valid=/[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}/igm;
registerform.find('.error').remove();
registerform.find('input.required').each(function(){
if(!$(this).val()){
$(this).addClass('invalid');
if($(this).attr('name')=='user_login'){
$(this).after('<span class="error">Please enter your username</span>');
}
if($(this).attr('name')=='user_email'){
$(this).after('<span class="error">Please enter your Email</span>');
}
if($(this).attr('name')=='password'){
$(this).after('<span class="error">Please enter your Password</span>');
}
if($(this).attr('name')=='repeat_password'){
$(this).after('<span class="error">Please enter your Repeater Password</span>');
}
valid=false;
}
if($(this).is(':checkbox')&&!$(this).is(':checked')){
$(this).addClass('invalid');
valid=false;
}
if($(this).attr('name')=='user_email'&&$(this).val()&&!email_valid.test($(this).val())){
$(this).addClass('invalid');
$(this).after('<span class="error">Your Email is invalid</span>');
valid=false;
}});
if(!valid){
return valid;
}
var $form=$(this),
data={
action: 'jws_register_ajax',
data: $form.serialize() + '&wp-submit=' +
$form.find('input[type=submit]').val(),
register_security: $form.find('#register_security').
val(),
},
$elem=$('#jws-popup-login .jws-login-container');
$elem.addClass('loading');
$elem.find('.message').slideDown().remove();
$.ajax({
type: 'POST',
url: MS_Ajax.ajaxurl,
data: data,
success: function(response){
$elem.removeClass('loading');
$elem.find('.popup-message').html(response.data.message);
if(response.success===true){
$elem.find('.jws-register').html(response.data.message);
}},
});
});
$(this).find('.jws-register input[name="password"]').on('keyup', function(){
checkpassword($(this).val());
});
function checkpassword(password){
var strength=0,
meter=$('.meter'),
meter_text=$('.text-meter'),
password_hint=$('.jws-password-hint'),
btn_submit=$('input[name="wp-submit"]');
if(password.match(/[a-z]+/)){
strength +=1;
}
if(password.match(/[A-Z]+/)&&password.length >=8){
strength +=1;
}
if(password.match(/[0-9]+/)&&password.length >=12){
strength +=1;
}
if(password.match(/[$@#&!]+/)&&password.length >=14){
strength +=1;
}
if(password.length > 0){
meter.show();
password_hint.show();
btn_submit.attr("disabled", "disabled");
}else{
meter.hide();
password_hint.hide();
}
console.log(Verify_Ajax.metera);
switch (strength){
case 0:
meter_text.html("");
meter.attr("meter", "0");
break;
case 1:
meter_text.html(Verify_Ajax.metera);
meter.attr("meter", "1");
break;
case 2:
meter_text.html(Verify_Ajax.meterb);
meter.attr("meter", "2");
btn_submit.removeAttr("disabled");
break;
case 3:
meter_text.html(Verify_Ajax.meterc);
meter.attr("meter", "3");
btn_submit.removeAttr("disabled");
password_hint.hide();
break;
case 4:
meter_text.html(Verify_Ajax.meterd);
meter.attr("meter", "4");
btn_submit.removeAttr("disabled");
password_hint.hide();
break;
}}
$('#jws-popup-login .link-bottom a.login').on('click', function(e){
e.preventDefault();
$('.jws-login').addClass('active');
$('.jws-register').removeClass('active');
});
$('#jws-popup-login .link-bottom a.register').on('click', function(e){
e.preventDefault();
$('.jws-register').addClass('active');
$('.jws-login').removeClass('active');
});
});
});
};
var WidgetjwsGoogleMapHandler=function($scope){
if('undefined'==typeof $scope) return;
var selector=$scope.find('.jws-google-map').eq(0),
locations=selector.data('locations'),
map_style=(selector.data('custom-style')!='') ? selector.data('custom-style'):'',
predefined_style=(selector.data('predefined-style')!='') ? selector.data('predefined-style'):'',
info_window_size=(selector.data('max-width')!='') ? selector.data('max-width'):'',
animate=selector.data('animate'),
auto_center=selector.data('auto-center'),
maker_offset=selector.data('offset'),
map_options=selector.data('map_options'),
i='',
bounds=new google.maps.LatLngBounds(),
marker_cluster=[],
className='map_pin_jws';
var animation;
if('drop'==animate){
animation=google.maps.Animation.DROP;
}else if('bounce'==animate){
animation=google.maps.Animation.BOUNCE;
}
function _typeof(obj){
var _typeof;
if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){
_typeof=function _typeof(obj){
return typeof obj;
};}else{
_typeof=function _typeof(obj){
return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype ? "symbol":typeof obj;
};}
return _typeof(obj);
}
function CustomMarker(latlng, map, className){
this.latlng_=latlng;
this.className=className;
this.setMap(map);
}
if((typeof google==="undefined" ? "undefined":_typeof(google))!==_typeof(undefined)&&_typeof(google.maps)!==_typeof(undefined)){
CustomMarker.prototype=new google.maps.OverlayView();
CustomMarker.prototype.draw=function(){
var me=this;
var div=this.div_,
divChild,
divChild2;
if(!div){
div=this.div_=document.createElement('DIV');
div.className=this.className;
divChild=document.createElement("div");
div.appendChild(divChild);
divChild2=document.createElement("div");
div.appendChild(divChild2);
google.maps.event.addDomListener(div, "click", function(){
google.maps.event.trigger(me, "click");
});
var panes=this.getPanes();
panes.overlayImage.appendChild(div);
}
var point=this.getProjection().fromLatLngToDivPixel(this.latlng_);
if(point){
div.style.left=point.x + 'px';
div.style.top=point.y + 'px';
}};
CustomMarker.prototype.remove=function(){
if(this.div_){
this.div_.parentNode.removeChild(this.div_);
this.div_=null;
}};
CustomMarker.prototype.getPosition=function(){
return this.latlng_;
};}
var skins={
"silver": "[{\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#f5f5f5\"}]},{\"elementType\":\"labels.icon\",\"stylers\":[{\"visibility\":\"off\"}]},{\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#616161\"}]},{\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#f5f5f5\"}]},{\"featureType\":\"administrative.land_parcel\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#bdbdbd\"}]},{\"featureType\":\"poi\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#eeeeee\"}]},{\"featureType\":\"poi\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#757575\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#e5e5e5\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#9e9e9e\"}]},{\"featureType\":\"road\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#ffffff\"}]},{\"featureType\":\"road.arterial\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#757575\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#dadada\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#616161\"}]},{\"featureType\":\"road.local\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#9e9e9e\"}]},{\"featureType\":\"transit.line\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#e5e5e5\"}]},{\"featureType\":\"transit.station\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#eeeeee\"}]},{\"featureType\":\"water\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#c9c9c9\"}]},{\"featureType\":\"water\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#9e9e9e\"}]}]",
"retro": "[{\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#ebe3cd\"}]},{\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#523735\"}]},{\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#f5f1e6\"}]},{\"featureType\":\"administrative\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#c9b2a6\"}]},{\"featureType\":\"administrative.land_parcel\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#dcd2be\"}]},{\"featureType\":\"administrative.land_parcel\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#ae9e90\"}]},{\"featureType\":\"landscape.natural\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#dfd2ae\"}]},{\"featureType\":\"poi\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#dfd2ae\"}]},{\"featureType\":\"poi\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#93817c\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"color\":\"#a5b076\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#447530\"}]},{\"featureType\":\"road\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#f5f1e6\"}]},{\"featureType\":\"road.arterial\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#fdfcf8\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#f8c967\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#e9bc62\"}]},{\"featureType\":\"road.highway.controlled_access\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#e98d58\"}]},{\"featureType\":\"road.highway.controlled_access\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#db8555\"}]},{\"featureType\":\"road.local\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#806b63\"}]},{\"featureType\":\"transit.line\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#dfd2ae\"}]},{\"featureType\":\"transit.line\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#8f7d77\"}]},{\"featureType\":\"transit.line\",\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#ebe3cd\"}]},{\"featureType\":\"transit.station\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#dfd2ae\"}]},{\"featureType\":\"water\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"color\":\"#b9d3c2\"}]},{\"featureType\":\"water\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#92998d\"}]}]",
"dark": "[{\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#212121\"}]},{\"elementType\":\"labels.icon\",\"stylers\":[{\"visibility\":\"off\"}]},{\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#757575\"}]},{\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#212121\"}]},{\"featureType\":\"administrative\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#757575\"}]},{\"featureType\":\"administrative.country\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#9e9e9e\"}]},{\"featureType\":\"administrative.land_parcel\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"administrative.locality\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#bdbdbd\"}]},{\"featureType\":\"poi\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#757575\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#181818\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#616161\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#1b1b1b\"}]},{\"featureType\":\"road\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"color\":\"#2c2c2c\"}]},{\"featureType\":\"road\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#8a8a8a\"}]},{\"featureType\":\"road.arterial\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#373737\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#3c3c3c\"}]},{\"featureType\":\"road.highway.controlled_access\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#4e4e4e\"}]},{\"featureType\":\"road.local\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#616161\"}]},{\"featureType\":\"transit\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#757575\"}]},{\"featureType\":\"water\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#000000\"}]},{\"featureType\":\"water\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#3d3d3d\"}]}]",
"night": "[{\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#242f3e\"}]},{\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#746855\"}]},{\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#242f3e\"}]},{\"featureType\":\"administrative.locality\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#d59563\"}]},{\"featureType\":\"poi\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#d59563\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#263c3f\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#6b9a76\"}]},{\"featureType\":\"road\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#38414e\"}]},{\"featureType\":\"road\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#212a37\"}]},{\"featureType\":\"road\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#9ca5b3\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#746855\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#1f2835\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#f3d19c\"}]},{\"featureType\":\"transit\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#2f3948\"}]},{\"featureType\":\"transit.station\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#d59563\"}]},{\"featureType\":\"water\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#17263c\"}]},{\"featureType\":\"water\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#515c6d\"}]},{\"featureType\":\"water\",\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#17263c\"}]}]",
"aubergine": "[{\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#1d2c4d\"}]},{\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#8ec3b9\"}]},{\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#1a3646\"}]},{\"featureType\":\"administrative.country\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#4b6878\"}]},{\"featureType\":\"administrative.land_parcel\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#64779e\"}]},{\"featureType\":\"administrative.province\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#4b6878\"}]},{\"featureType\":\"landscape.man_made\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#334e87\"}]},{\"featureType\":\"landscape.natural\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#023e58\"}]},{\"featureType\":\"poi\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#283d6a\"}]},{\"featureType\":\"poi\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#6f9ba5\"}]},{\"featureType\":\"poi\",\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#1d2c4d\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"color\":\"#023e58\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#3C7680\"}]},{\"featureType\":\"road\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#304a7d\"}]},{\"featureType\":\"road\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#98a5be\"}]},{\"featureType\":\"road\",\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#1d2c4d\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#2c6675\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#255763\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#b0d5ce\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#023e58\"}]},{\"featureType\":\"transit\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#98a5be\"}]},{\"featureType\":\"transit\",\"elementType\":\"labels.text.stroke\",\"stylers\":[{\"color\":\"#1d2c4d\"}]},{\"featureType\":\"transit.line\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"color\":\"#283d6a\"}]},{\"featureType\":\"transit.station\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#3a4762\"}]},{\"featureType\":\"water\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#0e1626\"}]},{\"featureType\":\"water\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#4e6d70\"}]}]",
"magnesium": "[{\"featureType\":\"all\",\"stylers\":[{\"saturation\":0},{\"hue\":\"#e7ecf0\"}]},{\"featureType\":\"road\",\"stylers\":[{\"saturation\":-70}]},{\"featureType\":\"transit\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"poi\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"water\",\"stylers\":[{\"visibility\":\"simplified\"},{\"saturation\":-60}]}]",
"classic_blue": "[{\"featureType\":\"all\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"on\"}]},{\"featureType\":\"administrative.country\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"on\"}]},{\"featureType\":\"administrative.country\",\"elementType\":\"labels.text\",\"stylers\":[{\"visibility\":\"on\"}]},{\"featureType\":\"administrative.province\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"on\"}]},{\"featureType\":\"administrative.province\",\"elementType\":\"labels.text\",\"stylers\":[{\"visibility\":\"on\"}]},{\"featureType\":\"administrative.locality\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"on\"}]},{\"featureType\":\"administrative.neighborhood\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"administrative.land_parcel\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"landscape\",\"elementType\":\"all\",\"stylers\":[{\"hue\":\"#FFBB00\"},{\"saturation\":43.400000000000006},{\"lightness\":37.599999999999994},{\"gamma\":1}]},{\"featureType\":\"landscape\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"saturation\":\"-40\"},{\"lightness\":\"36\"}]},{\"featureType\":\"landscape.man_made\",\"elementType\":\"geometry\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"landscape.natural\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"saturation\":\"-77\"},{\"lightness\":\"28\"}]},{\"featureType\":\"landscape.natural\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"poi\",\"elementType\":\"all\",\"stylers\":[{\"hue\":\"#00FF6A\"},{\"saturation\":-1.0989010989011234},{\"lightness\":11.200000000000017},{\"gamma\":1}]},{\"featureType\":\"poi\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"poi.attraction\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"saturation\":\"-24\"},{\"lightness\":\"61\"}]},{\"featureType\":\"road\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"on\"}]},{\"featureType\":\"road\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"visibility\":\"on\"}]},{\"featureType\":\"road\",\"elementType\":\"labels.icon\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"all\",\"stylers\":[{\"hue\":\"#FFC200\"},{\"saturation\":-61.8},{\"lightness\":45.599999999999994},{\"gamma\":1}]},{\"featureType\":\"road.highway\",\"elementType\":\"labels.icon\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"road.highway.controlled_access\",\"elementType\":\"labels.icon\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"road.arterial\",\"elementType\":\"all\",\"stylers\":[{\"hue\":\"#FF0300\"},{\"saturation\":-100},{\"lightness\":51.19999999999999},{\"gamma\":1}]},{\"featureType\":\"road.local\",\"elementType\":\"all\",\"stylers\":[{\"hue\":\"#ff0300\"},{\"saturation\":-100},{\"lightness\":52},{\"gamma\":1}]},{\"featureType\":\"road.local\",\"elementType\":\"labels.icon\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"transit\",\"elementType\":\"geometry\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"transit\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"transit\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"transit\",\"elementType\":\"labels.icon\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"transit.line\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"transit.station\",\"elementType\":\"labels.icon\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"water\",\"elementType\":\"all\",\"stylers\":[{\"hue\":\"#0078FF\"},{\"saturation\":-13.200000000000003},{\"lightness\":2.4000000000000057},{\"gamma\":1}]},{\"featureType\":\"water\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"off\"}]}]",
"aqua": "[{\"featureType\":\"administrative\",\"elementType\":\"labels.text.fill\",\"stylers\":[{\"color\":\"#444444\"}]},{\"featureType\":\"landscape\",\"elementType\":\"all\",\"stylers\":[{\"color\":\"#f2f2f2\"}]},{\"featureType\":\"poi\",\"elementType\":\"all\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"road\",\"elementType\":\"all\",\"stylers\":[{\"saturation\":-100},{\"lightness\":45}]},{\"featureType\":\"road.highway\",\"elementType\":\"all\",\"stylers\":[{\"visibility\":\"simplified\"}]},{\"featureType\":\"road.arterial\",\"elementType\":\"labels.icon\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"transit\",\"elementType\":\"all\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"water\",\"elementType\":\"all\",\"stylers\":[{\"color\":\"#46bcec\"},{\"visibility\":\"on\"}]}]",
"earth": "[{\"featureType\":\"landscape.man_made\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#f7f1df\"}]},{\"featureType\":\"landscape.natural\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#d0e3b4\"}]},{\"featureType\":\"landscape.natural.terrain\",\"elementType\":\"geometry\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"poi\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"poi.business\",\"elementType\":\"all\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"poi.medical\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#fbd3da\"}]},{\"featureType\":\"poi.park\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#bde6ab\"}]},{\"featureType\":\"road\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"road\",\"elementType\":\"labels\",\"stylers\":[{\"visibility\":\"off\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"color\":\"#ffe15f\"}]},{\"featureType\":\"road.highway\",\"elementType\":\"geometry.stroke\",\"stylers\":[{\"color\":\"#efd151\"}]},{\"featureType\":\"road.arterial\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"color\":\"#ffffff\"}]},{\"featureType\":\"road.local\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"color\":\"black\"}]},{\"featureType\":\"transit.station.airport\",\"elementType\":\"geometry.fill\",\"stylers\":[{\"color\":\"#cfb2db\"}]},{\"featureType\":\"water\",\"elementType\":\"geometry\",\"stylers\":[{\"color\":\"#a2daf2\"}]}]"
};
if('undefined'!=typeof skins[predefined_style]){
map_style=JSON.parse(skins[predefined_style]);
}
(function initMap(){
var latlng=new google.maps.LatLng(locations[0][0], locations[0][1]);
map_options.center=latlng;
map_options.styles=map_style;
if(false==map_options.gestureHandling){
map_options.gestureHandling='none';
}
var map=new google.maps.Map($scope.find('.jws-google-map')[0], map_options);
var infowindow=new google.maps.InfoWindow();
var marker;
for(i=0; i < locations.length; i++){
var title=locations[i][3];
var description=locations[i][4];
var images_info=locations[i][5];
var icon_size=parseInt(locations[i][8]);
var icon_type=locations[i][6];
var icon='';
var icon_url=locations[i][7];
var enable_iw=locations[i][2];
var click_open=locations[i][9];
var lat=locations[i][0];
var lng=locations[i][1];
var infoWindow_opened=false;
if('undefined'===typeof locations[i]){
return;
}
if(''!=lat.length&&''!=lng.length){
if('custom'==icon_type){
icon={
url: icon_url,
};
if(!isNaN(icon_size)){
icon.scaledSize=new google.maps.Size(icon_size, icon_size);
icon.origin=new google.maps.Point(0, 0);
icon.anchor=new google.maps.Point(icon_size / 2, icon_size);
}
marker=new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
map: map,
title: title,
icon: icon,
animation: animation
});
}else if('html'==icon_type){
marker=new CustomMarker(new google.maps.LatLng(lat, lng), map, className);
}else{
marker=new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
map: map,
title: title,
icon: icon,
animation: animation
});
}
if('undefined'!==typeof maker_offset){
map.panBy(0, maker_offset);
}
if(locations.length > 1){
bounds.extend(marker.position);
}
marker_cluster[i]=marker;
if(enable_iw&&'iw_open'==click_open){
infoWindow_opened=true;
var has_image='';
if(images_info!=''){
has_image=' has-image';
}
var content_string='<div class="jws-infowindow-content">';
if(images_info!=''){
content_string +='<div class="info-left"><img src="' + images_info + '"></div>';
}
if(''!=description.length){
content_string +=' <div class="content-right"><div class="jws-infowindow-title">' + title + '</div><div class="jws-infowindow-description">' + description + '</div></div>';
}
content_string +='</div>';
if(''!=info_window_size){
var width_val=parseInt(info_window_size);
infowindow=new google.maps.InfoWindow({
content: content_string,
maxWidth: width_val
});
}else{
infowindow=new google.maps.InfoWindow({
content: content_string,
});
}
infowindow.open(map, marker);
}
google.maps.event.addListener(map, 'click', (function(infowindow){
return function(){
infowindow.close();
};})(infowindow));
infowindow.addListener('closeclick', ()=>{
infoWindow_opened=false;
});
if(enable_iw&&''!=locations[i][3]){
google.maps.event.addListener(marker, 'click', (function(marker, i){
var infowindow=new google.maps.InfoWindow();
if(''!=locations[i][5].length){
var	content_string='<div class="jws-infowindow-content 00"><div class="info-left"><img src="' + locations[i][5]+ '"></div>';
}
content_string +='<div class="content-right"><div class="jws-infowindow-title">' + locations[i][3] + '</div>';
if(''!=locations[i][4].length){
content_string +='<div class="jws-infowindow-description">' + locations[i][4] + '</div></div>';
}
content_string +='</div>';
return function(){
infowindow.setContent(content_string);
if(''!=info_window_size){
var width_val=parseInt(info_window_size);
var InfoWindowOptions={
maxWidth: width_val
};
infowindow.setOptions({
options: InfoWindowOptions
});
}
if(!infoWindow_opened){
infowindow.open(map, marker);
}};})(marker, i));
}}
}
if(locations.length > 1){
if('center'==auto_center){
map.fitBounds(bounds);
}
var listener=google.maps.event.addListener(map, "idle", function(){
map.setZoom(map_options.zoom);
google.maps.event.removeListener(listener);
});
}})();
};
var jws_table=function($scope, $){
if('undefined'==typeof $scope){
return;
}
var node_id=$scope.data('id');
var jws_table=$scope.find('.jws-table');
var jws_table_id=$scope.find('#jws-table-id-' + node_id);
var searchable=false;
var showentries=false;
var sortable=false;
if(0==jws_table_id.length) return;
var search_entry=$('.elementor-element-' + node_id + ' #' + jws_table_id[0].id).data('searchable');
if('yes'==search_entry){
searchable=true;
}
var show_entry=$('.elementor-element-' + node_id + ' #' + jws_table_id[0].id).data('show-entry');
if('yes'==show_entry){
showentries=true;
}
var sort_table=$('.elementor-element-' + node_id + ' #' + jws_table_id[0].id).data('sort-table');
if('yes'==sort_table){
$('.elementor-element-' + node_id + ' #' + jws_table_id[0].id + ' th').css({
'cursor': 'pointer'
});
sortable=true;
}
var search_string=jws_script.search_str;
var length_string=jws_script.table_length_string;
if(searchable||showentries||sortable){
$('#' + jws_table_id[0].id).DataTable({
"paging": showentries,
"searching": searchable,
"ordering": sortable,
"info": false,
"oLanguage": {
"sSearch": search_string,
"sLengthMenu": length_string,
},
});
var div_entries=$scope.find('.dataTables_length');
div_entries.addClass('jws-tbl-entry-wrapper jws-table-info');
var div_search=$scope.find('.dataTables_filter');
div_search.addClass('jws-tbl-search-wrapper jws-table-info');
$scope.find('.jws-table-info').wrapAll('<div class="jws-advance-heading"></div>');
}
function coloumn_rules(){
if($(window).width() > 767){
$(jws_table).addClass('jws-column-rules');
$(jws_table).removeClass('jws-no-column-rules');
}else{
$(jws_table).removeClass('jws-column-rules');
$(jws_table).addClass('jws-no-column-rules');
}}
window.addEventListener("load", coloumn_rules);
window.addEventListener("resize", coloumn_rules);
};
var jws_menu_style=function($scope, $){
if('undefined'==typeof $scope){
return;
}
$scope.find('.jws_main_menu').eq(0).each(function(){
var $this=$(this);
$(this).find('.elementor-icon-list-item.active').parents('.nav > li').addClass('current-menu-item');
if($this.closest('.elementor-widget-jws_menu_nav').hasClass('elementor-before-menu-skin-animation-line')){
var main=$this.find(".jws_main_menu_inner"),
curent_item=main.find('> ul > li.current-menu-item , > ul > li.current-menu-ancestor'),
curent_item_sub=main.find('ul li.current-menu-item , .elementor-icon-list-item.active');
if(main.find('> ul > li.current-menu-item').length==0){
if(curent_item_sub.length > 0){
curent_item=curent_item_sub.parents('.nav > li');
}else{
curent_item=main.find('> ul > li:first-child');
}}
}
$this.find('.click-show-menu-v').on('click', function(){
$this.find('.menu-toggle').toggleClass('open');
});
});
var mainMenu=$('.elementor_jws_menu_layout_menu_horizontal').find('.nav');
var mega_item=mainMenu.find(' > li.menu-item-design-mega_menu_full_width');
if(mega_item.length > 0){
$('.jws_header').addClass('has-mega-full');
}
mega_item.mouseenter(function(){
$('.jws_header.has-mega-full').addClass('mega-has-hover');
});
mega_item.mouseleave(function(){
$('.jws_header.has-mega-full').removeClass('mega-has-hover');
});
};
var jws_wishlist=function($scope, $){
if('undefined'==typeof $scope){
return;
}
$scope.find('.jws_wishlist').eq(0).each(function(){
$(document).on('added_to_cart added_to_wishlist removed_from_wishlist', function(){
var counter=$('.jws_wishlist_count');
$.ajax({
url: yith_wcwl_l10n.ajax_url,
data: {
action: 'yith_wcwl_update_wishlist_count'
},
dataType: 'json',
success: function(data){
counter.html(data.count);
},
beforeSend: function(){
counter.block();
},
complete: function(){
counter.unblock();
}});
});
});
};
var tooltip=function($scope, $){
$scope.find('.jws-tooltip-list').eq(0).each(function(){
$(this).find('button').on("click", function(){
var item=$(this).parents('li');
item.toggleClass('active').siblings().removeClass('active');
});
});
};
var instagram_slider=function($scope, $){
$scope.find('.jws-instagram').eq(0).each(function(){
$('.instagram_image_slider').not('.slick-initialized').slick({
dots: false,
arrows: false,
variableWidth: true
});
});
};
var initSection=function ($obj){
var $container=$obj.children('.elementor-container'),
dot_class=$container.find('.slider-dots-box');
if($container.hasClass('jws_section_slider')){
var item_length=$container.find('.elementor-top-column').length - 1;
let blocked=false;
let blockTimeout=null;
let prevDeltaY=0;
$container.eq(0).each(function(){
var $this=$(this);
var verticalSwiping=false;
var window_offset;
if($container.hasClass('slick_wheel')){
slider_wheel();
$(window).on('scroll', function(){
window_offset=$container.offset().top - $(window).scrollTop();
if(window_offset==0){
$this.css('pointer-events','auto');
}});
verticalSwiping=true;
}
$this.not('.slick-initialized').slick({
prevArrow: $(this).find('.nav_left'),
nextArrow: $(this).find('.nav_right'),
swipeToSlide: true,
fade: false,
slide: '.elementor-element',
appendDots: dot_class,
dotsClass: 'slider-dots',
verticalSwiping:verticalSwiping,
}).on('beforeChange', function(event, slick, currentSlide, nextSlide){
$('.slider-dots-box button').html('');
if($container.find('.elementor-top-column:not(.slick-cloned):nth-child(odd)').hasClass('slick-active')){
$('body').toggleClass('jws_dark_header');
}}).trigger('beforeChange').on('afterChange', function(event, slick, currentSlide){
if($container.find('.elementor-top-column:not(.slick-cloned):nth-child(odd)').hasClass('slick-active')){
$('body').toggleClass('jws_dark_header');
}
if(item_length==currentSlide&&!$obj.hasClass('wheel_loop-yes')){
$this.unbind('mousewheel');
};
$('.slider-dots-box button').html('');
$('.slider-dots-box .slick-active button')
.html(`<svg class="progress-svg" width="13" height="13">
<g transform="translate(6.5,6.5)">
<circle class="circle-go" r="6" cx="0" cy="0"></circle>
</g>
</svg>`);
}).trigger('afterChange');
function slider_wheel(){
$this.on('mousewheel DOMMouseScroll wheel', (function(e){
let deltaY=e.originalEvent.deltaY;
e.preventDefault();
e.stopPropagation();
clearTimeout(blockTimeout);
blockTimeout=setTimeout(function(){
blocked=false;
}, 300);
if(deltaY > 0&&deltaY > prevDeltaY||deltaY < 0&&deltaY < prevDeltaY||!blocked){
blocked=true;
prevDeltaY=deltaY;
if(deltaY > 0){
$this.slick('slickNext');
}else{
$this.slick('slickPrev');
}}
}));
}});
}};
var countdown=function($scope, $){
$scope.find('.countdown-container').eq(0).each(function(){
var $coundown=$(this).find('.countdown');
$().jws_countdown($coundown);
});
};
var category_list=function($scope, $){
$scope.find('.jws-category-list').eq(0).each(function(){
$(this).find('.category-content-slider').not('.slick-initialized').slick({
prevArrow: '<span class="jws-carousel-btn prev-item"><i class="jws-icon-expand_right"></i></span>',
nextArrow: '<span class="jws-carousel-btn next-item "><i class="jws-icon-expand_right"></i></span>',
swipeToSlide: true,
appendDots: $('.slider-dots-box'),
dotsClass: 'slider-dots',
})
});
};
$(window).on('elementor/frontend/init', function(){
elementorFrontend.hooks.addAction('frontend/element_ready/section', function($element){
initSection($element);
});
elementorFrontend.hooks.addAction('refresh_page_css', function (css){
var $obj=$('style#jws_elementor_custom_css');
if(!$obj.length){
$obj=$('<style id="jws_elementor_custom_css"></style>').appendTo('head');
}
css=css.replace('/<script.*?\/script>/s', '');
$obj.html(css).appendTo('head');
});
var widgets={
'jws_video_popup.default': video_popup,
'jws_testimonial_slider.default': testimonials_slider,
'jws_blog.default': [blogLoadMore, blog_filter],
'jws_tab.default': jws_tabs,
'jws_map.default': WidgetjwsGoogleMapHandler,
'jws_services.default': services_slider,
'jws_search.default': search,
'jws_progress.default': [jws_process_slider, jws_process_tabs, jws_process_hover],
'jws_team.default': [team_slider],
'jws_table.default': jws_table,
'jws_menu_nav.default': jws_menu_style,
'jws_wishlist.default': jws_wishlist,
'jws_gallery.default': jws_gallery,
'jws_demo.default': [demo_filter],
'jws-product-advanced.default': [jws_carousel, product_tabs_filter],
'jws_banner.default': jws_banner,
'tooltip.default': tooltip,
'jws_instagram.default':[instagram_slider],
'jws_slider.default': jws_slider,
'jws_product_group.default': jws_product_group,
'jws-category-list.default': category_list,
'jws_widget_countdown.default': countdown,
'jws_text_slider.default': jws_text_slider,
'jws_timeline.default': timeline,
'jws_login_form.default': login_form,
};
$.each(widgets, function(widget, callback){
if('object'===typeof callback){
$.each(callback, function(index, cb){
elementorFrontend.hooks.addAction('frontend/element_ready/' + widget, cb);
});
}else{
elementorFrontend.hooks.addAction('frontend/element_ready/' + widget, callback);
}});
});
})(jQuery);
!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){"use strict";var b=window.Slick||{};b=function(){function b(b,d){var e,f=this;f.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:a(b),appendDots:a(b),arrows:!0,asNavFor:null,prevArrow:'<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',nextArrow:'<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(b,c){return a('<button type="button" data-role="none" role="button" tabindex="0" /><svg> <circle id="shape" cx="120" cy="120" r="100" stroke-dasharray="1000" stroke-dashoffset="1000"/></svg>').text(c+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},f.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},a.extend(f,f.initials),f.activeBreakpoint=null,f.animType=null,f.animProp=null,f.breakpoints=[],f.breakpointSettings=[],f.cssTransitions=!1,f.focussed=!1,f.interrupted=!1,f.hidden="hidden",f.paused=!0,f.positionProp=null,f.respondTo=null,f.rowCount=1,f.shouldClick=!0,f.$slider=a(b),f.$slidesCache=null,f.transformType=null,f.transitionType=null,f.visibilityChange="visibilitychange",f.windowWidth=0,f.windowTimer=null,e=a(b).data("slick")||{},f.options=a.extend({},f.defaults,d,e),f.currentSlide=f.options.initialSlide,f.originalSettings=f.options,void 0!==document.mozHidden?(f.hidden="mozHidden",f.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(f.hidden="webkitHidden",f.visibilityChange="webkitvisibilitychange"),f.autoPlay=a.proxy(f.autoPlay,f),f.autoPlayClear=a.proxy(f.autoPlayClear,f),f.autoPlayIterator=a.proxy(f.autoPlayIterator,f),f.changeSlide=a.proxy(f.changeSlide,f),f.clickHandler=a.proxy(f.clickHandler,f),f.selectHandler=a.proxy(f.selectHandler,f),f.setPosition=a.proxy(f.setPosition,f),f.swipeHandler=a.proxy(f.swipeHandler,f),f.dragHandler=a.proxy(f.dragHandler,f),f.keyHandler=a.proxy(f.keyHandler,f),f.instanceUid=c++,f.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,f.registerBreakpoints(),f.init(!0)}var c=0;return b}(),b.prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},b.prototype.addSlide=b.prototype.slickAdd=function(b,c,d){var e=this;if("boolean"==typeof c)d=c,c=null;else if(c<0||c>=e.slideCount)return!1;e.unload(),"number"==typeof c?0===c&&0===e.$slides.length?a(b).appendTo(e.$slideTrack):d?a(b).insertBefore(e.$slides.eq(c)):a(b).insertAfter(e.$slides.eq(c)):!0===d?a(b).prependTo(e.$slideTrack):a(b).appendTo(e.$slideTrack),e.$slides=e.$slideTrack.children(this.options.slide),e.$slideTrack.children(this.options.slide).detach(),e.$slideTrack.append(e.$slides),e.$slides.each(function(b,c){a(c).attr("data-slick-index",b)}),e.$slidesCache=e.$slides,e.reinit()},b.prototype.animateHeight=function(){var a=this;if(1===a.options.slidesToShow&&!0===a.options.adaptiveHeight&&!1===a.options.vertical){var b=a.$slides.eq(a.currentSlide).outerHeight(!0);a.$list.animate({height:b},a.options.speed)}},b.prototype.animateSlide=function(b,c){var d={},e=this;e.animateHeight(),!0===e.options.rtl&&!1===e.options.vertical&&(b=-b),!1===e.transformsEnabled?!1===e.options.vertical?e.$slideTrack.animate({left:b},e.options.speed,e.options.easing,c):e.$slideTrack.animate({top:b},e.options.speed,e.options.easing,c):!1===e.cssTransitions?(!0===e.options.rtl&&(e.currentLeft=-e.currentLeft),a({animStart:e.currentLeft}).animate({animStart:b},{duration:e.options.speed,easing:e.options.easing,step:function(a){a=Math.ceil(a),!1===e.options.vertical?(d[e.animType]="translate("+a+"px, 0px)",e.$slideTrack.css(d)):(d[e.animType]="translate(0px,"+a+"px)",e.$slideTrack.css(d))},complete:function(){c&&c.call()}})):(e.applyTransition(),b=Math.ceil(b),!1===e.options.vertical?d[e.animType]="translate3d("+b+"px, 0px, 0px)":d[e.animType]="translate3d(0px,"+b+"px, 0px)",e.$slideTrack.css(d),c&&setTimeout(function(){e.disableTransition(),c.call()},e.options.speed))},b.prototype.getNavTarget=function(){var b=this,c=b.options.asNavFor;return c&&null!==c&&(c=a(c).not(b.$slider)),c},b.prototype.asNavFor=function(b){var c=this,d=c.getNavTarget();null!==d&&"object"==typeof d&&d.each(function(){var c=a(this).slick("getSlick");c.unslicked||c.slideHandler(b,!0)})},b.prototype.applyTransition=function(a){var b=this,c={};!1===b.options.fade?c[b.transitionType]=b.transformType+" "+b.options.speed+"ms "+b.options.cssEase:c[b.transitionType]="opacity "+b.options.speed+"ms "+b.options.cssEase,!1===b.options.fade?b.$slideTrack.css(c):b.$slides.eq(a).css(c)},b.prototype.autoPlay=function(){var a=this;a.autoPlayClear(),a.slideCount>a.options.slidesToShow&&(a.autoPlayTimer=setInterval(a.autoPlayIterator,a.options.autoplaySpeed))},b.prototype.autoPlayClear=function(){var a=this;a.autoPlayTimer&&clearInterval(a.autoPlayTimer)},b.prototype.autoPlayIterator=function(){var a=this,b=a.currentSlide+a.options.slidesToScroll;a.paused||a.interrupted||a.focussed||(!1===a.options.infinite&&(1===a.direction&&a.currentSlide+1===a.slideCount-1?a.direction=0:0===a.direction&&(b=a.currentSlide-a.options.slidesToScroll,a.currentSlide-1==0&&(a.direction=1))),a.slideHandler(b))},b.prototype.buildArrows=function(){var b=this;!0===b.options.arrows&&(b.$prevArrow=a(b.options.prevArrow).addClass("slick-arrow"),b.$nextArrow=a(b.options.nextArrow).addClass("slick-arrow"),b.slideCount>b.options.slidesToShow?(b.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),b.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),b.htmlExpr.test(b.options.prevArrow)&&b.$prevArrow.prependTo(b.options.appendArrows),b.htmlExpr.test(b.options.nextArrow)&&b.$nextArrow.appendTo(b.options.appendArrows),!0!==b.options.infinite&&b.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):b.$prevArrow.add(b.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},b.prototype.buildDots=function(){var b,c,d=this;if(!0===d.options.dots&&d.slideCount>d.options.slidesToShow){for(d.$slider.addClass("slick-dotted"),c=a("<ul />").addClass(d.options.dotsClass),b=0;b<=d.getDotCount();b+=1)c.append(a("<li />").append(d.options.customPaging.call(this,d,b)));d.$dots=c.appendTo(d.options.appendDots),d.$dots.find("li").first().addClass("slick-active").attr("aria-hidden","false")}},b.prototype.buildOut=function(){var b=this;b.$slides=b.$slider.children(b.options.slide+":not(.slick-cloned)").addClass("slick-slide"),b.slideCount=b.$slides.length,b.$slides.each(function(b,c){a(c).attr("data-slick-index",b).data("originalStyling",a(c).attr("style")||"")}),b.$slider.addClass("slick-slider"),b.$slideTrack=0===b.slideCount?a('<div class="slick-track"/>').appendTo(b.$slider):b.$slides.wrapAll('<div class="slick-track"/>').parent(),b.$list=b.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent(),b.$slideTrack.css("opacity",0),!0!==b.options.centerMode&&!0!==b.options.swipeToSlide||(b.options.slidesToScroll=1),a("img[data-lazy]",b.$slider).not("[src]").addClass("slick-loading"),b.setupInfinite(),b.buildArrows(),b.buildDots(),b.updateDots(),b.setSlideClasses("number"==typeof b.currentSlide?b.currentSlide:0),!0===b.options.draggable&&b.$list.addClass("draggable")},b.prototype.buildRows=function(){var a,b,c,d,e,f,g,h=this;if(d=document.createDocumentFragment(),f=h.$slider.children(),h.options.rows>1){for(g=h.options.slidesPerRow*h.options.rows,e=Math.ceil(f.length/g),a=0;a<e;a++){var i=document.createElement("div");for(b=0;b<h.options.rows;b++){var j=document.createElement("div");for(c=0;c<h.options.slidesPerRow;c++){var k=a*g+(b*h.options.slidesPerRow+c);f.get(k)&&j.appendChild(f.get(k))}i.appendChild(j)}d.appendChild(i)}h.$slider.empty().append(d),h.$slider.children().children().children().css({width:100/h.options.slidesPerRow+"%",display:"inline-block"})}},b.prototype.checkResponsive=function(b,c){var d,e,f,g=this,h=!1,i=g.$slider.width(),j=window.innerWidth||a(window).width();if("window"===g.respondTo?f=j:"slider"===g.respondTo?f=i:"min"===g.respondTo&&(f=Math.min(j,i)),g.options.responsive&&g.options.responsive.length&&null!==g.options.responsive){e=null;for(d in g.breakpoints)g.breakpoints.hasOwnProperty(d)&&(!1===g.originalSettings.mobileFirst?f<g.breakpoints[d]&&(e=g.breakpoints[d]):f>g.breakpoints[d]&&(e=g.breakpoints[d]));null!==e?null!==g.activeBreakpoint?(e!==g.activeBreakpoint||c)&&(g.activeBreakpoint=e,"unslick"===g.breakpointSettings[e]?g.unslick(e):(g.options=a.extend({},g.originalSettings,g.breakpointSettings[e]),!0===b&&(g.currentSlide=g.options.initialSlide),g.refresh(b)),h=e):(g.activeBreakpoint=e,"unslick"===g.breakpointSettings[e]?g.unslick(e):(g.options=a.extend({},g.originalSettings,g.breakpointSettings[e]),!0===b&&(g.currentSlide=g.options.initialSlide),g.refresh(b)),h=e):null!==g.activeBreakpoint&&(g.activeBreakpoint=null,g.options=g.originalSettings,!0===b&&(g.currentSlide=g.options.initialSlide),g.refresh(b),h=e),b||!1===h||g.$slider.trigger("breakpoint",[g,h])}},b.prototype.changeSlide=function(b,c){var d,e,f,g=this,h=a(b.currentTarget);switch(h.is("a")&&b.preventDefault(),h.is("li")||(h=h.closest("li")),f=g.slideCount%g.options.slidesToScroll!=0,d=f?0:(g.slideCount-g.currentSlide)%g.options.slidesToScroll,b.data.message){case"previous":e=0===d?g.options.slidesToScroll:g.options.slidesToShow-d,g.slideCount>g.options.slidesToShow&&g.slideHandler(g.currentSlide-e,!1,c);break;case"next":e=0===d?g.options.slidesToScroll:d,g.slideCount>g.options.slidesToShow&&g.slideHandler(g.currentSlide+e,!1,c);break;case"index":var i=0===b.data.index?0:b.data.index||h.index()*g.options.slidesToScroll;g.slideHandler(g.checkNavigable(i),!1,c),h.children().trigger("focus");break;default:return}},b.prototype.checkNavigable=function(a){var b,c,d=this;if(b=d.getNavigableIndexes(),c=0,a>b[b.length-1])a=b[b.length-1];else for(var e in b){if(a<b[e]){a=c;break}c=b[e]}return a},b.prototype.cleanUpEvents=function(){var b=this;b.options.dots&&null!==b.$dots&&a("li",b.$dots).off("click.slick",b.changeSlide).off("mouseenter.slick",a.proxy(b.interrupt,b,!0)).off("mouseleave.slick",a.proxy(b.interrupt,b,!1)),b.$slider.off("focus.slick blur.slick"),!0===b.options.arrows&&b.slideCount>b.options.slidesToShow&&(b.$prevArrow&&b.$prevArrow.off("click.slick",b.changeSlide),b.$nextArrow&&b.$nextArrow.off("click.slick",b.changeSlide)),b.$list.off("touchstart.slick mousedown.slick",b.swipeHandler),b.$list.off("touchmove.slick mousemove.slick",b.swipeHandler),b.$list.off("touchend.slick mouseup.slick",b.swipeHandler),b.$list.off("touchcancel.slick mouseleave.slick",b.swipeHandler),b.$list.off("click.slick",b.clickHandler),a(document).off(b.visibilityChange,b.visibility),b.cleanUpSlideEvents(),!0===b.options.accessibility&&b.$list.off("keydown.slick",b.keyHandler),!0===b.options.focusOnSelect&&a(b.$slideTrack).children().off("click.slick",b.selectHandler),a(window).off("orientationchange.slick.slick-"+b.instanceUid,b.orientationChange),a(window).off("resize.slick.slick-"+b.instanceUid,b.resize),a("[draggable!=true]",b.$slideTrack).off("dragstart",b.preventDefault),a(window).off("load.slick.slick-"+b.instanceUid,b.setPosition),a(document).off("ready.slick.slick-"+b.instanceUid,b.setPosition)},b.prototype.cleanUpSlideEvents=function(){var b=this;b.$list.off("mouseenter.slick",a.proxy(b.interrupt,b,!0)),b.$list.off("mouseleave.slick",a.proxy(b.interrupt,b,!1))},b.prototype.cleanUpRows=function(){var a,b=this;b.options.rows>1&&(a=b.$slides.children().children(),a.removeAttr("style"),b.$slider.empty().append(a))},b.prototype.clickHandler=function(a){!1===this.shouldClick&&(a.stopImmediatePropagation(),a.stopPropagation(),a.preventDefault())},b.prototype.destroy=function(b){var c=this;c.autoPlayClear(),c.touchObject={},c.cleanUpEvents(),a(".slick-cloned",c.$slider).detach(),c.$dots&&c.$dots.remove(),c.$prevArrow&&c.$prevArrow.length&&(c.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),c.htmlExpr.test(c.options.prevArrow)&&c.$prevArrow.remove()),c.$nextArrow&&c.$nextArrow.length&&(c.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),c.htmlExpr.test(c.options.nextArrow)&&c.$nextArrow.remove()),c.$slides&&(c.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){a(this).attr("style",a(this).data("originalStyling"))}),c.$slideTrack.children(this.options.slide).detach(),c.$slideTrack.detach(),c.$list.detach(),c.$slider.append(c.$slides)),c.cleanUpRows(),c.$slider.removeClass("slick-slider"),c.$slider.removeClass("slick-initialized"),c.$slider.removeClass("slick-dotted"),c.unslicked=!0,b||c.$slider.trigger("destroy",[c])},b.prototype.disableTransition=function(a){var b=this,c={};c[b.transitionType]="",!1===b.options.fade?b.$slideTrack.css(c):b.$slides.eq(a).css(c)},b.prototype.fadeSlide=function(a,b){var c=this;!1===c.cssTransitions?(c.$slides.eq(a).css({zIndex:c.options.zIndex}),c.$slides.eq(a).animate({opacity:1},c.options.speed,c.options.easing,b)):(c.applyTransition(a),c.$slides.eq(a).css({opacity:1,zIndex:c.options.zIndex}),b&&setTimeout(function(){c.disableTransition(a),b.call()},c.options.speed))},b.prototype.fadeSlideOut=function(a){var b=this;!1===b.cssTransitions?b.$slides.eq(a).animate({opacity:0,zIndex:b.options.zIndex-2},b.options.speed,b.options.easing):(b.applyTransition(a),b.$slides.eq(a).css({opacity:0,zIndex:b.options.zIndex-2}))},b.prototype.filterSlides=b.prototype.slickFilter=function(a){var b=this;null!==a&&(b.$slidesCache=b.$slides,b.unload(),b.$slideTrack.children(this.options.slide).detach(),b.$slidesCache.filter(a).appendTo(b.$slideTrack),b.reinit())},b.prototype.focusHandler=function(){var b=this;b.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*:not(.slick-arrow)",function(c){c.stopImmediatePropagation();var d=a(this);setTimeout(function(){b.options.pauseOnFocus&&(b.focussed=d.is(":focus"),b.autoPlay())},0)})},b.prototype.getCurrent=b.prototype.slickCurrentSlide=function(){return this.currentSlide},b.prototype.getDotCount=function(){var a=this,b=0,c=0,d=0;if(!0===a.options.infinite)for(;b<a.slideCount;)++d,b=c+a.options.slidesToScroll,c+=a.options.slidesToScroll<=a.options.slidesToShow?a.options.slidesToScroll:a.options.slidesToShow;else if(!0===a.options.centerMode)d=a.slideCount;else if(a.options.asNavFor)for(;b<a.slideCount;)++d,b=c+a.options.slidesToScroll,c+=a.options.slidesToScroll<=a.options.slidesToShow?a.options.slidesToScroll:a.options.slidesToShow;else d=1+Math.ceil((a.slideCount-a.options.slidesToShow)/a.options.slidesToScroll);return d-1},b.prototype.getLeft=function(a){var b,c,d,e=this,f=0;return e.slideOffset=0,c=e.$slides.first().outerHeight(!0),!0===e.options.infinite?(e.slideCount>e.options.slidesToShow&&(e.slideOffset=e.slideWidth*e.options.slidesToShow*-1,f=c*e.options.slidesToShow*-1),e.slideCount%e.options.slidesToScroll!=0&&a+e.options.slidesToScroll>e.slideCount&&e.slideCount>e.options.slidesToShow&&(a>e.slideCount?(e.slideOffset=(e.options.slidesToShow-(a-e.slideCount))*e.slideWidth*-1,f=(e.options.slidesToShow-(a-e.slideCount))*c*-1):(e.slideOffset=e.slideCount%e.options.slidesToScroll*e.slideWidth*-1,f=e.slideCount%e.options.slidesToScroll*c*-1))):a+e.options.slidesToShow>e.slideCount&&(e.slideOffset=(a+e.options.slidesToShow-e.slideCount)*e.slideWidth,f=(a+e.options.slidesToShow-e.slideCount)*c),e.slideCount<=e.options.slidesToShow&&(e.slideOffset=0,f=0),!0===e.options.centerMode&&!0===e.options.infinite?e.slideOffset+=e.slideWidth*Math.floor(e.options.slidesToShow/2)-e.slideWidth:!0===e.options.centerMode&&(e.slideOffset=0,e.slideOffset+=e.slideWidth*Math.floor(e.options.slidesToShow/2)),b=!1===e.options.vertical?a*e.slideWidth*-1+e.slideOffset:a*c*-1+f,!0===e.options.variableWidth&&(d=e.slideCount<=e.options.slidesToShow||!1===e.options.infinite?e.$slideTrack.children(".slick-slide").eq(a):e.$slideTrack.children(".slick-slide").eq(a+e.options.slidesToShow),b=!0===e.options.rtl?d[0]?-1*(e.$slideTrack.width()-d[0].offsetLeft-d.width()):0:d[0]?-1*d[0].offsetLeft:0,!0===e.options.centerMode&&(d=e.slideCount<=e.options.slidesToShow||!1===e.options.infinite?e.$slideTrack.children(".slick-slide").eq(a):e.$slideTrack.children(".slick-slide").eq(a+e.options.slidesToShow+1),b=!0===e.options.rtl?d[0]?-1*(e.$slideTrack.width()-d[0].offsetLeft-d.width()):0:d[0]?-1*d[0].offsetLeft:0,b+=(e.$list.width()-d.outerWidth())/2)),b},b.prototype.getOption=b.prototype.slickGetOption=function(a){return this.options[a]},b.prototype.getNavigableIndexes=function(){var a,b=this,c=0,d=0,e=[];for(!1===b.options.infinite?a=b.slideCount:(c=-1*b.options.slidesToScroll,d=-1*b.options.slidesToScroll,a=2*b.slideCount);c<a;)e.push(c),c=d+b.options.slidesToScroll,d+=b.options.slidesToScroll<=b.options.slidesToShow?b.options.slidesToScroll:b.options.slidesToShow;return e},b.prototype.getSlick=function(){return this},b.prototype.getSlideCount=function(){var b,c,d=this;return c=!0===d.options.centerMode?d.slideWidth*Math.floor(d.options.slidesToShow/2):0,!0===d.options.swipeToSlide?(d.$slideTrack.find(".slick-slide").each(function(e,f){if(f.offsetLeft-c+a(f).outerWidth()/2>-1*d.swipeLeft)return b=f,!1}),Math.abs(a(b).attr("data-slick-index")-d.currentSlide)||1):d.options.slidesToScroll},b.prototype.goTo=b.prototype.slickGoTo=function(a,b){this.changeSlide({data:{message:"index",index:parseInt(a)}},b)},b.prototype.init=function(b){var c=this;a(c.$slider).hasClass("slick-initialized")||(a(c.$slider).addClass("slick-initialized"),c.buildRows(),c.buildOut(),c.setProps(),c.startLoad(),c.loadSlider(),c.initializeEvents(),c.updateArrows(),c.updateDots(),c.checkResponsive(!0),c.focusHandler()),b&&c.$slider.trigger("init",[c]),!0===c.options.accessibility&&c.initADA(),c.options.autoplay&&(c.paused=!1,c.autoPlay())},b.prototype.initADA=function(){var b=this;b.$slides.add(b.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),b.$slideTrack.attr("role","listbox"),b.$slides.not(b.$slideTrack.find(".slick-cloned")).each(function(c){a(this).attr({role:"option","aria-describedby":"slick-slide"+b.instanceUid+c})}),null!==b.$dots&&b.$dots.attr("role","tablist").find("li").each(function(c){a(this).attr({role:"presentation","aria-selected":"false","aria-controls":"navigation"+b.instanceUid+c,id:"slick-slide"+b.instanceUid+c})}).first().attr("aria-selected","true").end().find("button").attr("role","button").end().closest("div").attr("role","toolbar"),b.activateADA()},b.prototype.initArrowEvents=function(){var a=this;!0===a.options.arrows&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},a.changeSlide),a.$nextArrow.off("click.slick").on("click.slick",{message:"next"},a.changeSlide))},b.prototype.initDotEvents=function(){var b=this;!0===b.options.dots&&b.slideCount>b.options.slidesToShow&&a("li",b.$dots).on("click.slick",{message:"index"},b.changeSlide),!0===b.options.dots&&!0===b.options.pauseOnDotsHover&&a("li",b.$dots).on("mouseenter.slick",a.proxy(b.interrupt,b,!0)).on("mouseleave.slick",a.proxy(b.interrupt,b,!1))},b.prototype.initSlideEvents=function(){var b=this;b.options.pauseOnHover&&(b.$list.on("mouseenter.slick",a.proxy(b.interrupt,b,!0)),b.$list.on("mouseleave.slick",a.proxy(b.interrupt,b,!1)))},b.prototype.initializeEvents=function(){var b=this;b.initArrowEvents(),b.initDotEvents(),b.initSlideEvents(),b.$list.on("touchstart.slick mousedown.slick",{action:"start"},b.swipeHandler),b.$list.on("touchmove.slick mousemove.slick",{action:"move"},b.swipeHandler),b.$list.on("touchend.slick mouseup.slick",{action:"end"},b.swipeHandler),b.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},b.swipeHandler),b.$list.on("click.slick",b.clickHandler),a(document).on(b.visibilityChange,a.proxy(b.visibility,b)),!0===b.options.accessibility&&b.$list.on("keydown.slick",b.keyHandler),!0===b.options.focusOnSelect&&a(b.$slideTrack).children().on("click.slick",b.selectHandler),a(window).on("orientationchange.slick.slick-"+b.instanceUid,a.proxy(b.orientationChange,b)),a(window).on("resize.slick.slick-"+b.instanceUid,a.proxy(b.resize,b)),a("[draggable!=true]",b.$slideTrack).on("dragstart",b.preventDefault),a(window).on("load.slick.slick-"+b.instanceUid,b.setPosition),a(document).on("ready.slick.slick-"+b.instanceUid,b.setPosition)},b.prototype.initUI=function(){var a=this;!0===a.options.arrows&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.show(),a.$nextArrow.show()),!0===a.options.dots&&a.slideCount>a.options.slidesToShow&&a.$dots.show()},b.prototype.keyHandler=function(a){var b=this;a.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===a.keyCode&&!0===b.options.accessibility?b.changeSlide({data:{message:!0===b.options.rtl?"next":"previous"}}):39===a.keyCode&&!0===b.options.accessibility&&b.changeSlide({data:{message:!0===b.options.rtl?"previous":"next"}}))},b.prototype.lazyLoad=function(){function b(b){a("img[data-lazy]",b).each(function(){var b=a(this),c=a(this).attr("data-lazy"),d=document.createElement("img");d.onload=function(){b.animate({opacity:0},100,function(){b.attr("src",c).animate({opacity:1},200,function(){b.removeAttr("data-lazy").removeClass("slick-loading")}),g.$slider.trigger("lazyLoaded",[g,b,c])})},d.onerror=function(){b.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),g.$slider.trigger("lazyLoadError",[g,b,c])},d.src=c})}var c,d,e,f,g=this;!0===g.options.centerMode?!0===g.options.infinite?(e=g.currentSlide+(g.options.slidesToShow/2+1),f=e+g.options.slidesToShow+2):(e=Math.max(0,g.currentSlide-(g.options.slidesToShow/2+1)),f=g.options.slidesToShow/2+1+2+g.currentSlide):(e=g.options.infinite?g.options.slidesToShow+g.currentSlide:g.currentSlide,f=Math.ceil(e+g.options.slidesToShow),!0===g.options.fade&&(e>0&&e--,f<=g.slideCount&&f++)),c=g.$slider.find(".slick-slide").slice(e,f),b(c),g.slideCount<=g.options.slidesToShow?(d=g.$slider.find(".slick-slide"),b(d)):g.currentSlide>=g.slideCount-g.options.slidesToShow?(d=g.$slider.find(".slick-cloned").slice(0,g.options.slidesToShow),b(d)):0===g.currentSlide&&(d=g.$slider.find(".slick-cloned").slice(-1*g.options.slidesToShow),b(d))},b.prototype.loadSlider=function(){var a=this;a.setPosition(),a.$slideTrack.css({opacity:1}),a.$slider.removeClass("slick-loading"),a.initUI(),"progressive"===a.options.lazyLoad&&a.progressiveLazyLoad()},b.prototype.next=b.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},b.prototype.orientationChange=function(){var a=this;a.checkResponsive(),a.setPosition()},b.prototype.pause=b.prototype.slickPause=function(){var a=this;a.autoPlayClear(),a.paused=!0},b.prototype.play=b.prototype.slickPlay=function(){var a=this;a.autoPlay(),a.options.autoplay=!0,a.paused=!1,a.focussed=!1,a.interrupted=!1},b.prototype.postSlide=function(a){var b=this;b.unslicked||(b.$slider.trigger("afterChange",[b,a]),b.animating=!1,b.setPosition(),b.swipeLeft=null,b.options.autoplay&&b.autoPlay(),!0===b.options.accessibility&&b.initADA())},b.prototype.prev=b.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},b.prototype.preventDefault=function(a){a.preventDefault()},b.prototype.progressiveLazyLoad=function(b){b=b||1;var c,d,e,f=this,g=a("img[data-lazy]",f.$slider);g.length?(c=g.first(),d=c.attr("data-lazy"),e=document.createElement("img"),e.onload=function(){c.attr("src",d).removeAttr("data-lazy").removeClass("slick-loading"),!0===f.options.adaptiveHeight&&f.setPosition(),f.$slider.trigger("lazyLoaded",[f,c,d]),f.progressiveLazyLoad()},e.onerror=function(){b<3?setTimeout(function(){f.progressiveLazyLoad(b+1)},500):(c.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),f.$slider.trigger("lazyLoadError",[f,c,d]),f.progressiveLazyLoad())},e.src=d):f.$slider.trigger("allImagesLoaded",[f])},b.prototype.refresh=function(b){var c,d,e=this;d=e.slideCount-e.options.slidesToShow,!e.options.infinite&&e.currentSlide>d&&(e.currentSlide=d),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),c=e.currentSlide,e.destroy(!0),a.extend(e,e.initials,{currentSlide:c}),e.init(),b||e.changeSlide({data:{message:"index",index:c}},!1)},b.prototype.registerBreakpoints=function(){var b,c,d,e=this,f=e.options.responsive||null;if("array"===a.type(f)&&f.length){e.respondTo=e.options.respondTo||"window";for(b in f)if(d=e.breakpoints.length-1,c=f[b].breakpoint,f.hasOwnProperty(b)){for(;d>=0;)e.breakpoints[d]&&e.breakpoints[d]===c&&e.breakpoints.splice(d,1),d--;e.breakpoints.push(c),e.breakpointSettings[c]=f[b].settings}e.breakpoints.sort(function(a,b){return e.options.mobileFirst?a-b:b-a})}},b.prototype.reinit=function(){var b=this;b.$slides=b.$slideTrack.children(b.options.slide).addClass("slick-slide"),b.slideCount=b.$slides.length,b.currentSlide>=b.slideCount&&0!==b.currentSlide&&(b.currentSlide=b.currentSlide-b.options.slidesToScroll),b.slideCount<=b.options.slidesToShow&&(b.currentSlide=0),b.registerBreakpoints(),b.setProps(),b.setupInfinite(),b.buildArrows(),b.updateArrows(),b.initArrowEvents(),b.buildDots(),b.updateDots(),b.initDotEvents(),b.cleanUpSlideEvents(),b.initSlideEvents(),b.checkResponsive(!1,!0),!0===b.options.focusOnSelect&&a(b.$slideTrack).children().on("click.slick",b.selectHandler),b.setSlideClasses("number"==typeof b.currentSlide?b.currentSlide:0),b.setPosition(),b.focusHandler(),b.paused=!b.options.autoplay,b.autoPlay(),b.$slider.trigger("reInit",[b])},b.prototype.resize=function(){var b=this;a(window).width()!==b.windowWidth&&(clearTimeout(b.windowDelay),b.windowDelay=window.setTimeout(function(){b.windowWidth=a(window).width(),b.checkResponsive(),b.unslicked||b.setPosition()},50))},b.prototype.removeSlide=b.prototype.slickRemove=function(a,b,c){var d=this;if("boolean"==typeof a?(b=a,a=!0===b?0:d.slideCount-1):a=!0===b?--a:a,d.slideCount<1||a<0||a>d.slideCount-1)return!1;d.unload(),!0===c?d.$slideTrack.children().remove():d.$slideTrack.children(this.options.slide).eq(a).remove(),d.$slides=d.$slideTrack.children(this.options.slide),d.$slideTrack.children(this.options.slide).detach(),d.$slideTrack.append(d.$slides),d.$slidesCache=d.$slides,d.reinit()},b.prototype.setCSS=function(a){var b,c,d=this,e={};!0===d.options.rtl&&(a=-a),b="left"==d.positionProp?Math.ceil(a)+"px":"0px",c="top"==d.positionProp?Math.ceil(a)+"px":"0px",e[d.positionProp]=a,!1===d.transformsEnabled?d.$slideTrack.css(e):(e={},!1===d.cssTransitions?(e[d.animType]="translate("+b+", "+c+")",d.$slideTrack.css(e)):(e[d.animType]="translate3d("+b+", "+c+", 0px)",d.$slideTrack.css(e)))},b.prototype.setDimensions=function(){var a=this;!1===a.options.vertical?!0===a.options.centerMode&&a.$list.css({padding:"0px "+a.options.centerPadding}):(a.$list.height(a.$slides.first().outerHeight(!0)*a.options.slidesToShow),!0===a.options.centerMode&&a.$list.css({padding:a.options.centerPadding+" 0px"})),a.listWidth=a.$list.width(),a.listHeight=a.$list.height(),!1===a.options.vertical&&!1===a.options.variableWidth?(a.slideWidth=Math.ceil(a.listWidth/a.options.slidesToShow),a.$slideTrack.width(Math.ceil(a.slideWidth*a.$slideTrack.children(".slick-slide").length))):!0===a.options.variableWidth?a.$slideTrack.width(5e3*a.slideCount):(a.slideWidth=Math.ceil(a.listWidth),a.$slideTrack.height(Math.ceil(a.$slides.first().outerHeight(!0)*a.$slideTrack.children(".slick-slide").length)));var b=a.$slides.first().outerWidth(!0)-a.$slides.first().width();!1===a.options.variableWidth&&a.$slideTrack.children(".slick-slide").width(a.slideWidth-b)},b.prototype.setFade=function(){var b,c=this;c.$slides.each(function(d,e){b=c.slideWidth*d*-1,!0===c.options.rtl?a(e).css({position:"relative",right:b,top:0,zIndex:c.options.zIndex-2,opacity:0}):a(e).css({position:"relative",left:b,top:0,zIndex:c.options.zIndex-2,opacity:0})}),c.$slides.eq(c.currentSlide).css({zIndex:c.options.zIndex-1,opacity:1})},b.prototype.setHeight=function(){var a=this;if(1===a.options.slidesToShow&&!0===a.options.adaptiveHeight&&!1===a.options.vertical){var b=a.$slides.eq(a.currentSlide).outerHeight(!0);a.$list.css("height",b)}},b.prototype.setOption=b.prototype.slickSetOption=function(){var b,c,d,e,f,g=this,h=!1;if("object"===a.type(arguments[0])?(d=arguments[0],h=arguments[1],f="multiple"):"string"===a.type(arguments[0])&&(d=arguments[0],e=arguments[1],h=arguments[2],"responsive"===arguments[0]&&"array"===a.type(arguments[1])?f="responsive":void 0!==arguments[1]&&(f="single")),"single"===f)g.options[d]=e;else if("multiple"===f)a.each(d,function(a,b){g.options[a]=b});else if("responsive"===f)for(c in e)if("array"!==a.type(g.options.responsive))g.options.responsive=[e[c]];else{for(b=g.options.responsive.length-1;b>=0;)g.options.responsive[b].breakpoint===e[c].breakpoint&&g.options.responsive.splice(b,1),b--;g.options.responsive.push(e[c])}h&&(g.unload(),g.reinit())},b.prototype.setPosition=function(){var a=this;a.setDimensions(),a.setHeight(),!1===a.options.fade?a.setCSS(a.getLeft(a.currentSlide)):a.setFade(),a.$slider.trigger("setPosition",[a])},b.prototype.setProps=function(){var a=this,b=document.body.style;a.positionProp=!0===a.options.vertical?"top":"left","top"===a.positionProp?a.$slider.addClass("slick-vertical"):a.$slider.removeClass("slick-vertical"),void 0===b.WebkitTransition&&void 0===b.MozTransition&&void 0===b.msTransition||!0===a.options.useCSS&&(a.cssTransitions=!0),a.options.fade&&("number"==typeof a.options.zIndex?a.options.zIndex<3&&(a.options.zIndex=3):a.options.zIndex=a.defaults.zIndex),void 0!==b.OTransform&&(a.animType="OTransform",a.transformType="-o-transform",a.transitionType="OTransition",void 0===b.perspectiveProperty&&void 0===b.webkitPerspective&&(a.animType=!1)),void 0!==b.MozTransform&&(a.animType="MozTransform",a.transformType="-moz-transform",a.transitionType="MozTransition",void 0===b.perspectiveProperty&&void 0===b.MozPerspective&&(a.animType=!1)),void 0!==b.webkitTransform&&(a.animType="webkitTransform",a.transformType="-webkit-transform",a.transitionType="webkitTransition",void 0===b.perspectiveProperty&&void 0===b.webkitPerspective&&(a.animType=!1)),void 0!==b.msTransform&&(a.animType="msTransform",a.transformType="-ms-transform",a.transitionType="msTransition",void 0===b.msTransform&&(a.animType=!1)),void 0!==b.transform&&!1!==a.animType&&(a.animType="transform",a.transformType="transform",a.transitionType="transition"),a.transformsEnabled=a.options.useTransform&&null!==a.animType&&!1!==a.animType},b.prototype.setSlideClasses=function(a){var b,c,d,e,f=this;c=f.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),f.$slides.eq(a).addClass("slick-current"),!0===f.options.centerMode?(b=Math.floor(f.options.slidesToShow/2),!0===f.options.infinite&&(a>=b&&a<=f.slideCount-1-b?f.$slides.slice(a-b,a+b+1).addClass("slick-active").attr("aria-hidden","false"):(d=f.options.slidesToShow+a,
c.slice(d-b+1,d+b+2).addClass("slick-active").attr("aria-hidden","false")),0===a?c.eq(c.length-1-f.options.slidesToShow).addClass("slick-center"):a===f.slideCount-1&&c.eq(f.options.slidesToShow).addClass("slick-center")),f.$slides.eq(a).addClass("slick-center")):a>=0&&a<=f.slideCount-f.options.slidesToShow?f.$slides.slice(a,a+f.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):c.length<=f.options.slidesToShow?c.addClass("slick-active").attr("aria-hidden","false"):(e=f.slideCount%f.options.slidesToShow,d=!0===f.options.infinite?f.options.slidesToShow+a:a,f.options.slidesToShow==f.options.slidesToScroll&&f.slideCount-a<f.options.slidesToShow?c.slice(d-(f.options.slidesToShow-e),d+e).addClass("slick-active").attr("aria-hidden","false"):c.slice(d,d+f.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false")),"ondemand"===f.options.lazyLoad&&f.lazyLoad()},b.prototype.setupInfinite=function(){var b,c,d,e=this;if(!0===e.options.fade&&(e.options.centerMode=!1),!0===e.options.infinite&&!1===e.options.fade&&(c=null,e.slideCount>e.options.slidesToShow)){for(d=!0===e.options.centerMode?e.options.slidesToShow+1:e.options.slidesToShow,b=e.slideCount;b>e.slideCount-d;b-=1)c=b-1,a(e.$slides[c]).clone(!0).attr("id","").attr("data-slick-index",c-e.slideCount).prependTo(e.$slideTrack).addClass("slick-cloned");for(b=0;b<d;b+=1)c=b,a(e.$slides[c]).clone(!0).attr("id","").attr("data-slick-index",c+e.slideCount).appendTo(e.$slideTrack).addClass("slick-cloned");e.$slideTrack.find(".slick-cloned").find("[id]").each(function(){a(this).attr("id","")})}},b.prototype.interrupt=function(a){var b=this;a||b.autoPlay(),b.interrupted=a},b.prototype.selectHandler=function(b){var c=this,d=a(b.target).is(".slick-slide")?a(b.target):a(b.target).parents(".slick-slide"),e=parseInt(d.attr("data-slick-index"));if(e||(e=0),c.slideCount<=c.options.slidesToShow)return c.setSlideClasses(e),void c.asNavFor(e);c.slideHandler(e)},b.prototype.slideHandler=function(a,b,c){var d,e,f,g,h,i=null,j=this;if(b=b||!1,(!0!==j.animating||!0!==j.options.waitForAnimate)&&!(!0===j.options.fade&&j.currentSlide===a||j.slideCount<=j.options.slidesToShow)){if(!1===b&&j.asNavFor(a),d=a,i=j.getLeft(d),g=j.getLeft(j.currentSlide),j.currentLeft=null===j.swipeLeft?g:j.swipeLeft,!1===j.options.infinite&&!1===j.options.centerMode&&(a<0||a>j.getDotCount()*j.options.slidesToScroll))return void(!1===j.options.fade&&(d=j.currentSlide,!0!==c?j.animateSlide(g,function(){j.postSlide(d)}):j.postSlide(d)));if(!1===j.options.infinite&&!0===j.options.centerMode&&(a<0||a>j.slideCount-j.options.slidesToScroll))return void(!1===j.options.fade&&(d=j.currentSlide,!0!==c?j.animateSlide(g,function(){j.postSlide(d)}):j.postSlide(d)));if(j.options.autoplay&&clearInterval(j.autoPlayTimer),e=d<0?j.slideCount%j.options.slidesToScroll!=0?j.slideCount-j.slideCount%j.options.slidesToScroll:j.slideCount+d:d>=j.slideCount?j.slideCount%j.options.slidesToScroll!=0?0:d-j.slideCount:d,j.animating=!0,j.$slider.trigger("beforeChange",[j,j.currentSlide,e]),f=j.currentSlide,j.currentSlide=e,j.setSlideClasses(j.currentSlide),j.options.asNavFor&&(h=j.getNavTarget(),h=h.slick("getSlick"),h.slideCount<=h.options.slidesToShow&&h.setSlideClasses(j.currentSlide)),j.updateDots(),j.updateArrows(),!0===j.options.fade)return!0!==c?(j.fadeSlideOut(f),j.fadeSlide(e,function(){j.postSlide(e)})):j.postSlide(e),void j.animateHeight();!0!==c?j.animateSlide(i,function(){j.postSlide(e)}):j.postSlide(e)}},b.prototype.startLoad=function(){var a=this;!0===a.options.arrows&&a.slideCount>a.options.slidesToShow&&(a.$prevArrow.hide(),a.$nextArrow.hide()),!0===a.options.dots&&a.slideCount>a.options.slidesToShow&&a.$dots.hide(),a.$slider.addClass("slick-loading")},b.prototype.swipeDirection=function(){var a,b,c,d,e=this;return a=e.touchObject.startX-e.touchObject.curX,b=e.touchObject.startY-e.touchObject.curY,c=Math.atan2(b,a),d=Math.round(180*c/Math.PI),d<0&&(d=360-Math.abs(d)),d<=45&&d>=0?!1===e.options.rtl?"left":"right":d<=360&&d>=315?!1===e.options.rtl?"left":"right":d>=135&&d<=225?!1===e.options.rtl?"right":"left":!0===e.options.verticalSwiping?d>=35&&d<=135?"down":"up":"vertical"},b.prototype.swipeEnd=function(a){var b,c,d=this;if(d.dragging=!1,d.interrupted=!1,d.shouldClick=!(d.touchObject.swipeLength>10),void 0===d.touchObject.curX)return!1;if(!0===d.touchObject.edgeHit&&d.$slider.trigger("edge",[d,d.swipeDirection()]),d.touchObject.swipeLength>=d.touchObject.minSwipe){switch(c=d.swipeDirection()){case"left":case"down":b=d.options.swipeToSlide?d.checkNavigable(d.currentSlide+d.getSlideCount()):d.currentSlide+d.getSlideCount(),d.currentDirection=0;break;case"right":case"up":b=d.options.swipeToSlide?d.checkNavigable(d.currentSlide-d.getSlideCount()):d.currentSlide-d.getSlideCount(),d.currentDirection=1}"vertical"!=c&&(d.slideHandler(b),d.touchObject={},d.$slider.trigger("swipe",[d,c]))}else d.touchObject.startX!==d.touchObject.curX&&(d.slideHandler(d.currentSlide),d.touchObject={})},b.prototype.swipeHandler=function(a){var b=this;if(!(!1===b.options.swipe||"ontouchend"in document&&!1===b.options.swipe||!1===b.options.draggable&&-1!==a.type.indexOf("mouse")))switch(b.touchObject.fingerCount=a.originalEvent&&void 0!==a.originalEvent.touches?a.originalEvent.touches.length:1,b.touchObject.minSwipe=b.listWidth/b.options.touchThreshold,!0===b.options.verticalSwiping&&(b.touchObject.minSwipe=b.listHeight/b.options.touchThreshold),a.data.action){case"start":b.swipeStart(a);break;case"move":b.swipeMove(a);break;case"end":b.swipeEnd(a)}},b.prototype.swipeMove=function(a){var b,c,d,e,f,g=this;return f=void 0!==a.originalEvent?a.originalEvent.touches:null,!(!g.dragging||f&&1!==f.length)&&(b=g.getLeft(g.currentSlide),g.touchObject.curX=void 0!==f?f[0].pageX:a.clientX,g.touchObject.curY=void 0!==f?f[0].pageY:a.clientY,g.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(g.touchObject.curX-g.touchObject.startX,2))),!0===g.options.verticalSwiping&&(g.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(g.touchObject.curY-g.touchObject.startY,2)))),"vertical"!==(c=g.swipeDirection())?(void 0!==a.originalEvent&&g.touchObject.swipeLength>4&&a.preventDefault(),e=(!1===g.options.rtl?1:-1)*(g.touchObject.curX>g.touchObject.startX?1:-1),!0===g.options.verticalSwiping&&(e=g.touchObject.curY>g.touchObject.startY?1:-1),d=g.touchObject.swipeLength,g.touchObject.edgeHit=!1,!1===g.options.infinite&&(0===g.currentSlide&&"right"===c||g.currentSlide>=g.getDotCount()&&"left"===c)&&(d=g.touchObject.swipeLength*g.options.edgeFriction,g.touchObject.edgeHit=!0),!1===g.options.vertical?g.swipeLeft=b+d*e:g.swipeLeft=b+d*(g.$list.height()/g.listWidth)*e,!0===g.options.verticalSwiping&&(g.swipeLeft=b+d*e),!0!==g.options.fade&&!1!==g.options.touchMove&&(!0===g.animating?(g.swipeLeft=null,!1):void g.setCSS(g.swipeLeft))):void 0)},b.prototype.swipeStart=function(a){var b,c=this;if(c.interrupted=!0,1!==c.touchObject.fingerCount||c.slideCount<=c.options.slidesToShow)return c.touchObject={},!1;void 0!==a.originalEvent&&void 0!==a.originalEvent.touches&&(b=a.originalEvent.touches[0]),c.touchObject.startX=c.touchObject.curX=void 0!==b?b.pageX:a.clientX,c.touchObject.startY=c.touchObject.curY=void 0!==b?b.pageY:a.clientY,c.dragging=!0},b.prototype.unfilterSlides=b.prototype.slickUnfilter=function(){var a=this;null!==a.$slidesCache&&(a.unload(),a.$slideTrack.children(this.options.slide).detach(),a.$slidesCache.appendTo(a.$slideTrack),a.reinit())},b.prototype.unload=function(){var b=this;a(".slick-cloned",b.$slider).remove(),b.$dots&&b.$dots.remove(),b.$prevArrow&&b.htmlExpr.test(b.options.prevArrow)&&b.$prevArrow.remove(),b.$nextArrow&&b.htmlExpr.test(b.options.nextArrow)&&b.$nextArrow.remove(),b.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")},b.prototype.unslick=function(a){var b=this;b.$slider.trigger("unslick",[b,a]),b.destroy()},b.prototype.updateArrows=function(){var a=this;Math.floor(a.options.slidesToShow/2),!0===a.options.arrows&&a.slideCount>a.options.slidesToShow&&!a.options.infinite&&(a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),a.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===a.currentSlide?(a.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),a.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):a.currentSlide>=a.slideCount-a.options.slidesToShow&&!1===a.options.centerMode?(a.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):a.currentSlide>=a.slideCount-1&&!0===a.options.centerMode&&(a.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},b.prototype.updateDots=function(){var a=this;null!==a.$dots&&(a.$dots.find("li").removeClass("slick-active").attr("aria-hidden","true"),a.$dots.find("li").eq(Math.floor(a.currentSlide/a.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden","false"))},b.prototype.visibility=function(){var a=this;a.options.autoplay&&(document[a.hidden]?a.interrupted=!0:a.interrupted=!1)},a.fn.slick=function(){var a,c,d=this,e=arguments[0],f=Array.prototype.slice.call(arguments,1),g=d.length;for(a=0;a<g;a++)if("object"==typeof e||void 0===e?d[a].slick=new b(d[a],e):c=d[a].slick[e].apply(d[a].slick,f),void 0!==c)return c;return d}});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","../keycode","../position","../unique-id","../version","../widget"],t):t(jQuery)}(function(r){"use strict";return r.widget("ui.tooltip",{version:"1.13.3",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var t=r(this).attr("title");return r("<a>").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(t,i){var e=(t.attr("aria-describedby")||"").split(/\s+/);e.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",String.prototype.trim.call(e.join(" ")))},_removeDescribedBy:function(t){var i=t.data("ui-tooltip-id"),e=(t.attr("aria-describedby")||"").split(/\s+/),i=r.inArray(i,e);-1!==i&&e.splice(i,1),t.removeData("ui-tooltip-id"),(e=String.prototype.trim.call(e.join(" ")))?t.attr("aria-describedby",e):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=r("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=r([])},_setOption:function(t,i){var e=this;this._super(t,i),"content"===t&&r.each(this.tooltips,function(t,i){e._updateContent(i.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var o=this;r.each(this.tooltips,function(t,i){var e=r.Event("blur");e.target=e.currentTarget=i.element[0],o.close(e,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var t=r(this);if(t.is("[title]"))return t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")}))},_enable:function(){this.disabledTitles.each(function(){var t=r(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))}),this.disabledTitles=r([])},open:function(t){var e=this,i=r(t?t.target:this.element).closest(this.options.items);i.length&&!i.data("ui-tooltip-id")&&(i.attr("title")&&i.data("ui-tooltip-title",i.attr("title")),i.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&i.parents().each(function(){var t,i=r(this);i.data("ui-tooltip-open")&&((t=r.Event("blur")).target=t.currentTarget=this,e.close(t,!0)),i.attr("title")&&(i.uniqueId(),e.parents[this.id]={element:this,title:i.attr("title")},i.attr("title",""))}),this._registerCloseHandlers(t,i),this._updateContent(i,t))},_updateContent:function(i,e){var t=this.options.content,o=this,n=e?e.type:null;if("string"==typeof t||t.nodeType||t.jquery)return this._open(e,i,t);(t=t.call(i[0],function(t){o._delay(function(){i.data("ui-tooltip-open")&&(e&&(e.type=n),this._open(e,i,t))})}))&&this._open(e,i,t)},_open:function(t,i,e){var o,n,s,l=r.extend({},this.options.position);function a(t){l.of=t,o.is(":hidden")||o.position(l)}e&&((s=this._find(i))?s.tooltip.find(".ui-tooltip-content").html(e):(i.is("[title]")&&(t&&"mouseover"===t.type?i.attr("title",""):i.removeAttr("title")),s=this._tooltip(i),o=s.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(e),this.liveRegion.children().hide(),(s=r("<div>").html(o.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),s.removeAttr("id").find("[id]").removeAttr("id"),s.appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:a}),a(t)):o.position(r.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(n=this.delayedShow=setInterval(function(){o.is(":visible")&&(a(l.of),clearInterval(n))},13)),this._trigger("open",t,{tooltip:o})))},_registerCloseHandlers:function(t,i){var e={keyup:function(t){t.keyCode===r.ui.keyCode.ESCAPE&&((t=r.Event(t)).currentTarget=i[0],this.close(t,!0))}};i[0]!==this.element[0]&&(e.remove=function(){var t=this._find(i);t&&this._removeTooltip(t.tooltip)}),t&&"mouseover"!==t.type||(e.mouseleave="close"),t&&"focusin"!==t.type||(e.focusout="close"),this._on(!0,i,e)},close:function(t){var i,e=this,o=r(t?t.currentTarget:this.element),n=this._find(o);n?(i=n.tooltip,n.closing||(clearInterval(this.delayedShow),o.data("ui-tooltip-title")&&!o.attr("title")&&o.attr("title",o.data("ui-tooltip-title")),this._removeDescribedBy(o),n.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){e._removeTooltip(r(this))}),o.removeData("ui-tooltip-open"),this._off(o,"mouseleave focusout keyup"),o[0]!==this.element[0]&&this._off(o,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&r.each(this.parents,function(t,i){r(i.element).attr("title",i.title),delete e.parents[t]}),n.closing=!0,this._trigger("close",t,{tooltip:i}),n.hiding)||(n.closing=!1)):o.removeData("ui-tooltip-open")},_tooltip:function(t){var i=r("<div>").attr("role","tooltip"),e=r("<div>").appendTo(i),o=i.uniqueId().attr("id");return this._addClass(e,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(t)),this.tooltips[o]={element:t,tooltip:i}},_find:function(t){t=t.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(t){clearInterval(this.delayedShow),t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){t=t.closest(".ui-front, dialog");return t=t.length?t:this.document[0].body},_destroy:function(){var o=this;r.each(this.tooltips,function(t,i){var e=r.Event("blur"),i=i.element;e.target=e.currentTarget=i[0],o.close(e,!0),r("#"+t).remove(),i.data("ui-tooltip-title")&&(i.attr("title")||i.attr("title",i.data("ui-tooltip-title")),i.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),!1!==r.uiBackCompat&&r.widget("ui.tooltip",r.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),r.ui.tooltip});
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","../ie","../version","../widget"],e):e(jQuery)}(function(o){"use strict";var n=!1;return o(document).on("mouseup",function(){n=!1}),o.widget("ui.mouse",{version:"1.13.3",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.on("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).on("click."+this.widgetName,function(e){if(!0===o.data(e.target,t.widgetName+".preventClickEvent"))return o.removeData(e.target,t.widgetName+".preventClickEvent"),e.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){var t,i,s;if(!n)return this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),i=1===(this._mouseDownEvent=e).which,s=!("string"!=typeof(t=this).options.cancel||!e.target.nodeName)&&o(e.target).closest(this.options.cancel).length,i&&!s&&this._mouseCapture(e)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){t.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?e.preventDefault():(!0===o.data(e.target,this.widgetName+".preventClickEvent")&&o.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return t._mouseMove(e)},this._mouseUpDelegate=function(e){return t._mouseUp(e)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0)),!0},_mouseMove:function(e){if(this._mouseMoved){if(o.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&o.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})});
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../keycode","../version","../widget"],e):e(jQuery)}(function(o){"use strict";return o.widget("ui.slider",o.ui.mouse,{version:"1.13.3",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,t=this.options,i=this.element.find(".ui-slider-handle"),s=[],a=t.values&&t.values.length||1;for(i.length>a&&(i.slice(a).remove(),i=i.slice(0,a)),e=i.length;e<a;e++)s.push("<span tabindex='0'></span>");this.handles=i.add(o(s.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){o(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:Array.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=o("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==e.range&&"max"!==e.range||this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,a,n,t,h,l=this,u=this.options;return!u.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t),s=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var t=Math.abs(i-l.values(e));(t<s||s===t&&(e===l._lastChangedValue||l.values(e)===u.min))&&(s=t,a=o(this),n=e)}),!1!==this._start(e,n))&&(this._mouseSliding=!0,this._handleIndex=n,this._addClass(a,null,"ui-state-active"),a.trigger("focus"),t=a.offset(),h=!o(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-t.left-a.width()/2,top:e.pageY-t.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,n,i),this._animateOff=!0)},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},t=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,t),!1},_mouseStop:function(e){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,e="horizontal"===this.orientation?(t=this.elementSize.width,e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),e=e/t;return(e=1<e?1:e)<0&&(e=0),"vertical"===this.orientation&&(e=1-e),t=this._valueMax()-this._valueMin(),e=this._valueMin()+e*t,this._trimAlignValue(e)},_uiHash:function(e,t,i){var s={handle:this.handles[e],handleIndex:e,value:void 0!==t?t:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==t?t:this.values(e),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(e,t){return this._trigger("start",e,this._uiHash(t))},_slide:function(e,t,i){var s,a=this.value(),n=this.values();this._hasMultipleValues()&&(s=this.values(t?0:1),a=this.values(t),2===this.options.values.length&&!0===this.options.range&&(i=0===t?Math.min(s,i):Math.max(s,i)),n[t]=i),i!==a&&!1!==this._trigger("slide",e,this._uiHash(t,i,n))&&(this._hasMultipleValues()?this.values(t,i):this.value(i))},_stop:function(e,t){this._trigger("stop",e,this._uiHash(t))},_change:function(e,t){this._keySliding||this._mouseSliding||(this._lastChangedValue=t,this._trigger("change",e,this._uiHash(t)))},value:function(e){if(!arguments.length)return this._value();this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0)},values:function(e,t){var i,s,a;if(1<arguments.length)this.options.values[e]=this._trimAlignValue(t),this._refreshValue(),this._change(null,e);else{if(!arguments.length)return this._values();if(!Array.isArray(e))return this._hasMultipleValues()?this._values(e):this.value();for(i=this.options.values,s=e,a=0;a<i.length;a+=1)i[a]=this._trimAlignValue(s[a]),this._change(null,a);this._refreshValue()}},_setOption:function(e,t){var i,s=0;switch("range"===e&&!0===this.options.range&&("min"===t?(this.options.value=this._values(0),this.options.values=null):"max"===t&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),Array.isArray(this.options.values)&&(s=this.options.values.length),this._super(e,t),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(t),this.handles.css("horizontal"===t?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),i=s-1;0<=i;i--)this._change(null,i);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(e){this._super(e),this._toggleClass(null,"ui-state-disabled",!!e)},_value:function(){var e=this.options.value;return this._trimAlignValue(e)},_values:function(e){var t,i;if(arguments.length)return e=this.options.values[e],this._trimAlignValue(e);if(this._hasMultipleValues()){for(t=this.options.values.slice(),i=0;i<t.length;i+=1)t[i]=this._trimAlignValue(t[i]);return t}return[]},_trimAlignValue:function(e){var t,i;return e<=this._valueMin()?this._valueMin():e>=this._valueMax()?this._valueMax():(t=0<this.options.step?this.options.step:1,i=e-(e=(e-this._valueMin())%t),2*Math.abs(e)>=t&&(i+=0<e?t:-t),parseFloat(i.toFixed(5)))},_calculateNewMax:function(){var e=this.options.max,t=this._valueMin(),i=this.options.step;(e=Math.round((e-t)/i)*i+t)>this.options.max&&(e-=i),this.max=parseFloat(e.toFixed(this._precision()))},_precision:function(){var e=this._precisionOf(this.options.step);return e=null!==this.options.min?Math.max(e,this._precisionOf(this.options.min)):e},_precisionOf:function(e){var e=e.toString(),t=e.indexOf(".");return-1===t?0:e.length-t-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(e){"vertical"===e&&this.range.css({width:"",left:""}),"horizontal"===e&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var t,i,e,s,a,n=this.options.range,h=this.options,l=this,u=!this._animateOff&&h.animate,r={};this._hasMultipleValues()?this.handles.each(function(e){i=(l.values(e)-l._valueMin())/(l._valueMax()-l._valueMin())*100,r["horizontal"===l.orientation?"left":"bottom"]=i+"%",o(this).stop(1,1)[u?"animate":"css"](r,h.animate),!0===l.options.range&&("horizontal"===l.orientation?(0===e&&l.range.stop(1,1)[u?"animate":"css"]({left:i+"%"},h.animate),1===e&&l.range[u?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:h.animate})):(0===e&&l.range.stop(1,1)[u?"animate":"css"]({bottom:i+"%"},h.animate),1===e&&l.range[u?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:h.animate}))),t=i}):(e=this.value(),s=this._valueMin(),a=this._valueMax(),i=a!==s?(e-s)/(a-s)*100:0,r["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[u?"animate":"css"](r,h.animate),"min"===n&&"horizontal"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({width:i+"%"},h.animate),"max"===n&&"horizontal"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({width:100-i+"%"},h.animate),"min"===n&&"vertical"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({height:i+"%"},h.animate),"max"===n&&"vertical"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({height:100-i+"%"},h.animate))},_handleEvents:{keydown:function(e){var t,i,s,a=o(e.target).data("ui-slider-handle-index");switch(e.keyCode){case o.ui.keyCode.HOME:case o.ui.keyCode.END:case o.ui.keyCode.PAGE_UP:case o.ui.keyCode.PAGE_DOWN:case o.ui.keyCode.UP:case o.ui.keyCode.RIGHT:case o.ui.keyCode.DOWN:case o.ui.keyCode.LEFT:if(e.preventDefault(),this._keySliding||(this._keySliding=!0,this._addClass(o(e.target),null,"ui-state-active"),!1!==this._start(e,a)))break;return}switch(s=this.options.step,t=i=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case o.ui.keyCode.HOME:i=this._valueMin();break;case o.ui.keyCode.END:i=this._valueMax();break;case o.ui.keyCode.PAGE_UP:i=this._trimAlignValue(t+(this._valueMax()-this._valueMin())/this.numPages);break;case o.ui.keyCode.PAGE_DOWN:i=this._trimAlignValue(t-(this._valueMax()-this._valueMin())/this.numPages);break;case o.ui.keyCode.UP:case o.ui.keyCode.RIGHT:if(t===this._valueMax())return;i=this._trimAlignValue(t+s);break;case o.ui.keyCode.DOWN:case o.ui.keyCode.LEFT:if(t===this._valueMin())return;i=this._trimAlignValue(t-s)}this._slide(e,a,i)},keyup:function(e){var t=o(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,t),this._change(e,t),this._removeClass(o(e.target),null,"ui-state-active"))}}})});