function customTooltip(){$(".custom-tooltip").tooltipster({theme:"tooltipster-light",contentCloning:!0})}function characterLimit(){$(".js-character-limit textarea, .js-character-limit input").each(function(){var n=$(this),t=n.closest(".js-character-limit"),i=n.attr("maxlength"),r=t.find(".js-character-display");r.html(i)});$(".js-character-limit textarea, .js-character-limit input").keyup(function(){var n=$(this),t=n.closest(".js-character-limit"),i=n.attr("maxlength"),r=n.val().length,u=t.find(".js-character-display");u.html(i-r)})}function pageTitlecharacterLimit(){var t=!1,n=0;$(".js-page-title-character-limit input").each(function(){var n=$(this),r=n.closest(".js-page-title-character-limit"),u=r.find(".js-character-display"),i=n.val();u.html("53"-i.length);i.length>53&&(t=!0)});$(".js-page-title-character-limit input").keyup(function(){var t=$(this),r=t.closest(".js-page-title-character-limit"),i=t.val().length,u=r.find(".js-character-display");u.html(53-i);n=i});$(".js-page-title-character-limit").closest("form").find(".js-loading-btn").click(function(i){$(this).addClass("no-loading");console.log(n);!t&&n>53?($(".characters-validation").fadeIn(),i.preventDefault()):($(".characters-validation").fadeOut(),$(".js-loading-btn").removeClass("no-loading"),$(this).closest("form").submit())})}function characterSEO(){$(".js-character-seo .js-field").each(function(){var n=$(this),r=n.closest(".js-character-seo"),t=r.find("p"),i=n.val().length,u=r.find(".js-character-display"),f=n.data("minlength"),e=n.data("maxlength");u.html(i);t.removeClass();i<f?t.addClass("orange"):i>e?t.addClass("red"):t.addClass("green")});$(".js-character-seo .js-field").keyup(function(){var n=$(this),r=n.closest(".js-character-seo"),t=r.find("p"),i=n.val().length,u=r.find(".js-character-display"),f=n.data("minlength"),e=n.data("maxlength");u.html(i);t.removeClass();i<f?t.addClass("orange"):i>e?t.addClass("red"):t.addClass("green")})}function lightbox(){$(".js-lightbox .js-close").click(function(){var n=$(this),t=n.closest(".js-lightbox");$("html, body").removeClass("no-scroll");t.fadeOut()})}function openLoading(){$(".js-loading-overlay").show()}function closeLoading(){$(".js-loading-overlay").hide()}function ImagePicker(){function u(r,f,e,o){console.log("extra options:");console.log(o);var s;n==undefined?window._filePickerJWT==undefined?console.error("No JWT set for file picker (window._filePickerJWT)"):(s=e,n=MF.FilePicker.create({jwt:window._filePickerJWT,target:document.querySelector(i),base:window.filePickerUrl,onLoad:function(){var e=80,s=80,i=null,u=null;o!=undefined&&(o.minWidth!=undefined&&(e=o.minWidth),o.minHeight!=undefined&&(s=o.minHeight),o.maxWidth!=undefined&&(i=o.maxWidth),o.maxHeight!=undefined&&(u=o.maxHeight));console.log("FPEmbed: onLoad");n.setAspectRatio(r/f);n.setMinimumSize(e,s);i!=null&&u!=null&&n.setMaximumSize(i,u);o.isVideos?(console.log("Setting Video Only"),n.setTabVisibility("videoGallery",!0),n.setTabVisibility("photoGallery",!1)):(console.log("Setting Photo Only"),n.setTabVisibility("videoGallery",!1),n.setTabVisibility("photoGallery",!0));closeLoading();$(t).show();console.log("Setting "+window._pickerAllowUploads);n.setAllowOwnUploads(window._pickerAllowUploads)},onPicked:function(n){s(n)}})):(n=undefined,$(i).html(""),u(r,f,e,o))}var n,t=".js-picker-zone",i=".js-picker-zone-inner",r=!1;$(t).is(":hidden")&&(r=!1);$(document).on("click",".js-picker-change",function(){console.log("pick click");var f=$(this),e=f.closest(".js-picker-wrap"),h=e.find("input"),s=e.find("img"),c=e.find("source"),o=e.find("video"),l=e.closest(".row").hasClass("js-banner-picker"),a=f.data("x"),v=f.data("y"),y=f.data("minwidth"),p=f.data("minheight"),w=f.data("isvideos"),b=f.data("maxwidth"),k=f.data("maxheight");return window._pickerAllowUploads=f.data("allow-uploads").toLowerCase()=="true",console.log("uplaod src : "+f.data("allow-uploads")),console.log("Uploads : "+window._pickerAllowUploads),u(a,v,function(r){console.log("FPEmbed: picked",r);h.val(r.public_url);r.public_url.includes(".mp4")?(c.attr("src",r.public_url),o.show(),o[0].load(),o[0].play(),s.hide()):(s.attr("src",r.public_url),s.show(),o.hide());$(t).hide();n=undefined;$(i).html("")},{minWidth:y,minHeight:p,isVideos:w,maxWidth:b,maxHeight:k}),l?($(t).addClass("banner-picker"),r=!0):$(t).removeClass("banner-picker"),!1});$(document).on("click",".js-picker-zone .js-close",function(){var f=$(this),u=f.closest(".js-picker-zone"),e=u.closest(".row").hasClass("js-banner-picker");r&&$(t).removeClass("banner-picker");n=undefined;$(i).html("");u.hide()})}function genericNotification(){$(".js-generic-notification .js-close").click(function(){var n=$(this),t=n.closest(".js-generic-notification");t.hide();$("html").removeClass("notification-view")})}function couraselIconJs(){$(".js-carousel-pods").each(function(){var n=$(this),t=n.find(".js-pod");t.each(function(){var t=$(this),i=t.find(".icon"),r=String(i.attr("src")),n;t.hasClass("blue")&&(n=r.replace("pink","blue"),i.attr("src",n));t.hasClass("gold")&&(n=r.replace("pink","gold"),i.attr("src",n));t.hasClass("pink")&&(n=r.replace("pink","blue"),i.attr("src",n))})})}function colorDistance(n,t){for(var r=0,i=0;i<n.length;i++)r+=(n[i]-t[i])*(n[i]-t[i]);return Math.sqrt(r)}function addUnderlineClass(){$(".wysiwyg u, .redactor-styles u").addClass("custom-underline")}function TextUnderline(){addUnderlineClass();$(".js-underlined-text, .wysiwyg u, .redactor-styles u").each(function(){var t=$(this),i=t.width(),s=t.attr("data-colour"),r="purple",n="50",u="straight",f="11",e="7",o;i<85?(n="50",f="auto",e="0"):i<125?(n="100",f="auto",e="0"):i<175?(n="150",u="curve"):i<225?(n="200",u="curve"):i<275?(n="250",u="curve"):i<325?(n="300",u="curve"):i<375?n="350":i<425?n="400":i>=425&&(n="450");o=t.css("background-color");o==="rgba(0, 0, 0, 0)"&&(o="rgb(0, 0, 0)");switch(s){case"blue":r="teal";break;case"white":r="white";break;case"pink":r="pink";break;default:r="purple"}var h="url(/_Content/images/main/pagebuilder/banner-text-underline/"+r+"-"+u+"-"+n+"px.svg)",c="100%"+f+"px",l=e+"px";t.hasClass("js-box-text")?(t.css({"background-image":"url(/_Content/images/main/pagebuilder/banner-text-underline/underline-box-"+r+".png)","background-size":"100% 100%"}),t.addClass("box")):t.parent().hasClass("dark-teal")?t.css({"background-image":"url(/_Content/images/main/pagebuilder/banner-text-underline/white-straight-skinny-100px-01.svg)","background-size":"100% 3px","background-position":"0 91%"}):t.css({"background-image":h,"background-size":c,"padding-bottom":l})})}function pageBannerSlider(){$(".js-banner-slider").each(function(){var t=$(this),n;t.children(".slide").length>1&&(n=t.bxSlider({mode:"fade",auto:!0,pause:1e4,speed:600,controls:!1,touchEnabled:!1,onSliderLoad:function(){var n=$(this).height()+90;$(this).find(".slide").css("height",n+"px")}}),n!==undefined&&bxSliders.push(n))})}function simpleNavSlider(){$(".js-split-pod-slider").each(function(){var t=$(this),n;t.children(".split-pod").length>1&&(n=t.bxSlider({auto:!0,pause:1e4,speed:600,touchEnabled:!1}),n!==undefined&&bxSliders.push(n))})}function simpleImageSlider(){$(".js-img-slider").each(function(){var t=$(this),n;t.children(".img-slider-item").length>1&&(n=t.bxSlider({auto:!0,pause:1e4,speed:600,touchEnabled:!1}),n!==undefined&&bxSliders.push(n))})}function owlSlider(){$(".js-carousel-slider").each(function(){$(this).owlCarousel({items:4,nav:!0,dots:!1,navText:['<span aria-label="Previous"><i class="fa fa-chevron-left"><\/i><\/span>','<span aria-label="Next"><i class="fa fa-chevron-right"><\/i><\/span>'],responsiveBaseElement:".carousel-block",responsiveClass:!0,responsive:{0:{items:1},500:{items:2},850:{items:3},1250:{items:4}}})})}function bgIconJs(){$(".js-bg-icon").each(function(){var n=$(this),t,i;n.hasClass("icon-heart")?n.css({"background-image":"url(/_Content/images/main/pagebuilder/icons/heart-blue.svg)"}):n.hasClass("icon-jigsaw")?n.css({"background-image":"url(/_Content/images/main/pagebuilder/icons/jigsaw-blue.svg)"}):n.hasClass("icon-sofa")?n.css({"background-image":"url(/_Content/images/main/pagebuilder/icons/sofa-blue.svg)"}):n.hasClass("icon-cup")&&n.css({"background-image":"url(/_Content/images/main/pagebuilder/icons/cup-blue.svg)"});t=String(n.attr("style"));n.hasClass("purple")&&(i=t.replace("blue","purple"),n.attr("style",i))})}function fixedHeader(){var n=$(document).scrollTop();n>=1?($(".header-wrap").addClass("stick"),$(".js-call-us-bottom").fadeOut(200)):($(".header-wrap").removeClass("stick"),$(".js-call-us-bottom").fadeIn(200))}function pageRestructure(){document.onRestructure==undefined&&(document.onRestructure=function(n){isRestructured?n():callbackArray.push(n)});$(document).ready(function(){function t(){isRestructured=!0;$.each(callbackArray,function(n,t){t()})}var n=$("#page-builder-preload"),i=$(".js-pagebuild-rootarea");n.length>0?(n.find(".js-pagebuild-loaditem").each(function(n,t){var r=$(t),e=r.data("type"),o=r.data("index"),u=r.data("parentindex"),f;u!==undefined&&u!==""?(f=$('.js-pagebuild-childarea[data-index="'+u+'"]'),f.append(r)):i.append(r)}),t()):t()})}function reloadBlockJS(){for(var t,n=0;n<bxSliders.length;n++)t=bxSliders[n],t.reloadSlider();simpleImageSlider();simpleNavSlider();pageBannerSlider();TextUnderline();couraselIconJs();owlSlider()}function moreButtonsSelector(){$(document).on("click",".js-open-button-box",function(){var n=$(this),t=n.siblings(".js-button-box");return t.addClass("visible"),!1});$(document).on("click",".js-button-box .btn",function(){var n=$(this),t=n.closest(".js-button-box");t.removeClass("visible")});$(document).on("click",".js-button-box",function(n){n.stopPropagation()})}function updateSelect(){$(".js-custom-select").each(function(n,t){var i=$(t);i.siblings('input[type="text"]').val(i.find('option[value="'+i.val()+'"]').text().trim())})}function runSelect2(){$(".js-multi-select").select2()}function runDateTimePickers(){$(".js-datepicker").datepicker({format:"dd/mm/yyyy"});$(".js-timepicker").timepicker({timeFormat:"H:i"})}function toggleUI(){$("html").toggleClass("hidden-ui");$("body").toggleClass("toolbars-active");$("body").hasClass("toolbars-active")?localStorage.setItem("ui-status",1):localStorage.setItem("ui-status",0);reloadBlockJS()}function loadPods(){function n(){$(".page-builder .js-more-news").each(function(){var t=$(this),n=t.parent().prev(".js-repeater-block"),i=n.find(".js-repeater-pod:visible").length;n.find(".js-repeater-pod:visible").each(function(){var n=$(this),t=String(n.find("img").attr("data-src"));n.find("img").attr("src",t)});n.attr("data-pods",i)})}function t(){$(".page-builder .js-more-news").click(function(){var n=$(this),t=0,r=n.parent().prev(".js-repeater-block"),i=parseInt(n.parent().prev(".js-repeater-block").attr("data-pods")),u=n.parent().prev(".js-repeater-block").find(".js-repeater-pod:hidden").length;return console.log("clicked"),u<=i&&n.parent().fadeOut(250),r.find(".js-repeater-pod:hidden").each(function(){var n=$(this),r=n.find("img").attr("data-src");if(!n.is(":visible"))if(t++,t<i)n.find("img").attr("src",r),n.slideDown({start:function(){$(this).css({display:"flex"})}});else if(t===i)return n.find("img").attr("src",r),n.slideDown({start:function(){$(this).css({display:"flex"})}}),console.log(t),!1}),!1})}document.onRestructure(function(){n()});$(document).change(function(){n()});$(document).ready(function(){n();t()})}var bxSliders,callbackArray,isRestructured,isConfirmActionClickBound,lastAction;(function(n){n.fn.serializeFiles=function(){var i=n(this),t=new FormData,r=i.serializeArray();return n.each(i.find('input[type="file"]'),function(i,r){n.each(n(r)[0].files,function(n,i){t.append(r.name,i)})}),n.each(r,function(n,i){t.append(i.name,i.value)}),t}})(jQuery);!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(t,i){return void 0===i&&(i="undefined"!=typeof window?require("jquery"):require("jquery")(t)),n(i),i}:n(jQuery)}(function(n){var t=function(){var t;return n&&n.fn&&n.fn.select2&&n.fn.select2.amd&&(t=n.fn.select2.amd),function(){if(!t||!t.requirejs){t?i=t:t={};var n,i,r;!function(t){function e(n,t){return tt.call(n,t)}function c(n,t){var e,o,s,u,h,y,c,p,i,l,w,b,r=t&&t.split("/"),a=f.map,v=a&&a["*"]||{};if(n){for(n=n.split("/"),h=n.length-1,f.nodeIdCompat&&k.test(n[h])&&(n[h]=n[h].replace(k,"")),"."===n[0].charAt(0)&&r&&(b=r.slice(0,r.length-1),n=b.concat(n)),i=0;i<n.length;i++)if("."===(w=n[i]))n.splice(i,1),i-=1;else if(".."===w){if(0===i||1===i&&".."===n[2]||".."===n[i-1])continue;i>0&&(n.splice(i-1,2),i-=2)}n=n.join("/")}if((r||v)&&a){for(e=n.split("/"),i=e.length;i>0;i-=1){if(o=e.slice(0,i).join("/"),r)for(l=r.length;l>0;l-=1)if((s=a[r.slice(0,l).join("/")])&&(s=s[o])){u=s;y=i;break}if(u)break;!c&&v&&v[o]&&(c=v[o],p=i)}!u&&c&&(u=c,y=p);u&&(e.splice(0,y,u),n=e.join("/"))}return n}function w(n,i){return function(){var r=it.call(arguments,0);return"string"!=typeof r[0]&&1===r.length&&r.push(null),o.apply(t,r.concat([n,i]))}}function d(n){return function(t){return c(t,n)}}function g(n){return function(t){u[n]=t}}function l(n){if(e(h,n)){var i=h[n];delete h[n];p[n]=!0;a.apply(t,i)}if(!e(u,n)&&!e(p,n))throw new Error("No "+n);return u[n]}function v(n){var i,t=n?n.indexOf("!"):-1;return t>-1&&(i=n.substring(0,t),n=n.substring(t+1,n.length)),[i,n]}function b(n){return n?v(n):[]}function nt(n){return function(){return f&&f.config&&f.config[n]||{}}}var a,o,y,s,u={},h={},f={},p={},tt=Object.prototype.hasOwnProperty,it=[].slice,k=/\.js$/;y=function(n,t){var r,u=v(n),i=u[0],f=t[1];return n=u[1],i&&(i=c(i,f),r=l(i)),i?n=r&&r.normalize?r.normalize(n,d(f)):c(n,f):(n=c(n,f),u=v(n),i=u[0],n=u[1],i&&(r=l(i))),{f:i?i+"!"+n:n,n:n,pr:i,p:r}};s={require:function(n){return w(n)},exports:function(n){var t=u[n];return void 0!==t?t:u[n]={}},module:function(n){return{id:n,uri:"",exports:u[n],config:nt(n)}}};a=function(n,i,r,f){var v,o,d,k,c,nt,tt,a=[],it=typeof r;if(f=f||n,nt=b(f),"undefined"===it||"function"===it){for(i=!i.length&&r.length?["require","exports","module"]:i,c=0;c<i.length;c+=1)if(k=y(i[c],nt),"require"===(o=k.f))a[c]=s.require(n);else if("exports"===o)a[c]=s.exports(n),tt=!0;else if("module"===o)v=a[c]=s.module(n);else if(e(u,o)||e(h,o)||e(p,o))a[c]=l(o);else{if(!k.p)throw new Error(n+" missing "+o);k.p.load(k.n,w(f,!0),g(o),{});a[c]=u[o]}d=r?r.apply(u[n],a):void 0;n&&(v&&v.exports!==t&&v.exports!==u[n]?u[n]=v.exports:d===t&&tt||(u[n]=d))}else n&&(u[n]=r)};n=i=o=function(n,i,r,u,e){if("string"==typeof n)return s[n]?s[n](i):l(y(n,b(i)).f);if(!n.splice){if(f=n,f.deps&&o(f.deps,f.callback),!i)return;i.splice?(n=i,i=r,r=null):n=t}return i=i||function(){},"function"==typeof r&&(r=u,u=e),u?a(t,n,i,r):setTimeout(function(){a(t,n,i,r)},4),o};o.config=function(n){return o(n)};n._defined=u;r=function(n,t,i){if("string"!=typeof n)throw new Error("See almond README: incorrect module build, no module name");t.splice||(i=t,t=[]);e(u,n)||e(h,n)||(h[n]=[n,t,i])};r.amd={jQuery:!0}}();t.requirejs=n;t.require=i;t.define=r}}(),t.define("almond",function(){}),t.define("jquery",[],function(){var t=n||$;return null==t&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),t}),t.define("select2/utils",["jquery"],function(n){function r(n){var i=n.prototype,r=[],t;for(t in i)"function"==typeof i[t]&&"constructor"!==t&&r.push(t);return r}var t={},i;return t.Extend=function(n,t){function r(){this.constructor=n}var u={}.hasOwnProperty,i;for(i in t)u.call(t,i)&&(n[i]=t[i]);return r.prototype=t.prototype,n.prototype=new r,n.__super__=t.prototype,n},t.Decorate=function(n,t){function i(){var r=Array.prototype.unshift,u=t.prototype.constructor.length,i=n.prototype.constructor;u>0&&(r.call(arguments,n.prototype.constructor),i=t.prototype.constructor);i.apply(this,arguments)}function l(){this.constructor=i}var s=r(t),h=r(n),u,e,c,f,o;for(t.displayName=n.displayName,i.prototype=new l,u=0;u<h.length;u++)e=h[u],i.prototype[e]=n.prototype[e];for(c=function(n){var r=function(){},u;return n in i.prototype&&(r=i.prototype[n]),u=t.prototype[n],function(){return Array.prototype.unshift.call(arguments,r),u.apply(this,arguments)}},f=0;f<s.length;f++)o=s[f],i.prototype[o]=c(o);return i},i=function(){this.listeners={}},i.prototype.on=function(n,t){this.listeners=this.listeners||{};n in this.listeners?this.listeners[n].push(t):this.listeners[n]=[t]},i.prototype.trigger=function(n){var i=Array.prototype.slice,t=i.call(arguments,1);this.listeners=this.listeners||{};null==t&&(t=[]);0===t.length&&t.push({});t[0]._type=n;n in this.listeners&&this.invoke(this.listeners[n],i.call(arguments,1));"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},i.prototype.invoke=function(n,t){for(var i=0,r=n.length;i<r;i++)n[i].apply(this,t)},t.Observable=i,t.generateChars=function(n){for(var t="",i=0;i<n;i++)t+=Math.floor(36*Math.random()).toString(36);return t},t.bind=function(n,t){return function(){n.apply(t,arguments)}},t._convertData=function(n){var f,r,i,u,t;for(f in n)if(r=f.split("-"),i=n,1!==r.length){for(u=0;u<r.length;u++)t=r[u],t=t.substring(0,1).toLowerCase()+t.substring(1),t in i||(i[t]={}),u==r.length-1&&(i[t]=n[f]),i=i[t];delete n[f]}return n},t.hasScroll=function(t,i){var u=n(i),f=i.style.overflowX,r=i.style.overflowY;return(f!==r||"hidden"!==r&&"visible"!==r)&&("scroll"===f||"scroll"===r||u.innerHeight()<i.scrollHeight||u.innerWidth()<i.scrollWidth)},t.escapeMarkup=function(n){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof n?n:String(n).replace(/[&<>"'\/\\]/g,function(n){return t[n]})},t.appendMany=function(t,i){if("1.7"===n.fn.jquery.substr(0,3)){var r=n();n.map(i,function(n){r=r.add(n)});i=r}t.append(i)},t}),t.define("select2/results",["jquery","./utils"],function(n,t){function i(n,t,r){this.$element=n;this.data=r;this.options=t;i.__super__.constructor.call(this)}return t.Extend(i,t.Observable),i.prototype.render=function(){var t=n('<ul class="select2-results__options" role="tree"><\/ul>');return this.options.get("multiple")&&t.attr("aria-multiselectable","true"),this.$results=t,t},i.prototype.clear=function(){this.$results.empty()},i.prototype.displayMessage=function(t){var u=this.options.get("escapeMarkup"),i,r;this.clear();this.hideLoading();i=n('<li role="treeitem" aria-live="assertive" class="select2-results__option"><\/li>');r=this.options.get("translations").get(t.message);i.append(u(r(t.args)));i[0].className+=" select2-results__message";this.$results.append(i)},i.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},i.prototype.append=function(n){var i,t,r,u;if(this.hideLoading(),i=[],null==n.results||0===n.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));for(n.results=this.sort(n.results),t=0;t<n.results.length;t++)r=n.results[t],u=this.option(r),i.push(u);this.$results.append(i)},i.prototype.position=function(n,t){t.find(".select2-results").append(n)},i.prototype.sort=function(n){return this.options.get("sorter")(n)},i.prototype.highlightFirstItem=function(){var n=this.$results.find(".select2-results__option[aria-selected]"),t=n.filter("[aria-selected=true]");t.length>0?t.first().trigger("mouseenter"):n.first().trigger("mouseenter");this.ensureHighlightVisible()},i.prototype.setClasses=function(){var t=this;this.data.current(function(i){var r=n.map(i,function(n){return n.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var i=n(this),t=n.data(this,"data"),u=""+t.id;null!=t.element&&t.element.selected||null==t.element&&n.inArray(u,r)>-1?i.attr("aria-selected","true"):i.attr("aria-selected","false")})})},i.prototype.showLoading=function(n){this.hideLoading();var i=this.options.get("translations").get("searching"),r={disabled:!0,loading:!0,text:i(n)},t=this.option(r);t.className+=" loading-results";this.$results.prepend(t)},i.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},i.prototype.option=function(t){var r=document.createElement("li"),i,e,c,o,u,s,f,l,a,h;r.className="select2-results__option";i={role:"treeitem","aria-selected":"false"};t.disabled&&(delete i["aria-selected"],i["aria-disabled"]="true");null==t.id&&delete i["aria-selected"];null!=t._resultId&&(r.id=t._resultId);t.title&&(r.title=t.title);t.children&&(i.role="group",i["aria-label"]=t.text,delete i["aria-selected"]);for(e in i)c=i[e],r.setAttribute(e,c);if(t.children){for(o=n(r),u=document.createElement("strong"),u.className="select2-results__group",n(u),this.template(t,u),s=[],f=0;f<t.children.length;f++)l=t.children[f],a=this.option(l),s.push(a);h=n("<ul><\/ul>",{"class":"select2-results__options select2-results__options--nested"});h.append(s);o.append(u);o.append(h)}else this.template(t,r);return n.data(r,"data",t),r},i.prototype.bind=function(t){var i=this,r=t.id+"-results";this.$results.attr("id",r);t.on("results:all",function(n){i.clear();i.append(n.data);t.isOpen()&&(i.setClasses(),i.highlightFirstItem())});t.on("results:append",function(n){i.append(n.data);t.isOpen()&&i.setClasses()});t.on("query",function(n){i.hideMessages();i.showLoading(n)});t.on("select",function(){t.isOpen()&&(i.setClasses(),i.highlightFirstItem())});t.on("unselect",function(){t.isOpen()&&(i.setClasses(),i.highlightFirstItem())});t.on("open",function(){i.$results.attr("aria-expanded","true");i.$results.attr("aria-hidden","false");i.setClasses();i.ensureHighlightVisible()});t.on("close",function(){i.$results.attr("aria-expanded","false");i.$results.attr("aria-hidden","true");i.$results.removeAttr("aria-activedescendant")});t.on("results:toggle",function(){var n=i.getHighlightedResults();0!==n.length&&n.trigger("mouseup")});t.on("results:select",function(){var n=i.getHighlightedResults(),t;0!==n.length&&(t=n.data("data"),"true"==n.attr("aria-selected")?i.trigger("close",{}):i.trigger("select",{data:t}))});t.on("results:previous",function(){var r=i.getHighlightedResults(),u=i.$results.find("[aria-selected]"),f=u.index(r),n,t;if(0!==f){n=f-1;0===r.length&&(n=0);t=u.eq(n);t.trigger("mouseenter");var e=i.$results.offset().top,o=t.offset().top,s=i.$results.scrollTop()+(o-e);0===n?i.$results.scrollTop(0):o-e<0&&i.$results.scrollTop(s)}});t.on("results:next",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),o=t.index(e),r=o+1,n;if(!(r>=t.length)){n=t.eq(r);n.trigger("mouseenter");var u=i.$results.offset().top+i.$results.outerHeight(!1),f=n.offset().top+n.outerHeight(!1),s=i.$results.scrollTop()+f-u;0===r?i.$results.scrollTop(0):f>u&&i.$results.scrollTop(s)}});t.on("results:focus",function(n){n.element.addClass("select2-results__option--highlighted")});t.on("results:message",function(n){i.displayMessage(n)});n.fn.mousewheel&&this.$results.on("mousewheel",function(n){var t=i.$results.scrollTop(),r=i.$results.get(0).scrollHeight-t+n.deltaY,u=n.deltaY>0&&t-n.deltaY<=0,f=n.deltaY<0&&r<=i.$results.height();u?(i.$results.scrollTop(0),n.preventDefault(),n.stopPropagation()):f&&(i.$results.scrollTop(i.$results.get(0).scrollHeight-i.$results.height()),n.preventDefault(),n.stopPropagation())});this.$results.on("mouseup",".select2-results__option[aria-selected]",function(t){var r=n(this),u=r.data("data");if("true"===r.attr("aria-selected"))return void(i.options.get("multiple")?i.trigger("unselect",{originalEvent:t,data:u}):i.trigger("close",{}));i.trigger("select",{originalEvent:t,data:u})});this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(){var t=n(this).data("data");i.getHighlightedResults().removeClass("select2-results__option--highlighted");i.trigger("results:focus",{data:t,element:n(this)})})},i.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},i.prototype.destroy=function(){this.$results.remove()},i.prototype.ensureHighlightVisible=function(){var n=this.getHighlightedResults();if(0!==n.length){var f=this.$results.find("[aria-selected]"),e=f.index(n),t=this.$results.offset().top,i=n.offset().top,r=this.$results.scrollTop()+(i-t),u=i-t;r-=2*n.outerHeight(!1);e<=2?this.$results.scrollTop(0):(u>this.$results.outerHeight()||u<0)&&this.$results.scrollTop(r)}},i.prototype.template=function(t,i){var u=this.options.get("templateResult"),f=this.options.get("escapeMarkup"),r=u(t,i);null==r?i.style.display="none":"string"==typeof r?i.innerHTML=f(r):n(i).append(r)},i}),t.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),t.define("select2/selection/base",["jquery","../utils","../keys"],function(n,t,i){function r(n,t){this.$element=n;this.options=t;r.__super__.constructor.call(this)}return t.Extend(r,t.Observable),r.prototype.render=function(){var t=n('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"><\/span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),t.attr("title",this.$element.attr("title")),t.attr("tabindex",this._tabindex),this.$selection=t,t},r.prototype.bind=function(n){var t=this,r=(n.id,n.id+"-results");this.container=n;this.$selection.on("focus",function(n){t.trigger("focus",n)});this.$selection.on("blur",function(n){t._handleBlur(n)});this.$selection.on("keydown",function(n){t.trigger("keypress",n);n.which===i.SPACE&&n.preventDefault()});n.on("results:focus",function(n){t.$selection.attr("aria-activedescendant",n.data._resultId)});n.on("selection:update",function(n){t.update(n.data)});n.on("open",function(){t.$selection.attr("aria-expanded","true");t.$selection.attr("aria-owns",r);t._attachCloseHandler(n)});n.on("close",function(){t.$selection.attr("aria-expanded","false");t.$selection.removeAttr("aria-activedescendant");t.$selection.removeAttr("aria-owns");t.$selection.focus();t._detachCloseHandler(n)});n.on("enable",function(){t.$selection.attr("tabindex",t._tabindex)});n.on("disable",function(){t.$selection.attr("tabindex","-1")})},r.prototype._handleBlur=function(t){var i=this;window.setTimeout(function(){document.activeElement==i.$selection[0]||n.contains(i.$selection[0],document.activeElement)||i.trigger("blur",t)},1)},r.prototype._attachCloseHandler=function(t){n(document.body).on("mousedown.select2."+t.id,function(t){var i=n(t.target),r=i.closest(".select2");n(".select2.select2-container--open").each(function(){var t=n(this);this!=r[0]&&t.data("element").select2("close")})})},r.prototype._detachCloseHandler=function(t){n(document.body).off("mousedown.select2."+t.id)},r.prototype.position=function(n,t){t.find(".selection").append(n)},r.prototype.destroy=function(){this._detachCloseHandler(this.container)},r.prototype.update=function(){throw new Error("The `update` method must be defined in child classes.");},r}),t.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(n,t,i){function r(){r.__super__.constructor.apply(this,arguments)}return i.Extend(r,t),r.prototype.render=function(){var n=r.__super__.render.call(this);return n.addClass("select2-selection--single"),n.html('<span class="select2-selection__rendered"><\/span><span class="select2-selection__arrow" role="presentation"><b role="presentation"><\/b><\/span>'),n},r.prototype.bind=function(n){var t=this,i;r.__super__.bind.apply(this,arguments);i=n.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",i);this.$selection.attr("aria-labelledby",i);this.$selection.on("mousedown",function(n){1===n.which&&t.trigger("toggle",{originalEvent:n})});this.$selection.on("focus",function(){});this.$selection.on("blur",function(){});n.on("focus",function(){n.isOpen()||t.$selection.focus()});n.on("selection:update",function(n){t.update(n.data)})},r.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},r.prototype.display=function(n,t){var i=this.options.get("templateSelection");return this.options.get("escapeMarkup")(i(n,t))},r.prototype.selectionContainer=function(){return n("<span><\/span>")},r.prototype.update=function(n){if(0===n.length)return void this.clear();var t=n[0],i=this.$selection.find(".select2-selection__rendered"),r=this.display(t,i);i.empty().append(r);i.prop("title",t.title||t.text)},r}),t.define("select2/selection/multiple",["jquery","./base","../utils"],function(n,t,i){function r(){r.__super__.constructor.apply(this,arguments)}return i.Extend(r,t),r.prototype.render=function(){var n=r.__super__.render.call(this);return n.addClass("select2-selection--multiple"),n.html('<ul class="select2-selection__rendered"><\/ul>'),n},r.prototype.bind=function(){var t=this;r.__super__.bind.apply(this,arguments);this.$selection.on("click",function(n){t.trigger("toggle",{originalEvent:n})});this.$selection.on("click",".select2-selection__choice__remove",function(i){if(!t.options.get("disabled")){var r=n(this),u=r.parent(),f=u.data("data");t.trigger("unselect",{originalEvent:i,data:f})}})},r.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},r.prototype.display=function(n,t){var i=this.options.get("templateSelection");return this.options.get("escapeMarkup")(i(n,t))},r.prototype.selectionContainer=function(){return n('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;<\/span><\/li>')},r.prototype.update=function(n){var f,r,e;if(this.clear(),0!==n.length){for(f=[],r=0;r<n.length;r++){var u=n[r],t=this.selectionContainer(),o=this.display(u,t);t.append(o);t.prop("title",u.title||u.text);t.data("data",u);f.push(t)}e=this.$selection.find(".select2-selection__rendered");i.appendMany(e,f)}},r}),t.define("select2/selection/placeholder",["../utils"],function(){function n(n,t,i){this.placeholder=this.normalizePlaceholder(i.get("placeholder"));n.call(this,t,i)}return n.prototype.normalizePlaceholder=function(n,t){return"string"==typeof t&&(t={id:"",text:t}),t},n.prototype.createPlaceholder=function(n,t){var i=this.selectionContainer();return i.html(this.display(t)),i.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),i},n.prototype.update=function(n,t){var r=1==t.length&&t[0].id!=this.placeholder.id,i;if(t.length>1||r)return n.call(this,t);this.clear();i=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(i)},n}),t.define("select2/selection/allowClear",["jquery","../keys"],function(n,t){function i(){}return i.prototype.bind=function(n,t,i){var r=this;n.call(this,t,i);null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option.");this.$selection.on("mousedown",".select2-selection__clear",function(n){r._handleClear(n)});t.on("keypress",function(n){r._handleKeyboardClear(n,t)})},i.prototype._handleClear=function(n,t){var r,u,i,f;if(!this.options.get("disabled")&&(r=this.$selection.find(".select2-selection__clear"),0!==r.length)){for(t.stopPropagation(),u=r.data("data"),i=0;i<u.length;i++)if(f={data:u[i]},this.trigger("unselect",f),f.prevented)return;this.$element.val(this.placeholder.id).trigger("change");this.trigger("toggle",{})}},i.prototype._handleKeyboardClear=function(n,i,r){r.isOpen()||i.which!=t.DELETE&&i.which!=t.BACKSPACE||this._handleClear(i)},i.prototype.update=function(t,i){if(t.call(this,i),!(this.$selection.find(".select2-selection__placeholder").length>0||0===i.length)){var r=n('<span class="select2-selection__clear">&times;<\/span>');r.data("data",i);this.$selection.find(".select2-selection__rendered").prepend(r)}},i}),t.define("select2/selection/search",["jquery","../utils","../keys"],function(n,t,i){function r(n,t,i){n.call(this,t,i)}return r.prototype.render=function(t){var i=n('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /><\/li>'),r;return this.$searchContainer=i,this.$search=i.find("input"),r=t.call(this),this._transferTabIndex(),r},r.prototype.bind=function(n,t,r){var u=this,f,e;n.call(this,t,r);t.on("open",function(){u.$search.trigger("focus")});t.on("close",function(){u.$search.val("");u.$search.removeAttr("aria-activedescendant");u.$search.trigger("focus")});t.on("enable",function(){u.$search.prop("disabled",!1);u._transferTabIndex()});t.on("disable",function(){u.$search.prop("disabled",!0)});t.on("focus",function(){u.$search.trigger("focus")});t.on("results:focus",function(n){u.$search.attr("aria-activedescendant",n.id)});this.$selection.on("focusin",".select2-search--inline",function(n){u.trigger("focus",n)});this.$selection.on("focusout",".select2-search--inline",function(n){u._handleBlur(n)});this.$selection.on("keydown",".select2-search--inline",function(n){var t,r;(n.stopPropagation(),u.trigger("keypress",n),u._keyUpPrevented=n.isDefaultPrevented(),n.which===i.BACKSPACE&&""===u.$search.val())&&(t=u.$searchContainer.prev(".select2-selection__choice"),t.length>0&&(r=t.data("data"),u.searchRemoveChoice(r),n.preventDefault()))});f=document.documentMode;e=f&&f<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(){if(e)return void u.$selection.off("input.search input.searchcheck");u.$selection.off("keyup.search")});this.$selection.on("keyup.search input.search",".select2-search--inline",function(n){if(e&&"input"===n.type)return void u.$selection.off("input.search input.searchcheck");var t=n.which;t!=i.SHIFT&&t!=i.CTRL&&t!=i.ALT&&t!=i.TAB&&u.handleSearch(n)})},r.prototype._transferTabIndex=function(){this.$search.attr("tabindex",this.$selection.attr("tabindex"));this.$selection.attr("tabindex","-1")},r.prototype.createPlaceholder=function(n,t){this.$search.attr("placeholder",t.text)},r.prototype.update=function(n,t){var i=this.$search[0]==document.activeElement;this.$search.attr("placeholder","");n.call(this,t);this.$selection.find(".select2-selection__rendered").append(this.$searchContainer);this.resizeSearch();i&&this.$search.focus()},r.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var n=this.$search.val();this.trigger("query",{term:n})}this._keyUpPrevented=!1},r.prototype.searchRemoveChoice=function(n,t){this.trigger("unselect",{data:t});this.$search.val(t.text);this.handleSearch()},r.prototype.resizeSearch=function(){this.$search.css("width","25px");var n="";n=""!==this.$search.attr("placeholder")?this.$selection.find(".select2-selection__rendered").innerWidth():.75*(this.$search.val().length+1)+"em";this.$search.css("width",n)},r}),t.define("select2/selection/eventRelay",["jquery"],function(n){function t(){}return t.prototype.bind=function(t,i,r){var u=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],e=["opening","closing","selecting","unselecting"];t.call(this,i,r);i.on("*",function(t,i){if(-1!==n.inArray(t,f)){i=i||{};var r=n.Event("select2:"+t,{params:i});u.$element.trigger(r);-1!==n.inArray(t,e)&&(i.prevented=r.isDefaultPrevented())}})},t}),t.define("select2/translation",["jquery","require"],function(n,t){function i(n){this.dict=n||{}}return i.prototype.all=function(){return this.dict},i.prototype.get=function(n){return this.dict[n]},i.prototype.extend=function(t){this.dict=n.extend({},t.all(),this.dict)},i._cache={},i.loadPath=function(n){if(!(n in i._cache)){var r=t(n);i._cache[n]=r}return new i(i._cache[n])},i}),t.define("select2/diacritics",[],function(){return{"Ⓐ":"A","Ａ":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","Ｂ":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","Ｃ":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","Ｄ":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","Ǳ":"DZ","Ǆ":"DZ","ǲ":"Dz","ǅ":"Dz","Ⓔ":"E","Ｅ":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","Ｆ":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","Ｇ":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","Ｈ":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","Ｉ":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","Ｊ":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","Ｋ":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","Ｌ":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","Ǉ":"LJ","ǈ":"Lj","Ⓜ":"M","Ｍ":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","Ｎ":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","Ǌ":"NJ","ǋ":"Nj","Ⓞ":"O","Ｏ":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","Ｐ":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Ｑ":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","Ｒ":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","Ｓ":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","Ｔ":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","Ｕ":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","Ｖ":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","Ｗ":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","Ｘ":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Ｙ":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Ｚ":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","ａ":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","ｂ":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","ｃ":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","ｄ":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","ǳ":"dz","ǆ":"dz","ⓔ":"e","ｅ":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","ｆ":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","ｇ":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","ｈ":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","ｉ":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","ｊ":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","ｋ":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","ｌ":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","ǉ":"lj","ⓜ":"m","ｍ":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","ｎ":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ŉ":"n","ꞑ":"n","ꞥ":"n","ǌ":"nj","ⓞ":"o","ｏ":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","ｐ":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","ｑ":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","ｒ":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","ｓ":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","ｔ":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","ｕ":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","ｖ":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","ｗ":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","ｘ":"x","ẋ":"x","ẍ":"x","ⓨ":"y","ｙ":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","ｚ":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),t.define("select2/data/base",["../utils"],function(n){function t(){t.__super__.constructor.call(this)}return n.Extend(t,n.Observable),t.prototype.current=function(){throw new Error("The `current` method must be defined in child classes.");},t.prototype.query=function(){throw new Error("The `query` method must be defined in child classes.");},t.prototype.bind=function(){},t.prototype.destroy=function(){},t.prototype.generateResultId=function(t,i){var r=t.id+"-result-";return r+=n.generateChars(4),r+=null!=i.id?"-"+i.id.toString():"-"+n.generateChars(4),r},t}),t.define("select2/data/select",["./base","../utils","jquery"],function(n,t,i){function r(n,t){this.$element=n;this.options=t;r.__super__.constructor.call(this)}return t.Extend(r,n),r.prototype.current=function(n){var t=[],r=this;this.$element.find(":selected").each(function(){var n=i(this),u=r.item(n);t.push(u)});n(t)},r.prototype.select=function(n){var t=this,r;if(n.selected=!0,i(n.element).is("option"))return n.element.selected=!0,void this.$element.trigger("change");this.$element.prop("multiple")?this.current(function(r){var f=[],u,e;for(n=[n],n.push.apply(n,r),u=0;u<n.length;u++)e=n[u].id,-1===i.inArray(e,f)&&f.push(e);t.$element.val(f);t.$element.trigger("change")}):(r=n.id,this.$element.val(r),this.$element.trigger("change"))},r.prototype.unselect=function(n){var t=this;if(this.$element.prop("multiple")){if(n.selected=!1,i(n.element).is("option"))return n.element.selected=!1,void this.$element.trigger("change");this.current(function(r){for(var e,u=[],f=0;f<r.length;f++)e=r[f].id,e!==n.id&&-1===i.inArray(e,u)&&u.push(e);t.$element.val(u);t.$element.trigger("change")})}},r.prototype.bind=function(n){var t=this;this.container=n;n.on("select",function(n){t.select(n.data)});n.on("unselect",function(n){t.unselect(n.data)})},r.prototype.destroy=function(){this.$element.find("*").each(function(){i.removeData(this,"data")})},r.prototype.query=function(n,t){var r=[],u=this;this.$element.children().each(function(){var t=i(this),e,f;(t.is("option")||t.is("optgroup"))&&(e=u.item(t),f=u.matches(n,e),null!==f&&r.push(f))});t({results:r})},r.prototype.addOptions=function(n){t.appendMany(this.$element,n)},r.prototype.option=function(n){var t,u,r;return n.children?(t=document.createElement("optgroup"),t.label=n.text):(t=document.createElement("option"),void 0!==t.textContent?t.textContent=n.text:t.innerText=n.text),void 0!==n.id&&(t.value=n.id),n.disabled&&(t.disabled=!0),n.selected&&(t.selected=!0),n.title&&(t.title=n.title),u=i(t),r=this._normalizeItem(n),r.element=t,i.data(t,"data",r),u},r.prototype.item=function(n){var t={},e,o;if(null!=(t=i.data(n[0],"data")))return t;if(n.is("option"))t={id:n.val(),text:n.text(),disabled:n.prop("disabled"),selected:n.prop("selected"),title:n.prop("title")};else if(n.is("optgroup")){t={text:n.prop("label"),children:[],title:n.prop("title")};for(var u=n.children("option"),f=[],r=0;r<u.length;r++)e=i(u[r]),o=this.item(e),f.push(o);t.children=f}return t=this._normalizeItem(t),t.element=n[0],i.data(n[0],"data",t),t},r.prototype._normalizeItem=function(n){i.isPlainObject(n)||(n={id:n,text:n});n=i.extend({},{text:""},n);return null!=n.id&&(n.id=n.id.toString()),null!=n.text&&(n.text=n.text.toString()),null==n._resultId&&n.id&&null!=this.container&&(n._resultId=this.generateResultId(this.container,n)),i.extend({},{selected:!1,disabled:!1},n)},r.prototype.matches=function(n,t){return this.options.get("matcher")(n,t)},r}),t.define("select2/data/array",["./select","../utils","jquery"],function(n,t,i){function r(n,t){var i=t.get("data")||[];r.__super__.constructor.call(this,n,t);this.addOptions(this.convertToOptions(i))}return t.Extend(r,n),r.prototype.select=function(n){var t=this.$element.find("option").filter(function(t,i){return i.value==n.id.toString()});0===t.length&&(t=this.option(n),this.addOptions(t));r.__super__.select.call(this,n)},r.prototype.convertToOptions=function(n){function c(n){return function(){return i(this).val()==n.id}}for(var r,f,h,l=this,e=this.$element.find("option"),a=e.map(function(){return l.item(i(this)).id}).get(),o=[],u=0;u<n.length;u++)if(r=this._normalizeItem(n[u]),i.inArray(r.id,a)>=0){var s=e.filter(c(r)),v=this.item(s),y=i.extend(!0,{},r,v),p=this.option(y);s.replaceWith(p)}else f=this.option(r),r.children&&(h=this.convertToOptions(r.children),t.appendMany(f,h)),o.push(f);return o},r}),t.define("select2/data/ajax",["./array","../utils","jquery"],function(n,t,i){function r(n,t){this.ajaxOptions=this._applyDefaults(t.get("ajax"));null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults);r.__super__.constructor.call(this,n,t)}return t.Extend(r,n),r.prototype._applyDefaults=function(n){var t={data:function(n){return i.extend({},n,{q:n.term})},transport:function(n,t,r){var u=i.ajax(n);return u.then(t),u.fail(r),u}};return i.extend({},t,n,!0)},r.prototype.processResults=function(n){return n},r.prototype.query=function(n,t){function f(){var f=r.transport(r,function(r){var f=u.processResults(r,n);u.options.get("debug")&&window.console&&console.error&&(f&&f.results&&i.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response."));t(f)},function(){f.status&&"0"===f.status||u.trigger("results:message",{message:"errorLoading"})});u._request=f}var u=this,r;null!=this._request&&(i.isFunction(this._request.abort)&&this._request.abort(),this._request=null);r=i.extend({type:"GET"},this.ajaxOptions);"function"==typeof r.url&&(r.url=r.url.call(this.$element,n));"function"==typeof r.data&&(r.data=r.data.call(this.$element,n));this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(f,this.ajaxOptions.delay)):f()},r}),t.define("select2/data/tags",["jquery"],function(n){function t(t,i,r){var f=r.get("tags"),o=r.get("createTag"),e,u;if(void 0!==o&&(this.createTag=o),e=r.get("insertTag"),void 0!==e&&(this.insertTag=e),t.call(this,i,r),n.isArray(f))for(u=0;u<f.length;u++){var s=f[u],h=this._normalizeItem(s),c=this.option(h);this.$element.append(c)}}return t.prototype.query=function(n,t,i){function u(n,f){for(var s,l,h,c,e=n.results,o=0;o<e.length;o++)if(s=e[o],l=null!=s.children&&!u({results:s.children},!0),(s.text||"").toUpperCase()===(t.term||"").toUpperCase()||l)return!f&&(n.data=e,void i(n));if(f)return!0;h=r.createTag(t);null!=h&&(c=r.option(h),c.attr("data-select2-tag",!0),r.addOptions([c]),r.insertTag(e,h));n.results=e;i(n)}var r=this;if(this._removeOldTags(),null==t.term||null!=t.page)return void n.call(this,t,i);n.call(this,t,u)},t.prototype.createTag=function(t,i){var r=n.trim(i.term);return""===r?null:{id:r,text:r}},t.prototype.insertTag=function(n,t,i){t.unshift(i)},t.prototype._removeOldTags=function(){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||n(this).remove()})},t}),t.define("select2/data/tokenizer",["jquery"],function(n){function t(n,t,i){var r=i.get("tokenizer");void 0!==r&&(this.tokenizer=r);n.call(this,t,i)}return t.prototype.bind=function(n,t,i){n.call(this,t,i);this.$search=t.dropdown.$search||t.selection.$search||i.find(".select2-search__field")},t.prototype.query=function(t,i,r){function e(t){var i=u._normalizeItem(t),r;u.$element.find("option").filter(function(){return n(this).val()===i.id}).length||(r=u.option(i),r.attr("data-select2-tag",!0),u._removeOldTags(),u.addOptions([r]));o(i)}function o(n){u.trigger("select",{data:n})}var u=this,f;i.term=i.term||"";f=this.tokenizer(i,this.options,e);f.term!==i.term&&(this.$search.length&&(this.$search.val(f.term),this.$search.focus()),i.term=f.term);t.call(this,i,r)},t.prototype.tokenizer=function(t,i,r,u){for(var o,h=r.get("tokenSeparators")||[],e=i.term,f=0,c=this.createTag||function(n){return{id:n.term,text:n.term}};f<e.length;)if(o=e[f],-1!==n.inArray(o,h)){var l=e.substr(0,f),a=n.extend({},i,{term:l}),s=c(a);null!=s?(u(s),e=e.substr(f+1)||"",f=0):f++}else f++;return{term:e}},t}),t.define("select2/data/minimumInputLength",[],function(){function n(n,t,i){this.minimumInputLength=i.get("minimumInputLength");n.call(this,t,i)}return n.prototype.query=function(n,t,i){if(t.term=t.term||"",t.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}});n.call(this,t,i)},n}),t.define("select2/data/maximumInputLength",[],function(){function n(n,t,i){this.maximumInputLength=i.get("maximumInputLength");n.call(this,t,i)}return n.prototype.query=function(n,t,i){if(t.term=t.term||"",this.maximumInputLength>0&&t.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}});n.call(this,t,i)},n}),t.define("select2/data/maximumSelectionLength",[],function(){function n(n,t,i){this.maximumSelectionLength=i.get("maximumSelectionLength");n.call(this,t,i)}return n.prototype.query=function(n,t,i){var r=this;this.current(function(u){var f=null!=u?u.length:0;if(r.maximumSelectionLength>0&&f>=r.maximumSelectionLength)return void r.trigger("results:message",{message:"maximumSelected",args:{maximum:r.maximumSelectionLength}});n.call(r,t,i)})},n}),t.define("select2/dropdown",["jquery","./utils"],function(n,t){function i(n,t){this.$element=n;this.options=t;i.__super__.constructor.call(this)}return t.Extend(i,t.Observable),i.prototype.render=function(){var t=n('<span class="select2-dropdown"><span class="select2-results"><\/span><\/span>');return t.attr("dir",this.options.get("dir")),this.$dropdown=t,t},i.prototype.bind=function(){},i.prototype.position=function(){},i.prototype.destroy=function(){this.$dropdown.remove()},i}),t.define("select2/dropdown/search",["jquery","../utils"],function(n){function t(){}return t.prototype.render=function(t){var r=t.call(this),i=n('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /><\/span>');return this.$searchContainer=i,this.$search=i.find("input"),r.prepend(i),r},t.prototype.bind=function(t,i,r){var u=this;t.call(this,i,r);this.$search.on("keydown",function(n){u.trigger("keypress",n);u._keyUpPrevented=n.isDefaultPrevented()});this.$search.on("input",function(){n(this).off("keyup")});this.$search.on("keyup input",function(n){u.handleSearch(n)});i.on("open",function(){u.$search.attr("tabindex",0);u.$search.focus();window.setTimeout(function(){u.$search.focus()},0)});i.on("close",function(){u.$search.attr("tabindex",-1);u.$search.val("")});i.on("focus",function(){i.isOpen()||u.$search.focus()});i.on("results:all",function(n){(null==n.query.term||""===n.query.term)&&(u.showSearch(n)?u.$searchContainer.removeClass("select2-search--hide"):u.$searchContainer.addClass("select2-search--hide"))})},t.prototype.handleSearch=function(){if(!this._keyUpPrevented){var n=this.$search.val();this.trigger("query",{term:n})}this._keyUpPrevented=!1},t.prototype.showSearch=function(){return!0},t}),t.define("select2/dropdown/hidePlaceholder",[],function(){function n(n,t,i,r){this.placeholder=this.normalizePlaceholder(i.get("placeholder"));n.call(this,t,i,r)}return n.prototype.append=function(n,t){t.results=this.removePlaceholder(t.results);n.call(this,t)},n.prototype.normalizePlaceholder=function(n,t){return"string"==typeof t&&(t={id:"",text:t}),t},n.prototype.removePlaceholder=function(n,t){for(var u,r=t.slice(0),i=t.length-1;i>=0;i--)u=t[i],this.placeholder.id===u.id&&r.splice(i,1);return r},n}),t.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function t(n,t,i,r){this.lastParams={};n.call(this,t,i,r);this.$loadingMore=this.createLoadingMore();this.loading=!1}return t.prototype.append=function(n,t){this.$loadingMore.remove();this.loading=!1;n.call(this,t);this.showLoadingMore(t)&&this.$results.append(this.$loadingMore)},t.prototype.bind=function(t,i,r){var u=this;t.call(this,i,r);i.on("query",function(n){u.lastParams=n;u.loading=!0});i.on("query:append",function(n){u.lastParams=n;u.loading=!0});this.$results.on("scroll",function(){var t=n.contains(document.documentElement,u.$loadingMore[0]);!u.loading&&t&&u.$results.offset().top+u.$results.outerHeight(!1)+50>=u.$loadingMore.offset().top+u.$loadingMore.outerHeight(!1)&&u.loadMore()})},t.prototype.loadMore=function(){this.loading=!0;var t=n.extend({},{page:1},this.lastParams);t.page++;this.trigger("query:append",t)},t.prototype.showLoadingMore=function(n,t){return t.pagination&&t.pagination.more},t.prototype.createLoadingMore=function(){var t=n('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"><\/li>'),i=this.options.get("translations").get("loadingMore");return t.html(i(this.lastParams)),t},t}),t.define("select2/dropdown/attachBody",["jquery","../utils"],function(n,t){function i(t,i,r){this.$dropdownParent=r.get("dropdownParent")||n(document.body);t.call(this,i,r)}return i.prototype.bind=function(n,t,i){var r=this,u=!1;n.call(this,t,i);t.on("open",function(){r._showDropdown();r._attachPositioningHandler(t);u||(u=!0,t.on("results:all",function(){r._positionDropdown();r._resizeDropdown()}),t.on("results:append",function(){r._positionDropdown();r._resizeDropdown()}))});t.on("close",function(){r._hideDropdown();r._detachPositioningHandler(t)});this.$dropdownContainer.on("mousedown",function(n){n.stopPropagation()})},i.prototype.destroy=function(n){n.call(this);this.$dropdownContainer.remove()},i.prototype.position=function(n,t,i){t.attr("class",i.attr("class"));t.removeClass("select2");t.addClass("select2-container--open");t.css({position:"absolute",top:-999999});this.$container=i},i.prototype.render=function(t){var i=n("<span><\/span>"),r=t.call(this);return i.append(r),this.$dropdownContainer=i,i},i.prototype._hideDropdown=function(){this.$dropdownContainer.detach()},i.prototype._attachPositioningHandler=function(i,r){var u=this,f="scroll.select2."+r.id,o="resize.select2."+r.id,s="orientationchange.select2."+r.id,e=this.$container.parents().filter(t.hasScroll);e.each(function(){n(this).data("select2-scroll-position",{x:n(this).scrollLeft(),y:n(this).scrollTop()})});e.on(f,function(){var t=n(this).data("select2-scroll-position");n(this).scrollTop(t.y)});n(window).on(f+" "+o+" "+s,function(){u._positionDropdown();u._resizeDropdown()})},i.prototype._detachPositioningHandler=function(i,r){var u="scroll.select2."+r.id,f="resize.select2."+r.id,e="orientationchange.select2."+r.id;this.$container.parents().filter(t.hasScroll).off(u);n(window).off(u+" "+f+" "+e)},i.prototype._positionDropdown=function(){var s=n(window),u=this.$dropdown.hasClass("select2-dropdown--above"),v=this.$dropdown.hasClass("select2-dropdown--below"),t=null,i=this.$container.offset(),r,o;i.bottom=i.top+this.$container.outerHeight(!1);r={height:this.$container.outerHeight(!1)};r.top=i.top;r.bottom=i.top+r.height;var h={height:this.$dropdown.outerHeight(!1)},c={top:s.scrollTop(),bottom:s.scrollTop()+s.height()},l=c.top<i.top-h.height,a=c.bottom>i.bottom+h.height,f={left:i.left,top:r.bottom},e=this.$dropdownParent;"static"===e.css("position")&&(e=e.offsetParent());o=e.offset();f.top-=o.top;f.left-=o.left;u||v||(t="below");a||!l||u?!l&&a&&u&&(t="below"):t="above";("above"==t||u&&"below"!==t)&&(f.top=r.top-o.top-h.height);null!=t&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+t),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+t));this.$dropdownContainer.css(f)},i.prototype._resizeDropdown=function(){var n={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(n.minWidth=n.width,n.position="relative",n.width="auto");this.$dropdown.css(n)},i.prototype._showDropdown=function(){this.$dropdownContainer.appendTo(this.$dropdownParent);this._positionDropdown();this._resizeDropdown()},i}),t.define("select2/dropdown/minimumResultsForSearch",[],function(){function n(t){for(var u,i=0,r=0;r<t.length;r++)u=t[r],u.children?i+=n(u.children):i++;return i}function t(n,t,i,r){this.minimumResultsForSearch=i.get("minimumResultsForSearch");this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0);n.call(this,t,i,r)}return t.prototype.showSearch=function(t,i){return!(n(i.data.results)<this.minimumResultsForSearch)&&t.call(this,i)},t}),t.define("select2/dropdown/selectOnClose",[],function(){function n(){}return n.prototype.bind=function(n,t,i){var r=this;n.call(this,t,i);t.on("close",function(n){r._handleSelectOnClose(n)})},n.prototype._handleSelectOnClose=function(n,t){var r,u,i;t&&null!=t.originalSelect2Event&&(r=t.originalSelect2Event,"select"===r._type||"unselect"===r._type)||(u=this.getHighlightedResults(),u.length<1||(i=u.data("data"),null!=i.element&&i.element.selected||null==i.element&&i.selected||this.trigger("select",{data:i})))},n}),t.define("select2/dropdown/closeOnSelect",[],function(){function n(){}return n.prototype.bind=function(n,t,i){var r=this;n.call(this,t,i);t.on("select",function(n){r._selectTriggered(n)});t.on("unselect",function(n){r._selectTriggered(n)})},n.prototype._selectTriggered=function(n,t){var i=t.originalEvent;i&&i.ctrlKey||this.trigger("close",{originalEvent:i,originalSelect2Event:t})},n}),t.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(n){var t=n.input.length-n.maximum,i="Please delete "+t+" character";return 1!=t&&(i+="s"),i},inputTooShort:function(n){return"Please enter "+(n.minimum-n.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(n){var t="You can only select "+n.maximum+" item";return 1!=n.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),t.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,ut,ft,et,ot){function st(){this.reset()}return st.prototype.apply=function(l){var vt,yt,pt,wt,bt,kt,dt,ct,lt,st,ot,ht,gt,at;if((l=n.extend(!0,{},this.defaults,l),null==l.dataAdapter)&&((l.dataAdapter=null!=l.ajax?y:null!=l.data?v:a,l.minimumInputLength>0&&(l.dataAdapter=h.Decorate(l.dataAdapter,b)),l.maximumInputLength>0&&(l.dataAdapter=h.Decorate(l.dataAdapter,k)),l.maximumSelectionLength>0&&(l.dataAdapter=h.Decorate(l.dataAdapter,d)),l.tags&&(l.dataAdapter=h.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=h.Decorate(l.dataAdapter,w)),null!=l.query)&&(vt=t(l.amdBase+"compat/query"),l.dataAdapter=h.Decorate(l.dataAdapter,vt)),null!=l.initSelection&&(yt=t(l.amdBase+"compat/initSelection"),l.dataAdapter=h.Decorate(l.dataAdapter,yt))),(null==l.resultsAdapter&&(l.resultsAdapter=i,null!=l.ajax&&(l.resultsAdapter=h.Decorate(l.resultsAdapter,it)),null!=l.placeholder&&(l.resultsAdapter=h.Decorate(l.resultsAdapter,tt)),l.selectOnClose&&(l.resultsAdapter=h.Decorate(l.resultsAdapter,ft))),null==l.dropdownAdapter)&&(l.multiple?l.dropdownAdapter=g:(pt=h.Decorate(g,nt),l.dropdownAdapter=pt),(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=h.Decorate(l.dropdownAdapter,ut)),l.closeOnSelect&&(l.dropdownAdapter=h.Decorate(l.dropdownAdapter,et)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass)&&(wt=t(l.amdBase+"compat/dropdownCss"),l.dropdownAdapter=h.Decorate(l.dropdownAdapter,wt)),l.dropdownAdapter=h.Decorate(l.dropdownAdapter,rt)),null==l.selectionAdapter&&((l.selectionAdapter=l.multiple?u:r,null!=l.placeholder&&(l.selectionAdapter=h.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=h.Decorate(l.selectionAdapter,e)),l.multiple&&(l.selectionAdapter=h.Decorate(l.selectionAdapter,o)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass)&&(bt=t(l.amdBase+"compat/containerCss"),l.selectionAdapter=h.Decorate(l.selectionAdapter,bt)),l.selectionAdapter=h.Decorate(l.selectionAdapter,s)),"string"==typeof l.language&&(l.language.indexOf("-")>0?(kt=l.language.split("-"),dt=kt[0],l.language=[l.language,dt]):l.language=[l.language]),n.isArray(l.language)){for(ct=new c,l.language.push("en"),lt=l.language,st=0;st<lt.length;st++){ot=lt[st];ht={};try{ht=c.loadPath(ot)}catch(n){try{ot=this.defaults.amdLanguageBase+ot;ht=c.loadPath(ot)}catch(n){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+ot+'" could not be automatically loaded. A fallback will be used instead.');continue}}ct.extend(ht)}l.translations=ct}else gt=c.loadPath(this.defaults.amdLanguageBase+"en"),at=new c(l.language),at.extend(gt),l.translations=at;return l},st.prototype.reset=function(){function i(n){function t(n){return l[n]||n}return n.replace(/[^\u0000-\u007E]/g,t)}function t(r,u){var f,e,o,s;if(""===n.trim(r.term))return u;if(u.children&&u.children.length>0){for(f=n.extend(!0,{},u),e=u.children.length-1;e>=0;e--)null==t(r,u.children[e])&&f.children.splice(e,1);return f.children.length>0?f:t(r,f)}return o=i(u.text).toUpperCase(),s=i(r.term).toUpperCase(),o.indexOf(s)>-1?u:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:h.escapeMarkup,language:ot,matcher:t,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(n){return n},templateResult:function(n){return n.text},templateSelection:function(n){return n.text},theme:"default",width:"resolve"}},st.prototype.set=function(t,i){var f=n.camelCase(t),r={},u;r[f]=i;u=h._convertData(r);n.extend(this.defaults,u)},new st}),t.define("select2/options",["require","jquery","./defaults","./utils"],function(n,t,i,r){function u(t,u){if(this.options=t,null!=u&&this.fromElement(u),this.options=i.apply(this.options),u&&u.is("input")){var f=n(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=r.Decorate(this.options.dataAdapter,f)}}return u.prototype.fromElement=function(n){var e=["select2"],f,u,i;null==this.options.multiple&&(this.options.multiple=n.prop("multiple"));null==this.options.disabled&&(this.options.disabled=n.prop("disabled"));null==this.options.language&&(n.prop("lang")?this.options.language=n.prop("lang").toLowerCase():n.closest("[lang]").prop("lang")&&(this.options.language=n.closest("[lang]").prop("lang")));null==this.options.dir&&(this.options.dir=n.prop("dir")?n.prop("dir"):n.closest("[dir]").prop("dir")?n.closest("[dir]").prop("dir"):"ltr");n.prop("disabled",this.options.disabled);n.prop("multiple",this.options.multiple);n.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),n.data("data",n.data("select2Tags")),n.data("tags",!0));n.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),n.attr("ajax--url",n.data("ajaxUrl")),n.data("ajax--url",n.data("ajaxUrl")));f={};f=t.fn.jquery&&"1."==t.fn.jquery.substr(0,2)&&n[0].dataset?t.extend(!0,{},n[0].dataset,n.data()):n.data();u=t.extend(!0,{},f);u=r._convertData(u);for(i in u)t.inArray(i,e)>-1||(t.isPlainObject(this.options[i])?t.extend(this.options[i],u[i]):this.options[i]=u[i]);return this},u.prototype.get=function(n){return this.options[n]},u.prototype.set=function(n,t){this.options[n]=t},u}),t.define("select2/core",["jquery","./options","./utils","./keys"],function(n,t,i,r){var u=function(n,i){var f,e,r,o,s,h,c;null!=n.data("select2")&&n.data("select2").destroy();this.$element=n;this.id=this._generateId(n);i=i||{};this.options=new t(i,n);u.__super__.constructor.call(this);f=n.attr("tabindex")||0;n.data("old-tabindex",f);n.attr("tabindex","-1");e=this.options.get("dataAdapter");this.dataAdapter=new e(n,this.options);r=this.render();this._placeContainer(r);o=this.options.get("selectionAdapter");this.selection=new o(n,this.options);this.$selection=this.selection.render();this.selection.position(this.$selection,r);s=this.options.get("dropdownAdapter");this.dropdown=new s(n,this.options);this.$dropdown=this.dropdown.render();this.dropdown.position(this.$dropdown,r);h=this.options.get("resultsAdapter");this.results=new h(n,this.options,this.dataAdapter);this.$results=this.results.render();this.results.position(this.$results,this.$dropdown);c=this;this._bindAdapters();this._registerDomEvents();this._registerDataEvents();this._registerSelectionEvents();this._registerDropdownEvents();this._registerResultsEvents();this._registerEvents();this.dataAdapter.current(function(n){c.trigger("selection:update",{data:n})});n.addClass("select2-hidden-accessible");n.attr("aria-hidden","true");this._syncAttributes();n.data("select2",this)};return i.Extend(u,i.Observable),u.prototype._generateId=function(n){var t="";return t=null!=n.attr("id")?n.attr("id"):null!=n.attr("name")?n.attr("name")+"-"+i.generateChars(2):i.generateChars(4),t=t.replace(/(:|\.|\[|\]|,)/g,""),t="select2-"+t},u.prototype._placeContainer=function(n){n.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&n.css("width",t)},u.prototype._resolveWidth=function(n,t){var r,u,f,s,i;if("resolve"==t)return r=this._resolveWidth(n,"style"),null!=r?r:this._resolveWidth(n,"element");if("element"==t)return u=n.outerWidth(!1),u<=0?"auto":u+"px";if("style"==t){if(f=n.attr("style"),"string"!=typeof f)return null;for(var o=f.split(";"),e=0,h=o.length;e<h;e+=1)if(s=o[e].replace(/\s/g,""),i=s.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==i&&i.length>=1)return i[1];return null}return t},u.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container);this.selection.bind(this,this.$container);this.dropdown.bind(this,this.$container);this.results.bind(this,this.$container)},u.prototype._registerDomEvents=function(){var t=this,r;this.$element.on("change.select2",function(){t.dataAdapter.current(function(n){t.trigger("selection:update",{data:n})})});this.$element.on("focus.select2",function(n){t.trigger("focus",n)});this._syncA=i.bind(this._syncAttributes,this);this._syncS=i.bind(this._syncSubtree,this);this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);r=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=r?(this._observer=new r(function(i){n.each(i,t._syncA);n.each(i,t._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},u.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(t,i){n.trigger(t,i)})},u.prototype._registerSelectionEvents=function(){var t=this,i=["toggle","focus"];this.selection.on("toggle",function(){t.toggleDropdown()});this.selection.on("focus",function(n){t.focus(n)});this.selection.on("*",function(r,u){-1===n.inArray(r,i)&&t.trigger(r,u)})},u.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(t,i){n.trigger(t,i)})},u.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(t,i){n.trigger(t,i)})},u.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")});this.on("close",function(){n.$container.removeClass("select2-container--open")});this.on("enable",function(){n.$container.removeClass("select2-container--disabled")});this.on("disable",function(){n.$container.addClass("select2-container--disabled")});this.on("blur",function(){n.$container.removeClass("select2-container--focus")});this.on("query",function(t){n.isOpen()||n.trigger("open",{});this.dataAdapter.query(t,function(i){n.trigger("results:all",{data:i,query:t})})});this.on("query:append",function(t){this.dataAdapter.query(t,function(i){n.trigger("results:append",{data:i,query:t})})});this.on("keypress",function(t){var i=t.which;n.isOpen()?i===r.ESC||i===r.TAB||i===r.UP&&t.altKey?(n.close(),t.preventDefault()):i===r.ENTER?(n.trigger("results:select",{}),t.preventDefault()):i===r.SPACE&&t.ctrlKey?(n.trigger("results:toggle",{}),t.preventDefault()):i===r.UP?(n.trigger("results:previous",{}),t.preventDefault()):i===r.DOWN&&(n.trigger("results:next",{}),t.preventDefault()):(i===r.ENTER||i===r.SPACE||i===r.DOWN&&t.altKey)&&(n.open(),t.preventDefault())})},u.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled"));this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},u.prototype._syncSubtree=function(n,t){var i=!1,f=this,r,u;if(!n||!n.target||"OPTION"===n.target.nodeName||"OPTGROUP"===n.target.nodeName){if(t)if(t.addedNodes&&t.addedNodes.length>0)for(r=0;r<t.addedNodes.length;r++)u=t.addedNodes[r],u.selected&&(i=!0);else t.removedNodes&&t.removedNodes.length>0&&(i=!0);else i=!0;i&&this.dataAdapter.current(function(n){f.trigger("selection:update",{data:n})})}},u.prototype.trigger=function(n,t){var r=u.__super__.trigger,f={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"},e,i;if((void 0===t&&(t={}),n in f)&&(e=f[n],i={prevented:!1,name:n,args:t},r.call(this,e,i),i.prevented))return void(t.prevented=!0);r.call(this,n,t)},u.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},u.prototype.open=function(){this.isOpen()||this.trigger("query",{})},u.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},u.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},u.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},u.prototype.focus=function(){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},u.prototype.enable=function(n){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.');null!=n&&0!==n.length||(n=[!0]);var t=!n[0];this.$element.prop("disabled",t)},u.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var n=[];return this.dataAdapter.current(function(t){n=t}),n},u.prototype.val=function(t){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==t||0===t.length)return this.$element.val();var i=t[0];n.isArray(i)&&(i=n.map(i,function(n){return n.toString()}));this.$element.val(i).trigger("change")},u.prototype.destroy=function(){this.$container.remove();this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA);null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1));this._syncA=null;this._syncS=null;this.$element.off(".select2");this.$element.attr("tabindex",this.$element.data("old-tabindex"));this.$element.removeClass("select2-hidden-accessible");this.$element.attr("aria-hidden","false");this.$element.removeData("select2");this.dataAdapter.destroy();this.selection.destroy();this.dropdown.destroy();this.results.destroy();this.dataAdapter=null;this.selection=null;this.dropdown=null;this.results=null},u.prototype.render=function(){var t=n('<span class="select2 select2-container"><span class="selection"><\/span><span class="dropdown-wrapper" aria-hidden="true"><\/span><\/span>');return t.attr("dir",this.options.get("dir")),this.$container=t,this.$container.addClass("select2-container--"+this.options.get("theme")),t.data("element",this.$element),t},u}),t.define("jquery-mousewheel",["jquery"],function(n){return n}),t.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(n,t,i,r){if(null==n.fn.select2){var u=["open","close","destroy"];n.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var r=n.extend(!0,{},t);new i(n(this),r)}),this;if("string"==typeof t){var r,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var i=n(this).data("select2");null==i&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2.");r=i[t].apply(i,f)}),n.inArray(t,u)>-1?this:r}throw new Error("Invalid arguments for Select2: "+t);}}return null==n.fn.select2.defaults&&(n.fn.select2.defaults=r),i}),{define:t.define,require:t.require}}(),i=t.require("jquery.select2");return n.fn.select2.amd=t,i}),function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(n.jQuery)}(this,function(n){"use strict";function ht(n){return vt.call(n).slice(8,-1).toLowerCase()}function s(n){return"string"==typeof n}function d(n){return"number"==typeof n&&!it(n)}function a(n){return void 0===n}function o(n){return"date"===ht(n)}function v(n,t){for(var r=arguments.length,u=Array(r>2?r-2:0),i=2;i<r;i++)u[i-2]=arguments[i];return function(){for(var r=arguments.length,f=Array(r),i=0;i<r;i++)f[i]=arguments[i];return n.apply(t,u.concat(f))}}function t(n){return'[data-view="'+n+'"]'}function ct(n){return n%4==0&&n%100!=0||n%400==0}function y(n,t){return[31,ct(n)?29:28,31,30,31,30,31,31,30,31,30,31][t]}function e(n,t,i){return Math.min(i,y(n,t))}function lt(t){var r=String(t).toLowerCase(),i=r.match(yt);if(!i||0===i.length)throw new Error("Invalid date format.");return t={source:r,parts:i},n.each(i,function(n,i){switch(i){case"dd":case"d":t.hasDay=!0;break;case"mm":case"m":t.hasMonth=!0;break;case"yyyy":case"yy":t.hasYear=!0}}),t}function at(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}var st;n=n&&n.hasOwnProperty("default")?n.default:n;var g={autoShow:!1,autoHide:!1,autoPick:!1,inline:!1,container:null,trigger:null,language:"",format:"mm/dd/yyyy",date:null,startDate:null,endDate:null,startView:0,weekStart:0,yearFirst:!1,yearSuffix:"",days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],itemTag:"li",mutedClass:"muted",pickedClass:"picked",disabledClass:"disabled",highlightedClass:"highlighted",template:'<div class="datepicker-container"><div class="datepicker-panel" data-view="years picker"><ul><li data-view="years prev">&lsaquo;<\/li><li data-view="years current"><\/li><li data-view="years next">&rsaquo;<\/li><\/ul><ul data-view="years"><\/ul><\/div><div class="datepicker-panel" data-view="months picker"><ul><li data-view="year prev">&lsaquo;<\/li><li data-view="year current"><\/li><li data-view="year next">&rsaquo;<\/li><\/ul><ul data-view="months"><\/ul><\/div><div class="datepicker-panel" data-view="days picker"><ul><li data-view="month prev">&lsaquo;<\/li><li data-view="month current"><\/li><li data-view="month next">&rsaquo;<\/li><\/ul><ul data-view="week"><\/ul><ul data-view="days"><\/ul><\/div><\/div>',offset:10,zIndex:1e3,filter:null,show:null,hide:null,pick:null},i="datepicker",f="click."+i,nt="focus."+i,p="hide."+i,h="keyup."+i,w="pick."+i,tt="resize."+i,b="show."+i,r=i+"-hide",k={},u={DAYS:0,MONTHS:1,YEARS:2},vt=Object.prototype.toString,it=Number.isNaN||window.isNaN,yt=/(y|m|d)+/g,pt=window,wt=pt.document,rt=n(window),c=n(wt),bt=/\d+/g,kt={show:function(){this.built||this.build();this.shown||this.trigger(b).isDefaultPrevented()||(this.shown=!0,this.$picker.removeClass(r).on(f,n.proxy(this.click,this)),this.showView(this.options.startView),this.inline||(rt.on(tt,this.onResize=v(this.place,this)),c.on(f,this.onGlobalClick=v(this.globalClick,this)),c.on(h,this.onGlobalKeyup=v(this.globalKeyup,this)),this.place()))},hide:function(){this.shown&&(this.trigger(p).isDefaultPrevented()||(this.shown=!1,this.$picker.addClass(r).off(f,this.click),this.inline||(rt.off(tt,this.onResize),c.off(f,this.onGlobalClick),c.off(h,this.onGlobalKeyup))))},toggle:function(){this.shown?this.hide():this.show()},update:function(){var n=this.getValue();n!==this.oldValue&&(this.setDate(n,!0),this.oldValue=n)},pick:function(n){var i=this.$element,t=this.date;this.trigger(w,{view:n||"",date:t}).isDefaultPrevented()||(t=this.formatDate(this.date),this.setValue(t),this.isInput&&(i.trigger("input"),i.trigger("change")))},reset:function(){this.setDate(this.initialDate,!0);this.setValue(this.initialValue);this.shown&&this.showView(this.options.startView)},getMonthName:function(t,i){var r=this.options,f=r.monthsShort,u=r.months;return n.isNumeric(t)?t=Number(t):a(i)&&(i=t),!0===i&&(u=f),u[d(t)?t:this.date.getMonth()]},getDayName:function(t,i,r){var u=this.options,f=u.days;return n.isNumeric(t)?t=Number(t):(a(r)&&(r=i),a(i)&&(i=t)),r?f=u.daysMin:i&&(f=u.daysShort),f[d(t)?t:this.date.getDay()]},getDate:function(n){var t=this.date;return n?this.formatDate(t):new Date(t)},setDate:function(t,i){var r=this.options.filter;if(o(t)||s(t)){if(t=this.parseDate(t),n.isFunction(r)&&!1===r.call(this.$element,t))return;this.date=t;this.viewDate=new Date(t);i||this.pick();this.built&&this.render()}},setStartDate:function(n){(o(n)||s(n))&&(this.startDate=this.parseDate(n),this.built&&this.render())},setEndDate:function(n){(o(n)||s(n))&&(this.endDate=this.parseDate(n),this.built&&this.render())},parseDate:function(t){var u=this.format,i=[];if(o(t))return new Date(t.getFullYear(),t.getMonth(),t.getDate());s(t)&&(i=t.match(bt)||[]);t=new Date;var h=u.parts.length,r=t.getFullYear(),f=t.getDate(),e=t.getMonth();return i.length===h&&n.each(i,function(n,t){var i=parseInt(t,10)||1;switch(u.parts[n]){case"dd":case"d":f=i;break;case"mm":case"m":e=i-1;break;case"yy":r=2e3+i;break;case"yyyy":r=i}}),new Date(r,e,f)},formatDate:function(t){var f=this.format,r="",u,i;return o(t)&&(u=t.getFullYear(),i={d:t.getDate(),m:t.getMonth()+1,yy:u.toString().substring(2),yyyy:u},i.dd=(i.d<10?"0":"")+i.d,i.mm=(i.m<10?"0":"")+i.m,r=f.source,n.each(f.parts,function(n,t){r=r.replace(t,i[t])})),r},destroy:function(){this.unbind();this.unbuild();this.$element.removeData(i)}},dt={click:function(t){var f=n(t.target),o=this.options,l=this.viewDate,c=this.format;if(t.stopPropagation(),t.preventDefault(),!f.hasClass("disabled")){var h=f.data("view"),r=l.getFullYear(),i=l.getMonth(),s=l.getDate();switch(h){case"years prev":case"years next":r="years prev"===h?r-10:r+10;this.viewDate=new Date(r,i,e(r,i,s));this.renderYears();break;case"year prev":case"year next":r="year prev"===h?r-1:r+1;this.viewDate=new Date(r,i,e(r,i,s));this.renderMonths();break;case"year current":c.hasYear&&this.showView(u.YEARS);break;case"year picked":c.hasMonth?this.showView(u.MONTHS):(f.addClass(o.pickedClass).siblings().removeClass(o.pickedClass),this.hideView());this.pick("year");break;case"year":r=parseInt(f.text(),10);this.date=new Date(r,i,e(r,i,s));c.hasMonth?(this.viewDate=new Date(this.date),this.showView(u.MONTHS)):(f.addClass(o.pickedClass).siblings().removeClass(o.pickedClass),this.hideView());this.pick("year");break;case"month prev":case"month next":i="month prev"===h?i-1:i+1;i<0?(r-=1,i+=12):i>11&&(r+=1,i-=12);this.viewDate=new Date(r,i,e(r,i,s));this.renderDays();break;case"month current":c.hasMonth&&this.showView(u.MONTHS);break;case"month picked":c.hasDay?this.showView(u.DAYS):(f.addClass(o.pickedClass).siblings().removeClass(o.pickedClass),this.hideView());this.pick("month");break;case"month":i=n.inArray(f.text(),o.monthsShort);this.date=new Date(r,i,e(r,i,s));c.hasDay?(this.viewDate=new Date(r,i,e(r,i,s)),this.showView(u.DAYS)):(f.addClass(o.pickedClass).siblings().removeClass(o.pickedClass),this.hideView());this.pick("month");break;case"day prev":case"day next":case"day":"day prev"===h?i-=1:"day next"===h&&(i+=1);s=parseInt(f.text(),10);this.date=new Date(r,i,s);this.viewDate=new Date(r,i,s);this.renderDays();"day"===h&&this.hideView();this.pick("day");break;case"day picked":this.hideView();this.pick("day")}}},globalClick:function(n){for(var t=n.target,r=this.element,u=this.$trigger,f=u[0],i=!0;t!==document;){if(t===f||t===r){i=!1;break}t=t.parentNode}i&&this.hide()},keyup:function(){this.update()},globalKeyup:function(n){var t=n.target,i=n.key,r=n.keyCode;this.isInput&&t!==this.element&&this.shown&&("Tab"===i||9===r)&&this.hide()}},gt={render:function(){this.renderYears();this.renderMonths();this.renderDays()},renderWeek:function(){var f=this,r=[],u=this.options,t=u.weekStart,i=u.daysMin;t=parseInt(t,10)%7;i=i.slice(t).concat(i.slice(0,t));n.each(i,function(n,t){r.push(f.createItem({text:t}))});this.$week.html(r.join(""))},renderYears:function(){for(var e=this.options,h=this.startDate,c=this.endDate,o=e.disabledClass,l=e.filter,a=e.yearSuffix,i=this.viewDate.getFullYear(),b=new Date,k=b.getFullYear(),d=this.date.getFullYear(),u=-5,f=6,v=[],y=!1,p=!1,n=void 0,r,t,s,w,n=u;n<=f;n+=1)r=new Date(i+n,1,1),t=!1,h&&(t=r.getFullYear()<h.getFullYear(),n===u&&(y=t)),!t&&c&&(t=r.getFullYear()>c.getFullYear(),n===f&&(p=t)),!t&&l&&(t=!1===l.call(this.$element,r)),s=i+n===d,w=s?"year picked":"year",v.push(this.createItem({picked:s,disabled:t,muted:n===u||n===f,text:i+n,view:t?"year disabled":w,highlighted:r.getFullYear()===k}));this.$yearsPrev.toggleClass(o,y);this.$yearsNext.toggleClass(o,p);this.$yearsCurrent.toggleClass(o,!0).html(i+u+a+" - "+(i+f)+a);this.$years.html(v.join(""))},renderMonths:function(){for(var u=this.options,s=this.startDate,h=this.endDate,w=this.viewDate,c=u.disabledClass||"",b=u.monthsShort,a=n.isFunction(u.filter)&&u.filter,f=w.getFullYear(),v=new Date,k=v.getFullYear(),d=v.getMonth(),g=this.date.getFullYear(),nt=this.date.getMonth(),y=[],e=!1,o=!1,i=void 0,r,t,l,p,i=0;i<=11;i+=1)r=new Date(f,i,1),t=!1,s&&(e=r.getFullYear()===s.getFullYear(),t=e&&r.getMonth()<s.getMonth()),!t&&h&&(o=r.getFullYear()===h.getFullYear(),t=o&&r.getMonth()>h.getMonth()),!t&&a&&(t=!1===a.call(this.$element,r)),l=f===g&&i===nt,p=l?"month picked":"month",y.push(this.createItem({disabled:t,picked:l,highlighted:f===k&&r.getMonth()===d,index:i,text:b[i],view:t?"month disabled":p}));this.$yearPrev.toggleClass(c,e);this.$yearNext.toggleClass(c,o);this.$yearCurrent.toggleClass(c,e&&o).html(f+u.yearSuffix||"");this.$months.html(y.join(""))},renderDays:function(){var d=this.$element,f=this.options,e=this.startDate,o=this.endDate,pt=this.viewDate,g=this.date,nt=f.disabledClass,s=f.filter,wt=f.monthsShort,ni=f.weekStart,bt=f.yearSuffix,i=pt.getFullYear(),t=pt.getMonth(),tt=new Date,it=tt.getFullYear(),rt=tt.getMonth(),ut=tt.getDate(),ft=g.getFullYear(),et=g.getMonth(),ot=g.getDate(),u=void 0,n=void 0,h=void 0,st=[],l=i,c=t,ht=!1,ct,w,a,dt,vt,p,r,yt,gt;for(0===t?(l-=1,c=11):c-=1,u=y(l,c),ct=new Date(i,t,1),h=ct.getDay()-parseInt(ni,10)%7,h<=0&&(h+=7),e&&(ht=ct.getTime()<=e.getTime()),n=u-(h-1);n<=u;n+=1)w=new Date(l,c,n),a=!1,e&&(a=w.getTime()<e.getTime()),!a&&s&&(a=!1===s.call(d,w)),st.push(this.createItem({disabled:a,highlighted:l===it&&c===rt&&w.getDate()===ut,muted:!0,picked:l===ft&&c===et&&n===ot,text:n,view:"day prev"}));var kt=[],b=i,v=t,lt=!1;for(11===t?(b+=1,v=0):v+=1,u=y(i,t),h=42-(st.length+u),dt=new Date(i,t,u),o&&(lt=dt.getTime()>=o.getTime()),n=1;n<=h;n+=1){var at=new Date(b,v,n),ti=b===ft&&v===et&&n===ot,k=!1;o&&(k=at.getTime()>o.getTime());!k&&s&&(k=!1===s.call(d,at));kt.push(this.createItem({disabled:k,picked:ti,highlighted:b===it&&v===rt&&at.getDate()===ut,muted:!0,text:n,view:"day next"}))}for(vt=[],n=1;n<=u;n+=1)p=new Date(i,t,n),r=!1,e&&(r=p.getTime()<e.getTime()),!r&&o&&(r=p.getTime()>o.getTime()),!r&&s&&(r=!1===s.call(d,p)),yt=i===ft&&t===et&&n===ot,gt=yt?"day picked":"day",vt.push(this.createItem({disabled:r,picked:yt,highlighted:i===it&&t===rt&&p.getDate()===ut,text:n,view:r?"day disabled":gt}));this.$monthPrev.toggleClass(nt,ht);this.$monthNext.toggleClass(nt,lt);this.$monthCurrent.toggleClass(nt,ht&&lt).html(f.yearFirst?i+bt+" "+wt[t]:wt[t]+" "+i+bt);this.$days.html(st.join("")+vt.join("")+kt.join(""))}},ni=function(){function n(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}return function(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),t}}(),ti=window,ut=ti.document,ft=n(ut),et=i+"-top-left",ii=i+"-top-right",ot=i+"-bottom-left",ri=i+"-bottom-right",ui=[et,ii,ot,ri].join(" "),l=function(){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};at(this,e);this.$element=n(t);this.element=t;this.options=n.extend({},g,k[i.language],i);this.built=!1;this.shown=!1;this.isInput=!1;this.inline=!1;this.initialValue="";this.initialDate=null;this.startDate=null;this.endDate=null;this.init()}return ni(e,[{key:"init",value:function(){var e=this.$element,t=this.options,i=t.startDate,r=t.endDate,u=t.date,f;this.$trigger=n(t.trigger);this.isInput=e.is("input")||e.is("textarea");this.inline=t.inline&&(t.container||!this.isInput);this.format=lt(t.format);f=this.getValue();this.initialValue=f;this.oldValue=f;u=this.parseDate(u||f);i&&(i=this.parseDate(i),u.getTime()<i.getTime()&&(u=new Date(i)),this.startDate=i);r&&(r=this.parseDate(r),i&&r.getTime()<i.getTime()&&(r=new Date(i)),u.getTime()>r.getTime()&&(u=new Date(r)),this.endDate=r);this.date=u;this.viewDate=new Date(u);this.initialDate=new Date(this.date);this.bind();(t.autoShow||this.inline)&&this.show();t.autoPick&&this.pick()}},{key:"build",value:function(){if(!this.built){this.built=!0;var e=this.$element,f=this.options,u=n(f.template);this.$picker=u;this.$week=u.find(t("week"));this.$yearsPicker=u.find(t("years picker"));this.$yearsPrev=u.find(t("years prev"));this.$yearsNext=u.find(t("years next"));this.$yearsCurrent=u.find(t("years current"));this.$years=u.find(t("years"));this.$monthsPicker=u.find(t("months picker"));this.$yearPrev=u.find(t("year prev"));this.$yearNext=u.find(t("year next"));this.$yearCurrent=u.find(t("year current"));this.$months=u.find(t("months"));this.$daysPicker=u.find(t("days picker"));this.$monthPrev=u.find(t("month prev"));this.$monthNext=u.find(t("month next"));this.$monthCurrent=u.find(t("month current"));this.$days=u.find(t("days"));this.inline?n(f.container||e).append(u.addClass(i+"-inline")):(n(ut.body).append(u.addClass(i+"-dropdown")),u.addClass(r));this.renderWeek()}}},{key:"unbuild",value:function(){this.built&&(this.built=!1,this.$picker.remove())}},{key:"bind",value:function(){var t=this.options,i=this.$element;n.isFunction(t.show)&&i.on(b,t.show);n.isFunction(t.hide)&&i.on(p,t.hide);n.isFunction(t.pick)&&i.on(w,t.pick);this.isInput&&i.on(h,n.proxy(this.keyup,this));this.inline||(t.trigger?this.$trigger.on(f,n.proxy(this.toggle,this)):this.isInput?i.on(nt,n.proxy(this.show,this)):i.on(f,n.proxy(this.show,this)))}},{key:"unbind",value:function(){var i=this.$element,t=this.options;n.isFunction(t.show)&&i.off(b,t.show);n.isFunction(t.hide)&&i.off(p,t.hide);n.isFunction(t.pick)&&i.off(w,t.pick);this.isInput&&i.off(h,this.keyup);this.inline||(t.trigger?this.$trigger.off(f,this.toggle):this.isInput?i.off(nt,this.show):i.off(f,this.show))}},{key:"showView",value:function(n){var i=this.$yearsPicker,f=this.$monthsPicker,e=this.$daysPicker,t=this.format;if(t.hasYear||t.hasMonth||t.hasDay)switch(Number(n)){case u.YEARS:f.addClass(r);e.addClass(r);t.hasYear?(this.renderYears(),i.removeClass(r),this.place()):this.showView(u.DAYS);break;case u.MONTHS:i.addClass(r);e.addClass(r);t.hasMonth?(this.renderMonths(),f.removeClass(r),this.place()):this.showView(u.YEARS);break;default:i.addClass(r);f.addClass(r);t.hasDay?(this.renderDays(),e.removeClass(r),this.place()):this.showView(u.MONTHS)}}},{key:"hideView",value:function(){!this.inline&&this.options.autoHide&&this.hide()}},{key:"place",value:function(){if(!this.inline){var r=this.$element,o=this.options,u=this.$picker,l=ft.outerWidth(),a=ft.outerHeight(),v=r.outerWidth(),s=r.outerHeight(),h=u.width(),f=u.height(),c=r.offset(),e=c.left,n=c.top,t=parseFloat(o.offset),i=et;it(t)&&(t=10);n>f&&n+s+f>a?(n-=f+t,i=ot):n+=s+t;e+h>l&&(e+=v-h,i=i.replace("left","right"));u.removeClass(ui).addClass(i).css({top:n,left:e,zIndex:parseInt(o.zIndex,10)})}}},{key:"trigger",value:function(t,i){var r=n.Event(t,i);return this.$element.trigger(r),r}},{key:"createItem",value:function(t){var r=this.options,f=r.itemTag,i={text:"",view:"",muted:!1,picked:!1,disabled:!1,highlighted:!1},u=[];return n.extend(i,t),i.muted&&u.push(r.mutedClass),i.highlighted&&u.push(r.highlightedClass),i.picked&&u.push(r.pickedClass),i.disabled&&u.push(r.disabledClass),"<"+f+' class="'+u.join(" ")+'" data-view="'+i.view+'">'+i.text+"<\/"+f+">"}},{key:"getValue",value:function(){var n=this.$element;return this.isInput?n.val():n.text()}},{key:"setValue",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.$element;this.isInput?t.val(n):t.text(n)}}],[{key:"setDefaults",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n.extend(g,k[t.language],t)}}]),e}();n.extend(l.prototype,gt,dt,kt);st=n.fn.datepicker;n.fn.datepicker=function(t){for(var r,u=arguments.length,f=Array(u>1?u-1:0),i=1;i<u;i++)f[i-1]=arguments[i];return r=void 0,this.each(function(){var u=n(this),i=u.data("datepicker"),o,e;if(!i){if(/destroy/.test(t))return;o=n.extend({},u.data(),n.isPlainObject(t)&&t);i=new l(this,o);u.data("datepicker",i)}"string"==typeof t&&(e=i[t],n.isFunction(e)&&(r=e.apply(i,f)))}),void 0!==r?r:this};n.fn.datepicker.Constructor=l;n.fn.datepicker.languages=k;n.fn.datepicker.setDefaults=l.setDefaults;n.fn.datepicker.noConflict=function(){return n.fn.datepicker=st,this}}),function(n){var t={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,slideZIndex:50,wrapperClass:"bx-wrapper",touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,ariaLive:!0,ariaHidden:!0,keyboardEnabled:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",stopAutoOnClick:!1,autoHover:!1,autoDelay:0,autoSlideForOnePage:!1,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,shrinkItems:!1,onSliderLoad:function(){return!0},onSlideBefore:function(){return!0},onSlideAfter:function(){return!0},onSlideNext:function(){return!0},onSlidePrev:function(){return!0},onSliderResize:function(){return!0},onAutoChange:function(){return!0}};n.fn.bxSlider=function(r){if(0===this.length)return this;if(this.length>1)return this.each(function(){n(this).bxSlider(r)}),this;var u={},f=this,k=n(window).width(),d=n(window).height();if(!n(f).data("bxSlider")){var g=function(){n(f).data("bxSlider")||(u.settings=n.extend({},t,r),u.settings.slideWidth=parseInt(u.settings.slideWidth),u.children=f.children(u.settings.slideSelector),u.children.length<u.settings.minSlides&&(u.settings.minSlides=u.children.length),u.children.length<u.settings.maxSlides&&(u.settings.maxSlides=u.children.length),u.settings.randomStart&&(u.settings.startSlide=Math.floor(Math.random()*u.children.length)),u.active={index:u.settings.startSlide},u.carousel=u.settings.minSlides>1||u.settings.maxSlides>1,u.carousel&&(u.settings.preloadImages="all"),u.minThreshold=u.settings.minSlides*u.settings.slideWidth+(u.settings.minSlides-1)*u.settings.slideMargin,u.maxThreshold=u.settings.maxSlides*u.settings.slideWidth+(u.settings.maxSlides-1)*u.settings.slideMargin,u.working=!1,u.controls={},u.interval=null,u.animProp="vertical"===u.settings.mode?"top":"left",u.usingCSS=u.settings.useCSS&&"fade"!==u.settings.mode&&function(){for(var i=document.createElement("div"),t=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"],n=0;n<t.length;n++)if(void 0!==i.style[t[n]])return u.cssPrefix=t[n].replace("Perspective","").toLowerCase(),u.animProp="-"+u.cssPrefix+"-transform",!0;return!1}(),"vertical"===u.settings.mode&&(u.settings.maxSlides=u.settings.minSlides),f.data("origStyle",f.attr("style")),f.children(u.settings.slideSelector).each(function(){n(this).data("origStyle",n(this).attr("style"))}),at())},at=function(){var t=u.children.eq(u.settings.startSlide);f.wrap('<div class="'+u.settings.wrapperClass+'"><div class="bx-viewport"><\/div><\/div>');u.viewport=f.parent();u.settings.ariaLive&&!u.settings.ticker&&u.viewport.attr("aria-live","polite");u.loader=n('<div class="bx-loading" />');u.viewport.prepend(u.loader);f.css({width:"horizontal"===u.settings.mode?1e3*u.children.length+215+"%":"auto",position:"relative"});u.usingCSS&&u.settings.easing?f.css("-"+u.cssPrefix+"-transition-timing-function",u.settings.easing):u.settings.easing||(u.settings.easing="swing");u.viewport.css({width:"100%",overflow:"hidden",position:"relative"});u.viewport.parent().css({maxWidth:yt()});u.children.css({float:"horizontal"===u.settings.mode?"left":"none",listStyle:"none",position:"relative"});u.children.css("width",tt());"horizontal"===u.settings.mode&&u.settings.slideMargin>0&&u.children.css("marginRight",u.settings.slideMargin);"vertical"===u.settings.mode&&u.settings.slideMargin>0&&u.children.css("marginBottom",u.settings.slideMargin);"fade"===u.settings.mode&&(u.children.css({position:"absolute",zIndex:0,display:"none"}),u.children.eq(u.settings.startSlide).css({zIndex:u.settings.slideZIndex,display:"block"}));u.controls.el=n('<div class="bx-controls" />');u.settings.captions&&kt();u.active.last=u.settings.startSlide===o()-1;u.settings.video&&f.fitVids();"none"===u.settings.preloadImages?t=null:("all"===u.settings.preloadImages||u.settings.ticker)&&(t=u.children);u.settings.ticker?u.settings.pager=!1:(u.settings.controls&&wt(),u.settings.auto&&u.settings.autoControls&&bt(),u.settings.pager&&pt(),(u.settings.controls||u.settings.autoControls||u.settings.pager)&&u.viewport.after(u.controls.el));null===t?nt():vt(t,nt)},vt=function(t,i){var r=t.find('img:not([src=""]), iframe').length,u=0;0!==r?t.find('img:not([src=""]), iframe').each(function(){n(this).one("load error",function(){++u===r&&i()}).each(function(){(this.complete||""==this.src)&&n(this).trigger("load")})}):i()},nt=function(){if(u.settings.infiniteLoop&&"fade"!==u.settings.mode&&!u.settings.ticker){var t="vertical"===u.settings.mode?u.settings.minSlides:u.settings.maxSlides,i=u.children.slice(0,t).clone(!0).addClass("bx-clone"),r=u.children.slice(-t).clone(!0).addClass("bx-clone");u.settings.ariaHidden&&(i.attr("aria-hidden",!0),r.attr("aria-hidden",!0));f.append(i).prepend(r)}u.loader.remove();it();"vertical"===u.settings.mode&&(u.settings.adaptiveHeight=!0);u.viewport.height(c());f.redrawSlider();u.settings.onSliderLoad.call(f,u.active.index);u.initialized=!0;u.settings.responsive&&n(window).on("resize",b);u.settings.auto&&u.settings.autoStart&&(o()>1||u.settings.autoSlideForOnePage)&&ti();u.settings.ticker&&ii();u.settings.pager&&v(u.settings.startSlide);u.settings.controls&&et();u.settings.touchEnabled&&!u.settings.ticker&&ui();u.settings.keyboardEnabled&&!u.settings.ticker&&n(document).keydown(ht)},c=function(){var r=0,t=n(),f;if("vertical"===u.settings.mode||u.settings.adaptiveHeight)if(u.carousel)for(f=1===u.settings.moveSlides?u.active.index:u.active.index*s(),t=u.children.eq(f),i=1;i<=u.settings.maxSlides-1;i++)t=f+i>=u.children.length?t.add(u.children.eq(i-1)):t.add(u.children.eq(f+i));else t=u.children.eq(u.active.index);else t=u.children;return"vertical"===u.settings.mode?(t.each(function(){r+=n(this).outerHeight()}),u.settings.slideMargin>0&&(r+=u.settings.slideMargin*(u.settings.minSlides-1))):r=Math.max.apply(Math,t.map(function(){return n(this).outerHeight(!1)}).get()),"border-box"===u.viewport.css("box-sizing")?r+=parseFloat(u.viewport.css("padding-top"))+parseFloat(u.viewport.css("padding-bottom"))+parseFloat(u.viewport.css("border-top-width"))+parseFloat(u.viewport.css("border-bottom-width")):"padding-box"===u.viewport.css("box-sizing")&&(r+=parseFloat(u.viewport.css("padding-top"))+parseFloat(u.viewport.css("padding-bottom"))),r},yt=function(){var n="100%";return u.settings.slideWidth>0&&(n="horizontal"===u.settings.mode?u.settings.maxSlides*u.settings.slideWidth+(u.settings.maxSlides-1)*u.settings.slideMargin:u.settings.slideWidth),n},tt=function(){var t=u.settings.slideWidth,n=u.viewport.width();if(0===u.settings.slideWidth||u.settings.slideWidth>n&&!u.carousel||"vertical"===u.settings.mode)t=n;else if(u.settings.maxSlides>1&&"horizontal"===u.settings.mode){if(n>u.maxThreshold)return t;n<u.minThreshold?t=(n-u.settings.slideMargin*(u.settings.minSlides-1))/u.settings.minSlides:u.settings.shrinkItems&&(t=Math.floor((n+u.settings.slideMargin)/Math.ceil((n+u.settings.slideMargin)/(t+u.settings.slideMargin))-u.settings.slideMargin))}return t},h=function(){var n=1,t=null;return"horizontal"===u.settings.mode&&u.settings.slideWidth>0?u.viewport.width()<u.minThreshold?n=u.settings.minSlides:u.viewport.width()>u.maxThreshold?n=u.settings.maxSlides:(t=u.children.first().width()+u.settings.slideMargin,n=Math.floor((u.viewport.width()+u.settings.slideMargin)/t)||1):"vertical"===u.settings.mode&&(n=u.settings.minSlides),n},o=function(){var n=0,i=0,t=0;if(u.settings.moveSlides>0){if(!u.settings.infiniteLoop){for(;i<u.children.length;)++n,i=t+h(),t+=u.settings.moveSlides<=h()?u.settings.moveSlides:h();return t}n=Math.ceil(u.children.length/s())}else n=Math.ceil(u.children.length/h());return n},s=function(){return u.settings.moveSlides>0&&u.settings.moveSlides<=h()?u.settings.moveSlides:h()},it=function(){var n,t,i;u.children.length>u.settings.maxSlides&&u.active.last&&!u.settings.infiniteLoop?"horizontal"===u.settings.mode?(t=u.children.last(),n=t.position(),e(-(n.left-(u.viewport.width()-t.outerWidth())),"reset",0)):"vertical"===u.settings.mode&&(i=u.children.length-u.settings.minSlides,n=u.children.eq(i).position(),e(-n.top,"reset",0)):(n=u.children.eq(u.active.index*s()).position(),u.active.index===o()-1&&(u.active.last=!0),void 0!==n&&("horizontal"===u.settings.mode?e(-n.left,"reset",0):"vertical"===u.settings.mode&&e(-n.top,"reset",0)))},e=function(t,i,r,o){var s,h;u.usingCSS?(h="vertical"===u.settings.mode?"translate3d(0, "+t+"px, 0)":"translate3d("+t+"px, 0, 0)",f.css("-"+u.cssPrefix+"-transition-duration",r/1e3+"s"),"slide"===i?(f.css(u.animProp,h),0!==r?f.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(t){n(t.target).is(f)&&(f.off("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),a())}):a()):"reset"===i?f.css(u.animProp,h):"ticker"===i&&(f.css("-"+u.cssPrefix+"-transition-timing-function","linear"),f.css(u.animProp,h),0!==r?f.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(t){n(t.target).is(f)&&(f.off("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),e(o.resetValue,"reset",0),l())}):(e(o.resetValue,"reset",0),l()))):(s={},s[u.animProp]=t,"slide"===i?f.animate(s,r,u.settings.easing,function(){a()}):"reset"===i?f.css(u.animProp,t):"ticker"===i&&f.animate(s,r,"linear",function(){e(o.resetValue,"reset",0);l()}))},rt=function(){for(var r="",i="",f=o(),t=0;t<f;t++)i="",u.settings.buildPager&&n.isFunction(u.settings.buildPager)||u.settings.pagerCustom?(i=u.settings.buildPager(t),u.pagerEl.addClass("bx-custom-pager")):(i=t+1,u.pagerEl.addClass("bx-default-pager")),r+='<div class="bx-pager-item"><a href="" data-slide-index="'+t+'" class="bx-pager-link">'+i+"<\/a><\/div>";u.pagerEl.html(r)},pt=function(){u.settings.pagerCustom?u.pagerEl=n(u.settings.pagerCustom):(u.pagerEl=n('<div class="bx-pager" />'),u.settings.pagerSelector?n(u.settings.pagerSelector).html(u.pagerEl):u.controls.el.addClass("bx-has-pager").append(u.pagerEl),rt());u.pagerEl.on("click touchend","a",ni)},wt=function(){u.controls.next=n('<a class="bx-next" href="">'+u.settings.nextText+"<\/a>");u.controls.prev=n('<a class="bx-prev" href="">'+u.settings.prevText+"<\/a>");u.controls.next.on("click touchend",ut);u.controls.prev.on("click touchend",ft);u.settings.nextSelector&&n(u.settings.nextSelector).append(u.controls.next);u.settings.prevSelector&&n(u.settings.prevSelector).append(u.controls.prev);u.settings.nextSelector||u.settings.prevSelector||(u.controls.directionEl=n('<div class="bx-controls-direction" />'),u.controls.directionEl.append(u.controls.prev).append(u.controls.next),u.controls.el.addClass("bx-has-controls-direction").append(u.controls.directionEl))},bt=function(){u.controls.start=n('<div class="bx-controls-auto-item"><a class="bx-start" href="">'+u.settings.startText+"<\/a><\/div>");u.controls.stop=n('<div class="bx-controls-auto-item"><a class="bx-stop" href="">'+u.settings.stopText+"<\/a><\/div>");u.controls.autoEl=n('<div class="bx-controls-auto" />');u.controls.autoEl.on("click",".bx-start",dt);u.controls.autoEl.on("click",".bx-stop",gt);u.settings.autoControlsCombine?u.controls.autoEl.append(u.controls.start):u.controls.autoEl.append(u.controls.start).append(u.controls.stop);u.settings.autoControlsSelector?n(u.settings.autoControlsSelector).html(u.controls.autoEl):u.controls.el.addClass("bx-has-controls-auto").append(u.controls.autoEl);y(u.settings.autoStart?"stop":"start")},kt=function(){u.children.each(function(){var t=n(this).find("img:first").attr("title");void 0!==t&&(""+t).length&&n(this).append('<div class="bx-caption"><span>'+t+"<\/span><\/div>")})},ut=function(n){n.preventDefault();u.controls.el.hasClass("disabled")||(u.settings.auto&&u.settings.stopAutoOnClick&&f.stopAuto(),f.goToNextSlide())},ft=function(n){n.preventDefault();u.controls.el.hasClass("disabled")||(u.settings.auto&&u.settings.stopAutoOnClick&&f.stopAuto(),f.goToPrevSlide())},dt=function(n){f.startAuto();n.preventDefault()},gt=function(n){f.stopAuto();n.preventDefault()},ni=function(t){var i,r;t.preventDefault();u.controls.el.hasClass("disabled")||(u.settings.auto&&u.settings.stopAutoOnClick&&f.stopAuto(),i=n(t.currentTarget),void 0!==i.attr("data-slide-index")&&(r=parseInt(i.attr("data-slide-index")),r!==u.active.index&&f.goToSlide(r)))},v=function(t){var i=u.children.length;if("short"===u.settings.pagerType)return u.settings.maxSlides>1&&(i=Math.ceil(u.children.length/u.settings.maxSlides)),void u.pagerEl.html(t+1+u.settings.pagerShortSeparator+i);u.pagerEl.find("a").removeClass("active");u.pagerEl.each(function(i,r){n(r).find("a").eq(t).addClass("active")})},a=function(){if(u.settings.infiniteLoop){var n="";0===u.active.index?n=u.children.eq(0).position():u.active.index===o()-1&&u.carousel?n=u.children.eq((o()-1)*s()).position():u.active.index===u.children.length-1&&(n=u.children.eq(u.children.length-1).position());n&&("horizontal"===u.settings.mode?e(-n.left,"reset",0):"vertical"===u.settings.mode&&e(-n.top,"reset",0))}u.working=!1;u.settings.onSlideAfter.call(f,u.children.eq(u.active.index),u.oldIndex,u.active.index)},y=function(n){u.settings.autoControlsCombine?u.controls.autoEl.html(u.controls[n]):(u.controls.autoEl.find("a").removeClass("active"),u.controls.autoEl.find("a:not(.bx-"+n+")").addClass("active"))},et=function(){1===o()?(u.controls.prev.addClass("disabled"),u.controls.next.addClass("disabled")):!u.settings.infiniteLoop&&u.settings.hideControlOnEnd&&(0===u.active.index?(u.controls.prev.addClass("disabled"),u.controls.next.removeClass("disabled")):u.active.index===o()-1?(u.controls.next.addClass("disabled"),u.controls.prev.removeClass("disabled")):(u.controls.prev.removeClass("disabled"),u.controls.next.removeClass("disabled")))},ot=function(){f.startAuto()},st=function(){f.stopAuto()},ti=function(){u.settings.autoDelay>0?setTimeout(f.startAuto,u.settings.autoDelay):(f.startAuto(),n(window).focus(ot).blur(st));u.settings.autoHover&&f.hover(function(){u.interval&&(f.stopAuto(!0),u.autoPaused=!0)},function(){u.autoPaused&&(f.startAuto(!0),u.autoPaused=null)})},ii=function(){var o,c,s,a,i,h,r,t,v=0;"next"===u.settings.autoDirection?f.append(u.children.clone().addClass("bx-clone")):(f.prepend(u.children.clone().addClass("bx-clone")),o=u.children.first().position(),v="horizontal"===u.settings.mode?-o.left:-o.top);e(v,"reset",0);u.settings.pager=!1;u.settings.controls=!1;u.settings.autoControls=!1;u.settings.tickerHover&&(u.usingCSS?(a="horizontal"===u.settings.mode?4:5,u.viewport.hover(function(){c=f.css("-"+u.cssPrefix+"-transform");s=parseFloat(c.split(",")[a]);e(s,"reset",0)},function(){t=0;u.children.each(function(){t+="horizontal"===u.settings.mode?n(this).outerWidth(!0):n(this).outerHeight(!0)});i=u.settings.speed/t;h="horizontal"===u.settings.mode?"left":"top";r=i*(t-Math.abs(parseInt(s)));l(r)})):u.viewport.hover(function(){f.stop()},function(){t=0;u.children.each(function(){t+="horizontal"===u.settings.mode?n(this).outerWidth(!0):n(this).outerHeight(!0)});i=u.settings.speed/t;h="horizontal"===u.settings.mode?"left":"top";r=i*(t-Math.abs(parseInt(f.css(h))));l(r)}));l()},l=function(n){var r,o,s,h=n||u.settings.speed,t={left:0,top:0},i={left:0,top:0};"next"===u.settings.autoDirection?t=f.find(".bx-clone").first().position():i=u.children.first().position();r="horizontal"===u.settings.mode?-t.left:-t.top;o="horizontal"===u.settings.mode?-i.left:-i.top;s={resetValue:o};e(r,"ticker",h,s)},ri=function(t){var u=n(window),i={top:u.scrollTop(),left:u.scrollLeft()},r=t.offset();return i.right=i.left+u.width(),i.bottom=i.top+u.height(),r.right=r.left+t.outerWidth(),r.bottom=r.top+t.outerHeight(),!(i.right<r.left||i.left>r.right||i.bottom<r.top||i.top>r.bottom)},ht=function(n){var t=document.activeElement.tagName.toLowerCase(),i=new RegExp(t,["i"]),r=i.exec("input|textarea");if(null==r&&ri(f)){if(39===n.keyCode)return ut(n),!1;if(37===n.keyCode)return ft(n),!1}},ui=function(){u.touch={start:{x:0,y:0},end:{x:0,y:0}};u.viewport.on("touchstart MSPointerDown pointerdown",fi);u.viewport.on("click",".bxslider a",function(n){u.viewport.hasClass("click-disabled")&&(n.preventDefault(),u.viewport.removeClass("click-disabled"))})},fi=function(n){if("touchstart"===n.type||0===n.button)if(n.preventDefault(),u.controls.el.addClass("disabled"),u.working)u.controls.el.removeClass("disabled");else{u.touch.originalPos=f.position();var t=n.originalEvent,i=void 0!==t.changedTouches?t.changedTouches:[t],r="function"==typeof PointerEvent;if(r&&void 0===t.pointerId)return;u.touch.start.x=i[0].pageX;u.touch.start.y=i[0].pageY;u.viewport.get(0).setPointerCapture&&(u.pointerId=t.pointerId,u.viewport.get(0).setPointerCapture(u.pointerId));u.originalClickTarget=t.originalTarget||t.target;u.originalClickButton=t.button;u.originalClickButtons=t.buttons;u.originalEventType=t.type;u.hasMove=!1;u.viewport.on("touchmove MSPointerMove pointermove",p);u.viewport.on("touchend MSPointerUp pointerup",w);u.viewport.on("MSPointerCancel pointercancel",ct)}},ct=function(n){n.preventDefault();e(u.touch.originalPos.left,"reset",0);u.controls.el.removeClass("disabled");u.viewport.off("MSPointerCancel pointercancel",ct);u.viewport.off("touchmove MSPointerMove pointermove",p);u.viewport.off("touchend MSPointerUp pointerup",w);u.viewport.get(0).releasePointerCapture&&u.viewport.get(0).releasePointerCapture(u.pointerId)},p=function(n){var r=n.originalEvent,t=void 0!==r.changedTouches?r.changedTouches:[r],o=Math.abs(t[0].pageX-u.touch.start.x),s=Math.abs(t[0].pageY-u.touch.start.y),f=0,i=0;u.hasMove=!0;3*o>s&&u.settings.preventDefaultSwipeX?n.preventDefault():3*s>o&&u.settings.preventDefaultSwipeY&&n.preventDefault();"touchmove"!==n.type&&n.preventDefault();"fade"!==u.settings.mode&&u.settings.oneToOneTouch&&("horizontal"===u.settings.mode?(i=t[0].pageX-u.touch.start.x,f=u.touch.originalPos.left+i):(i=t[0].pageY-u.touch.start.y,f=u.touch.originalPos.top+i),e(f,"reset",0))},w=function(t){t.preventDefault();u.viewport.off("touchmove MSPointerMove pointermove",p);u.controls.el.removeClass("disabled");var o=t.originalEvent,s=void 0!==o.changedTouches?o.changedTouches:[o],r=0,i=0;u.touch.end.x=s[0].pageX;u.touch.end.y=s[0].pageY;"fade"===u.settings.mode?(i=Math.abs(u.touch.start.x-u.touch.end.x),i>=u.settings.swipeThreshold&&(u.touch.start.x>u.touch.end.x?f.goToNextSlide():f.goToPrevSlide(),f.stopAuto())):("horizontal"===u.settings.mode?(i=u.touch.end.x-u.touch.start.x,r=u.touch.originalPos.left):(i=u.touch.end.y-u.touch.start.y,r=u.touch.originalPos.top),!u.settings.infiniteLoop&&(0===u.active.index&&i>0||u.active.last&&i<0)?e(r,"reset",200):Math.abs(i)>=u.settings.swipeThreshold?(i<0?f.goToNextSlide():f.goToPrevSlide(),f.stopAuto()):e(r,"reset",200));u.viewport.off("touchend MSPointerUp pointerup",w);u.viewport.get(0).releasePointerCapture&&u.viewport.get(0).releasePointerCapture(u.pointerId);!1!==u.hasMove||0!==u.originalClickButton&&"touchstart"!==u.originalEventType||n(u.originalClickTarget).trigger({type:"click",button:u.originalClickButton,buttons:u.originalClickButtons})},b=function(){if(u.initialized)if(u.working)window.setTimeout(b,10);else{var t=n(window).width(),i=n(window).height();k===t&&d===i||(k=t,d=i,f.redrawSlider(),u.settings.onSliderResize.call(f,u.active.index))}},lt=function(n){var t=h();u.settings.ariaHidden&&!u.settings.ticker&&(u.children.attr("aria-hidden","true"),u.children.slice(n,n+t).attr("aria-hidden","false"))},ei=function(n){return n<0?u.settings.infiniteLoop?o()-1:u.active.index:n>=o()?u.settings.infiniteLoop?0:u.active.index:n};return f.goToSlide=function(t,i){var y,p,w,b,h=!0,k=0,r={left:0,top:0},l=null;if(u.oldIndex=u.active.index,u.active.index=ei(t),!u.working&&u.active.index!==u.oldIndex){if(u.working=!0,h=u.settings.onSlideBefore.call(f,u.children.eq(u.active.index),u.oldIndex,u.active.index),void 0!==h&&!h)return u.active.index=u.oldIndex,void(u.working=!1);"next"===i?u.settings.onSlideNext.call(f,u.children.eq(u.active.index),u.oldIndex,u.active.index)||(h=!1):"prev"===i&&(u.settings.onSlidePrev.call(f,u.children.eq(u.active.index),u.oldIndex,u.active.index)||(h=!1));u.active.last=u.active.index>=o()-1;(u.settings.pager||u.settings.pagerCustom)&&v(u.active.index);u.settings.controls&&et();"fade"===u.settings.mode?(u.settings.adaptiveHeight&&u.viewport.height()!==c()&&u.viewport.animate({height:c()},u.settings.adaptiveHeightSpeed),u.children.filter(":visible").fadeOut(u.settings.speed).css({zIndex:0}),u.children.eq(u.active.index).css("zIndex",u.settings.slideZIndex+1).fadeIn(u.settings.speed,function(){n(this).css("zIndex",u.settings.slideZIndex);a()})):(u.settings.adaptiveHeight&&u.viewport.height()!==c()&&u.viewport.animate({height:c()},u.settings.adaptiveHeightSpeed),!u.settings.infiniteLoop&&u.carousel&&u.active.last?"horizontal"===u.settings.mode?(l=u.children.eq(u.children.length-1),r=l.position(),k=u.viewport.width()-l.outerWidth()):(y=u.children.length-u.settings.minSlides,r=u.children.eq(y).position()):u.carousel&&u.active.last&&"prev"===i?(p=1===u.settings.moveSlides?u.settings.maxSlides-s():(o()-1)*s()-(u.children.length-u.settings.maxSlides),l=f.children(".bx-clone").eq(p),r=l.position()):"next"===i&&0===u.active.index?(r=f.find("> .bx-clone").eq(u.settings.maxSlides).position(),u.active.last=!1):t>=0&&(b=t*parseInt(s()),r=u.children.eq(b).position()),void 0!==r&&(w="horizontal"===u.settings.mode?-(r.left-k):-r.top,e(w,"slide",u.settings.speed)),u.working=!1);u.settings.ariaHidden&&lt(u.active.index*s())}},f.goToNextSlide=function(){if((u.settings.infiniteLoop||!u.active.last)&&!0!==u.working){var n=parseInt(u.active.index)+1;f.goToSlide(n,"next")}},f.goToPrevSlide=function(){if((u.settings.infiniteLoop||0!==u.active.index)&&!0!==u.working){var n=parseInt(u.active.index)-1;f.goToSlide(n,"prev")}},f.startAuto=function(n){u.interval||(u.interval=setInterval(function(){"next"===u.settings.autoDirection?f.goToNextSlide():f.goToPrevSlide()},u.settings.pause),u.settings.onAutoChange.call(f,!0),u.settings.autoControls&&!0!==n&&y("stop"))},f.stopAuto=function(n){u.autoPaused&&(u.autoPaused=!1);u.interval&&(clearInterval(u.interval),u.interval=null,u.settings.onAutoChange.call(f,!1),u.settings.autoControls&&!0!==n&&y("start"))},f.getCurrentSlide=function(){return u.active.index},f.getCurrentSlideElement=function(){return u.children.eq(u.active.index)},f.getSlideElement=function(n){return u.children.eq(n)},f.getSlideCount=function(){return u.children.length},f.isWorking=function(){return u.working},f.redrawSlider=function(){u.children.add(f.find(".bx-clone")).outerWidth(tt());u.viewport.css("height",c());u.settings.ticker||it();u.active.last&&(u.active.index=o()-1);u.active.index>=o()&&(u.active.last=!0);u.settings.pager&&!u.settings.pagerCustom&&(rt(),v(u.active.index));u.settings.ariaHidden&&lt(u.active.index*s())},f.destroySlider=function(){u.initialized&&(u.initialized=!1,n(".bx-clone",this).remove(),u.children.each(function(){void 0!==n(this).data("origStyle")?n(this).attr("style",n(this).data("origStyle")):n(this).removeAttr("style")}),void 0!==n(this).data("origStyle")?this.attr("style",n(this).data("origStyle")):n(this).removeAttr("style"),n(this).unwrap().unwrap(),u.controls.el&&u.controls.el.remove(),u.controls.next&&u.controls.next.remove(),u.controls.prev&&u.controls.prev.remove(),u.pagerEl&&u.settings.controls&&!u.settings.pagerCustom&&u.pagerEl.remove(),n(".bx-caption",this).remove(),u.controls.autoEl&&u.controls.autoEl.remove(),clearInterval(u.interval),u.settings.responsive&&n(window).off("resize",b),u.settings.keyboardEnabled&&n(document).off("keydown",ht),n(this).removeData("bxSlider"),n(window).off("blur",st).off("focus",ot))},f.reloadSlider=function(t){void 0!==t&&(r=t);f.destroySlider();g();n(f).data("bxSlider",this)},g(),n(f).data("bxSlider",this),this}}}(jQuery),function(n,t,i,r){function u(t,i){this.settings=null;this.options=n.extend({},u.Defaults,i);this.$element=n(t);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"]}};n.each(["onResize","onThrottledResize"],n.proxy(function(t,i){this._handlers[i]=n.proxy(this[i],this)},this));n.each(u.Plugins,n.proxy(function(n,t){this._plugins[n.charAt(0).toLowerCase()+n.slice(1)]=new t(this)},this));n.each(u.Workers,n.proxy(function(t,i){this._pipe.push({filter:i.filter,run:n.proxy(i.run,this)})},this));this.setup();this.initialize()}u.Defaults={items:3,loop:!1,center:!1,rewind:!1,checkVisibility:!0,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:t,fallbackEasing:"swing",slideTransition:"",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"};u.Width={Default:"default",Inner:"inner",Outer:"outer"};u.Type={Event:"event",State:"state"};u.Plugins={};u.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(n){n.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(n){var t=this.settings.margin||"",u=!this.settings.autoWidth,i=this.settings.rtl,r={width:"auto","margin-left":i?t:"","margin-right":i?"":t};u||this.$stage.children().css(r);n.css=r}},{filter:["width","items","settings"],run:function(n){var r=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,t=null,i=this._items.length,f=!this.settings.autoWidth,u=[];for(n.items={merge:!1,width:r};i--;)t=this._mergers[i],t=this.settings.mergeFit&&Math.min(t,this.settings.items)||t,n.items.merge=t>1||n.items.merge,u[i]=f?r*t:this._items[i].width();this._widths=u}},{filter:["items","settings"],run:function(){var t=[],i=this._items,r=this.settings,e=Math.max(2*r.items,4),s=2*Math.ceil(i.length/2),u=r.loop&&i.length?r.rewind?e:Math.max(e,s):0,o="",f="";for(u/=2;u>0;)t.push(this.normalize(t.length/2,!0)),o+=i[t[t.length-1]][0].outerHTML,t.push(this.normalize(i.length-1-(t.length-1)/2,!0)),f=i[t[t.length-1]][0].outerHTML+f,u-=1;this._clones=t;n(o).addClass("cloned").appendTo(this.$stage);n(f).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var u=this.settings.rtl?1:-1,f=this._clones.length+this._items.length,n=-1,i=0,r=0,t=[];++n<f;)i=t[n-1]||0,r=this._widths[this.relative(n)]+this.settings.margin,t.push(i+r*u);this._coordinates=t}},{filter:["width","items","settings"],run:function(){var n=this.settings.stagePadding,t=this._coordinates,i={width:Math.ceil(Math.abs(t[t.length-1]))+2*n,"padding-left":n||"","padding-right":n||""};this.$stage.css(i)}},{filter:["width","items","settings"],run:function(n){var t=this._coordinates.length,i=!this.settings.autoWidth,r=this.$stage.children();if(i&&n.items.merge)for(;t--;)n.css.width=this._widths[this.relative(t)],r.eq(t).css(n.css);else i&&(n.css.width=n.items.width,r.css(n.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(n){n.current=n.current?this.$stage.children().index(n.current):0;n.current=Math.max(this.minimum(),Math.min(this.maximum(),n.current));this.reset(n.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){for(var t,i,f=this.settings.rtl?1:-1,e=2*this.settings.stagePadding,r=this.coordinates(this.current())+e,o=r+this.width()*f,s=[],n=0,u=this._coordinates.length;n<u;n++)t=this._coordinates[n-1]||0,i=Math.abs(this._coordinates[n])+e*f,(this.op(t,"<=",r)&&this.op(t,">",o)||this.op(i,"<",r)&&this.op(i,">",o))&&s.push(n);this.$stage.children(".active").removeClass("active");this.$stage.children(":eq("+s.join("), :eq(")+")").addClass("active");this.$stage.children(".center").removeClass("center");this.settings.center&&this.$stage.children().eq(this.current()).addClass("center")}}];u.prototype.initializeStage=function(){this.$stage=this.$element.find("."+this.settings.stageClass);this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=n("<"+this.settings.stageElement+">",{"class":this.settings.stageClass}).wrap(n("<div/>",{"class":this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))};u.prototype.initializeItems=function(){var t=this.$element.find(".owl-item");if(t.length)return this._items=t.get().map(function(t){return n(t)}),this._mergers=this._items.map(function(){return 1}),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent()));this.isVisible()?this.refresh():this.invalidate("width");this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)};u.prototype.initialize=function(){var n,t,i;(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading"))&&(n=this.$element.find("img"),t=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:r,i=this.$element.children(t).width(),n.length&&i<=0&&this.preloadAutoWidthImages(n));this.initializeStage();this.initializeItems();this.registerEventHandlers();this.leave("initializing");this.trigger("initialized")};u.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(":visible")};u.prototype.setup=function(){var u=this.viewport(),r=this.options.responsive,i=-1,t=null;r?(n.each(r,function(n){n<=u&&n>i&&(i=Number(n))}),t=n.extend({},this.options,r[i]),"function"==typeof t.stagePadding&&(t.stagePadding=t.stagePadding()),delete t.responsive,t.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+i))):t=n.extend({},this.options);this.trigger("change",{property:{name:"settings",value:t}});this._breakpoint=i;this.settings=t;this.invalidate("settings");this.trigger("changed",{property:{name:"settings",value:this.settings}})};u.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)};u.prototype.prepare=function(t){var i=this.trigger("prepare",{content:t});return i.data||(i.data=n("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(t)),this.trigger("prepared",{content:i.data}),i.data};u.prototype.update=function(){for(var t=0,i=this._pipe.length,r=n.proxy(function(n){return this[n]},this._invalidated),u={};t<i;)(this._invalidated.all||n.grep(this._pipe[t].filter,r).length>0)&&this._pipe[t].run(u),t++;this._invalidated={};this.is("valid")||this.enter("valid")};u.prototype.width=function(n){switch(n=n||u.Width.Default,n){case u.Width.Inner:case u.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}};u.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")};u.prototype.onThrottledResize=function(){t.clearTimeout(this.resizeTimer);this.resizeTimer=t.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)};u.prototype.onResize=function(){return!!this._items.length&&this._width!==this.$element.width()&&!!this.isVisible()&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))};u.prototype.registerEventHandlers=function(){n.support.transition&&this.$stage.on(n.support.transition.end+".owl.core",n.proxy(this.onTransitionEnd,this));!1!==this.settings.responsive&&this.on(t,"resize",this._handlers.onThrottledResize);this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",n.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",n.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",n.proxy(this.onDragEnd,this)))};u.prototype.onDragStart=function(t){var r=null;3!==t.which&&(n.support.transform?(r=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),r={x:r[16===r.length?12:4],y:r[16===r.length?13:5]}):(r=this.$stage.position(),r={x:this.settings.rtl?r.left+this.$stage.width()-this.width()+this.settings.margin:r.left,y:r.top}),this.is("animating")&&(n.support.transform?this.animate(r.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===t.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=n(t.target),this._drag.stage.start=r,this._drag.stage.current=r,this._drag.pointer=this.pointer(t),n(i).on("mouseup.owl.core touchend.owl.core",n.proxy(this.onDragEnd,this)),n(i).one("mousemove.owl.core touchmove.owl.core",n.proxy(function(t){var r=this.difference(this._drag.pointer,this.pointer(t));n(i).on("mousemove.owl.core touchmove.owl.core",n.proxy(this.onDragMove,this));Math.abs(r.x)<Math.abs(r.y)&&this.is("valid")||(t.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))};u.prototype.onDragMove=function(n){var t=null,i=null,u=null,f=this.difference(this._drag.pointer,this.pointer(n)),r=this.difference(this._drag.stage.start,f);this.is("dragging")&&(n.preventDefault(),this.settings.loop?(t=this.coordinates(this.minimum()),i=this.coordinates(this.maximum()+1)-t,r.x=((r.x-t)%i+i)%i+t):(t=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),i=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),u=this.settings.pullDrag?f.x/-5:0,r.x=Math.max(Math.min(r.x,t+u),i+u)),this._drag.stage.current=r,this.animate(r.x))};u.prototype.onDragEnd=function(t){var r=this.difference(this._drag.pointer,this.pointer(t)),f=this._drag.stage.current,u=r.x>0^this.settings.rtl?"left":"right";n(i).off(".owl.core");this.$element.removeClass(this.options.grabClass);(0!==r.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(f.x,0!==r.x?u:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=u,(Math.abs(r.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"))};u.prototype.closest=function(t,i){var u=-1,e=30,o=this.width(),f=this.coordinates();return this.settings.freeDrag||n.each(f,n.proxy(function(n,s){return"left"===i&&t>s-e&&t<s+e?u=n:"right"===i&&t>s-o-e&&t<s-o+e?u=n+1:this.op(t,"<",s)&&this.op(t,">",f[n+1]!==r?f[n+1]:s-o)&&(u="left"===i?n+1:n),-1===u},this)),this.settings.loop||(this.op(t,">",f[this.minimum()])?u=t=this.minimum():this.op(t,"<",f[this.maximum()])&&(u=t=this.maximum())),u};u.prototype.animate=function(t){var i=this.speed()>0;this.is("animating")&&this.onTransitionEnd();i&&(this.enter("animating"),this.trigger("translate"));n.support.transform3d&&n.support.transition?this.$stage.css({transform:"translate3d("+t+"px,0px,0px)",transition:this.speed()/1e3+"s"+(this.settings.slideTransition?" "+this.settings.slideTransition:"")}):i?this.$stage.animate({left:t+"px"},this.speed(),this.settings.fallbackEasing,n.proxy(this.onTransitionEnd,this)):this.$stage.css({left:t+"px"})};u.prototype.is=function(n){return this._states.current[n]&&this._states.current[n]>0};u.prototype.current=function(n){if(n===r)return this._current;if(0===this._items.length)return r;if(n=this.normalize(n),this._current!==n){var t=this.trigger("change",{property:{name:"position",value:n}});t.data!==r&&(n=this.normalize(t.data));this._current=n;this.invalidate("position");this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current};u.prototype.invalidate=function(t){return"string"===n.type(t)&&(this._invalidated[t]=!0,this.is("valid")&&this.leave("valid")),n.map(this._invalidated,function(n,t){return t})};u.prototype.reset=function(n){n=this.normalize(n);n!==r&&(this._speed=0,this._current=n,this.suppress(["translate","translated"]),this.animate(this.coordinates(n)),this.release(["translate","translated"]))};u.prototype.normalize=function(n,t){var i=this._items.length,u=t?0:this._clones.length;return!this.isNumeric(n)||i<1?n=r:(n<0||n>=i+u)&&(n=((n-u/2)%i+i)%i+u/2),n};u.prototype.relative=function(n){return n-=this._clones.length/2,this.normalize(n,!0)};u.prototype.maximum=function(n){var t,u,f,i=this.settings,r=this._coordinates.length;if(i.loop)r=this._clones.length/2+this._items.length-1;else if(i.autoWidth||i.merge){if(t=this._items.length,t)for(u=this._items[--t].width(),f=this.$element.width();t--&&(u+=this._items[t].width()+this.settings.margin,!(u>f)););r=t+1}else r=i.center?this._items.length-1:this._items.length-i.items;return n&&(r-=this._clones.length/2),Math.max(r,0)};u.prototype.minimum=function(n){return n?0:this._clones.length/2};u.prototype.items=function(n){return n===r?this._items.slice():(n=this.normalize(n,!0),this._items[n])};u.prototype.mergers=function(n){return n===r?this._mergers.slice():(n=this.normalize(n,!0),this._mergers[n])};u.prototype.clones=function(t){var i=this._clones.length/2,f=i+this._items.length,u=function(n){return n%2==0?f+n/2:i-(n+1)/2};return t===r?n.map(this._clones,function(n,t){return u(t)}):n.map(this._clones,function(n,i){return n===t?u(i):null})};u.prototype.speed=function(n){return n!==r&&(this._speed=n),this._speed};u.prototype.coordinates=function(t){var i,f=1,u=t-1;return t===r?n.map(this._coordinates,n.proxy(function(n,t){return this.coordinates(t)},this)):(this.settings.center?(this.settings.rtl&&(f=-1,u=t+1),i=this._coordinates[t],i+=(this.width()-i+(this._coordinates[u]||0))/2*f):i=this._coordinates[u]||0,i=Math.ceil(i),i)};u.prototype.duration=function(n,t,i){return 0===i?0:Math.min(Math.max(Math.abs(t-n),1),6)*Math.abs(i||this.settings.smartSpeed)};u.prototype.to=function(n,t){var f=this.current(),r=null,i=n-this.relative(f),s=(i>0)-(i<0),e=this._items.length,o=this.minimum(),u=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(i)>e/2&&(i+=-1*s*e),n=f+i,r=((n-o)%e+e)%e+o,r!==n&&r-i<=u&&r-i>0&&(f=r-i,n=r,this.reset(f))):this.settings.rewind?(u+=1,n=(n%u+u)%u):n=Math.max(o,Math.min(u,n));this.speed(this.duration(f,n,t));this.current(n);this.isVisible()&&this.update()};u.prototype.next=function(n){n=n||!1;this.to(this.relative(this.current())+1,n)};u.prototype.prev=function(n){n=n||!1;this.to(this.relative(this.current())-1,n)};u.prototype.onTransitionEnd=function(n){if(n!==r&&(n.stopPropagation(),(n.target||n.srcElement||n.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating");this.trigger("translated")};u.prototype.viewport=function(){var r;return this.options.responsiveBaseElement!==t?r=n(this.options.responsiveBaseElement).width():t.innerWidth?r=t.innerWidth:i.documentElement&&i.documentElement.clientWidth?r=i.documentElement.clientWidth:console.warn("Can not detect viewport width."),r};u.prototype.replace=function(t){this.$stage.empty();this._items=[];t&&(t=t instanceof jQuery?t:n(t));this.settings.nestedItemSelector&&(t=t.find("."+this.settings.nestedItemSelector));t.filter(function(){return 1===this.nodeType}).each(n.proxy(function(n,t){t=this.prepare(t);this.$stage.append(t);this._items.push(t);this._mergers.push(1*t.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")};u.prototype.add=function(t,i){var u=this.relative(this._current);i=i===r?this._items.length:this.normalize(i,!0);t=t instanceof jQuery?t:n(t);this.trigger("add",{content:t,position:i});t=this.prepare(t);0===this._items.length||i===this._items.length?(0===this._items.length&&this.$stage.append(t),0!==this._items.length&&this._items[i-1].after(t),this._items.push(t),this._mergers.push(1*t.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[i].before(t),this._items.splice(i,0,t),this._mergers.splice(i,0,1*t.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1));this._items[u]&&this.reset(this._items[u].index());this.invalidate("items");this.trigger("added",{content:t,position:i})};u.prototype.remove=function(n){n=this.normalize(n,!0);n!==r&&(this.trigger("remove",{content:this._items[n],position:n}),this._items[n].remove(),this._items.splice(n,1),this._mergers.splice(n,1),this.invalidate("items"),this.trigger("removed",{content:null,position:n}))};u.prototype.preloadAutoWidthImages=function(t){t.each(n.proxy(function(t,i){this.enter("pre-loading");i=n(i);n(new Image).one("load",n.proxy(function(n){i.attr("src",n.target.src);i.css("opacity",1);this.leave("pre-loading");!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",i.attr("src")||i.attr("data-src")||i.attr("data-src-retina"))},this))};u.prototype.destroy=function(){for(var r in this.$element.off(".owl.core"),this.$stage.off(".owl.core"),n(i).off(".owl.core"),!1!==this.settings.responsive&&(t.clearTimeout(this.resizeTimer),this.off(t,"resize",this._handlers.onThrottledResize)),this._plugins)this._plugins[r].destroy();this.$stage.children(".cloned").remove();this.$stage.unwrap();this.$stage.children().contents().unwrap();this.$stage.children().unwrap();this.$stage.remove();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")};u.prototype.op=function(n,t,i){var r=this.settings.rtl;switch(t){case"<":return r?n>i:n<i;case">":return r?n<i:n>i;case">=":return r?n<=i:n>=i;case"<=":return r?n>=i:n<=i}};u.prototype.on=function(n,t,i,r){n.addEventListener?n.addEventListener(t,i,r):n.attachEvent&&n.attachEvent("on"+t,i)};u.prototype.off=function(n,t,i,r){n.removeEventListener?n.removeEventListener(t,i,r):n.detachEvent&&n.detachEvent("on"+t,i)};u.prototype.trigger=function(t,i,r){var o={item:{count:this._items.length,index:this.current()}},e=n.camelCase(n.grep(["on",t,r],function(n){return n}).join("-").toLowerCase()),f=n.Event([t,"owl",r||"carousel"].join(".").toLowerCase(),n.extend({relatedTarget:this},o,i));return this._supress[t]||(n.each(this._plugins,function(n,t){t.onTrigger&&t.onTrigger(f)}),this.register({type:u.Type.Event,name:t}),this.$element.trigger(f),this.settings&&"function"==typeof this.settings[e]&&this.settings[e].call(this,f)),f};u.prototype.enter=function(t){n.each([t].concat(this._states.tags[t]||[]),n.proxy(function(n,t){this._states.current[t]===r&&(this._states.current[t]=0);this._states.current[t]++},this))};u.prototype.leave=function(t){n.each([t].concat(this._states.tags[t]||[]),n.proxy(function(n,t){this._states.current[t]--},this))};u.prototype.register=function(t){if(t.type===u.Type.Event){if(n.event.special[t.name]||(n.event.special[t.name]={}),!n.event.special[t.name].owl){var i=n.event.special[t.name]._default;n.event.special[t.name]._default=function(n){return!i||!i.apply||n.namespace&&-1!==n.namespace.indexOf("owl")?n.namespace&&n.namespace.indexOf("owl")>-1:i.apply(this,arguments)};n.event.special[t.name].owl=!0}}else t.type===u.Type.State&&(this._states.tags[t.name]=this._states.tags[t.name]?this._states.tags[t.name].concat(t.tags):t.tags,this._states.tags[t.name]=n.grep(this._states.tags[t.name],n.proxy(function(i,r){return n.inArray(i,this._states.tags[t.name])===r},this)))};u.prototype.suppress=function(t){n.each(t,n.proxy(function(n,t){this._supress[t]=!0},this))};u.prototype.release=function(t){n.each(t,n.proxy(function(n,t){delete this._supress[t]},this))};u.prototype.pointer=function(n){var i={x:null,y:null};return n=n.originalEvent||n||t.event,n=n.touches&&n.touches.length?n.touches[0]:n.changedTouches&&n.changedTouches.length?n.changedTouches[0]:n,n.pageX?(i.x=n.pageX,i.y=n.pageY):(i.x=n.clientX,i.y=n.clientY),i};u.prototype.isNumeric=function(n){return!isNaN(parseFloat(n))};u.prototype.difference=function(n,t){return{x:n.x-t.x,y:n.y-t.y}};n.fn.owlCarousel=function(t){var i=Array.prototype.slice.call(arguments,1);return this.each(function(){var f=n(this),r=f.data("owl.carousel");r||(r=new u(this,"object"==typeof t&&t),f.data("owl.carousel",r),n.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(t,i){r.register({type:u.Type.Event,name:i});r.$element.on(i+".owl.carousel.core",n.proxy(function(n){n.namespace&&n.relatedTarget!==this&&(this.suppress([i]),r[i].apply(this,[].slice.call(arguments,1)),this.release([i]))},r))}));"string"==typeof t&&"_"!==t.charAt(0)&&r[t].apply(r,i)})};n.fn.owlCarousel.Constructor=u}(window.Zepto||window.jQuery,window,document),function(n,t){var i=function(t){this._core=t;this._interval=null;this._visible=null;this._handlers={"initialized.owl.carousel":n.proxy(function(n){n.namespace&&this._core.settings.autoRefresh&&this.watch()},this)};this._core.options=n.extend({},i.Defaults,this._core.options);this._core.$element.on(this._handlers)};i.Defaults={autoRefresh:!0,autoRefreshInterval:500};i.prototype.watch=function(){this._interval||(this._visible=this._core.isVisible(),this._interval=t.setInterval(n.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))};i.prototype.refresh=function(){this._core.isVisible()!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())};i.prototype.destroy=function(){var n,i;for(n in t.clearInterval(this._interval),this._handlers)this._core.$element.off(n,this._handlers[n]);for(i in Object.getOwnPropertyNames(this))"function"!=typeof this[i]&&(this[i]=null)};n.fn.owlCarousel.Constructor.Plugins.AutoRefresh=i}(window.Zepto||window.jQuery,window,document),function(n,t,i,r){var u=function(t){this._core=t;this._loaded=[];this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":n.proxy(function(t){if(t.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(t.property&&"position"==t.property.name||"initialized"==t.type)){var i=this._core.settings,u=i.center&&Math.ceil(i.items/2)||i.items,e=i.center&&-1*u||0,f=(t.property&&t.property.value!==r?t.property.value:this._core.current())+e,o=this._core.clones().length,s=n.proxy(function(n,t){this.load(t)},this);for(i.lazyLoadEager>0&&(u+=i.lazyLoadEager,i.loop&&(f-=i.lazyLoadEager,u++));e++<u;)this.load(o/2+this._core.relative(f)),o&&n.each(this._core.clones(this._core.relative(f)),s),f++}},this)};this._core.options=n.extend({},u.Defaults,this._core.options);this._core.$element.on(this._handlers)};u.Defaults={lazyLoad:!1,lazyLoadEager:0};u.prototype.load=function(i){var r=this._core.$stage.children().eq(i),u=r&&r.find(".owl-lazy");!u||n.inArray(r.get(0),this._loaded)>-1||(u.each(n.proxy(function(i,r){var e,u=n(r),f=t.devicePixelRatio>1&&u.attr("data-src-retina")||u.attr("data-src")||u.attr("data-srcset");this._core.trigger("load",{element:u,url:f},"lazy");u.is("img")?u.one("load.owl.lazy",n.proxy(function(){u.css("opacity",1);this._core.trigger("loaded",{element:u,url:f},"lazy")},this)).attr("src",f):u.is("source")?u.one("load.owl.lazy",n.proxy(function(){this._core.trigger("loaded",{element:u,url:f},"lazy")},this)).attr("srcset",f):(e=new Image,e.onload=n.proxy(function(){u.css({"background-image":'url("'+f+'")',opacity:"1"});this._core.trigger("loaded",{element:u,url:f},"lazy")},this),e.src=f)},this)),this._loaded.push(r.get(0)))};u.prototype.destroy=function(){var n,t;for(n in this.handlers)this._core.$element.off(n,this.handlers[n]);for(t in Object.getOwnPropertyNames(this))"function"!=typeof this[t]&&(this[t]=null)};n.fn.owlCarousel.Constructor.Plugins.Lazy=u}(window.Zepto||window.jQuery,window,document),function(n,t){var i=function(r){this._core=r;this._previousHeight=null;this._handlers={"initialized.owl.carousel refreshed.owl.carousel":n.proxy(function(n){n.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":n.proxy(function(n){n.namespace&&this._core.settings.autoHeight&&"position"===n.property.name&&this.update()},this),"loaded.owl.lazy":n.proxy(function(n){n.namespace&&this._core.settings.autoHeight&&n.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)};this._core.options=n.extend({},i.Defaults,this._core.options);this._core.$element.on(this._handlers);this._intervalId=null;var u=this;n(t).on("load",function(){u._core.settings.autoHeight&&u.update()});n(t).resize(function(){u._core.settings.autoHeight&&(null!=u._intervalId&&clearTimeout(u._intervalId),u._intervalId=setTimeout(function(){u.update()},250))})};i.Defaults={autoHeight:!1,autoHeightClass:"owl-height"};i.prototype.update=function(){var i=this._core._current,u=i+this._core.settings.items,f=this._core.settings.lazyLoad,e=this._core.$stage.children().toArray().slice(i,u),r=[],t=0;n.each(e,function(t,i){r.push(n(i).height())});t=Math.max.apply(null,r);t<=1&&f&&this._previousHeight&&(t=this._previousHeight);this._previousHeight=t;this._core.$stage.parent().height(t).addClass(this._core.settings.autoHeightClass)};i.prototype.destroy=function(){var n,t;for(n in this._handlers)this._core.$element.off(n,this._handlers[n]);for(t in Object.getOwnPropertyNames(this))"function"!=typeof this[t]&&(this[t]=null)};n.fn.owlCarousel.Constructor.Plugins.AutoHeight=i}(window.Zepto||window.jQuery,window,document),function(n,t,i){var r=function(t){this._core=t;this._videos={};this._playing=null;this._handlers={"initialized.owl.carousel":n.proxy(function(n){n.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":n.proxy(function(n){n.namespace&&this._core.settings.video&&this.isInFullScreen()&&n.preventDefault()},this),"refreshed.owl.carousel":n.proxy(function(n){n.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":n.proxy(function(n){n.namespace&&"position"===n.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":n.proxy(function(t){if(t.namespace){var i=n(t.content).find(".owl-video");i.length&&(i.css("display","none"),this.fetch(i,n(t.content)))}},this)};this._core.options=n.extend({},r.Defaults,this._core.options);this._core.$element.on(this._handlers);this._core.$element.on("click.owl.video",".owl-video-play-icon",n.proxy(function(n){this.play(n)},this))};r.Defaults={video:!1,videoHeight:!1,videoWidth:!1};r.prototype.fetch=function(n,t){var u=n.attr("data-vimeo-id")?"vimeo":n.attr("data-vzaar-id")?"vzaar":"youtube",i=n.attr("data-vimeo-id")||n.attr("data-youtube-id")||n.attr("data-vzaar-id"),f=n.attr("data-width")||this._core.settings.videoWidth,e=n.attr("data-height")||this._core.settings.videoHeight,r=n.attr("href");if(!r)throw new Error("Missing video URL.");if(i=r.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),i[3].indexOf("youtu")>-1)u="youtube";else if(i[3].indexOf("vimeo")>-1)u="vimeo";else{if(!(i[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");u="vzaar"}i=i[6];this._videos[r]={type:u,id:i,width:f,height:e};t.attr("data-video",r);this.thumbnail(n,this._videos[r])};r.prototype.thumbnail=function(t,i){var e,o,r,c=i.width&&i.height?"width:"+i.width+"px;height:"+i.height+"px;":"",f=t.find("img"),s="src",h="",l=this._core.settings,u=function(i){o='<div class="owl-video-play-icon"><\/div>';e=l.lazyLoad?n("<div/>",{"class":"owl-video-tn "+h,srcType:i}):n("<div/>",{"class":"owl-video-tn",style:"opacity:1;background-image:url("+i+")"});t.after(e);t.after(o)};if(t.wrap(n("<div/>",{"class":"owl-video-wrapper",style:c})),this._core.settings.lazyLoad&&(s="data-src",h="owl-lazy"),f.length)return u(f.attr(s)),f.remove(),!1;"youtube"===i.type?(r="//img.youtube.com/vi/"+i.id+"/hqdefault.jpg",u(r)):"vimeo"===i.type?n.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+i.id+".json",jsonp:"callback",dataType:"jsonp",success:function(n){r=n[0].thumbnail_large;u(r)}}):"vzaar"===i.type&&n.ajax({type:"GET",url:"//vzaar.com/api/videos/"+i.id+".json",jsonp:"callback",dataType:"jsonp",success:function(n){r=n.framegrab_url;u(r)}})};r.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")};r.prototype.play=function(t){var r,f=n(t.target),u=f.closest("."+this._core.settings.itemClass),i=this._videos[u.attr("data-video")],e=i.width||"100%",o=i.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),u=this._core.items(this._core.relative(u.index())),this._core.reset(u.index()),r=n('<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ><\/iframe>'),r.attr("height",o),r.attr("width",e),"youtube"===i.type?r.attr("src","//www.youtube.com/embed/"+i.id+"?autoplay=1&rel=0&v="+i.id):"vimeo"===i.type?r.attr("src","//player.vimeo.com/video/"+i.id+"?autoplay=1"):"vzaar"===i.type&&r.attr("src","//view.vzaar.com/"+i.id+"/player?autoplay=true"),n(r).wrap('<div class="owl-video-frame" />').insertAfter(u.find(".owl-video")),this._playing=u.addClass("owl-video-playing"))};r.prototype.isInFullScreen=function(){var t=i.fullscreenElement||i.mozFullScreenElement||i.webkitFullscreenElement;return t&&n(t).parent().hasClass("owl-video-frame")};r.prototype.destroy=function(){var n,t;for(n in this._core.$element.off("click.owl.video"),this._handlers)this._core.$element.off(n,this._handlers[n]);for(t in Object.getOwnPropertyNames(this))"function"!=typeof this[t]&&(this[t]=null)};n.fn.owlCarousel.Constructor.Plugins.Video=r}(window.Zepto||window.jQuery,window,document),function(n,t,i,r){var u=function(t){this.core=t;this.core.options=n.extend({},u.Defaults,this.core.options);this.swapping=!0;this.previous=r;this.next=r;this.handlers={"change.owl.carousel":n.proxy(function(n){n.namespace&&"position"==n.property.name&&(this.previous=this.core.current(),this.next=n.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":n.proxy(function(n){n.namespace&&(this.swapping="translated"==n.type)},this),"translate.owl.carousel":n.proxy(function(n){n.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)};this.core.$element.on(this.handlers)};u.Defaults={animateOut:!1,animateIn:!1};u.prototype.swap=function(){if(1===this.core.settings.items&&n.support.animation&&n.support.transition){this.core.speed(0);var t,i=n.proxy(this.clear,this),f=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),r=this.core.settings.animateIn,u=this.core.settings.animateOut;this.core.current()!==this.previous&&(u&&(t=this.core.coordinates(this.previous)-this.core.coordinates(this.next),f.one(n.support.animation.end,i).css({left:t+"px"}).addClass("animated owl-animated-out").addClass(u)),r&&e.one(n.support.animation.end,i).addClass("animated owl-animated-in").addClass(r))}};u.prototype.clear=function(t){n(t.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut);this.core.onTransitionEnd()};u.prototype.destroy=function(){var n,t;for(n in this.handlers)this.core.$element.off(n,this.handlers[n]);for(t in Object.getOwnPropertyNames(this))"function"!=typeof this[t]&&(this[t]=null)};n.fn.owlCarousel.Constructor.Plugins.Animate=u}(window.Zepto||window.jQuery,window,document),function(n,t,i){var r=function(t){this._core=t;this._call=null;this._time=0;this._timeout=0;this._paused=!0;this._handlers={"changed.owl.carousel":n.proxy(function(n){n.namespace&&"settings"===n.property.name?this._core.settings.autoplay?this.play():this.stop():n.namespace&&"position"===n.property.name&&this._paused&&(this._time=0)},this),"initialized.owl.carousel":n.proxy(function(n){n.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":n.proxy(function(n,t,i){n.namespace&&this.play(t,i)},this),"stop.owl.autoplay":n.proxy(function(n){n.namespace&&this.stop()},this),"mouseover.owl.autoplay":n.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":n.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":n.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":n.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)};this._core.$element.on(this._handlers);this._core.options=n.extend({},r.Defaults,this._core.options)};r.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1};r.prototype._next=function(r){this._call=t.setTimeout(n.proxy(this._next,this,r),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read());this._core.is("interacting")||i.hidden||this._core.next(r||this._core.settings.autoplaySpeed)};r.prototype.read=function(){return(new Date).getTime()-this._time};r.prototype.play=function(i,r){var u;this._core.is("rotating")||this._core.enter("rotating");i=i||this._core.settings.autoplayTimeout;u=Math.min(this._time%(this._timeout||i),i);this._paused?(this._time=this.read(),this._paused=!1):t.clearTimeout(this._call);this._time+=this.read()%i-u;this._timeout=i;this._call=t.setTimeout(n.proxy(this._next,this,r),i-u)};r.prototype.stop=function(){this._core.is("rotating")&&(this._time=0,this._paused=!0,t.clearTimeout(this._call),this._core.leave("rotating"))};r.prototype.pause=function(){this._core.is("rotating")&&!this._paused&&(this._time=this.read(),this._paused=!0,t.clearTimeout(this._call))};r.prototype.destroy=function(){var n,t;for(n in this.stop(),this._handlers)this._core.$element.off(n,this._handlers[n]);for(t in Object.getOwnPropertyNames(this))"function"!=typeof this[t]&&(this[t]=null)};n.fn.owlCarousel.Constructor.Plugins.autoplay=r}(window.Zepto||window.jQuery,window,document),function(n){"use strict";var t=function(i){this._core=i;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":n.proxy(function(t){t.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+n(t.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"<\/div>")},this),"added.owl.carousel":n.proxy(function(n){n.namespace&&this._core.settings.dotsData&&this._templates.splice(n.position,0,this._templates.pop())},this),"remove.owl.carousel":n.proxy(function(n){n.namespace&&this._core.settings.dotsData&&this._templates.splice(n.position,1)},this),"changed.owl.carousel":n.proxy(function(n){n.namespace&&"position"==n.property.name&&this.draw()},this),"initialized.owl.carousel":n.proxy(function(n){n.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":n.proxy(function(n){n.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)};this._core.options=n.extend({},t.Defaults,this._core.options);this.$element.on(this._handlers)};t.Defaults={nav:!1,navText:['<span aria-label="Previous">&#x2039;<\/span>','<span aria-label="Next">&#x203a;<\/span>'],navSpeed:!1,navElement:'button type="button" role="presentation"',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};t.prototype.initialize=function(){var i,t=this._core.settings;for(i in this._controls.$relative=(t.navContainer?n(t.navContainer):n("<div>").addClass(t.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=n("<"+t.navElement+">").addClass(t.navClass[0]).html(t.navText[0]).prependTo(this._controls.$relative).on("click",n.proxy(function(){this.prev(t.navSpeed)},this)),this._controls.$next=n("<"+t.navElement+">").addClass(t.navClass[1]).html(t.navText[1]).appendTo(this._controls.$relative).on("click",n.proxy(function(){this.next(t.navSpeed)},this)),t.dotsData||(this._templates=[n('<button role="button">').addClass(t.dotClass).append(n("<span>")).prop("outerHTML")]),this._controls.$absolute=(t.dotsContainer?n(t.dotsContainer):n("<div>").addClass(t.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","button",n.proxy(function(i){var r=n(i.target).parent().is(this._controls.$absolute)?n(i.target).index():n(i.target).parent().index();i.preventDefault();this.to(r,t.dotsSpeed)},this)),this._overrides)this._core[i]=n.proxy(this[i],this)};t.prototype.destroy=function(){var t,n,i,r,u;for(t in u=this._core.settings,this._handlers)this.$element.off(t,this._handlers[t]);for(n in this._controls)"$relative"===n&&u.navContainer?this._controls[n].html(""):this._controls[n].remove();for(r in this.overides)this._core[r]=this._overrides[r];for(i in Object.getOwnPropertyNames(this))"function"!=typeof this[i]&&(this[i]=null)};t.prototype.update=function(){var t,i,r=this._core.clones().length/2,e=r+this._core.items().length,u=this._core.maximum(!0),n=this._core.settings,f=n.center||n.autoWidth||n.dotsData?1:n.dotsEach||n.items;if("page"!==n.slideBy&&(n.slideBy=Math.min(n.slideBy,n.items)),n.dots||"page"==n.slideBy)for(this._pages=[],t=r,i=0,0;t<e;t++){if(i>=f||0===i){if(this._pages.push({start:Math.min(u,t-r),end:t-r+f-1}),Math.min(u,t-r)===u)break;i=0;0}i+=this._core.mergers(this._core.relative(t))}};t.prototype.draw=function(){var i,t=this._core.settings,r=this._core.items().length<=t.items,u=this._core.relative(this._core.current()),f=t.loop||t.rewind;this._controls.$relative.toggleClass("disabled",!t.nav||r);t.nav&&(this._controls.$previous.toggleClass("disabled",!f&&u<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&u>=this._core.maximum(!0)));this._controls.$absolute.toggleClass("disabled",!t.dots||r);t.dots&&(i=this._pages.length-this._controls.$absolute.children().length,t.dotsData&&0!==i?this._controls.$absolute.html(this._templates.join("")):i>0?this._controls.$absolute.append(new Array(i+1).join(this._templates[0])):i<0&&this._controls.$absolute.children().slice(i).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(n.inArray(this.current(),this._pages)).addClass("active"))};t.prototype.onTrigger=function(t){var i=this._core.settings;t.page={index:n.inArray(this.current(),this._pages),count:this._pages.length,size:i&&(i.center||i.autoWidth||i.dotsData?1:i.dotsEach||i.items)}};t.prototype.current=function(){var t=this._core.relative(this._core.current());return n.grep(this._pages,n.proxy(function(n){return n.start<=t&&n.end>=t},this)).pop()};t.prototype.getPosition=function(t){var i,r,u=this._core.settings;return"page"==u.slideBy?(i=n.inArray(this.current(),this._pages),r=this._pages.length,t?++i:--i,i=this._pages[(i%r+r)%r].start):(i=this._core.relative(this._core.current()),r=this._core.items().length,t?i+=u.slideBy:i-=u.slideBy),i};t.prototype.next=function(t){n.proxy(this._overrides.to,this._core)(this.getPosition(!0),t)};t.prototype.prev=function(t){n.proxy(this._overrides.to,this._core)(this.getPosition(!1),t)};t.prototype.to=function(t,i,r){var u;!r&&this._pages.length?(u=this._pages.length,n.proxy(this._overrides.to,this._core)(this._pages[(t%u+u)%u].start,i)):n.proxy(this._overrides.to,this._core)(t,i)};n.fn.owlCarousel.Constructor.Plugins.Navigation=t}(window.Zepto||window.jQuery,window,document),function(n,t,i,r){"use strict";var u=function(i){this._core=i;this._hashes={};this.$element=this._core.$element;this._handlers={"initialized.owl.carousel":n.proxy(function(i){i.namespace&&"URLHash"===this._core.settings.startPosition&&n(t).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":n.proxy(function(t){if(t.namespace){var i=n(t.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!i)return;this._hashes[i]=t.content}},this),"changed.owl.carousel":n.proxy(function(i){if(i.namespace&&"position"===i.property.name){var u=this._core.items(this._core.relative(this._core.current())),r=n.map(this._hashes,function(n,t){return n===u?t:null}).join();if(!r||t.location.hash.slice(1)===r)return;t.location.hash=r}},this)};this._core.options=n.extend({},u.Defaults,this._core.options);this.$element.on(this._handlers);n(t).on("hashchange.owl.navigation",n.proxy(function(){var i=t.location.hash.substring(1),u=this._core.$stage.children(),n=this._hashes[i]&&u.index(this._hashes[i]);n!==r&&n!==this._core.current()&&this._core.to(this._core.relative(n),!1,!0)},this))};u.Defaults={URLhashListener:!1};u.prototype.destroy=function(){var i,r;for(i in n(t).off("hashchange.owl.navigation"),this._handlers)this._core.$element.off(i,this._handlers[i]);for(r in Object.getOwnPropertyNames(this))"function"!=typeof this[r]&&(this[r]=null)};n.fn.owlCarousel.Constructor.Plugins.Hash=u}(window.Zepto||window.jQuery,window,document),function(n,t,i,r){function u(t,i){var u=!1,f=t.charAt(0).toUpperCase()+t.slice(1);return n.each((t+" "+h.join(f+" ")+f).split(" "),function(n,t){if(s[t]!==r)return u=!i||t,!1}),u}function e(n){return u(n,!0)}var s=n("<support>").get(0).style,h="Webkit Moz O ms".split(" "),o={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},f={csstransforms:function(){return!!u("transform")},csstransforms3d:function(){return!!u("perspective")},csstransitions:function(){return!!u("transition")},cssanimations:function(){return!!u("animation")}};f.csstransitions()&&(n.support.transition=new String(e("transition")),n.support.transition.end=o.transition.end[n.support.transition]);f.cssanimations()&&(n.support.animation=new String(e("animation")),n.support.animation.end=o.animation.end[n.support.animation]);f.csstransforms()&&(n.support.transform=new String(e("transform")),n.support.transform3d=f.csstransforms3d())}(window.Zepto||window.jQuery,window,document),function(n){"object"==typeof exports&&exports&&"object"==typeof module&&module&&module.exports===exports?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n(jQuery)}(function(n){function e(n){var t=n[0];return t.offsetWidth>0&&t.offsetHeight>0}function k(i){var u,r;if((i.minTime&&(i.minTime=t(i.minTime)),i.maxTime&&(i.maxTime=t(i.maxTime)),i.durationTime&&"function"!=typeof i.durationTime&&(i.durationTime=t(i.durationTime)),"now"==i.scrollDefault)?i.scrollDefault=function(){return i.roundingFunction(t(new Date),i)}:i.scrollDefault&&"function"!=typeof i.scrollDefault?(u=i.scrollDefault,i.scrollDefault=function(){return i.roundingFunction(t(u),i)}):i.minTime&&(i.scrollDefault=function(){return i.roundingFunction(i.minTime,i)}),"string"===n.type(i.timeFormat)&&i.timeFormat.match(/[gh]/)&&(i._twelveHourTime=!0),!1===i.showOnFocus&&-1!=i.showOn.indexOf("focus")&&i.showOn.splice(i.showOn.indexOf("focus"),1),i.disableTimeRanges.length>0){for(r in i.disableTimeRanges)i.disableTimeRanges[r]=[t(i.disableTimeRanges[r][0]),t(i.disableTimeRanges[r][1])];for(i.disableTimeRanges=i.disableTimeRanges.sort(function(n,t){return n[0]-t[0]}),r=i.disableTimeRanges.length-1;r>0;r--)i.disableTimeRanges[r][0]<=i.disableTimeRanges[r-1][1]&&(i.disableTimeRanges[r-1]=[Math.min(i.disableTimeRanges[r][0],i.disableTimeRanges[r-1][0]),Math.max(i.disableTimeRanges[r][1],i.disableTimeRanges[r-1][1])],i.disableTimeRanges.splice(r,1))}return i}function l(i){var e=i.data("timepicker-settings"),s=i.data("timepicker-list"),l,v,it,ut,ft,k,st,w,et,c,ht,ct,p;if((s&&s.length&&(s.remove(),i.data("timepicker-list",!1)),e.useSelect)?(s=n("<select />",{"class":"ui-timepicker-select"}),l=s):(s=n("<ul />",{"class":"ui-timepicker-list"}),l=n("<div />",{"class":"ui-timepicker-wrapper",tabindex:-1}),l.css({display:"none",position:"absolute"}).append(s)),e.noneOption)if(!0===e.noneOption&&(e.noneOption=e.useSelect?"Time...":"None"),n.isArray(e.noneOption))for(v in e.noneOption)parseInt(v,10)==v&&(it=d(e.noneOption[v],e.useSelect),s.append(it));else it=d(e.noneOption,e.useSelect),s.append(it);(e.className&&l.addClass(e.className),(null!==e.minTime||null!==e.durationTime)&&e.showDuration)&&("function"==typeof e.step||e.step,l.addClass("ui-timepicker-with-duration"),l.addClass("ui-timepicker-step-"+e.step));ut=e.minTime;"function"==typeof e.durationTime?ut=t(e.durationTime()):null!==e.durationTime&&(ut=e.durationTime);ft=null!==e.minTime?e.minTime:0;k=null!==e.maxTime?e.maxTime:ft+r-1;k<ft&&(k+=r);k===r-1&&"string"===n.type(e.timeFormat)&&e.show2400&&(k=r);var tt=e.disableTimeRanges,nt=0,lt=tt.length,ot=e.step;for("function"!=typeof ot&&(ot=function(){return e.step}),v=ft,st=0;v<=k;st++,v+=60*ot(st))w=v,et=h(w,e),e.useSelect?(c=n("<option />",{value:et}),c.text(et)):(c=n("<li />"),c.addClass(w%r<r/2?"ui-timepicker-am":"ui-timepicker-pm"),c.data("time",g(w,e)),c.text(et)),(null!==e.minTime||null!==e.durationTime)&&e.showDuration&&(ht=rt(v-ut,e.step),e.useSelect?c.text(c.text()+" ("+ht+")"):(ct=n("<span />",{"class":"ui-timepicker-duration"}),ct.text(" ("+ht+")"),c.append(ct))),nt<lt&&(w>=tt[nt][1]&&(nt+=1),tt[nt]&&w>=tt[nt][0]&&w<tt[nt][1]&&(e.useSelect?c.prop("disabled",!0):c.addClass("ui-timepicker-disabled"))),s.append(c);(l.data("timepicker-input",i),i.data("timepicker-list",l),e.useSelect)?(i.val()&&s.val(a(t(i.val()),e)),s.on("focus",function(){n(this).data("timepicker-input").trigger("showTimepicker")}),s.on("blur",function(){n(this).data("timepicker-input").trigger("hideTimepicker")}),s.on("change",function(){f(i,n(this).val(),"select")}),f(i,s.val(),"initial"),i.hide().after(s)):(p=e.appendTo,"string"==typeof p?p=n(p):"function"==typeof p&&(p=p(i)),p.append(l),o(i,s),s.on("mousedown click","li",function(){i.off("focus.timepicker");i.on("focus.timepicker-ie-hack",function(){i.off("focus.timepicker-ie-hack");i.on("focus.timepicker",u.show)});y(i)||i[0].focus();s.find("li").removeClass("ui-timepicker-selected");n(this).addClass("ui-timepicker-selected");b(i)&&(i.trigger("hideTimepicker"),s.on("mouseup.timepicker click.timepicker","li",function(){s.off("mouseup.timepicker click.timepicker");l.hide()}))}))}function d(t,i){var r,u,f;return"object"==typeof t?(r=t.label,u=t.className,f=t.value):"string"==typeof t?r=t:n.error("Invalid noneOption value"),i?n("<option />",{value:f,"class":u,text:r}):n("<li />",{"class":u,text:r}).data("time",String(f))}function a(n,t){if(n=t.roundingFunction(n,t),null!==n)return h(n,t)}function v(t){if(t.target!=window){var i=n(t.target);i.closest(".ui-timepicker-input").length||i.closest(".ui-timepicker-wrapper").length||(u.hide(),n(document).unbind(".ui-timepicker"),n(window).unbind(".ui-timepicker"))}}function y(n){var t=n.data("timepicker-settings");return(window.navigator.msMaxTouchPoints||"ontouchstart"in document)&&t.disableTouchKeyboard}function p(t,i,r){if(!r&&0!==r)return!1;var u=t.data("timepicker-settings"),f=!1;return r=u.roundingFunction(r,u),i.find("li").each(function(t,i){var u=n(i);if("number"==typeof u.data("time"))return u.data("time")==r?(f=u,!1):void 0}),f}function o(n,i){var f,u,r,e;i.find("li").removeClass("ui-timepicker-selected");f=n.data("timepicker-settings");u=t(c(n),f);null!==u&&(r=p(n,i,u),r&&(e=r.offset().top-i.offset().top,(e+r.outerHeight()>i.outerHeight()||e<0)&&i.scrollTop(i.scrollTop()+r.position().top-r.outerHeight()),(f.forceRoundTime||r.data("time")===u)&&r.addClass("ui-timepicker-selected")))}function s(i,r){var o,u,e,s,c,l;"timepicker"!=r&&(o=n(this),""!==this.value?(!o.is(":focus")||i&&"change"==i.type)&&(u=o.data("timepicker-settings"),e=t(this.value,u),null!==e?(s=!1,(null!==u.minTime&&null!==u.maxTime&&(e<u.minTime||e>u.maxTime)&&(s=!0),n.each(u.disableTimeRanges,function(){if(e>=this[0]&&e<this[1])return s=!0,!1}),u.forceRoundTime)&&(c=u.roundingFunction(e,u),c!=e&&(e=c,r=null)),l=h(e,u),s?(f(o,l,"error")||i&&"change"==i.type)&&o.trigger("timeRangeError"):f(o,l,r)):o.trigger("timeFormatError")):f(o,null,r))}function c(n){return n.is("input")?n.val():n.data("ui-timepicker-value")}function f(n,i,r){if(n.is("input")){n.val(i);var u=n.data("timepicker-settings");u.useSelect&&"select"!=r&&n.data("timepicker-list").val(a(t(i),u))}return n.data("ui-timepicker-value")!=i?(n.data("ui-timepicker-value",i),"select"==r?n.trigger("selectTime").trigger("changeTime").trigger("change","timepicker"):-1==["error","initial"].indexOf(r)&&n.trigger("changeTime"),!0):(-1==["error","initial"].indexOf(r)&&n.trigger("selectTime"),!1)}function tt(n){switch(n.keyCode){case 13:case 9:return;default:n.preventDefault()}}function it(t){var f=n(this),r=f.data("timepicker-list"),i;if(!r||!e(r)){if(40!=t.keyCode)return!0;u.show.call(f.get(0));r=f.data("timepicker-list");y(f)||f.focus()}switch(t.keyCode){case 13:return b(f)&&(s.call(f.get(0),{type:"change"}),u.hide.apply(this)),t.preventDefault(),!1;case 38:return i=r.find(".ui-timepicker-selected"),i.length?i.is(":first-child")||(i.removeClass("ui-timepicker-selected"),i.prev().addClass("ui-timepicker-selected"),i.prev().position().top<i.outerHeight()&&r.scrollTop(r.scrollTop()-i.outerHeight())):(r.find("li").each(function(t,r){if(n(r).position().top>0)return i=n(r),!1}),i.addClass("ui-timepicker-selected")),!1;case 40:return i=r.find(".ui-timepicker-selected"),0===i.length?(r.find("li").each(function(t,r){if(n(r).position().top>0)return i=n(r),!1}),i.addClass("ui-timepicker-selected")):i.is(":last-child")||(i.removeClass("ui-timepicker-selected"),i.next().addClass("ui-timepicker-selected"),i.next().position().top+2*i.outerHeight()>r.outerHeight()&&r.scrollTop(r.scrollTop()+i.outerHeight())),!1;case 27:r.find("li").removeClass("ui-timepicker-selected");u.hide();break;case 9:u.hide();break;default:return!0}}function w(t){var r=n(this),i=r.data("timepicker-list"),u=r.data("timepicker-settings");if(!i||!e(i)||u.disableTextInput)return!0;if("paste"!==t.type&&"cut"!==t.type)switch(t.keyCode){case 96:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 65:case 77:case 80:case 186:case 8:case 46:u.typeaheadHighlight?o(r,i):i.hide()}else setTimeout(function(){u.typeaheadHighlight?o(r,i):i.hide()},0)}function b(n){var r=n.data("timepicker-settings"),u=n.data("timepicker-list"),t=null,i=u.find(".ui-timepicker-selected");return!i.hasClass("ui-timepicker-disabled")&&(i.length&&(t=i.data("time")),null!==t&&("string"!=typeof t&&(t=h(t,r)),f(n,t,"select")),!0)}function rt(n,t){n=Math.abs(n);var u,f,e=Math.round(n/60),r=[];return e<60?r=[e,i.mins]:(u=Math.floor(e/60),f=e%60,30==t&&30==f&&(u+=i.decimal+5),r.push(u),r.push(1==u?i.hr:i.hrs),30!=t&&f&&(r.push(f),r.push(i.mins))),r.join(" ")}function h(t,u){var f,l,e,s;if("number"!=typeof t)return null;var h=parseInt(t%60),c=parseInt(t/60%60),a=parseInt(t/3600%24),o=new Date(1970,0,2,a,c,h,0);if(isNaN(o.getTime()))return null;if("function"===n.type(u.timeFormat))return u.timeFormat(o);for(e="",s=0;s<u.timeFormat.length;s++)switch(l=u.timeFormat.charAt(s),l){case"a":e+=o.getHours()>11?i.pm:i.am;break;case"A":e+=o.getHours()>11?i.PM:i.AM;break;case"g":f=o.getHours()%12;e+=0===f?"12":f;break;case"G":f=o.getHours();t===r&&(f=u.show2400?24:0);e+=f;break;case"h":f=o.getHours()%12;0!==f&&f<10&&(f="0"+f);e+=0===f?"12":f;break;case"H":f=o.getHours();t===r&&(f=u.show2400?24:0);e+=f>9?f:"0"+f;break;case"i":c=o.getMinutes();e+=c>9?c:"0"+c;break;case"s":h=o.getSeconds();e+=h>9?h:"0"+h;break;case"\\":s++;e+=u.timeFormat.charAt(s);break;default:e+=l}return e}function t(n,t){var h,y,e,c;if(""===n||null===n)return null;if("object"==typeof n)return 3600*n.getHours()+60*n.getMinutes()+n.getSeconds();if("string"!=typeof n)return n;n=n.toLowerCase().replace(/[\s\.]/g,"");"a"!=n.slice(-1)&&"p"!=n.slice(-1)||(n+="m");var l="("+i.am.replace(".","")+"|"+i.pm.replace(".","")+"|"+i.AM.replace(".","")+"|"+i.PM.replace(".","")+")?",p=new RegExp("^"+l+"([0-9]?[0-9])\\W?([0-5][0-9])?\\W?([0-5][0-9])?"+l+"$"),f=n.match(p);if(!f)return null;var u=parseInt(1*f[2],10),o=f[1]||f[5],s=u,a=1*f[3]||0,v=1*f[4]||0;if(u<=12&&o)h=o==i.pm||o==i.PM,s=12==u?h?12:0:u+(h?12:0);else if(t&&(y=3600*u+60*a+v,y>=r+(t.show2400?1:0))){if(!1===t.wrapHours)return null;s=u%24}return e=3600*s+60*a+v,u<12&&!o&&t&&t._twelveHourTime&&t.scrollDefault&&(c=e-t.scrollDefault(),c<0&&c>=r/-2&&(e=(e+r/2)%r)),e}function g(n,t){return n==r&&t.show2400?n:n%r}var r=86400,i={am:"am",pm:"pm",AM:"AM",PM:"PM",decimal:".",mins:"mins",hr:"hr",hrs:"hrs"},nt={appendTo:"body",className:null,closeOnWindowScroll:!1,disableTextInput:!1,disableTimeRanges:[],disableTouchKeyboard:!1,durationTime:null,forceRoundTime:!1,maxTime:null,minTime:null,noneOption:!1,orientation:"l",roundingFunction:function(n,t){if(null===n)return null;if("number"!=typeof t.step)return n;var i=n%(60*t.step),r=t.minTime||0;return i-=r%(60*t.step),i>=30*t.step?n+=60*t.step-i:n-=i,g(n,t)},scrollDefault:null,selectOnBlur:!1,show2400:!1,showDuration:!1,showOn:["click","focus"],showOnFocus:!0,step:30,stopScrollPropagation:!1,timeFormat:"g:ia",typeaheadHighlight:!0,useSelect:!1,wrapHours:!0},u={init:function(t){return this.each(function(){var r=n(this),o=[],e,f,h;for(e in nt)r.data(e)&&(o[e]=r.data(e));if(f=n.extend({},nt,t,o),f.lang&&(i=n.extend(i,f.lang)),f=k(f),r.data("timepicker-settings",f),r.addClass("ui-timepicker-input"),f.useSelect)l(r);else{if(r.prop("autocomplete","off"),f.showOn)for(h in f.showOn)r.on(f.showOn[h]+".timepicker",u.show);r.on("change.timepicker",s);r.on("keydown.timepicker",it);r.on("keyup.timepicker",w);f.disableTextInput&&r.on("keydown.timepicker",tt);r.on("cut.timepicker",w);r.on("paste.timepicker",w);s.call(r.get(0),null,"initial")}})},show:function(i){var f=n(this),h=f.data("timepicker-settings"),r,b,a,s,w,k;if(i&&i.preventDefault(),h.useSelect)f.data("timepicker-list").focus();else if(y(f)&&f.blur(),r=f.data("timepicker-list"),!f.prop("readonly")&&(r&&0!==r.length&&"function"!=typeof h.durationTime||(l(f),r=f.data("timepicker-list")),!e(r)))return f.data("ui-timepicker-value",f.val()),o(f,r),u.hide(),r.show(),a={},a.left=h.orientation.match(/r/)?f.offset().left+f.outerWidth()-r.outerWidth()+parseInt(r.css("marginLeft").replace("px",""),10):f.offset().left+parseInt(r.css("marginLeft").replace("px",""),10),b=h.orientation.match(/t/)?"t":h.orientation.match(/b/)?"b":f.offset().top+f.outerHeight(!0)+r.outerHeight()>n(window).height()+n(window).scrollTop()?"t":"b","t"==b?(r.addClass("ui-timepicker-positioned-top"),a.top=f.offset().top-r.outerHeight()+parseInt(r.css("marginTop").replace("px",""),10)):(r.removeClass("ui-timepicker-positioned-top"),a.top=f.offset().top+f.outerHeight()+parseInt(r.css("marginTop").replace("px",""),10)),r.offset(a),s=r.find(".ui-timepicker-selected"),s.length||(w=t(c(f)),null!==w?s=p(f,r,w):h.scrollDefault&&(s=p(f,r,h.scrollDefault()))),(s.length&&!s.hasClass("ui-timepicker-disabled")||(s=r.find("li:not(.ui-timepicker-disabled):first")),s&&s.length)?(k=r.scrollTop()+s.position().top-s.outerHeight(),r.scrollTop(k)):r.scrollTop(0),h.stopScrollPropagation&&n(document).on("wheel.ui-timepicker",".ui-timepicker-wrapper",function(t){t.preventDefault();var i=n(this).scrollTop();n(this).scrollTop(i+t.originalEvent.deltaY)}),n(document).on("touchstart.ui-timepicker mousedown.ui-timepicker",v),n(window).on("resize.ui-timepicker",v),h.closeOnWindowScroll&&n(document).on("scroll.ui-timepicker",v),f.trigger("showTimepicker"),this},hide:function(){var t=n(this),i=t.data("timepicker-settings");return i&&i.useSelect&&t.blur(),n(".ui-timepicker-wrapper").each(function(){var i=n(this),t,r;e(i)&&(t=i.data("timepicker-input"),r=t.data("timepicker-settings"),r&&r.selectOnBlur&&b(t),i.hide(),t.trigger("hideTimepicker"))}),this},option:function(t,i){return"string"==typeof t&&void 0===i?n(this).data("timepicker-settings")[t]:this.each(function(){var u=n(this),r=u.data("timepicker-settings"),f=u.data("timepicker-list");"object"==typeof t?r=n.extend(r,t):"string"==typeof t&&(r[t]=i);r=k(r);u.data("timepicker-settings",r);s.call(u.get(0),{type:"change"},"initial");f&&(f.remove(),u.data("timepicker-list",!1));r.useSelect&&l(u)})},getSecondsFromMidnight:function(){return t(c(this))},getTime:function(n){var f=this,u=c(f),r,i;return u?(r=t(u),null===r)?null:(n||(n=new Date),i=new Date(n),i.setHours(r/3600),i.setMinutes(r%3600/60),i.setSeconds(r%60),i.setMilliseconds(0),i):null},isVisible:function(){var t=this,n=t.data("timepicker-list");return!(!n||!e(n))},setTime:function(n){var i=this,r=i.data("timepicker-settings"),u;return u=r.forceRoundTime?a(t(n),r):h(t(n),r),n&&null===u&&r.noneOption&&(u=n),f(i,u,"initial"),s.call(i.get(0),{type:"change"},"initial"),i.data("timepicker-list")&&o(i,i.data("timepicker-list")),this},remove:function(){var n=this,t;if(n.hasClass("ui-timepicker-input"))return t=n.data("timepicker-settings"),n.removeAttr("autocomplete","off"),n.removeClass("ui-timepicker-input"),n.removeData("timepicker-settings"),n.off(".timepicker"),n.data("timepicker-list")&&n.data("timepicker-list").remove(),t.useSelect&&n.show(),n.removeData("timepicker-list"),this}};n.fn.timepicker=function(t){return this.length?u[t]?this.hasClass("ui-timepicker-input")?u[t].apply(this,Array.prototype.slice.call(arguments,1)):this:"object"!=typeof t&&t?void n.error("Method "+t+" does not exist on jQuery.timepicker"):u.init.apply(this,arguments):this}}),function(n){var t=!1,r,i;("function"==typeof define&&define.amd&&(define(n),t=!0),"object"==typeof exports&&(module.exports=n(),t=!0),t)||(r=window.Cookies,i=window.Cookies=n(),i.noConflict=function(){return window.Cookies=r,i})}(function(){function n(){for(var i,r,n=0,t={};n<arguments.length;n++){i=arguments[n];for(r in i)t[r]=i[r]}return t}function t(i){function r(t,u,f){var o,c,l,s,v,e,h;if("undefined"!=typeof document){if(arguments.length>1){(f=n({path:"/"},r.defaults,f),"number"==typeof f.expires)&&(c=new Date,c.setMilliseconds(c.getMilliseconds()+864e5*f.expires),f.expires=c);f.expires=f.expires?f.expires.toUTCString():"";try{o=JSON.stringify(u);/^[\{\[]/.test(o)&&(u=o)}catch(n){}u=i.write?i.write(u,t):encodeURIComponent(String(u)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent);t=encodeURIComponent(String(t));t=t.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent);t=t.replace(/[\(\)]/g,escape);l="";for(s in f)f[s]&&(l+="; "+s,!0!==f[s]&&(l+="="+f[s]));return document.cookie=t+"="+u+l}t||(o={});for(var y=document.cookie?document.cookie.split("; "):[],p=/(%[0-9A-Z]{2})+/g,a=0;a<y.length;a++){v=y[a].split("=");e=v.slice(1).join("=");'"'===e.charAt(0)&&(e=e.slice(1,-1));try{if(h=v[0].replace(p,decodeURIComponent),e=i.read?i.read(e,h):i(e,h)||e.replace(p,decodeURIComponent),this.json)try{e=JSON.parse(e)}catch(n){}if(t===h){o=e;break}t||(o[h]=e)}catch(n){}}return o}}return r.set=r,r.get=function(n){return r.call(r,n)},r.getJSON=function(){return r.apply({json:!0},[].slice.call(arguments))},r.defaults={},r.remove=function(t,i){r(t,"",n(i,{expires:-1}))},r.withConverter=t,r}return t(function(){})}),function(n,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(n)}):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(0,function(n){function s(n){this.$container;this.constraints=null;this.__$tooltip;this.__init(n)}function e(t,i){var r=!0;return n.each(t,function(n){if(void 0===i[n]||t[n]!==i[n])return r=!1,!1}),r}function r(i){var r=i.attr("id"),u=r?t.window.document.getElementById(r):null;return u?u===i[0]:n.contains(t.window.document.body,i[0])}function c(){var t;if(!i)return!1;var f=i.document.body||i.document.documentElement,r=f.style,n="transition",u=["Moz","Webkit","Khtml","O","ms"];if("string"==typeof r[n])return!0;for(n=n.charAt(0).toUpperCase()+n.substr(1),t=0;t<u.length;t++)if("string"==typeof r[u[t]+n])return!0;return!1}var u={animation:"fade",animationDuration:350,content:null,contentAsHTML:!1,contentCloning:!1,debug:!0,delay:300,delayTouch:[300,500],functionInit:null,functionBefore:null,functionReady:null,functionAfter:null,functionFormat:null,IEmin:6,interactive:!1,multiple:!1,parent:null,plugins:["sideTip"],repositionOnScroll:!1,restoration:"none",selfDestruction:!0,theme:[],timer:0,trackerInterval:500,trackOrigin:!1,trackTooltip:!1,trigger:"hover",triggerClose:{click:!1,mouseleave:!1,originClick:!1,scroll:!1,tap:!1,touchleave:!1},triggerOpen:{click:!1,mouseenter:!1,tap:!1,touchstart:!1},updateAnimation:"rotate",zIndex:9999999},i="undefined"!=typeof window?window:null,t={hasTouchCapability:!(!i||!("ontouchstart"in i||i.DocumentTouch&&i.document instanceof i.DocumentTouch||i.navigator.maxTouchPoints)),hasTransitions:c(),IE:!1,semVer:"4.2.6",window:i},h=function(){this.__$emitterPrivate=n({});this.__$emitterPublic=n({});this.__instancesLatestArr=[];this.__plugins={};this._env=t},f,o;return h.prototype={__bridge:function(t,i,r){var e,f;return i[r]||(e=function(){},e.prototype=t,f=new e,f.__init&&f.__init(i),n.each(t,function(n){0!=n.indexOf("__")&&(i[n]?u.debug&&console.log("The "+n+" method of the "+r+" plugin conflicts with another plugin or native methods"):(i[n]=function(){return f[n].apply(f,Array.prototype.slice.apply(arguments))},i[n].bridged=f))}),i[r]=f),this},__setWindow:function(n){return t.window=n,this},_getRuler:function(n){return new s(n)},_off:function(){return this.__$emitterPrivate.off.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_on:function(){return this.__$emitterPrivate.on.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_one:function(){return this.__$emitterPrivate.one.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_plugin:function(t){var i=this,r,u;if("string"==typeof t)return r=t,u=null,r.indexOf(".")>0?u=i.__plugins[r]:n.each(i.__plugins,function(n,t){if(t.name.substring(t.name.length-r.length-1)=="."+r)return u=t,!1}),u;if(t.name.indexOf(".")<0)throw new Error("Plugins must be namespaced");return i.__plugins[t.name]=t,t.core&&i.__bridge(t.core,i,t.name),this},_trigger:function(){var n=Array.prototype.slice.apply(arguments);return"string"==typeof n[0]&&(n[0]={type:n[0]}),this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate,n),this.__$emitterPublic.trigger.apply(this.__$emitterPublic,n),this},instances:function(t){var i=[],r=t||".tooltipstered";return n(r).each(function(){var t=n(this),r=t.data("tooltipster-ns");r&&n.each(r,function(n,r){i.push(t.data(r))})}),i},instancesLatest:function(){return this.__instancesLatestArr},off:function(){return this.__$emitterPublic.off.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},on:function(){return this.__$emitterPublic.on.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},one:function(){return this.__$emitterPublic.one.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},origins:function(t){var i=t?t+" ":"";return n(i+".tooltipstered").toArray()},setDefaults:function(t){return n.extend(u,t),this},triggerHandler:function(){return this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this}},n.tooltipster=new h,n.Tooltipster=function(t,i){this.__callbacks={close:[],open:[]};this.__closingTime;this.__Content;this.__contentBcr;this.__destroyed=!1;this.__$emitterPrivate=n({});this.__$emitterPublic=n({});this.__enabled=!0;this.__garbageCollector;this.__Geometry;this.__lastPosition;this.__namespace="tooltipster-"+Math.round(1e6*Math.random());this.__options;this.__$originParents;this.__pointerIsOverOrigin=!1;this.__previousThemes=[];this.__state="closed";this.__timeouts={close:[],open:null};this.__touchEvents=[];this.__tracker=null;this._$origin;this._$tooltip;this.__init(t,i)},n.Tooltipster.prototype={__init:function(i,r){var f=this,e,o,s;(f._$origin=n(i),f.__options=n.extend(!0,{},u,r),f.__optionsFormat(),!t.IE||t.IE>=f.__options.IEmin)?(e=null,(void 0===f._$origin.data("tooltipster-initialTitle")&&(e=f._$origin.attr("title"),void 0===e&&(e=null),f._$origin.data("tooltipster-initialTitle",e)),null!==f.__options.content)?f.__contentSet(f.__options.content):(s=f._$origin.attr("data-tooltip-content"),s&&(o=n(s)),o&&o[0]?f.__contentSet(o.first()):f.__contentSet(e)),f._$origin.removeAttr("title").addClass("tooltipstered"),f.__prepareOrigin(),f.__prepareGC(),n.each(f.__options.plugins,function(n,t){f._plug(t)}),t.hasTouchCapability&&n(t.window.document.body).on("touchmove."+f.__namespace+"-triggerOpen",function(n){f._touchRecordEvent(n)}),f._on("created",function(){f.__prepareTooltip()})._on("repositioned",function(n){f.__lastPosition=n.position})):f.__options.disabled=!0},__contentInsert:function(){var n=this,i=n._$tooltip.find(".tooltipster-content"),t=n.__Content,r=function(n){t=n};return n._trigger({type:"format",content:n.__Content,format:r}),n.__options.functionFormat&&(t=n.__options.functionFormat.call(n,n,{origin:n._$origin[0]},n.__Content)),"string"!=typeof t||n.__options.contentAsHTML?i.empty().append(t):i.text(t),n},__contentSet:function(t){return t instanceof n&&this.__options.contentCloning&&(t=t.clone(!0)),this.__Content=t,this._trigger({type:"updated",content:t}),this},__destroyError:function(){throw new Error("This tooltip has been destroyed and cannot execute your method call.");},__geometry:function(){var e=this,c=e._$origin,y=e._$origin.is("area"),k,p,r,u,it;y&&(k=e._$origin.parent().attr("name"),c=n('img[usemap="#'+k+'"]'));var f=c[0].getBoundingClientRect(),d=n(t.window.document),g=n(t.window),l=c,i={available:{document:null,window:null},document:{size:{height:d.height(),width:d.width()}},window:{scroll:{left:t.window.scrollX||t.window.document.documentElement.scrollLeft,top:t.window.scrollY||t.window.document.documentElement.scrollTop},size:{height:g.height(),width:g.width()}},origin:{fixedLineage:!1,offset:{},size:{height:f.bottom-f.top,width:f.right-f.left},usemapImage:y?c[0]:null,windowOffset:{bottom:f.bottom,left:f.left,right:f.right,top:f.top}}};if(y&&(p=e._$origin.attr("shape"),r=e._$origin.attr("coords"),r&&(r=r.split(","),n.map(r,function(n,t){r[t]=parseInt(n)})),"default"!=p))switch(p){case"circle":var rt=r[0],ut=r[1],w=r[2],ft=ut-w,et=rt-w;i.origin.size.height=2*w;i.origin.size.width=i.origin.size.height;i.origin.windowOffset.left+=et;i.origin.windowOffset.top+=ft;break;case"rect":var nt=r[0],tt=r[1],ot=r[2],st=r[3];i.origin.size.height=st-tt;i.origin.size.width=ot-nt;i.origin.windowOffset.left+=nt;i.origin.windowOffset.top+=tt;break;case"poly":for(var o=0,s=0,a=0,v=0,b="even",h=0;h<r.length;h++)u=r[h],"even"==b?(u>a&&(a=u,0===h&&(o=a)),u<o&&(o=u),b="odd"):(u>v&&(v=u,1==h&&(s=v)),u<s&&(s=u),b="even");i.origin.size.height=v-s;i.origin.size.width=a-o;i.origin.windowOffset.left+=o;i.origin.windowOffset.top+=s}for(it=function(n){i.origin.size.height=n.height;i.origin.windowOffset.left=n.left;i.origin.windowOffset.top=n.top;i.origin.size.width=n.width},e._trigger({type:"geometry",edit:it,geometry:{height:i.origin.size.height,left:i.origin.windowOffset.left,top:i.origin.windowOffset.top,width:i.origin.size.width}}),i.origin.windowOffset.right=i.origin.windowOffset.left+i.origin.size.width,i.origin.windowOffset.bottom=i.origin.windowOffset.top+i.origin.size.height,i.origin.offset.left=i.origin.windowOffset.left+i.window.scroll.left,i.origin.offset.top=i.origin.windowOffset.top+i.window.scroll.top,i.origin.offset.bottom=i.origin.offset.top+i.origin.size.height,i.origin.offset.right=i.origin.offset.left+i.origin.size.width,i.available.document={bottom:{height:i.document.size.height-i.origin.offset.bottom,width:i.document.size.width},left:{height:i.document.size.height,width:i.origin.offset.left},right:{height:i.document.size.height,width:i.document.size.width-i.origin.offset.right},top:{height:i.origin.offset.top,width:i.document.size.width}},i.available.window={bottom:{height:Math.max(i.window.size.height-Math.max(i.origin.windowOffset.bottom,0),0),width:i.window.size.width},left:{height:i.window.size.height,width:Math.max(i.origin.windowOffset.left,0)},right:{height:i.window.size.height,width:Math.max(i.window.size.width-Math.max(i.origin.windowOffset.right,0),0)},top:{height:Math.max(i.origin.windowOffset.top,0),width:i.window.size.width}};"html"!=l[0].tagName.toLowerCase();){if("fixed"==l.css("position")){i.origin.fixedLineage=!0;break}l=l.parent()}return i},__optionsFormat:function(){return"number"==typeof this.__options.animationDuration&&(this.__options.animationDuration=[this.__options.animationDuration,this.__options.animationDuration]),"number"==typeof this.__options.delay&&(this.__options.delay=[this.__options.delay,this.__options.delay]),"number"==typeof this.__options.delayTouch&&(this.__options.delayTouch=[this.__options.delayTouch,this.__options.delayTouch]),"string"==typeof this.__options.theme&&(this.__options.theme=[this.__options.theme]),null===this.__options.parent?this.__options.parent=n(t.window.document.body):"string"==typeof this.__options.parent&&(this.__options.parent=n(this.__options.parent)),"hover"==this.__options.trigger?(this.__options.triggerOpen={mouseenter:!0,touchstart:!0},this.__options.triggerClose={mouseleave:!0,originClick:!0,touchleave:!0}):"click"==this.__options.trigger&&(this.__options.triggerOpen={click:!0,tap:!0},this.__options.triggerClose={click:!0,tap:!0}),this._trigger("options"),this},__prepareGC:function(){var t=this;return t.__options.selfDestruction?t.__garbageCollector=setInterval(function(){var i=(new Date).getTime();t.__touchEvents=n.grep(t.__touchEvents,function(n){return i-n.time>6e4});r(t._$origin)||t.close(function(){t.destroy()})},2e4):clearInterval(t.__garbageCollector),t},__prepareOrigin:function(){var n=this,i;return(n._$origin.off("."+n.__namespace+"-triggerOpen"),t.hasTouchCapability&&n._$origin.on("touchstart."+n.__namespace+"-triggerOpen touchend."+n.__namespace+"-triggerOpen touchcancel."+n.__namespace+"-triggerOpen",function(t){n._touchRecordEvent(t)}),n.__options.triggerOpen.click||n.__options.triggerOpen.tap&&t.hasTouchCapability)&&(i="",n.__options.triggerOpen.click&&(i+="click."+n.__namespace+"-triggerOpen "),n.__options.triggerOpen.tap&&t.hasTouchCapability&&(i+="touchend."+n.__namespace+"-triggerOpen"),n._$origin.on(i,function(t){n._touchIsMeaningfulEvent(t)&&n._open(t)})),(n.__options.triggerOpen.mouseenter||n.__options.triggerOpen.touchstart&&t.hasTouchCapability)&&(i="",n.__options.triggerOpen.mouseenter&&(i+="mouseenter."+n.__namespace+"-triggerOpen "),n.__options.triggerOpen.touchstart&&t.hasTouchCapability&&(i+="touchstart."+n.__namespace+"-triggerOpen"),n._$origin.on(i,function(t){!n._touchIsTouchEvent(t)&&n._touchIsEmulatedEvent(t)||(n.__pointerIsOverOrigin=!0,n._openShortly(t))})),(n.__options.triggerClose.mouseleave||n.__options.triggerClose.touchleave&&t.hasTouchCapability)&&(i="",n.__options.triggerClose.mouseleave&&(i+="mouseleave."+n.__namespace+"-triggerOpen "),n.__options.triggerClose.touchleave&&t.hasTouchCapability&&(i+="touchend."+n.__namespace+"-triggerOpen touchcancel."+n.__namespace+"-triggerOpen"),n._$origin.on(i,function(t){n._touchIsMeaningfulEvent(t)&&(n.__pointerIsOverOrigin=!1)})),n},__prepareTooltip:function(){var t=this,i=t.__options.interactive?"auto":"";return t._$tooltip.attr("id",t.__namespace).css({"pointer-events":i,zIndex:t.__options.zIndex}),n.each(t.__previousThemes,function(n,i){t._$tooltip.removeClass(i)}),n.each(t.__options.theme,function(n,i){t._$tooltip.addClass(i)}),t.__previousThemes=n.merge([],t.__options.theme),t},__scrollHandler:function(i){var u=this,f,e,o,s;return u.__options.triggerClose.scroll?u._close(i):r(u._$origin)&&r(u._$tooltip)&&(f=null,i.target===t.window.document?u.__Geometry.origin.fixedLineage||u.__options.repositionOnScroll&&u.reposition(i):(f=u.__geometry(),e=!1,("fixed"!=u._$origin.css("position")&&u.__$originParents.each(function(t,i){var u=n(i),o=u.css("overflow-x"),s=u.css("overflow-y"),r;return("visible"!=o||"visible"!=s)&&((r=i.getBoundingClientRect(),"visible"!=o&&(f.origin.windowOffset.left<r.left||f.origin.windowOffset.right>r.right))||"visible"!=s&&(f.origin.windowOffset.top<r.top||f.origin.windowOffset.bottom>r.bottom))?(e=!0,!1):"fixed"==u.css("position")?!1:void 0}),e)?u._$tooltip.css("visibility","hidden"):(u._$tooltip.css("visibility","visible"),u.__options.repositionOnScroll)?u.reposition(i):(o=f.origin.offset.left-u.__Geometry.origin.offset.left,s=f.origin.offset.top-u.__Geometry.origin.offset.top,u._$tooltip.css({left:u.__lastPosition.coord.left+o,top:u.__lastPosition.coord.top+s}))),u._trigger({type:"scroll",event:i,geo:f})),u},__stateSet:function(n){return this.__state=n,this._trigger({type:"state",state:n}),this},__timeoutsClear:function(){return clearTimeout(this.__timeouts.open),this.__timeouts.open=null,n.each(this.__timeouts.close,function(n,t){clearTimeout(t)}),this.__timeouts.close=[],this},__trackerStart:function(){var n=this,t=n._$tooltip.find(".tooltipster-content");return n.__options.trackTooltip&&(n.__contentBcr=t[0].getBoundingClientRect()),n.__tracker=setInterval(function(){var i,u,f;r(n._$origin)&&r(n._$tooltip)?(n.__options.trackOrigin&&(i=n.__geometry(),u=!1,e(i.origin.size,n.__Geometry.origin.size)&&(n.__Geometry.origin.fixedLineage?e(i.origin.windowOffset,n.__Geometry.origin.windowOffset)&&(u=!0):e(i.origin.offset,n.__Geometry.origin.offset)&&(u=!0)),u||(n.__options.triggerClose.mouseleave?n._close():n.reposition())),n.__options.trackTooltip&&(f=t[0].getBoundingClientRect(),f.height===n.__contentBcr.height&&f.width===n.__contentBcr.width||(n.reposition(),n.__contentBcr=f))):n._close()},n.__options.trackerInterval),n},_close:function(i,r,u){var f=this,s=!0,e,o;if(f._trigger({type:"close",event:i,stop:function(){s=!1}}),s||u)if(r&&f.__callbacks.close.push(r),f.__callbacks.open=[],f.__timeoutsClear(),e=function(){n.each(f.__callbacks.close,function(n,t){t.call(f,f,{event:i,origin:f._$origin[0]})});f.__callbacks.close=[]},"closed"!=f.__state){var h=!0,l=new Date,a=l.getTime(),c=a+f.__options.animationDuration[1];("disappearing"==f.__state&&c>f.__closingTime&&f.__options.animationDuration[1]>0&&(h=!1),h)&&(f.__closingTime=c,"disappearing"!=f.__state&&f.__stateSet("disappearing"),o=function(){clearInterval(f.__tracker);f._trigger({type:"closing",event:i});f._$tooltip.off("."+f.__namespace+"-triggerClose").removeClass("tooltipster-dying");n(t.window).off("."+f.__namespace+"-triggerClose");f.__$originParents.each(function(t,i){n(i).off("scroll."+f.__namespace+"-triggerClose")});f.__$originParents=null;n(t.window.document.body).off("."+f.__namespace+"-triggerClose");f._$origin.off("."+f.__namespace+"-triggerClose");f._off("dismissable");f.__stateSet("closed");f._trigger({type:"after",event:i});f.__options.functionAfter&&f.__options.functionAfter.call(f,f,{event:i,origin:f._$origin[0]});e()},t.hasTransitions?(f._$tooltip.css({"-moz-animation-duration":f.__options.animationDuration[1]+"ms","-ms-animation-duration":f.__options.animationDuration[1]+"ms","-o-animation-duration":f.__options.animationDuration[1]+"ms","-webkit-animation-duration":f.__options.animationDuration[1]+"ms","animation-duration":f.__options.animationDuration[1]+"ms","transition-duration":f.__options.animationDuration[1]+"ms"}),f._$tooltip.clearQueue().removeClass("tooltipster-show").addClass("tooltipster-dying"),f.__options.animationDuration[1]>0&&f._$tooltip.delay(f.__options.animationDuration[1]),f._$tooltip.queue(o)):f._$tooltip.stop().fadeOut(f.__options.animationDuration[1],o))}else e();return f},_off:function(){return this.__$emitterPrivate.off.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_on:function(){return this.__$emitterPrivate.on.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_one:function(){return this.__$emitterPrivate.one.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_open:function(i,u){var f=this,o,h,e;if(!f.__destroying&&r(f._$origin)&&f.__enabled&&(o=!0,"closed"==f.__state&&(f._trigger({type:"before",event:i,stop:function(){o=!1}}),o&&f.__options.functionBefore&&(o=f.__options.functionBefore.call(f,f,{event:i,origin:f._$origin[0]}))),!1!==o&&null!==f.__Content)){if(u&&f.__callbacks.open.push(u),f.__callbacks.close=[],f.__timeoutsClear(),e=function(){"stable"!=f.__state&&f.__stateSet("stable");n.each(f.__callbacks.open,function(n,t){t.call(f,f,{origin:f._$origin[0],tooltip:f._$tooltip[0]})});f.__callbacks.open=[]},"closed"!==f.__state)h=0,"disappearing"===f.__state?(f.__stateSet("appearing"),t.hasTransitions?(f._$tooltip.clearQueue().removeClass("tooltipster-dying").addClass("tooltipster-show"),f.__options.animationDuration[0]>0&&f._$tooltip.delay(f.__options.animationDuration[0]),f._$tooltip.queue(e)):f._$tooltip.stop().fadeIn(e)):"stable"==f.__state&&e();else{if(f.__stateSet("appearing"),h=f.__options.animationDuration[0],f.__contentInsert(),f.reposition(i,!0),t.hasTransitions?(f._$tooltip.addClass("tooltipster-"+f.__options.animation).addClass("tooltipster-initial").css({"-moz-animation-duration":f.__options.animationDuration[0]+"ms","-ms-animation-duration":f.__options.animationDuration[0]+"ms","-o-animation-duration":f.__options.animationDuration[0]+"ms","-webkit-animation-duration":f.__options.animationDuration[0]+"ms","animation-duration":f.__options.animationDuration[0]+"ms","transition-duration":f.__options.animationDuration[0]+"ms"}),setTimeout(function(){"closed"!=f.__state&&(f._$tooltip.addClass("tooltipster-show").removeClass("tooltipster-initial"),f.__options.animationDuration[0]>0&&f._$tooltip.delay(f.__options.animationDuration[0]),f._$tooltip.queue(e))},0)):f._$tooltip.css("display","none").fadeIn(f.__options.animationDuration[0],e),f.__trackerStart(),n(t.window).on("resize."+f.__namespace+"-triggerClose",function(t){var i=n(document.activeElement);(i.is("input")||i.is("textarea"))&&n.contains(f._$tooltip[0],i[0])||f.reposition(t)}).on("scroll."+f.__namespace+"-triggerClose",function(n){f.__scrollHandler(n)}),f.__$originParents=f._$origin.parents(),f.__$originParents.each(function(t,i){n(i).on("scroll."+f.__namespace+"-triggerClose",function(n){f.__scrollHandler(n)})}),f.__options.triggerClose.mouseleave||f.__options.triggerClose.touchleave&&t.hasTouchCapability){f._on("dismissable",function(n){n.dismissable?n.delay?(s=setTimeout(function(){f._close(n.event)},n.delay),f.__timeouts.close.push(s)):f._close(n):clearTimeout(s)});var c=f._$origin,l="",a="",s=null;f.__options.interactive&&(c=c.add(f._$tooltip));f.__options.triggerClose.mouseleave&&(l+="mouseenter."+f.__namespace+"-triggerClose ",a+="mouseleave."+f.__namespace+"-triggerClose ");f.__options.triggerClose.touchleave&&t.hasTouchCapability&&(l+="touchstart."+f.__namespace+"-triggerClose",a+="touchend."+f.__namespace+"-triggerClose touchcancel."+f.__namespace+"-triggerClose");c.on(a,function(n){if(f._touchIsTouchEvent(n)||!f._touchIsEmulatedEvent(n)){var t="mouseleave"==n.type?f.__options.delay:f.__options.delayTouch;f._trigger({delay:t[1],dismissable:!0,event:n,type:"dismissable"})}}).on(l,function(n){!f._touchIsTouchEvent(n)&&f._touchIsEmulatedEvent(n)||f._trigger({dismissable:!1,event:n,type:"dismissable"})})}f.__options.triggerClose.originClick&&f._$origin.on("click."+f.__namespace+"-triggerClose",function(n){f._touchIsTouchEvent(n)||f._touchIsEmulatedEvent(n)||f._close(n)});(f.__options.triggerClose.click||f.__options.triggerClose.tap&&t.hasTouchCapability)&&setTimeout(function(){if("closed"!=f.__state){var i="",r=n(t.window.document.body);f.__options.triggerClose.click&&(i+="click."+f.__namespace+"-triggerClose ");f.__options.triggerClose.tap&&t.hasTouchCapability&&(i+="touchend."+f.__namespace+"-triggerClose");r.on(i,function(t){f._touchIsMeaningfulEvent(t)&&(f._touchRecordEvent(t),f.__options.interactive&&n.contains(f._$tooltip[0],t.target)||f._close(t))});f.__options.triggerClose.tap&&t.hasTouchCapability&&r.on("touchstart."+f.__namespace+"-triggerClose",function(n){f._touchRecordEvent(n)})}},0);f._trigger("ready");f.__options.functionReady&&f.__options.functionReady.call(f,f,{origin:f._$origin[0],tooltip:f._$tooltip[0]})}f.__options.timer>0&&(s=setTimeout(function(){f._close()},f.__options.timer+h),f.__timeouts.close.push(s))}return f},_openShortly:function(n){var t=this,r=!0,i;return"stable"!=t.__state&&"appearing"!=t.__state&&!t.__timeouts.open&&(t._trigger({type:"start",event:n,stop:function(){r=!1}}),r)&&(i=0==n.type.indexOf("touch")?t.__options.delayTouch:t.__options.delay,i[0]?t.__timeouts.open=setTimeout(function(){t.__timeouts.open=null;t.__pointerIsOverOrigin&&t._touchIsMeaningfulEvent(n)?(t._trigger("startend"),t._open(n)):t._trigger("startcancel")},i[0]):(t._trigger("startend"),t._open(n))),t},_optionsExtract:function(t,i){var f=this,u=n.extend(!0,{},i),r=f.__options[t];return r||(r={},n.each(i,function(n){var t=f.__options[n];void 0!==t&&(r[n]=t)})),n.each(u,function(t,i){void 0!==r[t]&&("object"!=typeof i||i instanceof Array||null==i||"object"!=typeof r[t]||r[t]instanceof Array||null==r[t]?u[t]=r[t]:n.extend(u[t],r[t]))}),u},_plug:function(t){var i=n.tooltipster._plugin(t);if(!i)throw new Error('The "'+t+'" plugin is not defined');return i.instance&&n.tooltipster.__bridge(i.instance,this,i.name),this},_touchIsEmulatedEvent:function(n){for(var i,r=!1,u=(new Date).getTime(),t=this.__touchEvents.length-1;t>=0;t--){if(i=this.__touchEvents[t],!(u-i.time<500))break;i.target===n.target&&(r=!0)}return r},_touchIsMeaningfulEvent:function(n){return this._touchIsTouchEvent(n)&&!this._touchSwiped(n.target)||!this._touchIsTouchEvent(n)&&!this._touchIsEmulatedEvent(n)},_touchIsTouchEvent:function(n){return 0==n.type.indexOf("touch")},_touchRecordEvent:function(n){return this._touchIsTouchEvent(n)&&(n.time=(new Date).getTime(),this.__touchEvents.push(n)),this},_touchSwiped:function(n){for(var i,r=!1,t=this.__touchEvents.length-1;t>=0;t--){if(i=this.__touchEvents[t],"touchmove"==i.type){r=!0;break}if("touchstart"==i.type&&n===i.target)break}return r},_trigger:function(){var t=Array.prototype.slice.apply(arguments);return"string"==typeof t[0]&&(t[0]={type:t[0]}),t[0].instance=this,t[0].origin=this._$origin?this._$origin[0]:null,t[0].tooltip=this._$tooltip?this._$tooltip[0]:null,this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate,t),n.tooltipster._trigger.apply(n.tooltipster,t),this.__$emitterPublic.trigger.apply(this.__$emitterPublic,t),this},_unplug:function(t){var i=this,r;return i[t]&&(r=n.tooltipster._plugin(t),r.instance&&n.each(r.instance,function(n){i[n]&&i[n].bridged===i[t]&&delete i[n]}),i[t].__destroy&&i[t].__destroy(),delete i[t]),i},close:function(n){return this.__destroyed?this.__destroyError():this._close(null,n),this},content:function(n){var i=this,r;return void 0===n?i.__Content:(i.__destroyed?i.__destroyError():(i.__contentSet(n),null!==i.__Content)?"closed"!==i.__state&&(i.__contentInsert(),i.reposition(),i.__options.updateAnimation)&&(t.hasTransitions?(r=i.__options.updateAnimation,i._$tooltip.addClass("tooltipster-update-"+r),setTimeout(function(){"closed"!=i.__state&&i._$tooltip.removeClass("tooltipster-update-"+r)},1e3)):i._$tooltip.fadeTo(200,.5,function(){"closed"!=i.__state&&i._$tooltip.fadeTo(200,1)})):i._close(),i)},destroy:function(){var i=this,r,u;return i.__destroyed?i.__destroyError():("closed"!=i.__state?i.option("animationDuration",0)._close(null,null,!0):i.__timeoutsClear(),i._trigger("destroy"),i.__destroyed=!0,i._$origin.removeData(i.__namespace).off("."+i.__namespace+"-triggerOpen"),n(t.window.document.body).off("."+i.__namespace+"-triggerOpen"),r=i._$origin.data("tooltipster-ns"),r&&(1===r.length?(u=null,"previous"==i.__options.restoration?u=i._$origin.data("tooltipster-initialTitle"):"current"==i.__options.restoration&&(u="string"==typeof i.__Content?i.__Content:n("<div><\/div>").append(i.__Content).html()),u&&i._$origin.attr("title",u),i._$origin.removeClass("tooltipstered"),i._$origin.removeData("tooltipster-ns").removeData("tooltipster-initialTitle")):(r=n.grep(r,function(n){return n!==i.__namespace}),i._$origin.data("tooltipster-ns",r))),i._trigger("destroyed"),i._off(),i.off(),i.__Content=null,i.__$emitterPrivate=null,i.__$emitterPublic=null,i.__options.parent=null,i._$origin=null,i._$tooltip=null,n.tooltipster.__instancesLatestArr=n.grep(n.tooltipster.__instancesLatestArr,function(n){return i!==n}),clearInterval(i.__garbageCollector)),i},disable:function(){return this.__destroyed?(this.__destroyError(),this):(this._close(),this.__enabled=!1,this)},elementOrigin:function(){if(!this.__destroyed)return this._$origin[0];this.__destroyError()},elementTooltip:function(){return this._$tooltip?this._$tooltip[0]:null},enable:function(){return this.__enabled=!0,this},hide:function(n){return this.close(n)},instance:function(){return this},off:function(){return this.__destroyed||this.__$emitterPublic.off.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},on:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.on.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},one:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.one.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},open:function(n){return this.__destroyed?this.__destroyError():this._open(null,n),this},option:function(t,i){return void 0===i?this.__options[t]:(this.__destroyed?this.__destroyError():(this.__options[t]=i,this.__optionsFormat(),n.inArray(t,["trigger","triggerClose","triggerOpen"])>=0&&this.__prepareOrigin(),"selfDestruction"===t&&this.__prepareGC()),this)},reposition:function(n,t){var i=this;return i.__destroyed?i.__destroyError():"closed"!=i.__state&&r(i._$origin)&&(t||r(i._$tooltip))&&(t||i._$tooltip.detach(),i.__Geometry=i.__geometry(),i._trigger({type:"reposition",event:n,helper:{geo:i.__Geometry}})),i},show:function(n){return this.open(n)},status:function(){return{destroyed:this.__destroyed,enabled:this.__enabled,open:"closed"!==this.__state,state:this.__state}},triggerHandler:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this}},n.fn.tooltipster=function(){var t=Array.prototype.slice.apply(arguments),f="You are using a single HTML element as content for several tooltips. You probably want to set the contentCloning option to TRUE.",i;if(0===this.length)return this;if("string"==typeof t[0])return i="#*$~&",this.each(function(){var e=n(this).data("tooltipster-ns"),r=e?n(this).data(e[0]):null,u;if(!r)throw new Error("You called Tooltipster's \""+t[0]+'" method on an uninitialized element');if("function"!=typeof r[t[0]])throw new Error('Unknown method "'+t[0]+'"');return this.length>1&&"content"==t[0]&&(t[1]instanceof n||"object"==typeof t[1]&&null!=t[1]&&t[1].tagName)&&!r.__options.contentCloning&&r.__options.debug&&console.log(f),u=r[t[0]](t[1],t[2]),u!==r||"instance"===t[0]?(i=u,!1):void 0}),"#*$~&"!==i?i:this;n.tooltipster.__instancesLatestArr=[];var e=t[0]&&void 0!==t[0].multiple,l=e&&t[0].multiple||!e&&u.multiple,o=t[0]&&void 0!==t[0].content,r=o&&t[0].content||!o&&u.content,s=t[0]&&void 0!==t[0].contentCloning,a=s&&t[0].contentCloning||!s&&u.contentCloning,h=t[0]&&void 0!==t[0].debug,c=h&&t[0].debug||!h&&u.debug;return this.length>1&&(r instanceof n||"object"==typeof r&&null!=r&&r.tagName)&&!a&&c&&console.log(f),this.each(function(){var u=!1,f=n(this),r=f.data("tooltipster-ns"),i=null;r?l?u=!0:c&&(console.log("Tooltipster: one or more tooltips are already attached to the element below. Ignoring."),console.log(this)):u=!0;u&&(i=new n.Tooltipster(this,t[0]),r||(r=[]),r.push(i.__namespace),f.data("tooltipster-ns",r),f.data(i.__namespace,i),i.__options.functionInit&&i.__options.functionInit.call(i,i,{origin:this}),i._trigger("init"));n.tooltipster.__instancesLatestArr.push(i)}),this},s.prototype={__init:function(i){this.__$tooltip=i;this.__$tooltip.css({left:0,overflow:"hidden",position:"absolute",top:0}).find(".tooltipster-content").css("overflow","auto");this.$container=n('<div class="tooltipster-ruler"><\/div>').append(this.__$tooltip).appendTo(t.window.document.body)},__forceRedraw:function(){var n=this.__$tooltip.parent();this.__$tooltip.detach();this.__$tooltip.appendTo(n)},constrain:function(n,t){return this.constraints={width:n,height:t},this.__$tooltip.css({display:"block",height:"",overflow:"auto",width:n}),this},destroy:function(){this.__$tooltip.detach().find(".tooltipster-content").css({display:"",overflow:""});this.$container.remove()},free:function(){return this.constraints=null,this.__$tooltip.css({display:"",height:"",overflow:"visible",width:""}),this},measure:function(){var n,i;if(this.__forceRedraw(),n=this.__$tooltip[0].getBoundingClientRect(),i={size:{height:n.height||n.bottom-n.top,width:n.width||n.right-n.left}},this.constraints){var r=this.__$tooltip.find(".tooltipster-content"),f=this.__$tooltip.outerHeight(),e=r[0].getBoundingClientRect(),u={height:f<=this.constraints.height,width:n.width<=this.constraints.width&&e.width>=r[0].scrollWidth-1};i.fits=u.height&&u.width}return t.IE&&t.IE<=11&&i.size.width!==t.window.document.documentElement.clientWidth&&(i.size.width=Math.ceil(i.size.width)+1),i}},f=navigator.userAgent.toLowerCase(),-1!=f.indexOf("msie")?t.IE=parseInt(f.split("msie")[1]):-1!==f.toLowerCase().indexOf("trident")&&-1!==f.indexOf(" rv:11")?t.IE=11:-1!=f.toLowerCase().indexOf("edge/")&&(t.IE=parseInt(f.toLowerCase().split("edge/")[1])),o="tooltipster.sideTip",n.tooltipster._plugin({name:o,instance:{__defaults:function(){return{arrow:!0,distance:6,functionPosition:null,maxWidth:null,minIntersection:16,minWidth:0,position:null,side:"top",viewportAware:!0}},__init:function(n){var t=this;t.__instance=n;t.__namespace="tooltipster-sideTip-"+Math.round(1e6*Math.random());t.__previousState="closed";t.__options;t.__optionsFormat();t.__instance._on("state."+t.__namespace,function(n){"closed"==n.state?t.__close():"appearing"==n.state&&"closed"==t.__previousState&&t.__create();t.__previousState=n.state});t.__instance._on("options."+t.__namespace,function(){t.__optionsFormat()});t.__instance._on("reposition."+t.__namespace,function(n){t.__reposition(n.event,n.helper)})},__close:function(){this.__instance.content()instanceof n&&this.__instance.content().detach();this.__instance._$tooltip.remove();this.__instance._$tooltip=null},__create:function(){var t=n('<div class="tooltipster-base tooltipster-sidetip"><div class="tooltipster-box"><div class="tooltipster-content"><\/div><\/div><div class="tooltipster-arrow"><div class="tooltipster-arrow-uncropped"><div class="tooltipster-arrow-border"><\/div><div class="tooltipster-arrow-background"><\/div><\/div><\/div><\/div>');this.__options.arrow||t.find(".tooltipster-box").css("margin",0).end().find(".tooltipster-arrow").hide();this.__options.minWidth&&t.css("min-width",this.__options.minWidth+"px");this.__options.maxWidth&&t.css("max-width",this.__options.maxWidth+"px");this.__instance._$tooltip=t;this.__instance._trigger("created")},__destroy:function(){this.__instance._off("."+self.__namespace)},__optionsFormat:function(){var t=this,i;(t.__options=t.__instance._optionsExtract(o,t.__defaults()),t.__options.position&&(t.__options.side=t.__options.position),"object"!=typeof t.__options.distance&&(t.__options.distance=[t.__options.distance]),t.__options.distance.length<4&&(void 0===t.__options.distance[1]&&(t.__options.distance[1]=t.__options.distance[0]),void 0===t.__options.distance[2]&&(t.__options.distance[2]=t.__options.distance[0]),void 0===t.__options.distance[3]&&(t.__options.distance[3]=t.__options.distance[1]),t.__options.distance={top:t.__options.distance[0],right:t.__options.distance[1],bottom:t.__options.distance[2],left:t.__options.distance[3]}),"string"==typeof t.__options.side)&&(i={top:"bottom",right:"left",bottom:"top",left:"right"},t.__options.side=[t.__options.side,i[t.__options.side]],"left"==t.__options.side[0]||"right"==t.__options.side[0]?t.__options.side.push("top","bottom"):t.__options.side.push("right","left"));6===n.tooltipster._env.IE&&!0!==t.__options.arrow&&(t.__options.arrow=!1)},__reposition:function(t,i){var r,u=this,p=u.__targetFind(i),e=[],f,h,l,a,v;u.__instance._$tooltip.detach();var o=u.__instance._$tooltip.clone(),c=n.tooltipster._getRuler(o),s=!1,y=u.__instance.option("animation");switch(y&&o.removeClass("tooltipster-"+y),n.each(["window","document"],function(r,f){var a=null,l,h;if(u.__instance._trigger({container:f,helper:i,satisfied:s,takeTest:function(n){a=n},results:e,type:"positionTest"}),1==a||0!=a&&0==s&&("window"!=f||u.__options.viewportAware))for(r=0;r<u.__options.side.length;r++)l={horizontal:0,vertical:0},h=u.__options.side[r],"top"==h||"bottom"==h?l.vertical=u.__options.distance[h]:l.horizontal=u.__options.distance[h],u.__sideChange(o,h),n.each(["natural","constrained"],function(n,r){if(a=null,u.__instance._trigger({container:f,event:t,helper:i,mode:r,results:e,satisfied:s,side:h,takeTest:function(n){a=n},type:"positionTest"}),1==a||0!=a&&0==s){var o={container:f,distance:l,fits:null,mode:r,outerSize:null,side:h,size:null,target:p[h],whole:null},y="natural"==r?c.free():c.constrain(i.geo.available[f][h].width-l.horizontal,i.geo.available[f][h].height-l.vertical),v=y.measure();if(o.size=v.size,o.outerSize={height:v.size.height+l.vertical,width:v.size.width+l.horizontal},o.fits="natural"==r?i.geo.available[f][h].width>=o.outerSize.width&&i.geo.available[f][h].height>=o.outerSize.height?!0:!1:v.fits,"window"==f&&(o.whole=o.fits?"top"==h||"bottom"==h?i.geo.origin.windowOffset.right>=u.__options.minIntersection&&i.geo.window.size.width-i.geo.origin.windowOffset.left>=u.__options.minIntersection:i.geo.origin.windowOffset.bottom>=u.__options.minIntersection&&i.geo.window.size.height-i.geo.origin.windowOffset.top>=u.__options.minIntersection:!1),e.push(o),o.whole)s=!0;else if("natural"==o.mode&&(o.fits||o.size.width<=i.geo.available[f][h].width))return!1}})}),u.__instance._trigger({edit:function(n){e=n},event:t,helper:i,results:e,type:"positionTested"}),e.sort(function(n,t){if(n.whole&&!t.whole)return-1;if(!n.whole&&t.whole)return 1;if(n.whole&&t.whole){var i=u.__options.side.indexOf(n.side),r=u.__options.side.indexOf(t.side);return i<r?-1:i>r?1:"natural"==n.mode?-1:1}return n.fits&&!t.fits?-1:!n.fits&&t.fits?1:n.fits&&t.fits?(i=u.__options.side.indexOf(n.side),r=u.__options.side.indexOf(t.side),i<r?-1:i>r?1:"natural"==n.mode?-1:1):"document"==n.container&&"bottom"==n.side&&"natural"==n.mode?-1:1}),r=e[0],r.coord={},r.side){case"left":case"right":r.coord.top=Math.floor(r.target-r.size.height/2);break;case"bottom":case"top":r.coord.left=Math.floor(r.target-r.size.width/2)}switch(r.side){case"left":r.coord.left=i.geo.origin.windowOffset.left-r.outerSize.width;break;case"right":r.coord.left=i.geo.origin.windowOffset.right+r.distance.horizontal;break;case"top":r.coord.top=i.geo.origin.windowOffset.top-r.outerSize.height;break;case"bottom":r.coord.top=i.geo.origin.windowOffset.bottom+r.distance.vertical}"window"==r.container?"top"==r.side||"bottom"==r.side?r.coord.left<0?r.coord.left=i.geo.origin.windowOffset.right-this.__options.minIntersection>=0?0:i.geo.origin.windowOffset.right-this.__options.minIntersection-1:r.coord.left>i.geo.window.size.width-r.size.width&&(r.coord.left=i.geo.origin.windowOffset.left+this.__options.minIntersection<=i.geo.window.size.width?i.geo.window.size.width-r.size.width:i.geo.origin.windowOffset.left+this.__options.minIntersection+1-r.size.width):r.coord.top<0?r.coord.top=i.geo.origin.windowOffset.bottom-this.__options.minIntersection>=0?0:i.geo.origin.windowOffset.bottom-this.__options.minIntersection-1:r.coord.top>i.geo.window.size.height-r.size.height&&(r.coord.top=i.geo.origin.windowOffset.top+this.__options.minIntersection<=i.geo.window.size.height?i.geo.window.size.height-r.size.height:i.geo.origin.windowOffset.top+this.__options.minIntersection+1-r.size.height):(r.coord.left>i.geo.window.size.width-r.size.width&&(r.coord.left=i.geo.window.size.width-r.size.width),r.coord.left<0&&(r.coord.left=0));u.__sideChange(o,r.side);i.tooltipClone=o[0];i.tooltipParent=u.__instance.option("parent").parent[0];i.mode=r.mode;i.whole=r.whole;i.origin=u.__instance._$origin[0];i.tooltip=u.__instance._$tooltip[0];delete r.container;delete r.fits;delete r.mode;delete r.outerSize;delete r.whole;r.distance=r.distance.horizontal||r.distance.vertical;a=n.extend(!0,{},r);(u.__instance._trigger({edit:function(n){r=n},event:t,helper:i,position:a,type:"position"}),u.__options.functionPosition)&&(v=u.__options.functionPosition.call(u,u.__instance,i,a),v&&(r=v));c.destroy();"top"==r.side||"bottom"==r.side?(f={prop:"left",val:r.target-r.coord.left},h=r.size.width-this.__options.minIntersection):(f={prop:"top",val:r.target-r.coord.top},h=r.size.height-this.__options.minIntersection);f.val<this.__options.minIntersection?f.val=this.__options.minIntersection:f.val>h&&(f.val=h);l=i.geo.origin.fixedLineage?i.geo.origin.windowOffset:{left:i.geo.origin.windowOffset.left+i.geo.window.scroll.left,top:i.geo.origin.windowOffset.top+i.geo.window.scroll.top};r.coord={left:l.left+(r.coord.left-i.geo.origin.windowOffset.left),top:l.top+(r.coord.top-i.geo.origin.windowOffset.top)};u.__sideChange(u.__instance._$tooltip,r.side);i.geo.origin.fixedLineage?u.__instance._$tooltip.css("position","fixed"):u.__instance._$tooltip.css("position","");u.__instance._$tooltip.css({left:r.coord.left,top:r.coord.top,height:r.size.height,width:r.size.width}).find(".tooltipster-arrow").css({left:"",top:""}).css(f.prop,f.val);u.__instance._$tooltip.appendTo(u.__instance.option("parent"));u.__instance._trigger({type:"repositioned",event:t,position:r})},__sideChange:function(n,t){n.removeClass("tooltipster-bottom").removeClass("tooltipster-left").removeClass("tooltipster-right").removeClass("tooltipster-top").addClass("tooltipster-"+t)},__targetFind:function(n){var r={},i=this.__instance._$origin[0].getClientRects(),u,t;return i.length>1&&(u=this.__instance._$origin.css("opacity"),1==u&&(this.__instance._$origin.css("opacity",.99),i=this.__instance._$origin[0].getClientRects(),this.__instance._$origin.css("opacity",1))),i.length<2?(r.top=Math.floor(n.geo.origin.windowOffset.left+n.geo.origin.size.width/2),r.bottom=r.top,r.left=Math.floor(n.geo.origin.windowOffset.top+n.geo.origin.size.height/2),r.right=r.left):(t=i[0],r.top=Math.floor(t.left+(t.right-t.left)/2),t=i.length>2?i[Math.ceil(i.length/2)-1]:i[0],r.right=Math.floor(t.top+(t.bottom-t.top)/2),t=i[i.length-1],r.bottom=Math.floor(t.left+(t.right-t.left)/2),t=i.length>2?i[Math.ceil((i.length+1)/2)-1]:i[i.length-1],r.left=Math.floor(t.top+(t.bottom-t.top)/2)),r}}}),n}),function(){var s={settings:{},post:function(n){return new i("post",n)},get:function(n){return new i("get",n)}},i=function(n,t){var r={method:n,url:"",before:function(){},success:function(){},error:function(){},data:!1,async:!0,headers:{}},i;this.p=this.extend(r,t);this.p=this.extend(this.p,s.settings);this.p.method=this.p.method.toUpperCase();this.prepareData();this.xhr=new XMLHttpRequest;this.xhr.open(this.p.method,this.p.url,this.p.async);this.setHeaders();i="function"!=typeof this.p.before||this.p.before(this.xhr);!1!==i&&this.send()},f,n,c,e,o;i.prototype={extend:function(n,t){if(t)for(var i in t)n[i]=t[i];return n},prepareData:function(){"POST"!==this.p.method||this.isFormData()||(this.p.headers["Content-Type"]="application/x-www-form-urlencoded");"object"!=typeof this.p.data||this.isFormData()||(this.p.data=this.toParams(this.p.data));"GET"===this.p.method&&(this.p.url=this.p.url+"?"+this.p.data)},setHeaders:function(){for(var n in this.xhr.setRequestHeader("X-Requested-With",this.p.headers["X-Requested-With"]||"XMLHttpRequest"),this.p.headers)this.xhr.setRequestHeader(n,this.p.headers[n])},isFormData:function(){return void 0!==window.FormData&&this.p.data instanceof window.FormData},isComplete:function(){return!(this.xhr.status<200||this.xhr.status>=300&&304!==this.xhr.status)},send:function(){this.p.async?(this.xhr.onload=this.loaded.bind(this),this.xhr.send(this.p.data)):(this.xhr.send(this.p.data),this.loaded.call(this))},loaded:function(){if(this.isComplete()){var n=this.xhr.response,t=this.parseJson(n);n=t||n;"function"==typeof this.p.success&&this.p.success(n,this.xhr)}else"function"==typeof this.p.error&&this.p.error(this.xhr.statusText)},parseJson:function(n){try{n=n.replace(/^\[/,"");n=n.replace(/\]$/,"");var t=JSON.parse(n);if(t&&"object"==typeof t)return t}catch(n){}return!1},toParams:function(n){return Object.keys(n).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(n[t])}).join("&")}};var r=[0],h="data"+new Date,u={},t=function(n,t){return this.parse(n,t)};t.ready=function(n){"loading"!=document.readyState?n():document.addEventListener("DOMContentLoaded",n)};t.prototype={get dom(){return!0},get length(){return this.nodes.length},parse:function(n,t){var i;if(n){if(n.dom)return this.nodes=n.nodes,n;i="string"!=typeof n?n.nodeType&&11===n.nodeType?n.childNodes:n.nodeType||n===window?[n]:n:/^\s*<(\w+|!)[^>]*>/.test(n)?this.create(n):this._query(n,t)}else i=[];this.nodes=this._slice(i)},create:function(n){var t,f;if(/^<(\w+)\s*\/?>(?:<\/\1>|)$/.test(n))return[document.createElement(RegExp.$1)];var i=[],r=document.createElement("div"),u=r.childNodes;for(r.innerHTML=n,t=0,f=u.length;t<f;t++)i.push(u[t]);return i},add:function(n){this.nodes=this.nodes.concat(this._toArray(n))},get:function(n){return this.nodes[n||0]||!1},getAll:function(){return this.nodes},eq:function(n){return new t(this.nodes[n])||!1},first:function(){return new t(this.nodes[0])||!1},last:function(){return new t(this.nodes[this.nodes.length-1])||!1},contents:function(){return this.get().childNodes},each:function(n){for(var i=this.nodes.length,t=0;t<i;t++)n.call(this,this.nodes[t].dom?this.nodes[t].get():this.nodes[t],t);return this},is:function(n){return this.filter(n).length>0},filter:function(n){var i;return void 0===n?this:(i="function"==typeof n?n:function(t){return n instanceof Node?n===t:n&&n.dom?-1!==n.nodes.indexOf(t):(t.matches=t.matches||t.msMatchesSelector||t.webkitMatchesSelector,1===t.nodeType&&t.matches(n||"*"))},new t(this.nodes.filter(i)))},not:function(n){return this.filter(function(i){return!new t(i).is(n||!0)})},find:function(n){var i=[];return this.each(function(t){for(var u=this._query(n||"*",t),r=0;r<u.length;r++)i.push(u[r])}),new t(i)},children:function(n){var i=[];return this.each(function(n){if(n.children)for(var r=n.children,t=0;t<r.length;t++)i.push(r[t])}),new t(i).filter(n)},parent:function(n){var i=[];return this.each(function(n){n.parentNode&&i.push(n.parentNode)}),new t(i).filter(n)},parents:function(n,i){i=this._getContext(i);var r=[];return this.each(function(u){for(var f=u.parentNode;f&&f!==i;)n?new t(f).is(n)&&r.push(f):r.push(f),f=f.parentNode}),new t(r)},closest:function(n,i){i=this._getContext(i);n=n.dom?n.get():n;var r=[],u=n&&n.nodeType;return this.each(function(f){do if(u&&f===n||new t(f).is(n))return r.push(f);while((f=f.parentNode)&&f!==i)}),new t(r)},next:function(){return new t(this.get().nextSibling)},nextElement:function(){return new t(this.get().nextElementSibling)},prev:function(){return new t(this.get().previousSibling)},prevElement:function(){return new t(this.get().previousElementSibling)},css:function(n,t){if(void 0===t&&"object"!=typeof n){var i=this.get();return"width"===n||"height"===n?i.style?this._getHeightOrWidth(n,i,!1)+"px":void 0:i.style?getComputedStyle(i,null)[n]:void 0}return this.each(function(i){var r={},u;for(u in"object"==typeof n?r=n:r[n]=t,r)i.style&&(i.style[u]=r[u])})},attr:function(n,t,i){return i=i?"data-":"",void 0===t&&"object"!=typeof n?3!==this.get().nodeType?"checked"===n?this.get().checked:this.get().getAttribute(i+n):void 0:this.each(function(r){var f={},u;for(u in"object"==typeof n?f=n:f[n]=t,f)3!==r.nodeType&&("checked"===u&&!1===f[u]?r.removeAttribute(u):r.setAttribute(i+u,f[u]))})},data:function(n,t){var r,u,f;if(void 0===n){var e=/^data\-(.+)$/,i=this.get().attributes,o={},s=function(n){return n[1].toUpperCase()};for(r in i)e.test(i[r].nodeName)&&(u=i[r].nodeName.match(e)[1],f=i[r].value,u=u.replace(/-([a-z])/g,s),o[u]=this._isNumber(f)?parseFloat(f):this._getBooleanFromStr(f));return o}return this.attr(n,t,!0)},val:function(n){if(void 0===n){var t=this.get();return t.type&&"checkbox"===t.type?t.checked:t.value}return this.each(function(t){t.value=n})},removeAttr:function(n){return this.each(function(t){var i=function(n){3!==t.nodeType&&t.removeAttribute(n)};n.split(" ").forEach(i)})},removeData:function(n){return this.each(function(t){var i=function(n){3!==t.nodeType&&t.removeAttribute("data-"+n)};n.split(" ").forEach(i)})},dataset:function(n,t){return this.each(function(i){r[this.dataindex(i)][n]=t})},dataget:function(n){return r[this.dataindex(this.get())][n]},dataindex:function(n){var t=n[h],i=r.length;return t||(t=n[h]=i,r[t]={}),t},addClass:function(n){return this._eachClass(n,"add")},removeClass:function(n){return this._eachClass(n,"remove")},toggleClass:function(n){return this._eachClass(n,"toggle")},hasClass:function(n){return this.nodes.some(function(t){return!!t.classList&&t.classList.contains(n)})},empty:function(){return this.each(function(n){n.innerHTML=""})},html:function(n){return void 0===n?this.get().innerHTML||"":this.empty().append(n)},text:function(n){return void 0===n?this.get().textContent||"":this.each(function(t){t.textContent=n})},after:function(n){return this._inject(n,function(n,t){if("string"==typeof n)t.insertAdjacentHTML("afterend",n);else for(var r=n instanceof Node?[n]:this._toArray(n).reverse(),i=0;i<r.length;i++)t.parentNode.insertBefore(r[i],t.nextSibling);return t})},before:function(n){return this._inject(n,function(n,t){if("string"==typeof n)t.insertAdjacentHTML("beforebegin",n);else for(var r=n instanceof Node?[n]:this._toArray(n),i=0;i<r.length;i++)t.parentNode.insertBefore(r[i],t);return t})},append:function(n){return this._inject(n,function(n,t){if("string"==typeof n)t.insertAdjacentHTML("beforeend",n);else for(var r=n instanceof Node?[n]:this._toArray(n),i=0;i<r.length;i++)t.appendChild(r[i]);return t})},prepend:function(n){return this._inject(n,function(n,t){if("string"==typeof n)t.insertAdjacentHTML("afterbegin",n);else for(var r=n instanceof Node?[n]:this._toArray(n).reverse(),i=0;i<r.length;i++)t.insertBefore(r[i],t.firstChild);return t})},wrap:function(n){return this._inject(n,function(n,i){var r="string"==typeof n?this.create(n)[0]:n instanceof Node?n:this._toArray(n)[0];return i.parentNode&&i.parentNode.insertBefore(r,i),r.appendChild(i),new t(r)})},unwrap:function(){return this.each(function(n){var i=new t(n);return i.replaceWith(i.contents())})},replaceWith:function(n){return this._inject(n,function(n,t){for(var f,i=document.createDocumentFragment(),u="string"==typeof n?this.create(n):n instanceof Node?[n]:this._toArray(n),r=0;r<u.length;r++)i.appendChild(u[r]);return f=i.childNodes[0],t.parentNode.replaceChild(i,t),f})},remove:function(){return this.each(function(n){n.parentNode&&n.parentNode.removeChild(n)})},clone:function(n){var i=[];return this.each(function(t){var r=this._clone(t);n&&(r=this._cloneEvents(t,r));i.push(r)}),new t(i)},show:function(){return this.each(function(n){var e,t,i,f,r;if(n.style){if("none"!==this._getRealDisplay(n))return;e=n.getAttribute("displayOld");(n.style.display=e||"","none"===this._getRealDisplay(n))&&(i=n.nodeName,f=document.body,u[i]?t=u[i]:(r=document.createElement(i),f.appendChild(r),t=this._getRealDisplay(r),"none"===t&&(t="block"),f.removeChild(r),u[i]=t),n.setAttribute("displayOld",t),n.style.display=t)}}.bind(this))},hide:function(){return this.each(function(n){n.style&&(n.getAttribute("displayOld")||""===n.style.display||n.setAttribute("displayOld",n.style.display),n.style.display="none")})},scrollTop:function(n){var t=this.get(),i=t===window,r=9===t.nodeType,u=r?document.scrollingElement||document.body.parentNode||document.body||document.documentElement:t;if(void 0===n)return r?void 0!==window.pageYOffset?window.pageYOffset:document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop?document.body.scrollTop:0:i?window.pageYOffset:u.scrollTop;i?window.scrollTo(0,n):u.scrollTop=n},offset:function(){return this._getDim("Offset")},position:function(){return this._getDim("Position")},width:function(n,t){return this._getSize("width","Width",n,t)},height:function(n,t){return this._getSize("height","Height",n,t)},outerWidth:function(){return this._getInnerOrOuter("width","outer")},outerHeight:function(){return this._getInnerOrOuter("height","outer")},innerWidth:function(){return this._getInnerOrOuter("width","inner")},innerHeight:function(){return this._getInnerOrOuter("height","inner")},click:function(){return this._triggerEvent("click")},focus:function(){return this._triggerEvent("focus")},trigger:function(n){return this.each(function(t){for(var u,f,r=n.split(" "),i=0;i<r.length;i++){f={bubbles:!0,cancelable:!0};try{u=new window.CustomEvent(r[i],f)}catch(n){u=document.createEvent("CustomEvent");u.initCustomEvent(r[i],!0,!0)}t.dispatchEvent(u)}})},on:function(n,t,i){return this.each(function(r){for(var e,u,o=n.split(" "),f=0;f<o.length;f++)e=this._getEventName(o[f]),u=this._getEventNamespace(o[f]),t=i?this._getOneHandler(t,n):t,r.addEventListener(e,t),r._e=r._e||{},r._e[u]=r._e[u]||{},r._e[u][e]=r._e[u][e]||[],r._e[u][e].push(t)})},one:function(n,t){return this.on(n,t,!0)},off:function(n,t){var i=function(n,t,i){return n===i},r=function(n,t,i,r){return t===r},u=function(n,t,i,r){return n===i&&t===r},f=function(){return!0};return void 0===n?this.each(function(n){this._offEvent(n,!1,!1,t,f)}):this.each(function(f){for(var s,e,h=n.split(" "),o=0;o<h.length;o++)s=this._getEventName(h[o]),e=this._getEventNamespace(h[o]),"_events"===e?this._offEvent(f,s,e,t,i):s||"_events"===e?this._offEvent(f,s,e,t,u):this._offEvent(f,s,e,t,r)})},serialize:function(n){for(var t,r,f,i={},e=this.get().elements,u=0;u<e.length;u++)if(t=e[u],(!/(checkbox|radio)/.test(t.type)||t.checked)&&t.name&&!t.disabled&&"file"!==t.type){if("select-multiple"===t.type)for(r=0;r<t.options.length;r++)f=t.options[r],f.selected&&(i[t.name]=f.value);i[t.name]=t.value}return n?i:this._toParams(i)},ajax:function(n,t){if(void 0!==i){var r=this.attr("method")||"post",u={url:this.attr("action"),data:this.serialize(),success:n,error:t};return new i(r,u)}},_queryContext:function(n,t){return t=this._getContext(t),3!==t.nodeType&&"function"==typeof t.querySelectorAll?t.querySelectorAll(n):[]},_query:function(n,t){if(t)return this._queryContext(n,t);if(/^[.#]?[\w-]*$/.test(n)){if("#"===n[0]){var i=document.getElementById(n.slice(1));return i?[i]:[]}return"."===n[0]?document.getElementsByClassName(n.slice(1)):document.getElementsByTagName(n)}return document.querySelectorAll(n)},_getContext:function(n){return n="string"==typeof n?document.querySelector(n):n,n&&n.dom?n.get():n||document},_inject:function(n,i){for(var r=this.nodes.length,u=[];r--;){var e="function"==typeof n?n.call(this,this.nodes[r]):n,o=0===r?e:this._clone(e),f=i.call(this,o,this.nodes[r]);f&&(f.dom?u.push(f.get()):u.push(f))}return new t(u)},_cloneEvents:function(n,t){var i=n._e,r,u;if(i)for(r in t._e=i,i._events)for(u=0;u<i._events[r].length;u++)t.addEventListener(r,i._events[r][u]);return t},_clone:function(n){if(void 0!==n)return"string"==typeof n?n:n instanceof Node?n.cloneNode(!0):"length"in n?[].map.call(this._toArray(n),function(n){return n.cloneNode(!0)}):n},_slice:function(n){return n&&0!==n.length?n.length?[].slice.call(n.nodes||n):[n]:[]},_eachClass:function(n,t){return this.each(function(i){if(n){var r=function(n){i.classList&&i.classList[t](n)};n.split(" ").forEach(r)}})},_triggerEvent:function(n){var t=this.get();return t&&3!==t.nodeType&&t[n](),this},_getOneHandler:function(n,t){var i=this;return function(){n.apply(this,arguments);i.off(t)}},_getEventNamespace:function(n){var t=n.split("."),i=t[1]?t[1]:"_events";return t[2]?i+t[2]:i},_getEventName:function(n){return n.split(".")[0]},_offEvent:function(n,t,i,r,u){var f,e,s,o;for(f in n._e)for(e in n._e[f])if(u(e,f,t,i))for(s=n._e[f][e],o=0;o<s.length;o++)void 0!==r&&s[o].toString()!==r.toString()||(n.removeEventListener(e,s[o]),n._e[f][e].splice(o,1),0===n._e[f][e].length&&delete n._e[f][e],0===Object.keys(n._e[f]).length&&delete n._e[f])},_getInnerOrOuter:function(n,t){return this[n](void 0,t)},_getDocSize:function(n,t){var r=n.body,i=n.documentElement;return Math.max(r["scroll"+t],r["offset"+t],i["client"+t],i["scroll"+t],i["offset"+t])},_getSize:function(n,i,r,u){if(void 0===r){var f=this.get();return r=3===f.nodeType?0:9===f.nodeType?this._getDocSize(f,i):f===window?window["inner"+i]:this._getHeightOrWidth(n,f,u||"normal"),Math.round(r)}return this.each(function(i){r=parseFloat(r);r+=this._adjustResultHeightOrWidth(n,i,u||"normal");new t(i).css(n,r+"px")}.bind(this))},_getHeightOrWidth:function(n,i,r){var s=n.charAt(0).toUpperCase()+n.slice(1),c=getComputedStyle(i,null),h=new t(i),e=0,u=h.parents().filter(function(n){return"none"===getComputedStyle(n,null).display&&n}),o,f;return("none"===c.display&&u.add(i),0!==u.length)?(o="visibility: hidden !important; display: block !important;",f=[],u.each(function(n){var r=new t(n),i=r.attr("style");null!==i&&f.push(i);r.attr("style",null!==i?i+";"+o:o)}),e=h.get()["offset"+s]-this._adjustResultHeightOrWidth(n,i,r),u.each(function(n,i){var r=new t(n);void 0===f[i]?r.removeAttr("style"):r.attr("style",f[i])})):e=i["offset"+s]-this._adjustResultHeightOrWidth(n,i,r),e},_adjustResultHeightOrWidth:function(n,t,i){if(!t||!1===i)return 0;var u=0,r=getComputedStyle(t,null),f="border-box"===r.boxSizing;return"height"===n?(("inner"===i||"normal"===i&&f)&&(u+=(parseFloat(r.borderTopWidth)||0)+(parseFloat(r.borderBottomWidth)||0)),"outer"===i&&(u-=(parseFloat(r.marginTop)||0)+(parseFloat(r.marginBottom)||0))):(("inner"===i||"normal"===i&&f)&&(u+=(parseFloat(r.borderLeftWidth)||0)+(parseFloat(r.borderRightWidth)||0)),"outer"===i&&(u-=(parseFloat(r.marginLeft)||0)+(parseFloat(r.marginRight)||0))),u},_getDim:function(n){var t=this.get();return 3===t.nodeType?{top:0,left:0}:this["_get"+n](t)},_getPosition:function(n){return{top:n.offsetTop,left:n.offsetLeft}},_getOffset:function(n){var t=n.getBoundingClientRect(),i=n.ownerDocument,r=i.documentElement,u=i.defaultView;return{top:t.top+u.pageYOffset-r.clientTop,left:t.left+u.pageXOffset-r.clientLeft}},_toArray:function(n){if(n instanceof NodeList){for(var i=[],t=0;t<n.length;t++)i[t]=n[t];return i}return void 0===n?[]:n.dom?n.nodes:n},_toParams:function(n){var i="",t;for(t in n)i+="&"+this._encodeUri(t)+"="+this._encodeUri(n[t]);return i.replace(/^&/,"")},_encodeUri:function(n){return encodeURIComponent(n).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A").replace(/%20/g,"+")},_isNumber:function(n){return!isNaN(n)&&!isNaN(parseFloat(n))},_getBooleanFromStr:function(n){return"true"===n||"false"!==n&&n},_getRealDisplay:function(n){if(n.currentStyle)return n.currentStyle.display;if(window.getComputedStyle){var t=window.getComputedStyle(n,null);return t.getPropertyValue("display")}}};f=0;n=function(n,t){return e(n,t,[].slice.call(arguments,2))};n.version="3.0.8";n.options={};n.modules={};n.services={};n.classes={};n.plugins={};n.mixins={};n.modals={};n.lang={};n.dom=function(n,i){return new t(n,i)};n.ajax=s;n.Dom=t;n.keycodes={BACKSPACE:8,DELETE:46,UP:38,DOWN:40,ENTER:13,SPACE:32,ESC:27,TAB:9,CTRL:17,META:91,SHIFT:16,ALT:18,RIGHT:39,LEFT:37};n.env={plugin:"plugins",module:"modules",service:"services","class":"classes",mixin:"mixins"};"undefined"!=typeof jQuery&&(c=jQuery,c.fn.redactor=function(n){return e(this.toArray(),n,[].slice.call(arguments,1))});e=function(t,i,r){for(var a,s,h,v,u,c="redactor",y=Array.isArray(t)?t:t&&t.nodeType?[t]:document.querySelectorAll(t),p="string"==typeof i||"function"==typeof i,e=[],l=0;l<y.length;l++)a=y[l],s=n.dom(a),(u=s.dataget(c),u||p||(s.dataset(c,u=new o(a,i,f)),f++),u&&p)&&(v="destroy"===i,i=v?"stop":i,"function"==typeof i?h=i.apply(u,r):(r.unshift(i),h=u.api.apply(u,r)),void 0!==h&&e.push(h),v&&s.dataset(c,!1));return 0===e.length||1===e.length?0===e.length?u:e[0]:e};n.add=function(t,i,r){var u,f;if(void 0!==n.env[t])if(r.translations&&(n.lang=n.extend(!0,{},n.lang,r.translations)),r.modals&&(n.modals=n.extend(!0,{},n.modals,r.modals)),"mixin"===t)n[n.env[t]][i]=r;else{if(u=function(){},u.prototype=r,r.mixins)for(f=0;f<r.mixins.length;f++)n.inherit(u,n.mixins[r.mixins[f]]);n[n.env[t]][i]=u}};n.addLang=function(t,i){void 0===n.lang[t]&&(n.lang[t]={});n.lang[t]=n.extend(n.lang[t],i)};n.create=function(t){var r=t.split("."),e=[].slice.call(arguments,1),u="classes",i,f;return(void 0!==n.env[r[0]]&&(u=n.env[r[0]],t=r.slice(1).join(".")),i=new n[u][t],i.init)?(f=i.init.apply(i,e),f||i):i};n.inherit=function(n,t){var u=function(){},r,i;u.prototype=t;r=new u;for(i in n.prototype)n.prototype.__lookupGetter__(i)?r.__defineGetter__(i,n.prototype.__lookupGetter__(i)):r[i]=n.prototype[i];return n.prototype=r,n.prototype.super=t,n};n.error=function(n){throw n;};n.extend=function(){var t={},r=!1,i=0,e=arguments.length,u,f;for("[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(r=arguments[0],i++),u=function(i){for(var u in i)Object.prototype.hasOwnProperty.call(i,u)&&(t[u]=r&&"[object Object]"===Object.prototype.toString.call(i[u])?n.extend(!0,t[u],i[u]):i[u])};i<e;i++)f=arguments[i],u(f);return t};n.opts={animation:!0,lang:"en",direction:"ltr",spellcheck:!0,structure:!1,scrollTarget:!1,styles:!0,stylesClass:"redactor-styles",placeholder:!1,source:!0,showSource:!1,inline:!1,breakline:!1,markup:"p",enterKey:!0,clickToEdit:!1,clickToSave:!1,clickToCancel:!1,focus:!1,focusEnd:!1,minHeight:!1,maxHeight:!1,maxWidth:!1,plugins:[],callbacks:{},preClass:!1,preSpaces:4,tabindex:!1,tabAsSpaces:!1,tabKey:!0,autosave:!1,autosaveName:!1,autosaveData:!1,toolbar:!0,toolbarFixed:!0,toolbarFixedTarget:document,toolbarFixedTopOffset:0,toolbarExternal:!1,toolbarContext:!0,air:!1,formatting:["p","blockquote","pre","h1","h2","h3","h4","h5","h6"],formattingAdd:!1,formattingHide:!1,buttons:["html","format","bold","italic","deleted","lists","image","file","link"],buttonsTextLabeled:!1,buttonsAdd:[],buttonsAddFirst:[],buttonsAddAfter:!1,buttonsAddBefore:!1,buttonsHide:[],buttonsHideOnMobile:[],imageUpload:!1,imageUploadParam:"file",imageData:!1,imageEditable:!0,imageCaption:!0,imagePosition:!1,imageResizable:!1,imageFloatMargin:"10px",imageFigure:!0,fileUpload:!1,fileUploadParam:"file",fileData:!1,fileAttachment:!1,uploadData:!1,dragUpload:!0,multipleUpload:!0,clipboardUpload:!0,uploadBase64:!1,linkTarget:!1,linkTitle:!1,linkNewTab:!1,linkNofollow:!1,linkSize:30,linkValidation:!0,cleanOnEnter:!0,cleanInlineOnEnter:!1,paragraphize:!0,removeScript:!0,removeNewLines:!1,removeComments:!0,replaceTags:{b:"strong",i:"em",strike:"del"},pastePlainText:!1,pasteLinkTarget:!1,pasteImages:!0,pasteLinks:!0,pasteClean:!0,pasteKeepStyle:[],pasteKeepClass:[],pasteKeepAttrs:["td","th"],pasteBlockTags:["pre","h1","h2","h3","h4","h5","h6","table","tbody","thead","tfoot","th","tr","td","ul","ol","li","blockquote","p","figure","figcaption"],pasteInlineTags:["a","img","br","strong","ins","code","del","span","samp","kbd","sup","sub","mark","var","cite","small","b","u","em","i","abbr"],activeButtons:{b:"bold",strong:"bold",i:"italic",em:"italic",del:"deleted",strike:"deleted",u:"underline"},activeButtonsAdd:{},activeButtonsObservers:{},autoparse:!0,autoparseStart:!0,autoparsePaste:!0,autoparseLinks:!0,autoparseImages:!0,autoparseVideo:!0,shortcodes:{"p.":{format:"p"},"quote.":{format:"blockquote"},"pre.":{format:"pre"},"h1.":{format:"h1"},"h2.":{format:"h2"},"h3.":{format:"h3"},"h4.":{format:"h4"},"h5.":{format:"h5"},"h6.":{format:"h6"},"1.":{format:"ol"},"*.":{format:"ul"}},shortcodesAdd:!1,shortcuts:{"ctrl+shift+m, meta+shift+m":{api:"module.inline.clearformat"},"ctrl+b, meta+b":{api:"module.inline.format",args:"b"},"ctrl+i, meta+i":{api:"module.inline.format",args:"i"},"ctrl+u, meta+u":{api:"module.inline.format",args:"u"},"ctrl+h, meta+h":{api:"module.inline.format",args:"sup"},"ctrl+l, meta+l":{api:"module.inline.format",args:"sub"},"ctrl+k, meta+k":{api:"module.link.open"},"ctrl+alt+0, meta+alt+0":{api:"module.block.format",args:"p"},"ctrl+alt+1, meta+alt+1":{api:"module.block.format",args:"h1"},"ctrl+alt+2, meta+alt+2":{api:"module.block.format",args:"h2"},"ctrl+alt+3, meta+alt+3":{api:"module.block.format",args:"h3"},"ctrl+alt+4, meta+alt+4":{api:"module.block.format",args:"h4"},"ctrl+alt+5, meta+alt+5":{api:"module.block.format",args:"h5"},"ctrl+alt+6, meta+alt+6":{api:"module.block.format",args:"h6"},"ctrl+shift+7, meta+shift+7":{api:"module.list.toggle",args:"ol"},"ctrl+shift+8, meta+shift+8":{api:"module.list.toggle",args:"ul"}},shortcutsAdd:!1,grammarly:!0,bufferLimit:100,emptyHtml:"<p><\/p>",markerChar:"﻿",imageTypes:["image/png","image/jpeg","image/gif"],inlineTags:["a","span","strong","strike","b","u","em","i","code","del","ins","samp","kbd","sup","sub","mark","var","cite","small","abbr"],blockTags:["pre","ul","ol","li","p","h1","h2","h3","h4","h5","h6","dl","dt","dd","div","table","tbody","thead","tfoot","tr","th","td","blockquote","output","figcaption","figure","address","section","header","footer","aside","article","iframe"],regex:{youtube:/https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com\S*[^\w\-\s])([\w\-]{11})(?=[^\w\-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|<\/a>))[?=&+%\w.-]*/gi,vimeo:/https?:\/\/(www\.)?vimeo.com\/(\d+)($|\/)/gi,imageurl:/((https?|www)[^\s]+\.)(jpe?g|png|gif)(\?[^\s-]+)?/gi,url:/(https?:\/\/(?:www\.|(?!www))[^\s\.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/gi},input:!0,zindex:!1,modes:{inline:{pastePlainText:!0,pasteImages:!1,enterKey:!1,toolbar:!1,autoparse:!1,source:!1,showSource:!1,styles:!1,air:!1},original:{styles:!1}}};n.lang.en={format:"Format",image:"Image",file:"File",link:"Link",bold:"Bold",italic:"Italic",deleted:"Strikethrough",underline:"Underline",superscript:"Superscript",subscript:"Subscript","bold-abbr":"B","italic-abbr":"I","deleted-abbr":"S","underline-abbr":"U","superscript-abbr":"Sup","subscript-abbr":"Sub",lists:"Lists","link-insert":"Insert Link","link-edit":"Edit Link","link-in-new-tab":"Open link in new tab",unlink:"Unlink",cancel:"Cancel",close:"Close",insert:"Insert",save:"Save","delete":"Delete",text:"Text",edit:"Edit",title:"Title",paragraph:"Normal text",quote:"Quote",code:"Code",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",filename:"Name",optional:"optional",unorderedlist:"Unordered List",orderedlist:"Ordered List",outdent:"Outdent",indent:"Indent",horizontalrule:"Line",upload:"Upload","upload-label":"Drop files here or click to upload","accessibility-help-label":"Rich text editor",caption:"Caption",bulletslist:"Bullets",numberslist:"Numbers","image-position":"Position",none:"None",left:"Left",right:"Right",center:"Center",undo:"Undo",redo:"Redo"};n.buttons={html:{title:"HTML",icon:!0,api:"module.source.toggle"},undo:{title:"## undo ##",icon:!0,api:"module.buffer.undo"},redo:{title:"## redo ##",icon:!0,api:"module.buffer.redo"},format:{title:"## format ##",icon:!0,dropdown:{p:{title:"## paragraph ##",api:"module.block.format",args:{tag:"p"}},blockquote:{title:"## quote ##",api:"module.block.format",args:{tag:"blockquote"}},pre:{title:"## code ##",api:"module.block.format",args:{tag:"pre"}},h1:{title:"## heading1 ##",api:"module.block.format",args:{tag:"h1"}},h2:{title:"## heading2 ##",api:"module.block.format",args:{tag:"h2"}},h3:{title:"## heading3 ##",api:"module.block.format",args:{tag:"h3"}},h4:{title:"## heading4 ##",api:"module.block.format",args:{tag:"h4"}},h5:{title:"## heading5 ##",api:"module.block.format",args:{tag:"h5"}},h6:{title:"## heading6 ##",api:"module.block.format",args:{tag:"h6"}}}},bold:{title:"## bold-abbr ##",icon:!0,tooltip:"## bold ##",api:"module.inline.format",args:{tag:"b"}},italic:{title:"## italic-abbr ##",icon:!0,tooltip:"## italic ##",api:"module.inline.format",args:{tag:"i"}},deleted:{title:"## deleted-abbr ##",icon:!0,tooltip:"## deleted ##",api:"module.inline.format",args:{tag:"del"}},underline:{title:"## underline-abbr ##",icon:!0,tooltip:"## underline ##",api:"module.inline.format",args:{tag:"u"}},sup:{title:"## superscript-abbr ##",icon:!0,tooltip:"## superscript ##",api:"module.inline.format",args:{tag:"sup"}},sub:{title:"## subscript-abbr ##",icon:!0,tooltip:"## subscript ##",api:"module.inline.format",args:{tag:"sub"}},lists:{title:"## lists ##",icon:!0,observe:"list",dropdown:{observe:"list",unorderedlist:{title:"&bull; ## unorderedlist ##",api:"module.list.toggle",args:"ul"},orderedlist:{title:"1. ## orderedlist ##",api:"module.list.toggle",args:"ol"},outdent:{title:"< ## outdent ##",api:"module.list.outdent"},indent:{title:"> ## indent ##",api:"module.list.indent"}}},ul:{title:"&bull; ## bulletslist ##",icon:!0,api:"module.list.toggle",observe:"list",args:"ul"},ol:{title:"1. ## numberslist ##",icon:!0,api:"module.list.toggle",observe:"list",args:"ol"},outdent:{title:"## outdent ##",icon:!0,api:"module.list.outdent",observe:"list"},indent:{title:"## indent ##",icon:!0,api:"module.list.indent",observe:"list"},image:{title:"## image ##",icon:!0,api:"module.image.open"},file:{title:"## file ##",icon:!0,api:"module.file.open"},link:{title:"## link ##",icon:!0,observe:"link",dropdown:{observe:"link",link:{title:"## link-insert ##",api:"module.link.open"},unlink:{title:"## unlink ##",api:"module.link.unlink"}}},line:{title:"## horizontalrule ##",icon:!0,api:"module.line.insert"}};o=function(t,i,r){this.module={};this.plugin={};this.instances={};this.started=!1;this.stopped=!1;this.uuid=r;this.rootElement=t;this.rootOpts=i;this.dragInside=!1;this.dragComponentInside=!1;this.keycodes=n.keycodes;this.namespace="redactor";this.$win=n.dom(window);this.$doc=n.dom(document);this.$body=n.dom("body");this.editorReadOnly=!1;this.opts=n.create("service.options",i,t);this.lang=n.create("service.lang",this);this.buildServices();this.buildModules();this.buildPlugins();this.start()};o.prototype={start:function(){this.stopped=!1;this.broadcast("start");this.broadcast("startcode");this.opts.clickToEdit?this.broadcast("startclicktoedit"):(this.broadcast("enable"),this.opts.showSource&&this.broadcast("startcodeshow"),this.broadcast("enablefocus"));this.broadcast("started");this.started=!0},stop:function(){this.started=!1;this.stopped=!0;this.broadcast("stop");this.broadcast("disable");this.broadcast("stopped")},isStarted:function(){return this.started},isStopped:function(){return this.stopped},buildServices:function(){var s=["options","lang"],f=["uuid","keycodes","opts","lang","$win","$doc","$body"],e=[],t,i,o,r,u;for(t in n.services)-1===s.indexOf(t)&&(this[t]=n.create("service."+t,this),e.push(t),f.push(t));for(i=0;i<e.length;i++)for(o=e[i],r=0;r<f.length;r++)u=f[r],o!==u&&(this[o][u]=this[u])},buildModules:function(){for(var t in n.modules)this.module[t]=n.create("module."+t,this),this.instances[t]=this.module[t]},buildPlugins:function(){for(var t,r=this.opts.plugins,i=0;i<r.length;i++)t=r[i],void 0!==n.plugins[t]&&(this.plugin[t]=n.create("plugin."+t,this),this.instances[t]=this.plugin[t])},isDragInside:function(){return this.dragInside},setDragInside:function(n){this.dragInside=n},isDragComponentInside:function(){return this.dragComponentInside},setDragComponentInside:function(n){this.dragComponentInside=n},getDragComponentInside:function(){return this.dragComponentInside},isReadOnly:function(){return this.editorReadOnly},enableReadOnly:function(){this.editorReadOnly=!0;this.broadcast("enablereadonly");this.component.clearActive();this.toolbar.disableButtons()},disableReadOnly:function(){this.editorReadOnly=!1;this.broadcast("disablereadonly");this.toolbar.enableButtons()},callMessageHandler:function(n,t,i){var r=t.split("."),u;1===r.length?"function"==typeof n["on"+t]&&n["on"+t].apply(n,i):(r[0]="on"+r[0],u=this.utils.checkProperty(n,r),"function"==typeof u&&u.apply(n,i))},broadcast:function(n){var t=[].slice.call(arguments,1),i;for(i in this.instances)this.callMessageHandler(this.instances[i],n,t);return this.callback.trigger(n,t)},on:function(n,t){this.callback.add(n,t)},off:function(n,t){this.callback.remove(n,t)},api:function(t){if((this.isStarted()||"start"===t)&&(!this.isReadOnly()||"disableReadOnly"===t)){this.broadcast("state");var r=[].slice.call(arguments,1),i=t.split("."),f=1===i.length,u="on"===i[0]||"off"===i[0],e=!u&&2===i.length,o="plugin"===i[0],s="module"===i[0];if(f){if("function"==typeof this[i[0]])return this.callInstanceMethod(this,i[0],r)}else{if(u)return"on"===i[0]?this.on(i[1],r[0]):this.off(i[1],r[0]||void 0);if(e){if(this.isInstanceExists(this,i[0]))return this.callInstanceMethod(this[i[0]],i[1],r);n.error(new Error('Service "'+i[0]+'" not found'))}else if(o){if(this.isInstanceExists(this.plugin,i[1]))return this.callInstanceMethod(this.plugin[i[1]],i[2],r);n.error(new Error('Plugin "'+i[1]+'" not found'))}else if(s){if(this.isInstanceExists(this.module,i[1]))return this.callInstanceMethod(this.module[i[1]],i[2],r);n.error(new Error('Module "'+i[1]+'" not found'))}}}},isInstanceExists:function(n,t){return void 0!==n[t]},callInstanceMethod:function(n,t,i){if("function"==typeof n[t])return n[t].apply(n,i)}};n.add("mixin","formatter",{buildArgs:function(n){this.args={"class":n.class||!1,style:n.style||!1,attr:n.attr||!1};this.args.class||this.args.style||this.args.attr||(this.args=!1)},applyArgs:function(n,t){return n=this.args?this[this.type](this.args,!1,n,t):this._clearAll(n,t),n},clearClass:function(t,i){this.selection.save();var r=i?n.dom(i):this.getElements(t,!0);return r.removeAttr("class"),i=this._unwrapSpanWithoutAttr(r.getAll()),this.selection.restore(),i},clearStyle:function(t,i){this.selection.save();var r=i?n.dom(i):this.getElements(t,!0);return r.removeAttr("style"),i=this._unwrapSpanWithoutAttr(r.getAll()),this.selection.restore(),i},clearAttr:function(t,i){this.selection.save();var r=i?n.dom(i):this.getElements(t,!0);return this._removeAllAttr(r),i=this._unwrapSpanWithoutAttr(r.getAll()),this.selection.restore(),i},set:function(t,i,r,u){!1!==u&&this.selection.save();var f=r?n.dom(r):this.getElements(i);return t.class&&(f.removeAttr("class"),f.addClass(t.class)),t.style&&(f.removeAttr("style"),f.css(t.style),f.each(function(t){var i=n.dom(t);i.attr("data-redactor-style-cache",i.attr("style"))})),t.attr&&(this._removeAllAttr(f),f.attr(t.attr)),!1!==u&&this.selection.restore(),f.getAll()},toggle:function(t,i,r,u){!1!==u&&this.selection.save();var f,e=r?n.dom(r):this.getElements(i);return t.class&&e.toggleClass(t.class),t.style&&(f=t.style,e.each(function(t){var u=n.dom(t),e,i,r,o,s;for(e in f)i=f[e],r=u.css(e),r=this.utils.isRgb(r)?this.utils.rgb2hex(r):r.replace(/"/g,""),i=this.utils.isRgb(i)?this.utils.rgb2hex(i):i.replace(/"/g,""),r=this.utils.hex2long(r),i=this.utils.hex2long(i),o="string"==typeof i?i.toLowerCase():i,s="string"==typeof r?r.toLowerCase():r,o===s?u.css(e,""):u.css(e,i);this._convertStyleQuotes(u);this.utils.removeEmptyAttr(t,"style")?u.removeAttr("data-redactor-style-cache"):u.attr("data-redactor-style-cache",u.attr("style"))}.bind(this))),t.attr&&(f=t.attr,e.each(function(t){var r=n.dom(t),i;for(i in f)r.attr(i)?r.removeAttr(i):r.attr(i,f[i])})),!1!==u&&this.selection.restore(),e.getAll()},add:function(t,i,r,u){var f,e;return!1!==u&&this.selection.save(),f=r?n.dom(r):this.getElements(i),(t.class&&f.addClass(t.class),t.style)&&(e=t.style,f.each(function(t){var i=n.dom(t);i.css(e);i.attr("data-redactor-style-cache",i.attr("style"));this._convertStyleQuotes(i)}.bind(this))),t.attr&&f.attr(t.attr),!1!==u&&this.selection.restore(),f.getAll()},remove:function(t,i,r,u){var f,e;return!1!==u&&this.selection.save(),f=r?n.dom(r):this.getElements(i),(t.class&&f.removeClass(t.class),t.style)&&(e=t.style,f.each(function(t){var i=n.dom(t);i.css(e,"");this.utils.removeEmptyAttr(t,"style")?i.removeAttr("data-redactor-style-cache"):i.attr("data-redactor-style-cache",i.attr("style"))}.bind(this))),t.attr&&f.removeAttr(t.attr),r=this._unwrapSpanWithoutAttr(f.getAll()),!1!==u&&this.selection.restore(),r},_removeAllAttr:function(n){n.each(function(n){for(var i,r,t=n.attributes.length;t-->0;)i=n.attributes[t],r=i.name,"style"!==r&&"class"!==r&&n.removeAttributeNode(i)})},_convertStyleQuotes:function(n){var t=n.attr("style");t&&n.attr("style",t.replace(/"/g,"'"))},_clearAll:function(n,t){var i,r;for(!1!==t&&this.selection.save(),i=0;i<n.length;i++)for(r=n[i];r.attributes.length>0;)r.removeAttribute(r.attributes[0].name);return n=this._unwrapSpanWithoutAttr(n),!1!==t&&this.selection.restore(),n},_unwrapSpanWithoutAttr:function(t){for(var i,f,u=[],r=0;r<t.length;r++)i=t[r],f=i.attributes.length,f<=0&&3!==i.nodeType&&"SPAN"===i.tagName?n.dom(i).unwrap():u.push(i);return u}});n.add("mixin","dom",n.Dom.prototype);n.add("mixin","component",{get cmnt(){return!0}});n.add("service","options",{init:function(t,i){var u=n.dom(i),r=n.extend({},n.opts,i?u.data():{},n.options);return r=n.extend(!0,r,t),r}});n.add("service","lang",{init:function(n){this.app=n;this.opts=n.opts;this.vars=this._build(this.opts.lang)},rebuild:function(n){this.opts.lang=n;this.vars=this._build(n)},extend:function(t){this.vars=n.extend(this.vars,t)},parse:function(n){var t,i,r;if(void 0===n)return"";if(t=n.match(/## (.*?) ##/g),t)for(i=0;i<t.length;i++)r=t[i].replace(/^##\s/g,"").replace(/\s##$/g,""),n=n.replace(t[i],this.get(r));return n},get:function(t){var i="";return void 0!==this.vars[t]?i=this.vars[t]:"en"!==this.opts.lang&&void 0!==n.lang.en[t]&&(i=n.lang.en[t]),i},_build:function(t){var i=n.lang.en;return"en"!==t&&(i=void 0!==n.lang[t]?n.lang[t]:i),i}});n.add("service","callback",{init:function(n){this.app=n;this.opts=n.opts;this.callbacks={};this.opts.callbacks&&this._set(this.opts.callbacks,"")},stop:function(){this.callbacks={}},add:function(n,t){this.callbacks[n]||(this.callbacks[n]=[]);this.callbacks[n].push(t)},remove:function(n,t){if(void 0===t)delete this.callbacks[n];else{for(var i=0;i<this.callbacks[n].length;i++)this.callbacks[n].splice(i,1);0===Object.keys(this.callbacks[n]).length&&delete this.callbacks[n]}},trigger:function(n,t){var i=this._loop(n,t,this.callbacks);return void 0===i?t[0]:i},_set:function(n,t){var i,r;for(i in n)r=""===t?i:t+"."+i,"object"==typeof n[i]?this._set(n[i],r):(this.callbacks[r]=[],this.callbacks[r].push(n[i]))},_loop:function(n,t,i){var f,r,u;for(r in i)if(n===r)for(u=0;u<i[r].length;u++)f=i[r][u].apply(this.app,t);return f}});n.add("service","animate",{init:function(n){this.animationOpt=n.opts.animation},start:function(t,i,r,u){var f={duration:!1,iterate:!1,delay:!1,timing:!1,prefix:"redactor-"};return f="function"==typeof r?f:n.extend(f,r),u="function"==typeof r?r:u,new n.AnimatePlay(t,i,f,u,this.animationOpt)},stop:function(t){var r,i;this.$el=n.dom(t);this.$el.removeClass("redactor-animated");r=this.$el.attr("redactor-animate-effect");this.$el.removeClass(r);this.$el.removeAttr("redactor-animate-effect");i=this.$el.attr("redactor-animate-hide");i&&this.$el.addClass(i).removeAttr("redactor-animate-hide");this.$el.off("animationend webkitAnimationEnd")}});n.AnimatePlay=function(t,i,r,u,f){return this.hidableEffects=["fadeOut","flipOut","slideUp","zoomOut","slideOutUp","slideOutRight","slideOutLeft"],this.prefixes=["","-webkit-"],this.$el=n.dom(t),this.$body=n.dom("body"),this.callback=u,this.animation=f?i:this.buildAnimationOff(i),this.defaults=r,"slideUp"===this.animation&&this.$el.height(this.$el.height()),this.isInanimate()?this.inanimate():this.animate()};n.AnimatePlay.prototype={buildAnimationOff:function(n){return this.isHidable(n)?"hide":"show"},buildHideClass:function(){return"redactor-animate-hide"},isInanimate:function(){return"show"===this.animation||"hide"===this.animation},isAnimated:function(){return this.$el.hasClass("redactor-animated")},isHidable:function(n){return-1!==this.hidableEffects.indexOf(n)},inanimate:function(){var n;return this.defaults.timing="linear","show"===this.animation?(n=this.buildHideClass(),this.$el.attr("redactor-animate-hide",n),this.$el.removeClass(n)):(n=this.$el.attr("redactor-animate-hide"),this.$el.addClass(n).removeAttr("redactor-animate-hide")),"function"==typeof this.callback&&this.callback(this),this},animate:function(){var n=this.defaults.delay?this.defaults.delay:0;return setTimeout(function(){if(this.$body.addClass("no-scroll-x"),this.$el.addClass("redactor-animated"),!this.$el.attr("redactor-animate-hide")){var n=this.buildHideClass();this.$el.attr("redactor-animate-hide",n);this.$el.removeClass(n)}this.$el.addClass(this.defaults.prefix+this.animation);this.$el.attr("redactor-animate-effect",this.defaults.prefix+this.animation);this.set(this.defaults.duration+"s",this.defaults.iterate,this.defaults.timing);this.complete()}.bind(this),1e3*n),this},set:function(n,t,i){for(var r=this.prefixes.length;r--;)!1===n&&""!==n||this.$el.css(this.prefixes[r]+"animation-duration",n),!1===t&&""!==t||this.$el.css(this.prefixes[r]+"animation-iteration-count",t),!1===i&&""!==i||this.$el.css(this.prefixes[r]+"animation-timing-function",i)},clean:function(){this.$body.removeClass("no-scroll-x");this.$el.removeClass("redactor-animated");this.$el.removeClass(this.defaults.prefix+this.animation);this.$el.removeAttr("redactor-animate-effect");this.set("","","")},complete:function(){this.$el.one("animationend webkitAnimationEnd",function(){if(this.$el.hasClass(this.defaults.prefix+this.animation)&&this.clean(),this.isHidable(this.animation)){var n=this.$el.attr("redactor-animate-hide");this.$el.addClass(n).removeAttr("redactor-animate-hide")}"slideUp"===this.animation&&this.$el.height("");"function"==typeof this.callback&&this.callback(this.$el)}.bind(this))}};n.add("service","caret",{init:function(n){this.app=n},setStart:function(n){this._setCaret("Start",n)},setEnd:function(n){this._setCaret("End",n)},setBefore:function(n){this._setCaret("Before",n)},setAfter:function(n){this._setCaret("After",n)},isStart:function(n){return this._isStartOrEnd(n,"First")},isEnd:function(n){return this._isStartOrEnd(n,"Last")},setAtEnd:function(n){var r=this.inspector.parse(n),u=r.getTag(),t=document.createRange(),i;this._isInPage(n)&&("a"===u?(i=this.utils.createInvisibleChar(),n.appendChild(i),t.setStartBefore(i),t.collapse(!0)):(t.selectNodeContents(n),t.collapse(!1)),this.selection.setRange(t))},setAtStart:function(n){var t=document.createRange(),r=this.inspector.parse(n),i;this._isInPage(n)&&((t.setStart(n,0),t.collapse(!0),r.isInline())&&(i=this.utils.createInvisibleChar(),t.insertNode(i),t.selectNodeContents(i),t.collapse(!1)),this.selection.setRange(t))},setAtBefore:function(n){var r=this.inspector.parse(n),t=document.createRange(),i;this._isInPage(n)&&((t.setStartBefore(n),t.collapse(!0),r.isInline())&&(i=this.utils.createInvisibleChar(),n.parentNode.insertBefore(i,n),t.selectNodeContents(i),t.collapse(!1)),this.selection.setRange(t))},setAtAfter:function(n){var t=document.createRange(),i;this._isInPage(n)&&(t.setStartAfter(n),t.collapse(!0),i=this.utils.createInvisibleChar(),t.insertNode(i),t.selectNodeContents(i),t.collapse(!1),this.selection.setRange(t))},setAtPrev:function(n){var t=n.previousSibling;t&&(t=3===t.nodeType&&this._isEmptyTextNode(t)?t.previousElementSibling:t,t&&this.setEnd(t))},setAtNext:function(n){var t=n.nextSibling;t&&(t=3===t.nodeType&&this._isEmptyTextNode(t)?t.nextElementSibling:t,t&&this.setStart(t))},_setCaret:function(n,t){var i=this.inspector.parse(t),r=i.getNode();r&&(this.component.clearActive(),this["_set"+n](r,i,i.getTag()))},_setStart:function(n,t,i){var r,u,f,e,o,s;if(t.isText())return this.editor.focus(),this.setAtStart(n);if("ul"===i||"ol"===i){if(n=t.findFirstNode("li"),r=this.utils.getFirstElement(n),u=this.inspector.parse(r),r&&u.isComponent())return this.setStart(u.getComponent())}else if("dl"===i)n=t.findFirstNode("dt");else{if("br"===i||"hr"===i)return this.setBefore(n);if("td"===i||"th"===i){if(f=t.getFirstElement(n),f)return this.setStart(f)}else{if("table"===i||"tr"===i)return this.setStart(t.findFirstNode("th, td"));if(t.isComponentType("code")&&!t.isFigcaption())return e=t.findLastNode("pre, code"),this.editor.focus(),this.setAtStart(e);if("figure"===i&&t.isComponentType("table"))return o=t.getTable(),s=this.inspector.parse(o),this.setStart(s.findFirstNode("th, td"));if(!t.isComponentType("table")&&t.isComponent()&&!t.isFigcaption())return this.component.setActive(n)}}this.editor.focus();this._setInline(n,"Start")||this.setAtStart(n)},_setEnd:function(n,t,i){var r,u,f,e,o,s;if(t.isText())return this.editor.focus(),this.setAtEnd(n);if("ul"===i||"ol"===i){if(n=t.findLastNode("li"),r=this.utils.getLastElement(n),u=this.inspector.parse(r),r&&u.isComponent())return this.setEnd(u.getComponent())}else if("dl"===i)n=t.findLastNode("dd");else{if("br"===i||"hr"===i)return this.setAfter(n);if("td"===i||"th"===i){if(f=t.getLastElement(),f)return this.setEnd(f)}else{if("table"===i||"tr"===i)return this.setEnd(t.findLastNode("th, td"));if(t.isComponentType("code")&&!t.isFigcaption())return e=t.findLastNode("pre, code"),this.editor.focus(),this.setAtEnd(e);if("figure"===i&&t.isComponentType("table"))return o=t.getTable(),s=this.inspector.parse(o),this.setEnd(s.findLastNode("th, td"));if(!t.isComponentType("table")&&t.isComponent()&&!t.isFigcaption())return this.component.setActive(n)}}if(this.editor.focus(),!this._setInline(n,"End")){if(this.utils.isEmpty(n))return this.setStart(n);this.setAtEnd(n)}},_setBefore:function(n,t,i){return 3===n.nodeType?this.setAtBefore(n):t.isInline()?this.setAtBefore(n):t.isFirstTableCell()?this.setAtPrev(t.getComponent()):"td"===i||"th"===i?this.setAtPrev(n):t.isFirstListItem()?this.setAtPrev(t.getList()):t.isFigcaption()?this.setStart(t.getComponent()):!t.isComponentType("table")&&t.isComponent()?this.setAtPrev(t.getComponent()):t.isBlock()?this.setAtPrev(n):(this.editor.focus(),void this.setAtBefore(n))},_setAfter:function(n,t,i){return 3===n.nodeType?this.setAtAfter(n):t.isInline()?this.setAtAfter(n):t.isLastTableCell()?this.setAtNext(t.getComponent()):"td"===i||"th"===i?this.setAtNext(n):t.isFirstListItem()?this.setAtNext(t.getList()):!t.isComponentType("table")&&t.isComponent()?this.setAtNext(t.getComponent()):t.isBlock()?this.setAtNext(n):(this.editor.focus(),void this.setAtAfter(n))},_setInline:function(n,t){var i=this._hasInlineChild(n,"Start"===t?"first":"last");if(i)return"Start"===t?this.setStart(i):this.setEnd(i),!0},_isStartOrEnd:function(n,t){var i=this.utils.getNode(n),r,u,f;return i?(r=this.inspector.parse(i),(i=this._getStartEndNode(i,r,t),i)&&(u=3===i.nodeType?i.textContent:i.innerHTML,u=this.utils.trimSpaces(u),""===u))?!0:!r.isFigcaption()&&r.isComponent()&&!r.isComponentEditable()?!0:(f=this.offset.get(i,!0),!!f&&("First"===t?0===f.start:f.end===this.offset.size(i,!0))):!1},_isInPage:function(n){return!(!n||!n.nodeType)&&n!==document.body&&document.body.contains(n)},_hasInlineChild:function(t,i){var u=this.inspector.parse(t),r="first"===i?u.getFirstNode():u.getLastNode(),f=n.dom(r);if(r&&3!==r.nodeType&&this.inspector.isInlineTag(r.tagName)&&!f.hasClass("redactor-component")&&!f.hasClass("non-editable"))return r},_isEmptyTextNode:function(n){var t=n.textContent.trim().replace(/\n/,"");return t=this.utils.removeInvisibleChars(t),""===t},_getStartEndNode:function(n,t,i){return t.isFigcaption()?n=t.getFigcaption():t.isTable()?n=t["find"+i+"Node"]("th, td"):t.isList()?n=t["find"+i+"Node"]("li"):t.isComponentType("code")&&(n=t.findLastNode("pre, code")),n}});n.add("service","selection",{init:function(n){this.app=n},is:function(){var t=this.get(),i,n;return t?(i=t.anchorNode,n=this.inspector.parse(i),n.isInEditor()||n.isEditor()):!1},isCollapsed:function(){var n=this.get(),t=this.getRange();return!(!n||!n.isCollapsed)||!(!t||0!==t.toString().length)},isBackwards:function(){var i=!1,n=this.get(),t;return n&&!n.isCollapsed&&(t=document.createRange(),t.setStart(n.anchorNode,n.anchorOffset),t.setEnd(n.focusNode,n.focusOffset),i=t.collapsed,t.detach()),i},isIn:function(t){var i=n.dom(t).get(),r=this.getCurrent();return!(!r||!i)&&i.contains(r)},isText:function(){var t=this.get();if(t){var i=t.anchorNode,n=this.getBlock(i),r=this.getBlocks();if(n&&this.inspector.isTableCellTag(n.tagName)||!1===n&&0===r.length)return!0}return!1},isAll:function(n){var t=this.utils.getNode(n),i,f,o,r,s,h,u,e;return t?(i=this.editor.isEditor(t),f=this.inspector.parse(t),!f.isFigcaption()&&this.component.isNonEditable(t)&&this.component.isActive(t))?!0:i&&(o=this.editor.getElement(),r=this.cleaner.output(o.html()),r=r.replace(/<p><\/p>$/i,""),s=this.getHtml().length,h=r.length,s!==h)?!1:i&&this.editor.isEmpty()||this.isCollapsed()?!1:(u=this.offset.get(t,!0),e=this.offset.size(t,!0),!i&&f.isComponentType("code")&&(e=this.getText().trim().length),!(!u||0!==u.start||u.end!==e)):!1},hasNonEditable:function(){var t=this.getHtml(),i=n.dom("<div>").html(t);return!this.isCollapsed()&&0!==i.find(".non-editable").length},setRange:function(n){var t=window.getSelection();t.removeAllRanges();t.addRange(n)},setAll:function(t){var i=this.utils.getNode(t),r,f,e,u;i&&(r=this.inspector.parse(i),(this.component.clearActive(),this.editor.focus(),this.editor.saveScroll(),this.editor.disableNonEditables(),i&&"TABLE"===i.tagName)?(f=r.findFirstNode("td, th"),e=r.findLastNode("td, th"),n.dom(f).prepend(this.marker.build("start")),n.dom(e).append(this.marker.build("end")),this.restoreMarkers()):!r.isFigcaption()&&this.component.isNonEditable(i)?this.component.setActive(i):(r.isComponentType("code")&&(i=r.getComponentCodeElement(),i.focus()),u=document.createRange(),u.selectNodeContents(i),this.setRange(u)),this.editor.enableNonEditables(),this.editor.restoreScroll())},get:function(){var n=window.getSelection();return n.rangeCount>0?n:null},getRange:function(){var n=this.get();return n&&n.getRangeAt(0)?n.getRangeAt(0):null},getTextBeforeCaret:function(n){n=void 0===n?1:n;var r=this.editor.getElement().get(),t=this.getRange(),i=!1;return t&&(t=t.cloneRange(),t.collapse(!0),t.setStart(r,0),i=t.toString().slice(-n)),i},getTextAfterCaret:function(n){var i;n=void 0===n?1:n;var u=this.editor.getElement().get(),t=this.getRange(),r=!1;return t&&(i=t.cloneRange(),i.selectNodeContents(u),i.setStart(t.endContainer,t.endOffset),r=i.toString().slice(0,n)),r},getPosition:function(){var n=this.getRange(),r={top:0,left:0,width:0,height:0},i,t;return window.getSelection&&n.getBoundingClientRect&&(n=n.cloneRange(),i=n.startOffset-1,n.setStart(n.startContainer,i<0?0:i),t=n.getBoundingClientRect(),r={top:t.top,left:t.left,width:t.right-t.left,height:t.bottom-t.top}),r},getCurrent:function(){var n=!1,t=this.get(),i=this.component.getActive(),r;return i?n=i:t&&this.is()&&(r=this.inspector.parse(t.anchorNode),n=!r.isEditor()&&t.anchorNode),n},getParent:function(){var t=!1,i=this.getCurrent(),n,r;return i&&(n=i.parentNode,r=this.inspector.parse(n),t=!r.isEditor()&&n),t},getElement:function(n){for(var i,t=n||this.getCurrent();t;){if(i=this.inspector.parse(t),i.isElement()&&i.isInEditor())return t;t=t.parentNode}return!1},getInline:function(n){for(var t=n||this.getCurrent(),i=!1;t;)this._isInlineNode(t)&&(i=t),t=t.parentNode;return i},getInlineFirst:function(n){for(var t=n||this.getCurrent();t;){if(this._isInlineNode(t))return t;t=t.parentNode}return!1},getInlineAll:function(n){for(var t=n||this.getCurrent(),i=[];t;)this._isInlineNode(t)&&i.push(t),t=t.parentNode;return i},getBlock:function(n){for(var i,r,t=n||this.getCurrent();t;){if(i=this.inspector.parse(t),r=this.inspector.isBlockTag(t.tagName),r&&i.isInEditor(t))return t;t=t.parentNode}return!1},getInlinesAllSelected:function(n){var r;if(this.isAll())return[];var t=this.getInlines({all:!0}),f=this.getNodes({textnodes:!0,inline:!1}),u=this.getText().replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),i=[];if(0!==f.length)return i;if(""===u)i=t;else if(t.length>1)for(r=0;r<t.length;r++)this._isTextSelected(t[r],u)&&i.push(t[r]);else 1===t.length&&this._isTextSelected(t[0],u)&&(i=t);return i=n&&n.tags?this._filterNodesByTags(i,n.tags):i,i},getInlines:function(n){for(var i,u=this.getNodes(),t=[],r=0;r<u.length;r++)if(n&&n.all)for(i=u[r];i;)this._isInlineNode(i)&&!this._isInNodesArray(t,i)&&t.push(i),i=i.parentNode;else i=this.getInline(u[r]),i&&!this._isInNodesArray(t,i)&&t.push(i);return t=n&&n.tags?this._filterNodesByTags(t,n.tags):t,t=n&&n.inside?this._filterInlinesInside(t,n):t,t},getBlocks:function(n){var i=this.getNodes(),f=this.getBlock(),t,r,u;for(i=0===i.length&&f?[f]:i,t=[],r=0;r<i.length;r++)u=this.getBlock(i[r]),u&&!this._isInNodesArray(t,u)&&t.push(u);return t=n&&n.tags?this._filterNodesByTags(t,n.tags):t,t=n&&n.first?this._filterBlocksFirst(t,n):t,t},getElements:function(n){var i=this.getNodes({textnodes:!1}),u=this.getBlock(),t,r;for(i=0===i.length&&u?[u]:i,t=[],r=0;r<i.length;r++)this._isInNodesArray(t,i[r])||t.push(i[r]);return t=n&&n.tags?this._filterNodesByTags(t,n.tags):t,t},getNodes:function(n){var t=[],i=this.component.getActive(),r;return i?t=this._getNodesComponent(i):this.isCollapsed()?(r=this.getCurrent(),t=r?[r]:[]):this.is()&&!i&&(t=this._getRangeSelectedNodes()),t=this._filterServicesNodes(t),t=this._filterEditor(t),t=n&&n.tags?this._filterNodesByTags(t,n.tags):t,t=n&&n.textnodes?this._filterNodesTexts(t,n):t,t=n&&!n.textnodes?this._filterNodesElements(t):t,t},getText:function(){var n=this.get();return n?this.utils.removeInvisibleChars(n.toString()):""},getHtml:function(n){var t="",i=this.get();if(i){for(var u=document.createElement("div"),f=i.rangeCount,r=0;r<f;++r)u.appendChild(i.getRangeAt(r).cloneContents());t=u.innerHTML;t=!1!==n?this.cleaner.output(t):t;t=t.replace(/<p><\/p>$/i,"")}return t},clear:function(){this.component.clearActive();this.get().removeAllRanges()},collapseToStart:function(){var n=this.get();n&&!n.isCollapsed&&n.collapseToStart()},collapseToEnd:function(){var n=this.get();n&&!n.isCollapsed&&n.collapseToEnd()},saveActiveComponent:function(){var n=this.component.getActive();return!!n&&(this.savedComponent=n,!0)},restoreActiveComponent:function(){return!!this.savedComponent&&(this.component.setActive(this.savedComponent),!0)},save:function(){this._clearSaved();var n=this.getElement();!n||"TD"!==n.tagName&&"TH"!==n.tagName||""!==n.innerHTML?this.saveActiveComponent()||(this.saved=this.offset.get()):this.savedElement=n},restore:function(){(this.saved||this.savedComponent||this.savedElement)&&(this.editor.saveScroll(),this.savedElement?this.caret.setStart(this.savedElement):this.restoreActiveComponent()||this.offset.set(this.saved),this._clearSaved(),this.editor.restoreScroll())},saveMarkers:function(){this._clearSaved();this.saveActiveComponent()||this.marker.insert()},restoreMarkers:function(){this.editor.saveScroll();this.restoreActiveComponent()||this.marker.restore();this._clearSaved();this.editor.restoreScroll()},_getNextNode:function(n){if(n.hasChildNodes())return n.firstChild;for(;n&&!n.nextSibling;)n=n.parentNode;return n?n.nextSibling:null},_getNodesComponent:function(n){var i=this.getCurrent(),t=this.inspector.parse(i);return t.isFigcaption()?[t.getFigcaption()]:[n]},_getRangeSelectedNodes:function(){var t=[],i=this.getRange(),n=i.startContainer,f=i.startContainer,r=i.endContainer,u=this.editor.getElement();if(f===u.get()&&this.isAll())t=this.utils.getChildNodes(u);else if(n==r)t=[n];else{for(;n&&n!=r;)t.push(n=this._getNextNode(n));for(n=i.startContainer;n&&n!=i.commonAncestorContainer;)t.unshift(n),n=n.parentNode}return t},_isInNodesArray:function(n,t){return-1!==n.indexOf(t)},_filterEditor:function(n){for(var r,i=[],t=0;t<n.length;t++)r=this.inspector.parse(n[t]),r.isInEditor()&&i.push(n[t]);return i},_filterServicesNodes:function(t){for(var r,u,f=[],i=0;i<t.length;i++)r=n.dom(t[i]),u=!1,t[i]&&3===t[i].nodeType&&this.utils.isEmpty(t[i])&&(u=!0),(r.hasClass("redactor-script-tag")||r.hasClass("redactor-component-caret")||r.hasClass("redactor-selection-marker")||r.hasClass("non-editable"))&&(u=!0),u||f.push(t[i]);return f},_filterNodesTexts:function(n,t){for(var u,f,r=[],i=0;i<n.length;i++)(3===n[i].nodeType||t.keepbr&&"BR"===n[i].tagName)&&(u=this.getInline(n[i]),f=u&&t&&!1===t.inline,f||r.push(n[i]));return r},_filterNodesElements:function(n){for(var i=[],t=0;t<n.length;t++)3!==n[t].nodeType&&i.push(n[t]);return i},_filterNodesByTags:function(n,t,i){for(var f,u=[],r=0;r<n.length;r++)i&&3===n[r].nodeType?u.push(n[r]):3!==n[r].nodeType&&(f=n[r].tagName.toLowerCase(),-1!==t.indexOf(f.toLowerCase())&&u.push(n[r]));return u},_filterBlocksFirst:function(t){for(var r=[],i=0;i<t.length;i++){var f=n.dom(t[i]),u=f.parent().get(),e=f.parent().hasClass("redactor-in"),o=u&&("TD"===u.tagName||"TH"===u.tagName);(e||o)&&r.push(t[i])}return r},_filterInlinesInside:function(n){for(var i=[],t=0;t<n.length;t++)window.getSelection().containsNode(n[t],!0)&&i.push(n[t]);return i},_isTextSelected:function(n,t){var i=this.utils.removeInvisibleChars(n.textContent);return t===i||-1!==i.search(t)||-1!==t.search(new RegExp("^"+i))||-1!==t.search(new RegExp(i+"$"))},_isInlineNode:function(n){var t=this.inspector.parse(n);return this.inspector.isInlineTag(n.tagName)&&t.isInEditor()},_clearSaved:function(){this.saved=!1;this.savedComponent=!1;this.savedElement=!1}});n.add("service","element",{init:function(n){this.app=n;this.rootElement=n.rootElement;this.$element={};this.type="inline"},start:function(){this._build();this._buildType()},isType:function(n){return n===this.type},getType:function(){return this.type},getElement:function(){return this.$element},_build:function(){this.$element=n.dom(this.rootElement)},_buildType:function(){var n=this.$element.get().tagName;this.type="TEXTAREA"===n?"textarea":this.type;this.type="DIV"===n?"div":this.type;this.type=this.opts.inline?"inline":this.type}});n.add("service","editor",{init:function(n){this.app=n;this.scrolltop=!1;this.pasting=!1},start:function(){this._build()},focus:function(){this.isFocus()||this._isContenteditableFocus()||(this.saveScroll(),this.$editor.focus(),this.restoreScroll())},startFocus:function(){this.caret.setStart(this.getFirstNode())},endFocus:function(){this.caret.setEnd(this.getLastNode())},isPasting:function(){return this.pasting},enablePasting:function(){this.pasting=!0},disablePasting:function(){this.pasting=!1},saveScroll:function(){this.scrolltop=this._getScrollTarget().scrollTop()},restoreScroll:function(){!1!==this.scrolltop&&(this._getScrollTarget().scrollTop(this.scrolltop),this.scrolltop=!1)},disableNonEditables:function(){this.$noneditables=this.$editor.find("[contenteditable=false]");this.$noneditables.attr("contenteditable",!0)},enableNonEditables:function(){this.$noneditables&&setTimeout(function(){this.$noneditables.attr("contenteditable",!1)}.bind(this),1)},getFirstNode:function(){return this.$editor.contents()[0]},getLastNode:function(){var n=this.$editor.contents();return n[n.length-1]},isSourceMode:function(){var n=this.source.getElement();return n.hasClass("redactor-source-open")},isEditor:function(t){var i=n.dom(t).get();return i===this.$editor.get()},isEmpty:function(n){return this.utils.isEmptyHtml(this.$editor.html(),!1,n)},isFocus:function(){var t=n.dom(document.activeElement),i=0!==this.$editor.find(".redactor-component-active").length;return i||0!==t.closest(".redactor-in-"+this.uuid).length},setEmpty:function(){this.$editor.html(this.opts.emptyHtml)},getElement:function(){return this.$editor},_build:function(){var t=this.element.getElement(),i=this.element.isType("textarea")?"<div>":t.get();this.$editor=n.dom(i)},_getScrollTarget:function(){return this.opts.scrollTarget?n.dom(this.opts.scrollTarget):this.$doc},_isContenteditableFocus:function(){var t=this.selection.getBlock(),i=t?n.dom(t).closest("[contenteditable=true]").not(".redactor-in"):[];return 0!==i.length}});n.add("service","container",{init:function(n){this.app=n},start:function(){this._build()},getElement:function(){return this.$container},_build:function(){var t=this.element.isType("inline")?"<span>":"<div>";this.$container=n.dom(t)}});n.add("service","source",{init:function(n){this.app=n;this.$source={};this.content=""},start:function(){this._build();this._buildName();this._buildStartedContent()},getElement:function(){return this.$source},getCode:function(){return this.$source.val()},getName:function(){return this.$source.attr("name")},getStartedContent:function(){return this.content},setCode:function(n){return this.insertion.set(n,!0,!1)},isNameGenerated:function(){return this.name},_build:function(){var t=this.element.getElement(),i=this.element.isType("textarea"),r=i?t.get():"<textarea>";this.$source=n.dom(r)},_buildName:function(){var n=this.element.getElement();this.name=n.attr("name");this.$source.attr("name",this.name?this.name:"content-"+this.uuid)},_buildStartedContent:function(){var n=this.element.getElement(),t=this.element.isType("textarea")?n.val():n.html();this.content=t.trim()}});n.add("service","statusbar",{init:function(n){this.app=n;this.$statusbar={};this.items=[]},start:function(){this.$statusbar=n.dom("<ul>");this.$statusbar.attr("dir",this.opts.direction)},add:function(n,t){return this.update(n,t)},update:function(t,i){var r;return void 0!==this.items[t]?r=this.items[t]:(r=n.dom("<li>"),this.$statusbar.append(r),this.items[t]=r),r.html(i)},get:function(n){return!!this.items[n]&&this.items[n]},remove:function(n){this.items[n]&&(this.items[n].remove(),delete this.items[n])},getItems:function(){return this.items},removeItems:function(){this.items={};this.$statusbar.html("")},getElement:function(){return this.$statusbar}});n.add("service","toolbar",{init:function(n){this.app=n;this.dropdownOpened=!1;this.buttonsObservers={}},start:function(){this.is()&&(this.opts.activeButtons=this.opts.activeButtonsAdd?this._extendActiveButtons():this.opts.activeButtons,this.create())},stopObservers:function(){this.buttonsObservers={}},create:function(){this.$wrapper=n.dom("<div>");this.$toolbar=n.dom("<div>")},observe:function(){var n,r,t,i;if(this.is()){for(t in this.setButtonsInactive(),this.buttonsObservers)r=this.buttonsObservers[t],n=this.getButton(t),this.app.broadcast("button."+r+".observe",n);var u=this.opts.activeButtons,f=this.selection.getInlinesAllSelected(),e=this._inlinesToTags(f);for(i in u)-1!==e.indexOf(i)&&(n=this.getButton(u[i]),n.setActive())}},is:function(){return!(!this.opts.toolbar||this.detector.isMobile()&&this.opts.air)},isAir:function(){return!!this.is()&&this.$toolbar.hasClass("redactor-air")},isFixed:function(){return!!this.is()&&this.$toolbar.hasClass("redactor-toolbar-fixed")},isContextBar:function(){var n=this.$body.find("#redactor-context-toolbar-"+this.uuid);return n.hasClass("open")},isTarget:function(){return this.opts.toolbarFixedTarget!==document},getElement:function(){return this.$toolbar},getWrapper:function(){return this.$wrapper},getDropdown:function(){return this.dropdownOpened},getTargetElement:function(){return n.dom(this.opts.toolbarFixedTarget)},getButton:function(n){var t=this._findButton(".re-"+n);return 0!==t.length&&t.dataget("data-button-instance")},getButtonByIndex:function(n){var t=this.$toolbar.find(".re-button").eq(n);return 0!==t.length&&t.dataget("data-button-instance")},getButtons:function(){var t=[];return this._findButtons().each(function(i){var r=n.dom(i);t.push(r.dataget("data-button-instance"))}),t},getButtonsKeys:function(){var t=[];return this._findButtons().each(function(i){var r=n.dom(i);t.push(r.attr("data-re-name"))}),t},addButton:function(t,i,r,u,f){var e,o;return r=r||"end",e=n.create("toolbar.button",this.app,t,i),(i.observe&&(this.opts.activeButtonsObservers[t]={observe:i.observe,button:e}),!0!==f)&&(o=this.opts.buttons.indexOf(t),0===o?r="first":-1!==o&&(u=this.getButtonByIndex(o-1),u&&(r="after"))),this.is()&&("first"===r?this.$toolbar.prepend(e):"after"===r?u.after(e):"before"===r?u.before(e):this.$toolbar.append(e)),e},addButtonFirst:function(n,t){return this.addButton(n,t,"first")},addButtonAfter:function(n,t,i){var r=this.getButton(n);return r?this.addButton(t,i,"after",r):this.addButton(t,i)},addButtonBefore:function(n,t,i){var r=this.getButton(n);return r?this.addButton(t,i,"before",r):this.addButton(t,i)},addButtonObserver:function(n,t){this.buttonsObservers[n]=t},setDropdown:function(n){this.dropdownOpened=n},setButtonsInactive:function(){for(var t=this.getButtons(),n=0;n<t.length;n++)t[n].setInactive()},setButtonsActive:function(){for(var t=this.getButtons(),n=0;n<t.length;n++)t[n].setActive()},disableButtons:function(){for(var t=this.getButtons(),n=0;n<t.length;n++)t[n].disable()},enableButtons:function(){for(var t=this.getButtons(),n=0;n<t.length;n++)t[n].enable()},_findButton:function(t){return this.is()?this.$toolbar.find(t):n.dom()},_findButtons:function(){return this.is()?this.$toolbar.find(".re-button"):n.dom()},_extendActiveButtons:function(){return n.extend({},this.opts.activeButtons,this.opts.activeButtonsAdd)},_inlinesToTags:function(n){for(var i=[],t=0;t<n.length;t++)i.push(n[t].tagName.toLowerCase());return i}});n.add("class","toolbar.button",{mixins:["dom"],init:function(n,t,i){this.app=n;this.opts=n.opts;this.lang=n.lang;this.$body=n.$body;this.toolbar=n.toolbar;this.detector=n.detector;this.obj=i;this.name=t;this.dropdown=!1;this.tooltip=!1;this._init()},isActive:function(){return this.hasClass("redactor-button-active")},isDisabled:function(){return this.hasClass("redactor-button-disabled")},hasIcon:function(){return this.obj.icon&&!this.opts.buttonsTextLabeled},setDropdown:function(t){this.obj.dropdown=t;this.obj.message=!1;this.dropdown=n.create("toolbar.dropdown",this.app,this.name,this.obj.dropdown);this.attr("data-dropdown",!0)},setMessage:function(n,t){this.obj.message=n;this.obj.args=t;this.obj.dropdown=!1},setApi:function(n,t){this.obj.api=n;this.obj.args=t;this.obj.dropdown=!1},setTitle:function(n){this.obj.title=this.lang.parse(n);this.obj.tooltip=this.obj.title;this.attr({alt:this.obj.tooltip,"aria-label":this.obj.tooltip});this.attr("data-re-icon")||this.html(this.obj.title)},setTooltip:function(n){this.obj.tooltip=this.lang.parse(n);this.attr({alt:this.obj.tooltip,"aria-label":this.obj.tooltip})},setIcon:function(t){this.opts.buttonsTextLabeled||(this.obj.icon=!0,this.$icon=n.dom(t),this.html(""),this.append(this.$icon),this.attr("data-re-icon",!0),this.addClass("re-button-icon"),this.setTooltip(this.obj.title),this._buildTooltip())},setActive:function(){this.addClass("redactor-button-active")},setInactive:function(){this.removeClass("redactor-button-active")},hideTooltip:function(){this.$body.find(".re-button-tooltip").remove()},getDropdown:function(){return this.dropdown},disable:function(){this.addClass("redactor-button-disabled")},enable:function(){this.removeClass("redactor-button-disabled")},toggle:function(n){n&&n.preventDefault();this.isDisabled()||(this.obj.dropdown?this.dropdown.toggle(n):this.obj.api?this.app.api(this.obj.api,this.obj.args,this.name):this.obj.message&&this.app.broadcast(this.obj.message,this.obj.args,this.name),this.hideTooltip())},_init:function(){this._parseTitle();this._parseTooltip();this._build();this._buildCallback();this._buildAttributes();this._buildObserver();this.hasIcon()?(this._buildIcon(),this._buildTooltip()):this.html(this.obj.title)},_parseTooltip:function(){this.obj.tooltip=this.obj.tooltip?this.lang.parse(this.obj.tooltip):this.obj.title},_parseTitle:function(){this.obj.title=this.lang.parse(this.obj.title)},_build:function(){this.parse("<a>");this.addClass("re-button re-"+this.name);this.attr("data-re-name",this.name);this.dataset("data-button-instance",this);this.obj.dropdown&&this.setDropdown(this.obj.dropdown)},_buildCallback:function(){this.on("click",this.toggle.bind(this))},_buildAttributes:function(){var n={href:"#",alt:this.obj.tooltip,rel:this.name,role:"button","aria-label":this.obj.tooltip,tabindex:"-1"};this.attr(n)},_buildObserver:function(){void 0!==this.obj.observe&&this.toolbar.addButtonObserver(this.name,this.obj.observe)},_buildIcon:function(){var t=this.obj.icon,i=/(<([^>]+)>)/gi.test(t);this.$icon=i?n.dom(t):n.dom("<i>");i||this.$icon.addClass("re-icon-"+this.name);this.append(this.$icon);this.attr("data-re-icon",!0);this.addClass("re-button-icon")},_buildTooltip:function(){this.detector.isDesktop()&&(this.tooltip=n.create("toolbar.button.tooltip",this.app,this))}});n.add("class","toolbar.button.tooltip",{mixins:["dom"],init:function(n,t){this.app=n;this.opts=n.opts;this.$body=n.$body;this.toolbar=n.toolbar;this.$button=t;this.created=!1;this._init()},open:function(){if(!this.$button.hasClass("redactor-button-disabled")&&!this.$button.hasClass("redactor-button-active")){this.created=!0;this.parse("<span>");this.addClass("re-button-tooltip");this.$body.append(this);this.html(this.$button.attr("alt"));var n=this.$button.offset(),t=this.$button.height(),i=this.$button.width();this.css({top:n.top+t+4+"px",left:n.left+i/2-this.width()/2+"px",position:"absolute"});this.show()}},close:function(){this.created&&!this.$button.hasClass("redactor-button-disabled")&&(this.remove(),this.created=!1)},_init:function(){this.$button.on("mouseover",this.open.bind(this));this.$button.on("mouseout",this.close.bind(this))}});n.add("class","toolbar.dropdown",{mixins:["dom"],init:function(n,t,i){this.app=n;this.uuid=n.uuid;this.opts=n.opts;this.$win=n.$win;this.$doc=n.$doc;this.$body=n.$body;this.animate=n.animate;this.toolbar=n.toolbar;this.name=t;this.started=!1;this.items=i;this.$items=[]},toggle:function(n){this.started||this._build();this.isOpened()&&this.isActive()?this.close(!1):this.open(n)},isOpened:function(){var n=this.$body.find(".redactor-dropdown-"+this.uuid+".open");return 0!==n.length&&n.attr("data-re-name")===this.name},isActive:function(){var n=this.$body.find("#redactor-dropdown-"+this.uuid+"-"+this.name+".open");return 0!==n.length},getName:function(){return this.attr("data-re-name")},getItem:function(n){return this.$items[n]},getItemsByClass:function(n){var i=[],t;for(t in this.$items)this.$items[t].hasClass(n)&&i.push(this.$items[t]);return i},open:function(n){this._closeAll();this.$btn=this.toolbar.getButton(this.name);this.app.broadcast("dropdown.open",n,this,this.$btn);this.toolbar.setDropdown(this);this.show();this.removeClass("redactor-animate-hide");this.addClass("open");this._observe();this.$btn.hideTooltip();this.$btn.setActive();this.$doc.on("keyup.redactor.dropdown-"+this.uuid,this._handleKeyboard.bind(this));this.$doc.on("click.redactor.dropdown-"+this.uuid+" touchstart.redactor.dropdown-"+this.uuid,this.close.bind(this));this.updatePosition();this.app.broadcast("dropdown.opened",n,this,this.$btn)},close:function(t,i){if(t){var r=n.dom(t.target);if(this._isButton(t)||r.hasClass("redactor-dropdown-not-close")||r.hasClass("redactor-dropdown-item-disabled"))return void t.preventDefault()}this.app.broadcast("dropdown.close",this,this.$btn);this.toolbar.setDropdown(!1);this.$btn.setInactive();!1===i?this._close():this.animate.start(this,"fadeOut",this._close.bind(this))},updatePosition:function(){var t=this.toolbar.isFixed(),n=this.$btn.offset();n.top=t?this.$btn.position().top:n.top;var u=this.$btn.height(),f=this.$btn.width(),e=t?"fixed":"absolute",i=n.left+0,r=parseFloat(this.css("width")),o=this.$win.width()<i+r?r-f:0;this.css({position:e,top:n.top+u+2+"px",left:i-o+"px"})},_build:function(){this.parse("<div>");this.attr("dir",this.opts.direction);this.attr("id","redactor-dropdown-"+this.uuid+"-"+this.name);this.attr("data-re-name",this.name);this.addClass("redactor-dropdown redactor-dropdown-"+this.uuid+" redactor-dropdown-"+this.name);this.dataset("data-dropdown-instance",this);var n=this.items.dom||"string"==typeof this.items;n?this._buildDom():this._buildItems();this.$body.append(this);this.started=!0},_buildDom:function(){this.html("").append(n.dom(this.items))},_buildItems:function(){var t,r,i;for(t in this.items="format"===this.name?this._buildFormattingItems():this.items,this.items)r=this.items[t],"observe"===t?this.attr("data-observe",this.items[t]):(i=n.create("toolbar.dropdown.item",this.app,t,r,this),this.$items[t]=i,this.append(i))},_buildFormattingItems:function(){var n;for(n in this.items)-1===this.opts.formatting.indexOf(n)&&delete this.items[n];if(this.opts.formattingHide)for(n in this.items)-1!==this.opts.formattingHide.indexOf(n)&&delete this.items[n];if(this.opts.formattingAdd)for(n in this.opts.formattingAdd)this.items[n]=this.opts.formattingAdd[n];return this.items},_handleKeyboard:function(n){27===n.which&&this.close()},_isButton:function(t){var i=n.dom(t.target),r=i.closest(".re-button");return r.get()===this.$btn.get()},_close:function(){this.$btn.setInactive();this.$doc.off(".redactor.dropdown-"+this.uuid);this.removeClass("open");this.addClass("redactor-animate-hide");this.app.broadcast("dropdown.closed",this,this.$btn)},_closeAll:function(){this.$body.find(".redactor-dropdown-"+this.uuid+".open").each(function(t){var i=n.dom(t),r=i.dataget("data-dropdown-instance");r._close()})},_observe:function(){var n=this.attr("data-observe");n&&this.app.broadcast("dropdown."+n+".observe",this)}});n.add("class","toolbar.dropdown.item",{mixins:["dom"],init:function(n,t,i,r){this.app=n;this.lang=n.lang;this.dropdown=r;this.name=t;this.obj=i;this._init()},setTitle:function(n){this.$span.html(n)},getTitle:function(){return this.$span.html()},enable:function(){this.removeClass("redactor-dropdown-item-disabled")},disable:function(){this.addClass("redactor-dropdown-item-disabled")},toggle:function(n){n&&n.preventDefault();this.hasClass("redactor-dropdown-item-disabled")||(this.obj.message?this.app.broadcast(this.obj.message,this.obj.args,this.name):this.obj.api&&this.app.api(this.obj.api,this.obj.args,this.name))},_init:function(){this.parse("<a>");this.attr("href","#");this.addClass("redactor-dropdown-item-"+this.name);this.obj.classname&&this.addClass(this.obj.classname);this.attr("data-re-name",this.name);this.on("click",this.toggle.bind(this));this.$span=n.dom("<span>");this.append(this.$span);this.setTitle(this.lang.parse(this.obj.title))}});n.add("service","cleaner",{init:function(n){this.app=n;this.opts=n.opts;this.storedComponents=[];this.storedImages=[];this.storedLinks=[];this.deniedTags=["font","html","head","link","title","body","meta","applet"];this.convertRules={};this.unconvertRules={};this.reComments=/<!--[\s\S]*?-->/g;this.reSpacedEmpty=/^(||\s||<br\s?\/?>||&nbsp;)$/i;this.reScriptTag=/<script(.*?[^>]?)>([\w\W]*?)<\/script>/gi},addConvertRules:function(n,t){this.convertRules[n]=t},addUnconvertRules:function(n,t){this.unconvertRules[n]=t},input:function(t,i){t=this.encodePreCode(t);t=t.replace(/\$/g,"&#36;");t=t.replace(/&amp;/g,"&");var r=n.create("cleaner.figure",this.app);return t=r.convert(t,this.convertRules),t=this.storeComponents(t),t=this.replaceTags(t,this.opts.replaceTags),t=this._setSpanAttr(t),t=this._setStyleCache(t),t=this.removeTags(t,this.deniedTags),t=this.opts.removeScript?this._removeScriptTag(t):this._replaceScriptTag(t),t=this.opts.removeComments?this.removeComments(t):t,t=this._isSpacedEmpty(t)?this.opts.emptyHtml:t,t=this.restoreComponents(t),t=this._cleanWrapped(t),t=i?this.paragraphize(t):t,t},output:function(t,i){if((t=this.removeInvisibleSpaces(t),this._isSpacedEmpty(t))||this._isParagraphEmpty(t))return"";t=this.removeServiceTagsAndAttrs(t,i);t=this.storeComponents(t);t=this.removeSpanWithoutAttributes(t);t=this.removeFirstBlockBreaklineInHtml(t);t=this.opts.removeScript?t:this._unreplaceScriptTag(t);t=this.opts.preClass?this._setPreClass(t):t;t=this.opts.linkNofollow?this._setLinkNofollow(t):t;t=this.opts.removeNewLines?this.cleanNewLines(t):t;t=this.restoreComponents(t);var r=n.create("cleaner.figure",this.app);return t=r.unconvert(t,this.unconvertRules),t=this.removeEmptyAttributes(t,["style","class","rel","alt","title"]),t=this.cleanSpacesInPre(t),t=this.tidy(t),t=t.replace(/&amp;/g,"&"),t},paste:function(t){var f,r,e,o,s;if(t=this.storeComponents(t),f=this.deniedTags.concat(["iframe"]),t=this.removeTags(t,f),t=t.replace(new RegExp("<!doctype([\\s\\S]+?)>","gi"),""),t=t.replace(new RegExp("<style([\\s\\S]+?)<\/style>","gi"),""),t=t.replace(new RegExp("<\/p><br /><p","gi"),"<\/p><p"),r=this._isHtmlMsWord(t),t=this._cleanGDocs(t),t=r?this._cleanMsWord(t):t,!this.opts.pasteClean)return t=this.restoreComponents(t),t;if(this.opts.pastePlainText)return t=this.restoreComponents(t),this.pastePlainText(t);e=this.opts.pasteBlockTags.concat(this.opts.pasteInlineTags);t=this.removeTagsExcept(t,e);t=this.opts.pasteLinks?t:this.removeTags(t,["a"]);t=this.opts.pasteImages?t:this.removeTags(t,["img"]);var i=this.utils.buildWrapper(t),u=i.find("*"),h=0!==this.opts.pasteKeepStyle.length?","+this.opts.pasteKeepStyle.join(","):"";return u.not("[data-redactor-style-cache]"+h).removeAttr("style"),o=0!==this.opts.pasteKeepClass.length?","+this.opts.pasteKeepClass.join(","):"",u.not("[data-redactor-style-cache]"+o).removeAttr("class"),s=0!==this.opts.pasteKeepAttrs.length?","+this.opts.pasteKeepAttrs.join(","):"",u.not("img, a, [data-redactor-style-cache]"+s).each(function(n){for(;n.attributes.length>0;)n.removeAttribute(n.attributes[0].name)}),this.opts.pasteLinks&&!1!==this.opts.pasteLinkTarget&&i.find("a").attr("target",this.opts.pasteLinkTarget),i.find("[data-redactor-style-cache]").each(function(n){var t=n.getAttribute("data-redactor-style-cache");n.setAttribute("style",t)}),i.find("span").each(function(t){0===t.attributes.length&&n.dom(t).unwrap()}),i.find(this.opts.inlineTags.join(",")).each(function(t){0===t.attributes.length&&this.utils.isEmptyHtml(t.innerHTML)&&n.dom(t).unwrap()}.bind(this)),i.find("ul, ol").each(function(t){var i=t.previousSibling,r;i&&"LI"===i.tagName&&(r=n.dom(i),r.find("p").unwrap(),r.append(t))}),t=this.utils.getWrapperHtml(i),t=t.replace(/<li><p>/gi,"<li>"),t=t.replace(/<\/p><\/li>/gi,"<\/li>"),t=t.replace(/<p>&nbsp;<\/p>/gi,"<p><\/p>"),t=t.replace(/<p><br\s?\/?><\/p>/gi,"<p><\/p>"),r&&(t=t.replace(/<p><\/p>/gi,""),t=t.replace(/<p>\s<\/p>/gi,"")),t=this.restoreComponents(t),t},pastePlainText:function(n){return n=this.opts.pasteLinks?this.storeLinks(n):n,n=this.opts.pasteImages?this.storeImages(n):n,n=this.getPlainText(n),n=this._replaceNlToBr(n),n=this.opts.pasteLinks?this.restoreLinks(n):n,n=this.opts.pasteImages?this.restoreImages(n):n,n},tidy:function(n){return n},paragraphize:function(t){var i=n.create("cleaner.paragraphize",this.app);return i.convert(t)},getFlatText:function(t){var i=n.dom("<div>");return t.nodeType||t.dom?i.append(t):(t=t.toString(),t=t.trim(),i.html(t)),t=i.get().textContent||i.get().innerText||"",void 0===t?"":t},getPlainText:function(n){n=n.replace(/<!--[\s\S]*?-->/gi,"");n=n.replace(/<style[\s\S]*?style>/gi,"");n=n.replace(/<p><\/p>/g,"");n=n.replace(/<\/div>|<\/li>|<\/td>/gi,"\n");n=n.replace(/<\/p>/gi,"\n\n");n=n.replace(/<\/H[1-6]>/gi,"\n\n");var t=document.createElement("div");return t.innerHTML=n,n=t.textContent||t.innerText,n.trim()},replaceTags:function(n,t){if(t){var r=this,u=Object.keys(t),i=this.utils.buildWrapper(n);i.find(u.join(",")).each(function(n){r.utils.replaceToTag(n,t[n.tagName.toLowerCase()])});n=this.utils.getWrapperHtml(i)}return n},replaceNbspToSpaces:function(n){return n.replace("&nbsp;"," ")},replaceBlocksToBr:function(n){return n=n.replace(/<\/div>|<\/li>|<\/td>|<\/p>|<\/H[1-6]>/gi,"<br>"),n},cleanNewLines:function(n){return n.replace(/\r?\n/g,"")},cleanSpacesInPre:function(n){return n.replace("&nbsp;&nbsp;&nbsp;&nbsp;","    ")},removeInvisibleSpaces:function(n){return n=this.utils.removeInvisibleChars(n),n=n.replace(/&#x200b;/gi,""),n=n.replace(/&#65279;/gi,""),n},removeNl:function(n){return n=n.replace(/\n/g," "),n=n.replace(/\s+/g,"s"),n},removeBrAtEnd:function(n){return n=n.replace(/<br\s?\/?>$/gi," "),n=n.replace(/<br\s?\/?><li/gi,"<li"),n},removeTags:function(n,t){var i=t?/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi:/(<([^>]+)>)/gi,r=t?function(n,i){return-1===t.indexOf(i.toLowerCase())?n:""}:"";return n.replace(i,r)},removeTagsExcept:function(n,t){if(void 0===t)return n.replace(/(<([^>]+)>)/gi,"");return n.replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,function(n,i){return-1===t.indexOf(i.toLowerCase())?"":n})},removeComments:function(n){return n.replace(this.reComments,"")},removeServiceTagsAndAttrs:function(t,i){var r=this.utils.buildWrapper(t),u=this;return!1!==i&&r.find(".redactor-selection-marker").each(function(t){var i=n.dom(t),r=u.utils.removeInvisibleChars(i.text());return""===r?i.remove():i.unwrap()}),r.find("[data-redactor-style-cache]").removeAttr("data-redactor-style-cache"),this.utils.getWrapperHtml(r)},removeSpanWithoutAttributes:function(t){var i=this.utils.buildWrapper(t);return i.find("span").removeAttr("data-redactor-span data-redactor-style-cache").each(function(t){0===t.attributes.length&&n.dom(t).unwrap()}),this.utils.getWrapperHtml(i)},removeFirstBlockBreaklineInHtml:function(n){return n.replace(new RegExp("<\/li><br\\s?/?>","gi"),"<\/li>")},removeEmptyAttributes:function(n,t){for(var r=this.utils.buildWrapper(n),i=0;i<t.length;i++)r.find("["+t[i]+'=""]').removeAttr(t[i]);return this.utils.getWrapperHtml(r)},encodeHtml:function(n){return n=n.replace(/<br\s?\/?>/g,"\n"),n=n.replace(/&nbsp;/g," "),n=n.replace(/”/g,'"'),n=n.replace(/“/g,'"'),n=n.replace(/‘/g,"'"),n=n.replace(/’/g,"'"),n=this.encodeEntities(n),n=n.replace(/\$/g,"&#36;"),this.opts.preSpaces&&(n=n.replace(/\t/g,new Array(this.opts.preSpaces+1).join(" "))),n},encodePreCode:function(n){var r=n.match(new RegExp("<code(.*?)>(.*?)<pre(.*?)>(.*?)<\/pre>(.*?)<\/code>","gi")),i,u,t;if(null!==r)for(i=0;i<r.length;i++)u=r[i].match(new RegExp("<pre(.*?)>([\\w\\W]*?)<\/pre>","i")),n=n.replace(u[0],this.encodeEntities(u[0]));return t=this.utils.buildWrapper(n),t.find("code code").replaceWith(this._encodeOuter.bind(this)),t.find("code pre").replaceWith(this._encodeOuter.bind(this)),t.find("pre pre").replaceWith(this._encodeOuter.bind(this)),t.find("code, pre").each(this._encodePreCodeLine.bind(this)),n=this.utils.getWrapperHtml(t),n=this._decodeMarkers(n),n},encodeEntities:function(n){return n=this.decodeEntities(n),n=n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),n},encodePhpCode:function(n){return n=n.replace("<?php","&lt;?php"),n=n.replace("<?","&lt;?"),n=n.replace("?>","?&gt;"),n},decodeEntities:function(n){return String(n).replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&amp;/g,"&")},storeComponents:function(n){var t=this.utils.getElementsFromHtml(n,"figure","table");return this._storeMatched(n,t,"Components","figure")},restoreComponents:function(n){return this._restoreMatched(n,"Components","figure")},storeLinks:function(n){var t=this.utils.getElementsFromHtml(n,"a");return this._storeMatched(n,t,"Links","a")},storeImages:function(n){var t=this.utils.getElementsFromHtml(n,"img");return this._storeMatched(n,t,"Images","img")},restoreLinks:function(n){return this._restoreMatched(n,"Links","a")},restoreImages:function(n){return this._restoreMatched(n,"Images","img")},_cleanWrapped:function(n){return n=n.replace(new RegExp("<p><figure([\\w\\W]*?)<\/figure><\/p>","gi"),"<figure$1<\/figure>"),n},_cleanGDocs:function(n){return n=n.replace(/<b\sid="internal-source-marker(.*?)">([\w\W]*?)<\/b>/gi,"$2"),n=n.replace(/<b(.*?)id="docs-internal-guid(.*?)">([\w\W]*?)<\/b>/gi,"$3"),n=n.replace(/<span[^>]*(font-style: italic; font-weight: bold|font-weight: bold; font-style: italic)[^>]*>([\w\W]*?)<\/span>/gi,"<b><i>$2<\/i><\/b>"),n=n.replace(/<span[^>]*(font-style: italic; font-weight: 700|font-weight: 700; font-style: italic)[^>]*>([\w\W]*?)<\/span>/gi,"<b><i>$2<\/i><\/b>"),n=n.replace(/<span[^>]*font-style: italic[^>]*>([\w\W]*?)<\/span>/gi,"<i>$1<\/i>"),n=n.replace(/<span[^>]*font-weight: bold[^>]*>([\w\W]*?)<\/span>/gi,"<b>$1<\/b>"),n=n.replace(/<span[^>]*font-weight: 700[^>]*>([\w\W]*?)<\/span>/gi,"<b>$1<\/b>"),n},_cleanMsWord:function(t){var i,e;t=t.replace(/<!--[\s\S]+?-->/gi,"");t=t.replace(/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,"");t=t.replace(/<(\/?)s>/gi,"<$1strike>");t=t.replace(/&nbsp;/gi," ");t=t.replace(/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(n,t){return t.length>0?t.replace(/./," ").slice(Math.floor(t.length/2)).split("").join(" "):""});i=this.utils.buildWrapper(t);i.find("p").each(function(t){var i=n.dom(t),u=i.attr("style"),r=/mso-list:\w+ \w+([0-9]+)/.exec(u);r&&i.data("_listLevel",parseInt(r[1],10))});this._parseWordLists(i);i.find("[style]").removeAttr("style");i.find("[align]").removeAttr("align");i.find("[name]").removeAttr("name");i.find("span").unwrap();i.find("[class^='Mso']").removeAttr("class");i.find("a").filter(function(n){return!n.hasAttribute("href")}).unwrap();t=this.utils.getWrapperHtml(i);t=t.replace(/<p[^>]*><\/p>/gi,"");t=t.trim();t=t.replace(/\/(p|ul|ol|h1|h2|h3|h4|h5|h6|blockquote)>\s+<(p|ul|ol|h1|h2|h3|h4|h5|h6|blockquote)/gi,"/$1>\n<$2");for(var f="",u=t.split(/\n/),r=0;r<u.length;r++)e=""!==u[r]&&-1===u[r].search(/>$/)?" ":"\n",f+=u[r]+e;return f},_parseWordLists:function(t){var i=0,r=null;t.find("p").each(function(t){var u=n.dom(t),f=u.data("_listLevel"),o,e,s,h,l,c;if(null!==f){if(o=u.text(),e="<ul><\/ul>",/^\s*\w+\./.test(o)&&(s=/([0-9])\./.exec(o),s?(h=parseInt(s[1],10),e=h>1?'<ol start="'+h+'"><\/ol>':"<ol><\/ol>"):e="<ol><\/ol>"),f>i&&(0===i?(u.before(e),r=u.prev()):(l=n.dom(e),r.append(l))),f<i)for(c=0;c<i-f;c++)r=r.parent();u.find("span").first().unwrap();r.append("<li>"+u.html()+"<\/li>");u.remove();i=f}else i=0})},_isSpacedEmpty:function(n){return-1!==n.search(this.reSpacedEmpty)},_isParagraphEmpty:function(n){return-1!==n.search(/^<p><\/p>$/i)},_isHtmlMsWord:function(n){return n.match(/class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i)},_setSpanAttr:function(n){var t=this.utils.buildWrapper(n);return t.find("span").attr("data-redactor-span",!0),this.utils.getWrapperHtml(t)},_setStyleCache:function(t){var i=this.utils.buildWrapper(t);return i.find("[style]").each(function(t){var i=n.dom(t);i.attr("data-redactor-style-cache",i.attr("style"))}),this.utils.getWrapperHtml(i)},_setPreClass:function(n){var t=this.utils.buildWrapper(n);return t.find("pre").addClass(this.opts.preClass),this.utils.getWrapperHtml(t)},_setLinkNofollow:function(n){var t=this.utils.buildWrapper(n);return t.find("a").attr("rel","nofollow"),this.utils.getWrapperHtml(t)},_replaceScriptTag:function(n){return n.replace(this.reScriptTag,'<pre class="redactor-script-tag" $1>$2<\/pre>')},_unreplaceScriptTag:function(n){return n.replace(/<pre class="redactor-script-tag"(.*?[^>]?)>([\w\W]*?)<\/pre>/gi,"<script$1>$2<\/script>")},_replaceNlToBr:function(n){return n.replace(/\n/g,"<br />")},_removeScriptTag:function(n){return n.replace(this.reScriptTag,"")},_storeMatched:function(n,t,i,r){if(this["stored"+i]=[],t)for(var u=0;u<t.length;u++)this["stored"+i][u]=t[u],n=n.replace(t[u],"####"+r+u+"####");return n},_restoreMatched:function(n,t,i){if(this["stored"+t])for(var r=0;r<this["stored"+t].length;r++)n=n.replace("####"+i+r+"####",this["stored"+t][r]);return n},_decodeMarkers:function(n){return n.replace(/&lt;span\sid="selection-marker-(start|end)"\sclass="redactor-selection-marker"&gt;(.*?[^>]?)&lt;\/span&gt;/g,'<span id="selection-marker-$1" class="redactor-selection-marker">​<\/span>')},_encodeOuter:function(n){return this.encodeEntities(n.outerHTML)},_encodePreCodeLine:function(n){var i=n.firstChild,t;"PRE"==n.tagName&&i&&"CODE"===i.tagName||(t=this.decodeEntities(n.innerHTML),t=t.replace(/&nbsp;/g," ").replace(/<br\s?\/?>/g,"\n"),t=this.opts.preSpaces?t.replace(/\t/g,new Array(this.opts.preSpaces+1).join(" ")):t,n.textContent=t)}});n.add("class","cleaner.figure",{init:function(n){this.app=n;this.opts=n.opts;this.utils=n.utils},convert:function(n,t){var i=this.utils.buildWrapper(n);return i.find("img").each(this._convertImage.bind(this)),i.find("hr").each(this._convertLine.bind(this)),i.find("iframe").each(this._convertIframe.bind(this)),i.find("table").each(this._convertTable.bind(this)),i.find("form").each(this._convertForm.bind(this)),i.find("figure pre").each(this._convertCode.bind(this)),i.find("[data-redactor-type=variable]").addClass("redactor-component"),i.find("figure").not(".redactor-component, .redactor-figure-code").each(this._convertWidget.bind(this)),i.find("figure pre").each(this._setContenteditableCode.bind(this)),i.find(".redactor-component, .non-editable").attr("contenteditable",!1),i.find("figcaption, td, th").attr("contenteditable",!0),i.find(".redactor-component, figcaption").attr("tabindex","-1"),this._acceptExtraRules(i,t),this.utils.getWrapperHtml(i)},unconvert:function(n,t){var i=this.utils.buildWrapper(n);return i.find("th, td, figcaption, figure, pre, code, .redactor-component").removeAttr("contenteditable tabindex"),i.find("figure").removeClass("redactor-component redactor-component-active redactor-uploaded-figure"),i.find("[data-redactor-type=variable]").removeClass("redactor-component"),i.find("figure[data-redactor-type=line]").unwrap(),i.find("figure[data-redactor-type=widget]").each(this._unconvertWidget.bind(this)),i.find("figure[data-redactor-type=form]").each(this._unconvertForm.bind(this)),i.find("figure[data-redactor-type=table]").each(this._unconvertTable.bind(this)),i.find("figure[data-redactor-type=image]").removeAttr("rel").each(this._unconvertImages.bind(this)),i.find("img").removeAttr("data-redactor-type").removeClass("redactor-component"),i.find(".non-editable").removeAttr("contenteditable"),i.find("figure").each(this._removeTypes.bind(this)),i.find("span.redactor-component-caret").remove(),this.opts.breakline&&i.find('[data-redactor-tag="br"]').each(function(n){n.lastChild&&"BR"!==n.lastChild.tagName&&n.appendChild(document.createElement("br"))}).unwrap(),this._acceptExtraRules(i,t),n=this.utils.getWrapperHtml(i),n=n.replace(/<br\s?\/?>$/,""),n},_convertImage:function(t){var r=n.dom(t);if(!this._isNonEditable(r)){r.attr("data-image")||r.attr("data-image",this.utils.getRandomId());var u=r.closest("a"),i=r.closest("figure"),f=0===i.children().not("a, img, br, figcaption").length;f&&(0===i.length?i=0!==u.length?u.wrap("<figure>"):r.wrap("<figure>"):i.hasClass("redactor-uploaded-figure")?i.removeClass("redactor-uploaded-figure"):i.addClass("redactor-keep-figure"),this._setFigure(i,"image"))}},_convertTable:function(n){if(!this._isNonEditable(n)){var t=this._wrapFigure(n);this._setFigure(t,"table")}},_convertLine:function(n){if(!this._isNonEditable(n)){var t=this._wrapFigure(n);this._setFigure(t,"line")}},_convertForm:function(n){if(!this._isNonEditable(n)){var t=this.utils.replaceToTag(n,"figure");this._setFigure(t,"form")}},_convertIframe:function(n){if(!this._isNonEditable(n)){var t=n.getAttribute("src"),i=t&&(t.match(this.opts.regex.youtube)||t.match(this.opts.regex.vimeo)),r=this._wrapFigure(n);i&&this._setFigure(r,"video")}},_convertCode:function(n){if(!this._isNonEditable(n)){var t=this._wrapFigure(n);this._setFigure(t,"code")}},_convertWidget:function(t){if(!this._isNonEditable(t)){var i=n.dom(t);i.addClass("redactor-component");i.attr("data-redactor-type","widget");i.attr("data-widget-code",encodeURI(t.innerHTML.trim()))}},_unconvertForm:function(n){this.utils.replaceToTag(n,"form")},_unconvertTable:function(t){var i=n.dom(t);i.unwrap()},_unconvertWidget:function(t){var i=n.dom(t);i.html(decodeURI(i.attr("data-widget-code")));i.removeAttr("data-widget-code")},_unconvertImages:function(t){var i=n.dom(t);i.removeClass("redactor-component");var u=0!==i.closest("li").length,f=0!==i.closest("table").length,e=0!==i.find("figcaption").length,r=i.attr("style"),o=!(null===r||""===r),s=""!==i.attr("class");!u&&(!f||e||o||s)||i.unwrap()},_removeTypes:function(t){var i=n.dom(t),r=i.attr("data-redactor-type"),u;(r&&-1!==["image","widget","line","video","code","form","table"].indexOf(r)&&i.removeAttr("data-redactor-type"),i.hasClass("redactor-keep-figure"))?i.removeClass("redactor-keep-figure"):!1===this.opts.imageFigure&&(u=0!==i.find("figcaption").length,u||i.unwrap())},_wrapFigure:function(t){var i=n.dom(t),r=i.closest("figure");return 0===r.length?i.wrap("<figure>"):r},_setFigure:function(n,t){n.addClass("redactor-component");n.attr("data-redactor-type",t)},_setContenteditableCode:function(t){if(!this._isNonEditable(t)){var i=n.dom(t),r=i.children("code").first(),u=0!==r.length?r:i;u.attr("contenteditable",!0).attr("tabindex","-1")}},_acceptExtraRules:function(n,t){for(var i in t)"function"==typeof t[i]&&t[i](n)},_isNonEditable:function(t){return 0!==n.dom(t).closest(".non-editable").length}});n.add("class","cleaner.paragraphize",{init:function(n){this.app=n;this.opts=n.opts;this.utils=n.utils;this.element=n.element;this.stored=[];this.remStart="#####replace";this.remEnd="#####";this.paragraphizeTags=["table","div","pre","form","ul","ol","h1","h2","h3","h4","h5","h6","dl","blockquote","figcaption","address","section","header","footer","aside","article","object","style","script","iframe","select","input","textarea","button","option","map","area","math","hr","fieldset","legend","hgroup","nav","figure","details","menu","summary","p"]},convert:function(n){var t=this._isConverted(n);return!0===t?this._convert(n):t},_convert:function(n){var t=this.opts.breakline?"sdivtag":this.opts.markup;return n=this._storeTags(n),n=n.trim(),this.opts.breakline?(n=n.replace(new RegExp("\\n#####","gi"),"xnonbreakmarkerz#####"),n=n.replace(new RegExp("#####\\n\\n","gi"),"#####\nxnonbreakmarkerz"),n=n.replace(new RegExp("#####\\n","gi"),"#####xnonbreakmarkerz"),n=n.replace(/<br\s?\/?>\n/gi,"<br>"),n=n.replace(/\n/g,"<br>"),n=n.replace(/xnonbreakmarkerz/gi,"\n")):n=n.replace(/[\n]+/g,"\n"),n=this._trimEmptyLines(n),n=this.opts.breakline?n:n.replace(/<br\s?\/?>\n/gi,"xbreakmarkerz\n"),n=n.replace(/(?:\r\n|\r|\n)/g,"xparagraphmarkerz"),n=n.replace(/xparagraphmarkerz/gi,"<\/"+t+">\n<"+t+">"),n=this.opts.breakline?n:n.replace(/xbreakmarkerz/gi,"<br>"),n="<"+t+">"+n+"<\/"+t+">",n=n.replace(new RegExp("<"+t+">#####","gi"),"#####"),n=n.replace(new RegExp("#####<\/"+t+">","gi"),"#####"),n=this._restoreTags(n),n=this.opts.breakline?n:n.replace(new RegExp("<"+t+"><br\\s?/?><\/"+t+">","gi"),"<"+t+"><\/"+t+">"),n=n.replace(new RegExp("<sdivtag>","gi"),'<div data-redactor-tag="br">'),n=n.replace(new RegExp("sdivtag","gi"),"div"),n},_storeTags:function(t){var i=this,r=this.utils.buildWrapper(t);return this.opts.breakline&&r.find("p").each(function(t){var i=n.dom(t),r=0===i.closest("figure[data-redactor-type=widget],figure[data-redactor-type=form],.non-editable").length;r&&(i.append("<br><br>"),i.unwrap())}),r.find(this.paragraphizeTags.join(", ")).each(function(n,t){var r=document.createTextNode("\n"+i.remStart+t+i.remEnd+"\n");i.stored.push(n.outerHTML);n.parentNode.replaceChild(r,n)}),this.utils.getWrapperHtml(r)},_restoreTags:function(n){for(var t=0;t<this.stored.length;t++)this.stored[t]=this.stored[t].replace(/\$/g,"&#36;"),n=n.replace(this.remStart+t+this.remEnd,this.stored[t]);return n},_trimEmptyLines:function(n){for(var r="",i=n.split("\n"),t=0;t<i.length;t++)""!==i[t].trim()&&(r+=i[t]+"\n");return r.replace(/\n$/,"")},_isConverted:function(n){return this._isDisabled(n)?n:!this._isEmptyHtml(n)||this.opts.emptyHtml},_isDisabled:function(){return!1===this.opts.paragraphize||this.element.isType("inline")},_isEmptyHtml:function(n){return""===n||"<p><\/p>"===n||"<div><\/div>"===n}});n.add("service","detector",{init:function(n){this.app=n;this.userAgent=navigator.userAgent.toLowerCase()},isWebkit:function(){return/webkit/.test(this.userAgent)},isFirefox:function(){return this.userAgent.indexOf("firefox")>-1},isIe:function(n){return document.documentMode||/Edge/.test(navigator.userAgent)?"edge":(t=RegExp("msie"+(isNaN(n)?"":"\\s"+n),"i").test(navigator.userAgent),t||(t=!!navigator.userAgent.match(/Trident.*rv[ :]*11\./)),t);var t},isMobile:function(){return/(iPhone|iPod|Android)/.test(navigator.userAgent)},isDesktop:function(){return!/(iPhone|iPod|iPad|Android)/.test(navigator.userAgent)},isIpad:function(){return/iPad/.test(navigator.userAgent)}});n.add("service","offset",{init:function(n){this.app=n},get:function(t,i){var u={start:0,end:0},f=this.utils.getNode(t);if(!f)return!1;var o=this.editor.isEditor(f),s=!!o||this.selection.isIn(f),r=this.selection.getRange();if(o||s){if(this.selection.is()&&s){var c=n.dom(r.startContainer),h=c.hasClass("redactor-component")?r.startOffset:0,e=r.cloneRange();e.selectNodeContents(f);e.setEnd(r.startContainer,r.startOffset);u.start=this._getString(e,i).length-h;u.end=u.start+this._getString(r,i).length+h}}else u=!1;return u},set:function(n,t){var i,f,o;if(!this._setComponentOffset(t)&&(this.component.clearActive(),i=this.utils.getNode(t),i)){var s=this.size(i),r=0,u=document.createRange();n.end=n.end>s?s:n.end;u.setStart(i,0);u.collapse(!0);for(var h=[i],e=!1,c=!1;!c&&(i=h.pop());)if(3==i.nodeType)f=r+i.length,!e&&!this._isFigcaptionNext(i)&&n.start>=r&&n.start<=f&&(u.setStart(i,n.start-r),e=!0),e&&n.end>=r&&n.end<=f&&(u.setEnd(i,n.end-r),c=!0),r=f;else for(o=i.childNodes.length;o--;)h.push(i.childNodes[o]);this.selection.setRange(u)}},size:function(n,t){var r=this.utils.getNode(n),u,i;return r?(u=document.createRange(),i=u.cloneRange(),i.selectNodeContents(r),this._getString(i,t).length):0},_getString:function(n,t){var i=n.toString();return i=this.editor.isEmpty()?i.replace(/\uFEFF/g,""):i,i=t?i.trim():i,i},_setComponentOffset:function(n){return!!this.component.isNonEditable(n)&&this.component.setActive(n)},_isFigcaptionNext:function(n){var t=n.nextSibling;return""===n.nodeValue.trim()&&t&&"FIGCAPTION"===t.tagName}});n.add("service","inspector",{init:function(n){this.app=n},parse:function(t){return n.create("inspector.parser",this.app,this,t)},isText:function(t){if("string"==typeof t&&!/^\s*<(\w+|!)[^>]*>/.test(t))return!0;var i=n.dom(t).get();return i&&3===i.nodeType},isInlineTag:function(n,t){var i=this._extendTags(this.opts.inlineTags,t);return this._isTag(n)&&-1!==i.indexOf(n.toLowerCase())},isBlockTag:function(n,t){var i=this._extendTags(this.opts.blockTags,t);return this._isTag(n)&&-1!==i.indexOf(n.toLowerCase())},isTableCellTag:function(n){return-1!==["td","th"].indexOf(n.toLowerCase())},isHeadingTag:function(n){return-1!==["h1","h2","h3","h4","h5","h6"].indexOf(n.toLowerCase())},_isTag:function(n){return void 0!==n&&n},_extendTags:function(n,t){if(n=n.concat(n),t)for(var i=0;i<t.length;i++)n.push(t[i]);return n}});n.add("class","inspector.parser",{init:function(t,i,r){this.app=t;this.uuid=t.uuid;this.opts=t.opts;this.utils=t.utils;this.editor=t.editor;this.selection=t.selection;this.inspector=i;this.el=r;this.$el=n.dom(this.el);this.node=this.$el.get();this.$component=this.$el.closest(".redactor-component",".redactor-in")},isEditor:function(){return this.node===this.editor.getElement().get()},isInEditor:function(){return 0!==this.$el.parents(".redactor-in-"+this.uuid).length},isComponent:function(){return 0!==this.$component.length},isComponentType:function(n){return this.getComponentType()===n},isComponentActive:function(){return this.isComponent()&&this.$component.hasClass("redactor-component-active")},isComponentEditable:function(){var n=this.getComponentType();return this.isComponent()&&-1!==["code","table"].indexOf(n)},isFigcaption:function(){return this.getFigcaption()},isPre:function(){return this.getPre()},isCode:function(){var n=this.$el.closest("code"),t=n.parent("pre");return 0!==n.length&&0===t.length},isList:function(){return this.getList()},isFirstListItem:function(){return this._getLastOrFirstListItem("first")},isLastListItem:function(){return this._getLastOrFirstListItem("last")},isFirstTableCell:function(){return this._getLastOrFirstTableCell("first")},isLastTableCell:function(){return this._getLastOrFirstTableCell("last")},isTable:function(){return this.isComponentType("table")||this.getTable()},isHeading:function(){return this.getHeading()},isBlockquote:function(){return this.getBlockquote()},isDl:function(){return this.getDl()},isParagraph:function(){return this.getParagraph()},isLink:function(){return this.getLink()},isFile:function(){return this.getFile()},isText:function(){return this.inspector.isText(this.el)},isInline:function(){var n=this.opts.inlineTags;return!!this.isElement()&&-1!==n.indexOf(this.node.tagName.toLowerCase())},isBlock:function(){var n=this.opts.blockTags;return!!this.isElement()&&-1!==n.indexOf(this.node.tagName.toLowerCase())},isElement:function(){return this.node&&this.node.nodeType&&3!==this.node.nodeType},hasParent:function(n){return 0!==this.$el.closest(n.join(",")).length},getNode:function(){return this.node},getTag:function(){return!!this.isElement()&&this.node.tagName.toLowerCase()},getComponent:function(){return!!this.isComponent()&&this.$component.get()},getComponentType:function(){return!!this.isComponent()&&this.$component.attr("data-redactor-type")},getFirstNode:function(){return this.utils.getFirstNode(this.node)},getLastNode:function(){return this.utils.getLastNode(this.node)},getFirstElement:function(){return this.utils.getFirstElement(this.node)},getLastElement:function(){return this.utils.getLastElement(this.node)},getFigcaption:function(){return this._getClosestNode("figcaption")},getPre:function(){return this._getClosestNode("pre")},getCode:function(){return this._getClosestNode("code")},getList:function(){return this._getClosestNode("ul, ol")},getParentList:function(){return this._getClosestUpNode("ul, ol")},getListItem:function(){return this._getClosestNode("li")},getTable:function(){return this.getComponentType("table")?this.$component.find("table").get():this._getClosestNode("table")},getTableCell:function(){var n=this.$el.closest("td, th");return 0!==n.length&&n.get()},getComponentCodeElement:function(){return!!this.isComponentType("code")&&this.$component.find("pre code, pre").last().get()},getImageElement:function(){return!!this.isComponentType("image")&&this.$component.find("img").get()},getParagraph:function(){return this._getClosestNode("p")},getHeading:function(){return this._getClosestNode("h1, h2, h3, h4, h5, h6")},getDl:function(){return this._getClosestNode("dl")},getBlockquote:function(){return this._getClosestNode("blockquote")},getLink:function(){var t=this.isComponent()&&!this.isFigcaption(),i=this.isComponentType("table"),n;return i||!t?(n=this._getClosestElement("a"),!(!n||n.attr("data-file"))&&n.get()):!1},getFile:function(){var t=this.isComponent(),i=this.isComponentType("table"),n;return i||!t?(n=this._getClosestElement("a"),!(!n||!n.attr("data-file"))&&n.get()):!1},findFirstNode:function(n){return this.$el.find(n).first().get()},findLastNode:function(n){return this.$el.find(n).last().get()},_getLastOrFirstListItem:function(t){var r=this.getList(),u=this.getTag(),i;return r&&"li"===u&&(i=n.dom(r).find("li")[t]().get(),i&&this.node===i)?!0:!1},_getLastOrFirstTableCell:function(t){var r=this.getTable(),u=this.getTag(),i;return r&&("td"===u||"th"===u)&&(i=n.dom(r).find("td, th")[t]().get(),i&&this.node===i)?!0:!1},_getClosestUpNode:function(n){var t=this.$el.parents(n,".redactor-in").last();return 0!==t.length&&t.get()},_getClosestNode:function(n){var t=this.$el.closest(n,".redactor-in");return 0!==t.length&&t.get()},_getClosestElement:function(n){var t=this.$el.closest(n,".redactor-in");return 0!==t.length&&t}});n.add("service","marker",{init:function(n){this.app=n},build:function(n,t){var i=document.createElement("span");return i.id="selection-marker-"+this._getPos(n),i.className="redactor-selection-marker",i.innerHTML=this.opts.markerChar,t?i.outerHTML:i},buildHtml:function(n){return this.build(n,!0)},insert:function(n){var r,t;if(this.remove(),r="both"!==n&&("start"===n||this.selection.isCollapsed()),this.selection.is()||this.editor.focus(),t=this.selection.getRange(),t){var u=this.build("start"),f=this.build("end"),i=t.cloneRange();return r||(i.collapse(!1),i.insertNode(f)),i.setStart(t.startContainer,t.startOffset),i.collapse(!0),i.insertNode(u),t.setStartAfter(u),r||t.setEndBefore(f),this.selection.setRange(t),u}},find:function(n,t){var r=this.editor.getElement(),i=(t||r).find("span#selection-marker-"+this._getPos(n));return 0!==i.length&&i.get()},restore:function(){var i=this.find("start"),r=this.find("end"),n=this.selection.getRange(),u,t;(n&&this.selection.is()||(this.editor.focus(),n=document.createRange()),i)&&(u=!!r&&r.previousSibling,t=i.nextSibling,t=(!t||3!==t.nodeType||""!==t.textContent.replace(/[\n\t]/g,""))&&t,r?t&&"selection-marker-end"===t.id?this._restoreInject(n,i):u&&t?(n.selectNodeContents(u),n.collapse(!1),n.setStart(t,0)):u&&!t?(n.selectNodeContents(u),n.collapse(!1),n.setStartAfter(i)):(n.setStartAfter(i),n.setEndBefore(r)):t?(n.selectNodeContents(t),n.collapse(!0)):this._restoreInject(n,i),this.selection.setRange(n),i&&i.parentNode.removeChild(i),r&&r.parentNode.removeChild(r))},remove:function(){var n=this.find("start"),t=this.find("end");n&&n.parentNode.removeChild(n);t&&t.parentNode.removeChild(t)},_getPos:function(n){return void 0===n?"start":n},_restoreInject:function(t,i){var r=this.utils.createInvisibleChar();n.dom(i).after(r);t.selectNodeContents(r);t.collapse(!1)}});n.add("service","component",{init:function(n){this.app=n;this.activeClass="redactor-component-active"},create:function(t,i){return n.create(t+".component",this.app,i)},build:function(t){var i,u=n.dom(t),r=u.attr("data-redactor-type");return r&&(i=this.create(r,t)),i||t},remove:function(t,i){var r=n.dom(t).closest(".redactor-component"),f=r.attr("data-redactor-type"),s=r.parent(),h=this.inspector.parse(s),e=this.utils.findSiblings(r,"prev"),o=this.utils.findSiblings(r,"next"),c=this.app.broadcast(f+".delete",r),u;!1!==c&&((r.remove(),this.app.broadcast(f+".deleted",r),this.app.broadcast("contextbar.close"),this.app.broadcast("imageresizer.stop"),!1!==i)&&(u=h.getTableCell(),u&&this.utils.isEmptyHtml(u.innerHTML)?this.caret.setStart(u):o?this.caret.setStart(o):e?this.caret.setEnd(e):this.editor.startFocus()),this.editor.isEmpty()&&(this.editor.setEmpty(),this.editor.startFocus(),this.app.broadcast("empty")))},isNonEditable:function(n){var t=this.inspector.parse(n);return t.isComponent()&&!t.isComponentEditable()},isActive:function(t){var i,r;return t?(r=this.inspector.parse(t),i=n.dom(r.getComponent()),i.hasClass(this.activeClass)):(i=this._find(),0!==i.length)},getActive:function(n){var t=this._find();return 0!==t.length&&(n?t:t.get())},setActive:function(t){var i;this.clearActive();this.editor.focus();var u=this.inspector.parse(t),f=u.getComponent(),r=n.dom(f);u.isFigcaption()||(i=r.find(".redactor-component-caret"),0===i.length&&(i=this._buildCaret(),r.prepend(i)),this.caret.setAtStart(i.get()));r.addClass(this.activeClass)},clearActive:function(){var n=this._find();n.removeClass(this.activeClass);n.find(".redactor-component-caret").remove();this.app.broadcast("imageresizer.stop")},setOnEvent:function(n,t){this.clearActive();var i=this.inspector.parse(n.target);i.isFigcaption()||i.isComponentEditable()||i.isComponent()&&(this.setActive(n.target),!0!==t&&n.preventDefault())},executeScripts:function(){for(var src,tag,$editor=this.editor.getElement(),scripts=$editor.find("[data-redactor-type]").find("script").getAll(),i=0;i<scripts.length;i++)""!==scripts[i].src?(src=scripts[i].src,this.$doc.find('head script[src="'+src+'"]').remove(),tag=document.createElement("script"),tag.src=src,document.getElementsByTagName("head")[0].appendChild(tag)):eval(scripts[i].innerHTML)},_find:function(){return this.editor.getElement().find("."+this.activeClass)},_buildCaret:function(){var t=n.dom("<span>");return t.addClass("redactor-component-caret"),t.attr("contenteditable",!0),t}});n.add("service","insertion",{init:function(n){this.app=n},set:function(n,t,i){n=!1!==t?this.cleaner.input(n):n;n=!1!==t?this.cleaner.paragraphize(n):n;var r=this.editor.getElement();return r.html(n),!1!==i&&this.editor.endFocus(),n},insertNode:function(n,t){this.editor.focus();var i=this.utils.isFragment(n)?n:this.utils.createFragment(n);return this._collapseSelection(),this._insertFragment(i),this._setCaret(t,i),this._sendNodes(i.nodes)},insertBreakLine:function(){return this.insertNode(document.createElement("br"),"after")},insertNewline:function(){return this.insertNode(document.createTextNode("\n"),"after")},insertText:function(n){return this.insertHtml(this.cleaner.getFlatText(n))},insertChar:function(n){return this.insertNode(n,"after")},insertRaw:function(n){return this.insertHtml(n,!1)},insertPoint:function(n){var t,i,f=this.marker.build("start"),u=!1,e=n.clientX,o=n.clientY,r,s;return document.caretPositionFromPoint?(r=document.caretPositionFromPoint(e,o),s=document.getSelection(),i=this.inspector.parse(r.offsetNode),i.isInEditor()&&(t=s.getRangeAt(0),t.setStart(r.offsetNode,r.offset),t.collapse(!0),t.insertNode(f),u=!0)):document.caretRangeFromPoint&&(t=document.caretRangeFromPoint(e,o),i=this.inspector.parse(t.startContainer),i.isInEditor()&&(t.insertNode(f),u=!0)),u},insertToPoint:function(t,i,r){var f=!0===r||this.insertPoint(t),u;return f||(u=this.editor.getLastNode(),n.dom(u).after(this.marker.build("start"))),this.component.clearActive(),this.selection.restoreMarkers(),this.insertHtml(i)},insertToOffset:function(n,t){return this.offset.set({start:n,end:n}),this.insertHtml(t)},insertHtml:function(t,i){var r,s,l;if(this.opts.input){if(r=this.utils.parseHtml(t),this.selection.isAll())return this._insertToAllSelected(r);this.selection.is()||this.editor.startFocus();var a=this.selection.isCollapsed(),h=this.selection.isText(),e=this.selection.getCurrent(),f=this.inspector.parse(e);this._collapseSelection();r=this._getCleanedInput(r,f,i);var u,o,c=this._isFigure(r.html),v=this._isComponentSpan(r.html),y=this.inspector.isText(r.html);return this.editor.isEmpty()?this._insertToEmptyEditor(r.html):f.isComponent()&&!f.isComponentEditable()?this._insertToWidget(e,f,r.html):v?this.insertNode(r.nodes,"end"):c&&!h&&!f.isList()?f.isInline()?this._insertToInline(e,r):(u=this.utils.createFragment(r.html),this.utils.splitNode(e,u),this.caret.setEnd(u.last),this._sendNodes(u.nodes)):f.isCode()?this._insertToCode(r,e,i):f.isPre()?this._insertToPre(r,i):f.isHeading()||f.isFigcaption()?(r.html=!1!==i?this.cleaner.removeTagsExcept(r.html,["a"]):r.html,r.html=!1!==i?this.cleaner.replaceNbspToSpaces(r.html):r.html,u=this.utils.createFragment(r.html),this.insertNode(u,"end")):y?!h&&"br"!==this.opts.markup&&this._hasBlocksAndImages(r.nodes)?(r.html=!1!==i?this.cleaner.paragraphize(r.html):r.html,u=this.utils.createFragment(r.html),this.utils.splitNode(e,u),this.caret.setEnd(u.last),this._sendNodes(u.nodes)):this.insertNode(r.nodes,"end"):!a&&!c?(r.html=!1!==i?this.cleaner.paragraphize(r.html):r.html,u=this.utils.createFragment(r.html),this.insertNode(u,"end")):f.isInline()&&!this._isPlainHtml(r.html)?this._insertToInline(e,r):f.isBlockquote()||f.isDl()?(o=this.opts.inlineTags,o.concat(["br"]),r.html=!1!==i?this.cleaner.replaceBlocksToBr(r.html):r.html,r.html=!1!==i?this.cleaner.removeTagsExcept(r.html,o):r.html,u=this.utils.createFragment(r.html),this.insertNode(u,"end")):f.isParagraph()?this._isPlainHtml(r.html)?this.insertNode(r.nodes,"end"):(r.html=!1!==i?this.cleaner.paragraphize(r.html):r.html,u=this.utils.createFragment(r.html),this.utils.splitNode(e,u),this.caret.setEnd(u.last),this._sendNodes(u.nodes)):f.isList()&&(o=this.opts.inlineTags,o=o.concat(["br","li","ul","ol","img"]),r.html=!1!==i?this.cleaner.replaceBlocksToBr(r.html):r.html,r.html=!1!==i?this.cleaner.removeTagsExcept(r.html,o):r.html,r.html=!1!==i?this.cleaner.removeBrAtEnd(r.html):r.html,u=this.utils.createFragment(r.html),r.nodes=u.nodes,this._containsTags(r.html,["ul","ol","li"]))?(s=this.selection.getElement(e),s&&"LI"===s.tagName&&this.caret.isStart(s))?(r.nodes=n.dom(u.nodes).unwrap("ul, ol").getAll(),n.dom(s).before(r.nodes),l=r.nodes[r.nodes.length-1],this.caret.setEnd(l),this._sendNodes(r.nodes)):this._isPlainHtml(r.html)?this.insertNode(u,"end"):(u=this._buildList(r,s,u),this.utils.splitNode(e,u,!0),this.caret.setEnd(u.last),this._sendNodes(u.nodes)):this.insertNode(r.nodes,"end")}},_insertToAllSelected:function(n){var t=this.set(n.html),i=this.utils.parseHtml(t);return this._sendNodes(i.nodes)},_insertToEmptyEditor:function(n){n=this.cleaner.paragraphize(n);var i=this.utils.createFragment(n),t=this.editor.getElement();return t.html(""),t.append(i.frag),this.caret.setEnd(t),this._sendNodes(i.nodes)},_insertToInline:function(n,t){var i=this.utils.createFragment(t.html);return this.utils.splitNode(n,i,!1,!0),this.caret.setEnd(i.last),this._sendNodes(i.nodes)},_insertToCode:function(n,t,i){n.html=!1!==i?this.cleaner.encodeHtml(n.html):n.html;n.html=!1!==i?this.cleaner.removeNl(n.html):n.html;var r=this.utils.createFragment(n.html),u=this.insertNode(r,"end");return this.utils.normalizeTextNodes(t),u},_insertToPre:function(n,t){n.html=!1!==t?this.cleaner.encodeHtml(n.html):n.html;var i=this.utils.createFragment(n.html);return this.insertNode(i,"end")},_insertToWidget:function(t,i,r){r=this._isComponentSpan(r)?r:this.cleaner.paragraphize(r);var u=this.utils.createFragment(r),e=i.getComponent(),f=n.dom(e);return f.after(u.frag),f.remove(),this.caret.setEnd(u.last),this._sendNodes(u.nodes)},_insertFragment:function(n){var i=this.selection.getRange(),t;i&&(this.selection.isCollapsed()?(t=i.startContainer,3!==t.nodeType&&"BR"===t.tagName&&(this.caret.setAfter(t),t.parentNode.removeChild(t))):i.deleteContents(),i.insertNode(n.frag))},_sendNodes:function(n){for(var t,r,i=0;i<n.length;i++)t=n[i],r=3!==t.nodeType&&"function"==typeof t.getAttribute&&t.getAttribute("data-redactor-type"),r&&this.app.broadcast(r+".inserted",this.component.build(t));return this.app.broadcast("inserted",n),this.component.executeScripts(),n},_setCaret:function(n,t){var i=this._isLastInline(t);n?(n=i&&"end"===n?"after":n,this.caret["set"+this.utils.ucfirst(n)](t.last)):!1!==n&&i&&this.caret.setAfter(t.last)},_isLastInline:function(n){if(n.last){var t=this.inspector.parse(n.last);return t.isInline()}return!1},_getCleanedInput:function(n,t,i){var r=t.isCode()||t.isPre();return n.html=r||!1===i?n.html:this.cleaner.input(n.html),n=r||!1===i?n:this.utils.parseHtml(n.html),n},_getContainer:function(t){return n.dom(this.utils.createTmpContainer(t))},_buildList:function(t,i,r){var e=t.nodes,u=e[0];if(u&&3!==u.nodeType&&"li"===u.tagName){var o=n.dom(i),s=o.get().tagName.toLowerCase(),f=n.dom("<"+s+" />");return f.append(r.nodes),this.utils.createFragment(f.get().outerHTML)}return r},_containsTags:function(n,t){return 0!==this._getContainer(n).find(t.join(",")).length},_collapseSelection:function(){},_hasFigureOrTable:function(n){return 0!==this._getContainer(n).find("figure, table").length},_hasBlocks:function(n){return 0!==this._getContainer(n).find(this.opts.blockTags.join(",")).length},_hasBlocksAndImages:function(n){return 0!==this._getContainer(n).find(this.opts.blockTags.join(",")+",img").length},_isPlainHtml:function(n){return 0===this._getContainer(n).find(this.opts.blockTags.join(",")+", img").length},_isFigure:function(t){if(this._isHtmlString(t))return 0!==n.dom(t).closest("figure").length},_isComponentSpan:function(t){if(this._isHtmlString(t))return 0!==n.dom(t).closest("span.redactor-component").length},_isHtmlString:function(n){return!("string"==typeof n&&!/^\s*<(\w+|!)[^>]*>/.test(n))}});n.add("service","block",{mixins:["formatter"],init:function(n){this.app=n},format:function(n){return this.type=n.type?n.type:"set",this.tag="string"==typeof n?n:n.tag,this.tag=this._prepareTag(this.tag),this.tag=this.tag.toLowerCase(),"string"==typeof n?this.args=!1:this.buildArgs(n),this._format()},getBlocks:function(n){return this.selection.getBlocks({tags:n||this._getTags(),first:!0})},getElements:function(t){var i=this.selection.getBlock();return this.selection.isCollapsed()||!i||"TD"!==i.tagName&&"TH"!==i.tagName?n.dom(this.getBlocks(t)):this._wrapInsideTable("div")},clearFormat:function(n){this.selection.save();var t=this.getElements(n||this._getTags());return t.each(function(n){for(;n.attributes.length>0;)n.removeAttribute(n.attributes[0].name)}),this.selection.restore(),t.getAll()},_format:function(){var o;this.selection.save();var r,f,i,e,u=this.getBlocks(),s=this.selection.getBlock(),t=[];if(1===u.length&&"DIV"===u[0].tagName){if(r=this._getTextNodesData(),!r||0===r.nodes.length)return t=this._replaceBlocks(u),t=this._sendNodes(t),setTimeout(function(){this.selection.restore()}.bind(this),0),t;for(f=this._getReplacedTag("set"),i=n.dom("<"+f+">"),e=r.last.nextSibling,e&&"BR"===e.tagName&&n.dom(e).remove(),o=0;o<r.nodes.length;o++)i.append(r.nodes[o]);return this.utils.splitNode(u[0],[i.get()]),t=this._sendNodes([i.get()]),this.utils.isEmptyHtml(i.html())?this.caret.setStart(i):setTimeout(function(){this.selection.restore()}.bind(this),0),t}return u.length>0?(t=this._replaceBlocks(u),t=this._sendNodes(t),setTimeout(function(){this.selection.restore()}.bind(this),0),t):this.selection.isCollapsed()||!s||"TD"!==s.tagName&&"TH"!==s.tagName?void 0:(f=this._getReplacedTag("set"),i=this._wrapInsideTable(f),this.selection.setAll(i),this._sendNodes([i.get()]))},_wrapInsideTable:function(t){var f=this._getTextNodesData(),i=n.dom("<"+t+">"),r,u;for(n.dom(f.first).before(i),r=0;r<f.nodes.length;r++)i.append(f.nodes[r]);return u=i.get().nextSibling,u&&"BR"===u.tagName&&n.dom(u).remove(),i},_prepareTag:function(n){return void 0===n?this.opts.markup:n},_sendNodes:function(n){return n.length>0&&(n=this.applyArgs(n,!1),n=this._combinePre(n),n=this._cleanBlocks(n)),n},_getTags:function(){return["div","p","blockquote","pre","h1","h2","h3","h4","h5","h6"]},_replaceBlocks:function(n){for(var r,i=[],u=this._isToggleFormatType(n)?"toggle":"set",f=this._getReplacedTag(u),t=0;t<n.length;t++)r=this.utils.replaceToTag(n[t],f),i.push(r.get());return i},_getReplacedTag:function(n){var t="toggle"===n?this.opts.markup:this.tag;return this.opts.breakline&&"p"===t?"div":t},_getTextNodesData:function(){var t=this.selection.getNodes({textnodes:!0,keepbr:!0}),i;if(0===t.length)return!1;for(var f=t[0],r=t[t.length-1],n=r,u=!1;!u;)i=this.selection.getInline(n),n=i?i.nextSibling:n.nextSibling,n&&(3===n.nodeType||"BR"!==n.tagName&&!this.inspector.isBlockTag(n.tagName))?t.push(n):u=!0;return{nodes:t,first:f,last:r}},_isToggleFormatType:function(n){for(var i=0,r=n.length,t=0;t<r;t++)n[t]&&this.tag===n[t].tagName.toLowerCase()&&i++;return i===r},_combinePre:function(t){for(var r,u=[],i=0;i<t.length;i++){if(r=t[i].nextElementSibling,r&&"PRE"===t[i].tagName&&"PRE"===r.tagName){var f=n.dom(t[i]),e=n.dom(r),o=document.createTextNode("\n");f.append(o);f.append(e);e.unwrap("pre")}u.push(t[i])}return u},_cleanBlocks:function(t){for(var u,r,f=["h1","h2","h3","h4","h5","h6"],e=this.opts.inlineTags,i=0;i<t.length;i++)u=t[i].tagName.toLowerCase(),r=n.dom(t[i]),-1!==f.indexOf(u)?r.find("span").not(".redactor-component, .non-editable, .redactor-selection-marker").unwrap():"pre"===u&&r.find(e.join(",")).not(".redactor-selection-marker").unwrap(),this.opts.breakline&&"div"===u?r.attr("data-redactor-tag","br"):r.removeAttr("data-redactor-tag"),this.utils.normalizeTextNodes(t[i]);return t}});n.add("service","inline",{mixins:["formatter"],init:function(n){this.app=n},format:function(n){if(!this._isFormat())return[];this.type=n.type?n.type:"set";this.tag="string"==typeof n?n:n.tag;this.tag=this.tag.toLowerCase();this.tag=this.arrangeTag(this.tag);"string"==typeof n?this.args=!1:this.buildArgs(n);return this.selection.isCollapsed()?this.formatCollapsed():this.formatUncollapsed()},_isFormat:function(){var t=this.selection.getCurrent(),n=this.inspector.parse(t),i=n.isComponent()&&!n.isComponentType("table")&&!n.isFigcaption();return!(!t||n.isPre()||n.isCode()||i)},arrangeTag:function(n){var i=this.opts.replaceTags,t;for(t in i)n===t&&(n=i[t]);return n},formatCollapsed:function(){var f,r,u,s,t=[],i=this.selection.getInlineFirst(),e=this.selection.getInlines({all:!0}),h=n.dom(i),l,y,p,a,c,v,o;if(i)if(l=this.inspector.parse(i),y=this.utils.isEmptyHtml(i.innerHTML),y)i.tagName.toLowerCase()===this.tag?this.hasSameArgs(i)?(this.caret.setAfter(i),h.remove(),p=this.selection.getElement(),this.utils.normalizeTextNodes(p)):"span"===this.tag?(t=this.applyArgs([i],!1),this.caret.setStart(i)):t=this.insertInline(t):l.hasParent([this.tag])?(f=h.closest(this.tag),r=f.get(),this.hasSameArgs(r)?(f.unwrap(),this.caret.setStart(i)):t=this.insertInline(t)):t=this.insertInline(t);else if(i.tagName.toLowerCase()===this.tag)this.hasSameArgs(i)?(s=this.utils.extractHtmlFromCaret(i),u=n.dom("<"+this.tag+" />"),u=this.utils.cloneAttributes(i,u),h.after(u.append(s)),this.caret.setAfter(i)):t=this.insertInline(t);else if(l.hasParent([this.tag]))if(f=h.closest(this.tag),r=f.get(),this.hasSameArgs(r)){for(s=this.utils.extractHtmlFromCaret(r,r),u=n.dom("<"+this.tag+" />"),u=this.utils.cloneAttributes(r,u),v=0,e=e.reverse(),o=0;o<e.length;o++)e[o]!==r&&(c=n.dom("<"+e[o].tagName.toLowerCase()+">"),0===v?a=c:a.append(c),v++);f.after(u.append(s));f.after(a);this.caret.setStart(c)}else t=this.insertInline(t);else t=this.insertInline(t);else t=this.insertInline(t);return t},insertInline:function(n){var t=document.createElement(this.tag);return n=this.insertion.insertNode(t,"start"),this.applyArgs(n,!1)},hasSameArgs:function(t){var s,i,r,o;if(0===t.attributes.length&&!1===this.args)return!0;if(s=!0,this.args){i=0;for(r in this.args){var u=n.dom(t),y=this.args[r],f=this.utils.toParams(y),h=u.attr(r);if(y)if("style"===r){f=f.trim().replace(/;$/,"");for(var w=this.utils.styleToObj(u.attr("style")),e=f.split(";"),c=0,l=0;l<e.length;l++){var p=e[l].split(":"),a=p[0].trim(),v=p[1].trim();-1!==a.search(/color/)?(o=u.css(a),o&&(o===v||this.utils.rgb2hex(o)===v)&&c++):u.css(a)===v&&c++}c===e.length&&Object.keys(w).length===e.length&&i++}else h===f&&i++;else h&&""!==h||i++}s=i===Object.keys(this.args).length}return s},formatUncollapsed:function(){var t=this.selection.getInlines({all:!0,inside:!0}),n;return this.selection.save(),this._convertTags("u"),this._convertTags("del"),this._convertToStrike(t),this.selection.restore(),document.execCommand("strikethrough"),this._clearDecoration(),this.selection.save(),n=this._revertToInlines(),n=this.applyArgs(n,!1),this.selection.restore(),this._clearEmptyStyle(),n=this._normalizeBlocks(n),n},_convertTags:function(n){if(this.tag!==n){var t=this.editor.getElement();t.find(n).each(function(t){var i=this.utils.replaceToTag(t,"span");i.addClass("redactor-convertable-"+n)}.bind(this))}},_revertTags:function(n){var t=this.editor.getElement();t.find("span.redactor-convertable-"+n).each(function(t){var i=this.utils.replaceToTag(t,n);i.removeClass("redactor-convertable-"+n);this.utils.removeEmptyAttr(i,"class")&&i.removeAttr("class")}.bind(this))},_convertToStrike:function(t){for(var f=this.selection.getText().replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),i=0;i<t.length;i++){var e=this.arrangeTag(t[i].tagName.toLowerCase()),r=t[i],u=n.dom(r),o=this.hasSameArgs(r);e===this.tag&&("span"===this.tag&&this._isTextSelected(r,f)?u.addClass("redactor-convertable-apply"):o?this._replaceToStrike(u):"span"===this.tag&&u.addClass("redactor-unconvertable-apply"))}},_replaceToStrike:function(t){t.replaceWith(function(){return n.dom("<strike>").append(t.contents())})},_revertToInlines:function(){var i=[],t=this.editor.getElement();return"u"!==this.tag&&t.find("u").unwrap(),t.find("span.redactor-convertable-apply").each(function(t){var r=n.dom(t);r.find("strike").unwrap();this._forceRemoveClass(r,"redactor-convertable-apply");i.push(t)}.bind(this)),t.find("span.redactor-unconvertable-apply").each(function(t){var i=n.dom(t);this._forceRemoveClass(i,"redactor-unconvertable-apply")}.bind(this)),t.find("strike").each(function(n){var t=this.utils.replaceToTag(n,this.tag);i.push(t.get())}.bind(this)),this._revertTags("u"),this._revertTags("del"),i},_normalizeBlocks:function(t){var f=this.opts.inlineTags,r=this.selection.getBlocks(),i,u;if(r)for(i=0;i<r.length;i++)"PRE"===r[i].tagName&&(u=n.dom(r[i]),u.find(f.join(",")).not(".redactor-selection-marker").each(function(i){-1!==t.indexOf(i)&&(t=this.utils.removeFromArrayByValue(t,i));n.dom(i).unwrap()}.bind(this)));return t},_clearDecoration:function(){var t=this.editor.getElement();t.find(this.opts.inlineTags.join(",")).each(function(t){if("line-through"===t.style.textDecoration||"line-through"===t.style.textDecorationLine){var i=n.dom(t);i.css("textDecorationLine","");i.css("textDecoration","");i.wrap("<strike>")}})},_clearEmptyStyle:function(){for(var i,r,t=this.getInlines(),n=0;n<t.length;n++)if(this._clearEmptyStyleAttr(t[n]),i=t[n].childNodes,i)for(r=0;r<i.length;r++)this._clearEmptyStyleAttr(i[r])},_clearEmptyStyleAttr:function(n){3!==n.nodeType&&this.utils.removeEmptyAttr(n,"style")&&(n.removeAttribute("style"),n.removeAttribute("data-redactor-style-cache"))},_forceRemoveClass:function(n,t){n.removeClass(t);this.utils.removeEmptyAttr(n,"class")&&n.removeAttr("class")},_isTextSelected:function(n,t){var i=this.utils.removeInvisibleChars(n.textContent);return t===i||-1!==t.search(new RegExp("^"+this.utils.escapeRegExp(i)+"$"))},getInlines:function(n){return n?this.selection.getInlines({tags:n,all:!0}):this.selection.getInlines({all:!0})},getElements:function(t){return n.dom(this.getInlines(t))},clearFormat:function(){var i,t,r,u;for(this.selection.save(),i=this.selection.getInlines({all:!0}),t=0;t<i.length;t++)r=n.dom(i[t]),u=this.selection.getInline(i[t]),u&&r.unwrap();this.selection.restore()}});n.add("service","autoparser",{init:function(n){this.app=n},observe:function(){var i=this.editor.getElement(),t=i.find(".redactor-autoparser-object").each(function(t){var i=n.dom(t);i.removeClass("redactor-autoparser-object");""===i.attr("class")&&i.removeAttr("class")});t.length>0&&t.each(function(t){var i,r=!1,u=t.tagName;"A"===u?i="link":"IMG"===u?i="image":"IFRAME"===u&&(i="video");i&&(r=n.create(i+".component",this.app,t),this.app.broadcast(i+".inserted",r),this.app.broadcast("autoparse",i,r))}.bind(this))},format:function(n,t){this._isKey(t)&&this._format()},parse:function(n){var i=["figure","pre","code","a","iframe","img","i","em","span"],v=["img","i","em","span"],e=[],h=0,t,c,r,u,f,o,s,l,a;for(n=this.cleaner.encodePreCode(n),t=0;t<i.length;t++)if(c=-1!==v.indexOf(i[t])?"<"+i[t]+"[^>]*>":"<"+i[t]+"([\\w\\W]*?)<\/"+i[t]+">",r=n.match(new RegExp(c,"gi")),null!==r)for(u=0;u<r.length;u++)n=n.replace(r[u],"#####replaceparse"+h+"#####"),e.push(r[u]),h++;if(this.opts.autoparseImages&&n.match(this.opts.regex.imageurl))for(f=n.match(this.opts.regex.imageurl),t=0;t<f.length;t++)n=n.replace(f[t],'<img class="redactor-autoparser-object" src="'+f[t]+'">');for(this.opts.autoparseVideo&&(n.match(this.opts.regex.youtube)||n.match(this.opts.regex.vimeo))&&(l='<iframe width="500" height="281" class="redactor-autoparser-object" src="',a='" frameborder="0" allowfullscreen><\/iframe>',n.match(this.opts.regex.youtube)?(o="//www.youtube.com/embed/$1",s=this.opts.regex.youtube):n.match(this.opts.regex.vimeo)&&(o="//player.vimeo.com/video/$2",s=this.opts.regex.vimeo),n=n.replace(s,l+o+a)),this.opts.autoparseLinks&&n.match(this.opts.regex.url)&&(n=this._formatLinks(n)),t=0;t<e.length;t++)n=n.replace("#####replaceparse"+t+"#####",e[t]);return n},_isKey:function(n){return n===this.keycodes.ENTER||n===this.keycodes.SPACE},_format:function(){var c=this.selection.getParent(),b=n.dom(c),k=c&&0!==b.closest("figure, pre, code, img, a, iframe").length,f,l,r,t,o,s,v,y,h,p,i,w;if(!k&&this.selection.isCollapsed()){f=this.utils.createInvisibleChar();l=this.selection.getRange();l.insertNode(f);var u=this.selection.getCurrent(),d=this.inspector.parse(u),g=n.dom(u);if(f.parentNode.removeChild(f),u&&3===u.nodeType){if(t=u.textContent,this.opts.autoparseImages&&t.match(this._convertToRegExp(this.opts.regex.imageurl))){var nt=d.isList(),a=t.match(this.opts.regex.imageurl),tt=nt?void 0:"<figure><img><\/figure>",e=this.component.create("image",tt);e.setSrc(a[0]);e.addClass("redactor-autoparser-object");t=t.replace(a[0],e.get().outerHTML);r="image"}else this.opts.autoparseVideo&&(t.match(this._convertToRegExp(this.opts.regex.youtube))||t.match(this._convertToRegExp(this.opts.regex.vimeo)))?(v='<iframe width="500" height="281" src="',y='" frameborder="0" allowfullscreen><\/iframe>',t.match(this.opts.regex.youtube)?(o="//www.youtube.com/embed/$1",s=this.opts.regex.youtube):t.match(this.opts.regex.vimeo)&&(o="//player.vimeo.com/video/$2",s=this.opts.regex.vimeo),h=this.component.create("video",v+o+y),h.addClass("redactor-autoparser-object"),t=t.replace(s,h.get().outerHTML),r="video"):this.opts.autoparseLinks&&t.match(this._convertToRegExp(this.opts.regex.url))&&(t=this._formatLinks(t),r="link");r&&(g.replaceWith(t),p=this.editor.getElement(),i=p.find(".redactor-autoparser-object").removeClass("redactor-autoparser-object"),(i="link"===r?n.create("link.component",this.app,i):i,"link"===r)?(this.caret.setAfter(i),this.app.broadcast("link.inserted",i)):(this.caret.setAfter(i),w=i.clone(),i.remove(),i=this.insertion.insertHtml(w),i=this.component.build(i)),this.app.broadcast("autoparse",r,i))}}},_formatLinks:function(n){for(var o,s,f,e=n.match(this.opts.regex.url),r={},u=0;u<e.length;u++){var i=e[u],t=i,h=null!==i.match(/(https?|ftp):\/\//i)?"":"http://",c=-1!==["/","&","="].indexOf(i.slice(-1))?"":"\\b",l=!1!==this.opts.pasteLinkTarget?' target="'+this.opts.pasteLinkTarget+'"':"";t=t.length>this.opts.linkSize?t.substring(0,this.opts.linkSize)+"...":t;t=-1===t.search("%")?decodeURIComponent(t):t;o="("+i.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")+c+")";s=' class="redactor-autoparser-object"';r[o]='<a href="'+h+i.trim()+'"'+l+s+">"+t.trim()+"<\/a>"}for(f in r)n=n.replace(new RegExp(f,"g"),r[f]);return n},_convertToRegExp:function(n){return new RegExp(String(n).replace(/^\//,"").replace(/\/ig$/,"").replace(/\/gi$/,"")+"$","gi")}});n.add("service","storage",{init:function(n){this.app=n;this.data=[]},observeImages:function(){var n=this.editor.getElement(),t=n.find("[data-image]");t.each(this._addImage.bind(this))},observeFiles:function(){var n=this.editor.getElement(),t=n.find("[data-file]");t.each(this._addFile.bind(this))},setStatus:function(n,t){this.data[n].status=t},getChanges:function(){var r=this.editor.getElement(),t,n,i;for(t in this.data)n=this.data[t],i=r.find("[data-"+n.type+'="'+n.id+'"]'),this.setStatus(n.id,0!==i.length);return this.data},add:function(t,i){var r=n.dom(i),u=r.attr("data-"+t);this.data[u]={type:t,status:!0,node:r.get(),id:r.attr("data-"+t)}},_addImage:function(n){this.add("image",n)},_addFile:function(n){this.add("file",n)}});n.add("service","utils",{init:function(n){this.app=n},isEmpty:function(t){var i=!1;return t=n.dom(t).get(),t&&(i=3===t.nodeType?""===t.textContent.trim().replace(/\n/,""):""===t.innerHTML),i},isEmptyHtml:function(n,t,i){return n=this.removeInvisibleChars(n),n=n.replace(/&nbsp;/gi,""),n=n.replace(/<\/?br\s?\/?>/g,t?"br":""),n=n.replace(/\s/g,""),n=n.replace(/^<p>[^\W\w\D\d]*?<\/p>$/i,""),n=n.replace(/^<div>[^\W\w\D\d]*?<\/div>$/i,""),i&&(n=n.replace(/<ul(.*?[^>])>$/i,"ul"),n=n.replace(/<ol(.*?[^>])>$/i,"ol")),n=n.replace(/<hr(.*?[^>])>$/i,"hr"),n=n.replace(/<iframe(.*?[^>])>$/i,"iframe"),n=n.replace(/<source(.*?[^>])>$/i,"source"),n=n.replace(/<[^\/>][^>]*><\/[^>]+>/gi,""),n=n.replace(/<[^\/>][^>]*><\/[^>]+>/gi,""),n=n.trim(),""===n},trimSpaces:function(n){return this.removeInvisibleChars(n.trim())},createInvisibleChar:function(){return document.createTextNode(this.opts.markerChar)},searchInvisibleChars:function(n){return n.search(/^[\u200B-\u200D\uFEFF]$/g)},removeInvisibleChars:function(n){return n.replace(/[\u200B-\u200D\uFEFF]/g,"")},buildWrapper:function(t){return n.dom("<div>").html(t)},getWrapperHtml:function(n){var t=n.html();return n.remove(),t},createTmpContainer:function(t){var i=n.dom("<div>");return"string"==typeof t?i.html(t):i.append(n.dom(t).clone(!0)),i.get()},createFragment:function(n){for(var t,i,r,u,s=this.createTmpContainer(n),f=document.createDocumentFragment(),e=[],o=0;i=s.firstChild;)o++,t=f.appendChild(i),1===o&&(r=t),e.push(t),u=t;return{frag:f,first:r,last:u,nodes:e}},isFragment:function(n){return"object"==typeof n&&n.frag},parseHtml:function(n){var t=this.createTmpContainer(n);return{html:t.innerHTML,nodes:t.childNodes}},splitNode:function(t,i,r,u){var e,f,c,s,o;if(i=this.isFragment(i)?i.frag:i,e=u?this.inspector.isInlineTag(t.tagName)?t:this.selection.getInline(t):this.inspector.isBlockTag(t.tagName)?t:this.selection.getBlock(t),f=n.dom(e),!u&&this.isEmptyHtml(e.innerHTML,!0))return f.after(i),f.remove(),i;var l=f.get().tagName.toLowerCase(),a=this.caret.isEnd(e),h=this.caret.isStart(e);return(a||h||(c=this.extractHtmlFromCaret(u),s=n.dom("<"+l+" />"),s=this.cloneAttributes(e,s),f.after(s.append(c))),h)?f.before(i):r?f.append(i):(i=f.after(i),o=f.html(),o=this.removeInvisibleChars(o),o=o.replace(/&nbsp;/gi,""),""===o&&f.remove(),i)},extractHtmlFromCaret:function(n,t){var i=this.selection.getRange(),r;if(i&&(t=t||(n?this.selection.getInline():this.selection.getBlock()),t))return r=i.cloneRange(),r.selectNodeContents(t),r.setStart(i.endContainer,i.endOffset),r.extractContents()},createMarkup:function(t){var i=document.createElement(this.opts.markup),r;this.opts.breakline&&i.setAttribute("data-redactor-tag","br");r=n.dom(t);r.after(i);this.caret.setStart(i)},getNode:function(t){var i=n.dom(t).get(),r=this.editor.getElement().get();return void 0===t?r:i||!1},findSiblings:function(t,i){for(t=n.dom(t).get(),i="next"===i?"nextSibling":"previousSibling";t=t[i];)if((3!==t.nodeType||""!==t.textContent.trim())&&"BR"!==t.tagName)return t;return!1},getElementsFromHtml:function(n,t,i){var r=document.createElement("div"),u,f;return r.innerHTML=n,u=r.querySelectorAll(t),f=function(n,t){var r,i;if("number"==typeof this.length&&"function"==typeof n){if(r=[],"object"==typeof this)for(i=0;i<this.length;i++){if(!(i in this))return;r[i]=n.call(t||this,this[i],i,this)}return r}},f.call(u,function(n){var t=n.getAttribute("data-redactor-type");if(!i||!t||t!==i)return n.outerHTML})},getChildNodes:function(t,i,r){var u,e,f,o;if(t=t&&t.nodeType&&11===t.nodeType?t:n.dom(t).get(),u=t.childNodes,e=[],u)for(f=0;f<u.length;f++)!0===r&&3===u[f].nodeType||3===u[f].nodeType&&this.isEmpty(u[f])||(e.push(u[f]),!1===i)||(o=this.getChildNodes(u[f],r),o.length>0&&(e=e.concat(o)));return e},getChildElements:function(n){return this.getChildNodes(n,!0,!0)},getFirstNode:function(n){return this._getFirst(this.getChildNodes(n,!1))},getLastNode:function(n){return this._getLast(this.getChildNodes(n,!1))},getFirstElement:function(n){return this._getFirst(this.getChildNodes(n,!1,!0))},getLastElement:function(n){return this._getLast(this.getChildNodes(n,!1,!0))},replaceToTag:function(t,i){var r=n.dom(t);return r.replaceWith(function(t){var f=n.dom("<"+i+">").append(n.dom(t).contents()),u,r;if(t.attributes)for(u=t.attributes,r=0;r<u.length;r++)f.attr(u[r].nodeName,u[r].value);return f})},ucfirst:function(n){return n.charAt(0).toUpperCase()+n.slice(1)},removeFromArrayByValue:function(n,t){for(var i,r=arguments,u=r.length;u>1&&n.length;)for(t=r[--u];-1!==(i=n.indexOf(t));)n.splice(i,1);return n},removeEmptyAttr:function(t,i){var r=n.dom(t);return void 0===r.attr(i)||null===r.attr(i)||""===r.attr(i)&&(r.removeAttr(i),!0)},cloneAttributes:function(t,i){var r,u,f;for(t=n.dom(t).get(),i=n.dom(i),r=t.attributes,u=r.length;u--;)f=r[u],i.attr(f.name,f.value);return i},toParams:function(n){var i=Object.keys(n),r,t,u;if(!i.length)return"";for(r="",t=0;t<i.length;t++)u=i[t],r+=u+":"+n[u]+";";return r},styleToObj:function(n){var u={},i,t,r;if(n)for(i=n.replace(/;$/,"").split(";"),t=0;t<i.length;t++)r=i[t].split(":"),u[r[0].trim()]=r[1].trim();return u},checkProperty:function(n){for(var i=arguments[1]&&Array.isArray(arguments[1])?arguments[1]:[].slice.call(arguments,1),t=0;t<i.length;t++){if(!n||void 0===n[i[t]])return!1;n=n[i[t]]}return n},extendData:function(t,i){var r,u;for(r in i)"elements"===r?(u=n.dom(i[r]),u.each(function(i){var r=n.dom(i),u,f,e;if("FORM"===i.tagName){u=r.serialize(!0);for(f in u)t=this._setData(t,f,u[f])}else e=r.attr("name")?r.attr("name"):r.attr("id"),t=this._setData(t,e,r.val())}.bind(this))):t=this._setData(t,r,i[r]);return t},_setData:function(n,t,i){return n instanceof FormData?n.append(t,i):n[t]=i,n},normalizeTextNodes:function(t){t=n.dom(t).get();t&&t.normalize()},isRgb:function(n){return 0===n.search(/^rgb/i)},rgb2hex:function(n){return n=n.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i),n&&4===n.length?"#"+("0"+parseInt(n[1],10).toString(16)).slice(-2)+("0"+parseInt(n[2],10).toString(16)).slice(-2)+("0"+parseInt(n[3],10).toString(16)).slice(-2):""},hex2long:function(n){return-1!==n.search(/^#/)&&4===n.length&&(n="#"+n[1]+n[1]+n[2]+n[2]+n[3]+n[3]),n},escapeRegExp:function(n){return n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")},getRandomId:function(){for(var n="",t="abcdefghijklmnopqrstuvwxyz0123456789",i=0;i<12;i++)n+=t.charAt(Math.floor(Math.random()*t.length));return n},_getFirst:function(n){return 0!==n.length&&n[0]},_getLast:function(n){return 0!==n.length&&n[n.length-1]}});n.add("service","progress",{init:function(n){this.app=n;this.$box=null;this.$bar=null},show:function(){this._is()||this._build();this.$box.show()},hide:function(){this._is()&&this.animate.start(this.$box,"fadeOut",this._destroy.bind(this))},update:function(n){this.show();this.$bar.css("width",n+"%")},_is:function(){return null!==this.$box},_build:function(){this.$bar=n.dom("<span />");this.$box=n.dom('<div id="redactor-progress" />');this.$box.append(this.$bar);this.$body.append(this.$box)},_destroy:function(){this._is()&&this.$box.remove();this.$box=null;this.$bar=null}});n.add("module","starter",{init:function(n){this.app=n;this.opts=n.opts;this.plugin=n.plugin;this.module=n.module},onstart:function(){this._startStop("start",this.app,["element","container","source","editor","statusbar","toolbar"]);this._startStop("start",this.module,["element","container","source","editor","statusbar","contextbar","input"])},onstop:function(){this._startStop("stop",this.module,["observer","element","container","source","editor","contextbar"])},onenable:function(){var n=this.opts.plugins;this._startStop("start",this.module,["observer","toolbar"]);this._startStop("start",this.plugin,n)},ondisable:function(){var n=this.opts.plugins;this._startStop("stop",this.module,["observer","toolbar"]);this._startStop("stop",this.plugin,n)},_startStop:function(n,t,i){for(var r=0;r<i.length;r++)void 0!==t[i[r]]&&this.app.callInstanceMethod(t[i[r]],n)}});n.add("module","element",{init:function(t){this.app=t;this.uuid=t.uuid;this.opts=t.opts;this.namespace=t.namespace;this.element=t.element;this.rootOpts=n.extend({},!0,n.options,t.rootOpts)},start:function(){this._build();this._buildModes();this._buildMarkup()},stop:function(){var n=this.element.getElement();n.removeData(this.namespace+"-uuid")},_build:function(){var n=this.element.getElement();n.data(this.namespace+"-uuid",this.uuid)},_buildModes:function(){var n=this.element.getType();"inline"===n&&this._redefineOptions(this.opts.modes.inline);"div"===n&&this._redefineOptions(this.opts.modes.original);"inline"!==n&&(this._isRootOption("styles")&&this.rootOpts.styles&&(this.opts.styles=!0),this._isRootOption("source")&&!this.rootOpts.source&&(this.opts.showSource=!1))},_buildMarkup:function(){var n=this.element.getType();"inline"===n?this.opts.emptyHtml="":this.opts.breakline?(this.opts.markup="div",this.opts.emptyHtml='<div data-redactor-tag="br">'+this.opts.markerChar+"<\/div>"):this.opts.emptyHtml="<"+this.opts.markup+"><\/"+this.opts.markup+">"},_redefineOptions:function(n){for(var t in n)this.opts[t]=n[t]},_isRootOption:function(){return void 0!==this.rootOpts.styles}});n.add("module","editor",{init:function(n){this.app=n;this.uuid=n.uuid;this.opts=n.opts;this.editor=n.editor;this.source=n.source;this.element=n.element;this.component=n.component;this.container=n.container;this.inspector=n.inspector;this.autoparser=n.autoparser;this.placeholder=!1;this.events=!1},onenable:function(){this.enable()},ondisable:function(){this.disable()},onenablefocus:function(){this._enableFocus()},oncontextmenu:function(n){this.component.setOnEvent(n,!0)},onclick:function(n){this.component.setOnEvent(n)},onkeyup:function(n){var t=this.inspector.parse(n.target);t.isComponent()||this.component.clearActive()},onenablereadonly:function(){this._enableReadOnly()},ondisablereadonly:function(){this._disableReadOnly()},onautoparseobserve:function(){this.autoparser.observe()},onplaceholder:{build:function(){this._buildPlaceholder()},toggle:function(){this._togglePlacehodler()}},start:function(){this._build();this._buildEvents();this._buildOptions();this._buildAccesibility()},stop:function(){var n=this.editor.getElement(),t=this.container.getElement(),i=["redactor-in","redactor-in-"+this.uuid,"redactor-structure","redactor-placeholder",this.opts.stylesClass];n.removeAttr("spellcheck");n.removeAttr("dir");n.removeAttr("contenteditable");n.removeAttr("placeholder");n.removeAttr("data-gramm_editor");n.removeClass(i.join(" "));t.removeClass("redactor-focus redactor-blur redactor-over redactor-styles-on redactor-styles-off redactor-toolbar-on redactor-text-labeled-on redactor-source-view");this._destroyEvents();0===n.get().classList.length&&n.removeAttr("class")},enable:function(){var n=this.editor.getElement(),t=this.container.getElement();n.addClass("redactor-in redactor-in-"+this.uuid);n.attr({contenteditable:!0});this.opts.structure&&n.addClass("redactor-structure");!this.opts.toolbar||this.opts.air||this.opts.toolbarExternal||t.addClass("redactor-toolbar-on");this._disableBrowsersEditing()},disable:function(){var n=this.editor.getElement(),t=this.container.getElement();n.removeClass("redactor-in redactor-in-"+this.uuid);n.removeClass("redactor-structure");n.removeAttr("contenteditable");t.addClass("redactor-toolbar-on")},_build:function(){var t=this.editor.getElement(),i=this.element.getElement(),n=this.container.getElement();n.addClass("redactor-blur");this.opts.grammarly||t.attr("data-gramm_editor",!1);this.opts.styles?(t.addClass(this.opts.stylesClass),n.addClass("redactor-styles-on")):n.addClass("redactor-styles-off");this.opts.buttonsTextLabeled&&n.addClass("redactor-text-labeled-on");this.element.isType("textarea")&&i.before(t)},_buildEvents:function(){this.events=n.create("editor.events",this.app)},_buildOptions:function(){var n=this.editor.getElement();n.attr("dir",this.opts.direction);this.opts.tabindex&&n.attr("tabindex",this.opts.tabindex);this.opts.minHeight&&n.css("min-height",this.opts.minHeight);this.opts.maxHeight&&n.css("max-height",this.opts.maxHeight);this.opts.maxWidth&&n.css({"max-width":this.opts.maxWidth,margin:"auto"})},_buildAccesibility:function(){var n=this.editor.getElement();n.attr({"aria-labelledby":"redactor-voice-"+this.uuid,role:"presentation"})},_buildPlaceholder:function(){this.placeholder=n.create("editor.placeholder",this.app)},_enableFocus:function(){this.opts.showSource?this._enableFocusSource():this._enableFocusEditor()},_enableFocusSource:function(){var n=this.source.getElement();this.opts.focus?(n.focus(),n.get().setSelectionRange(0,0)):this.opts.focusEnd&&n.focus()},_enableFocusEditor:function(){this.opts.focus?setTimeout(this.editor.startFocus.bind(this.editor),100):this.opts.focusEnd&&setTimeout(this.editor.endFocus.bind(this.editor),100)},_togglePlacehodler:function(){this.placeholder&&this.placeholder.toggle()},_disableBrowsersEditing:function(){try{document.execCommand("enableObjectResizing",!1,!1);document.execCommand("enableInlineTableEditing",!1,!1);document.execCommand("AutoUrlDetect",!1,!1);var t=this.editor.getElement(),n=t.get();n.addEventListener?n.addEventListener("mscontrolselect",function(n){n.preventDefault()}):n.attachEvent("oncontrolselect",function(n){n.returnValue=!1})}catch(t){}},_destroyEvents:function(){this.events&&this.events.destroy()},_enableReadOnly:function(){var n=this.editor.getElement();this._getEditables(n).removeAttr("contenteditable");n.removeAttr("contenteditable");n.addClass("redactor-read-only");this.events&&this.events.destroy()},_disableReadOnly:function(){var n=this.editor.getElement();this._getEditables(n).attr({contenteditable:!0});n.removeClass("redactor-read-only");n.attr({contenteditable:!0});this._buildEvents()},_getEditables:function(n){return n.find("figcaption, td, th")}});n.add("class","editor.placeholder",{init:function(n){this.app=n;this.opts=n.opts;this.editor=n.editor;this.element=n.element;this.build()},build:function(){var n=this.element.getElement(),i=this.editor.getElement(),t;(!1!==this.opts.placeholder||n.attr("placeholder"))&&(t=!1!==this.opts.placeholder?this.opts.placeholder:n.attr("placeholder"),i.attr("placeholder",t),this.toggle())},toggle:function(){return this.editor.isEmpty(!0)?this.show():this.hide()},show:function(){var n=this.editor.getElement();n.addClass("redactor-placeholder")},hide:function(){var n=this.editor.getElement();n.removeClass("redactor-placeholder")}});n.add("class","editor.events",{init:function(n){this.app=n;this.opts=n.opts;this.$doc=n.$doc;this.uuid=n.uuid;this.editor=n.editor;this.cleaner=n.cleaner;this.container=n.container;this.insertion=n.insertion;this.inspector=n.inspector;this.selection=n.selection;this.component=n.component;this.blurNamespace=".redactor-blur."+this.uuid;this.eventsList=["paste","click","contextmenu","keydown","keyup","mouseup","touchstart","cut","copy","dragenter","dragstart","drop","dragover","dragleave"];this._init()},destroy:function(){var n=this.editor.getElement();n.off(".redactor-focus");this.$doc.off("keyup"+this.blurNamespace+" mousedown"+this.blurNamespace);this._loop("off")},focus:function(n){var t=this.container.getElement();this.editor.isPasting()||t.hasClass("redactor-focus")||(t.addClass("redactor-focus"),t.removeClass("redactor-blur"),this.app.broadcast("observe",n),this.app.broadcast("focus",n),this.isFocused=!0,this.isBlured=!1)},blur:function(t){var i=this.container.getElement(),r=n.dom(t.target),u=[".redactor-in-"+this.uuid,".redactor-toolbar",".redactor-dropdown",".redactor-context-toolbar","#redactor-modal-box","#redactor-image-resizer"];this.app.broadcast("originalblur",t);this.app.stopBlur||this.app.isStarted()&&!this.editor.isPasting()&&0===r.closest(u.join(",")).length&&(this.isBlured||i.hasClass("redactor-blur")||(i.removeClass("redactor-focus"),i.addClass("redactor-blur"),this.app.broadcast("blur",t),this.isFocused=!1,this.isBlured=!0))},cut:function(n){var t=this.selection.getCurrent(),i=this.inspector.parse(t);this.app.broadcast("state",n);this.component.isNonEditable(t)&&(this._passSelectionToClipboard(n,i,!0),n.preventDefault())},copy:function(n){var t=this.selection.getCurrent(),i=this.inspector.parse(t);this.app.broadcast("state",n);this.component.isNonEditable(t)&&(this._passSelectionToClipboard(n,i,!1),n.preventDefault())},drop:function(t){var u,f,r,i;if(t=t.originalEvent||t,t.stopPropagation(),this._removeOverClass(),this.app.isDragComponentInside())return u=n.dom(this.app.getDragComponentInside()),f=u.clone(!0),this.insertion.insertToPoint(t,f),u.remove(),this.app.setDragComponentInside(!1),this.app.broadcast("state",t),this.app.broadcast("drop",t),this.app.broadcast("image.observe",t),void t.preventDefault();if(this.app.isDragInside()&&this.opts.input){this.insertion.insertPoint(t);var o=t.dataTransfer,s=o.getData("text/html"),e=this.selection.getRange();if(e)for(r=this.selection.getBlocks(),e.deleteContents(),i=0;i<r.length;i++)""===r[i].innerHTML&&n.dom(r[i]).remove();return n.create("input.paste",this.app,t,!0,s,!0),this.app.broadcast("state",t),this.app.broadcast("drop",t),this.app.setDragInside(!1),void t.preventDefault()}this.app.broadcast("state",t);this.app.broadcast("paste",t,t.dataTransfer);this.app.broadcast("drop",t)},dragenter:function(n){n.preventDefault()},dragstart:function(n){this.app.setDragComponentInside(!1);this.app.setDragInside(!1);var t=this.inspector.parse(n.target);!t.isComponent()||t.isComponentEditable()||t.isFigcaption()?this.selection.is()&&!this.selection.isCollapsed()&&(this.app.setDragInside(!0),this._setDragData(n)):this.app.setDragComponentInside(t.getComponent());this.app.broadcast("dragstart",n)},dragover:function(n){this.app.broadcast("dragover",n)},dragleave:function(n){this.app.broadcast("dragleave",n)},paste:function(n){this.app.broadcast("paste",n)},contextmenu:function(n){this.editor.disableNonEditables();setTimeout(function(){this.editor.enableNonEditables();this.app.broadcast("contextmenu",n)}.bind(this),0)},click:function(n){if(3===n.detail){n.preventDefault();var i=this.selection.getBlock(),t=document.createRange();t.selectNodeContents(i);this.selection.setRange(t)}this.app.broadcast("state",n);this.app.broadcast("click",n)},keydown:function(n){this.app.broadcast("state",n);var t=this.app.broadcast("keydown",n);if(!1===t)return n.preventDefault()},keyup:function(n){this.app.broadcast("observe",n);this.app.broadcast("keyup",n)},mouseup:function(n){this.app.broadcast("observe",n);this.app.broadcast("state",n)},touchstart:function(n){this.app.broadcast("observe",n);this.app.broadcast("state",n)},_init:function(){var n=this.editor.getElement();n.on("focus.redactor-focus click.redactor-focus",this.focus.bind(this));this.$doc.on("keyup"+this.blurNamespace+" mousedown"+this.blurNamespace,this.blur.bind(this));this._loop("on")},_removeOverClass:function(){var n=this.editor.getElement();n.removeClass("over")},_loop:function(n){for(var r,u,i=this.editor.getElement(),t=0;t<this.eventsList.length;t++)r=this.eventsList[t]+".redactor-events",u=this.eventsList[t],i[n](r,this[u].bind(this))},_passSelectionToClipboard:function(t,i,r){var e=t.clipboardData,o=i.getComponent(),s=n.dom(o),u=s.clone(),f;u.find(".redactor-component-caret").remove();u.removeClass("redactor-component-active");u.removeAttr("contenteditable");u.removeAttr("tabindex");f=u.get().outerHTML;r&&this.component.remove(o);e.setData("text/html",f);e.setData("text/plain",f.toString().replace(/\n$/,""))},_setDragData:function(n){n=n.originalEvent||n;var t=n.dataTransfer;t.effectAllowed="move";t.setData("text/Html",this.selection.getHtml())}});n.add("module","container",{init:function(n){this.app=n;this.uuid=n.uuid;this.opts=n.opts;this.lang=n.lang;this.element=n.element;this.container=n.container},start:function(){this._build();this._buildAccesibility()},stop:function(){var n=this.element.getElement(),t=this.container.getElement();t.after(n);t.remove();n.show()},_build:function(){var t=this.element.getElement(),n=this.container.getElement();n.addClass("redactor-box");n.attr("dir",this.opts.direction);this.element.isType("inline")&&n.addClass("redactor-inline");t.after(n);n.append(t)},_buildAccesibility:function(){var i=this.container.getElement(),t=n.dom("<span />");t.addClass("redactor-voice-label");t.attr({id:"redactor-voice-"+this.uuid,"aria-hidden":!1});t.html(this.lang.get("accessibility-help-label"));i.prepend(t)}});n.add("module","source",{init:function(n){this.app=n;this.uuid=n.uuid;this.opts=n.opts;this.utils=n.utils;this.element=n.element;this.source=n.source;this.editor=n.editor;this.toolbar=n.toolbar;this.cleaner=n.cleaner;this.component=n.component;this.container=n.container;this.autoparser=n.autoparser;this.selection=n.selection;this.syncedHtml=""},onstartcode:function(){var n=this.source.getStartedContent(),r=this.editor.getElement(),u=this.source.getElement(),t,i;this.opts.autoparse&&this.opts.autoparseStart&&(n=this.autoparser.parse(n));t=this.cleaner.input(n,!0,!0);i=this.cleaner.output(t);r.html(t);u.val(i);this.syncedHtml=i;this.app.broadcast("placeholder.build");this.app.broadcast("autoparseobserve");this.component.executeScripts()},onstartcodeshow:function(){this.show()},ontrytosync:function(){this.sync()},start:function(){this._build();this._buildClasses()},stop:function(){var t=this.element.getElement(),n=this.source.getElement();t.removeClass("redactor-source redactor-source-open");n.off("input.redactor-source");n.removeAttr("data-gramm_editor");0===n.get().classList.length&&n.removeAttr("class");this.source.isNameGenerated()||t.removeAttr("name");this.element.isType("textarea")||n.remove()},getCode:function(){return this.source.getCode()},toggle:function(){if(this.opts.source){var n=this.source.getElement();return n.hasClass("redactor-source-open")?this.hide():this.show()}},show:function(){var u,i,e;if(this.opts.source){var f=this.editor.getElement(),t=this.source.getElement(),o=this.container.getElement(),r=t.val();this.app.isStarted()&&(r=this.app.broadcast("source.open",r));u=n.create("source.selection",this.app);i=u.insertMarkersToEditor();i=this.cleaner.output(i,!1);i=i.trim();e=f.height();f.hide();t.height(e);t.val(r.trim());t.show();t.addClass("redactor-source-open");t.on("input.redactor-source-events",this._onChangedSource.bind(this));t.on("keydown.redactor-source-events",this._onTabKey.bind(this));t.on("focus.redactor-source-events",this._onFocus.bind(this));o.addClass("redactor-source-view");u.setSelectionOffsetSource(i);setTimeout(function(){this._disableButtons();this._setActiveSourceButton()}.bind(this),100);this.app.isStarted()&&this.app.broadcast("source.opened")}},hide:function(){if(this.opts.source){var u=this.editor.getElement(),i=this.source.getElement(),f=this.container.getElement(),t=i.val(),r=n.create("source.selection",this.app);t=r.insertMarkersToSource(t);t=this.cleaner.input(t,!0);t=this.utils.isEmptyHtml(t)?this.opts.emptyHtml:t;t=this.app.broadcast("source.close",t);this._enableButtons();this._setInactiveSourceButton();i.hide();i.removeClass("redactor-source-open");i.off(".redactor-source-events");u.show();u.html(t);f.removeClass("redactor-source-view");setTimeout(function(){r.isOffset()?this.selection.restoreMarkers():r.isOffsetEnd()?this.editor.endFocus():this.editor.startFocus();this.component.executeScripts()}.bind(this),0);this.app.broadcast("source.closed")}},sync:function(){var t=this,i=this.editor.getElement(),n=i.html();n=this.app.broadcast("syncBefore",n);n=this.cleaner.output(n);this._isSync(n)&&(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(function(){t._syncing(n)},200))},_build:function(){var n=this.source.getElement(),t=this.element.getElement();n.hide();this.opts.grammarly||n.attr("data-gramm_editor",!1);this.element.isType("textarea")||t.after(n)},_buildClasses:function(){var n=this.source.getElement();n.addClass("redactor-source")},_syncing:function(n){n=this.app.broadcast("syncing",n);var t=this.source.getElement();t.val(n);this.app.broadcast("synced",n);this.app.broadcast("changed",n)},_isSync:function(n){return this.syncedHtml!==n&&(this.syncedHtml=n,!0)},_onChangedSource:function(){var t=this.source.getElement(),n=t.val();this.app.broadcast("changed",n);this.app.broadcast("source.changed",n)},_onTabKey:function(n){if(9!==n.keyCode)return!0;n.preventDefault();var t=this.source.getElement(),i=t.get(),r=i.selectionStart;t.val(t.val().substring(0,r)+"    "+t.val().substring(i.selectionEnd));i.selectionStart=i.selectionEnd=r+4},_onFocus:function(){this.app.broadcast("sourcefocus")},_disableButtons:function(){this.toolbar.disableButtons()},_enableButtons:function(){this.toolbar.enableButtons()},_setActiveSourceButton:function(){var n=this.toolbar.getButton("html");n.enable();n.setActive()},_setInactiveSourceButton:function(){var n=this.toolbar.getButton("html");n.setInactive()}});n.add("class","source.selection",{init:function(n){this.app=n;this.utils=n.utils;this.source=n.source;this.editor=n.editor;this.marker=n.marker;this.component=n.component;this.selection=n.selection;this.markersOffset=!1;this.markersOffsetEnd=!1},insertMarkersToEditor:function(){var r=this.editor.getElement(),u=this.marker.build("start"),f=this.marker.build("end"),i=this.component.getActive(),t;return i?(this.marker.remove(),t=n.dom(i),t.after(f),t.after(u)):window.getSelection&&this.selection.is()&&this.marker.insert("both"),this._getHtmlAndRemoveMarkers(r)},setSelectionOffsetSource:function(n){var t=0,i=0,r=this.source.getElement(),f,u;""!==n&&(f=this.utils.removeInvisibleChars(this.marker.buildHtml("start")),u=this.utils.removeInvisibleChars(this.marker.buildHtml("end")),t=this._strpos(n,f),i=this._strpos(n,u)-u.toString().length-2,!1===t&&(t=0,i=0));r.get().setSelectionRange(t,i);r.get().scrollTop=0;setTimeout(function(){r.focus()}.bind(this),0)},isOffset:function(){return this.markersOffset},isOffsetEnd:function(){return this.markersOffsetEnd},insertMarkersToSource:function(n){var r=this.source.getElement(),u=this.marker.buildHtml("start"),e=this.marker.buildHtml("end"),f=u.toString().length,t=this._enlargeOffset(n,r.get().selectionStart),i=this._enlargeOffset(n,r.get().selectionEnd),o=n.length;return t===o?this.markersOffsetEnd=!0:0!==t&&0!==i?(this.markersOffset=!0,n=n.substr(0,t)+u+n.substr(t),n=n.substr(0,i+f)+e+n.substr(i+f)):this.markersOffset=!1,n},_getHtmlAndRemoveMarkers:function(n){var t=n.html();return n.find(".redactor-selection-marker").remove(),t},_strpos:function(n,t,i){var r=n.indexOf(t,i);return r>=0&&r},_enlargeOffset:function(n,t){var u=n.length,r=0,i;if(">"===n[t])r++;else for(i=t;i<=u&&(r++,">"!==n[i]);i++)if("<"===n[i]||i===u){r=0;break}return t+r}});n.add("module","observer",{init:function(n){this.app=n;this.editor=n.editor;this.observerUnit=!1},start:function(){if(window.MutationObserver){var t=this.editor.getElement(),n=t.get();this.observerUnit=this._build(n);this.observerUnit.observe(n,{attributes:!0,subtree:!0,childList:!0,characterData:!0,characterDataOldValue:!0})}},stop:function(){this.observerUnit&&this.observerUnit.disconnect()},_build:function(n){var t=this;return new MutationObserver(function(i){i.forEach(function(i){t._iterate(i,n)})})},_iterate:function(n,t){this.app.isReadOnly()||"attributes"===n.type&&n.target===t||(this.app.broadcast("observe"),this.app.broadcast("trytosync"),this.app.broadcast("placeholder.toggle"))}});n.add("module","clicktoedit",{init:function(n){this.app=n;this.opts=n.opts;this.source=n.source;this.editor=n.editor;this.container=n.container;this.selection=n.selection},onstartclicktoedit:function(){this.start()},onenablereadonly:function(){this._isEnabled()||this.stop()},ondisablereadonly:function(){this._isEnabled()||this.start()},onstop:function(){this.stop()},start:function(){this._build()},stop:function(){this.buttonSave&&this.buttonSave.stop();this.buttonCancel&&this.buttonCancel.stop();this._destroy();this.app.broadcast("disable")},enable:function(){var n,t;this.app.broadcast("clickStart");n=this.editor.isEmpty();n||this.selection.saveMarkers();this._setFocus();this._destroy();this.app.broadcast("enable");this.buttonSave.enable();this.buttonCancel.enable();n||this.selection.restoreMarkers();n&&this.editor.focus();t=this.container.getElement();t.addClass("redactor-clicktoedit-enabled")},save:function(n){n&&n.preventDefault();var t=this.source.getCode();this.app.broadcast("disable");this.app.broadcast("clickSave",t);this.app.broadcast("clickStop");this._build()},cancel:function(n){n&&n.preventDefault();var t=this.saved,i=this.editor.getElement();i.html(t);this.saved="";this.app.broadcast("disable");this.app.broadcast("clickCancel",t);this.app.broadcast("clickStop");this._build()},_build:function(){this.buttonSave=n.create("clicktoedit.button","save",this.app,this);this.buttonCancel=n.create("clicktoedit.button","cancel",this.app,this);this.buttonSave.stop();this.buttonCancel.stop();var i=this.editor.getElement(),t=this.container.getElement();i.on("click.redactor-click-to-edit mouseup.redactor-click-to-edit",this.enable.bind(this));t.addClass("redactor-over");t.removeClass("redactor-clicktoedit-enabled")},_isEnabled:function(){return this.container.getElement().hasClass("redactor-clicktoedit-enabled")},_destroy:function(){var n=this.editor.getElement(),t=this.container.getElement();n.off(".redactor-click-to-edit");t.removeClass("redactor-over redactor-clicktoedit-enabled")},_setFocus:function(){this.saved=this.source.getCode();this.buttonSave.start();this.buttonCancel.start()}});n.add("class","clicktoedit.button",{init:function(n,t,i){this.app=t;this.opts=t.opts;this.toolbar=t.toolbar;this.context=i;this.type=n;this.name="save"===n?"clickToSave":"clickToCancel";this.objected=!1;this.enabled=!1;this.namespace=".redactor-click-to-edit";this._build()},enable:function(){if(this.objected){var n=this.opts[this.name];n.api="module.clicktoedit."+this.type;this.toolbar.addButton(this.type,n);this.enabled=!0}},start:function(){this.objected||(this.$button.off(this.namespace),this.$button.show(),this.$button.on("click"+this.namespace,this.context[this.type].bind(this.context)))},stop:function(){!this.objected&&this.enabled&&this.$button.hide()},_build:function(){this.objected="object"==typeof this.opts[this.name];this.objected||(this.$button=n.dom(this.opts[this.name]),this.enabled=!0)}});n.add("module","statusbar",{init:function(n){this.app=n;this.opts=n.opts;this.element=n.element;this.statusbar=n.statusbar;this.container=n.container},start:function(){if(!this.element.isType("inline")){var n=this.statusbar.getElement(),t=this.container.getElement();n.addClass("redactor-statusbar");t.append(n)}}});n.add("module","contextbar",{init:function(n){this.app=n;this.opts=n.opts;this.uuid=n.uuid;this.$win=n.$win;this.$doc=n.$doc;this.$body=n.$body;this.editor=n.editor;this.toolbar=n.toolbar;this.detector=n.detector;this.$target=this.toolbar.isTarget()?this.toolbar.getTargetElement():this.$body},onenablereadonly:function(){this.stop()},ondisablereadonly:function(){this.start()},oncontextbar:{close:function(){this.close()}},start:function(){if(this.opts.toolbarContext){var n=this.editor.getElement();this._build();n.on("click.redactor-context mouseup.redactor-context",this.open.bind(this))}},stop:function(){var n=this.editor.getElement();n.off(".redactor-context");this.$doc.off(".redactor-context");this.$win.off(".redactor-context");this.$contextbar&&this.$contextbar.remove()},is:function(){return this.$contextbar&&this.$contextbar.hasClass("open")},set:function(t,i,r,u){var e,f,o;for(e in this.$contextbar.html(""),this.$el=n.dom(i),r)f=n.create("contextbar.button",this.app,r[e]),""!==f.html()&&this.$contextbar.append(f);o=this._buildPosition(t,this.$el,u);this.$contextbar.css(o);this.$contextbar.show();this.$contextbar.addClass("open");this.$doc.on("click.redactor-context mouseup.redactor-context",this.close.bind(this));this.$win.on("resize.redactor-context",this.close.bind(this))},open:function(n){setTimeout(function(){this.app.broadcast("contextbar",n,this)}.bind(this),0)},close:function(t){if(this.$contextbar){if(t){var i=n.dom(t.target);if(this.$el&&0!==i.closest(this.$el).length)return}this.$contextbar.hide();this.$contextbar.removeClass("open");this.$doc.off(".redactor.context")}},_build:function(){this.$contextbar=n.dom("<div>");this.$contextbar.attr("id","redactor-context-toolbar-"+this.uuid);this.$contextbar.attr("dir",this.opts.direction);this.$contextbar.addClass("redactor-context-toolbar");this.$contextbar.hide();this.$target.append(this.$contextbar)},_buildPosition:function(n,t,i){var u,r,f=this.toolbar.isTarget(),e=f?t.position():t.offset(),s=t.width(),l=t.height(),o=this.$contextbar.width(),h=this.$contextbar.height(),a=f?this.$target.scrollTop()+this.$doc.scrollTop():this.$doc.scrollTop(),c=this.$target.offset(),v=f?c.left:0,y=f?c.top:0;return i?"top"===i?(u=e.top-h,r=e.left+s/2-o/2):"bottom"===i&&(u=e.top+l,r=e.left+s/2-o/2):(u=n.clientY+a-h,r=n.clientX-o/2),r<0&&(r=0),{top:u-y+"px",left:r-v+"px"}}});n.add("class","contextbar.button",{mixins:["dom"],init:function(n,t){this.app=n;this.obj=t;this._init()},_init:function(){this.parse("<a>");this.attr("href","#");this._buildTitle();this._buildMessage()},_buildTitle:function(){this.html(this.obj.title)},_buildMessage:function(){void 0===this.obj.message&&void 0===this.obj.api||this.on("click",this._toggle.bind(this))},_toggle:function(n){n.preventDefault();this.obj.message?this.app.broadcast(this.obj.message,this.obj.args):this.obj.api&&this.app.api(this.obj.api,this.obj.args)}});n.add("module","toolbar",{init:function(n){this.app=n;this.opts=n.opts;this.utils=n.utils;this.toolbar=n.toolbar;this.buttons=[];this.toolbarModule=!1},onsource:{open:function(){!this.toolbar.isAir()&&this.toolbar.isFixed()&&this.toolbarModule.resetPosition()},opened:function(){this.toolbar.isAir()&&this.toolbarModule&&this.toolbarModule.createSourceHelper()},close:function(){this.toolbar.isAir()&&this.toolbarModule&&this.toolbarModule.destroySourceHelper()},closed:function(){this.toolbar.is()&&this.opts.air&&this.toolbarModule.openSelected()}},onobserve:function(){this.toolbar.is()&&this.toolbar.observe()},onfocus:function(){this._setExternalOnFocus()},onsourcefocus:function(){this._setExternalOnFocus()},onempty:function(){this.toolbar.isFixed()&&this.toolbarModule.resetPosition()},onenablereadonly:function(){this.toolbar.isAir()&&this.toolbarModule.close()},start:function(){this.toolbar.is()&&(this._buildButtons(),this._initToolbar(),this._initButtons())},stop:function(){this.toolbarModule&&this.toolbarModule.stop()},_buildButtons:function(){this.buttons=this.opts.buttons.concat();this._buildImageButton();this._buildFileButton();this._buildSourceButton();this._buildAdditionalButtons();this._buildHiddenButtons()},_buildImageButton:function(){this.opts.imageUpload||this.utils.removeFromArrayByValue(this.buttons,"image")},_buildFileButton:function(){this.opts.fileUpload||this.utils.removeFromArrayByValue(this.buttons,"file")},_buildSourceButton:function(){this.opts.source||this.utils.removeFromArrayByValue(this.buttons,"html")},_buildAdditionalButtons:function(){var i,t,n;if(0!==this.opts.buttonsAdd.length&&(this.opts.buttonsAdd=this._removeExistButtons(this.opts.buttonsAdd),this.buttons=this.buttons.concat(this.opts.buttonsAdd)),0!==this.opts.buttonsAddFirst.length&&(this.opts.buttonsAddFirst=this._removeExistButtons(this.opts.buttonsAddFirst),this.buttons.unshift(this.opts.buttonsAddFirst)),!1!==this.opts.buttonsAddAfter)for(i=this.buttons.indexOf(this.opts.buttonsAddAfter.after)+1,t=this.opts.buttonsAddAfter.buttons,n=0;n<t.length;n++)this.buttons.splice(i+n,0,t[n]);if(!1!==this.opts.buttonsAddBefore)for(i=this.buttons.indexOf(this.opts.buttonsAddBefore.before)+1,t=this.opts.buttonsAddBefore.buttons,n=0;n<t.length;n++)this.buttons.splice(i-(1-n),0,t[n])},_buildHiddenButtons:function(){if(0!==this.opts.buttonsHide.length)for(var t=this.opts.buttonsHide,n=0;n<t.length;n++)this.utils.removeFromArrayByValue(this.buttons,t[n])},_removeExistButtons:function(n){for(var t=0;t<n.length;t++)-1!==this.opts.buttons.indexOf(n[t])&&this.utils.removeFromArrayByValue(n,n[t]);return n},_setExternalOnFocus:function(){!this.opts.air&&this.opts.toolbarExternal&&this.toolbarModule.setExternal()},_initToolbar:function(){this.toolbarModule=this.opts.air?n.create("toolbar.air",this.app):n.create("toolbar.standard",this.app)},_initButtons:function(){for(var i,t=0;t<this.buttons.length;t++)i=this.buttons[t],n.buttons[i]&&this.toolbar.addButton(i,n.buttons[i],!1,!1,!0)}});n.add("class","toolbar.air",{init:function(n){this.app=n;this.$doc=n.$doc;this.$win=n.$win;this.utils=n.utils;this.editor=n.editor;this.animate=n.animate;this.toolbar=n.toolbar;this.container=n.container;this.inspector=n.inspector;this.selection=n.selection;this.clicks=0;this._init()},stop:function(){var t=this.toolbar.getWrapper(),n;t.remove();n=this.editor.getElement();n.off(".redactor-air-trigger");this.$doc.off(".redactor-air");this.$doc.off(".redactor-air-trigger");this.toolbar.stopObservers()},createSourceHelper:function(){this.$airHelper=n.dom("<span>");this.$airHelper.addClass("redactor-air-helper");this.$airHelper.html('<i class="re-icon-html"><\/i>');this.$airHelper.on("click",function(n){n.preventDefault();this.app.api("module.source.hide")}.bind(this));var t=this.container.getElement();t.append(this.$airHelper)},destroySourceHelper:function(){this.$airHelper&&this.$airHelper.remove()},openSelected:function(){setTimeout(function(){this._isSelection()&&this._open(!1)}.bind(this),0)},close:function(){this.$doc.off(".redactor-air");var n=this.toolbar.getElement();n.removeClass("open");n.hide()},_init:function(){this.toolbar.create();var n=this.toolbar.getWrapper(),t=this.toolbar.getElement(),i=this.editor.getElement(),r=this.container.getElement();n.addClass("redactor-toolbar-wrapper-air");t.addClass("redactor-air");t.hide();n.append(t);r.prepend(n);this.openSelected();this.$doc.on("mouseup.redactor-air-trigger",this._open.bind(this));i.on("keyup.redactor-air-trigger",this._openCmd.bind(this))},_isSelection:function(){return this.selection.is()&&!this.selection.isCollapsed()},_isOpened:function(){var n=this.toolbar.getElement();return n.hasClass("open")},_open:function(t){var f=!!t&&t.target,i=!!t&&n.dom(t.target),r=this.inspector.parse(f),e=r.isComponent()&&!r.isComponentType("table"),o=r.isFigcaption(),s=i&&0!==i.closest(".redactor-modal").length,h=t&&0!==i.closest(".re-button").length,c=t&&0!==i.closest(".redactor-dropdown").length,u;c||h||s||o||e||this.toolbar.isContextBar()||!this._isSelection()||(u=this.selection.getPosition(),setTimeout(function(){this.app.isReadOnly()||this._isSelection()&&this._doOpen(u)}.bind(this),1))},_openCmd:function(){if(this.selection.isAll()){var t=this.toolbar.getElement(),n=this.selection.getPosition();n.top=n.top<20?0:n.top-t.height();n.height=0;this._doOpen(n)}},_doOpen:function(n){var r=this.toolbar.getWrapper(),t=this.toolbar.getElement(),u=this.container.getElement(),i=u.offset();r.css({left:n.left-i.left-0+"px",top:n.top-i.top+n.height+this.$doc.scrollTop()+"px"});this.app.broadcast("airOpen");t.addClass("open");t.show();this.$doc.on("click.redactor-air",this._close.bind(this));this.$doc.on("keydown.redactor-air",this._close.bind(this));this.app.broadcast("airOpened")},_close:function(t){var i=!!t&&n.dom(t.target),r=t&&0!==i.closest("[data-dropdown], .redactor-dropdown-not-close").length,u=!r&&t&&0!==i.closest(".re-button").length;(u||!r&&this._isOpened())&&(this.app.broadcast("airClose"),this.close(),this.app.broadcast("airClosed"))}});n.add("class","toolbar.fixed",{init:function(n){this.app=n;this.opts=n.opts;this.$doc=n.$doc;this.$win=n.$win;this.editor=n.editor;this.toolbar=n.toolbar;this.detector=n.detector;this.container=n.container;this._init()},stop:function(){this.$fixedTarget.off(".redactor-toolbar");this.$win.off(".redactor-toolbar")},reset:function(){var t=this.toolbar.getElement(),i=this.toolbar.getWrapper(),n;i.css("height","");t.removeClass("redactor-toolbar-fixed");t.css({position:"",top:"",left:"",width:""});n=this.toolbar.getDropdown();n&&n.updatePosition()},_init:function(){this.$fixedTarget=this.toolbar.isTarget()?this.toolbar.getTargetElement():this.$win;this._doFixed();this.toolbar.isTarget()&&(this.$win.on("scroll.redactor-toolbar",this._doFixed.bind(this)),this.$win.on("resize.redactor-toolbar",this._doFixed.bind(this)));this.$fixedTarget.on("scroll.redactor-toolbar",this._doFixed.bind(this));this.$fixedTarget.on("resize.redactor-toolbar",this._doFixed.bind(this))},_doFixed:function(){var h=this.editor.getElement(),t=this.container.getElement(),n=this.toolbar.getElement(),c=this.toolbar.getWrapper(),l=t.parents().filter(function(n){return"none"===getComputedStyle(n,null).display&&n}),e,o,s,f;if(0===l.length&&(e=h.height()<100,o=this.editor.isEmpty(),!(e||o||this.editor.isSourceMode()))){var a=n.height(),v=t.offset(),i=v.top,y=i+t.height()-(60+this.opts.toolbarFixedTopOffset),r=this.$fixedTarget.scrollTop(),u=this.toolbar.isTarget()?this.$fixedTarget.offset().top-this.$win.scrollTop():0;r>i&&r<y?(s=this.detector.isDesktop()?"fixed":"absolute",u=this.detector.isDesktop()?u:r-i+this.opts.toolbarFixedTopOffset,this.detector.isMobile()&&(this.fixedScrollTimeout&&clearTimeout(this.fixedScrollTimeout),n.hide(),this.fixedScrollTimeout=setTimeout(function(){n.show()},250)),c.height(a),n.addClass("redactor-toolbar-fixed"),n.css({position:s,top:u+this.opts.toolbarFixedTopOffset+"px",width:t.width()+"px"}),f=this.toolbar.getDropdown(),f&&f.updatePosition(),this.app.broadcast("toolbar.fixed")):(this.reset(),this.app.broadcast("toolbar.unfixed"))}}});n.add("class","toolbar.standard",{init:function(n){this.app=n;this.opts=n.opts;this.uuid=n.uuid;this.toolbar=n.toolbar;this.container=n.container;this.isExternalMultiple=!1;this.toolbarFixed=!1;this._init()},stop:function(){var n=this.toolbar.getWrapper();n.remove();this.toolbarFixed&&this.toolbarFixed.stop();this.opts.toolbarExternal&&this._findToolbars();this.toolbar.stopObservers()},setExternal:function(){if(this._findToolbars(),this.isExternalMultiple){this.$toolbars.hide();var n=this.$external.find(".redactor-toolbar-external-"+this.uuid);n.show()}},resetPosition:function(){this.toolbarFixed&&this.toolbarFixed.reset()},_init:function(){if(this._build(),this.opts.toolbarExternal)this._buildExternal();else{this._buildFixed();var n=this.toolbar.getElement();n.show()}},_build:function(){var n,t,i;this.toolbar.create();n=this.toolbar.getWrapper();t=this.toolbar.getElement();(n.addClass("redactor-toolbar-wrapper"),t.addClass("redactor-toolbar"),t.hide(),n.append(t),this.opts.toolbarExternal)||(i=this.container.getElement(),i.prepend(n))},_buildExternal:function(){if(this._initExternal(),this._findToolbars(),this.isExternalMultiple)this._hideToolbarsExceptFirst();else{var n=this.toolbar.getElement();n.show()}},_buildFixed:function(){this.opts.toolbarFixed&&(this.toolbarFixed=n.create("toolbar.fixed",this.app))},_initExternal:function(){var t=this.toolbar.getElement(),i=this.toolbar.getElement();t.addClass("redactor-toolbar-external redactor-toolbar-external-"+this.uuid);this.$external=n.dom(this.opts.toolbarExternal);this.$external.append(i)},_findToolbars:function(){this.$toolbars=this.$external.find(".redactor-toolbar-external");this.isExternalMultiple=this.$toolbars.length>1},_hideToolbarsExceptFirst:function(){this.$toolbars.hide();var n=this.$toolbars.first();n.show()}});n.add("module","line",{init:function(n){this.app=n;this.lang=n.lang;this.component=n.component;this.inspector=n.inspector;this.insertion=n.insertion},oncontextbar:function(n,t){var r=this.inspector.parse(n.target),i,u;r.isComponentType("line")&&(i=r.getComponent(),u={remove:{title:this.lang.get("delete"),api:"module.line.remove",args:i}},t.set(n,i,u,"bottom"))},insert:function(){var n=this.component.create("line");this.insertion.insertRaw(n)},remove:function(n){this.component.remove(n)}});n.add("class","line.component",{mixins:["dom","component"],init:function(n,t){return this.app=n,t&&void 0!==t.cmnt?t:this._init(t)},_init:function(t){var f,r,u,i;void 0!==t&&(u=n.dom(t),i=u.get(),"HR"===i.tagName?r=i:"FIGURE"===i.tagName&&(f=i,r=u.find("hr").get()));this._buildWrapper(f);this._buildElement(r);this._initWrapper()},_buildElement:function(t){t?this.$element=n.dom(t):(this.$element=n.dom("<hr>"),this.append(this.$element))},_buildWrapper:function(n){n=n||"<figure>";this.parse(n)},_initWrapper:function(){this.addClass("redactor-component");this.attr({"data-redactor-type":"line",tabindex:"-1",contenteditable:!1})}});n.add("module","link",{modals:{link:'<form action="">                 <div class="form-item">                     <label for="modal-link-url">URL <span class="req">*<\/span><\/label>                     <input type="text" id="modal-link-url" name="url">                 <\/div>                 <div class="form-item">                     <label for="modal-link-text">## text ##<\/label>                     <input type="text" id="modal-link-text" name="text">                 <\/div>                 <div class="form-item form-item-title">                     <label for="modal-link-title">## title ##<\/label>                     <input type="text" id="modal-link-title" name="title">                 <\/div>                 <div class="form-item form-item-target">                     <label class="checkbox">                         <input type="checkbox" name="target"> ## link-in-new-tab ##                     <\/label>                 <\/div>             <\/form>'},init:function(n){this.app=n;this.opts=n.opts;this.lang=n.lang;this.utils=n.utils;this.inline=n.inline;this.editor=n.editor;this.inspector=n.inspector;this.insertion=n.insertion;this.selection=n.selection;this.isCurrentLink=!1;this.currentText=!1},onmodal:{link:{open:function(n,t){this._setFormData(t,n)},opened:function(n,t){this._setFormFocus(t)},update:function(n,t){var i=t.getData();this._validateData(t,i)&&this._update(i)},insert:function(n,t){var i=t.getData();this._validateData(t,i)&&this._insert(i)},unlink:function(){this._unlink()}}},onbutton:{link:{observe:function(n){this._observeButton(n)}}},ondropdown:{link:{observe:function(n){this._observeUnlink(n);this._observeEdit(n)}}},oncontextbar:function(t,i){var s=this._getCurrent(),u=this.inspector.parse(s),o;if(u.isLink()){var f=u.getLink(),h=n.dom(f),r=n.dom("<a>"),e=h.attr("href");r.text(this._truncateText(e));r.attr("href",e);r.attr("target","_blank");o={link:{title:r},edit:{title:this.lang.get("edit"),api:"module.link.open"},unlink:{title:this.lang.get("unlink"),api:"module.link.unlink"}};i.set(t,f,o,"bottom")}},open:function(){this.$link=this._buildCurrent();this.app.api("module.modal.build",this._getModalData())},insert:function(n){this._insert(n)},update:function(n){this._update(n)},unlink:function(){this._unlink()},_observeButton:function(n){var i=this.selection.getCurrent(),t=this.inspector.parse(i);t.isPre()||t.isCode()?n.disable():n.enable()},_observeUnlink:function(n){var t=n.getItem("unlink"),i=this._getLinks();0===i.length?t.disable():t.enable()},_observeEdit:function(n){var t=this._getCurrent(),i=n.getItem("link"),r=this.inspector.parse(t),u=r.isLink()?this.lang.get("link-edit"):this.lang.get("link-insert");i.setTitle(u)},_unlink:function(){var i,r,t,u,f;for(this.app.api("module.modal.close"),i=[],r=this._getLinks(),this.selection.save(),t=0;t<r.length;t++)u=n.create("link.component",this.app,r[t]),i.push(this.selection.getElement(r[t])),u.unwrap(),this.app.broadcast("link.deleted",u);for(this.selection.restore(),t=0;t<i.length;t++)f=i[t]?i[t]:this.editor.getElement(),this.utils.normalizeTextNodes(f);this._resetCurrent()},_update:function(n){this.app.api("module.modal.close");var t=this._getLinks();this._setLinkData(t,n,"updated");this._resetCurrent()},_insert:function(n){this.app.api("module.modal.close");var t=this._getLinks();this._insertSingle(t,n)||(this._removeInSelection(t),this._insertMultiple(n));this._resetCurrent()},_removeInSelection:function(t){var i,r,u;for(this.selection.save(),i=0;i<t.length;i++)r=n.create("link.component",this.app,t[i]),u=r.clone(),r.unwrap(),this.app.broadcast("link.deleted",u);this.selection.restore()},_insertMultiple:function(n){var t=this.selection.getRange(),i;t&&this._isCurrentTextChanged(n)&&this._deleteContents(t);i=this.inline.format({tag:"a"});this._setLinkData(i,n,"inserted")},_insertSingle:function(t,i){var u=this.selection.getInline(),r;return 1===t.length&&t[0].textContext===this.selection.getText()||u&&"A"===u.tagName?(r=n.create("link.component",this.app,t[0]),r.setData(i),this.selection.setAll(r),this.app.broadcast("link.inserted",r),!0):!1},_setLinkData:function(t,i,r){var o,f,e,u;for(i.text=""===i.text.trim()?this._truncateText(i.url):i.text,o=!this.currentText||this.currentText!==i.text,this.selection.save(),f=0;f<t.length;f++)e=n.create("link.component",this.app,t[f]),u={},i.text&&o&&(u.text=i.text),i.url&&(u.url=i.url),void 0!==i.title&&(u.title=i.title),void 0!==i.target&&(u.target=i.target),e.setData(u),this.app.broadcast("link."+r,e);setTimeout(this.selection.restore.bind(this.selection),0)},_deleteContents:function(n){var u=this.selection.getHtml(),f=this.utils.parseHtml(u),t=f.nodes[0],i,r;t&&3!==t.nodeType?(i=t.tagName.toLowerCase(),r=document.createElement(i),this.insertion.insertNode(r,"start")):n.deleteContents()},_getModalData:function(){var n;return n=this._isLink()?{update:{title:this.lang.get("save")},unlink:{title:this.lang.get("unlink"),type:"danger"},cancel:{title:this.lang.get("cancel")}}:{insert:{title:this.lang.get("insert")},cancel:{title:this.lang.get("cancel")}},{name:"link",title:this._isLink()?this.lang.get("link-edit"):this.lang.get("link-insert"),handle:this._isLink()?"update":"insert",commands:n}},_isLink:function(){return this.currentLink},_isCurrentTextChanged:function(n){return this.currentText&&this.currentText!==n.text},_buildCurrent:function(){var t,u=this._getCurrent(),i=this.inspector.parse(u),r;return i.isLink()?(this.currentLink=!0,t=i.getLink(),t=n.create("link.component",this.app,t)):(this.currentLink=!1,t=n.create("link.component",this.app),r={text:this.selection.getText()},t.setData(r)),t},_getCurrent:function(){return this.selection.getInlinesAllSelected({tags:["a"]})[0]},_getLinks:function(){for(var r,t=this.selection.getInlines({all:!0,tags:["a"]}),i=[],n=0;n<t.length;n++)r=this.inspector.parse(t[n]),r.isLink()&&i.push(t[n]);return i},_resetCurrent:function(){this.isCurrentLink=!1;this.currentText=!1},_truncateText:function(n){return n.length>this.opts.linkSize?n.substring(0,this.opts.linkSize)+"...":n},_validateData:function(n,t){return""!==t.url.trim()||n.setError("url")},_setFormFocus:function(n){n.getField("url").focus()},_setFormData:function(n,t){var i=this.$link.getData(),r={url:i.url,text:i.text,title:i.title,target:this.opts.linkTarget||i.target};this.opts.linkNewTab||t.find(".form-item-target").hide();this.opts.linkTitle||t.find(".form-item-title").hide();n.setData(r);this.currentText=n.getField("text").val()}});n.add("class","link.component",{mixins:["dom","component"],init:function(n,t){return this.app=n,this.opts=n.opts,this.reUrl=/^(?:(?:(?:https?|ftp):)?\/\/)?(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:[/?#]\S*)?$/i,t&&void 0!==t.cmnt?t:this._init(t)},setData:function(n){for(var t in n)this._set(t,n[t])},getData:function(){for(var t=["url","text","target","title"],i={},n=0;n<t.length;n++)i[t[n]]=this._get(t[n]);return i},_init:function(t){var i=n.dom(t);void 0===t?this.parse("<a>"):this.parse(i)},_set:function(n,t){this["_set_"+n](t)},_get:function(n){return this["_get_"+n]()},_get_target:function(){return!!this.attr("target")&&this.attr("target")},_get_url:function(){return this.attr("href")},_get_title:function(){return this.attr("title")},_get_text:function(){return this._getContext().text()},_getContext:function(){return this._findDeepestChild(this).element},_set_target:function(n){!1===n?this.removeAttr("target"):n&&this.attr("target",!0===n?"_blank":n)},_set_text:function(n){this._getContext().html(n)},_set_title:function(n){n&&""!==n?this.attr("title",n):this.removeAttr("title")},_set_url:function(n){this.opts.linkValidation&&(n=this._cleanUrl(n),this._isMailto(n)?n="mailto:"+n.replace("mailto:",""):this._isUrl(n)&&-1===n.search(/^(ftp|https?)/i)&&(n="http://"+n.replace(/(ftp|https?):\/\//i,"")));this.attr("href",n)},_isMailto:function(n){return-1!==n.search("@")&&!1===/(ftp|https?):\/\//i.test(n)},_isUrl:function(n){return this.reUrl.test(n)},_cleanUrl:function(n){return n.trim().replace(/[^\W\w\D\d+&\'@#/%?=~_|!:,.;\(\)]/gi,"")},_findDeepestChild:function(t){var i={depth:0,element:t};return t.children().each(function(r){var f=n.dom(r),u;r.outerHTML===t.html()&&(u=this._findDeepestChild(f),u.depth+1>i.depth&&(i={depth:1+u.depth,element:u.element}))}.bind(this)),i}});n.add("module","modal",{init:function(n){this.app=n;this.lang=n.lang;this.$doc=n.$doc;this.$win=n.$win;this.$body=n.$body;this.animate=n.animate;this.detector=n.detector;this.selection=n.selection;this.$box=!1;this.$modal=!1;this.defaults={name:!1,url:!1,title:!1,width:"600px",height:!1,handle:!1,commands:!1}},build:function(n){this._open(n)},close:function(){this._close()},stop:function(){this.$box&&(this.$box.remove(),this.$box=!1,this.$modal=!1,this.$doc.off(".redactor.modal"),this.$win.off(".redactor.modal"));this.$overlay&&this.$overlay.remove()},resize:function(){this.$modal.setWidth(this.p.width);this.$modal.updatePosition()},_isOpened:function(){return this.$modal&&this.$modal.hasClass("open")},_open:function(n){this._buildDefaults(n);this.p.url?this._openUrl():this._openTemplate()},_openUrl:function(){n.ajax.post({url:this.p.url,success:this._doOpen.bind(this)})},_openTemplate:function(){if(void 0!==n.modals[this.p.name]){var t=this.lang.parse(n.modals[this.p.name]);this._doOpen(t)}},_doOpen:function(n){this.stop();this.selection.save();this.detector.isDesktop()||document.activeElement.blur();this._createModal(n);this._buildModalBox();this._buildOverlay();this._buildModal();this._buildModalForm();this._buildModalCommands();this._broadcast("open");this.$modal.updatePosition();this._buildModalTabs();this.animate.start(this.$box,"fadeIn",this._opened.bind(this));this.animate.start(this.$overlay,"fadeIn")},_opened:function(){this.$modal.addClass("open");this.$box.on("mousedown.redactor.modal",this._close.bind(this));this.$doc.on("keyup.redactor.modal",this._handleEscape.bind(this));this.$win.on("resize.redactor.modal",this.resize.bind(this));this.$modal.getBody().find("input[type=text],input[type=url],input[type=email]").on("keydown.redactor.modal",this._handleEnter.bind(this));window.jQuery&&jQuery(document).off("focusin.modal");this._broadcast("opened")},_close:function(n){if(this.$box&&this._isOpened()){if(n){if(!this._needToClose(n.target))return;n.stopPropagation();n.preventDefault()}this.selection.restore();this._broadcast("close");this.animate.start(this.$box,"fadeOut",this._closed.bind(this));this.animate.start(this.$overlay,"fadeOut")}},_closed:function(){this.$modal.removeClass("open");this.$box.off(".redactor.modal");this.$doc.off(".redactor.modal");this.$win.off(".redactor.modal");this._broadcast("closed")},_createModal:function(t){this.$modal=n.create("modal.element",this.app,t)},_broadcast:function(n){this.app.broadcast("modal."+n,this.$modal,this.$modalForm);this.app.broadcast("modal."+this.p.name+"."+n,this.$modal,this.$modalForm)},_buildDefaults:function(t){this.p=n.extend({},this.defaults,t)},_buildModalBox:function(){this.$box=n.dom("<div>");this.$box.attr("id","redactor-modal");this.$box.addClass("redactor-animate-hide");this.$box.html("");this.$body.append(this.$box)},_buildOverlay:function(){this.$overlay=n.dom("#redactor-overlay");0===this.$overlay.length&&(this.$overlay=n.dom("<div>"),this.$overlay.attr("id","redactor-overlay"),this.$overlay.addClass("redactor-animate-hide"),this.$body.prepend(this.$overlay))},_buildModal:function(){this.$box.append(this.$modal);this.$modal.setTitle(this.p.title);this.$modal.setHeight(this.p.height);this.$modal.setWidth(this.p.width)},_buildModalCommands:function(){var r,u,i,t;if(this.p.commands){r=this.p.commands;u=this.$modal.getFooter();for(i in r)t=n.dom("<button>"),t.html(r[i].title),t.attr("data-command",i),"cancel"===i&&(t.attr("data-action","close"),t.addClass("redactor-button-unstyled")),void 0!==r[i].type&&"danger"===r[i].type&&t.addClass("redactor-button-danger"),t.on("click",this._handleCommand.bind(this)),u.append(t)}},_buildModalTabs:function(){var i=this.$modal.getBody(),r=i.find(".redactor-modal-tab"),t=i.find(".redactor-modal-tabs");r.length>1&&(t=0===t.length?n.dom("<div>"):t.html(""),t.addClass("redactor-modal-tabs"),r.each(function(i,r){var f=n.dom(i),u=n.dom("<a>");u.attr("href","#");u.attr("rel",r);u.text(f.attr("data-title"));u.on("click",this._showTab.bind(this));0===r&&u.addClass("active");t.append(u)}.bind(this)),i.prepend(t))},_buildModalForm:function(){this.$modalForm=n.create("modal.form",this.app,this.$modal.getForm())},_showTab:function(t){t.preventDefault();var i=n.dom(t.target),f=i.attr("rel"),r=this.$modal.getBody(),u=r.find(".redactor-modal-tab");u.hide();u.eq(f).show();r.find(".redactor-modal-tabs a").removeClass("active");i.addClass("active")},_needToClose:function(t){var i=n.dom(t);return!("close"!==i.attr("data-action")&&!this.$modal.isCloseNode(t)&&0!==i.closest(".redactor-modal").length)},_handleCommand:function(t){var r=n.dom(t.target).closest("button"),i=r.attr("data-command");"cancel"!==i&&t.preventDefault();this._broadcast(i)},_handleEnter:function(n){13===n.which&&this.p.handle&&(n.preventDefault(),this._broadcast(this.p.handle))},_handleEscape:function(n){27===n.which&&this._close()}});n.add("class","modal.element",{mixins:["dom"],init:function(n,t){this.app=n;this.opts=n.opts;this.$win=n.$win;this._init(t)},getForm:function(){return this.find("form")},getHeader:function(){return this.$modalHeader},getBody:function(){return this.$modalBody},getFooter:function(){return this.$modalFooter},setTitle:function(n){n&&this.$modalHeader.html(n)},setWidth:function(n){n=parseInt(n)>=this.$win.width()?"96%":n;this.css("max-width",n)},setHeight:function(n){!1!==n&&this.$modalBody.css("height",n)},updatePosition:function(){var r=this.width();this.css({left:"50%","margin-left":"-"+r/2+"px"});var n=this.$win.height(),t=this.height(),i=n/2-t/2;t<n&&0!==i&&this.css("margin-top",i+"px")},isCloseNode:function(n){return n===this.$modalClose.get()},_init:function(n){this._build();this._buildClose();this._buildHeader();this._buildBody();this._buildFooter();this._buildTemplate(n)},_build:function(){this.parse("<div>");this.addClass("redactor-modal");this.attr("dir",this.opts.direction)},_buildClose:function(){this.$modalClose=n.dom("<span>");this.$modalClose.addClass("redactor-close");this.append(this.$modalClose)},_buildHeader:function(){this.$modalHeader=n.dom("<div>");this.$modalHeader.addClass("redactor-modal-header");this.append(this.$modalHeader)},_buildBody:function(){this.$modalBody=n.dom("<div>");this.$modalBody.addClass("redactor-modal-body");this.append(this.$modalBody)},_buildFooter:function(){this.$modalFooter=n.dom("<div>");this.$modalFooter.addClass("redactor-modal-footer");this.append(this.$modalFooter)},_buildTemplate:function(n){this.$modalBody.html(n)}});n.add("class","modal.form",{mixins:["dom"],init:function(n,t){this.app=n;this.build(t)},build:function(n){this.parse(n)},getData:function(){var t={};return this.find("[name]").each(function(i){var r=n.dom(i);t[r.attr("name")]=r.val()}),t},setData:function(t){this.find("[name]").each(function(i){var u=n.dom(i),r=u.attr("name");t.hasOwnProperty(r)&&(i.type&&"checkbox"===i.type?i.checked=t[r]:u.val(t[r]))})},getField:function(n){return this.find("[name="+n+"]")},setError:function(n){var t=this.getField(n);return t.addClass("error"),t.one(this._getFieldEventName(t.get()),this._clearError),!1},_clearError:function(){return n.dom(this).removeClass("error")},_getFieldEventName:function(n){return"SELECT"===n.tagName||"checkbox"===n.type||"radio"===n.type?"change":"keyup"}});n.add("module","block",{init:function(n){this.app=n;this.block=n.block},format:function(n){var t=this.block.format(n);this.app.broadcast("format","block",t)},clearformat:function(){this.block.clearFormat()},clearstyle:function(){this.block.clearStyle()},clearclass:function(){this.block.clearClass()},clearattr:function(){this.block.clearAttr()},add:function(n,t){this.block.add(n,t)},toggle:function(n,t){this.block.toggle(n,t)},set:function(n,t){this.block.set(n,t)},remove:function(n,t){this.block.remove(n,t)}});n.add("module","inline",{init:function(n){this.app=n;this.inline=n.inline},format:function(n){var t=this.inline.format(n);this.app.broadcast("format","inline",t)},clearformat:function(){this.inline.clearFormat()},clearstyle:function(){this.inline.clearStyle()},clearclass:function(){this.inline.clearClass()},clearattr:function(){this.inline.clearAttr()},add:function(n,t){this.inline.add(n,t)},toggle:function(n,t){this.inline.toggle(n,t)},set:function(n,t){this.inline.set(n,t)},remove:function(n,t){this.inline.remove(n,t)}});n.add("module","autosave",{init:function(n){this.app=n;this.opts=n.opts;this.utils=n.utils;this.source=n.source},onsynced:function(){this.opts.autosave&&this._send()},_send:function(){var i=this.opts.autosaveName?this.opts.autosaveName:this.source.getName(),t={};t[i]=this.source.getCode();t=this.utils.extendData(t,this.opts.autosaveData);n.ajax.post({url:this.opts.autosave,data:t,success:function(n){this._complete(n,i,t)}.bind(this)})},_complete:function(n,t,i){var r=n&&n.error?"autosaveError":"autosave";this.app.broadcast(r,t,i,n)}});n.add("module","input",{init:function(n){this.app=n;this.opts=n.opts;this.utils=n.utils;this.editor=n.editor;this.keycodes=n.keycodes;this.element=n.element;this.selection=n.selection;this.insertion=n.insertion;this.inspector=n.inspector;this.autoparser=n.autoparser;this.lastShiftKey=!1},onpaste:function(t,i){if(this.opts.input)return n.create("input.paste",this.app,t,i)},onkeydown:function(t){var i,r,u,f;if(this.opts.input&&(i=t.which,r=n.create("input.shortcut",this.app,t),!r.is())){if((t.ctrlKey||t.metaKey)&&!t.altKey&&65===i)return t.preventDefault(),this._selectAll();if(u=[this.keycodes.ENTER,this.keycodes.SPACE,this.keycodes.BACKSPACE,this.keycodes.DELETE],this.selection.isAll()&&-1!==u.indexOf(i))(t.preventDefault(),this.element.isType("inline"))?(f=this.editor.getElement(),f.html(""),this.editor.startFocus()):this.insertion.set(this.opts.emptyHtml);else{if(this.opts.autoparse&&this.autoparser.format(t,i),t.ctrlKey||t.metaKey||!(i>=48&&i<=57||i>=65&&i<=90)||!this.selection.hasNonEditable())return i===this.keycodes.ENTER?n.create("input.enter",this.app,t,i):t.metaKey&&219===i?(t.preventDefault(),void this.app.api("module.list.outdent")):i===this.keycodes.TAB||t.metaKey&&221===i?n.create("input.tab",this.app,t,i):i===this.keycodes.SPACE?n.create("input.space",this.app,t,i,this.lastShiftKey):this._isDeleteKey(i)?n.create("input.delete",this.app,t,i):this._isArrowKey(i)?n.create("input.arrow",this.app,t,i):void 0;t.preventDefault()}}},onkeyup:function(t){var r,u,f,i;if(this.opts.input&&(r=t.which,this.lastShiftKey=t.shiftKey,this.app.broadcast("contextbar.close"),u=n.create("input.shortcode",this.app,t,r),!u.is())){if(r===this.keycodes.BACKSPACE&&(f=this.editor.getElement(),i=this.utils.trimSpaces(f.html()),i=i.replace(/<br\s?\/?>/g,""),i=i.replace(/<div><\/div>/,""),""===i))return t.preventDefault(),this.editor.setEmpty(),void this.editor.startFocus();this.editor.isEmpty()&&this.app.broadcast("empty")}},start:function(){this.opts.shortcutsAdd&&(this.opts.shortcuts=n.extend({},!0,this.opts.shortcuts,this.opts.shortcutsAdd))},_selectAll:function(){var n,i=this.selection.getCurrent(),t=this.inspector.parse(i);return t.isComponentType("table")?(n=t.getTable(),void this.selection.setAll(n)):t.isComponentType("code")?(n=t.getComponentCodeElement(),void this.selection.setAll(n)):void this.selection.setAll()},_isArrowKey:function(n){return-1!==[this.keycodes.UP,this.keycodes.DOWN,this.keycodes.RIGHT,this.keycodes.LEFT].indexOf(n)},_isDeleteKey:function(n){return n===this.keycodes.BACKSPACE||n===this.keycodes.DELETE}});n.add("class","input.arrow",{init:function(n,t,i){this.app=n;this.opts=n.opts;this.utils=n.utils;this.caret=n.caret;this.marker=n.marker;this.editor=n.editor;this.keycodes=n.keycodes;this.component=n.component;this.inspector=n.inspector;this.selection=n.selection;this.key=i;this._init(t)},_init:function(n){if(!this._isRightLeftKey()||!this._isExitVariable(n)){if(this._isRightDownKey()){if(this._isExitOnDownRight(n))return;if(this._selectComponent(n,"End","next"))return}if(this._isLeftUpKey()){if(this._isExitOnUpLeft(n))return;if(this._selectComponent(n,"Start","prev"))return}this._isRightLeftKey()&&this._removeInvisibleSpace()}},_isRightDownKey:function(){return-1!==[this.keycodes.DOWN,this.keycodes.RIGHT].indexOf(this.key)},_isLeftUpKey:function(){return-1!==[this.keycodes.UP,this.keycodes.LEFT].indexOf(this.key)},_isRightLeftKey:function(){return-1!==[this.keycodes.RIGHT,this.keycodes.LEFT].indexOf(this.key)},_isExitVariable:function(n){var r=this.selection.getCurrent(),t=this.inspector.parse(r),u=t.getComponent(),i;t.isComponentType("variable")&&t.isComponentActive()&&(n.preventDefault(),i=this.key===this.keycodes.LEFT?"setBefore":"setAfter",this.caret[i](u))},_isExitOnUpLeft:function(t){var s=this.selection.getCurrent(),r=this.selection.getBlock(s),i=this.inspector.parse(s),f=r.previousElementSibling,u=this.caret.isStart(r),e,o;if(u&&f&&"TABLE"===f.tagName)return t.preventDefault(),this.caret.setEnd(f),!0;if(i.isFigcaption()){if(r=i.getFigcaption(),u=this.caret.isStart(r),e=n.dom(r).closest(".redactor-component"),u&&0!==e.length)return t.preventDefault(),this.caret.setEnd(e),!0}else{if(i.isTable()&&u)return t.preventDefault(),this.caret.setEnd(r.previousElementSibling),!0;if(!i.isComponentEditable()&&i.isComponent()&&!i.isComponentType("variable")&&(o=i.getComponent(),o.previousElementSibling))return t.preventDefault(),this.component.clearActive(),this.caret.setEnd(o.previousElementSibling),!0}},_isExitOnDownRight:function(t){var f,r,l=this.editor.getElement(),s=this.selection.getCurrent(),i=this.inspector.parse(s),u=this.caret.isEnd(),h,e,c,o;if(i.isTable()){if(r||u)return this._exitNextElement(t,i.getComponent())}else if(i.isFigcaption()){if(f=i.getFigcaption(),r=this.caret.isEnd(f),r||u)return this._exitNextElement(t,i.getComponent())}else if(i.isComponentType("code")){if(h=i.getComponent(),e=n.dom(i.getComponentCodeElement()).closest("pre"),r=this.caret.isEnd(f),c=e&&e.get().nextElementSibling,r&&!c)return this._exitNextElement(t,h)}else if(i.isPre()||i.isBlockquote()||i.isDl()){if(u){if(i.isPre())return this._exitNextElement(t,i.getPre());if(i.isBlockquote())return this._exitNextElement(t,i.getBlockquote());if(i.isDl())return this._exitNextElement(t,i.getDl())}}else if(i.isList()){if(o=n.dom(s).parents("ul, ol",l).last(),r=this.caret.isEnd(o),r||u)return this._exitNextElement(t,o.get())}else if(i.isComponent()&&!i.isComponentType("variable"))return this.component.clearActive(),this._exitNextElement(t,i.getComponent())},_exitNextElement:function(n,t){return n.preventDefault(),t.nextElementSibling?this.caret.setStart(t.nextElementSibling):this.utils.createMarkup(t),!0},_removeInvisibleSpace:function(){var n=this.selection.getCurrent(),t=!!n&&this.utils.isEmptyHtml(3===n.nodeType?n.textContent:n.innerHTML);t&&n&&3===n.nodeType&&0===this.utils.searchInvisibleChars(n.textContent)&&n.parentNode.removeChild(n)},_selectComponent:function(n,t,i){var r=this.selection.getCurrent(),u=this.selection.getBlock(r),f=this.utils.findSiblings(r,i),e=this.utils.findSiblings(u,i);f&&this.caret["is"+t](r)?this._selectComponentItem(n,f,t):e&&this.caret["is"+t](u)&&this._selectComponentItem(n,e,t)},_selectComponentItem:function(n,t,i){if(this.component.isNonEditable(t))return n.preventDefault(),this.caret["set"+i](t),!0}});n.add("class","input.delete",{init:function(n,t,i){this.app=n;this.opts=n.opts;this.caret=n.caret;this.utils=n.utils;this.editor=n.editor;this.marker=n.marker;this.keycodes=n.keycodes;this.component=n.component;this.inspector=n.inspector;this.selection=n.selection;this.key=i;this._init(t)},_init:function(n){if(!this._removeActiveComponent(n)&&!this._removeAllSelectedTable(n)){if(this.key===this.keycodes.BACKSPACE){var t=this.editor.getElement(),i=this.utils.trimSpaces(t.html());if(i===this.opts.emptyHtml)return void n.preventDefault()}this._detectVariableOrNonEditable()||this.selection.hasNonEditable()?n.preventDefault():(this.selection.isCollapsed()&&(this.key===this.keycodes.BACKSPACE?this._traverseBackspace(n):this.key===this.keycodes.DELETE&&this._traverseDelete(n)),this._removeInvisibleSpace(),this._removeUnwantedStyles(),this._removeEmptySpans(),this._removeSpanTagsInHeadings(),this._removeInlineTagsInPre())}},_detectVariableOrNonEditable:function(){var n,t=this.selection.getBlock(),r=this.caret.isStart(t),u=this.caret.isEnd(t);if(this.key===this.keycodes.BACKSPACE&&r){if(n=t.previousSibling,this._isNonEditable(n))return!0}else if(this.key===this.keycodes.DELETE&&u&&(n=t.nextSibling,this._isNonEditable(n)))return!0;var i=this.selection.getCurrent(),f=this.caret.isStart(i),e=this.caret.isEnd(i),o=""===this.selection.getTextBeforeCaret().trim(),s=""===this.selection.getTextAfterCaret().trim();if(this.key===this.keycodes.BACKSPACE&&f&&!o){if(n=i.previousSibling,this._isVariable(n))return this.caret.setEnd(n),!0;if(this._isNonEditable(n))return!0}else if(this.key===this.keycodes.DELETE&&e&&!s){if(n=i.nextSibling,this._isVariable(n))return this.caret.setStart(n),!0;if(this._isNonEditable(n))return!0}},_isVariable:function(t){return 0!==n.dom(t).closest('[data-redactor-type="variable"]').length},_isNonEditable:function(t){return 0!==n.dom(t).closest(".non-editable").length},_getBlock:function(){var r=this.editor.getElement(),t=this.selection.getBlock(),i=this.inspector.parse(t);return t=i.isList()?n.dom(t).parents("ul, ol",r).last().get():t,t=i.isDl()?i.getDl():t,t=i.isTable()?i.getTable():t,t},_traverseDelete:function(t){var i,r,f,v=this.selection.getCurrent(),e=this.inspector.parse(v),u,o,l,c,s,h,a;if(e.isFigcaption()){if(i=e.getFigcaption(),r=this.caret.isEnd(i),r)return void t.preventDefault()}else if(e.isComponentType("code")&&(i=e.getComponent(),r=this.caret.isEnd(i),r))return void t.preventDefault();if(i=this._getBlock(),u=this.utils.findSiblings(i,"next"),u){if(r=this.caret.isEnd(i),o=this.inspector.parse(u),l="P"===u.tagName||"DIV"===u.tagName,r&&o.isComponentEditable())return t.preventDefault(),void this.component.remove(u,!1);if(r&&o.isComponent())return t.preventDefault(),this.caret.setStart(u),void(this.utils.isEmptyHtml(i.innerHTML)&&n.dom(i).remove());if(r&&o.isList()){if(c=n.dom(i),f=n.dom(u),e.isList())return t.preventDefault(),c.append(f),void f.unwrap();if(s=f.children("li").first(),h=s.find("ul, ol"),0!==h.length)return t.preventDefault(),f.prepend(h),h.unwrap(),c.append(s),void s.unwrap()}else if(r&&!e.isTable()&&l&&!this.utils.isEmptyHtml(i.innerHTML))return t.preventDefault(),a=n.dom(i),f=n.dom(u),a.append(f),void f.unwrap()}},_traverseBackspace:function(t){var i,r,e,f,p=this.selection.getCurrent(),o=this.inspector.parse(p),u,s,a,y,h;if(o.isFigcaption()){if(i=o.getFigcaption(),r=this.caret.isStart(i),r)return void t.preventDefault()}else if(o.isComponentType("code")&&(i=o.getComponent(),r=this.caret.isStart(i),r&&i.previousElementSibling))return t.preventDefault(),this.caret.setEnd(i.previousElementSibling),!0;if(i=this._getBlock(),u=this.utils.findSiblings(i,"prev"),u){if(r=this.caret.isStart(i),s=this.inspector.parse(u),a="P"===u.tagName||"DIV"===u.tagName,r&&s.isComponentEditable())return t.preventDefault(),void this.component.remove(u,!1);if(r&&s.isComponent())return t.preventDefault(),this.caret.setStart(u),void(this.utils.isEmptyHtml(i.innerHTML)&&n.dom(i).remove());if(r&&o.isList())if(t.preventDefault(),f=n.dom(i),e=n.dom(u),s.isList())f.children("li").first().prepend(this.marker.build("start")),e.append(f),f.unwrap(),this.selection.restoreMarkers();else{var v=f.children("li").first(),w=v.get(),c=v.find("ul, ol"),l=this.utils.replaceToTag(w,this.opts.markup);this.opts.breakline&&l.attr("data-redactor-tag","br");f.before(l);this.caret.setStart(l);0!==c.length&&(f.prepend(c),c.unwrap())}else if(r&&a)return t.preventDefault(),y=this.utils.createInvisibleChar(),h=n.dom(i),e=n.dom(u),this.caret.setEnd(e),h.prepend(y),e.append(h.contents()),void h.remove()}else setTimeout(this._replaceBlock.bind(this),1)},_replaceBlock:function(){var t=this.selection.getBlock(),r=n.dom(t),i;"p"===this.opts.markup&&t&&this._isNeedToReplaceBlock(t)&&(i=document.createElement(this.opts.markup),r.replaceWith(i),this.caret.setStart(i));this.opts.breakline&&t&&"DIV"===t.tagName&&r.attr("data-redactor-tag","br")},_isNeedToReplaceBlock:function(n){return"DIV"===n.tagName&&this.utils.isEmptyHtml(n.innerHTML)},_removeActiveComponent:function(n){var r=this.selection.getCurrent(),t=this.inspector.parse(r),i=t.getComponent();if(t.isComponent()&&this.component.isActive(i))return n.preventDefault(),this.component.remove(i),!0},_removeAllSelectedTable:function(n){var i=this.selection.getCurrent(),r=this.inspector.parse(i),t=r.getTable();if(t&&this.selection.isAll(t))return n.preventDefault(),this.component.remove(t),!0},_removeUnwantedStyles:function(){var n=this.editor.getElement();setTimeout(function(){var t=n.find("*[style]");t.not("img, figure, iframe, [data-redactor-style-cache], [data-redactor-span]").removeAttr("style")},0)},_removeEmptySpans:function(){var t=this.editor.getElement();setTimeout(function(){t.find("span").each(function(t){0===t.attributes.length&&n.dom(t).replaceWith(t.childNodes)})},0)},_removeInvisibleSpace:function(){var n=this.selection.getCurrent(),t=!!n&&n.previousSibling,i=!!n&&this.utils.isEmptyHtml(3===n.nodeType?n.textContent:n.innerHTML);i&&n&&3===n.nodeType&&0===this.utils.searchInvisibleChars(n.textContent)&&n.parentNode.removeChild(n);this.key===this.keycodes.DELETE&&t&&3===t.nodeType&&0===this.utils.searchInvisibleChars(t.textContent)&&t.parentNode.removeChild(t)},_removeSpanTagsInHeadings:function(){var t=this.editor.getElement();setTimeout(function(){t.find("h1, h2, h3, h4, h5, h6").each(function(t){var i=n.dom(t);0===i.closest("figure").length&&i.find("span").not(".redactor-component, .non-editable, .redactor-selection-marker, [data-redactor-style-cache], [data-redactor-span]").unwrap()})},1)},_removeInlineTagsInPre:function(){var t=this.editor.getElement(),i=this.opts.inlineTags;setTimeout(function(){t.find("pre").each(function(t){var r=n.dom(t);0===r.closest("figure").length&&r.find(i.join(",")).not("code, .redactor-selection-marker").unwrap()})},1)}});n.add("class","input.enter",{init:function(n,t){this.app=n;this.opts=n.opts;this.utils=n.utils;this.caret=n.caret;this.editor=n.editor;this.insertion=n.insertion;this.selection=n.selection;this.inspector=n.inspector;this._init(t)},_init:function(n){if(!this.opts.enterKey)return this._disable(n);var t=this.app.broadcast("enter",n);return!1===t?n.preventDefault():this.selection.hasNonEditable()?void n.preventDefault():n.ctrlKey||n.shiftKey?this._insertBreak(n):void(this._isExit(n)||this._traverse(n))},_disable:function(n){n.preventDefault();var t=this.selection.getRange();t&&!t.collapsed&&t.deleteContents()},_insertBreak:function(n){n.preventDefault();var i=this.selection.getCurrent(),t=this.inspector.parse(i);t.isComponent()||t.isCode()||(t.isPre()?this.insertion.insertNewline():this.insertion.insertBreakLine())},_isExit:function(t){var l=this.editor.getElement(),r=this.selection.getBlock(),i=this.inspector.parse(r),u=this.caret.isEnd(r),h=this.selection.getCurrent(),f=h.previousSibling,c,o,e,s;if(i.isBlockquote()){if(c=u&&this._isExitableBlock(r,"P"),o=u&&this._isExitableDblBreak(f),c||o)return this._exitFromElement(t,o?f:r,i.getBlockquote())}else if(!i.isComponentType("code")&&i.isPre()){if(u&&(e=r.innerHTML,e=this.utils.removeInvisibleChars(e),null!==e.match(/(\n\n\n)$/)))return n.dom(f.previousSibling.previousSibling).remove(),this._exitFromElement(t,f,r)}else if(i.isDl()){if(u&&this._isExitableBlock(r,"DT"))return this._exitFromElement(t,r,i.getDl())}else if(i.isList()){if(s=n.dom(h).parents("ul, ol",l).last(),u=this.caret.isEnd(s),u&&this._isExitableBlock(r,"LI"))return this._exitFromElement(t,r,s)}else if(i.isComponent()&&i.isComponentActive()&&!i.isFigcaption()&&!i.isComponentEditable())return this._exitFromElement(t,!1,i.getComponent())},_isExitableDblBreak:function(n){var t=!!n&&n.nextSibling,i;if(t)return i=this.utils.removeInvisibleChars(t.textContent),3===t.nodeType&&""===i.trim()},_isExitableBlock:function(n,t){return n&&n.tagName===t&&this.utils.isEmptyHtml(n.innerHTML)},_exitFromElement:function(t,i,r){return t.preventDefault(),i&&n.dom(i).remove(),this.utils.createMarkup(r),!0},_exitNextElement:function(n,t){return n.preventDefault(),t.nextSibling?this.caret.setStart(t.nextSibling):this.utils.createMarkup(t),!0},_traverse:function(n){var r=this.selection.getCurrent(),e=this.selection.isText(),t=this.selection.getBlock(),i=this.inspector.parse(r),o=!!t&&t.tagName.toLowerCase(),u,f;return i.isPre()?(n.preventDefault(),this.insertion.insertNewline()):i.isBlockquote()?(t=this.selection.getBlock(r),t&&"BLOCKQUOTE"===t.tagName?(n.preventDefault(),this.insertion.insertBreakLine()):void 0):i.isFigcaption()?(t=i.getFigcaption(),u=this.caret.isEnd(t),f=this.caret.isEnd(),u||f?this._exitNextElement(n,i.getComponent()):void n.preventDefault()):i.isDl()?(n.preventDefault(),this._traverseDl(r)):e||this.opts.breakline&&"div"===o?(n.preventDefault(),this.insertion.insertBreakLine()):void setTimeout(this._replaceBlock.bind(this),1)},_traverseDl:function(t){var i=this.selection.getBlock(t),c=this.inspector.parse(i),o=c.getTag(),r=n.dom(i),u=r.get().nextSibling||!1,s=n.dom(u),l=u&&s.is("dd"),a=u&&s.is("dt"),h=this.caret.isEnd(i),f,e;return"dt"===o&&!l&&h?(f=document.createElement("dd"),r.after(f),void this.caret.setStart(f)):"dd"===o&&!a&&h?(e=document.createElement("dt"),r.after(e),void this.caret.setStart(e)):this.insertion.insertBreakLine()},_replaceBlock:function(){var t=this.selection.getBlock(),i=n.dom(t),u,r;"p"===this.opts.markup&&t&&this._isNeedToReplaceBlock(t)?(u=document.createElement(this.opts.markup),i.replaceWith(u),this.caret.setStart(u)):t&&(this.utils.isEmptyHtml(t.innerHTML)?this._clearBlock(i,t):(r=this.utils.getFirstNode(t),r&&"BR"===r.tagName&&(n.dom(r).remove(),this.caret.setStart(t))));t&&this._isNeedToCleanBlockStyle(t)&&this.opts.cleanOnEnter&&i.removeAttr("class style");this.opts.breakline&&t&&"DIV"===t.tagName&&i.attr("data-redactor-tag","br")},_clearBlock:function(n,t){(this.opts.cleanInlineOnEnter||"<br>"===t.innerHTML)&&n.html("");this.caret.setStart(t)},_isNeedToReplaceBlock:function(n){return"DIV"===n.tagName&&this.utils.isEmptyHtml(n.innerHTML)},_isNeedToCleanBlockStyle:function(n){return"P"===n.tagName&&this.utils.isEmptyHtml(n.innerHTML)}});n.add("class","input.paste",{init:function(n,t,i,r,u){this.app=n;this.opts=n.opts;this.editor=n.editor;this.cleaner=n.cleaner;this.container=n.container;this.inspector=n.inspector;this.insertion=n.insertion;this.selection=n.selection;this.autoparser=n.autoparser;this.pasteHtml=r;this.pointInserted=u;this.dataTransfer=i;this._init(t)},_init:function(n){var t=this.dataTransfer||n.clipboardData,l=this.selection.getCurrent(),s=this.inspector.parse(l),h,f,i,r,c,e,u,o;if(this.dropPasted=this.dataTransfer,this.isRawCode=s.isPre()||s.isCode(),this.editor.enablePasting(),this.editor.saveScroll(),this.dropPasted||this.selection.saveMarkers(),this.isRawCode||!t)return h=t.getData("text/plain"),n.preventDefault(),void this._insert(n,h);if(this.pasteHtml)n.preventDefault(),this._insert(n,this.pasteHtml);else{if(f=t.getData("URL"),i=this._isPlainText(t)?t.getData("text/plain"):t.getData("text/html"),i=f&&""!==f?f:i,r=t.items||t.files,c=!t.items&&t.files,r&&""===i){for(e=[],u=0;u<r.length;u++)o=c?r[u]:r[u].getAsFile(),o&&e.push(o);if(e.length>0)return n.preventDefault(),void this._insertFiles(n,e)}n.preventDefault();this._insert(n,i)}},_isPlainText:function(n){var i=n.getData("text/plain"),r=n.getData("text/html"),t;return!i||!r?null!==i:(t=document.createElement("div"),t.innerHTML=r,t.textContent===i?!t.querySelector(":not(meta)"):void 0)},_restoreSelection:function(){this.editor.restoreScroll();this.editor.disablePasting();this.dropPasted||this.selection.restoreMarkers()},_insert:function(n,t){var i=this.app.broadcast("pasteBefore",t),r;t=void 0===i?t:i;t=this.isRawCode?t:this.cleaner.paste(t);t=this.isRawCode?this.cleaner.encodePhpCode(t):t;i=this.app.broadcast("pasting",t);t=void 0===i?t:i;this._restoreSelection();this.opts.autoparse&&this.opts.autoparsePaste&&(t=this.autoparser.parse(t));r=this.dropPasted?this.insertion.insertToPoint(n,t,this.pointInserted):this.insertion.insertHtml(t);this.app.broadcast("pasted",r);this.app.broadcast("autoparseobserve")},_insertFiles:function(n,t){this._restoreSelection();var r=-1!==this.opts.imageTypes.indexOf(t[0].type),i=void 0===this.dropPasted;r?this.app.broadcast("dropimage",n,t,i):this.app.broadcast("dropfile",n,t,i)}});n.add("class","input.shortcode",{init:function(n,t,i){this.app=n;this.opts=n.opts;this.utils=n.utils;this.marker=n.marker;this.keycodes=n.keycodes;this.selection=n.selection;this.worked=!1;i===this.keycodes.SPACE&&this._init()},is:function(){return this.worked},_init:function(){var n=this.selection.getCurrent(),u,t,i,r,f;if(n&&3===n.nodeType){u=this.utils.removeInvisibleChars(n.textContent);t=this.opts.shortcodes;for(i in t)if(r=new RegExp("^"+this.utils.escapeRegExp(i)),f=u.match(r),null!==f&&void 0!==t[i].format)return this._format(t[i].format,n,r)}},_format:function(n,t,i){var f=this.marker.insert("start"),r,u;t=f.previousSibling;r=t.textContent;r=this.utils.trimSpaces(r);r=r.replace(i,"");t.textContent=r;u="ul"===n||"ol"===n?"module.list.toggle":"module.block.format";this.app.api(u,n);this.selection.restoreMarkers();this.worked=!0}});n.add("class","input.shortcut",{init:function(n,t){this.app=n;this.opts=n.opts;this.worked=!1;this.hotkeys={8:"backspace",9:"tab",10:"return",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",59:";",61:"=",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"};this.hotkeysShiftNums={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"};this._init(t)},is:function(){return this.worked},_init:function(n){if(!1!==this.opts.shortcuts)for(var t in this.opts.shortcuts)this._build(n,t,this.opts.shortcuts[t]);else(n.ctrlKey||n.metaKey)&&(66===n.which||73===n.which)&&n.preventDefault()},_build:function(n,t,i){for(var u=t.split(","),f=u.length,r=0;r<f;r++)"string"==typeof u[r]&&this._handler(n,u[r].trim(),i)},_handler:function(n,t,i){var o,c;t=t.toLowerCase().split(" ");for(var s=this.hotkeys[n.keyCode],e=String.fromCharCode(n.which).toLowerCase(),u="",f={},h=["alt","ctrl","meta","shift"],r=0;r<h.length;r++)o=h[r],n[o+"Key"]&&s!==o&&(u+=o+"+");for(s&&(f[u+s]=!0),e&&(f[u+e]=!0,f[u+this.hotkeysShiftNums[e]]=!0,"shift+"===u&&(f[this.hotkeysShiftNums[e]]=!0)),c=t.length,r=0;r<c;r++)if(f[t[r]])return n.preventDefault(),this.worked=!0,void(i.message?this.app.broadcast(i.message,i.args):i.api&&this.app.api(i.api,i.args))}});n.add("class","input.space",{init:function(n,t,i,r){this.app=n;this.keycodes=n.keycodes;this.insertion=n.insertion;this.selection=n.selection;this.key=i;this.lastShiftKey=r;this._init(t)},_init:function(n){if(!this.selection.hasNonEditable())return this.lastShiftKey||this.key!==this.keycodes.SPACE||!n.ctrlKey&&!n.shiftKey?void 0:(n.preventDefault(),void this.insertion.insertChar("&nbsp;"));n.preventDefault()}});n.add("class","input.tab",{init:function(n,t){this.app=n;this.opts=n.opts;this.inspector=n.inspector;this.insertion=n.insertion;this.selection=n.selection;this._init(t)},_init:function(n){if(!this.opts.tabKey)return this._disable(n);var t=this.app.broadcast("tab",n);if(!1===t)return n.preventDefault();this._traverse(n)},_disable:function(n){n.preventDefault()},_traverse:function(n){var i=this.selection.getCurrent(),t=this.inspector.parse(i);return!t.isComponent()&&n.shiftKey?this._insertHardTab(n,4):t.isList()?(n.preventDefault(),this.app.api("module.list.indent")):t.isPre()||t.isComponentType("code")&&!t.isFigcaption()?this._tabCode(n):!1!==this.opts.tabAsSpaces?this._insertHardTab(n,this.opts.tabAsSpaces):void 0},_insertHardTab:function(n,t){n.preventDefault();var i=document.createTextNode(Array(t+1).join(" "));return this.insertion.insertNode(i,"end")},_tabCode:function(n){n.preventDefault();var t=this.opts.preSpaces?document.createTextNode(Array(this.opts.preSpaces+1).join(" ")):document.createTextNode("\t");return this.insertion.insertNode(t,"end")}});n.add("module","upload",{init:function(n){this.app=n;this.opts=n.opts;this.lang=n.lang;this.utils=n.utils;this.editor=n.editor;this.progress=n.progress;this.defaults={event:!1,element:!1,name:!1,files:!1,url:!1,data:!1,paramName:!1}},build:function(t){this.p=n.extend(this.defaults,t);this.$el=n.dom(this.p.element);"INPUT"===this.$el.get().tagName?this._buildInput():this._buildBox()},send:function(t){this.p=n.extend(this.defaults,t);this.$uploadbox=this.editor.getElement();this._send(this.p.event,this.p.files)},complete:function(n,t){this._complete(n,t)},_buildInput:function(){this.box=!1;this.prefix="";this.$uploadbox=n.dom('<div class="upload-box" />');this.$el.hide();this.$el.after(this.$uploadbox);this.opts.multipleUpload?this.$el.attr("multiple","multiple"):this.$el.removeAttr("multiple");this._buildPlaceholder();this._buildEvents()},_buildBox:function(){this.box=!0;this.prefix="box-";this.$uploadbox=this.$el;this.$uploadbox.attr("ondragstart","return false;");this.$uploadbox.on("drop.redactor.upload",this._onDropBox.bind(this));this.$uploadbox.on("dragover.redactor.upload",this._onDragOver.bind(this));this.$uploadbox.on("dragleave.redactor.upload",this._onDragLeave.bind(this))},_buildPlaceholder:function(){this.$placeholder=n.dom('<div class="upload-placeholder" />');this.$placeholder.html(this.lang.get("upload-label"));this.$uploadbox.append(this.$placeholder)},_buildEvents:function(){this.$el.on("change.redactor.upload",this._onChange.bind(this));this.$uploadbox.on("click.redactor.upload",this._onClick.bind(this));this.$uploadbox.on("drop.redactor.upload",this._onDrop.bind(this));this.$uploadbox.on("dragover.redactor.upload",this._onDragOver.bind(this));this.$uploadbox.on("dragleave.redactor.upload",this._onDragLeave.bind(this))},_onClick:function(n){n.preventDefault();this.$el.click()},_onChange:function(n){this.app.broadcast("upload.start");this._send(n,this.$el.get().files)},_onDrop:function(n){n.preventDefault();this._clear();this._setStatusDrop();this.app.broadcast("upload.start");this._send(n)},_onDragOver:function(n){return n.preventDefault(),this._setStatusHover(),!1},_onDragLeave:function(n){return n.preventDefault(),this._removeStatusHover(),!1},_onDropBox:function(n){n.preventDefault();this._clear();this._setStatusDrop();this.app.broadcast("upload.start");this._send(n)},_removeStatusHover:function(){this.$uploadbox.removeClass("upload-"+this.prefix+"hover")},_setStatusDrop:function(){this.$uploadbox.addClass("upload-"+this.prefix+"drop")},_setStatusHover:function(){this.$uploadbox.addClass("upload-"+this.prefix+"hover")},_setStatusError:function(){this.$uploadbox.addClass("upload-"+this.prefix+"error")},_setStatusSuccess:function(){this.$uploadbox.addClass("upload-"+this.prefix+"success")},_clear:function(){for(var t=["drop","hover","error","success"],n=0;n<t.length;n++)this.$uploadbox.removeClass("upload-"+this.prefix+t[n]);this.$uploadbox.removeAttr("ondragstart")},_send:function(n,t){n=n.originalEvent||n;t=t||n.dataTransfer.files;var i=new FormData,r=this._getUploadParam();i=this._buildData(r,t,i);i=this.utils.extendData(i,this.p.data);this._sendData(i,t,n)},_sendData:function(t,i,r){if(this.progress.show(),"function"==typeof this.p.url){var u=this.p.url(t,i,r,this);u instanceof Promise||this._complete(u)}else n.ajax.post({url:this.p.url,data:t,before:function(n){return this.app.broadcast("upload.beforeSend",n)}.bind(this),success:function(n){this._complete(n,r)}.bind(this)})},_getUploadParam:function(){return this.p.paramName?this.p.paramName:"file"},_buildData:function(n,t,i){if(1===t.length)i.append(n+"[]",t[0]);else if(t.length>1&&!1!==this.opts.multipleUpload)for(var r=0;r<t.length;r++)i.append(n+"[]",t[r]);return i},_complete:function(n,t){this._clear();this.progress.hide();n&&n.error?(this._setStatusError(),this.app.broadcast("upload."+this.p.name+".error",n,t),this.app.broadcast("upload.error",n)):(this._setStatusSuccess(),this.app.broadcast("upload."+this.p.name+".complete",n,t),this.app.broadcast("upload.complete",n),setTimeout(this._clear.bind(this),500))}});n.add("class","code.component",{mixins:["dom","component"],init:function(n,t){return this.app=n,t&&void 0!==t.cmnt?t:this._init(t)},_init:function(t){var i,u,r;void 0!==t?(u=n.dom(t),r=u.closest("figure"),0!==r.length?this.parse(r):(this.parse("<figure>"),this.append(t)),i=this.find("pre code, pre").last()):(i=n.dom("<pre>"),this.parse("<figure>"),this.append(i));this._initElement(i);this._initWrapper()},_initElement:function(n){n.attr({tabindex:"-1",contenteditable:!0})},_initWrapper:function(){this.addClass("redactor-component");this.attr({"data-redactor-type":"code",tabindex:"-1",contenteditable:!1})}});n.add("module","form",{init:function(n){this.app=n;this.lang=n.lang;this.component=n.component;this.inspector=n.inspector},onform:{remove:function(n){this._remove(n)}},oncontextbar:function(n,t){var r=this.inspector.parse(n.target),i,u;r.isComponentType("form")&&(i=r.getComponent(),u={remove:{title:this.lang.get("delete"),api:"module.form.remove",args:i}},t.set(n,i,u,"top"))},_remove:function(n){this.component.remove(n)}});n.add("class","form.component",{mixins:["dom","component"],init:function(n,t){return this.app=n,this.utils=n.utils,t&&void 0!==t.cmnt?t:this._init(t)},_init:function(t){var i,r,u;void 0!==t?(i=n.dom(t),r=i.closest("form"),0!==r.length?(u=this.utils.replaceToTag(t,"figure"),this.parse(u)):(this.parse("<figure>"),this.append(t))):this.parse("<figure>");this._initWrapper()},_initWrapper:function(){this.addClass("redactor-component");this.attr({"data-redactor-type":"form",tabindex:"-1",contenteditable:!1})}});n.add("module","image",{modals:{image:'<div class="redactor-modal-tab" data-title="## upload ##"><form action="">                 <input type="file" name="file">             <\/form><\/div>',imageedit:'<div class="redactor-modal-group">                 <div id="redactor-modal-image-preview" class="redactor-modal-side"><\/div>                 <form action="" class="redactor-modal-area">                     <div class="form-item">                         <label for="modal-image-title"> ## title ##<\/label>                         <input type="text" id="modal-image-title" name="title" />                     <\/div>                     <div class="form-item">                         <label for="modal-image-caption">## caption ##<\/label>                         <input type="text" id="modal-image-caption" name="caption" aria-label="## caption ##" />                     <\/div>                     <div class="form-item form-item-align">                         <label>## image-position ##<\/label>                         <select name="align" aria-label="## image-position ##">                             <option value="none">## none ##<\/option>                             <option value="left">## left ##<\/option>                             <option value="center">## center ##<\/option>                             <option value="right">## right ##<\/option>                         <\/select>                     <\/div>                     <div class="form-item">                         <label for="modal-image-url">## link ##<\/label>                         <input type="text" id="modal-image-url" name="url" aria-label="## link ##" />                     <\/div>                     <div class="form-item">                         <label class="checkbox"><input type="checkbox" name="target" aria-label="## link-in-new-tab ##"> ## link-in-new-tab ##<\/label>                     <\/div>                 <\/form>             <\/div>'},init:function(n){this.app=n;this.opts=n.opts;this.lang=n.lang;this.caret=n.caret;this.utils=n.utils;this.editor=n.editor;this.storage=n.storage;this.component=n.component;this.inspector=n.inspector;this.insertion=n.insertion;this.selection=n.selection;this.justResized=!1},oninsert:function(){this._observeImages()},onstarted:function(){this.storage.observeImages();this.opts.imageResizable&&(this.resizer=n.create("image.resize",this.app));this._observeImages()},ondropimage:function(n,t,i){if(this.opts.imageUpload){var r={url:this.opts.imageUpload,event:!i&&n,files:t,name:"imagedrop",data:this.opts.imageData};this.app.api("module.upload.send",r)}},onstop:function(){this.resizer&&this.resizer.stop()},onimageresizer:{stop:function(){this.resizer&&this.resizer.hide()}},onsource:{open:function(){this.resizer&&this.resizer.hide()},closed:function(){this._observeImages();this.resizer&&this.resizer.rebuild()}},onupload:{complete:function(){this._observeImages()},image:{complete:function(n){this._insert(n)},error:function(n){this._uploadError(n)}},imageedit:{complete:function(n){this._change(n)},error:function(n){this._uploadError(n)}},imagedrop:{complete:function(n,t){this._insert(n,t)},error:function(n){this._uploadError(n)}},imagereplace:{complete:function(n){this._change(n,!1)},error:function(n){this._uploadError(n)}}},onmodal:{image:{open:function(n,t){this._setUpload(t)}},imageedit:{open:function(n,t){this._setFormData(n,t)},opened:function(n,t){this._setFormFocus(t)},remove:function(){this._remove(this.$image)},save:function(n,t){this._save(n,t)}}},onimage:{observe:function(){this._observeImages()},resized:function(){this.justResized=!0}},oncontextbar:function(n,t){var u,i,r,f;this.justResized?this.justResized=!1:(u=this.selection.getCurrent(),i=this.inspector.parse(u),!i.isFigcaption()&&i.isComponentType("image")&&(r=i.getComponent(),f={edit:{title:this.lang.get("edit"),api:"module.image.open"},remove:{title:this.lang.get("delete"),api:"module.image.remove",args:r}},t.set(n,r,f)))},open:function(){this.$image=this._getCurrent();this.app.api("module.modal.build",this._getModalData())},insert:function(n){this._insert(n)},remove:function(n){this._remove(n)},_getModalData:function(){var n;return n=this._isImage()&&this.opts.imageEditable?{name:"imageedit",width:"800px",title:this.lang.get("edit"),handle:"save",commands:{save:{title:this.lang.get("save")},remove:{title:this.lang.get("delete"),type:"danger"},cancel:{title:this.lang.get("cancel")}}}:{name:"image",title:this.lang.get("image")},n},_isImage:function(){return this.$image},_getCurrent:function(){var t=this.selection.getCurrent(),n=this.inspector.parse(t);return!(!n.isComponentType("image")||!n.isComponentActive())&&this.component.create("image",n.getComponent())},_insert:function(n,t){if(this.app.api("module.modal.close"),"string"==typeof n&&(n={file:{url:n}}),"object"==typeof n){var i=Object.keys(n).length>1;i?this._insertMultiple(n,t):this._insertSingle(n,t)}},_insertSingle:function(n,t){var u,r,i;for(u in n)r=this._createImageAndStore(n[u]),i=t?this.insertion.insertToPoint(t,r):this.insertion.insertHtml(r),this._removeSpaceBeforeFigure(i[0]),this.component.setActive(i[0]),this.app.broadcast("image.uploaded",i[0],n)},_insertMultiple:function(t,i){var f,e=0,r=[],o,u,s;for(o in t)e++,u=this._createImageAndStore(t[o]),1===e?r=i?this.insertion.insertToPoint(i,u):this.insertion.insertHtml(u):(s=n.dom(r[0]),s.after(u),r=[u.get()],this.app.broadcast("image.inserted",u)),f=r[0],this._removeSpaceBeforeFigure(r[0]),this.app.broadcast("image.uploaded",r[0],t);this.component.setActive(f)},_createImageAndStore:function(n){var t=this.component.create("image");return t.addClass("redactor-uploaded-figure"),t.setData({src:n.url,id:n.id?n.id:this.utils.getRandomId()}),this.storage.add("image",t.getElement()),t},_removeSpaceBeforeFigure:function(n){if(n){var t=n.previousSibling;t&&(this._removeInvisibleSpace(t),this._removeInvisibleSpace(t.previousSibling))}},_removeInvisibleSpace:function(n){n&&3===n.nodeType&&-1!==this.utils.searchInvisibleChars(n.textContent)&&n.parentNode.removeChild(n)},_save:function(n,t){var i=t.getData(),r={title:i.title,link:{url:i.url,target:i.target}};this.opts.imageCaption&&(r.caption=i.caption);this.opts.imagePosition&&(r.align=i.align);this.$image.setData(r);this.resizer&&this.resizer.rebuild();this.app.broadcast("image.changed",this.$image);this.app.api("module.modal.close")},_change:function(t,i){var r,u;if("string"==typeof t&&(t={file:{url:t}}),"object"==typeof t){for(u in t){r=n.dom("<img>");r.attr("src",t[u].url);this.$image.changeImage(t[u]);this.app.broadcast("image.changed",this.$image,t);this.app.broadcast("image.uploaded",this.$image,t);break}!1!==i&&r.on("load",function(){this.$previewBox.html(r)}.bind(this))}},_uploadError:function(n){this.app.broadcast("image.uploadError",n)},_remove:function(n){this.app.api("module.modal.close");this.component.remove(n)},_observeImages:function(){var i=this.editor.getElement(),t=this;i.find("img").each(function(i){var r=n.dom(i);r.off(".drop-to-replace");r.on("dragover.drop-to-replace dragenter.drop-to-replace",function(n){n.preventDefault()});r.on("drop.drop-to-replace",function(n){if(!t.app.isDragComponentInside())return t._setReplaceUpload(n,r)})})},_setFormData:function(n,t){this._buildPreview();this._buildPreviewUpload();var i=this.$image.getData(),r={title:i.title};this.opts.imageCaption?r.caption=i.caption:n.find(".form-item-caption").hide();this.opts.imagePosition?r.align=i.align:n.find(".form-item-align").hide();i.link&&(r.url=i.link.url,i.link.target&&(r.target=!0));t.setData(r)},_setFormFocus:function(n){n.getField("title").focus()},_setReplaceUpload:function(n,t){if(n=n.originalEvent||n,n.stopPropagation(),n.preventDefault(),this.opts.imageUpload){this.$image=this.component.create("image",t);var i={url:this.opts.imageUpload,files:n.dataTransfer.files,name:"imagereplace",data:this.opts.imageData};this.app.api("module.upload.send",i)}},_setUpload:function(n){var t={url:this.opts.imageUpload,element:n.getField("file"),name:"image",data:this.opts.imageData,paramName:this.opts.imageUploadParam};this.app.api("module.upload.build",t)},_buildPreview:function(){this.$preview=n.dom("#redactor-modal-image-preview");var i=this.$image.getData(),t=n.dom("<img>");t.attr("src",i.src);this.$previewBox=n.dom("<div>");this.$previewBox.append(t);this.$preview.html("");this.$preview.append(this.$previewBox)},_buildPreviewUpload:function(){var t,i;this.opts.imageUpload&&(t=n.dom('<div class="desc">'),t.html("Drop a new image to change"),this.$preview.append(t),i={url:this.opts.imageUpload,element:this.$previewBox,name:"imageedit"},this.app.api("module.upload.build",i))}});n.add("class","image.component",{mixins:["dom","component"],init:function(n,t){return this.app=n,this.opts=n.opts,this.selection=n.selection,t&&void 0!==t.cmnt?t:this._init(t)},setData:function(n){for(var t in n)this._set(t,n[t])},getData:function(){for(var t=["src","title","caption","align","link","id"],i={},n=0;n<t.length;n++)i[t[n]]=this._get(t[n]);return i},getElement:function(){return this.$element},changeImage:function(n){this.$element.attr("src",n.url)},_init:function(t){var i=n.dom(t),r=i.closest("figure");void 0===t?(this.$element=n.dom("<img>"),this.parse("<figure>"),this.append(this.$element)):0===r.length?(this.parse("<figure>"),this.$element=i,this.$element.wrap(this)):(this.parse(r),this.$element=this.find("img"));this._initWrapper()},_set:function(n,t){this["_set_"+n](t)},_get:function(n){return this["_get_"+n]()},_set_src:function(n){this.$element.attr("src",n)},_set_id:function(n){this.$element.attr("data-image",n)},_set_title:function(n){n=n.trim().replace(/(<([^>]+)>)/gi,"");""===n?(this.$element.removeAttr("alt"),this.$element.removeAttr("title")):(this.$element.attr("alt",n),this.$element.attr("title",n))},_set_caption:function(t){var i=this.find("figcaption");return 0===i.length&&(i=n.dom("<figcaption>"),i.attr("contenteditable","true"),this.append(i)),""===t?i.remove():i.html(t),i},_set_align:function(n){var r="",u="",e="",t=this,i,o,f;if("object"==typeof this.opts.imagePosition){i=this.opts.imagePosition;for(o in i)t.removeClass(i[o]);f=void 0!==i[n]&&i[n];f&&t.addClass(f)}else{switch(n){case"left":r="left";u="0 "+this.opts.imageFloatMargin+" "+this.opts.imageFloatMargin+" 0";break;case"right":r="right";u="0 0 "+this.opts.imageFloatMargin+" "+this.opts.imageFloatMargin;break;case"center":e="center"}t.css({float:r,margin:u,"text-align":e});t.attr("rel",t.attr("style"))}},_set_link:function(t){var i=this._findLink();if(""!==t.url)return i||(i=n.dom("<a>"),this.$element.wrap(i)),i.attr("href",t.url),t.target?i.attr("target",t.target):i.removeAttr("target"),i;i&&i.unwrap()},_get_src:function(){return this.$element.attr("src")},_get_id:function(){return this.$element.attr("data-image")},_get_title:function(){var n=this.$element.attr("alt"),t=this.$element.attr("title");return n||t||""},_get_caption:function(){var n=this.find("figcaption");return 0===n.length?"":n.html()},_get_align:function(){var n="",t,i;if("object"==typeof this.opts.imagePosition){n="none";t=this.opts.imagePosition;for(i in t)if(this.hasClass(t[i])){n=i;break}}else n="center"===this.css("text-align")?"center":this.css("float");return n},_get_link:function(){var n=this._findLink(),t;if(n)return t=!!n.attr("target"),{url:n.attr("href"),target:t}},_initWrapper:function(){this.addClass("redactor-component");this.attr({"data-redactor-type":"image",tabindex:"-1",contenteditable:!1})},_findLink:function(){var t=this.find("a").filter(function(t){return 0===n.dom(t).closest("figcaption").length});return 0!==t.length&&t}});n.add("class","image.resize",{init:function(n){this.app=n;this.$doc=n.$doc;this.$win=n.$win;this.$body=n.$body;this.editor=n.editor;this.toolbar=n.toolbar;this.inspector=n.inspector;this.$target=this.toolbar.isTarget()?this.toolbar.getTargetElement():this.$body;this._init()},rebuild:function(){this._setResizerPosition()},hide:function(){this.$target.find("#redactor-image-resizer").remove()},stop:function(){var n=this.editor.getElement();n.off(".redactor.image-resize");this.$doc.off(".redactor.image-resize");this.$win.off("resize.redactor.image-resize");this.hide()},_init:function(){var n=this.editor.getElement();n.on("click.redactor.image-resize",this._build.bind(this));this.$win.on("resize.redactor.image-resize",this._setResizerPosition.bind(this))},_build:function(t){this.$target.find("#redactor-image-resizer").remove();var i=this.inspector.parse(t.target),r=this.editor.getElement();i.isComponentType("image")&&(this.$resizableBox=r,this.$resizableImage=n.dom(i.getImageElement()),this.$resizer=n.dom("<span>"),this.$resizer.attr("id","redactor-image-resizer"),this.$target.append(this.$resizer),this._setResizerPosition(),this.$resizer.on("mousedown touchstart",this._set.bind(this)))},_setResizerPosition:function(){if(this.$resizer){var t=this.toolbar.isTarget(),i=this.$target.offset(),n=7,u=t?n-i.top+this.$target.scrollTop():n,f=t?n-i.left:n,r=this.$resizableImage.offset(),e=this.$resizableImage.width(),o=this.$resizableImage.height(),s=this.$resizer.width(),h=this.$resizer.height();this.$resizer.css({top:r.top+o-h+u+"px",left:r.left+e-s+f+"px"})}},_set:function(n){n.preventDefault();this.resizeHandle={x:n.pageX,y:n.pageY,el:this.$resizableImage,ratio:this.$resizableImage.width()/this.$resizableImage.height(),h:this.$resizableImage.height()};n=n.originalEvent||n;n.targetTouches&&(this.resizeHandle.x=n.targetTouches[0].pageX,this.resizeHandle.y=n.targetTouches[0].pageY);this.app.broadcast("contextbar.close");this.app.broadcast("image.resize",this.$resizableImage);this._start()},_start:function(){this.$doc.on("mousemove.redactor.image-resize touchmove.redactor.image-resize",this._move.bind(this));this.$doc.on("mouseup.redactor.image-resize touchend.redactor.image-resize",this._stop.bind(this))},_stop:function(){this.$doc.off(".redactor.image-resize");this.app.broadcast("image.resized",this.$resizableImage)},_move:function(n){var t,i;n.preventDefault();n=n.originalEvent||n;t=this.resizeHandle.h;t+=n.targetTouches?n.targetTouches[0].pageY-this.resizeHandle.y:n.pageY-this.resizeHandle.y;i=t*this.resizeHandle.ratio;t<50||i<100||this._getResizableBoxWidth()<=i||(this.resizeHandle.el.attr({width:i,height:t}),this.resizeHandle.el.width(i),this.resizeHandle.el.height(t),this._setResizerPosition())},_getResizableBoxWidth:function(){var n=this.$resizableBox.width();return n-parseInt(this.$resizableBox.css("padding-left"))-parseInt(this.$resizableBox.css("padding-right"))}});n.add("module","file",{modals:{file:'<div class="redactor-modal-tab" data-title="## upload ##"><form action="">                 <div class="form-item form-item-title">                     <label for="modal-file-title"> ## filename ## <span class="desc">(## optional ##)<\/span><\/label>                     <input type="text" id="modal-file-title" name="title" />                 <\/div>                 <input type="file" name="file">             <\/form><\/div>'},init:function(n){this.app=n;this.opts=n.opts;this.lang=n.lang;this.caret=n.caret;this.utils=n.utils;this.storage=n.storage;this.component=n.component;this.inspector=n.inspector;this.insertion=n.insertion;this.selection=n.selection},onstarted:function(){this.storage.observeFiles()},ondropfile:function(n,t,i){if(this.opts.fileUpload){var r={url:this.opts.fileUpload,event:!i&&n,files:t,name:"filedrop",data:this.opts.fileData};this.app.api("module.upload.send",r)}},onmodal:{file:{open:function(n,t){this._setFormData(n,t);this._setUpload(t)},opened:function(n,t){this._setFormFocus(t);this.$form=t}}},onupload:{file:{complete:function(n){this._insert(n)},error:function(n){this._uploadError(n)}},filedrop:{complete:function(n,t){this._insert(n,t)},error:function(n){this._uploadError(n)}}},oncontextbar:function(n,t){var f=this.selection.getCurrent(),r=this.inspector.parse(f),i,u;r.isFile()&&(i=r.getFile(),u={remove:{title:this.lang.get("delete"),api:"module.file.remove",args:i}},t.set(n,i,u,"bottom"))},open:function(){this._open()},insert:function(n){this._insert(n)},remove:function(n){this._remove(n)},_open:function(){this.app.api("module.modal.build",this._getModalData())},_getModalData:function(){return{name:"file",title:this.lang.get("file")}},_insert:function(n,t){if(this.app.api("module.modal.close"),"object"==typeof n){var i=Object.keys(n).length>1;i?this._insertMultiple(n,t):this._insertSingle(n,t);this.$form=!1}},_insertSingle:function(n,t){var r=[],u,i;for(u in n)i=this._createFileAndStore(n[u]),r=this.opts.fileAttachment?this._insertAsAttachment(i):t?this.insertion.insertToPoint(t,i):this.insertion.insertRaw(i),this.app.broadcast("file.uploaded",r[0],n)},_insertMultiple:function(t,i){var f,e=0,u=[],o,r,s;for(o in t)e++,r=this._createFileAndStore(t[o]),this.opts.fileAttachment?u=this._insertAsAttachment(r,t):1===e?u=i?this.insertion.insertToPoint(i,r):this.insertion.insertRaw(r):(s=n.dom(u[0]),s.after(r),u=[r.get()],this.app.broadcast("file.inserted",r)),f=r,this.app.broadcast("file.uploaded",u[0],t);this.opts.fileAttachment||this.caret.setAfter(f)},_insertAsAttachment:function(t,i){var f=n.dom(this.opts.fileAttachment),u=t.wrapAttachment(),r;return f.append(u),r=[u.get()],this.app.broadcast("file.appended",r[0],i),r},_createFileAndStore:function(n){var i=!!this.$form&&this.$form.getData(),r=n.name?n.name:n.url,u=!this.opts.fileAttachment&&i&&""!==i.title?i.title:this._truncateUrl(r),t=this.component.create("file");return t.attr("href",n.url),t.attr("data-file",n.id?n.id:this.utils.getRandomId()),t.attr("data-name",n.name),t.html(u),this.storage.add("file",t),t},_remove:function(n){this.selection.save();var t=this.component.create("file",n),i=this.app.broadcast("file.delete",t);!1!==i?(t.unwrap(),this.selection.restore(),this.app.broadcast("file.deleted",t)):this.selection.restore()},_truncateUrl:function(n){return-1!==n.search(/^http/)&&n.length>20?n.substring(0,20)+"...":n},_setUpload:function(n){var t={url:this.opts.fileUpload,element:n.getField("file"),name:"file",data:this.opts.fileData,paramName:this.opts.fileUploadParam};this.app.api("module.upload.build",t)},_setFormData:function(n,t){this.opts.fileAttachment?n.find(".form-item-title").hide():t.setData({title:this.selection.getText()})},_setFormFocus:function(n){n.getField("title").focus()},_uploadError:function(n){this.app.broadcast("file.uploadError",n)}});n.add("class","file.component",{mixins:["dom","component"],init:function(n,t){return this.app=n,this.opts=n.opts,t&&void 0!==t.cmnt?t:this._init(t)},wrapAttachment:function(){return this.$wrapper=n.dom('<span class="redactor-file-item">'),this.$remover=n.dom('<span class="redactor-file-remover">'),this.$remover.html("&times;"),this.$remover.on("click",this.removeAttachment.bind(this)),this.$wrapper.append(this),this.$wrapper.append(this.$remover),this.$wrapper},removeAttachment:function(n){n.preventDefault();var t=this.app.broadcast("file.delete",this,this.$wrapper);!1!==t&&(this.$wrapper.remove(),this.app.broadcast("file.deleted",this),this.app.broadcast("file.removeAttachment",this))},_init:function(t){if(void 0===t)this.parse("<a>");else{var i=n.dom(t).closest("a");this.parse(i)}}});n.add("module","buffer",{init:function(n){this.app=n;this.opts=n.opts;this.editor=n.editor;this.offset=n.offset;this.keycodes=n.keycodes;this.selection=n.selection;this.state=!1;this.passed=!1;this.keyPressed=!1;this.savedHtml=!1;this.savedOffset=!1;this.undoStorage=[];this.redoStorage=[]},onkeydown:function(n){this._listen(n)},onsyncing:function(){this.keyPressed||this.trigger();this.keyPressed=!1},onstate:function(n,t,i){n&&(n.ctrlKey||n.metaKey)||n&&(this._isUndo(n)||this._isRedo(n))||(this.passed=!1,this._saveState(t,i))},onenable:function(){this.clear()},clear:function(){this.state=!1;this.undoStorage=[];this.redoStorage=[]},undo:function(){this._getUndo()},redo:function(){this._getRedo()},trigger:function(){this.state&&!1===this.passed&&this._setUndo()},_saveState:function(n,t){var i=this.editor.getElement();this.state={html:n||i.html(),offset:t||this.offset.get()}},_listen:function(n){var t=n.which,i=n.ctrlKey||n.metaKey,r=i||n.shiftKey||n.altKey,u=[this.keycodes.SPACE,this.keycodes.ENTER,this.keycodes.BACKSPACE,this.keycodes.DELETE,this.keycodes.TAB,this.keycodes.LEFT,this.keycodes.RIGHT,this.keycodes.UP,this.keycodes.DOWN];return this._isUndo(n)?(n.preventDefault(),void this.undo()):this._isRedo(n)?(n.preventDefault(),void this.redo()):((i||-1===u.indexOf(t))&&(!i||88!==t&&67!==t)||(r=!0,this.trigger()),r||this._hasUndo()||this.trigger(),void(this.keyPressed=!0))},_isUndo:function(n){var t=n.which,i=n.ctrlKey||n.metaKey;return i&&90===t&&!n.shiftKey&&!n.altKey},_isRedo:function(n){var t=n.which,i=n.ctrlKey||n.metaKey;return i&&(90===t&&n.shiftKey||89===t&&!n.shiftKey)&&!n.altKey},_setUndo:function(){var n=this.undoStorage[this.undoStorage.length-1];void 0!==n&&n[0]===this.state.html||(this.undoStorage.push([this.state.html,this.state.offset]),this._removeOverStorage())},_setRedo:function(){var n=this.editor.getElement(),t=this.offset.get(),i=n.html();this.redoStorage.push([i,t]);this.redoStorage=this.redoStorage.slice(0,this.opts.bufferLimit)},_getUndo:function(){if(this._hasUndo()){this.passed=!0;var t=this.editor.getElement(),n=this.undoStorage.pop();this._setRedo();t.html(n[0]);this.offset.set(n[1]);this.selection.restore();this.app.broadcast("undo",n[0],n[1])}},_getRedo:function(){if(this._hasRedo()){this.passed=!0;var t=this.editor.getElement(),n=this.redoStorage.pop();this._setUndo();t.html(n[0]);this.offset.set(n[1]);this.app.broadcast("redo",n[0],n[1])}},_removeOverStorage:function(){this.undoStorage.length>this.opts.bufferLimit&&(this.undoStorage=this.undoStorage.slice(0,this.undoStorage.length-this.opts.bufferLimit))},_hasUndo:function(){return 0!==this.undoStorage.length},_hasRedo:function(){return 0!==this.redoStorage.length}});n.add("module","list",{init:function(n){this.app=n;this.opts=n.opts;this.utils=n.utils;this.toolbar=n.toolbar;this.inspector=n.inspector;this.selection=n.selection},onbutton:{list:{observe:function(n){this._observeButton(n)}}},ondropdown:{list:{observe:function(n){this._observeDropdown(n)}}},toggle:function(t){this.selection.saveMarkers();var i=this._getBlocks(),u=this.selection.getBlock(),r=n.dom(u).parents("ul, ol",".redactor-in").last();return 0===i.length&&0!==r.length&&(i=[r.get()]),i=this._isUnformat(t,i)?this._unformat(t,i):this._format(t,i),this.selection.restoreMarkers(),i},indent:function(){var c=this.selection.isCollapsed(),l=this.selection.getCurrent(),e=this.inspector.parse(l),o=!!e.isList()&&e.getListItem(),t=n.dom(o),i=t.prevElement(),r=i.get(),a=c&&o&&r&&"LI"===r.tagName,u,s,h,f;a&&(this.selection.saveMarkers(),i=n.dom(r),u=i.children("ul, ol"),s=t.closest("ul, ol"),0!==u.length?u.append(t):(h=s.get().tagName.toLowerCase(),f=n.dom("<"+h+">"),f.append(t),i.append(f)),this.selection.restoreMarkers())},outdent:function(){var b=this.selection.isCollapsed(),k=this.selection.getCurrent(),l=this.inspector.parse(k),a=!!l.isList()&&l.getListItem(),t=n.dom(a),r,u,o;if(b&&a){var f,s,e,v,i=t.parent(),h=i.closest("li"),d=t.prevElement(),g=t.nextElement(),y=d.get(),p=g.get(),c=!1===y,w=!1!==y&&!1!==p,nt=!c&&!1===p;if(this.selection.saveMarkers(),0!==h.length)if(w){for(f=this._getAllNext(t.get()),e=n.dom("<"+i.get().tagName.toLowerCase()+">"),r=0;r<f.length;r++)e.append(f[r]);h.after(t);t.append(e)}else h.after(t),0===i.children().length?i.remove():c&&t.append(i);else{if(u=this._createUnformatContainer(t),o=u.find("ul, ol").first(),c)i.before(u);else if(nt)i.after(u);else if(w){for(e=n.dom("<"+i.get().tagName.toLowerCase()+">"),f=this._getAllNext(t.get()),r=0;r<f.length;r++)e.append(f[r]);i.after(u);u.after(e)}0!==o.length&&(v=u.nextElement(),s=v.get(),s&&s.tagName===i.get().tagName?(n.dom(s).prepend(o),o.unwrap()):u.after(o));t.remove()}this.selection.restoreMarkers()}},_getAllNext:function(t){for(var r,i=[];t;){if(r=n.dom(t).nextElement(),t=r.get(),!t)return i;i.push(t)}return i},_isUnformat:function(n,t){for(var u,r=0,i=0;i<t.length;i++)3!==t[i].nodeType&&(u=t[i].tagName.toLowerCase(),u!==n&&"figure"!==u||r++);return r===t.length},_format:function(t,i){var o=this._uniteBlocks(i,["p","div","blockquote","pre","h1","h2","h3","h4","h5","h6","ul","ol"]),c=[],s,f,e;for(s in o){for(var u=o[s],h=this._createList(t,o[s]),r=0;r<u.length;r++)3===u[r].nodeType||"UL"!==u[r].tagName&&"OL"!==u[r].tagName?(f=this._createListItem(u[r]),this.utils.normalizeTextNodes(f),h.append(f)):(e=n.dom(u[r]),f=e.contents(),h.append(f),this.utils.isEmpty(e)&&e.remove());c.push(h.get())}return c},_uniteBlocks:function(t,i){for(var s,e,u=0,f={0:[]},o=!1,r=0;r<t.length;r++)s=n.dom(t[r]),e=s.closest("th, td"),0!==e.length?(e.get()!==o&&(u++,f[u]=[]),this._isUniteBlock(t[r],i)&&f[u].push(t[r])):this._isUniteBlock(t[r],i)?f[u].push(t[r]):(u++,f[u]=[]),o=e.get();return f},_isUniteBlock:function(n,t){return 3===n.nodeType||-1!==t.indexOf(n.tagName.toLowerCase())},_createList:function(t,i){var u=i[i.length-1],f=n.dom(u),r=n.dom("<"+t+">");return f.after(r),r},_createListItem:function(t){var i=n.dom("<li>"),r;return 3===t.nodeType?i.append(t):(r=n.dom(t),i.append(r.contents()),r.remove()),i},_unformat:function(t,i){var o,u,h,c;if(1===i.length){var f=n.dom(i[0]),e=f.find("li"),r=this.selection.getNodes({tags:["li"]}),y=this.selection.getBlock(),l=n.dom(y).closest("li");if(0===r.length&&0!==l.length&&(r=[l.get()]),r.length===e.length)return this._unformatEntire(i[0]);if(o=this._getItemsPosition(e,r),"Top"===o)return this._unformatAtSide("before",r,f);if("Bottom"===o)return r.reverse(),this._unformatAtSide("after",r,f);if("Middle"===o){var p=n.dom(r[r.length-1]),a=!1,s=!1,v=n.dom("<"+f.get().tagName.toLowerCase()+">");for(e.each(function(t){if(a){var i=n.dom(t);0!==i.closest(".redactor-split-item").length||!1!==s&&0!==i.closest(s).length||i.addClass("redactor-split-item");s=i}t===p.get()&&(a=!0)}),e.filter(".redactor-split-item").each(function(t){var i=n.dom(t);i.removeClass("redactor-split-item");v.append(t)}),f.after(v),r.reverse(),u=0;u<r.length;u++)h=n.dom(r[u]),c=this._createUnformatContainer(h),f.after(c),c.find("ul, ol").remove(),h.remove();return}}else for(u=0;u<i.length;u++)3!==i[u].nodeType&&i[u].tagName.toLowerCase()===t&&this._unformatEntire(i[u])},_unformatEntire:function(t){var i=n.dom(t),r=i.find("li");r.each(function(t){var r=n.dom(t),u=this._createUnformatContainer(r);r.remove();i.before(u)}.bind(this));i.remove()},_unformatAtSide:function(t,i,r){for(var f,e,o,u=0;u<i.length;u++)f=n.dom(i[u]),e=this._createUnformatContainer(f),r[t](e),o=e.find("ul, ol").first(),f.append(o),o.each(function(t){var r=n.dom(t),f=r.closest("li");f.get()===i[u]&&(r.unwrap(),f.addClass("r-unwrapped"))}),this.utils.isEmptyHtml(f.html())&&f.remove();r.find(".r-unwrapped").each(function(t){var i=n.dom(t);""===i.html().trim()?i.remove():i.removeClass("r-unwrapped")})},_getItemsPosition:function(n,t){var i="Middle",r=t[0],u=t[t.length-1],f=n.first().get(),e=n.last().get();return f===r&&e!==u?i="Top":f!==r&&e===u&&(i="Bottom"),i},_createUnformatContainer:function(t){var i=n.dom("<"+this.opts.markup+">");return this.opts.breakline&&i.attr("data-redactor-tag","br"),i.append(t.contents()),i},_getBlocks:function(){return this.selection.getBlocks({first:!0})},_observeButton:function(){var r=this.selection.getCurrent(),n=this.inspector.parse(r),u=n.isPre()||n.isCode()||n.isFigcaption(),t,i;this._observeButtonsList(u,["lists","ul","ol","outdent","indent"]);t=this.toolbar.getButton("outdent");i=this.toolbar.getButton("indent");this._observeIndent(i,t)},_observeDropdown:function(n){var t=n.getItem("outdent"),i=n.getItem("indent");this._observeIndent(i,t)},_observeIndent:function(t,i){var u=this.selection.isCollapsed(),o=this.selection.getCurrent(),f=this.inspector.parse(o),r=!!f.isList()&&f.getListItem(),s=n.dom(r),h=s.prevElement(),e=h.get(),c=u&&r&&e&&"LI"===e.tagName;i&&(r&&u?i.enable():i.disable());t&&(r&&c?t.enable():t.disable())},_observeButtonsList:function(n,t){for(var r,i=0;i<t.length;i++)r=this.toolbar.getButton(t[i]),r&&(n?r.disable():r.enable())}});window.Redactor=window.$R=n;window.addEventListener("load",function(){n("[data-redactor]")})}(),function(n){n.add("plugin","alignment",{translations:{en:{align:"Align","align-left":"Align Left","align-center":"Align Center","align-right":"Align Right","align-justify":"Align Justify"}},init:function(n){this.app=n;this.lang=n.lang;this.block=n.block;this.toolbar=n.toolbar},start:function(){var n={},t;n.left={title:this.lang.get("align-left"),api:"plugin.alignment.set",args:"left"};n.center={title:this.lang.get("align-center"),api:"plugin.alignment.set",args:"center"};n.right={title:this.lang.get("align-right"),api:"plugin.alignment.set",args:"right"};n.justify={title:this.lang.get("align-justify"),api:"plugin.alignment.set",args:"justify"};t=this.toolbar.addButton("alignment",{title:this.lang.get("align")});t.setIcon('<i class="re-icon-alignment"><\/i>');t.setDropdown(n)},set:function(n){var t={style:{"text-align":n}};this.block.toggle(t)},_remove:function(){this.block.remove({style:"text-align"})}})}(Redactor),function(n){n.add("plugin","imagemanager",{translations:{en:{choose:"Choose"}},init:function(n){this.app=n;this.lang=n.lang;this.opts=n.opts},onmodal:{image:{open:function(n){this.opts.imageManagerJson&&this._load(n)}}},_load:function(t){var i=t.getBody();this.$box=n.dom("<div>");this.$box.attr("data-title",this.lang.get("choose"));this.$box.addClass("redactor-modal-tab");this.$box.hide();this.$box.css({overflow:"auto",height:"300px","line-height":1});i.append(this.$box);n.ajax.get({url:this.opts.imageManagerJson,success:this._parse.bind(this)})},_parse:function(t){var u=JSON.parse(t),f;for(f in u){var r=u[f],i=n.dom("<img>"),e=r.thumb?r.thumb:r.url;i.attr("src",e);i.attr("data-params",encodeURI(JSON.stringify(r)));i.css({width:"96px",height:"72px",margin:"0 4px 2px 0",cursor:"pointer"});i.on("click",this._insert.bind(this));this.$box.append(i)}},_insert:function(t){t.preventDefault();var i=n.dom(t.target),r=JSON.parse(decodeURI(i.attr("data-params")));this.app.api("module.image.insert",{image:r})}})}(Redactor),function(n){n.add("plugin","inlinestyle",{translations:{en:{style:"Style"}},init:function(n){this.app=n;this.lang=n.lang;this.toolbar=n.toolbar;this.styles={marked:{title:"Marked",args:"mark"}}},start:function(){var r={},n,t,i;for(n in this.styles)t=this.styles[n],r[n]={title:t.title,api:"module.inline.format",args:t.args};i=this.toolbar.addButtonAfter("format","inline",{title:this.lang.get("style")});i.setIcon('<i class="re-icon-inline"><\/i>');i.setDropdown(r)}})}(Redactor),function(n){n.add("plugin","table",{translations:{en:{table:"Table","insert-table":"Insert table","insert-row-above":"Insert row above","insert-row-below":"Insert row below","insert-column-left":"Insert column left","insert-column-right":"Insert column right","add-head":"Add head","delete-head":"Delete head","delete-column":"Delete column","delete-row":"Delete row","delete-table":"Delete table"}},init:function(n){this.app=n;this.lang=n.lang;this.opts=n.opts;this.caret=n.caret;this.toolbar=n.toolbar;this.component=n.component;this.inspector=n.inspector;this.insertion=n.insertion;this.selection=n.selection},ondropdown:{table:{observe:function(n){this._observeDropdown(n)}}},start:function(){var t={observe:"table","insert-table":{title:this.lang.get("insert-table"),api:"plugin.table.insert"},"insert-row-above":{title:this.lang.get("insert-row-above"),classname:"redactor-table-item-observable",api:"plugin.table.addRowAbove"},"insert-row-below":{title:this.lang.get("insert-row-below"),classname:"redactor-table-item-observable",api:"plugin.table.addRowBelow"},"insert-column-left":{title:this.lang.get("insert-column-left"),classname:"redactor-table-item-observable",api:"plugin.table.addColumnLeft"},"insert-column-right":{title:this.lang.get("insert-column-right"),classname:"redactor-table-item-observable",api:"plugin.table.addColumnRight"},"add-head":{title:this.lang.get("add-head"),classname:"redactor-table-item-observable",api:"plugin.table.addHead"},"delete-head":{title:this.lang.get("delete-head"),classname:"redactor-table-item-observable",api:"plugin.table.deleteHead"},"delete-column":{title:this.lang.get("delete-column"),classname:"redactor-table-item-observable",api:"plugin.table.deleteColumn"},"delete-row":{title:this.lang.get("delete-row"),classname:"redactor-table-item-observable",api:"plugin.table.deleteRow"},"delete-table":{title:this.lang.get("delete-table"),classname:"redactor-table-item-observable",api:"plugin.table.deleteTable"}},i={title:this.lang.get("table")},n=this.toolbar.addButtonBefore("link","table",i);n.setIcon('<i class="re-icon-table"><\/i>');n.setDropdown(t)},insert:function(){for(var n=this.component.create("table"),t=0;t<2;t++)n.addRow(3);n=this.insertion.insertHtml(n);this.caret.setStart(n)},addRowAbove:function(){var n=this._getComponent(),t,i;n&&(t=this.selection.getCurrent(),i=n.addRowTo(t,"before"),this.caret.setStart(i))},addRowBelow:function(){var n=this._getComponent(),t,i;n&&(t=this.selection.getCurrent(),i=n.addRowTo(t,"after"),this.caret.setStart(i))},addColumnLeft:function(){var n=this._getComponent(),t;n&&(t=this.selection.getCurrent(),this.selection.save(),n.addColumnTo(t,"left"),this.selection.restore())},addColumnRight:function(){var n=this._getComponent(),t;n&&(t=this.selection.getCurrent(),this.selection.save(),n.addColumnTo(t,"right"),this.selection.restore())},addHead:function(){var n=this._getComponent();n&&(this.selection.save(),n.addHead(),this.selection.restore())},deleteHead:function(){var t=this._getComponent(),i,r;t&&(i=this.selection.getCurrent(),r=n.dom(i).closest("thead"),0!==r.length?(t.removeHead(),this.caret.setStart(t)):(this.selection.save(),t.removeHead(),this.selection.restore()))},deleteColumn:function(){var t=this._getComponent();if(t){var i=this.selection.getCurrent(),r=n.dom(i).closest("td, th"),u=r.nextElement().get(),f=r.prevElement().get();t.removeColumn(i);u?this.caret.setStart(u):f?this.caret.setEnd(f):this.deleteTable()}},deleteRow:function(){var t=this._getComponent();if(t){var i=this.selection.getCurrent(),r=n.dom(i).closest("tr"),u=r.nextElement().get(),f=r.prevElement().get();t.removeRow(i);u?this.caret.setStart(u):f?this.caret.setEnd(f):this.deleteTable()}},deleteTable:function(){var n=this._getTable();n&&this.component.remove(n)},_getTable:function(){var t=this.selection.getCurrent(),n=this.inspector.parse(t);if(n.isTable())return n.getTable()},_getComponent:function(){var i=this.selection.getCurrent(),n=this.inspector.parse(i),t;if(n.isTable())return t=n.getTable(),this.component.create("table",t)},_observeDropdown:function(n){var r=this._getTable(),t=n.getItemsByClass("redactor-table-item-observable"),i=n.getItem("insert-table");r?(this._observeItems(t,"enable"),i.disable()):(this._observeItems(t,"disable"),i.enable())},_observeItems:function(n,t){for(var i=0;i<n.length;i++)n[i][t]()}})}(Redactor),function(n){n.add("class","table.component",{mixins:["dom","component"],init:function(n,t){return this.app=n,t&&void 0!==t.cmnt?t:this._init(t)},addHead:function(){this.removeHead();var i=this.$element.find("tr").first().children("td, th").length,t=n.dom("<thead>"),r=this._buildRow(i,"<th>");t.append(r);this.$element.prepend(t)},addRow:function(n){var t=this._buildRow(n);return this.$element.append(t),t},addRowTo:function(n,t){return this._addRowTo(n,t)},addColumnTo:function(t,i){var r=n.dom(t),f=r.closest("tr"),e=r.closest("td, th"),u=0;f.find("td, th").each(function(n,t){n===e.get()&&(u=t)});this.$element.find("tr").each(function(t){var e=n.dom(t),o=e.find("td, th").get(u),r=n.dom(o),f=r.clone();f.html("");"right"===i?r.after(f):r.before(f)})},removeHead:function(){var n=this.$element.find("thead");0!==n.length&&n.remove()},removeRow:function(t){var i=n.dom(t),r=i.closest("tr");r.remove()},removeColumn:function(t){var i=n.dom(t),u=i.closest("tr"),f=i.closest("td, th"),r=0;u.find("td, th").each(function(n,t){n===f.get()&&(r=t)});this.$element.find("tr").each(function(t){var i=n.dom(t),u=i.find("td, th").get(r),f=n.dom(u);f.remove()})},_init:function(t){var u,i;if(void 0!==t){var f=n.dom(t),e=f.get(),r=f.closest("figure");0!==r.length?(u=r,i=r.find("table").get()):"TABLE"===e.tagName&&(i=e)}this._buildWrapper(u);this._buildElement(i);this._initWrapper()},_addRowTo:function(t,i){var e=n.dom(t),r=e.closest("tr"),f,u;if(0!==r.length)return f=r.children("td, th").length,u=this._buildRow(f),r[i](u),u},_buildRow:function(t,i){var r,u,f;for(i=i||"<td>",r=n.dom("<tr>"),u=0;u<t;u++)f=n.dom(i),f.attr("contenteditable",!0),r.append(f);return r},_buildElement:function(t){t?this.$element=n.dom(t):(this.$element=n.dom("<table>"),this.append(this.$element))},_buildWrapper:function(n){n=n||"<figure>";this.parse(n)},_initWrapper:function(){this.addClass("redactor-component");this.attr({"data-redactor-type":"table",tabindex:"-1",contenteditable:!1})}})}(Redactor),function(n){n.add("plugin","video",{translations:{en:{video:"Video","video-html-code":"Video Embed Code or Youtube/Vimeo Link"}},modals:{video:'<form action="">                     <div class="form-item">                         <label for="modal-video-input">## video-html-code ## <span class="req">*<\/span><\/label>                         <textarea id="modal-video-input" name="video" style="height: 160px;"><\/textarea>                     <\/div>                 <\/form>'},init:function(n){this.app=n;this.lang=n.lang;this.opts=n.opts;this.toolbar=n.toolbar;this.component=n.component;this.insertion=n.insertion;this.inspector=n.inspector},onmodal:{video:{opened:function(n,t){t.getField("video").focus()},insert:function(n,t){var i=t.getData();this._insert(i)}}},oncontextbar:function(n,t){var r=this.inspector.parse(n.target),i,u;r.isComponentType("video")&&(i=r.getComponent(),u={remove:{title:this.lang.get("delete"),api:"plugin.video.remove",args:i}},t.set(n,i,u,"bottom"))},start:function(){var n={title:this.lang.get("video"),api:"plugin.video.open"},t=this.toolbar.addButtonAfter("image","video",n);t.setIcon('<i class="re-icon-video"><\/i>')},open:function(){var n={title:this.lang.get("video"),width:"600px",name:"video",handle:"insert",commands:{insert:{title:this.lang.get("insert")},cancel:{title:this.lang.get("cancel")}}};this.app.api("module.modal.build",n)},remove:function(n){this.component.remove(n)},_insert:function(n){if(this.app.api("module.modal.close"),""!==n.video.trim()&&(n.video=this._matchData(n.video),this._isVideoIframe(n.video))){var t=this.component.create("video",n.video);this.insertion.insertHtml(t)}},_isVideoIframe:function(n){return null!==n.match(/<iframe|<video/gi)},_matchData:function(n){var t='<iframe style="width: 500px; height: 281px;" src="',i='" frameborder="0" allowfullscreen><\/iframe>',r,u;return this._isVideoIframe(n)&&(r=["iframe","video"],u=/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,n=n.replace(u,function(n,t){return-1===r.indexOf(t.toLowerCase())?"":n})),n.match(this.opts.regex.youtube)?n=n.replace(this.opts.regex.youtube,t+"//www.youtube.com/embed/$1"+i):n.match(this.opts.regex.vimeo)&&(n=n.replace(this.opts.regex.vimeo,t+"//player.vimeo.com/video/$2"+i)),n}})}(Redactor),function(n){n.add("class","video.component",{mixins:["dom","component"],init:function(n,t){return this.app=n,t&&void 0!==t.cmnt?t:this._init(t)},_init:function(t){if(void 0!==t){var r=n.dom(t),i=r.closest("figure");0!==i.length?this.parse(i):(this.parse("<figure>"),this.append(t))}else this.parse("<figure>");this._initWrapper()},_initWrapper:function(){this.addClass("redactor-component");this.attr({"data-redactor-type":"video",tabindex:"-1",contenteditable:!1})}})}(Redactor),function(n){n.add("plugin","widget",{translations:{en:{widget:"Widget","widget-html-code":"Widget HTML Code"}},modals:{widget:'<form action="">                     <div class="form-item">                         <label for="modal-widget-input">## widget-html-code ## <span class="req">*<\/span><\/label>                         <textarea id="modal-widget-input" name="widget" style="height: 200px;"><\/textarea>                     <\/div>                 <\/form>'},init:function(n){this.app=n;this.lang=n.lang;this.opts=n.opts;this.toolbar=n.toolbar;this.component=n.component;this.insertion=n.insertion;this.inspector=n.inspector;this.selection=n.selection},onmodal:{widget:{opened:function(n,t){if(t.getField("widget").focus(),this.$currentItem){var i=decodeURI(this.$currentItem.attr("data-widget-code"));t.getField("widget").val(i)}},insert:function(n,t){var i=t.getData();this._insert(i)}}},oncontextbar:function(n,t){var r=this.inspector.parse(n.target),i,u;!r.isFigcaption()&&r.isComponentType("widget")&&(i=r.getComponent(),u={edit:{title:this.lang.get("edit"),api:"plugin.widget.open",args:i},remove:{title:this.lang.get("delete"),api:"plugin.widget.remove",args:i}},t.set(n,i,u,"bottom"))},onbutton:{widget:{observe:function(n){this._observeButton(n)}}},start:function(){var n={title:this.lang.get("widget"),api:"plugin.widget.open",observe:"widget"},t=this.toolbar.addButton("widget",n);t.setIcon('<i class="re-icon-widget"><\/i>')},open:function(){this.$currentItem=this._getCurrent();var n={title:this.lang.get("widget"),width:"600px",name:"widget",handle:"insert",commands:{insert:{title:this.$currentItem?this.lang.get("save"):this.lang.get("insert")},cancel:{title:this.lang.get("cancel")}}};this.app.api("module.modal.build",n)},remove:function(n){this.component.remove(n)},_getCurrent:function(){var t=this.selection.getCurrent(),n=this.inspector.parse(t);if(n.isComponentType("widget"))return this.component.build(n.getComponent())},_insert:function(n){if(this.app.api("module.modal.close"),""!==n.widget.trim()){var i=this._isHtmlString(n.widget)?n.widget:document.createTextNode(n.widget),t=this.component.create("widget",i);t.attr("data-widget-code",encodeURI(n.widget.trim()));this.insertion.insertHtml(t)}},_isHtmlString:function(n){return!("string"==typeof n&&!/^\s*<(\w+|!)[^>]*>/.test(n))},_observeButton:function(n){var t=this.selection.getCurrent(),i=this.inspector.parse(t);i.isComponentType("table")?n.disable():n.enable()}})}(Redactor),function(n){n.add("class","widget.component",{mixins:["dom","component"],init:function(n,t){return this.app=n,t&&void 0!==t.cmnt?t:this._init(t)},getData:function(){return{html:this._getHtml()}},_init:function(t){if(void 0!==t){var r=n.dom(t),i=r.closest("figure");0!==i.length?this.parse(i):(this.parse("<figure>"),this.html(t))}else this.parse("<figure>");this._initWrapper()},_getHtml:function(){var t=n.dom("<div>");return t.html(this.html()),t.find(".redactor-component-caret").remove(),t.html()},_initWrapper:function(){this.addClass("redactor-component");this.attr({"data-redactor-type":"widget",tabindex:"-1",contenteditable:!1})}})}(Redactor),function(){var g,nt,u,h,tt,c,l,a,it,v,r,rt,n,y,p,w,b,k,f,ut,ft,et,ot,e,d,st,i,ht,o,ct,s,lt,t=function(n,t){return function(){return n.apply(t,arguments)}},at=[].slice;it=!1;nt=!1;tt="superclamp:done";rt="superclamp:update";a="superclamp:instance";v="superclamp-ready";u="superclamp:dimensions";h="superclamp:distanceToBottomRight";c="superclamp:fragmentNodes";l="superclamp:fragmentValues";g=".clamp-ellipsis.is-not-required {\n  visibility: hidden !important;\n}\n.clamp-hidden {\n  display: none !important;\n}";r=function(){function r(i){var r;this.element=i;this._clampNode=t(this._clampNode,this);this._checkFit=t(this._checkFit,this);this._unchanged=t(this._unchanged,this);this._distanceToBottomRight=t(this._distanceToBottomRight,this);this._getEllipsisAt=t(this._getEllipsisAt,this);this._clampThis=t(this._clampThis,this);this._storeDistance=t(this._storeDistance,this);this._updateElementAt=t(this._updateElementAt,this);this._updateEllipsisSize=t(this._updateEllipsisSize,this);n("initialize",this.element);r=document.createTextNode(" ");this.ellipsis=document.createElement("span");this.ellipsis.classList.add("clamp-ellipsis");this.ellipsis.innerText="…";this.element.appendChild(r);this.element.appendChild(this.ellipsis);this.element[a]=this;this.element.setAttribute(v,!0)}return r.register=function(t){var i,r,u;for(n(".register",t),i=0,r=t.length;i<r;i++)u=t[i],this.clamp(u);p()},r.clamp=function(t){var i;n(".clamp",t);i=t[a]||new r(t);i.clamp()},r.reclampAll=function(n){var u,t,f,i;for(null!=n&&null==n.currentTarget||(n=document),i=n.querySelectorAll("["+v+"]"),t=0,f=i.length;t<f;t++)u=i[t],r.clamp(u);return p(),n},r.prototype.clamp=function(){var t;i("query",(t=this,function(){return t._updateEllipsisSize(),t._updateElementAt(),t._unchanged()?n("unchanged",t.element):t._clampThis()}))},r.prototype._updateEllipsisSize=function(){return ct(this.ellipsis)},r.prototype._updateElementAt=function(){return this.elementAt=ut(this.element)},r.prototype._storeDistance=function(){var t;return t=this._distanceToBottomRight(),n("storing distance",t),this.ellipsis[h]=t},r.prototype._clampThis=function(){return st("_clampThis",this.element),this._clampNode(this.element,(n=this,function(t){return n._storeDistance(),i("layout",function(){return t?n.ellipsis.classList.add("is-not-required"):n.ellipsis.classList.remove("is-not-required"),lt(n.element,tt)})}));var n},r.prototype._getEllipsisAt=function(){return ft(this.ellipsis)},r.prototype._distanceToBottomRight=function(){var n;return n=this._getEllipsisAt(),[this.elementAt.right-n.right,this.elementAt.bottom-n.bottom]},r.prototype._unchanged=function(){var i,r,u,f,e,t;return t=this.ellipsis[h],null!=t&&(i=t[0],u=t[1],e=this._distanceToBottomRight(),r=e[0],f=e[1],n("_unchanged: %o == %o && %o == %o",i,r,u,f),i===r&&u===f)},r.prototype._checkFit=function(t){return i("query",(r=this,function(){var u,i;return i=r._getEllipsisAt(),u=i.bottom<=r.elementAt.bottom&&i.right<=r.elementAt.right,n("checkFit: %o (bottom: %o <= %o, right: %o <= %o)",u,i.bottom,r.elementAt.bottom,i.right,r.elementAt.right),t(u)}));var r},r.prototype._clampNode=function(t,r,u){var s,h,c;return null==u&&(u=!0),c=this,s=function(u,f,e){return i("query",function(){var l,v,a;return n("findBestFit #contents: %o, nodeName: %o, prefix: %o",u,t.nodeName,f),0===u.length?r(e):1===u.length?h?(t.nodeValue=f+u[0],c._checkFit(function(n){return i("layout",function(){return n?r(e):(t.nodeValue=f.replace(RegExp(" $"),""),r(!1))})})):c._clampNode(u[0],r,e):(v=Math.floor(u.length/2),l=u.slice(0,v),a=u.slice(v),n("findBestFit head: %o, tail: %o",l,a),h?t.nodeValue=f+l.join(" "):(o(l),ot(a)),c._checkFit(function(r){return i("layout",function(){return r?(n("fits"),s(a,h?t.nodeValue+" ":"",e)):(n("wont fit"),s(l,f,!1))})}))})},h="#text"===t.nodeName,i("layout",function(n){return function(){var i;return h?(e(t),s(f(t),"",u)):"#comment"!==t.nodeName?(o([t]),i=w(t),t===n.element&&(i=Array.prototype.slice.call(i,0,-2)),s(i,"",u)):void 0}}(this))},r}();d={layout:[],query:[]};i=function(n,t){d[n].push(t)};y=function(t){var r,i;if(i=d[t],0===i.length)return!0;for(n("draining",t);r=i.shift();)r();return!1};p=function(){for(var n,t;!n||!t;)n=y("layout"),t=y("query")};n=function(){var t,n;if(t=1<=arguments.length?at.call(arguments,0):[],nt)return null!=(n=window.console)&&"function"==typeof n.debug?n.debug.apply(n,t):void 0};st=function(){var t,n;if(t=1<=arguments.length?at.call(arguments,0):[],it)return null!=(n=window.console)&&"function"==typeof n.log?n.log.apply(n,t):void 0};ct=function(t){t[u]=b(t);n("storeDimensions",t[u])};b=function(t){var i,r,u;return i=window.getComputedStyle(t),r=t.offsetHeight-parseFloat(i.paddingTop)-parseFloat(i.paddingBottom),u=t.offsetWidth-parseFloat(i.paddingLeft)-parseFloat(i.paddingRight),n("getDimensions",[r,u]),[u,r]};et=function(n){return n[u]};ft=function(t){var u,i,r,f;return r=et(t)||b(t),f=r[0],u=r[1],i={top:t.offsetTop,left:t.offsetLeft},null==i.bottom&&(i.bottom=i.top+u),null==i.right&&(i.right=i.left+f),n("getPosition of %o: %o",t,i),i};ut=function(n){var s,i,t,u,h,c,f,r,e,o;return c=!!n.currentStyle,t=window.getComputedStyle(n),s="border-box"===t.boxSizing,e=n.offsetTop,f=n.offsetLeft,u=parseInt(t.maxHeight)||parseInt(t.height),o=parseInt(t.maxWidth)||parseInt(t.width),s&&(r={top:parseInt(t.paddingTop)||0,left:parseInt(t.paddingLeft)||0,right:parseInt(t.paddingRight)||0,bottom:parseInt(t.paddingBottom)||0},i={top:parseInt(t.borderTopWidth)||0,left:parseInt(t.borderLeftWidth)||0,right:parseInt(t.borderRightWidth)||0,bottom:parseInt(t.borderBottomWidth)||0},c||(e+=r.top+i.top,f+=r.left+i.left,o-=r.left+r.right+i.left+i.right,u-=r.top+r.bottom+i.top+i.bottom)),h={top:e,left:f,right:f+o,bottom:e+u,width:o,height:u},h};k=function(n){var r,i,t,u;return t=n.parentNode,i=t[c]||[],u=t[l]||[],r=Array.prototype.indexOf.call(i,n),[i,u,r,t]};ht=function(n,t){var i,u,f,r,e;r=k(n);u=r[0];e=r[1];i=r[2];f=r[3];i<0&&(i=u.length);u[i]=n;e[i]=t;f[c]=u;f[l]=e};f=function(n){var i,t,r;return t=k(n),t[0],r=t[1],i=t[2],t[3],r[i]};e=function(n){null==f(n)&&ht(n,n.nodeValue.split(/[ \t\r\n]+/))};w=function(n){return n.childNodes};ot=function(t){var r,u,i;for(n("hideAll",t),r=0,u=t.length;r<u;r++)i=t[r],"#text"===i.nodeName?(e(i),i.nodeValue=""):i.classList.add("clamp-hidden")};o=function(t){var r,u,i;for(n("showAll",t),r=0,u=t.length;r<u;r++)i=t[r],"#text"===i.nodeName?(e(i),i.nodeValue=f(i).join(" ")):(i.classList.remove("clamp-hidden"),o(w(i)))};lt=function(n,t){var i;return"function"==typeof Event?i=new Event("submit"):(i=document.createEvent("Event"),i.initEvent(t,!0,!0)),n.dispatchEvent(i)};s=document.createElement("style");s.type="text/css";s.appendChild(document.createTextNode(g));document.head.appendChild(s);"undefined"!=typeof jQuery&&(jQuery.fn.clamp=function(){return r.register(this.get()),this});document.addEventListener("DOMContentLoaded",function(){return document.addEventListener(rt,r.reclampAll)});"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=r:window.Superclamp=r}.call(this),function(n){function t(){return'<div class="js-temp-picker-image" style="display:none"><\/div><div class="js-temp-picker-stage"><\/div><div class="temp-picker"><\/div>'}n.add("plugin","myplugin",{modals:{myplugin:t()},translations:{en:{myplugin:"<i class='fas fa-image'><\/i>","myplugin-label":"Please select your image from below"}},init:function(n){this.app=n;this.lang=n.lang;this.toolbar=n.toolbar;this.insertion=n.insertion},onmodal:{myplugin:{opened:function(){if(window._filePickerJWT==undefined)console.error("No JWT set for file picker (window._filePickerJWT)");else var n=MF.FilePicker.create({jwt:window._filePickerJWT,target:document.querySelector(".temp-picker"),base:"https://myfranchise.homeinstead.co.uk",onLoad:function(){console.log("FPEmbed: onLoad");n.setMinimumSize(80,80);closeLoading()},onPicked:function(n){console.log("FPEmbed: picked",n);$(".temp-picker").hide();$(".js-temp-picker-stage").html('<img src="'+n.public_url+'" style="max-width:100%" />');$(".js-temp-picker-image").html(n.public_url)}})},insert:function(){var n=$(".js-temp-picker-image").html();console.log(n);this._insert(n)}}},start:function(){var n={title:this.lang.get("myplugin"),api:"plugin.myplugin.open"},t=this.toolbar.addButton("myplugin",n)},open:function(){var n={title:this.lang.get("myplugin"),width:"600px",name:"myplugin",handle:"insert",commands:{insert:{title:this.lang.get("insert")},cancel:{title:this.lang.get("cancel")}}};this.app.api("module.modal.build",n)},_insert:function(n){if(this.app.api("module.modal.close"),n.trim()!==""){var t='<p><img src="'+n+'"/><\/p>';this.insertion.insertHtml(t,!1)}}})}(Redactor);window.RedactorOptionsWysiwygPlugin={grammarly:!1,formattingHide:["h1","pre"],buttonsHide:["image","deleted"],buttonsAddAfter:{after:"italic",buttons:["underline"]},imagePosition:!0,linkNewTab:!0,plugins:["table","alignment","inlinestyle"],formattingAdd:{"intro-paragraph":{title:"Intro Paragraph",api:"module.block.format",args:{tag:"p","class":"intro-paragraph"}},"custom-button":{title:"Clear Button",api:"module.block.format",args:{tag:"p","class":"custom-button"}},"custom-button-purple":{title:"Purple Button",api:"module.block.format",args:{tag:"p","class":"custom-button purple"}},"custom-button-blue":{title:"Blue Button",api:"module.block.format",args:{tag:"p","class":"custom-button blue"}}},callbacks:{format:function(){TextUnderline()}},pastePlainText:!0,imageResizable:!0};window.RedactorOptionsWysiwygSA={formattingHide:["h1","pre"],buttonsHide:["image","deleted"],buttonsAddAfter:{after:"italic",buttons:["underline"]},imagePosition:!0,linkNewTab:!0,plugins:["table","alignment","inlinestyle"],formattingAdd:{"intro-paragraph":{title:"Intro Paragraph",api:"module.block.format",args:{tag:"p","class":"intro-paragraph"}},"custom-button":{title:"Button",api:"module.block.format",args:{tag:"p","class":"custom-button"}},"custom-button-purple":{title:"Purple Button",api:"module.block.format",args:{tag:"p","class":"custom-button purple"}},"custom-button-blue":{title:"Blue Button",api:"module.block.format",args:{tag:"p","class":"custom-button blue"}}},callbacks:{format:function(){TextUnderline()}},pastePlainText:!0,imageUpload:window.redactorImageUploadURL,imageResizable:!0,fileUpload:window.redactorFileUploadURL};window.RedactorOptionsWysiwygSANoAlignment={formattingHide:["h1","pre"],buttonsHide:["image","deleted"],buttonsAddAfter:{after:"italic",buttons:["underline"]},imagePosition:!0,linkNewTab:!0,plugins:["table","inlinestyle"],formattingAdd:{"intro-paragraph":{title:"Intro Paragraph",api:"module.block.format",args:{tag:"p","class":"intro-paragraph"}},"custom-button":{title:"Button",api:"module.block.format",args:{tag:"p","class":"custom-button"}},"custom-button-purple":{title:"Purple Button",api:"module.block.format",args:{tag:"p","class":"custom-button purple"}},"custom-button-blue":{title:"Blue Button",api:"module.block.format",args:{tag:"p","class":"custom-button blue"}}},callbacks:{format:function(){TextUnderline()}},pastePlainText:!0,imageUpload:window.redactorImageUploadURL,imageResizable:!0,fileUpload:window.redactorFileUploadURL};window.RedactorOptionsWysiwygFA={formattingHide:["h1","pre"],buttonsHide:["html","image","deleted"],buttonsAddAfter:{after:"italic",buttons:["underline"]},imagePosition:!0,linkNewTab:!0,plugins:["table","alignment"],formattingAdd:{"custom-button":{title:"Button",api:"module.block.format",args:{tag:"p","class":"custom-button"}},"custom-button-purple":{title:"Purple Button",api:"module.block.format",args:{tag:"p","class":"custom-button purple"}},"custom-button-blue":{title:"Blue Button",api:"module.block.format",args:{tag:"p","class":"custom-button blue"}}},callbacks:{format:function(){TextUnderline()}},pastePlainText:!0,imageUpload:window.redactorImageUploadURL,imageResizable:!0,fileUpload:window.redactorFileUploadURL};window.RedactorOptionsWysiwygFANoAlignment={formattingHide:["h1","pre"],buttonsHide:["html","image","deleted"],buttonsAddAfter:{after:"italic",buttons:["underline"]},imagePosition:!0,linkNewTab:!0,plugins:["table"],formattingAdd:{"custom-button":{title:"Button",api:"module.block.format",args:{tag:"p","class":"custom-button"}},"custom-button-purple":{title:"Purple Button",api:"module.block.format",args:{tag:"p","class":"custom-button purple"}},"custom-button-blue":{title:"Blue Button",api:"module.block.format",args:{tag:"p","class":"custom-button blue"}}},callbacks:{format:function(){TextUnderline()}},pastePlainText:!0,imageUpload:window.redactorImageUploadURL,imageResizable:!0,fileUpload:window.redactorFileUploadURL};bxSliders=[];callbackArray=[];isRestructured=!1;pageRestructure();$(".js-toggle-ui").click(function(){reloadBlockJS()});$(document).ready(function(){function i(n,t){function i(n){$(".js-find-vacancies-validation p").html(n);$(".js-find-vacancies-validation").show();$(".js-find-vacancies-input").addClass("validation-error")}function r(){$(".js-find-vacancies-validation p").html("");$(".js-find-vacancies-validation").hide();$(".js-find-vacancies-input").removeClass("validation-error");t()}n.length<3?i("Please enter your full postcode"):/\d/.test(n)?/([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9][A-Za-z]?))))\s?[0-9][A-Za-z]{2})/i.test(n)?r():i("Please enter your full postcode, for example WA4 4PG"):r()}function r(n,t){function i(n){$(".js-find-care-validation p").html(n);$(".js-find-care-validation").show();$(".js-find-care-input").addClass("validation-error")}function r(){$(".js-find-care-validation p").html("");$(".js-find-care-validation").hide();$(".js-find-care-input").removeClass("validation-error");t()}n.length<3?i("Please enter your full postcode"):/\d/.test(n)?/([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9][A-Za-z]?))))\s?[0-9][A-Za-z]{2})/i.test(n)?r():i("Please enter your full postcode, for example WA4 4PG"):r()}function f(){$(".clamp-ellipsis:not(.is-not-required)").each(function(){var n=$(this);n.prepend(" ")})}function e(i){var o={};$(".js-repeaternews-filter").each(function(n,t){var i=$(t),r,u;i.is("select")&&(console.log(i.val()),i.val()!=""&&(r=i.attr("name"),u=i.val()));r!==undefined&&u!==undefined&&(o[r]=u)});var f=$('.js-repeaternews-wrapper[data-group="'+i+'"]'),e=f.data("showperpage"),r=f.data("aggregated");r=r!=undefined&&r==!0;f.data("filter",o);$('.js-repeaternews-wrapper[data-group="'+i+'"]').find(".js-repeaternews-item").hide();var s=u(i),c=s.slice(0,e),h=s.slice(e,e*2);n(c,r);t(h);h.length==0?$('.js-repeaternews-more[data-group="'+i+'"]').hide():$('.js-repeaternews-more[data-group="'+i+'"]').show()}function u(n){var o=$('.js-repeaternews-wrapper[data-group="'+n+'"]'),i=o.data("filter"),f="",r,t,u,e;if(i!=undefined)for(r=Object.keys(i),t=0;t<r.length;t++)u=r[t],e=i[u],f+="[data-"+u+'="'+e+'"]';return $('.js-repeaternews-wrapper[data-group="'+n+'"]').find(".js-repeaternews-item"+f)}function n(n,i){var s,u,f,r,e,o;if(t(n),n.css("display","block"),i)for(s=[{classes:"large",offsetFrom:null},{classes:"large",offsetFrom:null},{classes:"medium",offsetFrom:null},{classes:"medium absolute",offsetFrom:3,offsetPx:0},{classes:null,offsetFrom:null},{classes:null,offsetFrom:null}],u=0;u<n.length;u++)f=$(n[u]),r=s[u],console.log(f),console.log(r),f.removeClass("large").removeClass("medium").removeClass("absolute").css("top",""),r!=undefined&&(r.classes!=null&&f.addClass(r.classes),r.offsetFrom!=null&&(e=$(n[r.offsetFrom-1]),o=e.position().top+e.outerHeight(!0),f.css("top",o+r.offsetPx+"px"),console.log("adding offset "+(o+r.offsetPx))))}function t(n){n.each(function(n,t){var i=$(t);i.find("img").each(function(n,t){var i=$(t),u=i.attr("src"),r=i.data("src");u!=r&&i.attr("src",r)});i.find(".js-clamp").each(function(){var n=$(this),t=n.find(".js-underlined-text").length;t>0&&n.removeClass("js-clamp")})});$(".js-clamp").clamp()}function o(n){var t=$('.js-simplefilter-item[data-simplefilter-group="'+n+'"]');t.hide();console.log(t);$(".js-simplefilter-option").each(function(n,i){var e=$(i),r,u,f;e.is("select")&&e.val()!=""&&(r=e.attr("name"),u=e.val(),f=e.data("simplefilter-comparetype"));r!==undefined&&u!==undefined&&(f==undefined&&(f="="),console.log(r,f,u),t=t.filter(function(){return f=="="?$(this).data("simplefilter-"+r)==u:f=="<="?(console.log($(this).data("simplefilter-"+r)+" <= "+parseFloat(u)),console.log(parseFloat($(this).data("simplefilter-"+r))<=parseFloat(u)),parseFloat($(this).data("simplefilter-"+r))<=parseFloat(u)):f==">="?parseFloat($(this).data("simplefilter-"+r))>=parseFloat(u):!0}))});console.log(t);t.show()}$("a[href*=\\#]").on("click",function(){var i=$(this),r=i.data("ignoresmoothscroll")=="true",n,t;if(!r&&(n=i.attr("href"),n!="#"&&(t=$(n),t.length>0)))return $("html, body").animate({scrollTop:t.offset().top},1e3),!1});$(".js-find-vacancies-search .js-btn-search").click(function(){var n=$(this),t=$(".js-progress-line"),r=$("#js-find-vacancies-search-term").val();return i(r,function(){$(".js-loading-overlay").show();n.addClass("disabled");t.show();$.get("/pagehelpers/findvacanciessearch",{q:r}).done(function(i){$(".js-results-container").html(i);$(".js-loading-overlay").hide();n.removeClass("disabled");t.hide();$("html,body").animate({scrollTop:$(".js-find-vacancies-input").offset().top},750)})}),!1});$("#js-find-vacancies-search-term").keypress(function(n){n.which==13&&$(".js-find-vacancies-search .js-btn-search").trigger("click")});$(".js-find-vacancies-simple-form").submit(function(){var n=$(this),t;return n.data("isChecked")==!0?!0:(t=$(this).find('[name="searchTerm"]').val(),i(t,function(){n.data("isChecked",!0);n.submit()}),!1)});$(".js-find-care-search .js-btn-search").click(function(){var t=$(this),i=$(".js-progress-line"),n=$("#js-search-term").val();return r(n,function(){$(".js-loading-overlay").show();t.addClass("disabled");i.show();window.history.pushState("https://www.homeinstead.co.uk","Find Your Local Home Instead Home Care Agency In The UK","/find-home-care?searchTerm="+n);$.get("/pagehelpers/findcare",{q:n}).done(function(n){$(".js-results-container").html(n);$(".js-loading-overlay").hide();t.removeClass("disabled");i.hide();$("html,body").animate({scrollTop:$(".js-find-care-input").offset().top},750)})}),!1});$("#js-search-term").keypress(function(n){n.which==13&&$(".js-find-care-search .js-btn-search").trigger("click")});$(".js-find-care-simple-form").submit(function(){var n=$(this),t;return n.data("isChecked")==!0?!0:(t=$(this).find('[name="searchTerm"]').val(),r(t,function(){n.data("isChecked",!0);n.submit()}),!1)});$(".js-map-locations a").click(function(){var n=$(this),t=n.find(".land").attr("title");return $("#js-search-term").val(t),$(".js-btn-search").trigger("click"),!1});$(".js-isle-of-wight").click(function(){return $("#js-search-term").val("Isle of Wight"),$(".js-btn-search").trigger("click"),!1});bgIconJs();$(".js-toggle-ui").click(function(){toggleUI()});window.addEventListener("dragover",function(n){n=n||event;n.target.tagName!="INPUT"&&n.preventDefault()},!1);window.addEventListener("drop",function(n){n=n||event;n.target.tagName!="INPUT"&&n.preventDefault()},!1);customTooltip();$(document).on("click",".js-contenttab-button",function(){var n=$(this),t=n.data("tab-group"),i=n.data("tab-index");return console.log("group: "+t),console.log("index: "+i),$('.js-contenttab-item[data-tab-group="'+t+'"]').hide(),$('.js-contenttab-item[data-tab-index="'+i+'"]').show(),$('.js-contenttab-button[data-tab-group="'+t+'"]').closest("li").removeClass("active"),n.closest("li").addClass("active"),!1});$(document).click(function(){$(".js-button-box").removeClass("visible")});$(window).width()>1279&&fixedHeader();$(document).scroll(function(){$(window).width()>1279&&fixedHeader()});document.onRestructure(function(){if(window.isToolbar===!0){var n=localStorage.getItem("ui-status");n!=null&&n==0?($("html").addClass("hidden-ui"),$("body").removeClass("toolbars-active")):($("html").removeClass("hidden-ui"),$("body").addClass("toolbars-active"))}reloadBlockJS()});$(".js-accordion h4").click(function(){var t=$(this);if(t.parent(".text").length>0)return!1;var n=t.parents(".item"),r=t.parents(".js-accordion"),u=r.find(".item.active"),f=r.find(".text"),i=250;f.is(":animated")||(n.hasClass("active")?(n.removeClass("active"),n.find(".text").slideUp(i)):(u.removeClass("active"),u.find(".text").slideUp(i),n.addClass("active"),n.find(".text").slideDown(i)))});genericNotification();lightbox();$R(".js-redactor-wysiwyg-plugin",window.RedactorOptionsWysiwygPlugin);$R(".js-redactor-wysiwyg-sa",window.RedactorOptionsWysiwygSA);$R(".js-redactor-wysiwyg-sa-noalignment",window.RedactorOptionsWysiwygSANoAlignment);$R(".js-redactor-wysiwyg-fa",window.RedactorOptionsWysiwygFA);$R(".js-redactor-wysiwyg-fa-noalignment",window.RedactorOptionsWysiwygFANoAlignment);$(document).on("change",".js-custom-select",function(){var n=$(this),t=n.find(":selected").text();n.siblings('input[type="text"]').val(t.trim())});updateSelect();$(document).on("change",".js-custom-file-uploader",function(){var n=$(this),t=n.val().replace(/C:\\fakepath\\/i,"");t?n.siblings('input[type="text"]').val(t):n.siblings('input[type="text"]').val("No file chosen")});$(".js-custom-file-uploader").each(function(){var n=$(this),t=n.val().replace(/C:\\fakepath\\/i,"");t?n.siblings('input[type="text"]').val(t):n.siblings('input[type="text"]').val("No file chosen")});characterLimit();characterSEO();pageTitlecharacterLimit();$(document).on("click",".btn.disabled",function(n){return n.stopImmediatePropagation(),!1});$(document).on("click",".js-loading-btn",function(){var n=$(this);n.addClass("disabled")});runSelect2();runDateTimePickers();$(document).on("click",".js-editorformany-add",function(){var n=$(this),t=n.data("target"),i=n.data("url");return $.ajax({url:i,method:"get",success:function(n){$("#"+t).append(n);$R(".js-redactor-wysiwyg-sa",window.RedactorOptionsWysiwygSA);$R(".js-redactor-wysiwyg-sa-noalignment",window.RedactorOptionsWysiwygSANoAlignment);$R(".js-redactor-wysiwyg-fa",window.RedactorOptionsWysiwygFA);$R(".js-redactor-wysiwyg-fa-noalignment",window.RedactorOptionsWysiwygFANoAlignment);closeLoading();updateSelect();runDateTimePickers();customTooltip()}}),!1});$(document).on("click",".js-editorformany-delete",function(){var n=$(this),t=n.closest(".js-editorformany-row");return t.remove(),!1});$(document).on("click",".js-editorformany-move",function(){var f=$(this),i=f.data("dir"),n=f.closest(".js-editorformany-row"),e=n.parent(),r,u,t;return i=="up"&&(r=n.prev(".js-editorformany-row"),r.length==1&&r.before(n)),i=="down"&&(u=n.next(".js-editorformany-row"),u.length==1&&u.after(n)),i=="top"&&(t=e.find(".js-editorformany-row:first"),t.length==1&&t.before(n)),i=="bottom"&&(t=e.find(".js-editorformany-row:last"),t.length==1&&t.after(n)),!1});$(".js-carousel-slider").owlCarousel({items:4,nav:!0,dots:!1,navText:['<span aria-label="Previous"><i class="fa fa-chevron-left"><\/i><\/span>','<span aria-label="Next"><i class="fa fa-chevron-right"><\/i><\/span>'],responsiveBaseElement:".carousel-block",responsiveClass:!0,responsive:{0:{items:1},500:{items:2},850:{items:3},1250:{items:4}}});couraselIconJs();ImagePicker();moreButtonsSelector();$(document).on("click",".js-confirmation-simple",function(){var n=$(this),t=n.data("url"),i=n.data("message"),r=n.data("header");return window.confirmAction(i,function(){window.location.href=t},r),!1});$(document).on("submit",".js-contact-search-form",function(){var n=$(this),t=n.attr("action"),i=n.attr("method"),r=n.data("contactsearch-group");return $.ajax({url:t,data:n.serialize(),method:i,success:function(n){$('.js-contact-search-results[data-contactsearch-group="'+r+'"]').html(n)}}),!1});$(document).on("submit",".js-contact-generic-form, .js-contact-complex-form, .js-vacancy-application-form, .js-lead-form, .js-zoho-form",function(){var n=$(this),r=n.attr("action"),u=n.attr("method"),f=n.find("[data-form]").attr("data-form"),t="#"+f,i=50;return $(window).width()>1294&&(i=$(".header-wrap").height()+50),$.ajax({url:r,data:n.serializeFiles(),processData:!1,contentType:!1,method:u,success:function(r){n.html(r);$(".js-custom-radio-button").click(mapCustomRadiobuttonClickEvents);$(t).length>0&&$("html, body").animate({scrollTop:$(t).offset().top-i},1e3)}}),!1});$(document).on("click",".js-contact-generic-form button[name], .js-contact-complex-form button[name], .js-vacancy-application-form button[name]",function(){var n=$(this),t=n.closest("form");t.append('<input type="hidden" name="'+n.attr("name")+'" value="'+n.attr("value")+'" />')});$(document).on("click",".js-contact-complex-typeswitch",function(){var n=$(this),r=n.closest("li"),u=n.data("type"),i=n.closest(".js-contact-complex-wrapper"),t=i.find(".js-contact-complex-form"),f=t.find('input[name="Type"]');return i.find("li").removeClass("active"),r.addClass("active"),f.val(u),t.append('<input type="hidden" name="isTypeSwitch" value="true">'),t.submit(),$(window).width()>767?!1:void 0});$(document).on("click",".js-repeaternews-more a",function(){var c=$(this),f=c.closest(".js-repeaternews-more"),e=f.data("group"),o=$('.js-repeaternews-wrapper[data-group="'+e+'"]'),r=o.data("showperpage"),i=o.data("aggregated");i=i!=undefined&&i==!0;var s=u(e).filter(":hidden"),l=s.slice(0,r),h=s.slice(r,r*2);return n(l,i),t(h),h.length==0&&f.hide(),!1});$(document).on("change","select.js-repeaternews-filter",function(){e($(this).data("group"));newsItemTurnacate()});$(".js-repeaternews-wrapper").each(function(){var t=$(this),i=t.data("aggregated"),r=t.data("showperpage"),u=t.find(".js-repeaternews-item").slice(0,r);n(u,i)});$(".js-clamp").clamp();f();$(document).on("change","select.js-simplefilter-option",function(){o($(this).data("simplefilter-group"))})});loadPods();$(window).on("load",function(){var n=$(".js-go-to-top");n.click(function(){return $("html, body").animate({scrollTop:0},"slow"),!1});$(window).scrollTop()>=600&&n.addClass("visible");$(window).on("scroll",function(){var t=$(window).scrollTop();t>=600?n.addClass("visible"):n.removeClass("visible")});$(".js-scroll-down").each(function(){var n=$(this),t=n.parent(),u=t.offset().top,f=t.height(),i=u+f,e=$(".header-wrap").height(),r;r=$(window).width()>1294?i-e:i;n.click(function(){$("html, body").animate({scrollTop:r},1e3)})})});isConfirmActionClickBound=!1;window.confirmAction=function(n,t,i){var r=$(".js-confirmation-lightbox");i==undefined&&(i="Confirmation required");lastAction=t;$(".js-confirmation-lightbox-header").text(i);$(".js-confirmation-lightbox-message").text(n);r.fadeIn();isConfirmActionClickBound||(isConfirmActionClickBound=!0,$(".js-confirmation-lightbox-confirm").click(function(){lastAction();$(".js-confirmation-lightbox").fadeOut()}))};$(document).ready(function(){$(document).on("change",'[name="PreferredContactMethod"]',function(){console.log("change");var n=$('[name="PreferredContactMethod"]:checked');console.log(n.val());$("[data-contactmethod]").hide();$('[data-contactmethod="'+n.val()+'"]').show()})})