View file externals/jQuery/owlcarousel/owl.carousel.js

File size: 42Kb
!/**
 * Owl Carousel v2.2.1
 * Copyright 2013-2017 David Deutsch
 * Licensed under  ()
 */ /**
 * Owl carousel
 * @version 2.1.6
 * @author Bartosz Wojciechowski
 * @author David Deutsch
 * @license The MIT License (MIT)
 * @todo Lazy Load Icon
 * @todo prevent animationend bubling
 * @todo itemsScaleUp
 * @todo Test Zepto
 * @todo stagePadding calculate wrong active classes
 */ function($,b,c,d){function a(b,c){this.settings=null,this.options=$.extend({},a.Defaults,c),this.$element=$(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"]}},$.each(["onResize","onThrottledResize"],$.proxy(function(b,a){this._handlers[a]=$.proxy(this[a],this)},this)),$.each(a.Plugins,$.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),$.each(a.Workers,$.proxy(function(b,a){this._pipe.push({filter:a.filter,run:$.proxy(a.run,this)})},this)),this.setup(),this.initialize()}a.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"},a.Width={Default:"default",Inner:"inner",Outer:"outer"},a.Type={Event:"event",State:"state"},a.Plugins={},a.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(d){var a=this.settings.margin||"",e=!this.settings.autoWidth,b=this.settings.rtl,c={width:"auto","margin-left":b?a:"","margin-right":b?"":a};e||this.$stage.children().css(c),d.css=c}},{filter:["width","items","settings"],run:function(c){var d=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,a=null,b=this._items.length,f=!this.settings.autoWidth,e=[];for(c.items={merge:!1,width:d};b--;)a=this._mergers[b],a=this.settings.mergeFit&&Math.min(a,this.settings.items)||a,c.items.merge=a>1||c.items.merge,e[b]=f?d*a:this._items[b].width();this._widths=e}},{filter:["items","settings"],run:function(){var a=[],b=this._items,c=this.settings,e=Math.max(2*c.items,4),h=2*Math.ceil(b.length/2),f=c.loop&&b.length?c.rewind?e:Math.max(e,h):0,g="",d="";for(f/=2;f--;)a.push(this.normalize(a.length/2,!0)),g+=b[a[a.length-1]][0].outerHTML,a.push(this.normalize(b.length-1-(a.length-1)/2,!0)),d=b[a[a.length-1]][0].outerHTML+d;this._clones=a,$(g).addClass("cloned").appendTo(this.$stage),$(d).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var e=this.settings.rtl?1:-1,f=this._clones.length+this._items.length,a=-1,c=0,d=0,b=[];++a<f;)c=b[a-1]||0,d=this._widths[this.relative(a)]+this.settings.margin,b.push(c+d*e);this._coordinates=b}},{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 b,c,a,e,f=this.settings.rtl?1:-1,g=2*this.settings.stagePadding,d=this.coordinates(this.current())+g,h=d+this.width()*f,i=[];for(a=0,e=this._coordinates.length;a<e;a++)b=this._coordinates[a-1]||0,c=Math.abs(this._coordinates[a])+g*f,(this.op(b,"<=",d)&&this.op(b,">",h)||this.op(c,"<",d)&&this.op(c,">",h))&&i.push(a);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"))}}],a.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 a,b,c;a=this.$element.find("img"),b=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,c=this.$element.children(b).width(),a.length&&c<=0&&this.preloadAutoWidthImages(a)}this.$element.addClass(this.options.loadingClass),this.$stage=$("<"+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")},a.prototype.setup=function(){var d=this.viewport(),b=this.options.responsive,c=-1,a=null;b?($.each(b,function(a){a<=d&&a>c&&(c=Number(a))}),"function"==typeof(a=$.extend({},this.options,b[c])).stagePadding&&(a.stagePadding=a.stagePadding()),delete a.responsive,a.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+c))):a=$.extend({},this.options),this.trigger("change",{property:{name:"settings",value:a}}),this._breakpoint=c,this.settings=a,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},a.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},a.prototype.prepare=function(b){var a=this.trigger("prepare",{content:b});return a.data||(a.data=$("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:a.data}),a.data},a.prototype.update=function(){for(var a=0,b=this._pipe.length,c=$.proxy(function(a){return this[a]},this._invalidated),d={};a<b;)(this._invalidated.all||$.grep(this._pipe[a].filter,c).length>0)&&this._pipe[a].run(d),a++;this._invalidated={},this.is("valid")||this.enter("valid")},a.prototype.width=function(b){switch(b=b||a.Width.Default){case a.Width.Inner:case a.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},a.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")},a.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},a.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):void(this.invalidate("width"),this.refresh(),this.leave("resizing"),this.trigger("resized")))},a.prototype.registerEventHandlers=function(){$.support.transition&&this.$stage.on($.support.transition.end+".owl.core",$.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",$.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",$.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",$.proxy(this.onDragEnd,this)))},a.prototype.onDragStart=function(b){var a=null;3!==b.which&&($.support.transform?a={x:(a=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","))[16===a.length?12:4],y:a[16===a.length?13:5]}:(a=this.$stage.position(),a={x:this.settings.rtl?a.left+this.$stage.width()-this.width()+this.settings.margin:a.left,y:a.top}),this.is("animating")&&($.support.transform?this.animate(a.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=$(b.target),this._drag.stage.start=a,this._drag.stage.current=a,this._drag.pointer=this.pointer(b),$(c).on("mouseup.owl.core touchend.owl.core",$.proxy(this.onDragEnd,this)),$(c).one("mousemove.owl.core touchmove.owl.core",$.proxy(function(a){var b=this.difference(this._drag.pointer,this.pointer(a));$(c).on("mousemove.owl.core touchmove.owl.core",$.proxy(this.onDragMove,this)),Math.abs(b.x)<Math.abs(b.y)&&this.is("valid")||(a.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))},a.prototype.onDragMove=function(e){var a=null,b=null,d=null,f=this.difference(this._drag.pointer,this.pointer(e)),c=this.difference(this._drag.stage.start,f);this.is("dragging")&&(e.preventDefault(),this.settings.loop?(a=this.coordinates(this.minimum()),b=this.coordinates(this.maximum()+1)-a,c.x=((c.x-a)%b+b)%b+a):(a=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),b=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),d=this.settings.pullDrag?-1*f.x/5:0,c.x=Math.max(Math.min(c.x,a+d),b+d)),this._drag.stage.current=c,this.animate(c.x))},a.prototype.onDragEnd=function(d){var a=this.difference(this._drag.pointer,this.pointer(d)),e=this._drag.stage.current,b=a.x>0^this.settings.rtl?"left":"right";$(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==a.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==a.x?b:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=b,(Math.abs(a.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"))},a.prototype.closest=function(a,d){var b=-1,e=this.width(),c=this.coordinates();return this.settings.freeDrag||$.each(c,$.proxy(function(g,f){return"left"===d&&a>f-30&&a<f+30?b=g:"right"===d&&a>f-e-30&&a<f-e+30?b=g+1:this.op(a,"<",f)&&this.op(a,">",c[g+1]||f-e)&&(b="left"===d?g+1:g),-1===b},this)),!this.settings.loop&&(this.op(a,">",c[this.minimum()])?b=a=this.minimum():this.op(a,"<",c[this.maximum()])&&(b=a=this.maximum())),b},a.prototype.animate=function(a){var b=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),b&&(this.enter("animating"),this.trigger("translate")),$.support.transform3d&&$.support.transition?this.$stage.css({transform:"translate3d("+a+"px,0px,0px)",transition:this.speed()/1e3+"s"}):b?this.$stage.animate({left:a+"px"},this.speed(),this.settings.fallbackEasing,$.proxy(this.onTransitionEnd,this)):this.$stage.css({left:a+"px"})},a.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},a.prototype.current=function(a){if(a===d)return this._current;if(0!==this._items.length){if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});d!==b.data&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current}},a.prototype.invalidate=function(a){return"string"===$.type(a)&&(this._invalidated[a]=!0,this.is("valid")&&this.leave("valid")),$.map(this._invalidated,function(b,a){return a})},a.prototype.reset=function(a){d!==(a=this.normalize(a))&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},a.prototype.normalize=function(a,e){var b=this._items.length,c=e?0:this._clones.length;return!this.isNumeric(a)||b<1?a=d:(a<0||a>=b+c)&&(a=((a-c/2)%b+b)%b+c/2),a},a.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},a.prototype.maximum=function(f){var a,d,e,b=this.settings,c=this._coordinates.length;if(b.loop)c=this._clones.length/2+this._items.length-1;else if(b.autoWidth||b.merge){for(a=this._items.length,d=this._items[--a].width(),e=this.$element.width();(a--)&&!((d+=this._items[a].width()+this.settings.margin)>e););c=a+1}else c=b.center?this._items.length-1:this._items.length-b.items;return f&&(c-=this._clones.length/2),Math.max(c,0)},a.prototype.minimum=function(a){return a?0:this._clones.length/2},a.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},a.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},a.prototype.clones=function(a){var b=this._clones.length/2,c=b+this._items.length,e=function(a){return a%2==0?c+a/2:b-(a+1)/2};return a===d?$.map(this._clones,function(b,a){return e(a)}):$.map(this._clones,function(b,c){return b===a?e(c):null})},a.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},a.prototype.coordinates=function(b){var a,e=1,c=b-1;return b===d?$.map(this._coordinates,$.proxy(function(b,a){return this.coordinates(a)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,c=b+1),a=this._coordinates[b],a+=(this.width()-a+(this._coordinates[c]||0))/2*e):a=this._coordinates[c]||0,a=Math.ceil(a))},a.prototype.duration=function(b,c,a){return 0===a?0:Math.min(Math.max(Math.abs(c-b),1),6)*Math.abs(a||this.settings.smartSpeed)},a.prototype.to=function(a,h){var d=this.current(),e=null,b=a-this.relative(d),f=this._items.length,g=this.minimum(),c=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(b)>f/2&&(b+=-1*((b>0)-(b<0))*f),(e=(((a=d+b)-g)%f+f)%f+g)!==a&&e-b<=c&&e-b>0&&(d=e-b,a=e,this.reset(d))):this.settings.rewind?(c+=1,a=(a%c+c)%c):a=Math.max(g,Math.min(c,a)),this.speed(this.duration(d,a,h)),this.current(a),this.$element.is(":visible")&&this.update()},a.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},a.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},a.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")},a.prototype.viewport=function(){var a;return this.options.responsiveBaseElement!==b?a=$(this.options.responsiveBaseElement).width():b.innerWidth?a=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?a=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),a},a.prototype.replace=function(a){this.$stage.empty(),this._items=[],a&&(a=a instanceof jQuery?a:$(a)),this.settings.nestedItemSelector&&(a=a.find("."+this.settings.nestedItemSelector)),a.filter(function(){return 1===this.nodeType}).each($.proxy(function(b,a){a=this.prepare(a),this.$stage.append(a),this._items.push(a),this._mergers.push(1*a.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")},a.prototype.add=function(a,b){var c=this.relative(this._current);b=b===d?this._items.length:this.normalize(b,!0),a=a instanceof jQuery?a:$(a),this.trigger("add",{content:a,position:b}),a=this.prepare(a),0===this._items.length||b===this._items.length?(0===this._items.length&&this.$stage.append(a),0!==this._items.length&&this._items[b-1].after(a),this._items.push(a),this._mergers.push(1*a.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[b].before(a),this._items.splice(b,0,a),this._mergers.splice(b,0,1*a.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[c]&&this.reset(this._items[c].index()),this.invalidate("items"),this.trigger("added",{content:a,position:b})},a.prototype.remove=function(a){d!==(a=this.normalize(a,!0))&&(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}))},a.prototype.preloadAutoWidthImages=function(a){a.each($.proxy(function(b,a){this.enter("pre-loading"),a=$(a),$(new Image).one("load",$.proxy(function(b){a.attr("src",b.target.src),a.css("opacity",1),this.leave("pre-loading"),this.is("pre-loading")||this.is("initializing")||this.refresh()},this)).attr("src",a.attr("src")||a.attr("data-src")||a.attr("data-src-retina"))},this))},a.prototype.destroy=function(){for(var a in this.$element.off(".owl.core"),this.$stage.off(".owl.core"),$(c).off(".owl.core"),!1!==this.settings.responsive&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize)),this._plugins)this._plugins[a].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")},a.prototype.op=function(a,d,b){var c=this.settings.rtl;switch(d){case"<":return c?a>b:a<b;case">":return c?a<b:a>b;case">=":return c?a<=b:a>=b;case"<=":return c?a>=b:a<=b}},a.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},a.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},a.prototype.trigger=function(b,f,d,h,i){var g={item:{count:this._items.length,index:this.current()}},e=$.camelCase($.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),c=$.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),$.extend({relatedTarget:this},g,f));return!this._supress[b]&&($.each(this._plugins,function(b,a){a.onTrigger&&a.onTrigger(c)}),this.register({type:a.Type.Event,name:b}),this.$element.trigger(c),this.settings&&"function"==typeof this.settings[e]&&this.settings[e].call(this,c)),c},a.prototype.enter=function(a){$.each([a].concat(this._states.tags[a]||[]),$.proxy(function(b,a){d===this._states.current[a]&&(this._states.current[a]=0),this._states.current[a]++},this))},a.prototype.leave=function(a){$.each([a].concat(this._states.tags[a]||[]),$.proxy(function(b,a){this._states.current[a]--},this))},a.prototype.register=function(b){if(b.type===a.Type.Event){if($.event.special[b.name]||($.event.special[b.name]={}),!$.event.special[b.name].owl){var c=$.event.special[b.name]._default;$.event.special[b.name]._default=function(a){return c&&c.apply&&(!a.namespace|| -1===a.namespace.indexOf("owl"))?c.apply(this,arguments):a.namespace&&a.namespace.indexOf("owl")> -1},$.event.special[b.name].owl=!0}}else b.type===a.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]=$.grep(this._states.tags[b.name],$.proxy(function(a,c){return $.inArray(a,this._states.tags[b.name])===c},this)))},a.prototype.suppress=function(a){$.each(a,$.proxy(function(b,a){this._supress[a]=!0},this))},a.prototype.release=function(a){$.each(a,$.proxy(function(b,a){delete this._supress[a]},this))},a.prototype.pointer=function(a){var c={x:null,y:null};return(a=(a=a.originalEvent||a||b.event).touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a).pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},a.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},a.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},$.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=$(this),d=e.data("owl.carousel");d||(d=new a(this,"object"==typeof b&&b),e.data("owl.carousel",d),$.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(c,b){d.register({type:a.Type.Event,name:b}),d.$element.on(b+".owl.carousel.core",$.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([b]),d[b].apply(this,[].slice.call(arguments,1)),this.release([b]))},d))})),"string"==typeof b&&"_"!==b.charAt(0)&&d[b].apply(d,c)})},$.fn.owlCarousel.Constructor=a}(window.Zepto||window.jQuery,window,document),function($,b,c,d){var a=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":$.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=$.extend({},a.Defaults,this._core.options),this._core.$element.on(this._handlers)};a.Defaults={autoRefresh:!0,autoRefreshInterval:500},a.prototype.watch=function(){this._interval||(this._visible=this._core.$element.is(":visible"),this._interval=b.setInterval($.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},a.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())},a.prototype.destroy=function(){var a,c;for(a in b.clearInterval(this._interval),this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},$.fn.owlCarousel.Constructor.Plugins.AutoRefresh=a}(window.Zepto||window.jQuery,window,document),function($,b,c,d){var a=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":$.proxy(function(a){if(a.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(a.property&&"position"==a.property.name||"initialized"==a.type))for(var b=this._core.settings,d=b.center&&Math.ceil(b.items/2)||b.items,e=b.center&& -1*d||0,c=(a.property&& void 0!==a.property.value?a.property.value:this._core.current())+e,f=this._core.clones().length,g=$.proxy(function(b,a){this.load(a)},this);(e++)<d;)this.load(f/2+this._core.relative(c)),f&&$.each(this._core.clones(this._core.relative(c)),g),c++},this)},this._core.options=$.extend({},a.Defaults,this._core.options),this._core.$element.on(this._handlers)};a.Defaults={lazyLoad:!1},a.prototype.load=function(d){var a=this._core.$stage.children().eq(d),c=a&&a.find(".owl-lazy");!c||$.inArray(a.get(0),this._loaded)> -1||(c.each($.proxy(function(f,e){var d,a=$(e),c=b.devicePixelRatio>1&&a.attr("data-src-retina")||a.attr("data-src");this._core.trigger("load",{element:a,url:c},"lazy"),a.is("img")?a.one("load.owl.lazy",$.proxy(function(){a.css("opacity",1),this._core.trigger("loaded",{element:a,url:c},"lazy")},this)).attr("src",c):((d=new Image).onload=$.proxy(function(){a.css({"background-image":'url("'+c+'")',opacity:"1"}),this._core.trigger("loaded",{element:a,url:c},"lazy")},this),d.src=c)},this)),this._loaded.push(a.get(0)))},a.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)},$.fn.owlCarousel.Constructor.Plugins.Lazy=a}(window.Zepto||window.jQuery,window,document),function($,b,c,d){var a=function(b){this._core=b,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":$.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":$.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"==a.property.name&&this.update()},this),"loaded.owl.lazy":$.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=$.extend({},a.Defaults,this._core.options),this._core.$element.on(this._handlers)};a.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},a.prototype.update=function(){var a=this._core._current,c=a+this._core.settings.items,d=this._core.$stage.children().toArray().slice(a,c),e=[],b=0;$.each(d,function(b,a){e.push($(a).height())}),b=Math.max.apply(null,e),this._core.$stage.parent().height(b).addClass(this._core.settings.autoHeightClass)},a.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)},$.fn.owlCarousel.Constructor.Plugins.AutoHeight=a}(window.Zepto||window.jQuery,window,document),function($,b,c,d){var a=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":$.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":$.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":$.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":$.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":$.proxy(function(a){if(a.namespace){var b=$(a.content).find(".owl-video");b.length&&(b.css("display","none"),this.fetch(b,$(a.content)))}},this)},this._core.options=$.extend({},a.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",$.proxy(function(a){this.play(a)},this))};a.Defaults={video:!1,videoHeight:!1,videoWidth:!1},a.prototype.fetch=function(a,e){var d=a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube",b=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),f=a.attr("data-width")||this._core.settings.videoWidth,g=a.attr("data-height")||this._core.settings.videoHeight,c=a.attr("href");if(c){if((b=c.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+)?/))[3].indexOf("youtu")> -1)d="youtube";else if(b[3].indexOf("vimeo")> -1)d="vimeo";else if(b[3].indexOf("vzaar")> -1)d="vzaar";else throw new Error("Video URL not supported.");b=b[6]}else throw new Error("Missing video URL.");this._videos[c]={type:d,id:b,width:f,height:g},e.attr("data-video",c),this.thumbnail(a,this._videos[c])},a.prototype.thumbnail=function(c,a){var i,j,f,g=a.width&&a.height?'style="width:'+a.width+"px;height:"+a.height+'px;"':"",b=c.find("img"),d="src",h="",k=this._core.settings,e=function(a){j='<div class="owl-video-play-icon"></div>',i=k.lazyLoad?'<div class="owl-video-tn '+h+'" '+d+'="'+a+'"></div>':'<div class="owl-video-tn" style="opacity:1;background-image:url('+a+')"></div>',c.after(i),c.after(j)};if(c.wrap('<div class="owl-video-wrapper"'+g+"></div>"),this._core.settings.lazyLoad&&(d="data-src",h="owl-lazy"),b.length)return e(b.attr(d)),b.remove(),!1;"youtube"===a.type?e(f="//img.youtube.com/vi/"+a.id+"/hqdefault.jpg"):"vimeo"===a.type?$.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+a.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){e(f=a[0].thumbnail_large)}}):"vzaar"===a.type&&$.ajax({type:"GET",url:"//vzaar.com/api/videos/"+a.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){e(f=a.framegrab_url)}})},a.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")},a.prototype.play=function(f){var c,b=$(f.target).closest("."+this._core.settings.itemClass),a=this._videos[b.attr("data-video")],d=a.width||"100%",e=a.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),b=this._core.items(this._core.relative(b.index())),this._core.reset(b.index()),"youtube"===a.type?c='<iframe width="'+d+'" height="'+e+'" src="//www.youtube.com/embed/'+a.id+"?autoplay=1&rel=0&v="+a.id+'" frameborder="0" allowfullscreen></iframe>':"vimeo"===a.type?c='<iframe src="//player.vimeo.com/video/'+a.id+'?autoplay=1" width="'+d+'" height="'+e+'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>':"vzaar"===a.type&&(c='<iframe frameborder="0"height="'+e+'"width="'+d+'" allowfullscreen mozallowfullscreen webkitAllowFullScreen src="//view.vzaar.com/'+a.id+'/player?autoplay=true"></iframe>'),$('<div class="owl-video-frame">'+c+"</div>").insertAfter(b.find(".owl-video")),this._playing=b.addClass("owl-video-playing"))},a.prototype.isInFullScreen=function(){var a=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return a&&$(a).parent().hasClass("owl-video-frame")},a.prototype.destroy=function(){var a,b;for(a in this._core.$element.off("click.owl.video"),this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},$.fn.owlCarousel.Constructor.Plugins.Video=a}(window.Zepto||window.jQuery,window,document),function($,b,c,d){var a=function(b){this.core=b,this.core.options=$.extend({},a.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":$.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":$.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":$.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};a.Defaults={animateOut:!1,animateIn:!1},a.prototype.swap=function(){if(1===this.core.settings.items&&$.support.animation&&$.support.transition){this.core.speed(0);var a,b=$.proxy(this.clear,this),e=this.core.$stage.children().eq(this.previous),f=this.core.$stage.children().eq(this.next),c=this.core.settings.animateIn,d=this.core.settings.animateOut;this.core.current()!==this.previous&&(d&&(a=this.core.coordinates(this.previous)-this.core.coordinates(this.next),e.one($.support.animation.end,b).css({left:a+"px"}).addClass("animated owl-animated-out").addClass(d)),c&&f.one($.support.animation.end,b).addClass("animated owl-animated-in").addClass(c))}},a.prototype.clear=function(a){$(a.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},a.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)},$.fn.owlCarousel.Constructor.Plugins.Animate=a}(window.Zepto||window.jQuery,window,document),function($,b,c,d){var a=function(b){this._core=b,this._timeout=null,this._paused=!1,this._handlers={"changed.owl.carousel":$.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":$.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":$.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":$.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":$.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":$.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":$.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":$.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=$.extend({},a.Defaults,this._core.options)};a.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},a.prototype.play=function(a,b){this._paused=!1,this._core.is("rotating")||(this._core.enter("rotating"),this._setAutoPlayInterval())},a.prototype._getNextTimeout=function(a,d){return this._timeout&&b.clearTimeout(this._timeout),b.setTimeout($.proxy(function(){this._paused||this._core.is("busy")||this._core.is("interacting")||c.hidden||this._core.next(d||this._core.settings.autoplaySpeed)},this),a||this._core.settings.autoplayTimeout)},a.prototype._setAutoPlayInterval=function(){this._timeout=this._getNextTimeout()},a.prototype.stop=function(){this._core.is("rotating")&&(b.clearTimeout(this._timeout),this._core.leave("rotating"))},a.prototype.pause=function(){this._core.is("rotating")&&(this._paused=!0)},a.prototype.destroy=function(){var a,b;for(a in this.stop(),this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},$.fn.owlCarousel.Constructor.Plugins.autoplay=a}(window.Zepto||window.jQuery,window,document),function($,b,c,d){"use strict";var a=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":$.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+$(a.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"</div>")},this),"added.owl.carousel":$.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":$.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":$.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":$.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":$.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=$.extend({},a.Defaults,this._core.options),this.$element.on(this._handlers)};a.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},a.prototype.initialize=function(){var b,a=this._core.settings;for(b in this._controls.$relative=(a.navContainer?$(a.navContainer):$("<div>").addClass(a.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=$("<"+a.navElement+">").addClass(a.navClass[0]).html(a.navText[0]).prependTo(this._controls.$relative).on("click",$.proxy(function(b){this.prev(a.navSpeed)},this)),this._controls.$next=$("<"+a.navElement+">").addClass(a.navClass[1]).html(a.navText[1]).appendTo(this._controls.$relative).on("click",$.proxy(function(b){this.next(a.navSpeed)},this)),a.dotsData||(this._templates=[$("<div>").addClass(a.dotClass).append($("<span>")).prop("outerHTML")]),this._controls.$absolute=(a.dotsContainer?$(a.dotsContainer):$("<div>").addClass(a.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","div",$.proxy(function(b){var c=$(b.target).parent().is(this._controls.$absolute)?$(b.target).index():$(b.target).parent().index();b.preventDefault(),this.to(c,a.dotsSpeed)},this)),this._overrides)this._core[b]=$.proxy(this[b],this)},a.prototype.destroy=function(){var a,d,b,c;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(d in this._controls)this._controls[d].remove();for(c in this.overides)this._core[c]=this._overrides[c];for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.prototype.update=function(){var b,c,d=this._core.clones().length/2,g=d+this._core.items().length,e=this._core.maximum(!0),a=this._core.settings,f=a.center||a.autoWidth||a.dotsData?1:a.dotsEach||a.items;if("page"!==a.slideBy&&(a.slideBy=Math.min(a.slideBy,a.items)),a.dots||"page"==a.slideBy)for(this._pages=[],b=d,c=0;b<g;b++){if(c>=f||0===c){if(this._pages.push({start:Math.min(e,b-d),end:b-d+f-1}),Math.min(e,b-d)===e)break;c=0}c+=this._core.mergers(this._core.relative(b))}},a.prototype.draw=function(){var b,a=this._core.settings,c=this._core.items().length<=a.items,d=this._core.relative(this._core.current()),e=a.loop||a.rewind;this._controls.$relative.toggleClass("disabled",!a.nav||c),a.nav&&(this._controls.$previous.toggleClass("disabled",!e&&d<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!e&&d>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!a.dots||c),a.dots&&(b=this._pages.length-this._controls.$absolute.children().length,a.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($.inArray(this.current(),this._pages)).addClass("active"))},a.prototype.onTrigger=function(b){var a=this._core.settings;b.page={index:$.inArray(this.current(),this._pages),count:this._pages.length,size:a&&(a.center||a.autoWidth||a.dotsData?1:a.dotsEach||a.items)}},a.prototype.current=function(){var a=this._core.relative(this._core.current());return $.grep(this._pages,$.proxy(function(b,c){return b.start<=a&&b.end>=a},this)).pop()},a.prototype.getPosition=function(d){var a,b,c=this._core.settings;return"page"==c.slideBy?(a=$.inArray(this.current(),this._pages),b=this._pages.length,d?++a:--a,a=this._pages[(a%b+b)%b].start):(a=this._core.relative(this._core.current()),b=this._core.items().length,d?a+=c.slideBy:a-=c.slideBy),a},a.prototype.next=function(a){$.proxy(this._overrides.to,this._core)(this.getPosition(!0),a)},a.prototype.prev=function(a){$.proxy(this._overrides.to,this._core)(this.getPosition(!1),a)},a.prototype.to=function(b,c,d){var a;!d&&this._pages.length?(a=this._pages.length,$.proxy(this._overrides.to,this._core)(this._pages[(b%a+a)%a].start,c)):$.proxy(this._overrides.to,this._core)(b,c)},$.fn.owlCarousel.Constructor.Plugins.Navigation=a}(window.Zepto||window.jQuery,window,document),function($,b,c,d){"use strict";var a=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":$.proxy(function(a){a.namespace&&"URLHash"===this._core.settings.startPosition&&$(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":$.proxy(function(a){if(a.namespace){var b=$(a.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");b&&(this._hashes[b]=a.content)}},this),"changed.owl.carousel":$.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),a=$.map(this._hashes,function(a,b){return a===d?b:null}).join();a&&b.location.hash.slice(1)!==a&&(b.location.hash=a)}},this)},this._core.options=$.extend({},a.Defaults,this._core.options),this.$element.on(this._handlers),$(b).on("hashchange.owl.navigation",$.proxy(function(e){var c=b.location.hash.substring(1),d=this._core.$stage.children(),a=this._hashes[c]&&d.index(this._hashes[c]);void 0!==a&&a!==this._core.current()&&this._core.to(this._core.relative(a),!1,!0)},this))};a.Defaults={URLhashListener:!1},a.prototype.destroy=function(){var a,c;for(a in $(b).off("hashchange.owl.navigation"),this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},$.fn.owlCarousel.Constructor.Plugins.Hash=a}(window.Zepto||window.jQuery,window,document),function($,d,e,f){var g=$("<support>").get(0).style,h="Webkit Moz O ms".split(" "),c={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},a={csstransforms:function(){return!!i("transform")},csstransforms3d:function(){return!!i("perspective")},csstransitions:function(){return!!i("transition")},cssanimations:function(){return!!i("animation")}};function i(a,d){var c=!1,b=a.charAt(0).toUpperCase()+a.slice(1);return $.each((a+" "+h.join(b+" ")+b).split(" "),function(b,a){if(void 0!==g[a])return c=!d||a,!1}),c}function b(a){return i(a,!0)}a.csstransitions()&&($.support.transition=new String(b("transition")),$.support.transition.end=c.transition.end[$.support.transition]),a.cssanimations()&&($.support.animation=new String(b("animation")),$.support.animation.end=c.animation.end[$.support.animation]),a.csstransforms()&&($.support.transform=new String(b("transform")),$.support.transform3d=a.csstransforms3d())}(window.Zepto||window.jQuery,window,document)