(function(n){function t(n){this.init(n)}t.prototype={value:0,size:100,startAngle:-Math.PI,thickness:"auto",fill:{gradient:["#3aeabb","#fdd250"]},emptyFill:"rgba(0, 0, 0, .1)",animation:{duration:1200,easing:"circleProgressEasing"},animationStartValue:0,reverse:!1,lineCap:"butt",constructor:t,el:null,canvas:null,ctx:null,radius:0,arcFill:null,lastFrameValue:0,init:function(t){n.extend(this,t),this.radius=this.size/2,this.initWidget(),this.initFill(),this.draw()},initWidget:function(){var t=this.canvas=this.canvas||n("<canvas>").prependTo(this.el)[0];t.width=this.size,t.height=this.size,this.ctx=t.getContext("2d")},initFill:function(){function a(){var t=n("<canvas>")[0];t.width=r.size,t.height=r.size,t.getContext("2d").drawImage(e,0,0,u,u),r.arcFill=r.ctx.createPattern(t,"no-repeat"),r.drawFrame(r.lastFrameValue)}var r=this,t=this.fill,c=this.ctx,u=this.size,i,o,f,h,e;if(!t)throw Error("The fill is not specified!");if(t.color&&(this.arcFill=t.color),t.gradient)if(i=t.gradient,i.length==1)this.arcFill=i[0];else if(i.length>1){var s=t.gradientAngle||0,v=t.gradientDirection||[u/2*(1-Math.cos(s)),u/2*(1+Math.sin(s)),u/2*(1+Math.cos(s)),u/2*(1-Math.sin(s))],l=c.createLinearGradient.apply(c,v);for(o=0;o<i.length;o++)f=i[o],h=o/(i.length-1),n.isArray(f)&&(h=f[1],f=f[0]),l.addColorStop(h,f);this.arcFill=l}t.image&&(t.image instanceof Image?e=t.image:(e=new Image,e.src=t.image),e.complete?a():e.onload=a)},draw:function(){this.animation?this.drawAnimated(this.value):this.drawFrame(this.value)},drawFrame:function(n){this.lastFrameValue=n,this.ctx.clearRect(0,0,this.size,this.size),this.drawEmptyArc(n),this.drawArc(n)},drawArc:function(n){var t=this.ctx,i=this.radius,u=this.getThickness(),r=this.startAngle;t.save(),t.beginPath(),this.reverse?t.arc(i,i,i-u/2,r-Math.PI*2*n,r):t.arc(i,i,i-u/2,r,r+Math.PI*2*n),t.lineWidth=u,t.lineCap=this.lineCap,t.strokeStyle=this.arcFill,t.stroke(),t.restore()},drawEmptyArc:function(n){var t=this.ctx,i=this.radius,r=this.getThickness(),u=this.startAngle;n<1&&(t.save(),t.beginPath(),n<=0?t.arc(i,i,i-r/2,0,Math.PI*2):this.reverse?t.arc(i,i,i-r/2,u,u-Math.PI*2*n):t.arc(i,i,i-r/2,u+Math.PI*2*n,u),t.lineWidth=r,t.strokeStyle=this.emptyFill,t.stroke(),t.restore())},drawAnimated:function(t){var r=this,i=this.el;i.trigger("circle-animation-start"),n(this.canvas).stop(!0,!0).css({animationProgress:0}).animate({animationProgress:1},n.extend({},this.animation,{step:function(n){var u=r.animationStartValue*(1-n)+t*n;r.drawFrame(u),i.trigger("circle-animation-progress",[n,u])},complete:function(){i.trigger("circle-animation-end")}}))},getThickness:function(){return n.isNumeric(this.thickness)?this.thickness:this.size/14}},n.circleProgress={defaults:t.prototype},n.easing.circleProgressEasing=function(n,t,i,r,u){return(t/=u/2)<1?r/2*t*t*t+i:r/2*((t-=2)*t*t+2)+i},n.fn.circleProgress=function(i){var r="circle-progress",u;return i=="widget"?(u=this.data(r),u&&u.canvas):this.each(function(){var f=n(this),u=f.data(r),e=n.isPlainObject(i)?i:{};u?u.init(e):(e.el=f,u=new t(e),f.data(r,u))})}})(jQuery),function(n){n.extend(n.fn,{validate:function(t){if(!this.length){t&&t.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing.");return}var i=n.data(this[0],"validator");return i?i:(this.attr("novalidate","novalidate"),i=new n.validator(t,this[0]),n.data(this[0],"validator",i),i.settings.onsubmit&&(this.validateDelegate(":submit","click",function(t){i.settings.submitHandler&&(i.submitButton=t.target),n(t.target).hasClass("cancel")&&(i.cancelSubmit=!0),n(t.target).attr("formnovalidate")!==undefined&&(i.cancelSubmit=!0)}),this.submit(function(t){function r(){var r;return i.settings.submitHandler?(i.submitButton&&(r=n("<input type='hidden'/>").attr("name",i.submitButton.name).val(n(i.submitButton).val()).appendTo(i.currentForm)),i.settings.submitHandler.call(i,i.currentForm,t),i.submitButton&&r.remove(),!1):!0}return(i.settings.debug&&t.preventDefault(),i.cancelSubmit)?(i.cancelSubmit=!1,r()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):r():(i.focusInvalid(),!1)})),i)},valid:function(){if(n(this[0]).is("form"))return this.validate().form();var t=!0,i=n(this[0].form).validate();return this.each(function(){t=t&&i.element(this)}),t},removeAttrs:function(t){var i={},r=this;return n.each(t.split(/\s/),function(n,t){i[t]=r.attr(t),r.removeAttr(t)}),i},rules:function(t,i){var r=this[0],o,u,h;if(t){var e=n.data(r.form,"validator").settings,s=e.rules,f=n.validator.staticRules(r);switch(t){case"add":n.extend(f,n.validator.normalizeRule(i)),s[r.name]=f,i.messages&&(e.messages[r.name]=n.extend(e.messages[r.name],i.messages));break;case"remove":return i?(o={},n.each(i.split(/\s/),function(n,t){o[t]=f[t],delete f[t]}),o):(delete s[r.name],f)}}return u=n.validator.normalizeRules(n.extend({},n.validator.classRules(r),n.validator.attributeRules(r),n.validator.dataRules(r),n.validator.staticRules(r)),r),u.required&&(h=u.required,delete u.required,u=n.extend({required:h},u)),u}}),n.extend(n.expr[":"],{blank:function(t){return!n.trim(""+n(t).val())},filled:function(t){return!!n.trim(""+n(t).val())},unchecked:function(t){return!n(t).prop("checked")}}),n.validator=function(t,i){this.settings=n.extend(!0,{},n.validator.defaults,t),this.currentForm=i,this.init()},n.validator.format=function(t,i){return arguments.length===1?function(){var i=n.makeArray(arguments);return i.unshift(t),n.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!==Array&&(i=n.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),n.each(i,function(n,i){t=t.replace(new RegExp("\\{"+n+"\\}","g"),function(){return i})}),t)},n.extend(n.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:n([]),errorLabelContainer:n([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(n){this.lastActive=n,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,n,this.settings.errorClass,this.settings.validClass),this.addWrapper(this.errorsFor(n)).hide())},onfocusout:function(n){!this.checkable(n)&&(n.name in this.submitted||!this.optional(n))&&this.element(n)},onkeyup:function(n,t){(t.which!==9||this.elementValue(n)!=="")&&(n.name in this.submitted||n===this.lastElement)&&this.element(n)},onclick:function(n){n.name in this.submitted?this.element(n):n.parentNode.name in this.submitted&&this.element(n.parentNode)},highlight:function(t,i,r){t.type==="radio"?this.findByName(t.name).addClass(i).removeClass(r):n(t).addClass(i).removeClass(r)},unhighlight:function(t,i,r){t.type==="radio"?this.findByName(t.name).removeClass(i).addClass(r):n(t).removeClass(i).addClass(r)}},setDefaults:function(t){n.extend(n.validator.defaults,t)},messages:{required:"Please fill in this field.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:n.validator.format("Please enter no more than {0} characters."),minlength:n.validator.format("Please enter at least {0} characters."),rangelength:n.validator.format("Please enter a value between {0} and {1} characters long."),range:n.validator.format("Please enter a value between {0} and {1}."),max:n.validator.format("Please enter a value less than or equal to {0}."),min:n.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function r(t){var i=n.data(this[0].form,"validator"),r="on"+t.type.replace(/^validate/,"");i.settings[r]&&i.settings[r].call(i,this[0],t)}var i,t;this.labelContainer=n(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||n(this.currentForm),this.containers=n(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset(),i=this.groups={},n.each(this.settings.groups,function(t,r){typeof r=="string"&&(r=r.split(/\s/)),n.each(r,function(n,r){i[r]=t})}),t=this.settings.rules,n.each(t,function(i,r){t[i]=n.validator.normalizeRule(r)}),n(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",r).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",r),this.settings.invalidHandler&&n(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),n.extend(this.submitted,this.errorMap),this.invalid=n.extend({},this.errorMap),this.valid()||n(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var n=0,t=this.currentElements=this.elements();t[n];n++)this.check(t[n]);return this.valid()},element:function(t){t=this.validationTargetFor(this.clean(t)),this.lastElement=t,this.prepareElement(t),this.currentElements=n(t);var i=this.check(t)!==!1;return i?delete this.invalid[t.name]:this.invalid[t.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),i},showErrors:function(t){if(t){n.extend(this.errorMap,t),this.errorList=[];for(var i in t)this.errorList.push({message:t[i],element:this.findByName(i)[0]});this.successList=n.grep(this.successList,function(n){return!(n.name in t)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){n.fn.resetForm&&n(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(n){var t=0,i;for(i in n)t++;return t},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()===0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{n(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(t){}},findLastActive:function(){var t=this.lastActive;return t&&n.grep(this.errorList,function(n){return n.element.name===t.name}).length===1&&t},elements:function(){var t=this,i={};return n(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return(!this.name&&t.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in i||!t.objectLength(n(this).rules()))?!1:(i[this.name]=!0,!0)})},clean:function(t){return n(t)[0]},errors:function(){var t=this.settings.errorClass.replace(" ",".");return n(this.settings.errorElement+"."+t,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=n([]),this.toHide=n([]),this.currentElements=n([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(n){this.reset(),this.toHide=this.errorsFor(n)},elementValue:function(t){var r=n(t).attr("type"),i=n(t).val();return r==="radio"||r==="checkbox"?n("input[name='"+n(t).attr("name")+"']:checked").val():typeof i=="string"?i.replace(/\r/g,""):i},check:function(t){var r,u;t=this.validationTargetFor(this.clean(t));var f=n(t).rules(),e=!1,o=this.elementValue(t),i;for(r in f){u={method:r,parameters:f[r]};try{if(i=n.validator.methods[r].call(this,o,t,u.parameters),i==="dependency-mismatch"){e=!0;continue}if(e=!1,i==="pending"){this.toHide=this.toHide.not(this.errorsFor(t));return}if(!i)return this.formatAndAdd(t,u),!1}catch(s){this.settings.debug&&window.console&&console.log("Exception occured when checking element "+t.id+", check the '"+u.method+"' method.",s);throw s;}}if(!e)return this.objectLength(f)&&this.successList.push(t),!0},customDataMessage:function(t,i){return n(t).data("msg-"+i.toLowerCase())||t.attributes&&n(t).attr("data-msg-"+i.toLowerCase())},customMessage:function(n,t){var i=this.settings.messages[n];return i&&(i.constructor===String?i:i[t])},findDefined:function(){for(var n=0;n<arguments.length;n++)if(arguments[n]!==undefined)return arguments[n];return undefined},defaultMessage:function(t,i){return this.findDefined(this.customMessage(t.name,i),this.customDataMessage(t,i),!this.settings.ignoreTitle&&t.title||undefined,n.validator.messages[i],"<strong>Warning: No message defined for "+t.name+"</strong>")},formatAndAdd:function(t,i){var r=this.defaultMessage(t,i.method),u=/\$?\{(\d+)\}/g;typeof r=="function"?r=r.call(this,i.parameters,t):u.test(r)&&(r=n.validator.format(r.replace(u,"{$1}"),i.parameters)),this.errorList.push({message:r,element:t}),this.errorMap[t.name]=r,this.submitted[t.name]=r},addWrapper:function(n){return this.settings.wrapper&&(n=n.add(n.parent(this.settings.wrapper))),n},defaultShowErrors:function(){for(var i,t,n=0;this.errorList[n];n++)t=this.errorList[n],this.settings.highlight&&this.settings.highlight.call(this,t.element,this.settings.errorClass,this.settings.validClass),this.showLabel(t.element,t.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(n=0;this.successList[n];n++)this.showLabel(this.successList[n]);if(this.settings.unhighlight)for(n=0,i=this.validElements();i[n];n++)this.settings.unhighlight.call(this,i[n],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return n(this.errorList).map(function(){return this.element})},showLabel:function(t,i){var r=this.errorsFor(t);r.length?(r.removeClass(this.settings.validClass).addClass(this.settings.errorClass),r.html(i)):(r=n("<"+this.settings.errorElement+">").attr("for",this.idOrName(t)).addClass(this.settings.errorClass).html(i||""),this.settings.wrapper&&(r=r.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(r).length||(this.settings.errorPlacement?this.settings.errorPlacement(r,n(t)):r.insertAfter(t))),!i&&this.settings.success&&(r.text(""),typeof this.settings.success=="string"?r.addClass(this.settings.success):this.settings.success(r,t)),this.toShow=this.toShow.add(r)},errorsFor:function(t){var i=this.idOrName(t);return this.errors().filter(function(){return n(this).attr("for")===i})},idOrName:function(n){return this.groups[n.name]||(this.checkable(n)?n.name:n.id||n.name)},validationTargetFor:function(n){return this.checkable(n)&&(n=this.findByName(n.name).not(this.settings.ignore)[0]),n},checkable:function(n){return/radio|checkbox/i.test(n.type)},findByName:function(t){return n(this.currentForm).find("[name='"+t+"']")},getLength:function(t,i){switch(i.nodeName.toLowerCase()){case"select":return n("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return t.length},depend:function(n,t){return this.dependTypes[typeof n]?this.dependTypes[typeof n](n,t):!0},dependTypes:{boolean:function(n){return n},string:function(t,i){return!!n(t,i.form).length},"function":function(n,t){return n(t)}},optional:function(t){var i=this.elementValue(t);return!n.validator.methods.required.call(this,i,t)&&"dependency-mismatch"},startRequest:function(n){this.pending[n.name]||(this.pendingRequest++,this.pending[n.name]=!0)},stopRequest:function(t,i){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[t.name],i&&this.pendingRequest===0&&this.formSubmitted&&this.form()?(n(this.currentForm).submit(),this.formSubmitted=!1):!i&&this.pendingRequest===0&&this.formSubmitted&&(n(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(t){return n.data(t,"previousValue")||n.data(t,"previousValue",{old:null,valid:!0,message:this.defaultMessage(t,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(t,i){t.constructor===String?this.classRuleSettings[t]=i:n.extend(this.classRuleSettings,t)},classRules:function(t){var i={},r=n(t).attr("class");return r&&n.each(r.split(" "),function(){this in n.validator.classRuleSettings&&n.extend(i,n.validator.classRuleSettings[this])}),i},attributeRules:function(t){var u={},f=n(t),r,i;for(r in n.validator.methods)r==="required"?(i=f.get(0).getAttribute(r),i===""&&(i=!0),i=!!i):i=f.attr(r),i?u[r]=i:f[0].getAttribute("type")===r&&(u[r]=!0);return u.maxlength&&/-1|2147483647|524288/.test(u.maxlength)&&delete u.maxlength,u},dataRules:function(t){var i,r,u={},f=n(t);for(i in n.validator.methods)r=f.data("rule-"+i.toLowerCase()),r!==undefined&&(u[i]=r);return u},staticRules:function(t){var i={},r=n.data(t.form,"validator");return r.settings.rules&&(i=n.validator.normalizeRule(r.settings.rules[t.name])||{}),i},normalizeRules:function(t,i){return n.each(t,function(r,u){if(u===!1){delete t[r];return}if(u.param||u.depends){var f=!0;switch(typeof u.depends){case"string":f=!!n(u.depends,i.form).length;break;case"function":f=u.depends.call(i,i)}f?t[r]=u.param!==undefined?u.param:!0:delete t[r]}}),n.each(t,function(r,u){t[r]=n.isFunction(u)?u(i):u}),n.each(["minlength","maxlength"],function(){t[this]&&(t[this]=Number(t[this]))}),n.each(["rangelength"],function(){var i;t[this]&&(n.isArray(t[this])?t[this]=[Number(t[this][0]),Number(t[this][1])]:typeof t[this]=="string"&&(i=t[this].split(/[\s,]+/),t[this]=[Number(i[0]),Number(i[1])]))}),n.validator.autoCreateRanges&&(t.min&&t.max&&(t.range=[t.min,t.max],delete t.min,delete t.max),t.minlength&&t.maxlength&&(t.rangelength=[t.minlength,t.maxlength],delete t.minlength,delete t.maxlength)),t},normalizeRule:function(t){if(typeof t=="string"){var i={};n.each(t.split(/\s/),function(){i[this]=!0}),t=i}return t},addMethod:function(t,i,r){n.validator.methods[t]=i,n.validator.messages[t]=r!==undefined?r:n.validator.messages[t],i.length<3&&n.validator.addClassRules(t,n.validator.normalizeRule(t))},methods:{required:function(t,i,r){if(!this.depend(r,i))return"dependency-mismatch";if(i.nodeName.toLowerCase()==="select"){var u=n(i).val();return u&&u.length>0}return this.checkable(i)?this.getLength(t,i)>0:n.trim(t).length>0},remote:function(t,i,r){var f,u,e;return this.optional(i)?"dependency-mismatch":(f=this.previousValue(i),this.settings.messages[i.name]||(this.settings.messages[i.name]={}),f.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=f.message,r=typeof r=="string"&&{url:r}||r,f.old===t)?f.valid:(f.old=t,u=this,this.startRequest(i),e={},e[i.name]=t,n.ajax(n.extend(!0,{url:r,mode:"abort",port:"validate"+i.name,dataType:"json",data:e,success:function(r){var e,h,s,o;u.settings.messages[i.name].remote=f.originalMessage,e=r===!0||r==="true",e?(h=u.formSubmitted,u.prepareElement(i),u.formSubmitted=h,u.successList.push(i),delete u.invalid[i.name],u.showErrors()):(s={},o=r||u.defaultMessage(i,"remote"),s[i.name]=f.message=n.isFunction(o)?o(t):o,u.invalid[i.name]=!0,u.showErrors(s)),f.valid=e,u.stopRequest(i,e)}},r)),"pending")},email:function(n,t){return this.optional(t)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(n)},url:function(n,t){return this.optional(t)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(n)},date:function(n,t){return this.optional(t)||!/Invalid|NaN/.test(new Date(n).toString())},dateISO:function(n,t){return this.optional(t)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(n)},number:function(n,t){return this.optional(t)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(n)},digits:function(n,t){return this.optional(t)||/^\d+$/.test(n)},creditcard:function(n,t){var r,e;if(this.optional(t))return"dependency-mismatch";if(/[^0-9 \-]+/.test(n))return!1;var f=0,i=0,u=!1;for(n=n.replace(/\D/g,""),r=n.length-1;r>=0;r--)e=n.charAt(r),i=parseInt(e,10),u&&(i*=2)>9&&(i-=9),f+=i,u=!u;return f%10==0},minlength:function(t,i,r){var u=n.isArray(t)?t.length:this.getLength(n.trim(t),i);return this.optional(i)||u>=r},maxlength:function(t,i,r){var u=n.isArray(t)?t.length:this.getLength(n.trim(t),i);return this.optional(i)||u<=r},rangelength:function(t,i,r){var u=n.isArray(t)?t.length:this.getLength(n.trim(t),i);return this.optional(i)||u>=r[0]&&u<=r[1]},min:function(n,t,i){return this.optional(t)||n>=i},max:function(n,t,i){return this.optional(t)||n<=i},range:function(n,t,i){return this.optional(t)||n>=i[0]&&n<=i[1]},equalTo:function(t,i,r){var u=n(r);return this.settings.onfocusout&&u.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){n(i).valid()}),t===u.val()}}}),n.format=n.validator.format}(jQuery),function(n){var t={},i;n.ajaxPrefilter?n.ajaxPrefilter(function(n,i,r){var u=n.port;n.mode==="abort"&&(t[u]&&t[u].abort(),t[u]=r)}):(i=n.ajax,n.ajax=function(r){var f=("mode"in r?r:n.ajaxSettings).mode,u=("port"in r?r:n.ajaxSettings).port;return f==="abort"?(t[u]&&t[u].abort(),t[u]=i.apply(this,arguments)):i.apply(this,arguments)})}(jQuery),function(n){n.extend(n.fn,{validateDelegate:function(t,i,r){return this.bind(i,function(i){var u=n(i.target);if(u.is(t))return r.apply(u,arguments)})}})}(jQuery),window.Modernizr=function(n,t,i){function l(n){c.cssText=n}function vt(n,t){return l(k.join(n+";")+(t||""))}function h(n,t){return typeof n===t}function v(n,t){return!!~(""+n).indexOf(t)}function ft(n,t){var u,r;for(u in n)if(r=n[u],!v(r,"-")&&c[r]!==i)return t=="pfx"?r:!0;return!1}function pt(n,t,r){var f,u;for(f in n)if(u=t[n[f]],u!==i)return r===!1?n[f]:h(u,"function")?u.bind(r||t):u;return!1}function f(n,t,i){var r=n.charAt(0).toUpperCase()+n.slice(1),u=(n+" "+ht.join(r+" ")+r).split(" ");return h(t,"string")||h(t,"undefined")?ft(u,t):(u=(n+" "+ut.join(r+" ")+r).split(" "),pt(u,t,i))}function yt(){u.input=function(i){for(var r=0,u=i.length;r<u;r++)y[i[r]]=!!(i[r]in o);return y.list&&(y.list=!!(t.createElement("datalist")&&n.HTMLDataListElement)),y}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),u.inputtypes=function(n){for(var u=0,r,f,e,h=n.length;u<h;u++)o.setAttribute("type",f=n[u]),r=o.type!=="text",r&&(o.value=it,o.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&o.style.WebkitAppearance!==i?(s.appendChild(o),e=t.defaultView,r=e.getComputedStyle&&e.getComputedStyle(o,null).WebkitAppearance!=="textfield"&&o.offsetHeight!==0,s.removeChild(o)):/^(search|tel)$/.test(f)||(r=/^(url|email)$/.test(f)?o.checkValidity&&o.checkValidity()===!1:o.value!=it)),lt[n[u]]=!!r;return lt}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var wt="2.6.2",u={},g=!0,s=t.documentElement,e="modernizr",et=t.createElement(e),c=et.style,o=t.createElement("input"),it=":)",ot={}.toString,k=" -webkit- -moz- -o- -ms- ".split(" "),st="Webkit Moz O ms",ht=st.split(" "),ut=st.toLowerCase().split(" "),d={svg:"http://www.w3.org/2000/svg"},r={},lt={},y={},nt=[],tt=nt.slice,w,a=function(n,i,r,u){var l,a,c,v,f=t.createElement("div"),h=t.body,o=h||t.createElement("body");if(parseInt(r,10))while(r--)c=t.createElement("div"),c.id=u?u[r]:e+(r+1),f.appendChild(c);return l=["&#173;",'<style id="s',e,'">',n,"</style>"].join(""),f.id=e,(h?f:o).innerHTML+=l,o.appendChild(f),h||(o.style.background="",o.style.overflow="hidden",v=s.style.overflow,s.style.overflow="hidden",s.appendChild(o)),a=i(f,n),h?f.parentNode.removeChild(f):(o.parentNode.removeChild(o),s.style.overflow=v),!!a},at=function(t){var i=n.matchMedia||n.msMatchMedia,r;return i?i(t).matches:(a("@media "+t+" { #"+e+" { position: absolute; } }",function(t){r=(n.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position=="absolute"}),r)},ct=function(){function r(r,u){u=u||t.createElement(n[r]||"div"),r="on"+r;var f=r in u;return f||(u.setAttribute||(u=t.createElement("div")),u.setAttribute&&u.removeAttribute&&(u.setAttribute(r,""),f=h(u[r],"function"),h(u[r],"undefined")||(u[r]=i),u.removeAttribute(r))),u=null,f}var n={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return r}(),rt={}.hasOwnProperty,p,b;p=h(rt,"undefined")||h(rt.call,"undefined")?function(n,t){return t in n&&h(n.constructor.prototype[t],"undefined")}:function(n,t){return rt.call(n,t)},Function.prototype.bind||(Function.prototype.bind=function(n){var t=this,i,r;if(typeof t!="function")throw new TypeError;return i=tt.call(arguments,1),r=function(){var e,f,u;return this instanceof r?(e=function(){},e.prototype=t.prototype,f=new e,u=t.apply(f,i.concat(tt.call(arguments))),Object(u)===u)?u:f:t.apply(n,i.concat(tt.call(arguments)))},r}),r.flexbox=function(){return f("flexWrap")},r.flexboxlegacy=function(){return f("boxDirection")},r.canvas=function(){var n=t.createElement("canvas");return!!(n.getContext&&n.getContext("2d"))},r.canvastext=function(){return!!(u.canvas&&h(t.createElement("canvas").getContext("2d").fillText,"function"))},r.webgl=function(){return!!n.WebGLRenderingContext},r.touch=function(){var i;return"ontouchstart"in n||n.DocumentTouch&&t instanceof DocumentTouch?i=!0:a(["@media (",k.join("touch-enabled),("),e,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(n){i=n.offsetTop===9}),i},r.geolocation=function(){return"geolocation"in navigator},r.postmessage=function(){return!!n.postMessage},r.websqldatabase=function(){return!!n.openDatabase},r.indexedDB=function(){return!!f("indexedDB",n)},r.hashchange=function(){return ct("hashchange",n)&&(t.documentMode===i||t.documentMode>7)},r.history=function(){return!!(n.history&&history.pushState)},r.draganddrop=function(){var n=t.createElement("div");return"draggable"in n||"ondragstart"in n&&"ondrop"in n},r.websockets=function(){return"WebSocket"in n||"MozWebSocket"in n},r.rgba=function(){return l("background-color:rgba(150,255,150,.5)"),v(c.backgroundColor,"rgba")},r.hsla=function(){return l("background-color:hsla(120,40%,100%,.5)"),v(c.backgroundColor,"rgba")||v(c.backgroundColor,"hsla")},r.multiplebgs=function(){return l("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(c.background)},r.backgroundsize=function(){return f("backgroundSize")},r.borderimage=function(){return f("borderImage")},r.borderradius=function(){return f("borderRadius")},r.boxshadow=function(){return f("boxShadow")},r.textshadow=function(){return t.createElement("div").style.textShadow===""},r.opacity=function(){return vt("opacity:.55"),/^0.55$/.test(c.opacity)},r.cssanimations=function(){return f("animationName")},r.csscolumns=function(){return f("columnCount")},r.cssgradients=function(){var n="background-image:",t="gradient(linear,left top,right bottom,from(#9f9),to(white));",i="linear-gradient(left top,#9f9, white);";return l((n+"-webkit- ".split(" ").join(t+n)+k.join(i+n)).slice(0,-n.length)),v(c.backgroundImage,"gradient")},r.cssreflections=function(){return f("boxReflect")},r.csstransforms=function(){return!!f("transform")},r.csstransforms3d=function(){var n=!!f("perspective");return n&&"webkitPerspective"in s.style&&a("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(t){n=t.offsetLeft===9&&t.offsetHeight===3}),n},r.csstransitions=function(){return f("transition")},r.fontface=function(){var n;return a('@font-face {font-family:"font";src:url("https://")}',function(i,r){var f=t.getElementById("smodernizr"),u=f.sheet||f.styleSheet,e=u?u.cssRules&&u.cssRules[0]?u.cssRules[0].cssText:u.cssText||"":"";n=/src/i.test(e)&&e.indexOf(r.split(" ")[0])===0}),n},r.generatedcontent=function(){var n;return a(["#",e,"{font:0/0 a}#",e,':after{content:"',it,'";visibility:hidden;font:3px/1 a}'].join(""),function(t){n=t.offsetHeight>=3}),n},r.video=function(){var i=t.createElement("video"),n=!1;try{(n=!!i.canPlayType)&&(n=new Boolean(n),n.ogg=i.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),n.h264=i.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),n.webm=i.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(r){}return n},r.audio=function(){var i=t.createElement("audio"),n=!1;try{(n=!!i.canPlayType)&&(n=new Boolean(n),n.ogg=i.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),n.mp3=i.canPlayType("audio/mpeg;").replace(/^no$/,""),n.wav=i.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),n.m4a=(i.canPlayType("audio/x-m4a;")||i.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(r){}return n},r.localstorage=function(){try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch(n){return!1}},r.sessionstorage=function(){try{return sessionStorage.setItem(e,e),sessionStorage.removeItem(e),!0}catch(n){return!1}},r.webworkers=function(){return!!n.Worker},r.applicationcache=function(){return!!n.applicationCache},r.svg=function(){return!!t.createElementNS&&!!t.createElementNS(d.svg,"svg").createSVGRect},r.inlinesvg=function(){var n=t.createElement("div");return n.innerHTML="<svg/>",(n.firstChild&&n.firstChild.namespaceURI)==d.svg},r.smil=function(){return!!t.createElementNS&&/SVGAnimate/.test(ot.call(t.createElementNS(d.svg,"animate")))},r.svgclippaths=function(){return!!t.createElementNS&&/SVGClipPath/.test(ot.call(t.createElementNS(d.svg,"clipPath")))};for(b in r)p(r,b)&&(w=b.toLowerCase(),u[w]=r[b](),nt.push((u[w]?"":"no-")+w));return u.input||yt(),u.addTest=function(n,t){if(typeof n=="object")for(var r in n)p(n,r)&&u.addTest(r,n[r]);else{if(n=n.toLowerCase(),u[n]!==i)return u;t=typeof t=="function"?t():t,typeof g!="undefined"&&g&&(s.className+=" "+(t?"":"no-")+n),u[n]=t}return u},l(""),et=o=null,function(n,t){function y(n,t){var i=n.createElement("p"),r=n.getElementsByTagName("head")[0]||n.documentElement;return i.innerHTML="x<style>"+t+"</style>",r.insertBefore(i.lastChild,r.firstChild)}function c(){var n=r.elements;return typeof n=="string"?n.split(" "):n}function o(n){var t=a[n[s]];return t||(t={},f++,n[s]=f,a[f]=t),t}function l(n,r,u){if(r||(r=t),i)return r.createElement(n);u||(u=o(r));var f;return f=u.cache[n]?u.cache[n].cloneNode():v.test(n)?(u.cache[n]=u.createElem(n)).cloneNode():u.createElem(n),f.canHaveChildren&&!b.test(n)?u.frag.appendChild(f):f}function p(n,r){if(n||(n=t),i)return n.createDocumentFragment();r=r||o(n);for(var f=r.frag.cloneNode(),u=0,e=c(),s=e.length;u<s;u++)f.createElement(e[u]);return f}function w(n,t){t.cache||(t.cache={},t.createElem=n.createElement,t.createFrag=n.createDocumentFragment,t.frag=t.createFrag()),n.createElement=function(i){return r.shivMethods?l(i,n,t):t.createElem(i)},n.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+c().join().replace(/\w+/g,function(n){return t.createElem(n),t.frag.createElement(n),'c("'+n+'")'})+");return n}")(r,t.frag)}function h(n){n||(n=t);var f=o(n);return!r.shivCSS||u||f.hasCSS||(f.hasCSS=!!y(n,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),i||w(n,f),n}var e=n.html5||{},b=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,v=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,u,s="_html5shiv",f=0,a={},i,r;(function(){try{var n=t.createElement("a");n.innerHTML="<xyz></xyz>",u="hidden"in n,i=n.childNodes.length==1||function(){t.createElement("a");var n=t.createDocumentFragment();return typeof n.cloneNode=="undefined"||typeof n.createDocumentFragment=="undefined"||typeof n.createElement=="undefined"}()}catch(r){u=!0,i=!0}})(),r={elements:e.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:e.shivCSS!==!1,supportsUnknownElements:i,shivMethods:e.shivMethods!==!1,type:"default",shivDocument:h,createElement:l,createDocumentFragment:p},n.html5=r,h(t)}(this,t),u._version=wt,u._prefixes=k,u._domPrefixes=ut,u._cssomPrefixes=ht,u.mq=at,u.hasEvent=ct,u.testProp=function(n){return ft([n])},u.testAllProps=f,u.testStyles=a,u.prefixed=function(n,t,i){return t?f(n,t,i):f(n,"pfx")},s.className=s.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(g?" js "+nt.join(" "):""),u}(this,this.document),typeof JSON!="object"&&(JSON={}),function(){"use strict";function i(n){return n<10?"0"+n:n}function o(n){return e.lastIndex=0,e.test(n)?'"'+n.replace(e,function(n){var t=s[n];return typeof t=="string"?t:"\\u"+("0000"+n.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+n+'"'}function u(i,f){var s,l,h,a,v=n,c,e=f[i];e&&typeof e=="object"&&typeof e.toJSON=="function"&&(e=e.toJSON(i)),typeof t=="function"&&(e=t.call(f,i,e));switch(typeof e){case"string":return o(e);case"number":return isFinite(e)?String(e):"null";case"boolean":case"null":return String(e);case"object":if(!e)return"null";if(n+=r,c=[],Object.prototype.toString.apply(e)==="[object Array]"){for(a=e.length,s=0;s<a;s+=1)c[s]=u(s,e)||"null";return h=c.length===0?"[]":n?"[\n"+n+c.join(",\n"+n)+"\n"+v+"]":"["+c.join(",")+"]",n=v,h}if(t&&typeof t=="object")for(a=t.length,s=0;s<a;s+=1)typeof t[s]=="string"&&(l=t[s],h=u(l,e),h&&c.push(o(l)+(n?": ":":")+h));else for(l in e)Object.prototype.hasOwnProperty.call(e,l)&&(h=u(l,e),h&&c.push(o(l)+(n?": ":":")+h));return h=c.length===0?"{}":n?"{\n"+n+c.join(",\n"+n)+"\n"+v+"}":"{"+c.join(",")+"}",n=v,h}}typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+i(this.getUTCMonth()+1)+"-"+i(this.getUTCDate())+"T"+i(this.getUTCHours())+":"+i(this.getUTCMinutes())+":"+i(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var f=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,r,s={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},t;typeof JSON.stringify!="function"&&(JSON.stringify=function(i,f,e){var o;if(n="",r="",typeof e=="number")for(o=0;o<e;o+=1)r+=" ";else typeof e=="string"&&(r=e);if(t=f,f&&typeof f!="function"&&(typeof f!="object"||typeof f.length!="number"))throw new Error("JSON.stringify");return u("",{"":i})}),typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){function walk(n,t){var r,u,i=n[t];if(i&&typeof i=="object")for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(u=walk(i,r),u!==undefined?i[r]=u:delete i[r]);return reviver.call(n,t,i)}var j;if(text=String(text),f.lastIndex=0,f.test(text)&&(text=text.replace(f,function(n){return"\\u"+("0000"+n.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),typeof reviver=="function"?walk({"":j},""):j;throw new SyntaxError("JSON.parse");})}(),function(){var d=this,pt=d._,c={},r=Array.prototype,ft=Object.prototype,at=Function.prototype,a=r.push,t=r.slice,l=r.concat,f=ft.toString,wt=ft.hasOwnProperty,nt=r.forEach,st=r.map,ot=r.reduce,g=r.reduceRight,ut=r.filter,rt=r.every,tt=r.some,e=r.indexOf,et=r.lastIndexOf,lt=Array.isArray,yt=Object.keys,k=at.bind,n=function(t){if(t instanceof n)return t;if(!(this instanceof n))return new n(t);this._wrapped=t},i,b,w,s,p,y,o,u,ht,it,h;typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=n),exports._=n):d._=n,n.VERSION="1.4.4",i=n.each=n.forEach=function(t,i,r){var u,e,f;if(t!=null)if(nt&&t.forEach===nt)t.forEach(i,r);else if(t.length===+t.length){for(u=0,e=t.length;u<e;u++)if(i.call(r,t[u],u,t)===c)return}else for(f in t)if(n.has(t,f)&&i.call(r,t[f],f,t)===c)return},n.map=n.collect=function(n,t,r){var u=[];return n==null?u:st&&n.map===st?n.map(t,r):(i(n,function(n,i,f){u[u.length]=t.call(r,n,i,f)}),u)},b="Reduce of empty array with no initial value",n.reduce=n.foldl=n.inject=function(t,r,u,f){var e=arguments.length>2;if(t==null&&(t=[]),ot&&t.reduce===ot)return f&&(r=n.bind(r,f)),e?t.reduce(r,u):t.reduce(r);if(i(t,function(n,t,i){e?u=r.call(f,u,n,t,i):(u=n,e=!0)}),!e)throw new TypeError(b);return u},n.reduceRight=n.foldr=function(t,r,u,f){var o=arguments.length>2,e,s;if(t==null&&(t=[]),g&&t.reduceRight===g)return f&&(r=n.bind(r,f)),o?t.reduceRight(r,u):t.reduceRight(r);if(e=t.length,e!==+e&&(s=n.keys(t),e=s.length),i(t,function(n,i,h){i=s?s[--e]:--e,o?u=r.call(f,u,t[i],i,h):(u=t[i],o=!0)}),!o)throw new TypeError(b);return u},n.find=n.detect=function(n,t,i){var r;return w(n,function(n,u,f){if(t.call(i,n,u,f))return r=n,!0}),r},n.filter=n.select=function(n,t,r){var u=[];return n==null?u:ut&&n.filter===ut?n.filter(t,r):(i(n,function(n,i,f){t.call(r,n,i,f)&&(u[u.length]=n)}),u)},n.reject=function(t,i,r){return n.filter(t,function(n,t,u){return!i.call(r,n,t,u)},r)},n.every=n.all=function(t,r,u){r||(r=n.identity);var f=!0;return t==null?f:rt&&t.every===rt?t.every(r,u):(i(t,function(n,t,i){if(!(f=f&&r.call(u,n,t,i)))return c}),!!f)},w=n.some=n.any=function(t,r,u){r||(r=n.identity);var f=!1;return t==null?f:tt&&t.some===tt?t.some(r,u):(i(t,function(n,t,i){if(f||(f=r.call(u,n,t,i)))return c}),!!f)},n.contains=n.include=function(n,t){return n==null?!1:e&&n.indexOf===e?n.indexOf(t)!=-1:w(n,function(n){return n===t})},n.invoke=function(i,r){var u=t.call(arguments,2),f=n.isFunction(r);return n.map(i,function(n){return(f?r:n[r]).apply(n,u)})},n.pluck=function(t,i){return n.map(t,function(n){return n[i]})},n.where=function(t,i,r){return n.isEmpty(i)?r?void 0:[]:n[r?"find":"filter"](t,function(n){for(var t in i)if(i[t]!==n[t])return!1;return!0})},n.findWhere=function(t,i){return n.where(t,i,!0)},n.max=function(t,r,u){if(!r&&n.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.max.apply(Math,t);if(!r&&n.isEmpty(t))return-Infinity;var f={computed:-Infinity,value:-Infinity};return i(t,function(n,t,i){var e=r?r.call(u,n,t,i):n;e>=f.computed&&(f={value:n,computed:e})}),f.value},n.min=function(t,r,u){if(!r&&n.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.min.apply(Math,t);if(!r&&n.isEmpty(t))return Infinity;var f={computed:Infinity,value:Infinity};return i(t,function(n,t,i){var e=r?r.call(u,n,t,i):n;e<f.computed&&(f={value:n,computed:e})}),f.value},n.shuffle=function(t){var u,f=0,r=[];return i(t,function(t){u=n.random(f++),r[f-1]=r[u],r[u]=t}),r},s=function(t){return n.isFunction(t)?t:function(n){return n[t]}},n.sortBy=function(t,i,r){var u=s(i);return n.pluck(n.map(t,function(n,t,i){return{value:n,index:t,criteria:u.call(r,n,t,i)}}).sort(function(n,t){var i=n.criteria,r=t.criteria;if(i!==r){if(i>r||i===void 0)return 1;if(i<r||r===void 0)return-1}return n.index<t.index?-1:1}),"value")},p=function(t,r,u,f){var e={},o=s(r||n.identity);return i(t,function(n,i){var r=o.call(u,n,i,t);f(e,r,n)}),e},n.groupBy=function(t,i,r){return p(t,i,r,function(t,i,r){(n.has(t,i)?t[i]:t[i]=[]).push(r)})},n.countBy=function(t,i,r){return p(t,i,r,function(t,i){n.has(t,i)||(t[i]=0),t[i]++})},n.sortedIndex=function(t,i,r,u){var e;r=r==null?n.identity:s(r);for(var h=r.call(u,i),f=0,o=t.length;f<o;)e=f+o>>>1,r.call(u,t[e])<h?f=e+1:o=e;return f},n.toArray=function(i){return i?n.isArray(i)?t.call(i):i.length===+i.length?n.map(i,n.identity):n.values(i):[]},n.size=function(t){return t==null?0:t.length===+t.length?t.length:n.keys(t).length},n.first=n.head=n.take=function(n,i,r){if(n!=null)return i!=null&&!r?t.call(n,0,i):n[0]},n.initial=function(n,i,r){return t.call(n,0,n.length-(i==null||r?1:i))},n.last=function(n,i,r){if(n!=null)return i==null||r?n[n.length-1]:t.call(n,Math.max(n.length-i,0))},n.rest=n.tail=n.drop=function(n,i,r){return t.call(n,i==null||r?1:i)},n.compact=function(t){return n.filter(t,n.identity)},y=function(t,r,u){return i(t,function(t){n.isArray(t)?r?a.apply(u,t):y(t,r,u):u.push(t)}),u},n.flatten=function(n,t){return y(n,t,[])},n.without=function(i){return n.difference(i,t.call(arguments,1))},n.uniq=n.unique=function(t,r,u,f){n.isFunction(r)&&(f=u,u=r,r=!1);var s=u?n.map(t,u,f):t,o=[],e=[];return i(s,function(i,u){(r?u&&e[e.length-1]===i:n.contains(e,i))||(e.push(i),o.push(t[u]))}),o},n.union=function(){return n.uniq(l.apply(r,arguments))},n.intersection=function(i){var r=t.call(arguments,1);return n.filter(n.uniq(i),function(t){return n.every(r,function(i){return n.indexOf(i,t)>=0})})},n.difference=function(i){var u=l.apply(r,t.call(arguments,1));return n.filter(i,function(t){return!n.contains(u,t)})},n.zip=function(){for(var r=t.call(arguments),u=n.max(n.pluck(r,"length")),f=new Array(u),i=0;i<u;i++)f[i]=n.pluck(r,""+i);return f},n.object=function(n,t){var r,i,u;if(n==null)return{};for(r={},i=0,u=n.length;i<u;i++)t?r[n[i]]=t[i]:r[n[i][0]]=n[i][1];return r},n.indexOf=function(t,i,r){if(t==null)return-1;var u=0,f=t.length;if(r)if(typeof r=="number")u=r<0?Math.max(0,f+r):r;else return u=n.sortedIndex(t,i),t[u]===i?u:-1;if(e&&t.indexOf===e)return t.indexOf(i,r);for(;u<f;u++)if(t[u]===i)return u;return-1},n.lastIndexOf=function(n,t,i){var u,r;if(n==null)return-1;if(u=i!=null,et&&n.lastIndexOf===et)return u?n.lastIndexOf(t,i):n.lastIndexOf(t);for(r=u?i:n.length;r--;)if(n[r]===t)return r;return-1},n.range=function(n,t,i){arguments.length<=1&&(t=n||0,n=0),i=arguments[2]||1;for(var r=Math.max(Math.ceil((t-n)/i),0),u=0,f=new Array(r);u<r;)f[u++]=n,n+=i;return f},n.bind=function(n,i){if(n.bind===k&&k)return k.apply(n,t.call(arguments,1));var r=t.call(arguments,2);return function(){return n.apply(i,r.concat(t.call(arguments)))}},n.partial=function(n){var i=t.call(arguments,1);return function(){return n.apply(this,i.concat(t.call(arguments)))}},n.bindAll=function(r){var u=t.call(arguments,1);if(u.length===0)throw new Error("bindAll must be passed function names");return i(u,function(t){r[t]=n.bind(r[t],r)}),r},n.memoize=function(t,i){var r={};return i||(i=n.identity),function(){var u=i.apply(this,arguments);return n.has(r,u)?r[u]:r[u]=t.apply(this,arguments)}},n.delay=function(n,i){var r=t.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},i)},n.defer=function(i){return n.delay.apply(n,[i,1].concat(t.call(arguments,1)))},n.throttle=function(n,t){var r,u,i,f,e=0,o=function(){e=new Date,i=null,f=n.apply(r,u)};return function(){var s=new Date,h=t-(s-e);return r=this,u=arguments,h<=0?(clearTimeout(i),i=null,e=s,f=n.apply(r,u)):i||(i=setTimeout(o,h)),f}},n.debounce=function(n,t,i){var r,u;return function(){var f=this,e=arguments,o=function(){r=null,i||(u=n.apply(f,e))},s=i&&!r;return clearTimeout(r),r=setTimeout(o,t),s&&(u=n.apply(f,e)),u}},n.once=function(n){var i=!1,t;return function(){return i?t:(i=!0,t=n.apply(this,arguments),n=null,t)}},n.wrap=function(n,t){return function(){var i=[n];return a.apply(i,arguments),t.apply(this,i)}},n.compose=function(){var n=arguments;return function(){for(var i=arguments,t=n.length-1;t>=0;t--)i=[n[t].apply(this,i)];return i[0]}},n.after=function(n,t){return n<=0?t():function(){if(--n<1)return t.apply(this,arguments)}},n.keys=yt||function(t){var i,r;if(t!==Object(t))throw new TypeError("Invalid object");i=[];for(r in t)n.has(t,r)&&(i[i.length]=r);return i},n.values=function(t){var r=[],i;for(i in t)n.has(t,i)&&r.push(t[i]);return r},n.pairs=function(t){var r=[],i;for(i in t)n.has(t,i)&&r.push([i,t[i]]);return r},n.invert=function(t){var r={},i;for(i in t)n.has(t,i)&&(r[t[i]]=i);return r},n.functions=n.methods=function(t){var r=[],i;for(i in t)n.isFunction(t[i])&&r.push(i);return r.sort()},n.extend=function(n){return i(t.call(arguments,1),function(t){if(t)for(var i in t)n[i]=t[i]}),n},n.pick=function(n){var u={},f=l.apply(r,t.call(arguments,1));return i(f,function(t){t in n&&(u[t]=n[t])}),u},n.omit=function(i){var f={},e=l.apply(r,t.call(arguments,1)),u;for(u in i)n.contains(e,u)||(f[u]=i[u]);return f},n.defaults=function(n){return i(t.call(arguments,1),function(t){if(t)for(var i in t)n[i]==null&&(n[i]=t[i])}),n},n.clone=function(t){return n.isObject(t)?n.isArray(t)?t.slice():n.extend({},t):t},n.tap=function(n,t){return t(n),n},o=function(t,i,r,u){var a,v,e,s,c,l,h;if(t===i)return t!==0||1/t==1/i;if(t==null||i==null)return t===i;if(t instanceof n&&(t=t._wrapped),i instanceof n&&(i=i._wrapped),a=f.call(t),a!=f.call(i))return!1;switch(a){case"[object String]":return t==String(i);case"[object Number]":return t!=+t?i!=+i:t==0?1/t==1/i:t==+i;case"[object Date]":case"[object Boolean]":return+t==+i;case"[object RegExp]":return t.source==i.source&&t.global==i.global&&t.multiline==i.multiline&&t.ignoreCase==i.ignoreCase}if(typeof t!="object"||typeof i!="object")return!1;for(v=r.length;v--;)if(r[v]==t)return u[v]==i;if(r.push(t),u.push(i),e=0,s=!0,a=="[object Array]"){if(e=t.length,s=e==i.length,s)while(e--)if(!(s=o(t[e],i[e],r,u)))break}else{if(c=t.constructor,l=i.constructor,c!==l&&!(n.isFunction(c)&&c instanceof c&&n.isFunction(l)&&l instanceof l))return!1;for(h in t)if(n.has(t,h)&&(e++,!(s=n.has(i,h)&&o(t[h],i[h],r,u))))break;if(s){for(h in i)if(n.has(i,h)&&!e--)break;s=!e}}return r.pop(),u.pop(),s},n.isEqual=function(n,t){return o(n,t,[],[])},n.isEmpty=function(t){if(t==null)return!0;if(n.isArray(t)||n.isString(t))return t.length===0;for(var i in t)if(n.has(t,i))return!1;return!0},n.isElement=function(n){return!!(n&&n.nodeType===1)},n.isArray=lt||function(n){return f.call(n)=="[object Array]"},n.isObject=function(n){return n===Object(n)},i(["Arguments","Function","String","Number","Date","RegExp"],function(t){n["is"+t]=function(n){return f.call(n)=="[object "+t+"]"}}),n.isArguments(arguments)||(n.isArguments=function(t){return!!(t&&n.has(t,"callee"))}),typeof/./!="function"&&(n.isFunction=function(n){return typeof n=="function"}),n.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},n.isNaN=function(t){return n.isNumber(t)&&t!=+t},n.isBoolean=function(n){return n===!0||n===!1||f.call(n)=="[object Boolean]"},n.isNull=function(n){return n===null},n.isUndefined=function(n){return n===void 0},n.has=function(n,t){return wt.call(n,t)},n.noConflict=function(){return d._=pt,this},n.identity=function(n){return n},n.times=function(n,t,i){for(var u=Array(n),r=0;r<n;r++)u[r]=t.call(i,r);return u},n.random=function(n,t){return t==null&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},u={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"}},u.unescape=n.invert(u.escape),ht={escape:new RegExp("["+n.keys(u.escape).join("")+"]","g"),unescape:new RegExp("("+n.keys(u.unescape).join("|")+")","g")},n.each(["escape","unescape"],function(t){n[t]=function(n){return n==null?"":(""+n).replace(ht[t],function(n){return u[t][n]})}}),n.result=function(t,i){if(t==null)return void 0;var r=t[i];return n.isFunction(r)?r.call(t):r},n.mixin=function(t){i(n.functions(t),function(i){var r=n[i]=t[i];n.prototype[i]=function(){var t=[this._wrapped];return a.apply(t,arguments),h.call(this,r.apply(n,t))}})},it=0,n.uniqueId=function(n){var t=++it+"";return n?n+t:t},n.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var v=/(.)^/,ct={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},vt=/\\|'|\r|\n|\t|\u2028|\u2029/g;n.template=function(t,i,r){var f,e;r=n.defaults({},r,n.templateSettings);var s=new RegExp([(r.escape||v).source,(r.interpolate||v).source,(r.evaluate||v).source].join("|")+"|$","g"),o=0,u="__p+='";t.replace(s,function(n,i,r,f,e){return u+=t.slice(o,e).replace(vt,function(n){return"\\"+ct[n]}),i&&(u+="'+\n((__t=("+i+"))==null?'':_.escape(__t))+\n'"),r&&(u+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),f&&(u+="';\n"+f+"\n__p+='"),o=e+n.length,n}),u+="';\n",r.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{f=new Function(r.variable||"obj","_",u)}catch(h){h.source=u;throw h;}return i?f(i,n):(e=function(t){return f.call(this,t,n)},e.source="function("+(r.variable||"obj")+"){\n"+u+"}",e)},n.chain=function(t){return n(t).chain()},h=function(t){return this._chain?n(t).chain():t},n.mixin(n),i(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var i=r[t];n.prototype[t]=function(){var n=this._wrapped;return i.apply(n,arguments),(t=="shift"||t=="splice")&&n.length===0&&delete n[0],h.call(this,n)}}),i(["concat","join","slice"],function(t){var i=r[t];n.prototype[t]=function(){return h.call(this,i.apply(this._wrapped,arguments))}}),n.extend(n.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}.call(this),function(n){var u={className:"autosizejs",append:"",callback:!1,resizeDelay:10},f='<textarea tabindex="-1" style="position:absolute; top:-999px; left:0; right:auto; bottom:auto; border:0; padding: 0; -moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box; word-wrap:break-word; height:0 !important; min-height:0 !important; overflow:hidden; transition:none; -webkit-transition:none; -moz-transition:none;"/>',r=["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent"],i,t=n(f).data("autosize",!0)[0];t.style.lineHeight="99px",n(t).css("lineHeight")==="99px"&&r.push("lineHeight"),t.style.lineHeight="",n.fn.autosize=function(f){return this.length?(f=n.extend({},u,f||{}),t.parentNode!==document.body&&n(document.body).append(t),this.each(function(){function v(){var r,i;"getComputedStyle"in window?(r=window.getComputedStyle(u,null),i=u.getBoundingClientRect().width,n.each(["paddingLeft","paddingRight","borderLeftWidth","borderRightWidth"],function(n,t){i-=parseInt(r[t],10)}),t.style.width=i+"px"):t.style.width=Math.max(e.width(),0)+"px"}function b(){var o={},h,c;i=u,t.className=f.className,s=parseInt(e.css("maxHeight"),10),n.each(r,function(n,t){o[t]=e.css(t)}),n(t).css(o),v(),window.chrome&&(h=u.style.width,u.style.width="0px",c=u.offsetWidth,u.style.width=h)}function o(){var n,r;i!==u?b():v(),t.value=u.value+f.append,t.style.overflowY=u.style.overflowY,r=parseInt(u.style.height,10),t.scrollTop=0,t.scrollTop=9e4,n=t.scrollTop,s&&n>s?(u.style.overflowY="scroll",n=s):(u.style.overflowY="hidden",n<h&&(n=h)),n+=c,r!==n&&(u.style.height=n+"px",p&&f.callback.call(u,u))}function y(){clearTimeout(l),l=setTimeout(function(){var n=e.width();n!==a&&(a=n,o())},parseInt(f.resizeDelay,10))}var u=this,e=n(u),s,h,c=0,p=n.isFunction(f.callback),w={height:u.style.height,overflow:u.style.overflow,overflowY:u.style.overflowY,wordWrap:u.style.wordWrap,resize:u.style.resize},l,a=e.width();if(!e.data("autosize")){if(e.data("autosize",!0),(e.css("box-sizing")==="border-box"||e.css("-moz-box-sizing")==="border-box"||e.css("-webkit-box-sizing")==="border-box")&&(c=e.outerHeight()-e.height()),h=Math.max(parseInt(e.css("minHeight"),10)-c||0,e.height()),e.css({overflow:"hidden",overflowY:"hidden",wordWrap:"break-word",resize:e.css("resize")==="none"||e.css("resize")==="vertical"?"none":"horizontal"}),"onpropertychange"in u)if("oninput"in u)e.on("input.autosize keyup.autosize",o);else e.on("propertychange.autosize",function(){event.propertyName==="value"&&o()});else e.on("input.autosize",o);if(f.resizeDelay!==!1)n(window).on("resize.autosize",y);e.on("autosize.resize",o);e.on("autosize.resizeIncludeStyle",function(){i=null,o()});e.on("autosize.destroy",function(){i=null,clearTimeout(l),n(window).off("resize",y),e.off("autosize").off(".autosize").css(w).removeData("autosize")});o()}})):this}}(window.jQuery||window.$),function(n){typeof n.fn.each2=="undefined"&&n.fn.extend({each2:function(t){for(var i=n([0]),r=-1,u=this.length;++r<u&&(i.context=i[0]=this[r])&&t.call(i[0],r,i)!==!1;);return this}})}(jQuery),function(n,t){"use strict";function e(n,t){for(var i=0,r=t.length;i<r;i=i+1)if(u(n,t[i]))return i;return-1}function st(){var t=n(yt),i;return t.appendTo("body"),i={width:t.width()-t[0].clientWidth,height:t.height()-t[0].clientHeight},t.remove(),i}function u(n,i){return n===i?!0:n===t||i===t?!1:n===null||i===null?!1:n.constructor===String?n+""==i+"":i.constructor===String?i+""==n+"":!1}function a(t,i){var u,r,f;if(t===null||t.length<1)return[];for(u=t.split(i),r=0,f=u.length;r<f;r=r+1)u[r]=n.trim(u[r]);return u}function k(n){return n.outerWidth(!1)-n.width()}function b(i){var r="keyup-change-value";i.bind("keydown",function(){n.data(i,r)===t&&n.data(i,r,i.val())}),i.bind("keyup",function(){var u=n.data(i,r);u!==t&&i.val()!==u&&(n.removeData(i,r),i.trigger("keyup-change"))})}function lt(i){i.bind("mousemove",function(i){var r=ft;(r===t||r.x!==i.pageX||r.y!==i.pageY)&&n(i.target).trigger("mousemove-filtered",i)})}function g(n,i,r){r=r||t;var u;return function(){var t=arguments;window.clearTimeout(u),u=window.setTimeout(function(){i.apply(r,t)},n)}}function ct(n){var t=!1,i;return function(){return t===!1&&(i=n(),t=!0),i}}function ht(n,t){var i=g(n,function(n){t.trigger("scroll-debounced",n)});t.bind("scroll",function(n){e(n.target,t.get())>=0&&i(n)})}function tt(n){n[0]!==document.activeElement&&window.setTimeout(function(){var t=n[0],r=n.val().length,i;n.focus(),n.is(":visible")&&t===document.activeElement&&(t.setSelectionRange?t.setSelectionRange(r,r):t.createTextRange&&(i=t.createTextRange(),i.collapse(!1),i.select()))},0)}function r(n){n.preventDefault(),n.stopPropagation()}function ot(n){n.preventDefault(),n.stopImmediatePropagation()}function vt(t){if(!o){var i=t[0].currentStyle||window.getComputedStyle(t[0],null);o=n(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:i.fontSize,fontFamily:i.fontFamily,fontStyle:i.fontStyle,fontWeight:i.fontWeight,letterSpacing:i.letterSpacing,textTransform:i.textTransform,whiteSpace:"nowrap"}),o.attr("class","select2-sizer"),n("body").append(o)}return o.text(t.val()),o.width()}function l(t,i,r){var u,f=[],e;u=t.attr("class"),u&&(u=""+u,n(u.split(" ")).each2(function(){this.indexOf("select2-")===0&&f.push(this)})),u=i.attr("class"),u&&(u=""+u,n(u.split(" ")).each2(function(){this.indexOf("select2-")!==0&&(e=r(this),e&&f.push(this))})),t.attr("class",f.join(" "))}function et(n,t,i,r){var u=n.toUpperCase().indexOf(t.toUpperCase()),f=t.length;if(u<0){i.push(r(n));return}i.push(r(n.substring(0,u))),i.push("<span class='select2-match'>"),i.push(r(n.substring(u,u+f))),i.push("</span>"),i.push(r(n.substring(u+f,n.length)))}function ut(t){var f,r=0,u=null,e=t.quietMillis||100,o=t.url,i=this;return function(s){window.clearTimeout(f),f=window.setTimeout(function(){r+=1;var c=r,e=t.data,f=o,l=t.transport||n.ajax,a=t.type||"GET",h={};e=e?e.call(i,s.term,s.page,s.context):null,f=typeof f=="function"?f.call(i,s.term,s.page,s.context):f,null!==u&&u.abort(),t.params&&(n.isFunction(t.params)?n.extend(h,t.params.call(i)):n.extend(h,t.params)),n.extend(h,{url:f,dataType:t.dataType,data:e,type:a,cache:!1,success:function(n){if(!(c<r)){var i=t.results(n,s.page);s.callback(i)}}}),u=l.call(i,h)},e)}}function rt(t){var i=t,e,u,r=function(n){return""+n.text},f;return n.isArray(i)&&(u=i,i={results:u}),n.isFunction(i)===!1&&(u=i,i=function(){return u}),f=i(),f.text&&(r=f.text,n.isFunction(r)||(e=i.text,r=function(n){return n[e]})),function(t){var u=t.term,e={results:[]},f;if(u===""){t.callback(i());return}f=function(i,e){var o,s;if(i=i[0],i.children){o={};for(s in i)i.hasOwnProperty(s)&&(o[s]=i[s]);o.children=[],n(i.children).each2(function(n,t){f(t,o.children)}),(o.children.length||t.matcher(u,r(o),i))&&e.push(o)}else t.matcher(u,r(i),i)&&e.push(i)},n(i().results).each2(function(n,t){f(t,e.results)}),t.callback(e)}}function nt(i){var r=n.isFunction(i);return function(u){var f=u.term,e={results:[]};n(r?i():i).each(function(){var n=this.text!==t,i=n?this.text:this;(f===""||u.matcher(f,i))&&e.results.push(n?this:{id:this,text:this})}),u.callback(e)}}function s(t){if(n.isFunction(t))return!0;if(!t)return!1;throw new Error("formatterName must be a function or a falsy value");}function f(t){return n.isFunction(t)?t():t}function d(t){var i=0;return n.each(t,function(n,t){t.children?i+=d(t.children):i++}),i}function at(n,i,r,f){var a=n,c=!1,e,s,o,h,l;if(!f.createSearchChoice||!f.tokenSeparators||f.tokenSeparators.length<1)return t;for(;;){for(s=-1,o=0,h=f.tokenSeparators.length;o<h;o++)if(l=f.tokenSeparators[o],s=n.indexOf(l),s>=0)break;if(s<0)break;if(e=n.substring(0,s),n=n.substring(s+l.length),e.length>0&&(e=f.createSearchChoice(e,i),e!==t&&e!==null&&f.id(e)!==t&&f.id(e)!==null)){for(c=!1,o=0,h=i.length;o<h;o++)if(u(f.id(e),f.id(i[o]))){c=!0;break}c||r(e)}}if(a!==n)return n}function v(t,i){var r=function(){};return r.prototype=new t,r.prototype.constructor=r,r.prototype.parent=t.prototype,r.prototype=n.extend(r.prototype,i),r}if(window.Select2===t){var h,p,w,c,o,ft,it,y,i={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(n){n=n.which?n.which:n;switch(n){case i.LEFT:case i.RIGHT:case i.UP:case i.DOWN:return!0}return!1},isControl:function(n){var t=n.which;switch(t){case i.SHIFT:case i.CTRL:case i.ALT:return!0}return n.metaKey?!0:!1},isFunctionKey:function(n){return n=n.which?n.which:n,n>=112&&n<=123}},yt="<div style='position:absolute; top:-10000px; left:-10000px; width:100px; height:100px; overflow:scroll;'></div>";it=n(document),c=function(){var n=1;return function(){return n++}}(),it.bind("mousemove",function(n){ft={x:n.pageX,y:n.pageY}}),h=v(Object,{bind:function(n){var t=this;return function(){n.apply(t,arguments)}},init:function(i){var u,e,o=".select2-results",s;this.opts=i=this.prepareOpts(i),this.id=i.id,i.element.data("select2")!==t&&i.element.data("select2")!==null&&this.destroy(),this.enabled=!0,this.container=this.createContainer(),this.containerId="s2id_"+(i.element.attr("id")||"autogen"+c()),this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.body=ct(function(){return i.element.closest("body")}),l(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.css(f(i.containerCss)),this.container.addClass(f(i.containerCssClass)),this.elementTabIndex=this.opts.element.attr("tabIndex"),this.opts.element.data("select2",this).bind("focus.select2",function(){n(this).select2("focus")}).attr("tabIndex","-1").before(this.container),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),this.dropdown.addClass(f(i.dropdownCssClass)),this.dropdown.data("select2",this),this.results=u=this.container.find(o),this.search=e=this.container.find("input.select2-input"),e.attr("tabIndex",this.elementTabIndex),this.resultsPage=0,this.context=null,this.initContainer(),lt(this.results),this.dropdown.delegate(o,"mousemove-filtered touchstart touchmove touchend",this.bind(this.highlightUnderEvent)),ht(80,this.results),this.dropdown.delegate(o,"scroll-debounced",this.bind(this.loadMoreIfNeeded)),n.fn.mousewheel&&u.mousewheel(function(n,t,i,f){var e=u.scrollTop(),o;f>0&&e-f<=0?(u.scrollTop(0),r(n)):f<0&&u.get(0).scrollHeight-u.scrollTop()+f<=u.height()&&(u.scrollTop(u.get(0).scrollHeight-u.height()),r(n))}),b(e),e.bind("keyup-change input paste",this.bind(this.updateResults)),e.bind("focus",function(){e.addClass("select2-focused")}),e.bind("blur",function(){e.removeClass("select2-focused")}),this.dropdown.delegate(o,"mouseup",this.bind(function(t){n(t.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(t),this.selectHighlighted(t))})),this.dropdown.bind("click mouseup mousedown",function(n){n.stopPropagation()}),n.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),(i.element.is(":disabled")||i.element.is("[readonly='readonly']"))&&this.disable(),y=y||st()},destroy:function(){var n=this.opts.element.data("select2");this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),n!==t&&(n.container.remove(),n.dropdown.remove(),n.opts.element.removeClass("select2-offscreen").removeData("select2").unbind(".select2").attr({tabIndex:this.elementTabIndex}).show())},optionToData:function(n){return n.is("option")?{id:n.attr("value"),text:n.text(),element:n.get(),css:n.attr("class"),disabled:u(n.attr("disabled"),"disabled"),locked:u(n.attr("locked"),"locked")}:n.is("optgroup")?{text:n.attr("label"),children:[],element:n.get(),css:n.attr("class")}:void 0},prepareOpts:function(i){var e,o,s,r,f=this;if(e=i.element,e.get(0).tagName.toLowerCase()==="select"&&(this.select=o=i.element),o&&n.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in i)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.");}),i=n.extend({},{populateResults:function(r,u,e){var o,h,c,l,s=this.opts.id;o=function(r,u,h){var a,k,l,d,p,w,c,v,y,b;for(r=i.sortResults(r,u,e),a=0,k=r.length;a<k;a=a+1)l=r[a],p=l.disabled===!0,d=!p&&s(l)!==t,w=l.children&&l.children.length>0,c=n("<li></li>"),c.addClass("select2-results-dept-"+h),c.addClass("select2-result"),c.addClass(d?"select2-result-selectable":"select2-result-unselectable"),p&&c.addClass("select2-disabled"),w&&c.addClass("select2-result-with-children"),c.addClass(f.opts.formatResultCssClass(l)),v=n(document.createElement("div")),v.addClass("select2-result-label"),b=i.formatResult(l,v,e,f.opts.escapeMarkup),b!==t&&v.html(b),c.append(v),w&&(y=n("<ul></ul>"),y.addClass("select2-result-sub"),o(l.children,y,h+1),c.append(y)),c.data("select2-data",l),u.append(c)},o(u,r,0)}},n.fn.select2.defaults,i),typeof i.id!="function"&&(s=i.id,i.id=function(n){return n[s]}),n.isArray(i.element.data("select2Tags"))){if("tags"in i)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+i.element.attr("id");i.tags=i.element.data("select2Tags")}if(o?(i.query=this.bind(function(i){var s={results:[],more:!1},h=i.term,r,u,o;o=function(n,t){var r;n.is("option")?i.matcher(h,n.text(),n)&&t.push(f.optionToData(n)):n.is("optgroup")&&(r=f.optionToData(n),n.children().each2(function(n,t){o(t,r.children)}),r.children.length>0&&t.push(r))},r=e.children(),this.getPlaceholder()!==t&&r.length>0&&(u=r[0],n(u).text()===""&&(r=r.not(u))),r.each2(function(n,t){o(t,s.results)}),i.callback(s)}),i.id=function(n){return n.id},i.formatResultCssClass=function(n){return n.css}):"query"in i||("ajax"in i?(r=i.element.data("ajax-url"),r&&r.length>0&&(i.ajax.url=r),i.query=ut.call(i.element,i.ajax)):"data"in i?i.query=rt(i.data):"tags"in i&&(i.query=nt(i.tags),i.createSearchChoice===t&&(i.createSearchChoice=function(n){return{id:n,text:n}}),i.initSelection===t&&(i.initSelection=function(t,r){var f=[];n(a(t.val(),i.separator)).each(function(){var e=this,r=this,t=i.tags;n.isFunction(t)&&(t=t()),n(t).each(function(){if(u(this.id,e))return r=this.text,!1}),f.push({id:e,text:r})}),r(f)}))),typeof i.query!="function")throw"query function not defined for Select2 "+i.element.attr("id");return i},monitorSource:function(){var n=this.opts.element,t;n.bind("change.select2",this.bind(function(){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),t=this.bind(function(){var n,t,i=this;n=this.opts.element.attr("disabled")!=="disabled",t=this.opts.element.attr("readonly")==="readonly",n=n&&!t,this.enabled!==n&&(n?this.enable():this.disable()),l(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(f(this.opts.containerCssClass)),l(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(f(this.opts.dropdownCssClass))}),n.bind("propertychange.select2 DOMAttrModified.select2",t),typeof WebKitMutationObserver!="undefined"&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new WebKitMutationObserver(function(n){n.forEach(t)}),this.propertyObserver.observe(n.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(t){var i=n.Event("selected",{val:this.id(t),object:t});return this.opts.element.trigger(i),!i.isDefaultPrevented()},triggerChange:function(t){t=t||{},t=n.extend({},t,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(t),this.opts.element.data("select2-change-triggered",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},enable:function(){this.enabled||(this.enabled=!0,this.container.removeClass("select2-container-disabled"),this.opts.element.removeAttr("disabled"))},disable:function(){this.enabled&&(this.close(),this.enabled=!1,this.container.addClass("select2-container-disabled"),this.opts.element.attr("disabled","disabled"))},opened:function(){return this.container.hasClass("select2-dropdown-open")},positionDropdown:function(){var t=this.dropdown,e=this.container.offset(),d=this.container.outerHeight(!1),o=this.container.outerWidth(!1),h=t.outerHeight(!1),a=n(window).scrollLeft()+n(window).width(),k=n(window).scrollTop()+n(window).height(),s=e.top+d,u=e.left,p=s+h<=k,w=e.top-h>=this.body().scrollTop(),i=t.outerWidth(!1),b=u+i<=a,g=t.hasClass("select2-drop-above"),c,r,v,l;this.opts.dropdownAutoWidth?(l=n(".select2-results",t)[0],t.addClass("select2-drop-auto-width"),t.css("width",""),i=t.outerWidth(!1)+(l.scrollHeight===l.clientHeight?0:y.width),i>o?o=i:i=o,b=u+i<=a):this.container.removeClass("select2-drop-auto-width"),this.body().css("position")!=="static"&&(c=this.body().offset(),s-=c.top,u-=c.left),g?(r=!0,!w&&p&&(r=!1)):(r=!1,!p&&w&&(r=!0)),b||(u=e.left+o-i),r?(s=e.top-h,this.container.addClass("select2-drop-above"),t.addClass("select2-drop-above")):(this.container.removeClass("select2-drop-above"),t.removeClass("select2-drop-above")),v=n.extend({top:s,left:u,width:o},f(this.opts.dropdownCss)),t.css(v)},shouldOpen:function(){var t;return this.opened()?!1:(t=n.Event("opening"),this.opts.element.trigger(t),!t.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(window.setTimeout(this.bind(this.opening),1),!0):!1},opening:function(){function u(){return{width:Math.max(document.documentElement.scrollWidth,n(window).width()),height:Math.max(document.documentElement.scrollHeight,n(window).height())}}var i=this.containerId,f="scroll."+i,e="resize."+i,o="orientationchange."+i,t,r;this.container.addClass("select2-dropdown-open").addClass("select2-container-active"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body().children().last()[0]&&this.dropdown.detach().appendTo(this.body()),t=n("#select2-drop-mask"),t.length==0&&(t=n(document.createElement("div")),t.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),t.hide(),t.appendTo(this.body()),t.bind("mousedown touchstart",function(){var r=n("#select2-drop"),i;r.length>0&&(i=r.data("select2"),i.opts.selectOnBlur&&i.selectHighlighted({noFocus:!0}),i.close())})),this.dropdown.prev()[0]!==t[0]&&this.dropdown.before(t),n("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),t.css(u()),t.show(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active"),this.ensureHighlightVisible(),r=this,this.container.parents().add(window).each(function(){n(this).bind(e+" "+f+" "+o,function(){n("#select2-drop-mask").css(u()),r.positionDropdown()})})},close:function(){if(this.opened()){var t=this.containerId,i="scroll."+t,r="resize."+t,u="orientationchange."+t;this.container.parents().add(window).each(function(){n(this).unbind(i).unbind(r).unbind(u)}),this.clearDropdownAlignmentPreference(),n("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open"),this.results.empty(),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(n.Event("close"))}},clearSearch:function(){},getMaximumSelectionSize:function(){return f(this.opts.maximumSelectionSize)},ensureHighlightVisible:function(){var t=this.results,e,i,r,u,o,s,f;if(i=this.highlight(),!(i<0)){if(i==0){t.scrollTop(0);return}e=this.findHighlightableChoices().find(".select2-result-label"),r=n(e[i]),u=r.offset().top+r.outerHeight(!0),i===e.length-1&&(f=t.find("li.select2-more-results"),f.length>0&&(u=f.offset().top+f.outerHeight(!0))),o=t.offset().top+t.outerHeight(!0),u>o&&t.scrollTop(t.scrollTop()+(u-o)),s=r.offset().top-t.offset().top,s<0&&r.css("display")!="none"&&t.scrollTop(t.scrollTop()+s)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-selected):not(.select2-disabled)")},moveHighlight:function(t){for(var u=this.findHighlightableChoices(),i=this.highlight(),r;i>-1&&i<u.length;)if(i+=t,r=n(u[i]),r.hasClass("select2-result-selectable")&&!r.hasClass("select2-disabled")&&!r.hasClass("select2-selected")){this.highlight(i);break}},highlight:function(t){var i=this.findHighlightableChoices(),u,r;if(arguments.length===0)return e(i.filter(".select2-highlighted")[0],i.get());t>=i.length&&(t=i.length-1),t<0&&(t=0),this.results.find(".select2-highlighted").removeClass("select2-highlighted"),u=n(i[t]),u.addClass("select2-highlighted"),this.ensureHighlightVisible(),r=u.data("select2-data"),r&&this.opts.element.trigger({type:"highlight",val:this.id(r),choice:r})},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(t){var i=n(t.target).closest(".select2-result-selectable"),r;i.length>0&&!i.is(".select2-highlighted")?(r=this.findHighlightableChoices(),this.highlight(r.index(i))):i.length==0&&this.results.find(".select2-highlighted").removeClass("select2-highlighted")},loadMoreIfNeeded:function(){var t=this.results,i=t.find("li.select2-more-results"),u,o=-1,r=this.resultsPage+1,n=this,f=this.search.val(),e=this.context;i.length!==0&&(u=i.offset().top-t.offset().top-t.height(),u<=this.opts.loadMorePadding&&(i.addClass("select2-active"),this.opts.query({element:this.opts.element,term:f,page:r,context:e,matcher:this.opts.matcher,callback:this.bind(function(u){n.opened()&&(n.opts.populateResults.call(this,t,u.results,{term:f,page:r,context:e}),n.postprocessResults(u,!1,!1),u.more===!0?(i.detach().appendTo(t).text(n.opts.formatLoadMore(r+1)),window.setTimeout(function(){n.loadMoreIfNeeded()},10)):i.remove(),n.positionDropdown(),n.resultsPage=r,n.context=u.context)})})))},tokenize:function(){},updateResults:function(i){function p(){h.scrollTop(0),f.removeClass("select2-active"),e.positionDropdown()}function o(n){h.html(n),p()}var f=this.search,h=this.results,r=this.opts,a,e=this,c,v=f.val(),y=n.data(this.container,"select2-last-term"),l;if((i===!0||!y||!u(v,y))&&(n.data(this.container,"select2-last-term",v),i===!0||this.showSearchInput!==!1&&this.opened())){if(l=this.getMaximumSelectionSize(),l>=1&&(a=this.data(),n.isArray(a)&&a.length>=l&&s(r.formatSelectionTooBig,"formatSelectionTooBig"))){o("<li class='select2-selection-limit'>"+r.formatSelectionTooBig(l)+"</li>");return}if(f.val().length<r.minimumInputLength){s(r.formatInputTooShort,"formatInputTooShort")?o("<li class='select2-no-results'>"+r.formatInputTooShort(f.val(),r.minimumInputLength)+"</li>"):o("");return}if(r.maximumInputLength&&f.val().length>r.maximumInputLength){s(r.formatInputTooLong,"formatInputTooLong")?o("<li class='select2-no-results'>"+r.formatInputTooLong(f.val(),r.maximumInputLength)+"</li>"):o("");return}r.formatSearching&&this.findHighlightableChoices().length===0&&o("<li class='select2-searching'>"+r.formatSearching()+"</li>"),f.addClass("select2-active"),c=this.tokenize(),c!=t&&c!=null&&f.val(c),this.resultsPage=1,r.query({element:r.element,term:f.val(),page:this.resultsPage,context:null,matcher:r.matcher,callback:this.bind(function(c){var l;if(!this.opened()){this.search.removeClass("select2-active");return}if(this.context=c.context===t?null:c.context,this.opts.createSearchChoice&&f.val()!==""&&(l=this.opts.createSearchChoice.call(null,f.val(),c.results),l!==t&&l!==null&&e.id(l)!==t&&e.id(l)!==null&&n(c.results).filter(function(){return u(e.id(this),e.id(l))}).length===0&&c.results.unshift(l)),c.results.length===0&&s(r.formatNoMatches,"formatNoMatches")){o("<li class='select2-no-results'>"+r.formatNoMatches(f.val())+"</li>");return}h.empty(),e.opts.populateResults.call(this,h,c.results,{term:f.val(),page:this.resultsPage,context:null}),c.more===!0&&s(r.formatLoadMore,"formatLoadMore")&&(h.append("<li class='select2-more-results'>"+e.opts.escapeMarkup(r.formatLoadMore(this.resultsPage))+"</li>"),window.setTimeout(function(){e.loadMoreIfNeeded()},10)),this.postprocessResults(c,i),p(),this.opts.element.trigger({type:"loaded",data:c})})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){tt(this.search)},selectHighlighted:function(n){var i=this.highlight(),r=this.results.find(".select2-highlighted"),t=r.closest(".select2-result").data("select2-data");if(t){this.highlight(i);this.onSelect(t,n)}},getPlaceholder:function(){return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder},initContainerWidth:function(){function r(){var i,f,u,r,e;if(this.opts.width==="off")return null;if(this.opts.width==="element")return this.opts.element.outerWidth(!1)===0?"auto":this.opts.element.outerWidth(!1)+"px";if(this.opts.width==="copy"||this.opts.width==="resolve"){if(i=this.opts.element.attr("style"),i!==t)for(f=i.split(";"),r=0,e=f.length;r<e;r=r+1)if(u=f[r].replace(/\s/g,"").match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),u!==null&&u.length>=1)return u[1];return(i=this.opts.element.css("width"),i&&i.length>0)?i:this.opts.width==="resolve"?this.opts.element.outerWidth(!1)===0?"auto":this.opts.element.outerWidth(!1)+"px":null}return n.isFunction(this.opts.width)?this.opts.width():this.opts.width}var i=r.call(this);i!==null&&this.container.css("width",i)}}),p=v(h,{createContainer:function(){return n(document.createElement("div")).attr({"class":"select2-container"}).html(["<a href='javascript:void(0)' onclick='return false;' class='select2-choice' tabindex='-1'>","   <span>&nbsp;</span><abbr class='select2-search-choice-close' style='display:none;'></abbr>","   <div><b></b></div>","</a>","<input class='select2-focusser select2-offscreen' type='text'/>","<div class='select2-drop' style='display:none'>","   <div class='select2-search'>","       <input type='text' autocomplete='off' class='select2-input'/>","   </div>","   <ul class='select2-results'>","   </ul>","</div>"].join(""))},disable:function(){this.enabled&&(this.parent.disable.apply(this,arguments),this.focusser.attr("disabled","disabled"))},enable:function(){this.enabled||(this.parent.enable.apply(this,arguments),this.focusser.removeAttr("disabled"))},opening:function(){this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.search.focus(),this.focusser.attr("disabled","disabled").val(""),this.updateResults(!0),this.opts.element.trigger(n.Event("open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.removeAttr("disabled"),tt(this.focusser))},focus:function(){this.opened()?this.close():(this.focusser.removeAttr("disabled"),this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.removeAttr("disabled"),this.focusser.focus()},initContainer:function(){var t,u=this.container,e=this.dropdown,f=!1;this.showSearch(this.opts.minimumResultsForSearch>=0),this.selection=t=u.find(".select2-choice"),this.focusser=u.find(".select2-focusser"),this.focusser.attr("id","s2id_autogen"+c()),n("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.focusser.attr("id")),this.search.bind("keydown",this.bind(function(n){if(this.enabled){if(n.which===i.PAGE_UP||n.which===i.PAGE_DOWN){r(n);return}switch(n.which){case i.UP:case i.DOWN:this.moveHighlight(n.which===i.UP?-1:1),r(n);return;case i.TAB:case i.ENTER:this.selectHighlighted(),r(n);return;case i.ESC:this.cancel(n),r(n);return}}})),this.search.bind("blur",this.bind(function(){document.activeElement===this.body().get(0)&&window.setTimeout(this.bind(function(){this.search.focus()}),0)})),this.focusser.bind("keydown",this.bind(function(n){if(this.enabled&&n.which!==i.TAB&&!i.isControl(n)&&!i.isFunctionKey(n)&&n.which!==i.ESC){if(this.opts.openOnEnter===!1&&n.which===i.ENTER){r(n);return}if(n.which==i.DOWN||n.which==i.UP||n.which==i.ENTER&&this.opts.openOnEnter){this.open(),r(n);return}if(n.which==i.DELETE||n.which==i.BACKSPACE){this.opts.allowClear&&this.clear(),r(n);return}}})),b(this.focusser),this.focusser.bind("keyup-change input",this.bind(function(n){(n.stopPropagation(),this.opened())||this.open()})),t.delegate("abbr","mousedown",this.bind(function(n){this.enabled&&(this.clear(),ot(n),this.close(),this.selection.focus())})),t.bind("mousedown",this.bind(function(n){f=!0,this.opened()?this.close():this.enabled&&this.open(),r(n),f=!1})),e.bind("mousedown",this.bind(function(){this.search.focus()})),t.bind("focus",this.bind(function(n){r(n)})),this.focusser.bind("focus",this.bind(function(){this.container.addClass("select2-container-active")})).bind("blur",this.bind(function(){this.opened()||this.container.removeClass("select2-container-active")})),this.search.bind("focus",this.bind(function(){this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(n){var t=this.selection.data("select2-data");t&&(this.opts.element.val(""),this.selection.find("span").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),n!==!1&&(this.opts.element.trigger({type:"removed",val:this.id(t),choice:t}),this.triggerChange({removed:t})))},initSelection:function(){var i,n;this.opts.element.val()===""&&this.opts.element.text()===""?(this.updateSelection([]),this.close(),this.setPlaceholder()):(n=this,this.opts.initSelection.call(null,this.opts.element,function(i){i!==t&&i!==null&&(n.updateSelection(i),n.close(),n.setPlaceholder())}))},prepareOpts:function(){var t=this.parent.prepareOpts.apply(this,arguments),i=this;return t.element.get(0).tagName.toLowerCase()==="select"?t.initSelection=function(n,t){var r=n.find(":selected");t(i.optionToData(r))}:"data"in t&&(t.initSelection=t.initSelection||function(i,r){var e=i.val(),f=null;t.query({matcher:function(n,i,r){var o=u(e,t.id(r));return o&&(f=r),o},callback:n.isFunction(r)?function(){r(f)}:n.noop})}),t},getPlaceholder:function(){return this.select&&this.select.find("option").first().text()!==""?t:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var n=this.getPlaceholder();if(this.opts.element.val()===""&&n!==t){if(this.select&&this.select.find("option:first").text()!=="")return;this.selection.find("span").html(this.opts.escapeMarkup(n)),this.selection.addClass("select2-default"),this.selection.find("abbr").hide()}},postprocessResults:function(n,t,i){var f=0,e=this,o=!0,r;this.findHighlightableChoices().each2(function(n,t){if(u(e.id(t.data("select2-data")),e.opts.element.val()))return f=n,!1}),i!==!1&&this.highlight(f),t===!0&&(r=this.opts.minimumResultsForSearch,o=r<0?!1:d(n.results)>=r,this.showSearch(o))},showSearch:function(t){this.showSearchInput=t,this.dropdown.find(".select2-search")[t?"removeClass":"addClass"]("select2-search-hidden"),n(this.dropdown,this.container)[t?"addClass":"removeClass"]("select2-with-searchbox")},onSelect:function(n,t){if(this.triggerSelect(n)){var i=this.opts.element.val(),r=this.data();this.opts.element.val(this.id(n)),this.updateSelection(n),this.opts.element.trigger({type:"selected",val:this.id(n),choice:n}),this.close(),t&&t.noFocus||this.selection.focus(),u(i,this.id(n))||this.triggerChange({added:n,removed:r})}},updateSelection:function(n){var i=this.selection.find("span"),r;this.selection.data("select2-data",n),i.empty(),r=this.opts.formatSelection(n,i),r!==t&&i.append(this.opts.escapeMarkup(r)),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==t&&this.selection.find("abbr").show()},val:function(){var i,r=!1,u=null,n=this,f=this.data();if(arguments.length===0)return this.opts.element.val();if(i=arguments[0],arguments.length>1&&(r=arguments[1]),this.select)this.select.val(i).find(":selected").each2(function(t,i){return u=n.optionToData(i),!1}),this.updateSelection(u),this.setPlaceholder(),r&&this.triggerChange({added:u,removed:f});else{if(this.opts.initSelection===t)throw new Error("cannot call val() if initSelection() is not defined");if(!i&&i!==0){this.clear(r);return}this.opts.element.val(i),this.opts.initSelection(this.opts.element,function(t){n.opts.element.val(t?n.id(t):""),n.updateSelection(t),n.setPlaceholder(),r&&n.triggerChange({added:t,removed:f})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(n,i){var r;if(arguments.length===0)return r=this.selection.data("select2-data"),r==t&&(r=null),r;n&&n!==""?(r=this.data(),this.opts.element.val(n?this.id(n):""),this.updateSelection(n),i&&this.triggerChange({added:n,removed:r})):this.clear(i)}}),w=v(h,{createContainer:function(){return n(document.createElement("div")).attr({"class":"select2-container select2-container-multi"}).html(["    <ul class='select2-choices'>","  <li class='select2-search-field'>","    <input type='text' autocomplete='off' class='select2-input'>","  </li>","</ul>","<div class='select2-drop select2-drop-multi' style='display:none;'>","   <ul class='select2-results'>","   </ul>","</div>"].join(""))},prepareOpts:function(){var t=this.parent.prepareOpts.apply(this,arguments),i=this;return t.element.get(0).tagName.toLowerCase()==="select"?t.initSelection=function(n,t){var r=[];n.find(":selected").each2(function(n,t){r.push(i.optionToData(t))}),t(r)}:"data"in t&&(t.initSelection=t.initSelection||function(i,r){var e=a(i.val(),t.separator),f=[];t.query({matcher:function(i,r,o){var s=n.grep(e,function(n){return u(n,t.id(o))}).length;return s&&f.push(o),s},callback:n.isFunction(r)?function(){r(f)}:n.noop})}),t},initContainer:function(){var u=".select2-choices",t;this.searchContainer=this.container.find(".select2-search-field"),this.selection=t=this.container.find(u),this.search.attr("id","s2id_autogen"+c()),n("label[for='"+this.opts.element.attr("id")+"']").attr("for",this.search.attr("id")),this.search.bind("input paste",this.bind(function(){this.enabled&&(this.opened()||this.open())})),this.search.bind("keydown",this.bind(function(n){if(this.enabled){if(n.which===i.BACKSPACE&&this.search.val()===""){this.close();var u,f=t.find(".select2-search-choice-focus");if(f.length>0){this.unselect(f.first()),this.search.width(10),r(n);return}u=t.find(".select2-search-choice:not(.select2-locked)"),u.length>0&&u.last().addClass("select2-search-choice-focus")}else t.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");if(this.opened())switch(n.which){case i.UP:case i.DOWN:this.moveHighlight(n.which===i.UP?-1:1),r(n);return;case i.ENTER:case i.TAB:this.selectHighlighted(),r(n);return;case i.ESC:this.cancel(n),r(n);return}if(n.which!==i.TAB&&!i.isControl(n)&&!i.isFunctionKey(n)&&n.which!==i.BACKSPACE&&n.which!==i.ESC){if(n.which===i.ENTER){if(this.opts.openOnEnter===!1)return;if(n.altKey||n.ctrlKey||n.shiftKey||n.metaKey)return}this.open(),(n.which===i.PAGE_UP||n.which===i.PAGE_DOWN)&&r(n),n.which===i.ENTER&&r(n)}}})),this.search.bind("keyup",this.bind(this.resizeSearch)),this.search.bind("blur",this.bind(function(n){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),this.opened()||this.clearSearch(),n.stopImmediatePropagation()})),this.container.delegate(u,"mousedown",this.bind(function(t){this.enabled&&(n(t.target).closest(".select2-search-choice").length>0||(this.clearPlaceholder(),this.open(),this.focusSearch(),t.preventDefault()))})),this.container.delegate(u,"focus",this.bind(function(){this.enabled&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enable:function(){this.enabled||(this.parent.enable.apply(this,arguments),this.search.removeAttr("disabled"))},disable:function(){this.enabled&&(this.parent.disable.apply(this,arguments),this.search.attr("disabled",!0))},initSelection:function(){var i,n;this.opts.element.val()===""&&this.opts.element.text()===""&&(this.updateSelection([]),this.close(),this.clearSearch()),(this.select||this.opts.element.val()!=="")&&(n=this,this.opts.initSelection.call(null,this.opts.element,function(i){i!==t&&i!==null&&(n.updateSelection(i),n.close(),n.clearSearch())}))},clearSearch:function(){var n=this.getPlaceholder();n!==t&&this.getVal().length===0&&this.search.hasClass("select2-focused")===!1?(this.search.val(n).addClass("select2-default"),this.search.width(this.getMaxSearchWidth())):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),this.updateResults(!0),this.search.focus(),this.opts.element.trigger(n.Event("open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(t){var r=[],u=[],i=this;n(t).each(function(){e(i.id(this),r)<0&&(r.push(i.id(this)),u.push(this))}),t=u,this.selection.find(".select2-search-choice").remove(),n(t).each(function(){i.addSelectedChoice(this)}),i.postprocessResults()},tokenize:function(){var n=this.search.val();n=this.opts.tokenizer(n,this.data(),this.bind(this.onSelect),this.opts),n!=null&&n!=t&&(this.search.val(n),n.length>0&&this.open())},onSelect:function(n,t){this.triggerSelect(n)&&(this.addSelectedChoice(n),this.opts.element.trigger({type:"selected",val:this.id(n),choice:n}),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()&&this.updateResults(!0),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:n}),t&&t.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(i){var e=!i.locked,s=n("<li class='select2-search-choice'>    <div></div>    <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a></li>"),h=n("<li class='select2-search-choice select2-locked'><div></div></li>"),u=e?s:h,c=this.id(i),o=this.getVal(),f;f=this.opts.formatSelection(i,u.find("div")),f!=t&&u.find("div").replaceWith("<div>"+this.opts.escapeMarkup(f)+"</div>"),e&&u.find(".select2-search-choice-close").bind("mousedown",r).bind("click dblclick",this.bind(function(t){this.enabled&&(n(t.target).closest(".select2-search-choice").fadeOut("fast",this.bind(function(){this.unselect(n(t.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),this.close(),this.focusSearch()})).dequeue(),r(t))})).bind("focus",this.bind(function(){this.enabled&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),u.data("select2-data",i),u.insertBefore(this.searchContainer),o.push(c),this.setVal(o)},unselect:function(n){var i=this.getVal(),t,r;if(n=n.closest(".select2-search-choice"),n.length===0)throw"Invalid argument: "+n+". Must be .select2-search-choice";(t=n.data("select2-data"),t)&&(r=e(this.id(t),i),r>=0&&(i.splice(r,1),this.setVal(i),this.select&&this.postprocessResults()),n.remove(),this.opts.element.trigger({type:"removed",val:this.id(t),choice:t}),this.triggerChange({removed:t}))},postprocessResults:function(){var t=this.getVal(),i=this.results.find(".select2-result"),r=this.results.find(".select2-result-with-children"),n=this;i.each2(function(i,r){var u=n.id(r.data("select2-data"));e(u,t)>=0&&(r.addClass("select2-selected"),r.find(".select2-result-selectable").addClass("select2-selected"))}),r.each2(function(n,t){t.is(".select2-result-selectable")||t.find(".select2-result-selectable:not(.select2-selected)").length!==0||t.addClass("select2-selected")}),this.highlight()==-1&&n.highlight(0)},getMaxSearchWidth:function(){return this.selection.width()-k(this.search)},resizeSearch:function(){var i,u,t,f,n,r=k(this.search);i=vt(this.search)+10,u=this.search.offset().left,t=this.selection.width(),f=this.selection.offset().left,n=t-(u-f)-r,n<i&&(n=t-r),n<40&&(n=t-r),n<=0&&(n=i),this.search.width(n)},getVal:function(){var n;return this.select?(n=this.select.val(),n===null?[]:n):(n=this.opts.element.val(),a(n,this.opts.separator))},setVal:function(t){var i;this.select?this.select.val(t):(i=[],n(t).each(function(){e(this,i)<0&&i.push(this)}),this.opts.element.val(i.length===0?"":i.join(this.opts.separator)))},buildChangeDetails:function(n,t){var t,n,i,r;for(console.log("current",t,"old",n),t=t.slice(0),n=n.slice(0),i=0;i<t.length;i++)for(r=0;r<n.length;r++)u(this.opts.id(t[i]),this.opts.id(n[r]))&&(t.splice(i,1),i--,n.splice(r,1),r--);return{added:t,removed:n}},val:function(i,r){var u,f=this,e;if(arguments.length===0)return this.getVal();if(u=this.data(),u.length||(u=[]),!i&&i!==0){this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),r&&this.triggerChange({added:this.data(),removed:u});return}if(this.setVal(i),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),r&&this.triggerChange(this.buildChangeDetails(u,this.data()));else{if(this.opts.initSelection===t)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(t){var i=n(t).map(f.id);f.setVal(i),f.updateSelection(t),f.clearSearch(),r&&f.triggerChange(this.buildChangeDetails(u,this.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var t=[],i=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){t.push(i.opts.id(n(this).data("select2-data")))}),this.setVal(t),this.triggerChange()},data:function(t,i){var f=this,r,u;if(arguments.length===0)return this.selection.find(".select2-search-choice").map(function(){return n(this).data("select2-data")}).get();u=this.data(),t||(t=[]),r=n.map(t,function(n){return f.opts.id(n)}),this.setVal(r),this.updateSelection(t),this.clearSearch(),i&&this.triggerChange(this.buildChangeDetails(u,this.data()))}}),n.fn.select2=function(){var i=Array.prototype.slice.call(arguments,0),r,u,f,o,s=["val","destroy","opened","open","close","focus","isFocused","container","onSortStart","onSortEnd","enable","disable","positionDropdown","data"];return this.each(function(){if(i.length===0||typeof i[0]=="object")r=i.length===0?{}:n.extend({},i[0]),r.element=n(this),r.element.get(0).tagName.toLowerCase()==="select"?o=r.element.attr("multiple"):(o=r.multiple||!1,"tags"in r&&(r.multiple=o=!0)),u=o?new w:new p,u.init(r);else if(typeof i[0]=="string"){if(e(i[0],s)<0)throw"Unknown method: "+i[0];if(f=t,u=n(this).data("select2"),u===t)return;if(f=i[0]==="container"?u.container:u[i[0]].apply(u,i.slice(1)),f!==t)return!1}else throw"Invalid arguments to select2 plugin: "+i;}),f===t?this:f},n.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(n,t,i,r){var u=[];return et(n.text,i.term,u,r),u.join("")},formatSelection:function(n){return n?n.text:t},sortResults:function(n){return n},formatResultCssClass:function(){return t},formatNoMatches:function(){return"No matches found"},formatInputTooShort:function(n,t){var i=t-n.length;return"Please enter "+i+" more character"+(i==1?"":"s")},formatInputTooLong:function(n,t){var i=n.length-t;return"Please delete "+i+" character"+(i==1?"":"s")},formatSelectionTooBig:function(n){return"You can only select "+n+" item"+(n==1?"":"s")},formatLoadMore:function(){return"Loading more results..."},formatSearching:function(){return"Searching..."},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(n){return n.id},matcher:function(n,t){return t.toUpperCase().indexOf(n.toUpperCase())==0},separator:",",tokenSeparators:[],tokenizer:at,escapeMarkup:function(n){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&apos;","/":"&#47;"};return String(n).replace(/[&<>"'\/\\]/g,function(n){return t[n[0]]})},blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(n){return n},adaptDropdownCssClass:function(){return null}},window.Select2={query:{ajax:ut,local:rt,tags:nt},util:{debounce:g,markMatch:et},"class":{abstract:h,single:p,multi:w}}}}(jQuery),function(n){function d(n,t,i){switch(arguments.length){case 2:return n!=null?n:t;case 3:return n!=null?n:t!=null?t:i;default:throw new Error("Implement me");}}function lt(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function g(n,i){function u(){t.suppressDeprecationWarnings===!1&&typeof console!="undefined"&&console.warn&&console.warn("Deprecation warning: "+n)}var r=!0;return h(function(){return r&&(u(),r=!1),i.apply(this,arguments)},i)}function sr(n,t){return function(i){return r(n.call(this,i),t)}}function af(n,t){return function(i){return this.lang().ordinal(n.call(this,i),t)}}function wi(){}function yt(n){ai(n),h(this,n)}function kt(n){var t=ci(n),i=t.year||0,r=t.quarter||0,u=t.month||0,f=t.week||0,e=t.day||0,o=t.hour||0,s=t.minute||0,h=t.second||0,c=t.millisecond||0;this._milliseconds=+c+h*1e3+s*6e4+o*36e5,this._days=+e+f*7,this._months=+u+r*3+i*12,this._data={},this._bubble()}function h(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return t.hasOwnProperty("toString")&&(n.toString=t.toString),t.hasOwnProperty("valueOf")&&(n.valueOf=t.valueOf),n}function cu(n){var i={},t;for(t in n)n.hasOwnProperty(t)&&ir.hasOwnProperty(t)&&(i[t]=n[t]);return i}function p(n){return n<0?Math.ceil(n):Math.floor(n)}function r(n,t,i){for(var r=""+Math.abs(n),u=n>=0;r.length<t;)r="0"+r;return(u?i?"+":"":"-")+r}function ot(n,i,r,u){var o=i._milliseconds,f=i._days,e=i._months;u=u==null?!0:u,o&&n._d.setTime(+n._d+o*r),f&&ii(n,"Date",pt(n,"Date")+f*r),e&&ri(n,pt(n,"Month")+e*r),u&&t.updateOffset(n,f||e)}function ut(n){return Object.prototype.toString.call(n)==="[object Array]"}function vu(n){return Object.prototype.toString.call(n)==="[object Date]"||n instanceof Date}function hi(n,t,r){for(var e=Math.min(n.length,t.length),o=Math.abs(n.length-t.length),f=0,u=0;u<e;u++)(r&&n[u]!==t[u]||!r&&i(n[u])!==i(t[u]))&&f++;return f+o}function l(n){if(n){var t=n.toLowerCase().replace(/(.)s$/,"$1");n=au[n]||lu[t]||t}return n}function ci(n){var r={},i,t;for(t in n)n.hasOwnProperty(t)&&(i=l(t),i&&(r[i]=n[t]));return r}function wu(i){var r,u;if(i.indexOf("week")===0)r=7,u="day";else if(i.indexOf("month")===0)r=12,u="month";else return;t[i]=function(f,e){var o,s,c=t.fn._lang[i],h=[];if(typeof f=="number"&&(e=f,f=n),s=function(n){var i=t().utc().set(u,n);return c.call(t.fn._lang,i,f||"")},e!=null)return s(e);for(o=0;o<r;o++)h.push(s(o));return h}}function i(n){var t=+n,i=0;return t!==0&&isFinite(t)&&(i=t>=0?Math.floor(t):Math.ceil(t)),i}function at(n,t){return new Date(Date.UTC(n,t+1,0)).getUTCDate()}function vi(n,i,r){return b(t([n,11,31+i-r]),i,r).week}function pi(n){return yi(n)?366:365}function yi(n){return n%4==0&&n%100!=0||n%400==0}function ai(n){var t;n._a&&n._pf.overflow===-2&&(t=n._a[s]<0||n._a[s]>11?s:n._a[e]<1||n._a[e]>at(n._a[o],n._a[s])?e:n._a[c]<0||n._a[c]>23?c:n._a[it]<0||n._a[it]>59?it:n._a[tt]<0||n._a[tt]>59?tt:n._a[nt]<0||n._a[nt]>999?nt:-1,n._pf._overflowDayOfYear&&(t<o||t>e)&&(t=e),n._pf.overflow=t)}function li(n){return n._isValid==null&&(n._isValid=!isNaN(n._d.getTime())&&n._pf.overflow<0&&!n._pf.empty&&!n._pf.invalidMonth&&!n._pf.nullInput&&!n._pf.invalidFormat&&!n._pf.userInvalidated,n._strict&&(n._isValid=n._isValid&&n._pf.charsLeftOver===0&&n._pf.unusedTokens.length===0)),n._isValid}function wt(n){return n?n.toLowerCase().replace("_","-"):n}function bt(n,i){return i._isUTC?t(n).zone(i._offset||0):t(n).local()}function rf(n,t){return t.abbr=n,w[n]||(w[n]=new wi),w[n].set(t),w[n]}function uf(n){delete w[n]}function f(n){var f=0,r,u,i,e,o=function(n){if(!w[n]&&tr)try{require("./lang/"+n)}catch(t){}return w[n]};if(!n)return t.fn._lang;if(!ut(n)){if(u=o(n),u)return u;n=[n]}while(f<n.length){for(e=wt(n[f]).split("-"),r=e.length,i=wt(n[f+1]),i=i?i.split("-"):null;r>0;){if(u=o(e.slice(0,r).join("-")),u)return u;if(i&&i.length>=r&&hi(e,i,!0)>=r-1)break;r--}f++}return t.fn._lang}function ef(n){return n.match(/\[[\s\S]/)?n.replace(/^\[|\]$/g,""):n.replace(/\\/g,"")}function of(n){for(var i=n.match(rr),t=0,r=i.length;t<r;t++)i[t]=v[i[t]]?v[i[t]]:ef(i[t]);return function(u){var f="";for(t=0;t<r;t++)f+=i[t]instanceof Function?i[t].call(u,n):i[t];return f}}function dt(n,t){return n.isValid()?(t=si(t,n.lang()),et[t]||(et[t]=of(t)),et[t](n)):n.lang().invalidDate()}function si(n,t){function r(n){return t.longDateFormat(n)||n}var i=5;for(rt.lastIndex=0;i>=0&&rt.test(n);)n=n.replace(rt,r),rt.lastIndex=0,i-=1;return n}function su(n,t){var r,i=t._strict;switch(n){case"Q":return nr;case"DDDD":return di;case"YYYY":case"GGGG":case"gggg":return i?lf:ou;case"Y":case"G":case"g":return ku;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return i?gu:cf;case"S":if(i)return nr;case"SS":if(i)return ki;case"SSS":if(i)return di;case"DDD":return wr;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return sf;case"a":case"A":return f(t._l)._meridiemParse;case"X":return tf;case"Z":case"ZZ":return vt;case"T":return ff;case"SSSS":return hf;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return i?ki:gi;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return gi;case"Do":return nf;default:return r=new RegExp(lr(cr(n.replace("\\","")),"i"))}}function oi(n){n=n||"";var r=n.match(vt)||[],f=r[r.length-1]||[],t=(f+"").match(yu)||["-",0,0],u=+(t[1]*60)+i(t[2]);return t[0]==="+"?-u:u}function hu(n,r,u){var l,h=u._a;switch(n){case"Q":r!=null&&(h[s]=(i(r)-1)*3);break;case"M":case"MM":r!=null&&(h[s]=i(r)-1);break;case"MMM":case"MMMM":l=f(u._l).monthsParse(r),l!=null?h[s]=l:u._pf.invalidMonth=r;break;case"D":case"DD":r!=null&&(h[e]=i(r));break;case"Do":r!=null&&(h[e]=i(parseInt(r,10)));break;case"DDD":case"DDDD":r!=null&&(u._dayOfYear=i(r));break;case"YY":h[o]=t.parseTwoDigitYear(r);break;case"YYYY":case"YYYYY":case"YYYYYY":h[o]=i(r);break;case"a":case"A":u._isPm=f(u._l).isPM(r);break;case"H":case"HH":case"h":case"hh":h[c]=i(r);break;case"m":case"mm":h[it]=i(r);break;case"s":case"ss":h[tt]=i(r);break;case"S":case"SS":case"SSS":case"SSSS":h[nt]=i(("0."+r)*1e3);break;case"X":u._d=new Date(parseFloat(r)*1e3);break;case"Z":case"ZZ":u._useUTC=!0,u._tzm=oi(r);break;case"dd":case"ddd":case"dddd":l=f(u._l).weekdaysParse(r),l!=null?(u._w=u._w||{},u._w.d=l):u._pf.invalidWeekday=r;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":n=n.substr(0,1);case"gggg":case"GGGG":case"GGGGG":n=n.substr(0,2),r&&(u._w=u._w||{},u._w[n]=i(r));break;case"gg":case"GG":u._w=u._w||{},u._w[n]=t.parseTwoDigitYear(r)}}function du(n){var i,h,e,u,r,s,c,l;i=n._w,i.GG!=null||i.W!=null||i.E!=null?(r=1,s=4,h=d(i.GG,n._a[o],b(t(),1,4).year),e=d(i.W,1),u=d(i.E,1)):(l=f(n._l),r=l._week.dow,s=l._week.doy,h=d(i.gg,n._a[o],b(t(),r,s).year),e=d(i.w,1),i.d!=null?(u=i.d,u<r&&++e):u=i.e!=null?i.e+r:r),c=tu(h,e,u,s,r),n._a[o]=c.year,n._dayOfYear=c.dayOfYear}function ni(n){var t,i,r=[],u,f;if(!n._d){for(u=vr(n),n._w&&n._a[e]==null&&n._a[s]==null&&du(n),n._dayOfYear&&(f=d(n._a[o],u[o]),n._dayOfYear>pi(f)&&(n._pf._overflowDayOfYear=!0),i=gt(f,0,n._dayOfYear),n._a[s]=i.getUTCMonth(),n._a[e]=i.getUTCDate()),t=0;t<3&&n._a[t]==null;++t)n._a[t]=r[t]=u[t];for(;t<7;t++)n._a[t]=r[t]=n._a[t]==null?t===2?1:0:n._a[t];n._d=(n._useUTC?gt:eu).apply(null,r),n._tzm!=null&&n._d.setUTCMinutes(n._d.getUTCMinutes()+n._tzm)}}function kr(n){var t;n._d||(t=ci(n._i),n._a=[t.year,t.month,t.day,t.hour,t.minute,t.second,t.millisecond],ni(n))}function vr(n){var t=new Date;return n._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function ti(n){if(n._f===t.ISO_8601){ei(n);return}n._a=[],n._pf.empty=!0;for(var l=f(n._l),i=""+n._i,r,u,s,a=i.length,h=0,o=si(n._f,l).match(rr)||[],e=0;e<o.length;e++)u=o[e],r=(i.match(su(u,n))||[])[0],r&&(s=i.substr(0,i.indexOf(r)),s.length>0&&n._pf.unusedInput.push(s),i=i.slice(i.indexOf(r)+r.length),h+=r.length),v[u]?(r?n._pf.empty=!1:n._pf.unusedTokens.push(u),hu(u,r,n)):n._strict&&!r&&n._pf.unusedTokens.push(u);n._pf.charsLeftOver=a-h,i.length>0&&n._pf.unusedInput.push(i),n._isPm&&n._a[c]<12&&(n._a[c]+=12),n._isPm===!1&&n._a[c]===12&&(n._a[c]=0),ni(n),ai(n)}function cr(n){return n.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(n,t,i,r,u){return t||i||r||u})}function lr(n){return n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ar(n){var t,f,u,r,i;if(n._f.length===0){n._pf.invalidFormat=!0,n._d=new Date(NaN);return}for(r=0;r<n._f.length;r++)(i=0,t=h({},n),t._pf=lt(),t._f=n._f[r],ti(t),li(t))&&(i+=t._pf.charsLeftOver,i+=t._pf.unusedTokens.length*10,t._pf.score=i,(u==null||i<u)&&(u=i,f=t));h(n,f||t)}function ei(n){var t,i,r=n._i,u=bu.exec(r);if(u){for(n._pf.iso=!0,t=0,i=ct.length;t<i;t++)if(ct[t][1].exec(r)){n._f=ct[t][0]+(u[6]||" ");break}for(t=0,i=ht.length;t<i;t++)if(ht[t][1].exec(r)){n._f+=ht[t][0];break}r.match(vt)&&(n._f+="Z"),ti(n)}else n._isValid=!1}function yr(n){ei(n),n._isValid===!1&&(delete n._isValid,t.createFromInputFallback(n))}function pr(i){var r=i._i,u=ru.exec(r);r===n?i._d=new Date:u?i._d=new Date(+u[1]):typeof r=="string"?yr(i):ut(r)?(i._a=r.slice(0),ni(i)):vu(r)?i._d=new Date(+r):typeof r=="object"?kr(i):typeof r=="number"?i._d=new Date(r):t.createFromInputFallback(i)}function eu(n,t,i,r,u,f,e){var o=new Date(n,t,i,r,u,f,e);return n<1970&&o.setFullYear(n),o}function gt(n){var t=new Date(Date.UTC.apply(null,arguments));return n<1970&&t.setUTCFullYear(n),t}function br(n,t){if(typeof n=="string")if(isNaN(n)){if(n=t.weekdaysParse(n),typeof n!="number")return null}else n=parseInt(n,10);return n}function dr(n,t,i,r,u){return u.relativeTime(t||1,!!i,n,r)}function gr(n,t,i){var o=k(Math.abs(n)/1e3),u=k(o/60),f=k(u/60),r=k(f/24),s=k(r/365),e=o<y.s&&["s",o]||u===1&&["m"]||u<y.m&&["mm",u]||f===1&&["h"]||f<y.h&&["hh",f]||r===1&&["d"]||r<=y.dd&&["dd",r]||r<=y.dm&&["M"]||r<y.dy&&["MM",k(r/30)]||s===1&&["y"]||["yy",s];return e[2]=t,e[3]=n>0,e[4]=i,dr.apply({},e)}function b(n,i,r){var e=r-i,u=r-n.day(),f;return u>e&&(u-=7),u<e-7&&(u+=7),f=t(n).add("d",u),{week:Math.ceil(f.dayOfYear()/7),year:f.year()}}function tu(n,t,i,r,u){var f=gt(n,0,1).getUTCDay(),o,e;return f=f===0?7:f,i=i!=null?i:u,o=u-f+(f>r?7:0)-(f<u?7:0),e=7*(t-1)+(i-u)+o+1,{year:e>0?n:n-1,dayOfYear:e>0?e:pi(n-1)+e}}function fi(i){var r=i._i,u=i._f;return r===null||u===n&&r===""?t.invalid({nullInput:!0}):(typeof r=="string"&&(i._i=r=f().preparse(r)),t.isMoment(r)?(i=cu(r),i._d=new Date(+r._d)):u?ut(u)?ar(i):ti(i):pr(i),new yt(i))}function ui(n,i){var u,r;if(i.length===1&&ut(i[0])&&(i=i[0]),!i.length)return t();for(u=i[0],r=1;r<i.length;++r)i[r][n](u)&&(u=i[r]);return u}function ri(n,t){var i;return typeof t=="string"&&(t=n.lang().monthsParse(t),typeof t!="number")?n:(i=Math.min(n.date(),at(n.year(),t)),n._d["set"+(n._isUTC?"UTC":"")+"Month"](t,i),n)}function pt(n,t){return n._d["get"+(n._isUTC?"UTC":"")+t]()}function ii(n,t,i){return t==="Month"?ri(n,i):n._d["set"+(n._isUTC?"UTC":"")+t](i)}function a(n,i){return function(r){return r!=null?(ii(this,n,r),t.updateOffset(this,i),this):pt(this,n)}}function fu(n){t.duration.fn[n]=function(){return this._data[n]}}function ur(n,i){t.duration.fn["as"+n]=function(){return+this/i}}function bi(n){typeof ender=="undefined"&&(hr=ft.moment,ft.moment=n?g("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",t):t)}for(var t,uu="2.7.0",ft=typeof global!="undefined"?global:this,hr,k=Math.round,u,o=0,s=1,e=2,c=3,it=4,tt=5,nt=6,w={},ir={_isAMomentObject:null,_i:null,_f:null,_l:null,_strict:null,_tzm:null,_isUTC:null,_offset:null,_pf:null,_lang:null},tr=typeof module!="undefined"&&module.exports,ru=/^\/?Date\((\-?\d+)/i,iu=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,nu=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,rr=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,rt=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,gi=/\d\d?/,wr=/\d{1,3}/,ou=/\d{1,4}/,cf=/[+\-]?\d{1,6}/,hf=/\d+/,sf=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,vt=/Z|[\+\-]\d\d:?\d\d/gi,ff=/T/i,tf=/[\+\-]?\d+(\.\d{1,3})?/,nf=/\d{1,2}/,nr=/\d/,ki=/\d\d/,di=/\d{3}/,lf=/\d{4}/,gu=/[+-]?\d{6}/,ku=/[+-]?\d+/,bu=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,pu="YYYY-MM-DDTHH:mm:ssZ",ct=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],ht=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],yu=/([\+\-]|\d\d)/gi,vf="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),st={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},au={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},lu={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},et={},y={s:45,m:45,h:22,dd:25,dm:45,dy:345},fr="DDD w W M D d".split(" "),er="M D H h m s w W".split(" "),v={M:function(){return this.month()+1},MMM:function(n){return this.lang().monthsShort(this,n)},MMMM:function(n){return this.lang().months(this,n)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(n){return this.lang().weekdaysMin(this,n)},ddd:function(n){return this.lang().weekdaysShort(this,n)},dddd:function(n){return this.lang().weekdays(this,n)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return r(this.year()%100,2)},YYYY:function(){return r(this.year(),4)},YYYYY:function(){return r(this.year(),5)},YYYYYY:function(){var n=this.year(),t=n>=0?"+":"-";return t+r(Math.abs(n),6)},gg:function(){return r(this.weekYear()%100,2)},gggg:function(){return r(this.weekYear(),4)},ggggg:function(){return r(this.weekYear(),5)},GG:function(){return r(this.isoWeekYear()%100,2)},GGGG:function(){return r(this.isoWeekYear(),4)},GGGGG:function(){return r(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return i(this.milliseconds()/100)},SS:function(){return r(i(this.milliseconds()/10),2)},SSS:function(){return r(this.milliseconds(),3)},SSSS:function(){return r(this.milliseconds(),3)},Z:function(){var n=-this.zone(),t="+";return n<0&&(n=-n,t="-"),t+r(i(n/60),2)+":"+r(i(n)%60,2)},ZZ:function(){var n=-this.zone(),t="+";return n<0&&(n=-n,t="-"),t+r(i(n/60),2)+r(i(n)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},or=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];fr.length;)u=fr.pop(),v[u+"o"]=af(v[u],u);while(er.length)u=er.pop(),v[u+u]=sr(v[u],2);for(v.DDDD=sr(v.DDD,3),h(wi.prototype,{set:function(n){var t,i;for(i in n)t=n[i],typeof t=="function"?this[i]=t:this["_"+i]=t},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(n){return this._months[n.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(n){return this._monthsShort[n.month()]},monthsParse:function(n){var i,r,u;for(this._monthsParse||(this._monthsParse=[]),i=0;i<12;i++)if(this._monthsParse[i]||(r=t.utc([2e3,i]),u="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[i]=new RegExp(u.replace(".",""),"i")),this._monthsParse[i].test(n))return i},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(n){return this._weekdays[n.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(n){return this._weekdaysShort[n.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(n){return this._weekdaysMin[n.day()]},weekdaysParse:function(n){var i,r,u;for(this._weekdaysParse||(this._weekdaysParse=[]),i=0;i<7;i++)if(this._weekdaysParse[i]||(r=t([2e3,1]).day(i),u="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(u.replace(".",""),"i")),this._weekdaysParse[i].test(n))return i},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(n){var t=this._longDateFormat[n];return!t&&this._longDateFormat[n.toUpperCase()]&&(t=this._longDateFormat[n.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(n){return n.slice(1)}),this._longDateFormat[n]=t),t},isPM:function(n){return(n+"").toLowerCase().charAt(0)==="p"},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(n,t,i){return n>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(n,t){var i=this._calendar[n];return typeof i=="function"?i.apply(t):i},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(n,t,i,r){var u=this._relativeTime[i];return typeof u=="function"?u(n,t,i,r):u.replace(/%d/i,n)},pastFuture:function(n,t){var i=this._relativeTime[n>0?"future":"past"];return typeof i=="function"?i(t):i.replace(/%s/i,t)},ordinal:function(n){return this._ordinal.replace("%d",n)},_ordinal:"%d",preparse:function(n){return n},postformat:function(n){return n},week:function(n){return b(n,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),t=function(t,i,r,u){var f;return typeof r=="boolean"&&(u=r,r=n),f={},f._isAMomentObject=!0,f._i=t,f._f=i,f._l=r,f._strict=u,f._isUTC=!1,f._pf=lt(),fi(f)},t.suppressDeprecationWarnings=!1,t.createFromInputFallback=g("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(n){n._d=new Date(n._i)}),t.min=function(){var n=[].slice.call(arguments,0);return ui("isBefore",n)},t.max=function(){var n=[].slice.call(arguments,0);return ui("isAfter",n)},t.utc=function(t,i,r,u){var f;return typeof r=="boolean"&&(u=r,r=n),f={},f._isAMomentObject=!0,f._useUTC=!0,f._isUTC=!0,f._l=r,f._i=t,f._f=i,f._strict=u,f._pf=lt(),fi(f).utc()},t.unix=function(n){return t(n*1e3)},t.duration=function(n,r){var s=n,u=null,f,h,o;return t.isDuration(n)?s={ms:n._milliseconds,d:n._days,M:n._months}:typeof n=="number"?(s={},r?s[r]=n:s.milliseconds=n):(u=iu.exec(n))?(f=u[1]==="-"?-1:1,s={y:0,d:i(u[e])*f,h:i(u[c])*f,m:i(u[it])*f,s:i(u[tt])*f,ms:i(u[nt])*f}):!(u=nu.exec(n))||(f=u[1]==="-"?-1:1,o=function(n){var t=n&&parseFloat(n.replace(",","."));return(isNaN(t)?0:t)*f},s={y:o(u[2]),M:o(u[3]),d:o(u[4]),h:o(u[5]),m:o(u[6]),s:o(u[7]),w:o(u[8])}),h=new kt(s),t.isDuration(n)&&n.hasOwnProperty("_lang")&&(h._lang=n._lang),h},t.version=uu,t.defaultFormat=pu,t.ISO_8601=function(){},t.momentProperties=ir,t.updateOffset=function(){},t.relativeTimeThreshold=function(t,i){return y[t]===n?!1:(y[t]=i,!0)},t.lang=function(n,i){var r;return n?(i?rf(wt(n),i):i===null?(uf(n),n="en"):w[n]||f(n),r=t.duration.fn._lang=t.fn._lang=f(n),r._abbr):t.fn._lang._abbr},t.langData=function(n){return n&&n._lang&&n._lang._abbr&&(n=n._lang._abbr),f(n)},t.isMoment=function(n){return n instanceof yt||n!=null&&n.hasOwnProperty("_isAMomentObject")},t.isDuration=function(n){return n instanceof kt},u=or.length-1;u>=0;--u)wu(or[u]);t.normalizeUnits=function(n){return l(n)},t.invalid=function(n){var i=t.utc(NaN);return n!=null?h(i._pf,n):i._pf.userInvalidated=!0,i},t.parseZone=function(){return t.apply(null,arguments).parseZone()},t.parseTwoDigitYear=function(n){return i(n)+(i(n)>68?1900:2e3)},h(t.fn=yt.prototype,{clone:function(){return t(this)},valueOf:function(){return+this._d+(this._offset||0)*6e4},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var n=t(this).utc();return 0<n.year()&&n.year()<=9999?dt(n,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):dt(n,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var n=this;return[n.year(),n.month(),n.date(),n.hours(),n.minutes(),n.seconds(),n.milliseconds()]},isValid:function(){return li(this)},isDSTShifted:function(){return this._a?this.isValid()&&hi(this._a,(this._isUTC?t.utc(this._a):t(this._a)).toArray())>0:!1},parsingFlags:function(){return h({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(n){var i=dt(this,n||t.defaultFormat);return this.lang().postformat(i)},add:function(n,i){var r;return r=typeof n=="string"&&typeof i=="string"?t.duration(isNaN(+i)?+n:+i,isNaN(+i)?i:n):typeof n=="string"?t.duration(+i,n):t.duration(n,i),ot(this,r,1),this},subtract:function(n,i){var r;return r=typeof n=="string"&&typeof i=="string"?t.duration(isNaN(+i)?+n:+i,isNaN(+i)?i:n):typeof n=="string"?t.duration(+i,n):t.duration(n,i),ot(this,r,-1),this},diff:function(n,i,r){var f=bt(n,this),o=(this.zone()-f.zone())*6e4,u,e;return i=l(i),i==="year"||i==="month"?(u=(this.daysInMonth()+f.daysInMonth())*432e5,e=(this.year()-f.year())*12+(this.month()-f.month()),e+=(this-t(this).startOf("month")-(f-t(f).startOf("month")))/u,e-=(this.zone()-t(this).startOf("month").zone()-(f.zone()-t(f).startOf("month").zone()))*6e4/u,i==="year"&&(e=e/12)):(u=this-f,e=i==="second"?u/1e3:i==="minute"?u/6e4:i==="hour"?u/36e5:i==="day"?(u-o)/864e5:i==="week"?(u-o)/6048e5:u),r?e:p(e)},from:function(n,i){return t.duration(this.diff(n)).lang(this.lang()._abbr).humanize(!i)},fromNow:function(n){return this.from(t(),n)},calendar:function(n){var r=n||t(),u=bt(r,this).startOf("day"),i=this.diff(u,"days",!0),f=i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse";return this.format(this.lang().calendar(f,this))},isLeapYear:function(){return yi(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(n){var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return n!=null?(n=br(n,this.lang()),this.add({d:n-t})):t},month:a("Month",!0),startOf:function(n){n=l(n);switch(n){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return n==="week"?this.weekday(0):n==="isoWeek"&&this.isoWeekday(1),n==="quarter"&&this.month(Math.floor(this.month()/3)*3),this},endOf:function(n){return n=l(n),this.startOf(n).add(n==="isoWeek"?"week":n,1).subtract("ms",1)},isAfter:function(n,i){return i=typeof i!="undefined"?i:"millisecond",+this.clone().startOf(i)>+t(n).startOf(i)},isBefore:function(n,i){return i=typeof i!="undefined"?i:"millisecond",+this.clone().startOf(i)<+t(n).startOf(i)},isSame:function(n,t){return t=t||"ms",+this.clone().startOf(t)==+bt(n,this).startOf(t)},min:g("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(n){return n=t.apply(null,arguments),n<this?this:n}),max:g("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(n){return n=t.apply(null,arguments),n>this?this:n}),zone:function(n,i){var r=this._offset||0;if(n!=null)typeof n=="string"&&(n=oi(n)),Math.abs(n)<16&&(n=n*60),this._offset=n,this._isUTC=!0,r!==n&&(!i||this._changeInProgress?ot(this,t.duration(r-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null));else return this._isUTC?r:this._d.getTimezoneOffset();return this},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):typeof this._i=="string"&&this.zone(this._i),this},hasAlignedHourOffset:function(n){return n=n?t(n).zone():0,(this.zone()-n)%60==0},daysInMonth:function(){return at(this.year(),this.month())},dayOfYear:function(n){var i=k((t(this).startOf("day")-t(this).startOf("year"))/864e5)+1;return n==null?i:this.add("d",n-i)},quarter:function(n){return n==null?Math.ceil((this.month()+1)/3):this.month((n-1)*3+this.month()%3)},weekYear:function(n){var t=b(this,this.lang()._week.dow,this.lang()._week.doy).year;return n==null?t:this.add("y",n-t)},isoWeekYear:function(n){var t=b(this,1,4).year;return n==null?t:this.add("y",n-t)},week:function(n){var t=this.lang().week(this);return n==null?t:this.add("d",(n-t)*7)},isoWeek:function(n){var t=b(this,1,4).week;return n==null?t:this.add("d",(n-t)*7)},weekday:function(n){var t=(this.day()+7-this.lang()._week.dow)%7;return n==null?t:this.add("d",n-t)},isoWeekday:function(n){return n==null?this.day()||7:this.day(this.day()%7?n:n-7)},isoWeeksInYear:function(){return vi(this.year(),1,4)},weeksInYear:function(){var n=this._lang._week;return vi(this.year(),n.dow,n.doy)},get:function(n){return n=l(n),this[n]()},set:function(n,t){return n=l(n),typeof this[n]=="function"&&this[n](t),this},lang:function(t){return t===n?this._lang:(this._lang=f(t),this)}}),t.fn.millisecond=t.fn.milliseconds=a("Milliseconds",!1),t.fn.second=t.fn.seconds=a("Seconds",!1),t.fn.minute=t.fn.minutes=a("Minutes",!1),t.fn.hour=t.fn.hours=a("Hours",!0),t.fn.date=a("Date",!0),t.fn.dates=g("dates accessor is deprecated. Use date instead.",a("Date",!0)),t.fn.year=a("FullYear",!0),t.fn.years=g("years accessor is deprecated. Use year instead.",a("FullYear",!0)),t.fn.days=t.fn.day,t.fn.months=t.fn.month,t.fn.weeks=t.fn.week,t.fn.isoWeeks=t.fn.isoWeek,t.fn.quarters=t.fn.quarter,t.fn.toJSON=t.fn.toISOString,h(t.duration.fn=kt.prototype,{_bubble:function(){var e=this._milliseconds,t=this._days,i=this._months,n=this._data,r,u,f,o;n.milliseconds=e%1e3,r=p(e/1e3),n.seconds=r%60,u=p(r/60),n.minutes=u%60,f=p(u/60),n.hours=f%24,t+=p(f/24),n.days=t%30,i+=p(t/30),n.months=i%12,o=p(i/12),n.years=o},weeks:function(){return p(this.days()/7)},valueOf:function(){return this._milliseconds+this._days*864e5+this._months%12*2592e6+i(this._months/12)*31536e6},humanize:function(n){var i=+this,t=gr(i,!n,this.lang());return n&&(t=this.lang().pastFuture(i,t)),this.lang().postformat(t)},add:function(n,i){var r=t.duration(n,i);return this._milliseconds+=r._milliseconds,this._days+=r._days,this._months+=r._months,this._bubble(),this},subtract:function(n,i){var r=t.duration(n,i);return this._milliseconds-=r._milliseconds,this._days-=r._days,this._months-=r._months,this._bubble(),this},get:function(n){return n=l(n),this[n.toLowerCase()+"s"]()},as:function(n){return n=l(n),this["as"+n.charAt(0).toUpperCase()+n.slice(1)+"s"]()},lang:t.fn.lang,toIsoString:function(){var r=Math.abs(this.years()),u=Math.abs(this.months()),f=Math.abs(this.days()),n=Math.abs(this.hours()),t=Math.abs(this.minutes()),i=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(r?r+"Y":"")+(u?u+"M":"")+(f?f+"D":"")+(n||t||i?"T":"")+(n?n+"H":"")+(t?t+"M":"")+(i?i+"S":""):"P0D"}});for(u in st)st.hasOwnProperty(u)&&(ur(u,st[u]),fu(u.toLowerCase()));ur("Weeks",6048e5),t.duration.fn.asMonths=function(){return(+this-this.years()*31536e6)/2592e6+this.years()*12},t.lang("en",{ordinal:function(n){var t=n%10,r=i(n%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return n+r}}),tr?module.exports=t:typeof define=="function"&&define.amd?(define("moment",function(n,i,r){return r.config&&r.config()&&r.config().noGlobal===!0&&(ft.moment=hr),t}),bi(!0)):bi()}.call(this),function(){function r(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n}function s(){var t,n=arguments,r,i={},u=function(n,t){var r,i;typeof n!="object"&&(n={});for(i in t)t.hasOwnProperty(i)&&(r=t[i],n[i]=r&&typeof r=="object"&&Object.prototype.toString.call(r)!=="[object Array]"&&i!=="renderTo"&&typeof r.nodeType!="number"?u(n[i]||{},r):t[i]);return n};for(n[0]===!0&&(i=n[1],n=Array.prototype.slice.call(n,2)),r=n.length,t=0;t<r;t++)i=u(i,n[t]);return i}function h(n,t){return parseInt(n,t||10)}function er(n){return typeof n=="string"}function yt(n){return typeof n=="object"}function hr(n){return Object.prototype.toString.call(n)==="[object Array]"}function ti(n){return typeof n=="number"}function di(n){return et.log(n)/et.LN10}function ei(n){return et.pow(10,n)}function ni(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}}function i(n){return n!==f&&n!==null}function g(n,t,r){var u,f;if(er(t))i(r)?n.setAttribute(t,r):n&&n.getAttribute&&(f=n.getAttribute(t));else if(i(t)&&yt(t))for(u in t)n.setAttribute(u,t[u]);return f}function ci(n){return hr(n)?n:[n]}function n(){for(var i=arguments,t,r=i.length,n=0;n<r;n++)if(t=i[n],typeof t!="undefined"&&t!==null)return t}function v(n,t){gi&&!vt&&t&&t.opacity!==f&&(t.filter="alpha(opacity="+t.opacity*100+")"),r(n.style,t)}function ct(n,t,i,u,f){return n=o.createElement(n),t&&r(n,t),f&&v(n,{padding:0,border:it,margin:0}),i&&v(n,i),u&&u.appendChild(n),n}function ri(n,t){var i=function(){};return i.prototype=new n,r(i.prototype,t),i}function rr(n,t,i,r){var u=nt.lang,n=+n||0,f=t===-1?(n.toString().split(".")[1]||"").length:isNaN(t=y(t))?2:t,t=i===void 0?u.decimalPoint:i,r=r===void 0?u.thousandsSep:r,u=n<0?"-":"",i=String(h(n=y(n).toFixed(f))),e=i.length>3?i.length%3:0;return u+(e?i.substr(0,e)+r:"")+i.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+r)+(f?t+y(n-i).toFixed(f).slice(2):"")}function fr(n,t){return Array((t||2)+1-String(n).length).join(0)+n}function sr(n,t,i){var r=n[t];n[t]=function(){var n=Array.prototype.slice.call(arguments);return n.unshift(r),i.apply(this,n)}}function ir(n,t){for(var e="{",s=!1,i,r,o,u,f,h=[];(e=n.indexOf(e))!==-1;){if(i=n.slice(0,e),s){for(r=i.split(":"),o=r.shift().split("."),f=o.length,i=t,u=0;u<f;u++)i=i[o[u]];r.length&&(r=r.join(":"),o=/\.([0-9])/,u=nt.lang,f=void 0,/f$/.test(r)?(f=(f=r.match(o))?f[1]:-1,i!==null&&(i=rr(i,f,u.decimalPoint,r.indexOf(",")>-1?u.thousandsSep:""))):i=su(r,i))}h.push(i),n=n.slice(e+1),e=(s=!s)?"}":"{"}return h.push(n),h.join("")}function nf(n){return et.pow(10,ft(et.log(n)/et.LN10))}function uf(t,i,r,u){var f,r=n(r,1);for(f=t/r,i||(i=[1,2,2.5,5,10],u&&u.allowDecimals===!1&&(r===1?i=[1,2,5,10]:r<=.1&&(i=[1/r]))),u=0;u<i.length;u++)if(t=i[u],f<=(i[u]+(i[u+1]||i[u]))/2)break;return t*=r}function yf(){this.symbol=this.color=0}function vu(n,t){for(var u=n.length,r,i=0;i<u;i++)n[i].ss_i=i;for(n.sort(function(n,i){return r=t(n,i),r===0?n.ss_i-i.ss_i:r}),i=0;i<u;i++)delete n[i].ss_i}function cr(n){for(var t=n.length,i=n[0];t--;)n[t]<i&&(i=n[t]);return i}function bi(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(i=n[t]);return i}function vr(n,t){for(var i in n)n[i]&&n[i]!==t&&n[i].destroy&&n[i].destroy(),delete n[i]}function yr(n){lu||(lu=ct(tr)),n&&lu.appendChild(n),lu.innerHTML=""}function si(n,t){var i="Highcharts error #"+n+": www.highcharts.com/errors/"+n;if(t)throw i;else d.console&&console.log(i)}function kt(n){return parseFloat(n.toPrecision(14))}function pr(t,i){vi=n(t,i.animation)}function ef(){var r=nt.global.useUTC,t=r?"getUTC":"get",i=r?"setUTC":"set";lr=(r&&nt.global.timezoneOffset||0)*6e4,hu=r?Date.UTC:function(t,i,r,u,f,e){return+new Date(t,i,n(r,1),n(u,0),n(f,0),n(e,0))},rf=t+"Minutes",au=t+"Hours",du=t+"Day",gr=t+"Date",ru=t+"Month",uu=t+"FullYear",hf=i+"Minutes",cf=i+"Hours",tf=i+"Date",af=i+"Month",ff=i+"FullYear"}function ut(){}function wr(n,t,i,r){this.axis=n,this.pos=t,this.type=i||"",this.isNew=!0,!i&&!r&&this.addLabel()}function gt(){this.init.apply(this,arguments)}function dr(){this.init.apply(this,arguments)}function sf(t,i,r,u,f){var e=t.chart.inverted;this.axis=t,this.isNegative=r,this.options=i,this.x=u,this.total=null,this.points={},this.stack=f,this.alignOptions={align:i.align||(e?r?"left":"right":"center"),verticalAlign:i.verticalAlign||(e?"middle":r?"bottom":"top"),y:n(i.y,e?4:r?14:-6),x:n(i.x,e?r?-6:6:0)},this.textAlign=i.textAlign||(e?r?"right":"left":"center")}var f,o=document,d=window,et=Math,e=et.round,ft=et.floor,ur=et.ceil,u=et.max,l=et.min,y=et.abs,at=et.cos,pt=et.sin,ui=et.PI,ki=ui/180,yi=navigator.userAgent,of=d.opera,gi=/msie/i.test(yi)&&!of,fu=o.documentMode===8,eu=/AppleWebKit/.test(yi),ar=/Firefox/.test(yi),lf=/(Mobile|Android|Windows Phone)/.test(yi),ai="http://www.w3.org/2000/svg",vt=!!o.createElementNS&&!!o.createElementNS(ai,"svg").createSVGRect,re=ar&&parseInt(yi.split("Firefox/")[1],10)<4,wt=!vt&&!gi&&!!o.createElement("canvas").getContext,iu,nu,pf={},bu=0,lu,nt,su,vi,ku,c,hi=function(){},ot=[],tu=0,tr="div",it="none",ne=/^[0-9]+$/,df="stroke-width",hu,lr,rf,au,du,gr,ru,uu,hf,cf,tf,af,ff,w={},rt=d.Highcharts=d.Highcharts?si(16,!0):{},k,lt,tt,ii,st,bt,vf,yu,fi,nr,br,pi,a,dt;su=function(t,u,f){if(!i(u)||isNaN(u))return"Invalid date";var t=n(t,"%Y-%m-%d %H:%M:%S"),o=new Date(u-lr),s,h=o[au](),a=o[du](),v=o[gr](),c=o[ru](),y=o[uu](),l=nt.lang,p=l.weekdays,o=r({a:p[a].substr(0,3),A:p[a],d:fr(v),e:v,b:l.shortMonths[c],B:l.months[c],m:fr(c+1),y:y.toString().substr(2,2),Y:y,H:fr(h),I:fr(h%12||12),l:h%12||12,M:fr(o[rf]()),p:h<12?"AM":"PM",P:h<12?"am":"pm",S:fr(o.getSeconds()),L:fr(e(u%1e3),3)},rt.dateFormats);for(s in o)for(;t.indexOf("%"+s)!==-1;)t=t.replace("%"+s,typeof o[s]=="function"?o[s](u):o[s]);return f?t.substr(0,1).toUpperCase()+t.substr(1):t},yf.prototype={wrapColor:function(n){this.color>=n&&(this.color=0)},wrapSymbol:function(n){this.symbol>=n&&(this.symbol=0)}},c=function(){for(var n=0,t=arguments,r=t.length,i={};n<r;n++)i[t[n++]]=t[n];return i}("millisecond",1,"second",1e3,"minute",6e4,"hour",36e5,"day",864e5,"week",6048e5,"month",26784e5,"year",31556952e3),ku={init:function(n,t,i){var t=t||"",r=n.shift,e=t.indexOf("C")>-1,u=e?7:3,f,t=t.split(" "),i=[].concat(i),o,s,h=function(n){for(f=n.length;f--;)n[f]==="M"&&n.splice(f+1,0,n[f+1],n[f+2],n[f+1],n[f+2])};if(e&&(h(t),h(i)),n.isArea&&(o=t.splice(t.length-6,6),s=i.splice(i.length-6,6)),r<=i.length/u&&t.length===i.length)for(;r--;)i=[].concat(i).splice(0,u).concat(i);if(n.shift=0,t.length)for(n=i.length;t.length<n;)r=[].concat(t).splice(t.length-u,u),e&&(r[u-6]=r[u-2],r[u-5]=r[u-1]),t=t.concat(r);return o&&(t=t.concat(o),i=i.concat(s)),[t,i]},step:function(n,t,i,r){var f=[],u=n.length;if(i===1)f=r;else if(u===t.length&&i<1)for(;u--;)r=parseFloat(n[u]),f[u]=isNaN(r)?n[u]:i*parseFloat(t[u]-r)+r;else f=t;return f}},function(n){d.HighchartsAdapter=d.HighchartsAdapter||n&&{init:function(t){var u=n.fx,e=u.step,i,r=n.Tween,o=r&&r.propHooks;i=n.cssHooks.opacity,n.extend(n.easing,{easeOutQuad:function(n,t,i,r,u){return-r*(t/=u)*(t-2)+i}}),n.each(["cur","_default","width","height","opacity"],function(n,t){var i=e,s;t==="cur"?i=u.prototype:t==="_default"&&r&&(i=o[t],t="set"),(s=i[t])&&(i[t]=function(i){var r,i=n?i:this;if(i.prop!=="align")return r=i.elem,r.attr?r.attr(i.prop,t==="cur"?f:i.now):s.apply(this,arguments)})}),sr(i,"get",function(n,t,i){return t.attr?t.opacity||0:n.call(this,t,i)}),i=function(n){var i=n.elem,r;n.started||(r=t.init(i,i.d,i.toD),n.start=r[0],n.end=r[1],n.started=!0),i.attr("d",t.step(n.start,n.end,n.pos,i.toD))},r?o.d={set:i}:e.d=i,this.each=Array.prototype.forEach?function(n,t){return Array.prototype.forEach.call(n,t)}:function(n,t){for(var i=0,r=n.length;i<r;i++)if(t.call(n[i],n[i],i,n)===!1)return i},n.fn.highcharts=function(){var r="Chart",t=arguments,n,i;return this[0]&&(er(t[0])&&(r=t[0],t=Array.prototype.slice.call(t,1)),n=t[0],n!==f&&(n.chart=n.chart||{},n.chart.renderTo=this[0],new rt[r](n,t[1]),i=this),n===f&&(i=ot[g(this[0],"data-highcharts-chart")])),i}},getScript:n.getScript,inArray:n.inArray,adapterRun:function(t,i){return n(t)[i]()},grep:n.grep,map:function(n,t){for(var r=[],i=0,u=n.length;i<u;i++)r[i]=t.call(n[i],n[i],i,n);return r},offset:function(t){return n(t).offset()},addEvent:function(t,i,r){n(t).bind(i,r)},removeEvent:function(t,i,r){var u=o.removeEventListener?"removeEventListener":"detachEvent";o[u]&&t&&!t[u]&&(t[u]=function(){}),n(t).unbind(i,r)},fireEvent:function(t,i,u,f){var e=n.Event(i),o="detached"+i,s;!gi&&u&&(delete u.layerX,delete u.layerY,delete u.returnValue),r(e,u),t[i]&&(t[o]=t[i],t[i]=null),n.each(["preventDefault","stopPropagation"],function(n,t){var i=e[t];e[t]=function(){try{i.call(e)}catch(n){t==="preventDefault"&&(s=!0)}}}),n(t).trigger(e),t[o]&&(t[i]=t[o],t[o]=null),f&&!e.isDefaultPrevented()&&!s&&f(e)},washMouseEvent:function(n){var t=n.originalEvent||n;return t.pageX===f&&(t.pageX=n.pageX,t.pageY=n.pageY),t},animate:function(t,i,r){var u=n(t);t.style||(t.style={}),i.d&&(t.toD=i.d,i.d=1),u.stop(),i.opacity!==f&&t.attr&&(i.opacity+="px"),u.animate(i,r)},stop:function(t){n(t).stop()}}}(d.jQuery),tt=d.HighchartsAdapter,k=tt||{},tt&&tt.init.call(tt,ku);var cu=k.adapterRun,te=k.getScript,wi=k.inArray,t=k.each,gu=k.grep,ue=k.offset,or=k.map,b=k.addEvent,ht=k.removeEvent,p=k.fireEvent,ie=k.washMouseEvent,ou=k.animate,kr=k.stop,k={enabled:!0,x:0,y:15,style:{color:"#606060",cursor:"default",fontSize:"11px"}};nt={colors:"#7cb5ec,#434348,#90ed7d,#f7a35c,#8085e9,#f15c80,#e4d354,#8085e8,#8d4653,#91e8e1".split(","),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),decimalPoint:".",numericSymbols:"k,M,G,T,P,E".split(","),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/4.0.1/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/4.0.1/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",margin:15,style:{color:"#333333",fontSize:"18px"}},subtitle:{text:"",align:"center",style:{color:"#555555"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},lineWidth:2,marker:{lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:s(k,{align:"center",enabled:!1,formatter:function(){return this.y===null?"":rr(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,states:{hover:{marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1e3}},labels:{style:{position:"absolute",color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#909090",borderRadius:0,navigation:{activeColor:"#274b6d",inactiveColor:"#CCC"},shadow:!1,itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"1em"},style:{position:"absolute",backgroundColor:"white",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:vt,backgroundColor:"rgba(249, 249, 249, .85)",borderWidth:1,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{series.color}">●</span> {series.name}: <b>{point.y}</b><br/>',shadow:!0,snap:lf?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"9px"}}},lt=nt.plotOptions,tt=lt.line,ef();var kf=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,bf=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,wf=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,li=function(n){var i=[],r,u;return function(n){n&&n.stops?u=or(n.stops,function(n){return li(n[1])}):(r=kf.exec(n))?i=[h(r[1]),h(r[2]),h(r[3]),parseFloat(r[4],10)]:(r=bf.exec(n))?i=[h(r[1],16),h(r[2],16),h(r[3],16),1]:(r=wf.exec(n))&&(i=[h(r[1]),h(r[2]),h(r[3]),1])}(n),{get:function(r){var f;return u?(f=s(n),f.stops=[].concat(f.stops),t(u,function(n,t){f.stops[t]=[f.stops[t][0],n.get(r)]})):f=i&&!isNaN(i[0])?r==="rgb"?"rgb("+i[0]+","+i[1]+","+i[2]+")":r==="a"?i[3]:"rgba("+i.join(",")+")":n,f},brighten:function(n){if(u)t(u,function(t){t.brighten(n)});else if(ti(n)&&n!==0)for(var r=0;r<3;r++)i[r]+=h(n*255),i[r]<0&&(i[r]=0),i[r]>255&&(i[r]=255);return this},rgba:i,setOpacity:function(n){return i[3]=n,this}}};if(ut.prototype={init:function(n,t){this.element=t==="span"?ct(t):o.createElementNS(ai,t),this.renderer=n},opacity:1,animate:function(t,i,r){i=n(i,vi,!0),kr(this),i?(i=s(i,{}),r&&(i.complete=r),ou(this,t,i)):(this.attr(t),r&&r())},colorGradient:function(n,r,u){var l=this.renderer,p,o,f,a,v,y,w,b,e,c,h=[];if(n.linearGradient?o="linearGradient":n.radialGradient&&(o="radialGradient"),o){f=n[o],a=l.gradients,y=n.stops,e=u.radialReference,hr(f)&&(n[o]=f={x1:f[0],y1:f[1],x2:f[2],y2:f[3],gradientUnits:"userSpaceOnUse"}),o==="radialGradient"&&e&&!i(f.gradientUnits)&&(f=s(f,{cx:e[0]-e[2]/2+f.cx*e[2],cy:e[1]-e[2]/2+f.cy*e[2],r:f.r*e[2],gradientUnits:"userSpaceOnUse"}));for(c in f)c!=="id"&&h.push(c,f[c]);for(c in y)h.push(y[c]);h=h.join(","),a[h]?n=a[h].attr("id"):(f.id=n="highcharts-"+bu++,a[h]=v=l.createElement(o).attr(f).add(l.defs),v.stops=[],t(y,function(n){n[1].indexOf("rgba")===0?(p=li(n[1]),w=p.get("rgb"),b=p.get("a")):(w=n[1],b=1),n=l.createElement("stop").attr({offset:n[0],"stop-color":w,"stop-opacity":b}).add(v),v.stops.push(n)})),u.setAttribute(r,"url("+l.url+"#"+n+")")}},attr:function(n,t){var i,r,e=this.element,o,s=this,u;if(typeof n=="string"&&t!==f&&(i=n,n={},n[i]=t),typeof n=="string")s=(this[n+"Getter"]||this._defaultGetter).call(this,n,e);else{for(i in n)r=n[i],u=!1,this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(i)&&(o||(this.symbolAttr(n),o=!0),u=!0),this.rotation&&(i==="x"||i==="y")&&(this.doTransform=!0),u||(this[i+"Setter"]||this._defaultSetter).call(this,r,i,e),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i)&&this.updateShadows(i,r);this.doTransform&&(this.updateTransform(),this.doTransform=!1)}return s},updateShadows:function(n,t){for(var i=this.shadows,r=i.length;r--;)i[r].setAttribute(n,n==="height"?u(t-(i[r].cutHeight||0),0):n==="d"?this.d:t)},addClass:function(n){var t=this.element,i=g(t,"class")||"";return i.indexOf(n)===-1&&g(t,"class",i+" "+n),this},symbolAttr:function(i){var r=this;t("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(t){r[t]=n(i[t],r[t])}),r.attr({d:r.renderer.symbols[r.symbolName](r.x,r.y,r.width,r.height,r)})},clip:function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":it)},crisp:function(n){var t,r={},i,u=n.strokeWidth||this.strokeWidth||this.attr&&this.attr("stroke-width")||0;i=e(u)%2/2,n.x=ft(n.x||this.x||0)+i,n.y=ft(n.y||this.y||0)+i,n.width=ft((n.width||this.width||0)-2*i),n.height=ft((n.height||this.height||0)-2*i),n.strokeWidth=u;for(t in n)this[t]!==n[t]&&(this[t]=r[t]=n[t]);return r},css:function(n){var i=this.styles,f={},e=this.element,u,t,o="";if(u=!i,n&&n.color&&(n.fill=n.color),i)for(t in n)n[t]!==i[t]&&(f[t]=n[t],u=!0);if(u){if(u=this.textWidth=n&&n.width&&e.nodeName.toLowerCase()==="text"&&h(n.width),i&&(n=r(i,f)),this.styles=n,u&&(wt||!vt&&this.renderer.forExport)&&delete n.width,gi&&!vt)v(this.element,n);else{i=function(n,t){return"-"+t.toLowerCase()};for(t in n)o+=t.replace(/([A-Z])/g,i)+":"+n[t]+";";g(e,"style",o)}u&&this.added&&this.renderer.buildText(this)}return this},on:function(n,t){var r=this,i=r.element;return nu&&n==="click"?(i.ontouchstart=function(n){r.touchEventFired=Date.now(),n.preventDefault(),t.call(i,n)},i.onclick=function(n){(yi.indexOf("Android")===-1||Date.now()-(r.touchEventFired||0)>1100)&&t.call(i,n)}):i["on"+n]=t,this},setRadialReference:function(n){return this.element.radialReference=n,this},translate:function(n,t){return this.attr({translateX:n,translateY:t})},invert:function(){return this.inverted=!0,this.updateTransform(),this},updateTransform:function(){var t=this.translateX||0,u=this.translateY||0,f=this.scaleX,e=this.scaleY,o=this.inverted,s=this.rotation,r=this.element;o&&(t+=this.attr("width"),u+=this.attr("height")),t=["translate("+t+","+u+")"],o?t.push("rotate(90) scale(-1,1)"):s&&t.push("rotate("+s+" "+(r.getAttribute("x")||0)+" "+(r.getAttribute("y")||0)+")"),(i(f)||i(e))&&t.push("scale("+n(f,1)+" "+n(e,1)+")"),t.length&&r.setAttribute("transform",t.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(t,i,r){var f,u,o,h,s={};return u=this.renderer,o=u.alignedObjects,t?(this.alignOptions=t,this.alignByTranslate=i,!r||er(r))&&(this.alignTo=f=r||"renderer",ni(o,this),o.push(this),r=null):(t=this.alignOptions,i=this.alignByTranslate,f=this.alignTo),r=n(r,u[f],u),f=t.align,u=t.verticalAlign,o=(r.x||0)+(t.x||0),h=(r.y||0)+(t.y||0),(f==="right"||f==="center")&&(o+=(r.width-(t.width||0))/{right:1,center:2}[f]),s[i?"translateX":"x"]=e(o),(u==="bottom"||u==="middle")&&(h+=(r.height-(t.height||0))/({bottom:1,middle:2}[u]||1)),s[i?"translateY":"y"]=e(h),this[this.placed?"animate":"attr"](s),this.placed=!0,this.alignAttr=s,this},getBBox:function(){var n=this.bBox,o=this.renderer,t,i,s=this.rotation,u,f,e;if(t=this.element,u=this.styles,f=s*ki,i=this.textStr,(i===""||ne.test(i))&&(e="num."+i.toString().length+(u?"|"+u.fontSize+"|"+u.fontFamily:"")),e&&(n=o.cache[e]),!n){if(t.namespaceURI===ai||o.forExport){try{n=t.getBBox?r({},t.getBBox()):{width:t.offsetWidth,height:t.offsetHeight}}catch(h){}(!n||n.width<0)&&(n={width:0,height:0})}else n=this.htmlGetBBox();o.isSVG&&(t=n.width,i=n.height,gi&&u&&u.fontSize==="11px"&&i.toPrecision(3)==="16.9"&&(n.height=i=14),s&&(n.width=y(i*pt(f))+y(t*at(f)),n.height=y(i*at(f))+y(t*pt(f)))),this.bBox=n,e&&(o.cache[e]=n)}return n},show:function(n){return n&&this.element.namespaceURI===ai?(this.element.removeAttribute("visibility"),this):this.attr({visibility:n?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(n){var t=this;t.animate({opacity:0},{duration:n||150,complete:function(){t.hide()}})},add:function(n){var t=this.renderer,r=n||t,e=r.element||t.box,o=this.element,u=this.zIndex,f,s;if(n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,this.textStr!==void 0&&t.buildText(this),u&&(r.handleZ=!0,u=h(u)),r.handleZ)for(n=e.childNodes,f=0;f<n.length;f++)if(t=n[f],r=g(t,"zIndex"),t!==o&&(h(r)>u||!i(u)&&i(r))){e.insertBefore(o,t),s=!0;break}return s||e.appendChild(o),this.added=!0,this.onAdd&&this.onAdd(),this},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var n=this,i=n.element||{},f=n.shadows,r=n.renderer.isSVG&&i.nodeName==="SPAN"&&n.parentGroup,e,u;if(i.onclick=i.onmouseout=i.onmouseover=i.onmousemove=i.point=null,kr(n),n.clipPath&&(n.clipPath=n.clipPath.destroy()),n.stops){for(u=0;u<n.stops.length;u++)n.stops[u]=n.stops[u].destroy();n.stops=null}for(n.safeRemoveChild(i),f&&t(f,function(t){n.safeRemoveChild(t)});r&&r.div.childNodes.length===0;)i=r.parentGroup,n.safeRemoveChild(r.div),delete r.div,r=i;n.alignTo&&ni(n.renderer.alignedObjects,n);for(e in n)delete n[e];return null},shadow:function(t,i,r){var c=[],e,f,h=this.element,o,s,l,a;if(t){for(s=n(t.width,3),l=(t.opacity||.15)/s,a=this.parentInverted?"(-1,-1)":"("+n(t.offsetX,1)+", "+n(t.offsetY,1)+")",e=1;e<=s;e++)f=h.cloneNode(0),o=s*2+1-2*e,g(f,{isShadow:"true",stroke:t.color||"black","stroke-opacity":l*e,"stroke-width":o,transform:"translate"+a,fill:it}),r&&(g(f,"height",u(g(f,"height")-o,0)),f.cutHeight=o),i?i.element.appendChild(f):h.parentNode.insertBefore(f,h),c.push(f);this.shadows=c}return this},xGetter:function(n){return this.element.nodeName==="circle"&&(n={x:"cx",y:"cy"}[n]||n),this._defaultGetter(n)},_defaultGetter:function(t){return t=n(this[t],this.element?this.element.getAttribute(t):null,0),/^[0-9\.]+$/.test(t)&&(t=parseFloat(t)),t},dSetter:function(n,t,i){n&&n.join&&(n=n.join(" ")),/(NaN| {2}|^$)/.test(n)&&(n="M 0 0"),i.setAttribute(t,n),this[t]=n},dashstyleSetter:function(n){var t;if(n=n&&n.toLowerCase()){for(n=n.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(","),t=n.length;t--;)n[t]=h(n[t])*this.element.getAttribute("stroke-width");n=n.join(","),this.element.setAttribute("stroke-dasharray",n)}},alignSetter:function(n){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[n])},opacitySetter:function(n,t,i){this[t]=n,i.setAttribute(t,n)},"stroke-widthSetter":function(n,t,i){n===0&&(n=1e-5),this.strokeWidth=n,i.setAttribute(t,n)},titleSetter:function(n){var t=this.element.getElementsByTagName("title")[0];t||(t=o.createElementNS(ai,"title"),this.element.appendChild(t)),t.textContent=n},textSetter:function(n){n!==this.textStr&&(delete this.bBox,this.textStr=n,this.added&&this.renderer.buildText(this))},fillSetter:function(n,t,i){typeof n=="string"?i.setAttribute(t,n):n&&this.colorGradient(n,t,i)},zIndexSetter:function(n,t,i){i.setAttribute(t,n),this[t]=n},_defaultSetter:function(n,t,i){i.setAttribute(t,n)}},ut.prototype.yGetter=ut.prototype.xGetter,ut.prototype.translateXSetter=ut.prototype.translateYSetter=ut.prototype.rotationSetter=ut.prototype.verticalAlignSetter=ut.prototype.scaleXSetter=ut.prototype.scaleYSetter=function(n,t){this[t]=n,this.doTransform=!0},ut.prototype.strokeSetter=ut.prototype.fillSetter,ii=function(){this.init.apply(this,arguments)},ii.prototype={Element:ut,init:function(n,t,i,r,u){var s=location,e,r=this.createElement("svg").attr({version:"1.1"}).css(this.getStyle(r)),f;e=r.element,n.appendChild(e),n.innerHTML.indexOf("xmlns")===-1&&g(e,"xmlns",ai),this.isSVG=!0,this.box=e,this.boxWrapper=r,this.alignedObjects=[],this.url=(ar||eu)&&o.getElementsByTagName("base").length?s.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"",this.createElement("desc").add().element.appendChild(o.createTextNode("Created with Highcharts 4.0.1")),this.defs=this.createElement("defs").add(),this.forExport=u,this.gradients={},this.cache={},this.setSize(t,i,!1),ar&&n.getBoundingClientRect&&(this.subPixelFix=t=function(){v(n,{left:0,top:0}),f=n.getBoundingClientRect(),v(n,{left:ur(f.left)-f.left+"px",top:ur(f.top)-f.top+"px"})},t(),b(d,"resize",t))},getStyle:function(n){return this.style=r({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},n)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var n=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),vr(this.gradients||{}),this.gradients=null,n&&(this.defs=n.destroy()),this.subPixelFix&&ht(d,"resize",this.subPixelFix),this.alignedObjects=null},createElement:function(n){var t=new this.Element;return t.init(this,n),t},draw:function(){},buildText:function(i){for(var u=i.element,f=this,y=f.forExport,r=n(i.textStr,"").toString(),p=r.indexOf("<")!==-1,w=u.childNodes,c,l,a=g(u,"x"),e=i.styles,s=i.textWidth,b=e&&e.lineHeight,k=w.length,d=function(n){return b?h(b):f.fontMetrics(/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:e&&e.fontSize||f.style.fontSize||12).h};k--;)u.removeChild(w[k]);!p&&r.indexOf(" ")===-1?u.appendChild(o.createTextNode(r)):(c=/<.*style="([^"]+)".*>/,l=/<.*href="(http[^"]+)".*>/,s&&!i.added&&this.box.appendChild(u),r=p?r.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(/<br.*?>/g):[r],r[r.length-1]===""&&r.pop(),t(r,function(n,r){var h,p=0,n=n.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");h=n.split("|||"),t(h,function(n){var w,t,k;if((n!==""||h.length===1)&&(w={},t=o.createElementNS(ai,"tspan"),c.test(n)&&(k=n.match(c)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),g(t,"style",k)),l.test(n)&&!y&&(g(t,"onclick",'location.href="'+n.match(l)[1]+'"'),v(t,{cursor:"pointer"})),n=(n.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">"),n!==" "&&(t.appendChild(o.createTextNode(n)),p?w.dx=0:r&&a!==null&&(w.x=a),g(t,w),!p&&r&&(!vt&&y&&v(t,{display:"block"}),g(t,"dy",d(t),eu&&t.offsetHeight)),u.appendChild(t),p++,s)))for(var n=n.replace(/([^\^])-/g,"$1- ").split(" "),w=n.length>1&&e.whiteSpace!=="nowrap",nt,b,it=i._clipHeight,tt=[],rt=d(),ut=1;w&&(n.length||tt.length);)delete i.bBox,nt=i.getBBox(),b=nt.width,!vt&&f.forExport&&(b=f.measureSpanWidth(t.firstChild.data,i.styles)),nt=b>s,!nt||n.length===1?(n=tt,tt=[],n.length&&(ut++,it&&ut*rt>it?(n=["..."],i.attr("title",i.textStr)):(t=o.createElementNS(ai,"tspan"),g(t,{dy:rt,x:a}),k&&g(t,"style",k),u.appendChild(t),b>s&&(s=b)))):(t.removeChild(t.firstChild),tt.unshift(n.pop())),n.length&&t.appendChild(o.createTextNode(n.join(" ").replace(/- /g,"-")))})}))},button:function(n,t,i,u,f,e,o,h,c){var l=this.label(n,t,i,c,null,null,null,null,"button"),a=0,w,k,v,y,p,d,n={x1:0,y1:0,x2:0,y2:1},f=s({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:n,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},f);return v=f.style,delete f.style,e=s(f,{stroke:"#68A",fill:{linearGradient:n,stops:[[0,"#FFF"],[1,"#ACF"]]}},e),y=e.style,delete e.style,o=s(f,{stroke:"#68A",fill:{linearGradient:n,stops:[[0,"#9BD"],[1,"#CDF"]]}},o),p=o.style,delete o.style,h=s(f,{style:{color:"#CCC"}},h),d=h.style,delete h.style,b(l.element,gi?"mouseover":"mouseenter",function(){a!==3&&l.attr(e).css(y)}),b(l.element,gi?"mouseout":"mouseleave",function(){a!==3&&(w=[f,e,o][a],k=[v,y,p][a],l.attr(w).css(k))}),l.setState=function(n){(l.state=a=n)?n===2?l.attr(o).css(p):n===3&&l.attr(h).css(d):l.attr(f).css(v)},l.on("click",function(){a!==3&&u.call(l)}).attr(f).css(r({cursor:"default"},v))},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=e(n[1])-t%2/2),n[2]===n[5]&&(n[2]=n[5]=e(n[2])+t%2/2),n},path:function(n){var t={fill:it};return hr(n)?t.d=n:yt(n)&&r(t,n),this.createElement("path").attr(t)},circle:function(n,t,i){return n=yt(n)?n:{x:n,y:t,r:i},t=this.createElement("circle"),t.xSetter=function(n){this.element.setAttribute("cx",n)},t.ySetter=function(n){this.element.setAttribute("cy",n)},t.attr(n)},arc:function(n,t,i,r,u,f){return yt(n)&&(t=n.y,i=n.r,r=n.innerR,u=n.start,f=n.end,n=n.x),n=this.symbol("arc",n||0,t||0,i||0,i||0,{innerR:r||0,start:u||0,end:f||0}),n.r=i,n},rect:function(n,t,i,r,e,o){var e=yt(n)?n.r:e,s=this.createElement("rect"),n=yt(n)?n:n===f?{}:{x:n,y:t,width:u(i,0),height:u(r,0)};return o!==f&&(n.strokeWidth=o,n=s.crisp(n)),e&&(n.r=e),s.rSetter=function(n){g(this.element,{rx:n,ry:n})},s.attr(n)},setSize:function(t,i,r){var u=this.alignedObjects,f=u.length;for(this.width=t,this.height=i,this.boxWrapper[n(r,!0)?"animate":"attr"]({width:t,height:i});f--;)u[f].align()},g:function(n){var t=this.createElement("g");return i(n)?t.attr({"class":"highcharts-"+n}):t},image:function(n,t,i,u,f){var e={preserveAspectRatio:it};return arguments.length>1&&r(e,{x:t,y:i,width:u,height:f}),e=this.createElement("image").attr(e),e.element.setAttributeNS?e.element.setAttributeNS("http://www.w3.org/1999/xlink","href",n):e.element.setAttribute("hc-svg-href",n),e},symbol:function(n,t,i,u,f,o){var s,c=this.symbols[n],c=c&&c(e(t),e(i),u,f,o),a=/^url\((.*?)\)$/,h,l;return c?(s=this.path(c),r(s,{symbolName:n,x:t,y:i,width:u,height:f}),o&&r(s,o)):a.test(n)&&(l=function(n,t){n.element&&(n.attr({width:t[0],height:t[1]}),n.alignByTranslate||n.translate(e((u-t[0])/2),e((f-t[1])/2)))},h=n.match(a)[1],n=pf[h],s=this.image(h).attr({x:t,y:i}),s.isImg=!0,n?l(s,n):(s.attr({width:0,height:0}),ct("img",{onload:function(){l(s,pf[h]=[this.width,this.height])},src:h}))),s},symbols:{circle:function(n,t,i,r){var u=.166*i;return["M",n+i/2,t,"C",n+i+u,t,n+i+u,t+r,n+i/2,t+r,"C",n-u,t+r,n-u,t,n+i/2,t,"Z"]},square:function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i,t+r,n,t+r,"Z"]},triangle:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r,n,t+r,"Z"]},"triangle-down":function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i/2,t+r,"Z"]},diamond:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r/2,n+i/2,t+r,n,t+r/2,"Z"]},arc:function(n,t,i,r,u){var e=u.start,i=u.r||i||r,f=u.end-.001,r=u.innerR,o=u.open,s=at(e),h=pt(e),c=at(f),f=pt(f),u=u.end-e<ui?0:1;return["M",n+i*s,t+i*h,"A",i,i,0,u,1,n+i*c,t+i*f,o?"M":"L",n+r*c,t+r*f,"A",r,r,0,u,0,n+r*s,t+r*h,o?"":"Z"]},callout:function(n,t,i,r,u){var f=l(u&&u.r||0,i,r),h=f+6,o=u&&u.anchorX,s=u&&u.anchorY,u=e(u.strokeWidth||0)%2/2;return n+=u,t+=u,u=["M",n+f,t,"L",n+i-f,t,"C",n+i,t,n+i,t,n+i,t+f,"L",n+i,t+r-f,"C",n+i,t+r,n+i,t+r,n+i-f,t+r,"L",n+f,t+r,"C",n,t+r,n,t+r,n,t+r-f,"L",n,t+f,"C",n,t,n,t,n+f,t],o&&o>i&&s>t+h&&s<t+r-h?u.splice(13,3,"L",n+i,s-6,n+i+6,s,n+i,s+6,n+i,t+r-f):o&&o<0&&s>t+h&&s<t+r-h?u.splice(33,3,"L",n,s+6,n-6,s,n,s-6,n,t+f):s&&s>r&&o>n+h&&o<n+i-h?u.splice(23,3,"L",o+6,t+r,o,t+r+6,o-6,t+r,n+f,t+r):s&&s<0&&o>n+h&&o<n+i-h&&u.splice(3,3,"L",o-6,t,o,t-6,o+6,t,i-f,t),u}},clipRect:function(n,t,i,r){var u="highcharts-"+bu++,f=this.createElement("clipPath").attr({id:u}).add(this.defs),n=this.rect(n,t,i,r,0).add(f);return n.id=u,n.clipPath=f,n},text:function(n,t,i,r){var f=wt||!vt&&this.forExport,u={};return r&&!this.forExport?this.html(n,t,i):(u.x=Math.round(t||0),i&&(u.y=Math.round(i)),(n||n===0)&&(u.text=n),n=this.createElement("text").attr(u),f&&n.css({position:"absolute"}),r||(n.xSetter=function(n,t,i){for(var f=i.childNodes,u,r=1;r<f.length;r++)u=f[r],u.getAttribute("x")===i.getAttribute("x")&&u.setAttribute("x",n);i.setAttribute(t,n)}),n)},fontMetrics:function(n){var n=n||this.style.fontSize,n=/px/.test(n)?h(n):/em/.test(n)?parseFloat(n)*12:12,n=n<24?n+4:e(n*1.2),t=e(n*.8);return{h:n,b:t}},label:function(n,u,o,h,c,l,a,v,y){function pt(){var n,t;n=w.element.style,d=(nt===void 0||ct===void 0||p.styles.textAlign)&&w.textStr&&w.getBBox(),p.width=(nt||d.width||0)+2*k+et,p.height=(ct||d.height||0)+2*k,vt=k+g.fontMetrics(n&&n.fontSize).b,st&&(b||(n=e(-ft*k),t=v?-vt:0,p.box=b=h?g.symbol(h,n,t,p.width,p.height,rt):g.rect(n,t,p.width,p.height,0,rt[df]),b.attr("fill",it).add(p)),b.isImg||b.attr(r({width:e(p.width),height:e(p.height)},rt)),rt=null)}function ot(){var n=p.styles,n=n&&n.textAlign,r=et+k*(1-ft),t;t=v?0:vt,i(nt)&&d&&(n==="center"||n==="right")&&(r+={center:.5,right:1}[n]*(nt-d.width)),(r!==w.x||t!==w.y)&&(w.attr("x",r),t!==f&&w.attr("y",t)),w.x=r,w.y=t}function tt(n,t){b?b.attr(n,t):rt[n]=t}var g=this,p=g.g(y),w=g.text("",0,0,a).attr({zIndex:1}),b,d,ft=0,k=3,et=0,nt,ct,lt,at,yt=0,rt={},vt,st,wt;return p.onAdd=function(){w.add(p),p.attr({text:n||"",x:u,y:o}),b&&i(c)&&p.attr({anchorX:c,anchorY:l})},p.widthSetter=function(n){nt=n},p.heightSetter=function(n){ct=n},p.paddingSetter=function(n){i(n)&&n!==k&&(k=n,ot())},p.paddingLeftSetter=function(n){i(n)&&n!==et&&(et=n,ot())},p.alignSetter=function(n){ft={left:0,center:.5,right:1}[n]},p.textSetter=function(n){n!==f&&w.textSetter(n),pt(),ot()},p["stroke-widthSetter"]=function(n,t){n&&(st=!0),yt=n%2/2,tt(t,n)},p.strokeSetter=p.fillSetter=p.rSetter=function(n,t){t==="fill"&&n&&(st=!0),tt(t,n)},p.anchorXSetter=function(n,t){c=n,tt(t,n+yt-lt)},p.anchorYSetter=function(n,t){l=n,tt(t,n-at)},p.xSetter=function(n){p.x=n,ft&&(n-=ft*((nt||d.width)+k)),lt=e(n),p.attr("translateX",lt)},p.ySetter=function(n){at=p.y=e(n),p.attr("translateY",at)},wt=p.css,r(p,{css:function(n){if(n){var i={},n=s(n);t("fontSize,fontWeight,fontFamily,color,lineHeight,width,textDecoration,textShadow".split(","),function(t){n[t]!==f&&(i[t]=n[t],delete n[t])}),w.css(i)}return wt.call(p,n)},getBBox:function(){return{width:d.width+2*k,height:d.height+2*k,x:d.x-k,y:d.y-k}},shadow:function(n){return b&&b.shadow(n),p},destroy:function(){ht(p.element,"mouseenter"),ht(p.element,"mouseleave"),w&&(w=w.destroy()),b&&(b=b.destroy()),ut.prototype.destroy.call(p),p=g=pt=ot=tt=null}})}},iu=ii,r(ut.prototype,{htmlCss:function(n){var t=this.element;return(t=n&&t.tagName==="SPAN"&&n.width)&&(delete n.width,this.textWidth=t,this.updateTransform()),this.styles=r(this.styles,n),v(this.element,n),this},htmlGetBBox:function(){var n=this.element,t=this.bBox;return t||(n.nodeName==="text"&&(n.style.position="absolute"),t=this.bBox={x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}),t},htmlUpdateTransform:function(){if(this.added){var c=this.renderer,r=this.element,l=this.translateX||0,a=this.translateY||0,w=this.x||0,b=this.y||0,o=this.textAlign||"left",y={left:0,center:.5,right:1}[o],u=this.shadows;if(v(r,{marginLeft:l,marginTop:a}),u&&t(u,function(n){v(n,{marginLeft:l+1,marginTop:a+1})}),this.inverted&&t(r.childNodes,function(n){c.invertChild(n,r)}),r.tagName==="SPAN"){var f=this.rotation,e,s=h(this.textWidth),p=[f,o,r.innerHTML,this.textWidth].join(",");p!==this.cTT&&(e=c.fontMetrics(r.style.fontSize).b,i(f)&&this.setSpanRotation(f,y,e),u=n(this.elemWidth,r.offsetWidth),u>s&&/[ \-]/.test(r.textContent||r.innerText)&&(v(r,{width:s+"px",display:"block",whiteSpace:"normal"}),u=s),this.getSpanCorrection(u,e,y,f,o)),v(r,{left:w+(this.xCorr||0)+"px",top:b+(this.yCorr||0)+"px"}),eu&&(e=r.offsetHeight),this.cTT=p}}else this.alignOnAdd=!0},setSpanRotation:function(n,t,i){var r={},u=gi?"-ms-transform":eu?"-webkit-transform":ar?"MozTransform":of?"-o-transform":"";r[u]=r.transform="rotate("+n+"deg)",r[u+(ar?"Origin":"-origin")]=r.transformOrigin=t*100+"% "+i+"px",v(this.element,r)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i,this.yCorr=-t}}),r(ii.prototype,{html:function(n,i,u){var f=this.createElement("span"),o=f.element,s=f.renderer;return f.textSetter=function(n){n!==o.innerHTML&&delete this.bBox,o.innerHTML=this.textStr=n},f.xSetter=f.ySetter=f.alignSetter=f.rotationSetter=function(n,t){t==="align"&&(t="textAlign"),f[t]=n,f.htmlUpdateTransform()},f.attr({text:n,x:e(i),y:e(u)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),f.css=f.htmlCss,s.isSVG&&(f.add=function(n){var i,u=s.box.parentNode,e=[];if(this.parentGroup=n){if(i=n.div,!i){for(;n;)e.push(n),n=n.parentGroup;t(e.reverse(),function(n){var t;i=n.div=n.div||ct(tr,{className:g(n.element,"class")},{position:"absolute",left:(n.translateX||0)+"px",top:(n.translateY||0)+"px"},i||u),t=i.style,r(n,{translateXSetter:function(i,r){t.left=i+"px",n[r]=i,n.doTransform=!0},translateYSetter:function(i,r){t.top=i+"px",n[r]=i,n.doTransform=!0},visibilitySetter:function(n,i){t[i]=n}})})}}else i=u;return i.appendChild(o),f.added=!0,f.alignOnAdd&&f.htmlUpdateTransform(),f}),f}}),vt||wt||(rt.VMLElement=st={init:function(n,t){var i=["<",t,' filled="f" stroked="f"'],r=["position: ","absolute",";"],u=t===tr;(t==="shape"||u)&&r.push("left:0;top:0;width:1px;height:1px;"),r.push("visibility: ",u?"hidden":"visible"),i.push(' style="',r.join(""),'"/>'),t&&(i=u||t==="span"||t==="img"?i.join(""):n.prepVML(i),this.element=ct(i)),this.renderer=n},add:function(n){var i=this.renderer,r=this.element,t=i.box,t=n?n.element||n:t;return n&&n.inverted&&i.invertChild(r,t),t.appendChild(r),this.added=!0,this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform(),this.onAdd&&this.onAdd(),this},updateTransform:ut.prototype.htmlUpdateTransform,setSpanRotation:function(){var n=this.rotation,t=at(n*ki),i=pt(n*ki);v(this.element,{filter:n?["progid:DXImageTransform.Microsoft.Matrix(M11=",t,", M12=",-i,", M21=",i,", M22=",t,", sizingMethod='auto expand')"].join(""):it})},getSpanCorrection:function(t,i,r,u,f){var e=u?at(u*ki):1,o=u?pt(u*ki):0,h=n(this.elemHeight,this.element.offsetHeight),s;this.xCorr=e<0&&-t,this.yCorr=o<0&&-h,s=e*o<0,this.xCorr+=o*i*(s?1-r:r),this.yCorr-=e*i*(u?s?r:1-r:1),f&&f!=="left"&&(this.xCorr-=t*r*(e<0?-1:1),u&&(this.yCorr-=h*r*(o<0?-1:1)),v(this.element,{textAlign:f}))},pathToVML:function(n){for(var t=n.length,i=[];t--;)ti(n[t])?i[t]=e(n[t]*10)-5:n[t]==="Z"?i[t]="x":(i[t]=n[t],n.isArc&&(n[t]==="wa"||n[t]==="at"))&&(i[t+5]===i[t+7]&&(i[t+7]+=n[t+7]>n[t+5]?1:-1),i[t+6]===i[t+8]&&(i[t+8]+=n[t+8]>n[t+6]?1:-1));return i.join(" ")||"x"},clip:function(n){var t=this,i;return n?(i=n.members,ni(i,t),i.push(t),t.destroyClip=function(){ni(i,t)},n=n.getCSS(t)):(t.destroyClip&&t.destroyClip(),n={clip:fu?"inherit":"rect(auto)"}),t.css(n)},css:ut.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&yr(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),ut.prototype.destroy.apply(this)},on:function(n,t){return this.element["on"+n]=function(){var n=d.event;n.target=n.srcElement,t(n)},this},cutOffPath:function(n,t){var i,n=n.split(/[ ,]/);return i=n.length,(i===9||i===11)&&(n[i-4]=n[i-2]=h(n[i-2])-10*t),n.join(" ")},shadow:function(t,i,r){var v=[],f,e=this.element,y=this.renderer,u,p=e.style,s,o=e.path,c,l,a,w;if(o&&typeof o.value!="string"&&(o="x"),l=o,t){for(a=n(t.width,3),w=(t.opacity||.15)/a,f=1;f<=3;f++)c=a*2+1-2*f,r&&(l=this.cutOffPath(o.value,c+.5)),s=['<shape isShadow="true" strokeweight="',c,'" filled="false" path="',l,'" coordsize="10 10" style="',e.style.cssText,'" />'],u=ct(y.prepVML(s),null,{left:h(p.left)+n(t.offsetX,1),top:h(p.top)+n(t.offsetY,1)}),r&&(u.cutOff=c+1),s=['<stroke color="',t.color||"black",'" opacity="',w*f,'"/>'],ct(y.prepVML(s),null,null,u),i?i.element.appendChild(u):e.parentNode.insertBefore(u,e),v.push(u);this.shadows=v}return this},updateShadows:hi,setAttr:function(n,t){fu?this.element[n]=t:this.element.setAttribute(n,t)},classSetter:function(n){this.element.className=n},dashstyleSetter:function(n,t,i){(i.getElementsByTagName("stroke")[0]||ct(this.renderer.prepVML(["<stroke/>"]),null,null,i))[t]=n||"solid",this[t]=n},dSetter:function(n,t,i){var r=this.shadows,n=n||[];if(this.d=n.join(" "),i.path=n=this.pathToVML(n),r)for(i=r.length;i--;)r[i].path=r[i].cutOff?this.cutOffPath(n,r[i].cutOff):n;this.setAttr(t,n)},fillSetter:function(n,t,i){var r=i.nodeName;r==="SPAN"?i.style.color=n:r!=="IMG"&&(i.filled=n!==it,this.setAttr("fillcolor",this.renderer.color(n,i,t,this)))},opacitySetter:hi,rotationSetter:function(n,t,i){i=i.style,this[t]=i[t]=n,i.left=-e(pt(n*ki)+1)+"px",i.top=e(at(n*ki))+"px"},strokeSetter:function(n,t,i){this.setAttr("strokecolor",this.renderer.color(n,i,t))},"stroke-widthSetter":function(n,t,i){i.stroked=!!n,this[t]=n,ti(n)&&(n+="px"),this.setAttr("strokeweight",n)},titleSetter:function(n,t){this.setAttr(t,n)},visibilitySetter:function(n,i,r){n==="inherit"&&(n="visible"),this.shadows&&t(this.shadows,function(t){t.style[i]=n}),r.nodeName==="DIV"&&(n=n==="hidden"?"-999em":0,fu||(r.style[i]=n?"visible":"hidden"),i="top"),r.style[i]=n},xSetter:function(n,t,i){this[t]=n,t==="x"?t="left":t==="y"&&(t="top"),this.updateClipping?(this[t]=n,this.updateClipping()):i.style[t]=n},zIndexSetter:function(n,t,i){i.style[t]=n}},st=ri(ut,st),st.prototype.ySetter=st.prototype.widthSetter=st.prototype.heightSetter=st.prototype.xSetter,bt={Element:st,isIE8:yi.indexOf("MSIE 8.0")>-1,init:function(n,t,i,u){var f;if(this.alignedObjects=[],u=this.createElement(tr).css(r(this.getStyle(u),{position:"relative"})),f=u.element,n.appendChild(u.element),this.isVML=!0,this.box=f,this.boxWrapper=u,this.cache={},this.setSize(t,i,!1),!o.namespaces.hcv){o.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{o.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(e){o.styleSheets[0].cssText+="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(n,i,u,f){var s=this.createElement(),o=yt(n);return r(s,{members:[],left:(o?n.x:n)+1,top:(o?n.y:i)+1,width:(o?n.width:u)-1,height:(o?n.height:f)-1,getCSS:function(n){var t=n.element,o=t.nodeName,n=n.inverted,i=this.top-(o==="shape"?t.offsetTop:0),u=this.left,t=u+this.width,f=i+this.height,i={clip:"rect("+e(n?u:i)+"px,"+e(n?f:t)+"px,"+e(n?t:f)+"px,"+e(n?i:u)+"px)"};return!n&&fu&&o==="DIV"&&r(i,{width:t+"px",height:f+"px"}),i},updateClipping:function(){t(s.members,function(n){n.element&&n.css(s.getCSS(n))})}})},color:function(n,i,r,u){var lt=this,s,g=/^rgba/,v,l,e=it;if(n&&n.linearGradient?l="gradient":n&&n.radialGradient&&(l="pattern"),l){var h,y,f=n.linearGradient||n.radialGradient,c,b,k,d,ht,p="",n=n.stops,w,tt=[],rt=function(){v=['<fill colors="'+tt.join(",")+'" opacity="',k,'" o:opacity2="',b,'" type="',l,'" ',p,'focus="100%" method="any" />'],ct(lt.prepVML(v),null,null,i)};if(c=n[0],w=n[n.length-1],c[0]>0&&n.unshift([0,c[1]]),w[0]<1&&n.push([1,w[1]]),t(n,function(n,t){g.test(n[1])?(s=li(n[1]),h=s.get("rgb"),y=s.get("a")):(h=n[1],y=1),tt.push(n[0]*100+"% "+h),t?(k=y,d=h):(b=y,ht=h)}),r==="fill")if(l==="gradient")r=f.x1||f[0]||0,n=f.y1||f[1]||0,c=f.x2||f[2]||0,f=f.y2||f[3]||0,p='angle="'+(90-et.atan((f-n)/(c-r))*180/ui)+'"',rt();else{var e=f.r,ut=e*2,ft=e*2,ot=f.cx,st=f.cy,a=i.radialReference,o,e=function(){a&&(o=u.getBBox(),ot+=(a[0]-o.x)/o.width-.5,st+=(a[1]-o.y)/o.height-.5,ut*=a[2]/o.width,ft*=a[2]/o.height),p='src="'+nt.global.VMLRadialGradientURL+'" size="'+ut+","+ft+'" origin="0.5,0.5" position="'+ot+","+st+'" color2="'+ht+'" ',rt()};u.added?e():u.onAdd=e,e=d}else e=h}else g.test(n)&&i.tagName!=="IMG"?(s=li(n),v=["<",r,' opacity="',s.get("a"),'"/>'],ct(this.prepVML(v),null,null,i),e=s.get("rgb")):(e=i.getElementsByTagName(r),e.length&&(e[0].opacity=1,e[0].type="solid"),e=n);return e},prepVML:function(n){var t=this.isIE8,n=n.join("");return t?(n=n.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),n=n.indexOf('style="')===-1?n.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):n.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):n=n.replace("<","<hcv:"),n},text:ii.prototype.html,path:function(n){var t={coordsize:"10 10"};return hr(n)?t.d=n:yt(n)&&r(t,n),this.createElement("shape").attr(t)},circle:function(n,t,i){var r=this.symbol("circle");return yt(n)&&(i=n.r,t=n.y,n=n.x),r.isCircle=!0,r.r=i,r.attr({x:n,y:t})},g:function(n){var t;return n&&(t={className:"highcharts-"+n,"class":"highcharts-"+n}),this.createElement(tr).attr(t)},image:function(n,t,i,r,u){var f=this.createElement("img").attr({src:n});return arguments.length>1&&f.attr({x:t,y:i,width:r,height:u}),f},createElement:function(n){return n==="rect"?this.symbol(n):ii.prototype.createElement.call(this,n)},invertChild:function(n,i){var f=this,u=i.style,r=n.tagName==="IMG"&&n.style;v(n,{flip:"x",left:h(u.width)-(r?h(r.top):1),top:h(u.height)-(r?h(r.left):1),rotation:-90}),t(n.childNodes,function(t){f.invertChild(t,n)})},symbols:{arc:function(n,t,i,r,u){var f=u.start,o=u.end,e=u.r||i||r,i=u.innerR,r=at(f),s=pt(f),h=at(o),c=pt(o);return o-f==0?["x"]:(f=["wa",n-e,t-e,n+e,t+e,n+e*r,t+e*s,n+e*h,t+e*c],u.open&&!i&&f.push("e","M",n,t),f.push("at",n-i,t-i,n+i,t+i,n+i*h,t+i*c,n+i*r,t+i*s,"x","e"),f.isArc=!0,f)},circle:function(n,t,i,r,u){return u&&(i=r=2*u.r),u&&u.isCircle&&(n-=i/2,t-=r/2),["wa",n,t,n+i,t+r,n+i,t+r/2,n+i,t+r/2,"e"]},rect:function(n,t,r,u,f){return ii.prototype.symbols[!i(f)||!f.r?"square":"callout"].call(0,n,t,r,u,f)}}},rt.VMLRenderer=st=function(){this.init.apply(this,arguments)},st.prototype=s(ii.prototype,bt),iu=st),ii.prototype.measureSpanWidth=function(n,t){var i=o.createElement("span"),r;return r=o.createTextNode(n),i.appendChild(r),v(i,t),this.box.appendChild(i),r=i.offsetWidth,yr(i),r},wt&&(rt.CanVGRenderer=st=function(){ai="http://www.w3.org/1999/xhtml"},st.prototype.symbols={},vf=function(){function t(){for(var i=n.length,t=0;t<i;t++)n[t]();n=[]}var n=[];return{push:function(i,r){n.length===0&&te(r,t),n.push(i)}}}(),iu=st),wr.prototype={addLabel:function(){var t=this.axis,s=t.options,a=t.chart,v=t.horiz,h=t.categories,y=t.names,f=this.pos,o=s.labels,c=t.tickPositions,v=v&&h&&!o.step&&!o.staggerLines&&!o.rotation&&a.plotWidth/c.length||!v&&(a.margin[3]||a.chartWidth*.33),w=f===c[0],b=f===c[c.length-1],l,y=h?n(h[f],y[f],f):f,h=this.label,p=c.info;t.isDatetimeAxis&&p&&(l=s.dateTimeLabelFormats[p.higherRanks[f]||p.unitName]),this.isFirst=w,this.isLast=b,s=t.labelFormatter.call({axis:t,chart:a,isFirst:w,isLast:b,dateTimeLabelFormat:l,value:t.isLog?kt(ei(y)):y}),f=v&&{width:u(1,e(v-2*(o.padding||10)))+"px"},f=r(f,o.style),i(h)?h&&h.attr({text:s}).css(f):(l={align:t.labelAlign},ti(o.rotation)&&(l.rotation=o.rotation),v&&o.ellipsis&&(l._clipHeight=t.len/c.length),this.label=i(s)&&o.enabled?a.renderer.text(s,0,0,o.useHTML).attr(l).css(f).add(t.labelGroup):null)},getLabelSize:function(){var n=this.label,t=this.axis;return n?n.getBBox()[t.horiz?"height":"width"]:0},getLabelSides:function(){var n=this.label.getBBox(),t=this.axis,i=t.horiz,r=t.options.labels,n=i?n.width:n.height,t=i?r.x-n*{left:0,center:.5,right:1}[t.labelAlign]:0;return[t,i?n+t:n]},handleOverflow:function(n,t){var h=!0,i=this.axis,c=this.isFirst,v=this.isLast,r=i.horiz?t.x:t.y,y=i.reversed,p=i.tickPositions,s=this.getLabelSides(),l=s[0],s=s[1],e,o,u,a=this.label.line||0;if(e=i.labelEdge,o=i.justifyLabels&&(c||v),e[a]===f||r+l>e[a]?e[a]=r+s:o||(h=!1),o){e=(o=i.justifyToPlot)?i.pos:0,o=o?e+i.len:i.chart.chartWidth;do n+=c?1:-1,u=i.ticks[p[n]];while(p[n]&&(!u||u.label.line!==a));i=u&&u.label.xy&&u.label.xy.x+u.getLabelSides()[c?0:1],c&&!y||v&&y?r+l<e&&(r=e-l,u&&r+s>i&&(h=!1)):r+s>o&&(r=o-s,u&&r+l<i&&(h=!1)),t.x=r}return h},getPosition:function(n,t,i,r){var u=this.axis,f=u.chart,e=r&&f.oldChartHeight||f.chartHeight;return{x:n?u.translate(t+i,null,null,r)+u.transB:u.left+u.offset+(u.opposite?(r&&f.oldChartWidth||f.chartWidth)-u.right-u.left:0),y:n?e-u.bottom+u.offset-(u.opposite?u.height:0):e-u.translate(t+i,null,null,r)-u.transB}},getLabelPosition:function(n,t,r,u,f,e,o,s){var h=this.axis,v=h.transA,y=h.reversed,c=h.staggerLines,l=h.chart.renderer.fontMetrics(f.style.fontSize).b,a=f.rotation,n=n+f.x-(e&&u?e*v*(y?-1:1):0),t=t+f.y-(e&&!u?e*v*(y?1:-1):0);return a&&h.side===2&&(t-=l-l*at(a*ki)),!i(f.y)&&!a&&(t+=l-r.getBBox().height/2),c&&(r.line=o/(s||1)%c,t+=r.line*(h.labelOffset/c)),{x:n,y:t}},getMarkPath:function(n,t,i,r,u,f){return f.crispLine(["M",n,t,"L",n+(u?0:-i),t+(u?i:0)],r)},render:function(t,i,r){var u=this.axis,e=u.options,tt=u.chart.renderer,p=u.horiz,h=this.type,y=this.label,v=this.pos,d=e.labels,s=this.gridLine,a=h?h+"Grid":"grid",l=h?h+"Tick":"tick",b=e[a+"LineWidth"],ut=e[a+"LineColor"],it=e[a+"LineDashStyle"],c=e[l+"Length"],a=e[l+"Width"]||0,ft=e[l+"Color"],et=e[l+"Position"],l=this.mark,g=d.step,k=!0,nt=u.tickmarkOffset,o=this.getPosition(p,v,nt,i),w=o.x,o=o.y,rt=p&&w===u.pos+u.len||!p&&o===u.pos?-1:1;this.isActive=!0,b&&(v=u.getPlotLinePath(v+nt,b*rt,i,!0),s===f&&(s={stroke:ut,"stroke-width":b},it&&(s.dashstyle=it),h||(s.zIndex=1),i&&(s.opacity=0),this.gridLine=s=b?tt.path(v).attr(s).add(u.gridGroup):null),!i&&s&&v&&s[this.isNew?"attr":"animate"]({d:v,opacity:r})),a&&c&&(et==="inside"&&(c=-c),u.opposite&&(c=-c),h=this.getMarkPath(w,o,c,a*rt,p,tt),l?l.animate({d:h,opacity:r}):this.mark=tt.path(h).attr({stroke:ft,"stroke-width":a,opacity:r}).add(u.axisGroup)),y&&!isNaN(w)&&(y.xy=o=this.getLabelPosition(w,o,y,p,d,nt,t,g),this.isFirst&&!this.isLast&&!n(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!n(e.showLastLabel,1)?k=!1:!u.isRadial&&!d.step&&!d.rotation&&!i&&r!==0&&(k=this.handleOverflow(t,o)),g&&t%g&&(k=!1),k&&!isNaN(o.y)?(o.opacity=r,y[this.isNew?"attr":"animate"](o),this.isNew=!1):y.attr("y",-9999))},destroy:function(){vr(this,this.axis)}},rt.PlotLineOrBand=function(n,t){this.axis=n,t&&(this.options=t,this.id=t.id)},rt.PlotLineOrBand.prototype={render:function(){var c=this,r=c.axis,y=r.horiz,b=(r.pointRange||0)/2,f=c.options,e=f.label,a=c.label,d=f.width,p=f.to,w=f.from,o=i(w)&&i(p),g=f.value,it=f.dashStyle,v=c.svgElem,t=[],rt,nt=f.color,k=f.zIndex,tt=f.events,h={},ut=r.chart.renderer;if(r.isLog&&(w=di(w),p=di(p),g=di(g)),d)(t=r.getPlotLinePath(g,d),h={stroke:nt,"stroke-width":d},it)&&(h.dashstyle=it);else if(o)w=u(w,r.min-b),p=l(p,r.max+b),t=r.getPlotBandPath(w,p,f),nt&&(h.fill=nt),f.borderWidth&&(h.stroke=f.borderColor,h["stroke-width"]=f.borderWidth);else return;if(i(k)&&(h.zIndex=k),v)t?v.animate({d:t},null,v.onGetPath):(v.hide(),v.onGetPath=function(){v.show()},a)&&(c.label=a=a.destroy());else if(t&&t.length&&(c.svgElem=v=ut.path(t).attr(h).add(),tt))for(rt in b=function(n){v.on(n,function(t){tt[n].apply(c,[t])})},tt)b(rt);return e&&i(e.text)&&t&&t.length&&r.width>0&&r.height>0?(e=s({align:y&&o&&"center",x:y?!o&&4:10,verticalAlign:!y&&o&&"middle",y:y?o?16:10:o?6:-4,rotation:y&&!o&&90},e),a||(h={align:e.textAlign||e.align,rotation:e.rotation},i(k)&&(h.zIndex=k),c.label=a=ut.text(e.text,0,0,e.useHTML).attr(h).css(e.style).add()),r=[t[1],t[4],n(t[6],t[1])],t=[t[2],t[5],n(t[7],t[2])],y=cr(r),o=cr(t),a.align(e,!1,{x:y,y:o,width:bi(r)-y,height:bi(t)-o}),a.show()):a&&a.hide(),c},destroy:function(){ni(this.axis.plotLinesAndBands,this),delete this.axis,vr(this)}},gt.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#C0C0C0",labels:k,lineColor:"#C0D0E0",lineWidth:1,minPadding:.01,maxPadding:.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#707070"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding:.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return rr(this.total,-1)},style:k.style}},defaultLeftAxisOptions:{labels:{x:-15,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{x:0,y:20},title:{rotation:0}},defaultTopAxisOptions:{labels:{x:0,y:-15},title:{rotation:0}},init:function(t,r){var e=r.isX,o,s,u;this.horiz=t.inverted?!e:e,this.coll=(this.isXAxis=e)?"xAxis":"yAxis",this.opposite=r.opposite,this.side=r.side||(this.horiz?this.opposite?0:2:this.opposite?1:3),this.setOptions(r),u=this.options,o=u.type,this.labelFormatter=u.labels.formatter||this.defaultLabelFormatter,this.userOptions=r,this.minPixelPadding=0,this.chart=t,this.reversed=u.reversed,this.zoomEnabled=u.zoomEnabled!==!1,this.categories=u.categories||o==="category",this.names=[],this.isLog=o==="logarithmic",this.isDatetimeAxis=o==="datetime",this.isLinked=i(u.linkedTo),this.tickmarkOffset=this.categories&&u.tickmarkPlacement==="between"?.5:0,this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=u.minRange||u.maxZoom,this.range=u.range,this.offset=u.offset||0,this.stacks={},this.oldStacks={},this.min=this.max=null,this.crosshair=n(u.crosshair,ci(t.options.tooltip.crosshairs)[e?0:1],!1),u=this.options.events,wi(this,t.axes)===-1&&(e&&!this.isColorAxis?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),t[this.coll].push(this)),this.series=this.series||[],t.inverted&&e&&this.reversed===f&&(this.reversed=!0),this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(s in u)b(this,s,u[s]);this.isLog&&(this.val2lin=di,this.lin2val=ei)},setOptions:function(n){this.options=s(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],s(nt[this.coll],n))},defaultLabelFormatter:function(){var i=this.axis,t=this.value,u=i.categories,o=this.dateTimeLabelFormat,e=nt.lang.numericSymbols,r=e&&e.length,n,s=i.options.labels.format,i=i.isLog?t:i.tickInterval;if(s)n=ir(s,this);else if(u)n=t;else if(o)n=su(o,t);else if(r&&i>=1e3)for(;r--&&n===f;)u=Math.pow(1e3,r+1),i>=u&&e[r]!==null&&(n=rr(t/u,-1)+e[r]);return n===f&&(n=y(t)>=1e4?rr(t,0):rr(t,-1,f,"")),n},getSeriesExtremes:function(){var r=this,f=r.chart;r.hasVisibleSeries=!1,r.dataMin=r.dataMax=null,r.buildStacks&&r.buildStacks(),t(r.series,function(t){var e,o;(t.visible||!f.options.chart.ignoreHiddenSeries)&&(e=t.options.threshold,r.hasVisibleSeries=!0,r.isLog&&e<=0&&(e=null),r.isXAxis?(e=t.xData,e.length)&&(r.dataMin=l(n(r.dataMin,e[0]),cr(e)),r.dataMax=u(n(r.dataMax,e[0]),bi(e))):(t.getExtremes(),o=t.dataMax,t=t.dataMin,i(t)&&i(o)&&(r.dataMin=l(n(r.dataMin,t),t),r.dataMax=u(n(r.dataMax,o),o)),i(e)&&(r.dataMin>=e?(r.dataMin=e,r.ignoreMinPadding=!0):r.dataMax<e&&(r.dataMax=e,r.ignoreMaxPadding=!0))))})},translate:function(n,t,i,r,u,f){var e=1,s=0,o=r?this.oldTransA:this.transA,r=r?this.oldMin:this.min,h=this.minPixelPadding,u=(this.options.ordinal||this.isLog&&u)&&this.lin2val;return o||(o=this.transA),i&&(e*=-1,s=this.len),this.reversed&&(e*=-1,s-=e*(this.sector||this.len)),t?(n=n*e+s,n-=h,n=n/o+r,u&&(n=this.lin2val(n))):(u&&(n=this.val2lin(n)),f==="between"&&(f=.5),n=e*(n-r)*o+s+e*h+(ti(f)?o*f*this.pointRange:0)),n},toPixels:function(n,t){return this.translate(n,!1,!this.horiz,null,!0)+(t?0:this.pos)},toValue:function(n,t){return this.translate(n-(t?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(t,i,r,u,f){var s=this.chart,c=this.left,l=this.top,o,a,v=r&&s.oldChartHeight||s.chartHeight,y=r&&s.oldChartWidth||s.chartWidth,h;return o=this.transB,f=n(f,this.translate(t,null,null,r)),t=r=e(f+o),o=a=e(v-f-o),isNaN(f)?h=!0:this.horiz?(o=l,a=v-this.bottom,t<c||t>c+this.width)&&(h=!0):(t=c,r=y-this.right,o<l||o>l+this.height)&&(h=!0),h&&!u?null:s.renderer.crispLine(["M",t,o,"L",r,a],i||1)},getLinearTickPositions:function(n,t,i){var r,f=kt(ft(t/n)*n),e=kt(ur(i/n)*n),u=[];if(t===i&&ti(t))return[t];for(t=f;t<=e;){if(u.push(t),t=kt(t+n),t===r)break;r=t}return u},getMinorTickPositions:function(){var i=this.options,n=this.tickPositions,r=this.minorTickInterval,t=[],u;if(this.isLog)for(u=n.length,i=1;i<u;i++)t=t.concat(this.getLogTickPositions(r,n[i-1],n[i],!0));else if(this.isDatetimeAxis&&i.minorTickInterval==="auto")t=t.concat(this.getTimeTicks(this.normalizeTimeTickInterval(r),this.min,this.max,i.startOfWeek)),t[0]<this.min&&t.shift();else for(n=this.min+(n[0]-this.min)%r;n<=this.max;n+=r)t.push(n);return t},adjustForMinRange:function(){var s=this.options,r=this.min,u=this.max,e,y=this.dataMax-this.dataMin>=this.minRange,c,h,v,a,p,o;this.isXAxis&&this.minRange===f&&!this.isLog&&(i(s.min)||i(s.max)?this.minRange=null:(t(this.series,function(n){for(a=n.xData,h=p=n.xIncrement?1:a.length-1;h>0;h--)(v=a[h]-a[h-1],c===f||v<c)&&(c=v)}),this.minRange=l(c*5,this.dataMax-this.dataMin))),u-r<this.minRange&&(o=this.minRange,e=(o-u+r)/2,e=[r-e,n(s.min,r-e)],y&&(e[2]=this.dataMin),r=bi(e),u=[r+o,n(s.max,r+o)],y&&(u[2]=this.dataMax),u=cr(u),u-r<o&&(e[0]=u-o,e[1]=n(s.min,u-o),r=bi(e))),this.min=r,this.max=u},setAxisTranslation:function(n){var r=this,c=r.max-r.min,h=r.axisPointRange||0,f,o=0,s=0,e=r.linkedParent,v=!!r.categories,a=r.transA;(r.isXAxis||v||h)&&(e?(o=e.minPointOffset,s=e.pointRangePadding):t(r.series,function(n){var t=v?1:r.isXAxis?n.pointRange:r.axisPointRange||0,a=n.options.pointPlacement,e=n.closestPointRange;t>c&&(t=0),h=u(h,t),o=u(o,er(a)?0:t/2),s=u(s,a==="on"?0:t),!n.noSharedTooltip&&i(e)&&(f=i(f)?l(f,e):e)}),e=r.ordinalSlope&&f?r.ordinalSlope/f:1,r.minPointOffset=o*=e,r.pointRangePadding=s*=e,r.pointRange=l(h,c),r.closestPointRange=f),n&&(r.oldTransA=a),r.translationSlope=r.transA=a=r.len/(c+s||1),r.transB=r.horiz?r.left:r.bottom,r.minPixelPadding=a*o},setTickPositions:function(r){var f=this,o=f.chart,e=f.options,h=f.isLog,c=f.isDatetimeAxis,nt=f.isXAxis,s=f.isLinked,w=f.options.tickPositioner,b=e.maxPadding,k=e.minPadding,a=e.tickInterval,d=e.minTickInterval,v=e.tickPixelInterval,g,p=f.categories;s?(f.linkedParent=o[f.coll][e.linkedTo],o=f.linkedParent.getExtremes(),f.min=n(o.min,o.dataMin),f.max=n(o.max,o.dataMax),e.type!==f.linkedParent.options.type&&si(11,1)):(f.min=n(f.userMin,e.min,f.dataMin),f.max=n(f.userMax,e.max,f.dataMax)),h&&(!r&&l(f.min,n(f.dataMin,f.min))<=0&&si(10,1),f.min=kt(di(f.min)),f.max=kt(di(f.max))),f.range&&i(f.max)&&(f.userMin=f.min=u(f.min,f.max-f.range),f.userMax=f.max,f.range=null),f.beforePadding&&f.beforePadding(),f.adjustForMinRange(),!p&&!f.axisPointRange&&!f.usePercentage&&!s&&i(f.min)&&i(f.max)&&(o=f.max-f.min)&&(!i(e.min)&&!i(f.userMin)&&k&&(f.dataMin<0||!f.ignoreMinPadding)&&(f.min-=o*k),!i(e.max)&&!i(f.userMax)&&b&&(f.dataMax>0||!f.ignoreMaxPadding)&&(f.max+=o*b)),ti(e.floor)&&(f.min=u(f.min,e.floor)),ti(e.ceiling)&&(f.max=l(f.max,e.ceiling)),f.min===f.max||f.min===void 0||f.max===void 0?f.tickInterval=1:s&&!a&&v===f.linkedParent.options.tickPixelInterval?f.tickInterval=f.linkedParent.tickInterval:(f.tickInterval=n(a,p?1:(f.max-f.min)*v/u(f.len,v)),!i(a)&&f.len<v&&!this.isRadial&&!this.isLog&&!p&&e.startOnTick&&e.endOnTick&&(g=!0,f.tickInterval/=4)),nt&&!r&&t(f.series,function(n){n.processData(f.min!==f.oldMin||f.max!==f.oldMax)}),f.setAxisTranslation(!0),f.beforeSetTickPositions&&f.beforeSetTickPositions(),f.postProcessTickInterval&&(f.tickInterval=f.postProcessTickInterval(f.tickInterval)),f.pointRange&&(f.tickInterval=u(f.pointRange,f.tickInterval)),!a&&f.tickInterval<d&&(f.tickInterval=d),c||h||a||(f.tickInterval=uf(f.tickInterval,null,nf(f.tickInterval),e)),f.minorTickInterval=e.minorTickInterval==="auto"&&f.tickInterval?f.tickInterval/5:e.minorTickInterval,f.tickPositions=r=e.tickPositions?[].concat(e.tickPositions):w&&w.apply(f,[f.min,f.max]),r||(!f.ordinalPositions&&(f.max-f.min)/f.tickInterval>u(2*f.len,200)&&si(19,!0),r=c?f.getTimeTicks(f.normalizeTimeTickInterval(f.tickInterval,e.units),f.min,f.max,e.startOfWeek,f.ordinalPositions,f.closestPointRange,!0):h?f.getLogTickPositions(f.tickInterval,f.min,f.max):f.getLinearTickPositions(f.tickInterval,f.min,f.max),g&&r.splice(1,r.length-2),f.tickPositions=r),s||(h=r[0],c=r[r.length-1],s=f.minPointOffset||0,e.startOnTick?f.min=h:f.min-s>h&&r.shift(),e.endOnTick?f.max=c:f.max+s<c&&r.pop(),r.length===1&&(e=y(f.max)>1e13?1:.001,f.min-=e,f.max+=e))},setMaxTicks:function(){var i=this.chart,n=i.maxTicks||{},t=this.tickPositions,r=this._maxTicksKey=[this.coll,this.pos,this.len].join("-");!this.isLinked&&!this.isDatetimeAxis&&t&&t.length>(n[r]||0)&&this.options.alignTicks!==!1&&(n[r]=t.length),i.maxTicks=n},adjustTickAmount:function(){var n=this._maxTicksKey,t=this.tickPositions,r=this.chart.maxTicks,u,e;if(r&&r[n]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1&&this.min!==f){if(u=this.tickAmount,e=t.length,this.tickAmount=n=r[n],e<n){for(;t.length<n;)t.push(kt(t[t.length-1]+this.tickInterval));this.transA*=(e-1)/(n-1),this.max=t[t.length-1]}i(u)&&n!==u&&(this.isDirty=!0)}},setScale:function(){var n=this.stacks,i,r,f,u;if(this.oldMin=this.min,this.oldMax=this.max,this.oldAxisLength=this.len,this.setAxisSize(),u=this.len!==this.oldAxisLength,t(this.series,function(n){(n.isDirtyData||n.isDirty||n.xAxis.isDirty)&&(f=!0)}),u||f||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax){if(!this.isXAxis)for(i in n)for(r in n[i])n[i][r].total=null,n[i][r].cum=0;this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickPositions(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=u||this.min!==this.oldMin||this.max!==this.oldMax)}else if(!this.isXAxis){this.oldStacks&&(n=this.stacks=this.oldStacks);for(i in n)for(r in n[i])n[i][r].cum=n[i][r].total}this.setMaxTicks()},setExtremes:function(t,i,u,f,e){var o=this,s=o.chart,u=n(u,!0),e=r(e,{min:t,max:i});p(o,"setExtremes",e,function(){o.userMin=t,o.userMax=i,o.eventArgs=e,o.isDirtyExtremes=!0,u&&s.redraw(f)})},zoom:function(t,r){var e=this.dataMin,o=this.dataMax,s=this.options;return this.allowZoomOutside||(i(e)&&t<=l(e,n(s.min,e))&&(t=f),i(o)&&r>=u(o,n(s.max,o))&&(r=f)),this.displayBtn=t!==f||r!==f,this.setExtremes(t,r,!1,f,{trigger:"zoom"}),!0},setAxisSize:function(){var t=this.chart,i=this.options,e=i.offsetLeft||0,s=this.horiz,o=n(i.width,t.plotWidth-e+(i.offsetRight||0)),r=n(i.height,t.plotHeight),f=n(i.top,t.plotTop),i=n(i.left,t.plotLeft+e),e=/%$/;e.test(r)&&(r=parseInt(r,10)/100*t.plotHeight),e.test(f)&&(f=parseInt(f,10)/100*t.plotHeight+t.plotTop),this.left=i,this.top=f,this.width=o,this.height=r,this.bottom=t.chartHeight-r-f,this.right=t.chartWidth-o-i,this.len=u(s?o:r,0),this.pos=s?i:f},getExtremes:function(){var n=this.isLog;return{min:n?kt(ei(this.min)):this.min,max:n?kt(ei(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(n){var t=this.isLog,i=t?ei(this.min):this.min,t=t?ei(this.max):this.max;return i>n||n===null?n=i:t<n&&(n=t),this.translate(n,0,1,0,1)},autoLabelAlign:function(t){return t=(n(t,0)-this.side*90+720)%360,t>15&&t<165?"right":t>195&&t<345?"left":"center"},getOffset:function(){var r=this,v=r.chart,k=v.renderer,c=r.options,b=r.tickPositions,h=r.ticks,nt=r.horiz,s=r.side,ct=v.inverted?[1,0,3,2][s]:s,a,ht=0,st,ot=0,o=c.title,e=c.labels,y=0,it=v.axisOffset,et=v.clipOffset,rt=[-1,1,1,-1][s],p,d=1,ut=n(e.maxStaggerLines,5),tt,l,w,g,lt=s===2?k.fontMetrics(e.style.fontSize).b:0;if(r.hasData=a=r.hasVisibleSeries||i(r.min)&&i(r.max)&&!!b,r.showAxis=v=a||n(c.showEmpty,!0),r.staggerLines=r.horiz&&e.staggerLines,r.axisGroup||(r.gridGroup=k.g("grid").attr({zIndex:c.gridZIndex||1}).add(),r.axisGroup=k.g("axis").attr({zIndex:c.zIndex||2}).add(),r.labelGroup=k.g("axis-labels").attr({zIndex:e.zIndex||7}).addClass("highcharts-"+r.coll.toLowerCase()+"-labels").add()),a||r.isLinked){if(r.labelAlign=n(e.align||r.autoLabelAlign(e.rotation)),t(b,function(n){h[n]?h[n].addLabel():h[n]=new wr(r,n)}),r.horiz&&!r.staggerLines&&ut&&!e.rotation){for(p=r.reversed?[].concat(b).reverse():b;d<ut;){for(a=[],tt=!1,e=0;e<p.length;e++)l=p[e],w=(w=h[l].label&&h[l].label.getBBox())?w.width:0,g=e%d,w&&(l=r.translate(l),a[g]!==f&&l<a[g]&&(tt=!0),a[g]=l+w);if(tt)d++;else break}d>1&&(r.staggerLines=d)}t(b,function(n){(s===0||s===2||{1:"left",3:"right"}[s]===r.labelAlign)&&(y=u(h[n].getLabelSize(),y))}),r.staggerLines&&(y*=r.staggerLines,r.labelOffset=y)}else for(p in h)h[p].destroy(),delete h[p];o&&o.text&&o.enabled!==!1&&(r.axisTitle||(r.axisTitle=k.text(o.text,0,0,o.useHTML).attr({zIndex:7,rotation:o.rotation||0,align:o.textAlign||{low:"left",middle:"center",high:"right"}[o.align]}).addClass("highcharts-"+this.coll.toLowerCase()+"-title").css(o.style).add(r.axisGroup),r.axisTitle.isNew=!0),v&&(ht=r.axisTitle.getBBox()[nt?"height":"width"],ot=n(o.margin,nt?5:10),st=o.offset),r.axisTitle[v?"show":"hide"]()),r.offset=rt*n(c.offset,it[s]),r.axisTitleMargin=n(st,y+ot+(y&&rt*c.labels[nt?"y":"x"]-lt)),it[s]=u(it[s],r.axisTitleMargin+ht+rt*r.offset),et[ct]=u(et[ct],ft(c.lineWidth/2)*2)},getLinePath:function(n){var t=this.chart,u=this.opposite,i=this.offset,r=this.horiz,f=this.left+(u?this.width:0)+i,i=t.chartHeight-this.bottom-(u?this.height:0)+i;return u&&(n*=-1),t.renderer.crispLine(["M",r?this.left:f,r?i:this.top,"L",r?t.chartWidth-this.right:f,r?i:t.chartHeight-this.bottom],n)},getTitlePosition:function(){var n=this.horiz,i=this.left,e=this.top,t=this.len,r=this.options.title,u=n?i:e,f=this.opposite,o=this.offset,s=h(r.style.fontSize||12),t={low:u+(n?0:t),middle:u+t/2,high:u+(n?t:0)}[r.align],i=(n?e+this.height:i)+(n?1:-1)*(f?-1:1)*this.axisTitleMargin+(this.side===2?s:0);return{x:n?t:i+(f?this.width:0)+o+(r.x||0),y:n?i-(f?this.height:0)+o:t+(r.y||0)}},render:function(){var n=this,h=n.horiz,it=n.reversed,v=n.chart,ot=v.renderer,o=n.options,ft=n.isLog,ut=n.isLinked,c=n.tickPositions,e,l=n.axisTitle,r=n.ticks,s=n.minorTicks,u=n.alternateBands,nt=o.stackLabels,g=o.alternateGridColor,w=n.tickmarkOffset,p=o.lineWidth,d=v.hasRendered&&i(n.oldMin)&&!isNaN(n.oldMin),et=n.hasData,k=n.showAxis,y,b=o.labels.overflow,tt=n.justifyLabels=h&&b!==!1,a;n.labelEdge.length=0,n.justifyToPlot=b==="justify",t([r,s,u],function(n){for(var t in n)n[t].isActive=!1}),(et||ut)&&((n.minorTickInterval&&!n.categories&&t(n.getMinorTickPositions(),function(t){s[t]||(s[t]=new wr(n,t,"minor")),d&&s[t].isNew&&s[t].render(null,!0),s[t].render(null,!1,1)}),c.length&&(e=c.slice(),(h&&it||!h&&!it)&&e.reverse(),tt&&(e=e.slice(1).concat([e[0]])),t(e,function(t,i){tt&&(i=i===e.length-1?0:i+1),(!ut||t>=n.min&&t<=n.max)&&(r[t]||(r[t]=new wr(n,t)),d&&r[t].isNew&&r[t].render(i,!0,.1),r[t].render(i,!1,1))}),w&&n.min===0&&(r[-1]||(r[-1]=new wr(n,-1,null,!0)),r[-1].render(-1))),g&&t(c,function(t,i){i%2==0&&t<n.max&&(u[t]||(u[t]=new rt.PlotLineOrBand(n)),y=t+w,a=c[i+1]!==f?c[i+1]+w:n.max,u[t].options={from:ft?ei(y):y,to:ft?ei(a):a,color:g},u[t].render(),u[t].isActive=!0)}),n._addedPlotLB)||(t((o.plotLines||[]).concat(o.plotBands||[]),function(t){n.addPlotBandOrLine(t)}),n._addedPlotLB=!0)),t([r,s,u],function(n){var t,i,r=[],f=vi?vi.duration||500:0,e=function(){for(i=r.length;i--;)n[r[i]]&&!n[r[i]].isActive&&(n[r[i]].destroy(),delete n[r[i]])};for(t in n)n[t].isActive||(n[t].render(t,!1,0),n[t].isActive=!1,r.push(t));n===u||!v.hasRendered||!f?e():f&&setTimeout(e,f)}),p&&(h=n.getLinePath(p),n.axisLine?n.axisLine.animate({d:h}):n.axisLine=ot.path(h).attr({stroke:o.lineColor,"stroke-width":p,zIndex:7}).add(n.axisGroup),n.axisLine[k?"show":"hide"]()),l&&k&&(l[l.isNew?"attr":"animate"](n.getTitlePosition()),l.isNew=!1),nt&&nt.enabled&&n.renderStackTotals(),n.isDirty=!1},redraw:function(){var n=this.chart.pointer;n&&n.reset(!0),this.render(),t(this.plotLinesAndBands,function(n){n.render()}),t(this.series,function(n){n.isDirty=!0})},destroy:function(n){var i=this,r=i.stacks,u,f=i.plotLinesAndBands;n||ht(i);for(u in r)vr(r[u]),r[u]=null;for(t([i.ticks,i.minorTicks,i.alternateBands],function(n){vr(n)}),n=f.length;n--;)f[n].destroy();t("stackTotalGroup,axisLine,axisTitle,axisGroup,cross,gridGroup,labelGroup".split(","),function(n){i[n]&&(i[n]=i[n].destroy())}),this.cross&&this.cross.destroy()},drawCrosshair:function(t,r){if(this.crosshair)if((i(r)||!n(this.crosshair.snap,!0))===!1)this.hideCrosshair();else{var u,f=this.crosshair,e=f.animation;n(f.snap,!0)?i(r)&&(u=this.chart.inverted!=this.horiz?r.plotX:this.len-r.plotY):u=this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos,u=this.isRadial?this.getPlotLinePath(this.isXAxis?r.x:n(r.stackY,r.y)):this.getPlotLinePath(null,null,null,null,u),u===null?this.hideCrosshair():this.cross?this.cross.attr({visibility:"visible"})[e?"animate":"attr"]({d:u},e):(e={"stroke-width":f.width||1,stroke:f.color||"#C0C0C0",zIndex:f.zIndex||2},f.dashStyle&&(e.dashstyle=f.dashStyle),this.cross=this.chart.renderer.path(u).attr(e).add())}},hideCrosshair:function(){this.cross&&this.cross.hide()}},r(gt.prototype,{getPlotBandPath:function(n,t){var i=this.getPlotLinePath(t),r=this.getPlotLinePath(n);return r&&i?r.push(i[4],i[5],i[1],i[2]):r=null,r},addPlotBand:function(n){this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(n,t){var i=new rt.PlotLineOrBand(this,n).render(),r=this.userOptions;return i&&(t&&(r[t]=r[t]||[],r[t].push(n)),this.plotLinesAndBands.push(i)),i},removePlotBandOrLine:function(n){for(var r=this.plotLinesAndBands,u=this.options,f=this.userOptions,i=r.length;i--;)r[i].id===n&&r[i].destroy();t([u.plotLines||[],f.plotLines||[],u.plotBands||[],f.plotBands||[]],function(t){for(i=t.length;i--;)t[i].id===n&&ni(t,t[i])})}}),gt.prototype.getTimeTicks=function(u,f,e,o){var v=[],y={},p=nt.global.useUTC,a,s=new Date(f-lr),h=u.unitRange,l=u.count;if(i(f)){h>=c.second&&(s.setMilliseconds(0),s.setSeconds(h>=c.minute?0:l*ft(s.getSeconds()/l))),h>=c.minute&&s[hf](h>=c.hour?0:l*ft(s[rf]()/l)),h>=c.hour&&s[cf](h>=c.day?0:l*ft(s[au]()/l)),h>=c.day&&s[tf](h>=c.month?1:l*ft(s[gr]()/l)),h>=c.month&&(s[af](h>=c.year?0:l*ft(s[ru]()/l)),a=s[uu]()),h>=c.year&&(a-=a%l,s[ff](a)),h===c.week&&s[tf](s[gr]()-s[du]()+n(o,1)),f=1,lr&&(s=new Date(s.getTime()+lr)),a=s[uu]();for(var o=s.getTime(),w=s[ru](),b=s[gr](),k=p?lr:(864e5+s.getTimezoneOffset()*6e4)%864e5;o<e;)v.push(o),h===c.year?o=hu(a+f*l,0):h===c.month?o=hu(a,w+f*l):!p&&(h===c.day||h===c.week)?o=hu(a,w,b+f*l*(h===c.day?1:7)):o+=h*l,f++;v.push(o),t(gu(v,function(n){return h<=c.hour&&n%c.day===k}),function(n){y[n]="day"})}return v.info=r(u,{higherRanks:y,totalRange:h*l}),v},gt.prototype.normalizeTimeTickInterval=function(n,t){for(var i=t||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],r=i[i.length-1],f=c[r[0]],o=r[1],e=0;e<i.length;e++)if(r=i[e],f=c[r[0]],o=r[1],i[e+1]&&n<=(f*o[o.length-1]+c[i[e+1][0]])/2)break;return f===c.year&&n<5*f&&(o=[1,2,5]),i=uf(n/f,o,r[0]==="year"?u(nf(n/f),1):1),{unitRange:f,count:i,unitName:r[0]}},gt.prototype.getLogTickPositions=function(t,i,r,u){var o=this.options,f=this.len,s=[],h,v,l,c,a;if(u||(this._minorAutoInterval=null),t>=.5)t=e(t),s=this.getLinearTickPositions(t,i,r);else if(t>=.08)for(f=ft(i),o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];f<r+1&&!a;f++)for(v=o.length,h=0;h<v&&!a;h++)l=di(ei(f)*o[h]),l>i&&(!u||c<=r)&&s.push(c),c>r&&(a=!0),c=l;else(i=ei(i),r=ei(r),t=o[u?"minorTickInterval":"tickInterval"],t=n(t==="auto"?null:t,this._minorAutoInterval,(r-i)*(o.tickPixelInterval/(u?5:1))/((u?f/this.tickPositions.length:f)||1)),t=uf(t,null,nf(t)),s=or(this.getLinearTickPositions(t,i,r),di),u)||(this._minorAutoInterval=t/5);return u||(this.tickInterval=t),s},yu=rt.Tooltip=function(){this.init.apply(this,arguments)},yu.prototype={init:function(n,t){var r=t.borderWidth,i=t.style,u=h(i.padding);this.chart=n,this.options=t,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.label=n.renderer.label("",0,0,t.shape||"callout",null,null,t.useHTML,null,"tooltip").attr({padding:u,fill:t.backgroundColor,"stroke-width":r,r:t.borderRadius,zIndex:8}).css(i).css({padding:0}).add().attr({y:-9999}),wt||this.label.shadow(t.shadow),this.shared=t.shared},destroy:function(){this.label&&(this.label=this.label.destroy()),clearTimeout(this.hideTimer),clearTimeout(this.tooltipTimeout)},move:function(n,t,i,u){var e=this,o=e.now,s=e.options.animation!==!1&&!e.isHidden,h=e.followPointer||e.len>1;r(o,{x:s?(2*o.x+n)/3:n,y:s?(o.y+t)/2:t,anchorX:h?f:s?(2*o.anchorX+i)/3:i,anchorY:h?f:s?(o.anchorY+u)/2:u}),e.label.attr(o),s&&(y(n-o.x)>1||y(t-o.y)>1)&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(n,t,i,u)},32))},hide:function(){var r=this,i;clearTimeout(this.hideTimer),this.isHidden||(i=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){r.label.fadeOut(),r.isHidden=!0},n(this.options.hideDelay,500)),i&&t(i,function(n){n.setState()}),this.chart.hoverPoints=null)},getAnchor:function(n,i){var u,r=this.chart,o=r.inverted,c=r.plotTop,s=0,h=0,l,n=ci(n);return u=n[0].tooltipPos,this.followPointer&&i&&(i.chartX===f&&(i=r.pointer.normalize(i)),u=[i.chartX-r.plotLeft,i.chartY-c]),u||(t(n,function(n){l=n.series.yAxis,s+=n.plotX,h+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!o&&l?l.top-c:0)}),s/=n.length,h/=n.length,u=[o?r.plotWidth-h:s,this.shared&&!o&&n.length>1&&i?i.chartY-c:o?r.plotHeight-s:h]),or(u,e)},getPosition:function(n,t,i){var u=this.chart,f=this.distance,r={},e,o=["y",u.chartHeight,t,i.plotY+u.plotTop],s=["x",u.chartWidth,n,i.plotX+u.plotLeft],l=i.ttBelow||u.inverted&&!i.negative||!u.inverted&&i.negative,a=function(n,t,i,u){var e=i<u-f,t=u+f+i<t,i=u-f-i;if(u+=f,l&&t)r[n]=u;else if(!l&&e)r[n]=i;else if(e)r[n]=i;else if(t)r[n]=u;else return!1},v=function(n,t,i,u){if(u<f||u>t-f)return!1;r[n]=u<i/2?1:u>t-i/2?t-i-2:u-i/2},h=function(n){var t=o;o=s,s=t,e=n},c=function(){a.apply(0,o)!==!1?v.apply(0,s)===!1&&!e&&(h(!0),c()):e?r.x=r.y=0:(h(!0),c())};return(u.inverted||this.len>1)&&h(),c(),r},defaultFormatter:function(n){var u=this.points||ci(this),i=u[0].series,r;return r=[n.tooltipHeaderFormatter(u[0])],t(u,function(n){i=n.series,r.push(i.tooltipFormatter&&i.tooltipFormatter(n)||n.point.tooltipFormatter(i.tooltipOptions.pointFormat))}),r.push(n.options.footerFormat||""),r.join("")},refresh:function(i,r){var o=this.chart,s=this.label,a=this.options,h,f,u={},e,c=[],l,v;e=a.formatter||this.defaultFormatter,u=o.hoverPoints,v=this.shared,clearTimeout(this.hideTimer),this.followPointer=ci(i)[0].series.tooltipOptions.followPointer,f=this.getAnchor(i,r),h=f[0],f=f[1],v&&(!i.series||!i.series.noSharedTooltip)?(o.hoverPoints=i,u&&t(u,function(n){n.setState()}),t(i,function(n){n.setState("hover"),c.push(n.getLabelConfig())}),u={x:i[0].category,y:i[0].y},u.points=c,this.len=c.length,i=i[0]):u=i.getLabelConfig(),e=e.call(u,this),u=i.series,this.distance=n(u.tooltipOptions.distance,16),e===!1?this.hide():(this.isHidden&&(kr(s),s.attr("opacity",1).show()),s.attr({text:e}),l=a.borderColor||i.color||u.color||"#606060",s.attr({stroke:l}),this.updatePosition({plotX:h,plotY:f,negative:i.negative,ttBelow:i.ttBelow}),this.isHidden=!1),p(o,"tooltipRefresh",{text:e,x:h+o.plotLeft,y:f+o.plotTop,borderColor:l})},updatePosition:function(n){var i=this.chart,t=this.label,t=(this.options.positioner||this.getPosition).call(this,t.width,t.height,n);this.move(e(t.x),e(t.y),n.plotX+i.plotLeft,n.plotY+i.plotTop)},tooltipHeaderFormatter:function(n){var f=n.series,i=f.tooltipOptions,e=i.dateTimeLabelFormats,t=i.xDateFormat,r=f.xAxis,o=r&&r.options.type==="datetime"&&ti(n.key),i=i.headerFormat,r=r&&r.closestPointRange,u;if(o&&!t){if(r){for(u in c)if(c[u]>=r||c[u]<=c.day&&n.key%c[u]>0){t=e[u];break}}else t=e.day;t=t||e.year}return o&&t&&(i=i.replace("{point.key}","{point.key:"+t+"}")),ir(i,{point:n,series:f})}},nu=o.documentElement.ontouchstart!==f,nr=rt.Pointer=function(n,t){this.init(n,t)},nr.prototype={init:function(n,t){var i=t.chart,f=i.events,r=wt?"":i.zoomType,i=n.inverted,u;this.options=t,this.chart=n,this.zoomX=u=/x/.test(r),this.zoomY=r=/y/.test(r),this.zoomHor=u&&!i||r&&i,this.zoomVert=r&&!i||u&&i,this.hasZoom=u||r,this.runChartClick=f&&!!f.click,this.pinchDown=[],this.lastValidTouch={},rt.Tooltip&&t.tooltip.enabled&&(n.tooltip=new yu(n,t.tooltip),this.followTouchMove=t.tooltip.followTouchMove),this.setDOMEvents()},normalize:function(n,t){var o,i,n=n||window.event,n=ie(n);return n.target||(n.target=n.srcElement),i=n.touches?n.touches.length?n.touches.item(0):n.changedTouches[0]:n,t||(this.chartPosition=t=ue(this.chart.container)),i.pageX===f?(o=u(n.x,n.clientX-t.left),i=n.y):(o=i.pageX-t.left,i=i.pageY-t.top),r(n,{chartX:e(o),chartY:e(i)})},getCoordinates:function(n){var i={xAxis:[],yAxis:[]};return t(this.chart.axes,function(t){i[t.isXAxis?"xAxis":"yAxis"].push({axis:t,value:t.toValue(n[t.horiz?"chartX":"chartY"])})}),i},getIndex:function(n){var t=this.chart;return t.inverted?t.plotHeight+t.plotTop-n.chartY:n.chartX-t.plotLeft},runPointActions:function(i){var c=this.chart,r=c.series,h=c.tooltip,u,e,w=c.hoverPoint,f=c.hoverSeries,a,s,v=c.chartWidth,p=this.getIndex(i);if(h&&this.options.tooltip.shared&&(!f||!f.noSharedTooltip)){for(e=[],a=r.length,s=0;s<a;s++)r[s].visible&&r[s].options.enableMouseTracking!==!1&&!r[s].noSharedTooltip&&r[s].singularTooltips!==!0&&r[s].tooltipPoints.length&&(u=r[s].tooltipPoints[p])&&u.series&&(u._dist=y(p-u.clientX),v=l(v,u._dist),e.push(u));for(a=e.length;a--;)e[a]._dist>v&&e.splice(a,1);e.length&&e[0].clientX!==this.hoverX&&(h.refresh(e,i),this.hoverX=e[0].clientX)}if(r=f&&f.tooltipOptions.followPointer,f&&f.tracker&&!r){if((u=f.tooltipPoints[p])&&u!==w)u.onMouseOver(i)}else h&&r&&!h.isHidden&&(f=h.getAnchor([{}],i),h.updatePosition({plotX:f[0],plotY:f[1]}));h&&!this._onDocumentMouseMove&&(this._onDocumentMouseMove=function(n){if(ot[fi])ot[fi].pointer.onDocumentMouseMove(n)},b(o,"mousemove",this._onDocumentMouseMove)),t(c.axes,function(t){t.drawCrosshair(i,n(u,w))})},reset:function(n){var u=this.chart,s=u.hoverSeries,i=u.hoverPoint,r=u.tooltip,e=r&&r.shared?u.hoverPoints:i;(n=n&&r&&e)&&ci(e)[0].plotX===f&&(n=!1),n?(r.refresh(e),i&&i.setState(i.state,!0)):(i&&i.onMouseOut(),s&&s.onMouseOut(),r&&r.hide(),this._onDocumentMouseMove&&(ht(o,"mousemove",this._onDocumentMouseMove),this._onDocumentMouseMove=null),t(u.axes,function(n){n.hideCrosshair()}),this.hoverX=null)},scaleGroups:function(n,i){var r=this.chart,u;t(r.series,function(t){u=n||t.getPlotBox(),t.xAxis&&t.xAxis.zoomEnabled&&(t.group.attr(u),t.markerGroup&&(t.markerGroup.attr(u),t.markerGroup.clip(i?r.clipRect:null)),t.dataLabelsGroup&&t.dataLabelsGroup.attr(u))}),r.clipRect.attr(i||r.clipBox)},dragStart:function(n){var t=this.chart;t.mouseIsDown=n.type,t.cancelClick=!1,t.mouseDownX=this.mouseDownX=n.chartX,t.mouseDownY=this.mouseDownY=n.chartY},drag:function(n){var i=this.chart,s=i.options.chart,t=n.chartX,r=n.chartY,a=this.zoomHor,v=this.zoomVert,u=i.plotLeft,f=i.plotTop,h=i.plotWidth,c=i.plotHeight,l,e=this.mouseDownX,o=this.mouseDownY;t<u?t=u:t>u+h&&(t=u+h),r<f?r=f:r>f+c&&(r=f+c),this.hasDragged=Math.sqrt(Math.pow(e-t,2)+Math.pow(o-r,2)),this.hasDragged>10&&(l=i.isInsidePlot(e-u,o-f),i.hasCartesianSeries&&(this.zoomX||this.zoomY)&&l&&!this.selectionMarker&&(this.selectionMarker=i.renderer.rect(u,f,a?1:h,v?1:c,0).attr({fill:s.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add()),this.selectionMarker&&a&&(t-=e,this.selectionMarker.attr({width:y(t),x:(t>0?0:t)+e})),this.selectionMarker&&v&&(t=r-o,this.selectionMarker.attr({height:y(t),y:(t>0?0:t)+o})),l&&!this.selectionMarker&&s.panning&&i.pan(n,s.panning))},drop:function(n){var i=this.chart,f=this.hasPinched;if(this.selectionMarker){var e={xAxis:[],yAxis:[],originalEvent:n.originalEvent||n},n=this.selectionMarker,o=n.attr?n.attr("x"):n.x,s=n.attr?n.attr("y"):n.y,c=n.attr?n.attr("width"):n.width,a=n.attr?n.attr("height"):n.height,h;(this.hasDragged||f)&&(t(i.axes,function(n){if(n.zoomEnabled){var t=n.horiz,i=n.toValue(t?o:s),t=n.toValue(t?o+c:s+a);!isNaN(i)&&!isNaN(t)&&(e[n.coll].push({axis:n,min:l(i,t),max:u(i,t)}),h=!0)}}),h&&p(i,"selection",e,function(n){i.zoom(r(n,f?{animation:!1}:null))})),this.selectionMarker=this.selectionMarker.destroy(),f&&this.scaleGroups()}i&&(v(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(n){n=this.normalize(n),n.preventDefault&&n.preventDefault(),this.dragStart(n)},onDocumentMouseUp:function(n){ot[fi]&&ot[fi].pointer.drop(n)},onDocumentMouseMove:function(n){var t=this.chart,i=this.chartPosition,r=t.hoverSeries,n=this.normalize(n,i);i&&r&&!this.inClass(n.target,"highcharts-tracker")&&!t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)&&this.reset()},onContainerMouseLeave:function(){var n=ot[fi];n&&(n.pointer.reset(),n.pointer.chartPosition=null)},onContainerMouseMove:function(n){var t=this.chart;fi=t.index,n=this.normalize(n),t.mouseIsDown==="mousedown"&&this.drag(n),(this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop))&&!t.openMenu&&this.runPointActions(n)},inClass:function(n,t){for(var i;n;){if(i=g(n,"class")){if(i.indexOf(t)!==-1)return!0;if(i.indexOf("highcharts-container")!==-1)return!1}n=n.parentNode}},onTrackerMouseOut:function(n){var t=this.chart.hoverSeries,i=(n=n.relatedTarget||n.toElement)&&n.point&&n.point.series;!t||t.options.stickyTracking||this.inClass(n,"highcharts-tooltip")||i===t||t.onMouseOut()},onContainerClick:function(n){var t=this.chart,i=t.hoverPoint,u=t.plotLeft,f=t.plotTop,n=this.normalize(n);n.cancelBubble=!0,t.cancelClick||(i&&this.inClass(n.target,"highcharts-tracker")?(p(i.series,"click",r(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(r(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-u,n.chartY-f)&&p(t,"click",n)))},setDOMEvents:function(){var n=this,t=n.chart.container;t.onmousedown=function(t){n.onContainerMouseDown(t)},t.onmousemove=function(t){n.onContainerMouseMove(t)},t.onclick=function(t){n.onContainerClick(t)},b(t,"mouseleave",n.onContainerMouseLeave),tu===1&&b(o,"mouseup",n.onDocumentMouseUp),nu&&(t.ontouchstart=function(t){n.onContainerTouchStart(t)},t.ontouchmove=function(t){n.onContainerTouchMove(t)},tu===1&&b(o,"touchend",n.onDocumentTouchEnd))},destroy:function(){var n;ht(this.chart.container,"mouseleave",this.onContainerMouseLeave),tu||(ht(o,"mouseup",this.onDocumentMouseUp),ht(o,"touchend",this.onDocumentTouchEnd)),clearInterval(this.tooltipTimeout);for(n in this)this[n]=null}},r(rt.Pointer.prototype,{pinchTranslate:function(n,t,i,r,u,f){(this.zoomHor||this.pinchHor)&&this.pinchTranslateDirection(!0,n,t,i,r,u,f),(this.zoomVert||this.pinchVert)&&this.pinchTranslateDirection(!1,n,t,i,r,u,f)},pinchTranslateDirection:function(n,t,i,r,u,f,e,o){var v=this.chart,c=n?"x":"y",tt=n?"X":"Y",w="chart"+tt,ut=n?"width":"height",nt=v["plot"+(n?"Left":"Top")],l,g,s=o||1,it=v.inverted,k=v.bounds[n?"h":"v"],a=t.length===1,b=t[0][w],h=i[0][w],rt=!a&&t[1][w],p=!a&&i[1][w],d,i=function(){!a&&y(b-rt)>20&&(s=o||y(h-p)/y(b-rt)),g=(nt-h)/s+b,l=v["plot"+(n?"Width":"Height")]/s};i(),t=g,t<k.min?(t=k.min,d=!0):t+l>k.max&&(t=k.max-l,d=!0),d?(h-=.8*(h-e[c][0]),a||(p-=.8*(p-e[c][1])),i()):e[c]=[h,p],it||(f[c]=g-nt,f[ut]=l),f=it?1/s:s,u[ut]=l,u[c]=t,r[it?n?"scaleY":"scaleX":"scale"+tt]=s,r["translate"+tt]=f*nt+(h-f*b)},pinch:function(n){var i=this,e=i.chart,f=i.pinchDown,a=i.followTouchMove,o=n.touches,v=o.length,s=i.lastValidTouch,h=i.hasZoom,c=i.selectionMarker,y={},w=v===1&&(i.inClass(n.target,"highcharts-tracker")&&e.runTrackerClick||e.runChartClick),p={};(h||a)&&!w&&n.preventDefault(),or(o,function(n){return i.normalize(n)}),n.type==="touchstart"?(t(o,function(n,t){f[t]={chartX:n.chartX,chartY:n.chartY}}),s.x=[f[0].chartX,f[1]&&f[1].chartX],s.y=[f[0].chartY,f[1]&&f[1].chartY],t(e.axes,function(n){if(n.zoomEnabled){var i=e.bounds[n.horiz?"h":"v"],r=n.minPixelPadding,t=n.toPixels(n.dataMin),f=n.toPixels(n.dataMax),o=l(t,f),t=u(t,f);i.min=l(n.pos,o-r),i.max=u(n.pos+n.len,t+r)}})):f.length&&(c||(i.selectionMarker=c=r({destroy:hi},e.plotBox)),i.pinchTranslate(f,o,y,c,p,s),i.hasPinched=h,i.scaleGroups(y,p),!h&&a&&v===1&&this.runPointActions(i.normalize(n)))},onContainerTouchStart:function(n){var t=this.chart;fi=t.index,n.touches.length===1?(n=this.normalize(n),t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)?(this.runPointActions(n),this.pinch(n)):this.reset()):n.touches.length===2&&this.pinch(n)},onContainerTouchMove:function(n){(n.touches.length===1||n.touches.length===2)&&this.pinch(n)},onDocumentTouchEnd:function(n){ot[fi]&&ot[fi].pointer.drop(n)}}),d.PointerEvent||d.MSPointerEvent){var oi={},pu=!!d.PointerEvent,gf=function(){var n,t=[];t.item=function(n){return this[n]};for(n in oi)oi.hasOwnProperty(n)&&t.push({pageX:oi[n].pageX,pageY:oi[n].pageY,target:oi[n].target});return t},wu=function(n,t,i,r){n=n.originalEvent||n,(n.pointerType==="touch"||n.pointerType===n.MSPOINTER_TYPE_TOUCH)&&ot[fi]&&(r(n),r=ot[fi].pointer,r[t]({type:i,target:n.currentTarget,preventDefault:hi,touches:gf()}))};r(nr.prototype,{onContainerPointerDown:function(n){wu(n,"onContainerTouchStart","touchstart",function(n){oi[n.pointerId]={pageX:n.pageX,pageY:n.pageY,target:n.currentTarget}})},onContainerPointerMove:function(n){wu(n,"onContainerTouchMove","touchmove",function(n){oi[n.pointerId]={pageX:n.pageX,pageY:n.pageY},oi[n.pointerId].target||(oi[n.pointerId].target=n.currentTarget)})},onDocumentPointerUp:function(n){wu(n,"onContainerTouchEnd","touchend",function(n){delete oi[n.pointerId]})},batchMSEvents:function(n){n(this.chart.container,pu?"pointerdown":"MSPointerDown",this.onContainerPointerDown),n(this.chart.container,pu?"pointermove":"MSPointerMove",this.onContainerPointerMove),n(o,pu?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}}),sr(nr.prototype,"init",function(n,t,i){n.call(this,t,i),(this.hasZoom||this.followTouchMove)&&v(t.container,{"-ms-touch-action":it,"touch-action":it})}),sr(nr.prototype,"setDOMEvents",function(n){n.apply(this),(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(b)}),sr(nr.prototype,"destroy",function(n){this.batchMSEvents(ht),n.call(this)})}br=rt.Legend=function(n,t){this.init(n,t)},br.prototype={init:function(t,i){var r=this,u=i.itemStyle,f=n(i.padding,8),e=i.itemMarginTop||0;this.options=i,i.enabled&&(r.baseline=h(u.fontSize)+3+e,r.itemStyle=u,r.itemHiddenStyle=s(u,i.itemHiddenStyle),r.itemMarginTop=e,r.padding=f,r.initialItemX=f,r.initialItemY=f-5,r.maxItemWidth=0,r.chart=t,r.itemHeight=0,r.lastLineHeight=0,r.symbolWidth=n(i.symbolWidth,16),r.pages=[],r.render(),b(r.chart,"endResize",function(){r.positionCheckboxes()}))},colorizeItem:function(n,t){var u=this.options,r=n.legendItem,c=n.legendLine,e=n.legendSymbol,i=this.itemHiddenStyle.color,u=t?u.itemStyle.color:i,o=t?n.legendColor||n.color||"#CCC":i,i=n.options&&n.options.marker,s={fill:o},h;if(r&&r.css({fill:u,color:u}),c&&c.attr({stroke:o}),e){if(i&&e.isMarker)for(h in s.stroke=o,i=n.convertAttribs(i),i)r=i[h],r!==f&&(s[h]=r);e.attr(s)}},positionItem:function(n){var i=this.options,f=i.symbolPadding,i=!i.rtl,t=n._legendItemPos,r=t[0],t=t[1],u=n.checkbox;n.legendGroup&&n.legendGroup.translate(i?r:this.legendWidth-r-2*f-4,t),u&&(u.x=r,u.y=t)},destroyItem:function(n){var i=n.checkbox;t(["legendItem","legendLine","legendSymbol","legendGroup"],function(t){n[t]&&(n[t]=n[t].destroy())}),i&&yr(n.checkbox)},destroy:function(){var n=this.group,t=this.box;t&&(this.box=t.destroy()),n&&(this.group=n.destroy())},positionCheckboxes:function(n){var r=this.group.alignAttr,i,u=this.clipHeight||this.legendHeight;r&&(i=r.translateY,t(this.allItems,function(t){var f=t.checkbox,e;f&&(e=i+f.y+(n||0)+3,v(f,{left:r.translateX+t.checkboxOffset+f.x-20+"px",top:e+"px",display:e>i-6&&e<i+u-6?"":it}))}))},renderTitle:function(){var n=this.padding,t=this.options.title,i=0;t.text&&(this.title||(this.title=this.chart.renderer.label(t.text,n-3,n-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(t.style).add(this.group)),n=this.title.getBBox(),i=n.height,this.offsetWidth=n.width,this.contentGroup.attr({translateY:i})),this.titleHeight=i},renderItem:function(t){var nt=this.chart,o=nt.renderer,i=this.options,h=i.layout==="horizontal",r=this.symbolWidth,f=i.symbolPadding,g=this.itemStyle,d=this.itemHiddenStyle,w=this.padding,k=h?n(i.itemDistance,20):0,b=!i.rtl,tt=i.width,y=i.itemMarginBottom||0,v=this.itemMarginTop,l=this.initialItemX,c=t.legendItem,p=t.series&&t.series.drawLegendSymbol?t.series:t,a=p.options,a=this.createCheckboxForItem&&a&&a.showCheckbox,it=i.useHTML;c||(t.legendGroup=o.g("legend-item").attr({zIndex:1}).add(this.scrollGroup),p.drawLegendSymbol(this,t),t.legendItem=c=o.text(i.labelFormat?ir(i.labelFormat,t):i.labelFormatter.call(t),b?r+f:-f,this.baseline,it).css(s(t.visible?g:d)).attr({align:b?"left":"right",zIndex:2}).add(t.legendGroup),this.setItemEvents&&this.setItemEvents(t,c,it,g,d),this.colorizeItem(t,t.visible),a&&this.createCheckboxForItem(t)),o=c.getBBox(),r=t.checkboxOffset=i.itemWidth||t.legendItemWidth||r+f+o.width+k+(a?20:0),this.itemHeight=f=e(t.legendItemHeight||o.height),h&&this.itemX-l+r>(tt||nt.chartWidth-2*w-l-i.x)&&(this.itemX=l,this.itemY+=v+this.lastLineHeight+y,this.lastLineHeight=0),this.maxItemWidth=u(this.maxItemWidth,r),this.lastItemY=v+this.itemY+y,this.lastLineHeight=u(f,this.lastLineHeight),t._legendItemPos=[this.itemX,this.itemY],h?this.itemX+=r:(this.itemY+=v+f+y,this.lastLineHeight=f),this.offsetWidth=tt||u((h?this.itemX-l-k:r)+w,this.offsetWidth)},getAllItems:function(){var r=[];return t(this.chart.series,function(t){var u=t.options;n(u.showInLegend,i(u.linkedTo)?!1:f,!0)&&(r=r.concat(t.legendItems||(u.legendType==="point"?t.data:t)))}),r},render:function(){var n=this,a=n.chart,h=a.renderer,s=n.group,e,c,o,i,u=n.box,f=n.options,v=n.padding,l=f.borderWidth,y=f.backgroundColor;n.itemX=n.initialItemX,n.itemY=n.initialItemY,n.offsetWidth=0,n.lastItemY=0,s||(n.group=s=h.g("legend").attr({zIndex:7}).add(),n.contentGroup=h.g().attr({zIndex:1}).add(s),n.scrollGroup=h.g().add(n.contentGroup)),n.renderTitle(),e=n.getAllItems(),vu(e,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)}),f.reversed&&e.reverse(),n.allItems=e,n.display=c=!!e.length,t(e,function(t){n.renderItem(t)}),o=f.width||n.offsetWidth,i=n.lastItemY+n.lastLineHeight+n.titleHeight,i=n.handleOverflow(i),(l||y)&&(o+=v,i+=v,u?o>0&&i>0&&(u[u.isNew?"attr":"animate"](u.crisp({width:o,height:i})),u.isNew=!1):(n.box=u=h.rect(0,0,o,i,f.borderRadius,l||0).attr({stroke:f.borderColor,"stroke-width":l||0,fill:y||it}).add(s).shadow(f.shadow),u.isNew=!0),u[c?"show":"hide"]()),n.legendWidth=o,n.legendHeight=i,t(e,function(t){n.positionItem(t)}),c&&s.align(r({width:o,height:i},f),!0,"spacingBox"),a.isResizing||this.positionCheckboxes()},handleOverflow:function(i){var s=this,p=this.chart,h=p.renderer,o=this.options,r=o.y,r=p.spacingBox.height+(o.verticalAlign==="top"?-r:r)-this.padding,b=o.maxHeight,a,c=this.clipRect,w=o.navigation,k=n(w.animation,!0),v=w.arrowSize||12,u=this.nav,f=this.pages,y,d=this.allItems;return o.layout==="horizontal"&&(r/=2),b&&(r=l(r,b)),f.length=0,i>r&&!o.useHTML?(this.clipHeight=a=r-20-this.titleHeight-this.padding,this.currentPage=n(this.currentPage,1),this.fullHeight=i,t(d,function(n,t){var i=n._legendItemPos[1],u=e(n.legendItem.getBBox().height),r=f.length;(!r||i-f[r-1]>a&&(y||i)!==f[r-1])&&(f.push(y||i),r++),t===d.length-1&&i+u-f[r-1]>a&&f.push(i),i!==y&&(y=i)}),c||(c=s.clipRect=h.clipRect(0,this.padding,9999,0),s.contentGroup.clip(c)),c.attr({height:a}),u||(this.nav=u=h.g().attr({zIndex:1}).add(this.group),this.up=h.symbol("triangle",0,0,v,v).on("click",function(){s.scroll(-1,k)}).add(u),this.pager=h.text("",15,10).css(w.style).add(u),this.down=h.symbol("triangle-down",0,0,v,v).on("click",function(){s.scroll(1,k)}).add(u)),s.scroll(0),i=r):u&&(c.attr({height:p.chartHeight}),u.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),i},scroll:function(n,t){var r=this.pages,u=r.length,i=this.currentPage+n,s=this.clipHeight,e=this.options.navigation,o=e.activeColor,e=e.inactiveColor,h=this.pager,c=this.padding;i>u&&(i=u),i>0&&(t!==f&&pr(t,this.chart),this.nav.attr({translateX:c,translateY:s+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:i===1?e:o}).css({cursor:i===1?"default":"pointer"}),h.attr({text:i+"/"+u}),this.down.attr({x:18+this.pager.getBBox().width,fill:i===u?e:o}).css({cursor:i===u?"default":"pointer"}),r=-r[i-1]+this.initialItemY,this.scrollGroup.animate({translateY:r}),this.currentPage=i,this.positionCheckboxes(r))}},k=rt.LegendSymbolMixin={drawRectangle:function(n,t){var i=n.options.symbolHeight||12;t.legendSymbol=this.chart.renderer.rect(0,n.baseline-5-i/2,n.symbolWidth,i,n.options.symbolRadius||0).attr({zIndex:3}).add(t.legendGroup)},drawLineMarker:function(n){var t=this.options,r=t.marker,i;i=n.symbolWidth;var u=this.chart.renderer,o=this.legendGroup,n=n.baseline-e(u.fontMetrics(n.options.itemStyle.fontSize).b*.3),f;t.lineWidth&&(f={"stroke-width":t.lineWidth},t.dashStyle&&(f.dashstyle=t.dashStyle),this.legendLine=u.path(["M",0,n,"L",i,n]).attr(f).add(o)),r&&r.enabled!==!1&&(t=r.radius,this.legendSymbol=i=u.symbol(this.symbol,i/2-t,n-t,2*t,2*t).add(o),i.isMarker=!0)}},(/Trident\/7\.0/.test(yi)||ar)&&sr(br.prototype,"positionItem",function(n,t){var r=this,i=function(){t._legendItemPos&&n.call(r,t)};i(),setTimeout(i)}),dr.prototype={init:function(t,i){var f,u=t.series,e,r,o;if(t.series=null,f=s(nt,t),f.series=t.series=u,this.userOptions=t,u=f.chart,this.margin=this.splashArray("margin",u),this.spacing=this.splashArray("spacing",u),e=u.events,this.bounds={h:{},v:{}},this.callback=i,this.isResizing=0,this.options=f,this.axes=[],this.series=[],this.hasCartesianSeries=u.showAxes,r=this,r.index=ot.length,ot.push(r),tu++,u.reflow!==!1&&b(r,"load",function(){r.initReflow()}),e)for(o in e)b(r,o,e[o]);r.xAxis=[],r.yAxis=[],r.animation=wt?!1:n(u.animation,!0),r.pointCount=0,r.counters=new yf,r.firstRender()},initSeries:function(n){var t=this.options.chart;return(t=w[n.type||t.type||t.defaultSeriesType])||si(17,!0),t=new t,t.init(this,n),t},isInsidePlot:function(n,t,i){var r=i?t:n,n=i?n:t;return r>=0&&r<=this.plotWidth&&n>=0&&n<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&t(this.axes,function(n){n.adjustTickAmount()}),this.maxTicks=null},redraw:function(n){var f=this.axes,i=this.series,s=this.pointer,h=this.legend,c=this.isDirtyLegend,e,l,o=this.isDirtyBox,a=i.length,u=a,v=this.renderer,y=v.isHidden(),w=[];for(pr(n,this),y&&this.cloneRenderTo(),this.layOutTitles();u--;)if(n=i[u],n.options.stacking&&(e=!0,n.isDirty)){l=!0;break}if(l)for(u=a;u--;)(n=i[u],n.options.stacking)&&(n.isDirty=!0);t(i,function(n){n.isDirty&&n.options.legendType==="point"&&(c=!0)}),c&&h.options.enabled&&(h.render(),this.isDirtyLegend=!1),e&&this.getStacks(),this.hasCartesianSeries&&(this.isResizing||(this.maxTicks=null,t(f,function(n){n.setScale()})),this.adjustTickAmounts(),this.getMargins(),t(f,function(n){n.isDirty&&(o=!0)}),t(f,function(n){n.isDirtyExtremes&&(n.isDirtyExtremes=!1,w.push(function(){p(n,"afterSetExtremes",r(n.eventArgs,n.getExtremes())),delete n.eventArgs})),(o||e)&&n.redraw()})),o&&this.drawChartBox(),t(i,function(n){n.isDirty&&n.visible&&(!n.isCartesian||n.xAxis)&&n.redraw()}),s&&s.reset(!0),v.draw(),p(this,"redraw"),y&&this.cloneRenderTo(!0),t(w,function(n){n.call()})},get:function(n){for(var i=this.axes,r=this.series,u,t=0;t<i.length;t++)if(i[t].options.id===n)return i[t];for(t=0;t<r.length;t++)if(r[t].options.id===n)return r[t];for(t=0;t<r.length;t++)for(u=r[t].points||[],i=0;i<u.length;i++)if(u[i].id===n)return u[i];return null},getAxes:function(){var r=this,n=this.options,i=n.xAxis=ci(n.xAxis||{}),n=n.yAxis=ci(n.yAxis||{});t(i,function(n,t){n.index=t,n.isX=!0}),t(n,function(n,t){n.index=t}),i=i.concat(n),t(i,function(n){new gt(r,n)}),r.adjustTickAmounts()},getSelectedPoints:function(){var n=[];return t(this.series,function(t){n=n.concat(gu(t.points||[],function(n){return n.selected}))}),n},getSelectedSeries:function(){return gu(this.series,function(n){return n.selected})},getStacks:function(){var i=this;t(i.yAxis,function(n){n.stacks&&n.hasVisibleSeries&&(n.oldStacks=n.stacks)}),t(i.series,function(t){t.options.stacking&&(t.visible===!0||i.options.chart.ignoreHiddenSeries===!1)&&(t.stackKey=t.type+n(t.options.stack,""))})},setTitle:function(n,i,r){var e,u=this,f=u.options,o;o=f.title=s(f.title,n),e=f.subtitle=s(f.subtitle,i),f=e,t([["title",n,o],["subtitle",i,f]],function(n){var t=n[0],i=u[t],r=n[1],n=n[2];i&&r&&(u[t]=i=i.destroy()),n&&n.text&&!i&&(u[t]=u.renderer.text(n.text,0,0,n.useHTML).attr({align:n.align,"class":"highcharts-"+t,zIndex:n.zIndex||4}).css(n.style).add())}),u.layOutTitles(r)},layOutTitles:function(t){var i=0,u=this.title,o=this.subtitle,f=this.options,e=f.title,f=f.subtitle,s=this.spacingBox.width-44;!u||(u.css({width:(e.width||s)+"px"}).align(r({y:15},e),!1,"spacingBox"),e.floating||e.verticalAlign)||(i=u.getBBox().height),o&&(o.css({width:(f.width||s)+"px"}).align(r({y:i+e.margin},f),!1,"spacingBox"),!f.floating&&!f.verticalAlign&&(i=ur(i+o.getBBox().height))),u=this.titleOffset!==i,this.titleOffset=i,!this.isDirtyBox&&u&&(this.isDirtyBox=u,this.hasRendered&&n(t,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var t=this.options.chart,r=t.width,t=t.height,f=this.renderToClone||this.renderTo;i(r)||(this.containerWidth=cu(f,"width")),i(t)||(this.containerHeight=cu(f,"height")),this.chartWidth=u(0,r||this.containerWidth||600),this.chartHeight=u(0,n(t,this.containerHeight>19?this.containerHeight:400))},cloneRenderTo:function(n){var t=this.renderToClone,i=this.container;n?t&&(this.renderTo.appendChild(i),yr(t),delete this.renderToClone):(i&&i.parentNode===this.renderTo&&this.renderTo.removeChild(i),this.renderToClone=t=this.renderTo.cloneNode(0),v(t,{position:"absolute",top:"-9999px",display:"block"}),t.style.setProperty&&t.style.setProperty("display","block","important"),o.body.appendChild(t),i&&t.appendChild(i))},getContainer:function(){var n,i=this.options.chart,t,u,f;this.renderTo=n=i.renderTo,f="highcharts-"+bu++,er(n)&&(this.renderTo=n=o.getElementById(n)),n||si(13,!0),t=h(g(n,"data-highcharts-chart")),!isNaN(t)&&ot[t]&&ot[t].hasRendered&&ot[t].destroy(),g(n,"data-highcharts-chart",this.index),n.innerHTML="",!i.skipClone&&!n.offsetWidth&&this.cloneRenderTo(),this.getChartSize(),t=this.chartWidth,u=this.chartHeight,this.container=n=ct(tr,{className:"highcharts-container"+(i.className?" "+i.className:""),id:f},r({position:"relative",overflow:"hidden",width:t+"px",height:u+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},i.style),this.renderToClone||n),this._cursor=n.style.cursor,this.renderer=i.forExport?new ii(n,t,u,i.style,!0):new iu(n,t,u,i.style),wt&&this.renderer.create(this,n,t,u)},getMargins:function(){var e=this.spacing,o,s=this.legend,r=this.margin,f=this.options.legend,h=n(f.margin,20),c=f.x,l=f.y,a=f.align,v=f.verticalAlign,y=this.titleOffset;this.resetMargins(),o=this.axisOffset,y&&!i(r[0])&&(this.plotTop=u(this.plotTop,y+this.options.title.margin+e[0])),s.display&&!f.floating&&(a==="right"?i(r[1])||(this.marginRight=u(this.marginRight,s.legendWidth-c+h+e[1])):a==="left"?i(r[3])||(this.plotLeft=u(this.plotLeft,s.legendWidth+c+h+e[3])):v==="top"?i(r[0])||(this.plotTop=u(this.plotTop,s.legendHeight+l+h+e[0])):v!=="bottom"||i(r[2])||(this.marginBottom=u(this.marginBottom,s.legendHeight-l+h+e[2]))),this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin),this.extraTopMargin&&(this.plotTop+=this.extraTopMargin),this.hasCartesianSeries&&t(this.axes,function(n){n.getOffset()}),i(r[3])||(this.plotLeft+=o[3]),i(r[0])||(this.plotTop+=o[0]),i(r[2])||(this.marginBottom+=o[2]),i(r[1])||(this.marginRight+=o[1]),this.setChartSize()},reflow:function(n){var t=this,i=t.options.chart,r=t.renderTo,u=i.width||cu(r,"width"),f=i.height||cu(r,"height"),i=n?n.target:d,r=function(){t.container&&(t.setSize(u,f,!1),t.hasUserSize=null)};!t.hasUserSize&&u&&f&&(i===d||i===o)&&((u!==t.containerWidth||f!==t.containerHeight)&&(clearTimeout(t.reflowTimeout),n?t.reflowTimeout=setTimeout(r,100):r()),t.containerWidth=u,t.containerHeight=f)},initReflow:function(){var n=this,t=function(t){n.reflow(t)};b(d,"resize",t),b(n,"destroy",function(){ht(d,"resize",t)})},setSize:function(n,r,f){var o=this,s,h,c;o.isResizing+=1,c=function(){o&&p(o,"endResize",null,function(){o.isResizing-=1})},pr(f,o),o.oldChartHeight=o.chartHeight,o.oldChartWidth=o.chartWidth,i(n)&&(o.chartWidth=s=u(0,e(n)),o.hasUserSize=!!s),i(r)&&(o.chartHeight=h=u(0,e(r))),(vi?ou:v)(o.container,{width:s+"px",height:h+"px"},vi),o.setChartSize(!0),o.renderer.setSize(s,h,f),o.maxTicks=null,t(o.axes,function(n){n.isDirty=!0,n.setScale()}),t(o.series,function(n){n.isDirty=!0}),o.isDirtyLegend=!0,o.isDirtyBox=!0,o.layOutTitles(),o.getMargins(),o.redraw(f),o.oldChartHeight=null,p(o,"resize"),vi===!1?c():setTimeout(c,vi&&vi.duration||500)},setChartSize:function(n){var f=this.inverted,o=this.renderer,i=this.chartWidth,v=this.chartHeight,y=this.options.chart,r=this.spacing,s=this.clipOffset,l,a,h,c;this.plotLeft=l=e(this.plotLeft),this.plotTop=a=e(this.plotTop),this.plotWidth=h=u(0,e(i-l-this.marginRight)),this.plotHeight=c=u(0,e(v-a-this.marginBottom)),this.plotSizeX=f?c:h,this.plotSizeY=f?h:c,this.plotBorderWidth=y.plotBorderWidth||0,this.spacingBox=o.spacingBox={x:r[3],y:r[0],width:i-r[3]-r[1],height:v-r[0]-r[2]},this.plotBox=o.plotBox={x:l,y:a,width:h,height:c},i=2*ft(this.plotBorderWidth/2),f=ur(u(i,s[3])/2),o=ur(u(i,s[0])/2),this.clipBox={x:f,y:o,width:ft(this.plotSizeX-u(i,s[1])/2-f),height:ft(this.plotSizeY-u(i,s[2])/2-o)},n||t(this.axes,function(n){n.setAxisSize(),n.setAxisTranslation()})},resetMargins:function(){var t=this.spacing,i=this.margin;this.plotTop=n(i[0],t[0]),this.marginRight=n(i[1],t[1]),this.marginBottom=n(i[2],t[2]),this.plotLeft=n(i[3],t[3]),this.axisOffset=[0,0,0,0],this.clipOffset=[0,0,0,0]},drawChartBox:function(){var n=this.options.chart,r=this.renderer,b=this.chartWidth,w=this.chartHeight,t=this.chartBackground,p=this.plotBackground,l=this.plotBorder,y=this.plotBGImage,u=n.borderWidth||0,v=n.backgroundColor,g=n.plotBackgroundColor,a=n.plotBackgroundImage,h=n.plotBorderWidth||0,i,s=this.plotLeft,o=this.plotTop,e=this.plotWidth,f=this.plotHeight,k=this.plotBox,d=this.clipRect,c=this.clipBox;i=u+(n.shadow?8:0),(u||v)&&(t?t.animate(t.crisp({width:b-i,height:w-i})):(t={fill:v||it},u&&(t.stroke=n.borderColor,t["stroke-width"]=u),this.chartBackground=r.rect(i/2,i/2,b-i,w-i,n.borderRadius,u).attr(t).addClass("highcharts-background").add().shadow(n.shadow))),g&&(p?p.animate(k):this.plotBackground=r.rect(s,o,e,f,0).attr({fill:g}).add().shadow(n.plotShadow)),a&&(y?y.animate(k):this.plotBGImage=r.image(a,s,o,e,f).add()),d?d.animate({width:c.width,height:c.height}):this.clipRect=r.clipRect(c),h&&(l?l.animate(l.crisp({x:s,y:o,width:e,height:f})):this.plotBorder=r.rect(s,o,e,f,0,-h).attr({stroke:n.plotBorderColor,"stroke-width":h,fill:it,zIndex:1}).add()),this.isDirtyBox=!1},propFromSeries:function(){var i=this,u=i.options.chart,n,f=i.options.series,e,r;t(["inverted","angular","polar"],function(t){for(n=w[u.type||u.defaultSeriesType],r=i[t]||u[t]||n&&n.prototype[t],e=f&&f.length;!r&&e--;)(n=w[f[e].type])&&n.prototype[t]&&(r=!0);i[t]=r})},linkSeries:function(){var n=this,i=n.series;t(i,function(n){n.linkedSeries.length=0}),t(i,function(t){var i=t.options.linkedTo;er(i)&&(i=i===":previous"?n.series[t.index-1]:n.get(i))&&(i.linkedSeries.push(t),t.linkedParent=i)})},renderSeries:function(){t(this.series,function(n){n.translate(),n.setTooltipPoints&&n.setTooltipPoints(),n.render()})},render:function(){var n=this,u=n.axes,f=n.renderer,e=n.options,o=e.labels,i=e.credits,s;n.setTitle(),n.legend=new br(n,e.legend),n.getStacks(),t(u,function(n){n.setScale()}),n.getMargins(),n.maxTicks=null,t(u,function(n){n.setTickPositions(!0),n.setMaxTicks()}),n.adjustTickAmounts(),n.getMargins(),n.drawChartBox(),n.hasCartesianSeries&&t(u,function(n){n.render()}),n.seriesGroup||(n.seriesGroup=f.g("series-group").attr({zIndex:3}).add()),n.renderSeries(),o.items&&t(o.items,function(t){var i=r(o.style,t.style),u=h(i.left)+n.plotLeft,e=h(i.top)+n.plotTop+12;delete i.left,delete i.top,f.text(t.html,u,e).attr({zIndex:2}).css(i).add()}),i.enabled&&!n.credits&&(s=i.href,n.credits=f.text(i.text,0,0).on("click",function(){s&&(location.href=s)}).attr({align:i.position.align,zIndex:8}).css(i.style).add().align(i.position)),n.hasRendered=!0},destroy:function(){var n=this,u=n.axes,e=n.series,r=n.container,i,o=r&&r.parentNode;for(p(n,"destroy"),ot[n.index]=f,tu--,n.renderTo.removeAttribute("data-highcharts-chart"),ht(n),i=u.length;i--;)u[i]=u[i].destroy();for(i=e.length;i--;)e[i]=e[i].destroy();t("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(t){var i=n[t];i&&i.destroy&&(n[t]=i.destroy())}),r&&(r.innerHTML="",ht(r),o&&yr(r));for(i in n)delete n[i]},isReadyToRender:function(){var n=this;return!vt&&d==d.top&&o.readyState!=="complete"||wt&&!d.canvg?(wt?vf.push(function(){n.firstRender()},n.options.global.canvasToolsURL):o.attachEvent("onreadystatechange",function(){o.detachEvent("onreadystatechange",n.firstRender),o.readyState==="complete"&&n.firstRender()}),!1):!0},firstRender:function(){var n=this,i=n.options,r=n.callback;n.isReadyToRender()&&(n.getContainer(),p(n,"init"),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),t(i.series||[],function(t){n.initSeries(t)}),n.linkSeries(),p(n,"beforeRender"),rt.Pointer&&(n.pointer=new nr(n,i)),n.render(),n.renderer.draw(),r&&r.apply(n,[n]),t(n.callbacks,function(t){t.apply(n,[n])}),n.cloneRenderTo(!0),p(n,"load"))},splashArray:function(t,i){var r=i[t],r=yt(r)?r:[r,r,r,r];return[n(i[t+"Top"],r[0]),n(i[t+"Right"],r[1]),n(i[t+"Bottom"],r[2]),n(i[t+"Left"],r[3])]}},dr.prototype.callbacks=[],st=rt.CenteredSeriesMixin={getCenter:function(){var t=this.options,i=this.chart,r=2*(t.slicedOffset||0),f,e=i.plotWidth-2*r,o=i.plotHeight-2*r,i=t.center,t=[n(i[0],"50%"),n(i[1],"50%"),t.size||"100%",t.innerSize||0],s=l(e,o),u;return or(t,function(n,t){return u=/%$/.test(n),f=t<2||t===2&&u,(u?[e,o,s,s][t]*h(n)/100:n)+(f?r:0)})}},pi=function(){},pi.prototype={init:function(n,t,i){return this.series=n,this.applyOptions(t,i),this.pointAttr={},n.options.colorByPoint&&(t=n.options.colors||n.chart.options.colors,this.color=this.color||t[n.colorCounter++],n.colorCounter===t.length)&&(n.colorCounter=0),n.chart.pointCount++,this},applyOptions:function(n,t){var i=this.series,u=i.pointValKey,n=pi.prototype.optionsToObject.call(this,n);return r(this,n),this.options=this.options?r(this.options,n):n,u&&(this.y=this[u]),this.x===f&&i&&(this.x=t===f?i.autoIncrement():t),this},optionsToObject:function(n){var t={},i=this.series,r=i.pointArrayMap||["y"],u=r.length,f=0,e=0;if(typeof n=="number"||n===null)t[r[0]]=n;else if(hr(n))for(n.length>u&&(i=typeof n[0],i==="string"?t.name=n[0]:i==="number"&&(t.x=n[0]),f++);e<u;)t[r[e++]]=n[f++];else typeof n=="object"&&(t=n,n.dataLabels&&(i._hasPointLabels=!0),n.marker&&(i._hasPointMarkers=!0));return t},destroy:function(){var n=this.series.chart,t=n.hoverPoints,i;n.pointCount--,t&&(this.setState(),ni(t,this),!t.length)&&(n.hoverPoints=null),this===n.hoverPoint&&this.onMouseOut(),(this.graphic||this.dataLabel)&&(ht(this),this.destroyElements()),this.legendItem&&n.legend.destroyItem(this);for(i in this)this[i]=null},destroyElements:function(){for(var i="graphic,dataLabel,dataLabelUpper,group,connector,shadowGroup".split(","),n,t=6;t--;)n=i[t],this[n]&&(this[n]=this[n].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(i){var u=this.series,r=u.tooltipOptions,o=n(r.valueDecimals,""),f=r.valuePrefix||"",e=r.valueSuffix||"";return t(u.pointArrayMap||["y"],function(n){n="{point."+n,(f||e)&&(i=i.replace(n+"}",f+n+"}"+e)),i=i.replace(n+"}",n+":,."+o+"f}")}),ir(i,{point:this,series:this.series})},firePointEvent:function(n,t,i){var r=this,u=this.series.options;(u.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&this.importEvents(),n==="click"&&u.allowPointSelect&&(i=function(n){r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)}),p(this,n,t,i)}},a=function(){},a.prototype={isCartesian:!0,type:"line",pointClass:pi,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],init:function(i,u){var f=this,s,e,o=i.series,h=function(t,i){return n(t.options.index,t._i)-n(i.options.index,i._i)};f.chart=i,f.options=u=f.setOptions(u),f.linkedSeries=[],f.bindAxes(),r(f,{name:u.name,state:"",pointAttr:{},visible:u.visible!==!1,selected:u.selected===!0}),wt&&(u.animation=!1),e=u.events;for(s in e)b(f,s,e[s]);(e&&e.click||u.point&&u.point.events&&u.point.events.click||u.allowPointSelect)&&(i.runTrackerClick=!0),f.getColor(),f.getSymbol(),t(f.parallelArrays,function(n){f[n+"Data"]=[]}),f.setData(u.data,!1),f.isCartesian&&(i.hasCartesianSeries=!0),o.push(f),f._i=o.length-1,vu(o,h),this.yAxis&&vu(this.yAxis.series,h),t(o,function(n,t){n.index=t,n.name=n.name||"Series "+(t+1)})},bindAxes:function(){var n=this,i=n.options,u=n.chart,r;t(n.axisTypes||[],function(e){t(u[e],function(t){r=t.options,(i[e]===r.index||i[e]!==f&&i[e]===r.id||i[e]===f&&r.index===0)&&(t.series.push(n),n[e]=t,t.isDirty=!0)}),!n[e]&&n.optionalAxis!==e&&si(18,!0)})},updateParallelArrays:function(n,i){var r=n.series,u=arguments;t(r.parallelArrays,typeof i=="number"?function(t){var u=t==="y"&&r.toYData?r.toYData(n):n[t];r[t+"Data"][i]=u}:function(n){Array.prototype[i].apply(r[n+"Data"],Array.prototype.slice.call(u,2))})},autoIncrement:function(){var i=this.options,t=this.xIncrement,t=n(t,i.pointStart,0);return this.pointInterval=n(this.pointInterval,i.pointInterval,1),this.xIncrement=t+this.pointInterval,t},getSegments:function(){var i=-1,r=[],u,n=this.points,f=n.length;if(f)if(this.options.connectNulls){for(u=f;u--;)n[u].y===null&&n.splice(u,1);n.length&&(r=[n])}else t(n,function(t,u){t.y===null?(u>i+1&&r.push(n.slice(i+1,u)),i=u):u===f-1&&r.push(n.slice(i+1,u+1))});this.segments=r},setOptions:function(n){var i=this.chart,t=i.options.plotOptions,i=i.userOptions||{},r=i.plotOptions||{},u=t[this.type];return this.userOptions=n,t=s(u,t.series,n),this.tooltipOptions=s(nt.tooltip,nt.plotOptions[this.type].tooltip,i.tooltip,r.series&&r.series.tooltip,r[this.type]&&r[this.type].tooltip,n.tooltip),u.marker===null&&delete t.marker,t},getColor:function(){var n=this.options,r=this.userOptions,f=this.chart.options.colors,u=this.chart.counters,t;t=n.color||lt[this.type].color,t||n.colorByPoint||(i(r._colorIndex)?n=r._colorIndex:(r._colorIndex=u.color,n=u.color++),t=f[n]),this.color=t,u.wrapColor(f.length)},getSymbol:function(){var n=this.userOptions,r=this.options.marker,t=this.chart,u=t.options.symbols,t=t.counters;this.symbol=r.symbol,this.symbol||(i(n._symbolIndex)?n=n._symbolIndex:(n._symbolIndex=t.symbol,n=t.symbol++),this.symbol=u[n]),/^url/.test(this.symbol)&&(r.radius=0),t.wrapSymbol(u.length)},drawLegendSymbol:k.drawLineMarker,setData:function(i,r,u,e){var o=this,a=o.points,w=a&&a.length||0,h,s=o.options,b=o.chart,y=null,c=o.xAxis,l=c&&!!c.categories,k=o.tooltipPoints,d=s.turboThreshold,p=this.xData,v=this.yData,g=(h=o.pointArrayMap)&&h.length,i=i||[];if(h=i.length,r=n(r,!0),e===!1||!h||w!==h||o.cropped||o.hasGroupedData){if(o.xIncrement=null,o.pointRange=l?1:s.pointRange,o.colorCounter=0,t(this.parallelArrays,function(n){o[n+"Data"].length=0}),d&&h>d){for(u=0;y===null&&u<h;)y=i[u],u++;if(ti(y)){for(l=n(s.pointStart,0),s=n(s.pointInterval,1),u=0;u<h;u++)p[u]=l,v[u]=i[u],l+=s;o.xIncrement=l}else if(hr(y))if(g)for(u=0;u<h;u++)s=i[u],p[u]=s[0],v[u]=s.slice(1,g+1);else for(u=0;u<h;u++)s=i[u],p[u]=s[0],v[u]=s[1];else si(12)}else for(u=0;u<h;u++)i[u]!==f&&(s={series:o},o.pointClass.prototype.applyOptions.apply(s,[i[u]]),o.updateParallelArrays(s,u),l&&s.name)&&(c.names[s.x]=s.name);for(er(v[0])&&si(14,!0),o.data=[],o.options.data=i,u=w;u--;)a[u]&&a[u].destroy&&a[u].destroy();k&&(k.length=0),c&&(c.minRange=c.userMinRange),o.isDirty=o.isDirtyData=b.isDirtyBox=!0,u=!1}else t(i,function(n,t){a[t].update(n,!1)});r&&b.redraw(u)},processData:function(n){var t=this.xData,s=this.yData,i=t.length,r;r=0;var h,u,c=this.xAxis,a=this.options,v=a.cropThreshold,l=0,y=this.isCartesian,e,o;if(y&&!this.isDirty&&!c.isDirty&&!this.yAxis.isDirty&&!n)return!1;for(y&&this.sorted&&(!v||i>v||this.forceCrop)&&((e=c.min,o=c.max,t[i-1]<e||t[0]>o)?(t=[],s=[]):(t[0]<e||t[i-1]>o)&&(r=this.cropData(this.xData,this.yData,e,o),t=r.xData,s=r.yData,r=r.start,h=!0,l=t.length)),i=t.length-1;i>=0;i--)n=t[i]-t[i-1],!h&&t[i]>e&&t[i]<o&&l++,n>0&&(u===f||n<u)?u=n:n<0&&this.requireSorting&&si(15);this.cropped=h,this.cropStart=r,this.processedXData=t,this.processedYData=s,this.activePointCount=l,a.pointRange===null&&(this.pointRange=u||1),this.closestPointRange=u},cropData:function(t,i,r,f){for(var h=t.length,o=0,s=h,c=n(this.cropShoulder,1),e=0;e<h;e++)if(t[e]>=r){o=u(0,e-c);break}for(;e<h;e++)if(t[e]>f){s=e+c;break}return{xData:t.slice(o,s),yData:i.slice(o,s),start:o,end:s}},generatePoints:function(){var u=this.options.data,t=this.data,c,e=this.processedXData,v=this.processedYData,l=this.pointClass,o=e.length,a=this.cropStart||0,i,r=this.hasGroupedData,s,h=[],n;for(t||r||(t=[],t.length=u.length,t=this.data=t),n=0;n<o;n++)i=a+n,r?h[n]=(new l).init(this,[e[n]].concat(ci(v[n]))):(t[i]?s=t[i]:u[i]!==f&&(t[i]=s=(new l).init(this,u[i],e[n])),h[n]=s);if(t&&(o!==(c=t.length)||r))for(n=0;n<c;n++)(n===a&&!r&&(n+=o),t[n])&&(t[n].destroyElements(),t[n].plotX=f);this.data=t,this.points=h},getExtremes:function(t){var l=this.yAxis,h=this.processedXData,e,s=[],c=0;e=this.xAxis.getExtremes();var a=e.min,v=e.max,u,o,i,r,t=t||this.stackedYData||this.processedYData;for(e=t.length,r=0;r<e;r++)if(o=h[r],i=t[r],u=i!==null&&i!==f&&(!l.isLog||i.length||i>0),o=this.getExtremesFromAll||this.cropped||(h[r+1]||o)>=a&&(h[r-1]||o)<=v,u&&o)if(u=i.length)for(;u--;)i[u]!==null&&(s[c++]=i[u]);else s[c++]=i;this.dataMin=n(void 0,cr(s)),this.dataMax=n(void 0,bi(s))},translate:function(){this.processedXData||this.processData(),this.generatePoints();for(var e=this.options,y=e.stacking,c=this.xAxis,l=c.categories,s=this.yAxis,p=this.points,w=p.length,b=!!this.modifyValue,a=e.pointPlacement,k=a==="between"||ti(a),v=e.threshold,e=0;e<w;e++){var t=p[e],h=t.x,r=t.y,o=t.low,u=y&&s.stacks[(this.negStacks&&r<v?"-":"")+this.stackKey];s.isLog&&r<=0&&(t.y=r=null),t.plotX=c.translate(h,0,0,0,1,a,this.type==="flags"),y&&this.visible&&u&&u[h]&&(u=u[h],r=u.points[this.index+","+e],o=r[0],r=r[1],o===0&&(o=n(v,s.min)),s.isLog&&o<=0&&(o=null),t.total=t.stackTotal=u.total,t.percentage=u.total&&t.y/u.total*100,t.stackY=r,u.setOffset(this.pointXOffset||0,this.barW||0)),t.yBottom=i(o)?s.translate(o,0,1,0,1):null,b&&(r=this.modifyValue(r,t)),t.plotY=typeof r=="number"&&r!==Infinity?s.translate(r,0,1,0,1):f,t.clientX=k?c.translate(h,0,0,0,1):t.plotX,t.negative=t.y<(v||0),t.category=l&&l[t.x]!==f?l[t.x]:t.x}this.getSegments()},animate:function(n){var t=this.chart,o=t.renderer,i,f,e,u;i=this.options.animation,f=this.clipBox||t.clipBox,e=t.inverted,i&&!yt(i)&&(i=lt[this.type].animation),u=["_sharedClip",i.duration,i.easing,f.height].join(","),n?(n=t[u],i=t[u+"m"],n||(t[u]=n=o.clipRect(r(f,{width:0})),t[u+"m"]=i=o.clipRect(-99,e?-t.plotLeft:-t.plotTop,99,e?t.chartWidth:t.chartHeight)),this.group.clip(n),this.markerGroup.clip(i),this.sharedClipKey=u):((n=t[u])&&n.animate({width:t.plotSizeX},i),t[u+"m"]&&t[u+"m"].animate({width:t.plotSizeX+99},i),this.animate=null)},afterAnimate:function(){var n=this.chart,t=this.sharedClipKey,r=this.group,i=this.clipBox;r&&this.options.clip!==!1&&(t&&i||r.clip(i?n.renderer.clipRect(i):n.clipRect),this.markerGroup.clip()),p(this,"afterAnimate"),setTimeout(function(){t&&n[t]&&(i||(n[t]=n[t].destroy()),n[t+"m"]&&(n[t+"m"]=n[t+"m"].destroy()))},100)},drawPoints:function(){var c,y=this.points,l=this.chart,u,s,a,t,i,o,p,h;u=this.options.marker;var w=this.pointAttr[""],v,b=this.markerGroup,k=n(u.enabled,this.activePointCount<.5*this.xAxis.len/u.radius);if(u.enabled!==!1||this._hasPointMarkers)for(a=y.length;a--;)(t=y[a],u=ft(t.plotX),s=t.plotY,h=t.graphic,o=t.marker||{},c=k&&o.enabled===f||o.enabled,v=l.isInsidePlot(e(u),s,l.inverted),c&&s!==f&&!isNaN(s)&&t.y!==null)?(c=t.pointAttr[t.selected?"select":""]||w,i=c.r,o=n(o.symbol,this.symbol),p=o.indexOf("url")===0,h)?h[v?"show":"hide"](!0).animate(r({x:u-i,y:s-i},h.symbolName?{width:2*i,height:2*i}:{})):v&&(i>0||p)&&(t.graphic=l.renderer.symbol(o,u-i,s-i,2*i,2*i).attr(c).add(b)):h&&(t.graphic=h.destroy())},convertAttribs:function(t,i,r,u){var e=this.pointAttrToOptions,f,o,s={},t=t||{},i=i||{},r=r||{},u=u||{};for(f in e)o=e[f],s[f]=n(t[o],i[f],r[f],u[f]);return s},getAttribs:function(){var e=this,c=e.options,u=lt[e.type].marker?c.marker:c,l=u.states,o=l.hover,s,a=e.color,w;s={stroke:a,fill:a};var v=e.points||[],n,h=[],f,y=e.pointAttrToOptions;f=e.hasPointSpecificOptions;var p=c.negativeColor,b=u.lineColor,k=u.fillColor;if(n=c.turboThreshold,c.marker?(o.radius=o.radius||u.radius+2,o.lineWidth=o.lineWidth||u.lineWidth+1):o.color=o.color||li(o.color||a).brighten(o.brightness).get(),h[""]=e.convertAttribs(u,s),t(["hover","select"],function(n){h[n]=e.convertAttribs(l[n],h[""])}),e.pointAttr=h,a=v.length,!n||a<n||f)for(;a--;){if(n=v[a],(u=n.options&&n.options.marker||n.options)&&u.enabled===!1&&(u.radius=0),n.negative&&p&&(n.color=n.fillColor=p),f=c.colorByPoint||n.color,n.options)for(w in y)i(u[y[w]])&&(f=!0);f?(u=u||{},f=[],l=u.states||{},s=l.hover=l.hover||{},c.marker||(s.color=s.color||!n.options.color&&o.color||li(n.color).brighten(s.brightness||o.brightness).get()),s={color:n.color},k||(s.fillColor=n.color),b||(s.lineColor=n.color),f[""]=e.convertAttribs(r(s,u),h[""]),f.hover=e.convertAttribs(l.hover,h.hover,f[""]),f.select=e.convertAttribs(l.select,h.select,f[""])):f=h,n.pointAttr=f}},destroy:function(){var n=this,r=n.chart,h=/AppleWebKit\/533/.test(yi),e,u,o=n.data||[],f,s,i;for(p(n,"destroy"),ht(n),t(n.axisTypes||[],function(t){(i=n[t])&&(ni(i.series,n),i.isDirty=i.forceRedraw=!0)}),n.legendItem&&n.chart.legend.destroyItem(n),u=o.length;u--;)(f=o[u])&&f.destroy&&f.destroy();n.points=null,clearTimeout(n.animationTimeout),t("area,graph,dataLabelsGroup,group,markerGroup,tracker,graphNeg,areaNeg,posClip,negClip".split(","),function(t){n[t]&&(e=h&&t==="group"?"hide":"destroy",n[t][e]())}),r.hoverSeries===n&&(r.hoverSeries=null),ni(r.series,n);for(s in n)delete n[s]},getSegmentPath:function(n){var r=this,i=[],u=r.options.step;return t(n,function(t,f){var o=t.plotX,s=t.plotY,e;r.getPointSpline?i.push.apply(i,r.getPointSpline(n,t,f)):(i.push(f?"L":"M"),u&&f&&(e=n[f-1],u==="right"?i.push(e.plotX,s):u==="center"?i.push((e.plotX+o)/2,e.plotY,(e.plotX+o)/2,s):i.push(o,e.plotY)),i.push(t.plotX,t.plotY))}),i},getGraphPath:function(){var n=this,i=[],r,u=[];return t(n.segments,function(t){r=n.getSegmentPath(t),t.length>1?i=i.concat(r):u.push(t[0])}),n.singlePoints=u,n.graphPath=i},drawGraph:function(){var i=this,n=this.options,u=[["graph",n.lineColor||this.color]],f=n.lineWidth,e=n.dashStyle,s=n.linecap!=="square",r=this.getGraphPath(),o=n.negativeColor;o&&u.push(["graphNeg",o]),t(u,function(t,u){var h=t[0],o=i[h];o?(kr(o),o.animate({d:r})):f&&r.length&&(o={stroke:t[1],"stroke-width":f,fill:it,zIndex:1},e?o.dashstyle=e:s&&(o["stroke-linecap"]=o["stroke-linejoin"]="round"),i[h]=i.chart.renderer.path(r).attr(o).add(i.group).shadow(!u&&n.shadow))})},clipNeg:function(){var f=this.options,n=this.chart,h=n.renderer,t=f.negativeColor||f.negativeFillColor,i,c=this.graph,l=this.area,o=this.posClip,s=this.negClip;i=n.chartWidth;var a=n.chartHeight,r=u(i,a),v=this.yAxis;t&&(c||l)&&(t=e(v.toPixels(f.threshold||0,!0)),t<0&&(r-=t),f={x:0,y:0,width:r,height:t},r={x:0,y:t,width:r,height:r},n.inverted&&(f.height=r.y=n.plotWidth-t,h.isVML&&(f={x:n.plotWidth-t-n.plotLeft,y:0,width:i,height:a},r={x:t+n.plotLeft-i,y:0,width:n.plotLeft+t,height:i})),v.reversed?(n=r,i=f):(n=f,i=r),o?(o.animate(n),s.animate(i)):(this.posClip=o=h.clipRect(n),this.negClip=s=h.clipRect(i),c&&this.graphNeg&&(c.clip(o),this.graphNeg.clip(s)),l&&(l.clip(o),this.areaNeg.clip(s))))},invertGroups:function(){function i(){var i={width:n.yAxis.len,height:n.xAxis.len};t(["group","markerGroup"],function(t){n[t]&&n[t].attr(i).invert()})}var n=this,r=n.chart;n.xAxis&&(b(r,"resize",i),b(n,"destroy",function(){ht(r,"resize",i)}),i(),n.invertGroups=i)},plotGroup:function(n,t,i,r,u){var f=this[n],e=!f;return e&&(this[n]=f=this.chart.renderer.g(t).attr({visibility:i,zIndex:r||.1}).add(u)),f[e?"attr":"animate"](this.getPlotBox()),f},getPlotBox:function(){var i=this.chart,t=this.xAxis,n=this.yAxis;return i.inverted&&(t=n,n=this.xAxis),{translateX:t?t.left:i.plotLeft,translateY:n?n.top:i.plotTop,scaleX:1,scaleY:1}},render:function(){var t=this,i=t.chart,r,f=t.options,u=(r=f.animation)&&!!t.animate&&i.renderer.isSVG&&n(r.duration,500)||0,e=t.visible?"visible":"hidden",o=f.zIndex,s=t.hasRendered,h=i.seriesGroup;r=t.plotGroup("group","series",e,o,h),t.markerGroup=t.plotGroup("markerGroup","markers",e,o,h),u&&t.animate(!0),t.getAttribs(),r.inverted=t.isCartesian?i.inverted:!1,t.drawGraph&&(t.drawGraph(),t.clipNeg()),t.drawDataLabels&&t.drawDataLabels(),t.visible&&t.drawPoints(),t.drawTracker&&t.options.enableMouseTracking!==!1&&t.drawTracker(),i.inverted&&t.invertGroups(),f.clip!==!1&&!t.sharedClipKey&&!s&&r.clip(i.clipRect),u&&t.animate(),s||(u?t.animationTimeout=setTimeout(function(){t.afterAnimate()},u):t.afterAnimate()),t.isDirty=t.isDirtyData=!1,t.hasRendered=!0},redraw:function(){var t=this.chart,f=this.isDirtyData,i=this.group,r=this.xAxis,u=this.yAxis;i&&(t.inverted&&i.attr({width:t.plotWidth,height:t.plotHeight}),i.animate({translateX:n(r&&r.left,t.plotLeft),translateY:n(u&&u.top,t.plotTop)})),this.translate(),this.setTooltipPoints&&this.setTooltipPoints(!0),this.render(),f&&p(this,"updatedData")}},sf.prototype={destroy:function(){vr(this,this.axis)},render:function(n){var t=this.options,i=t.format,i=i?ir(i,this):t.formatter.call(this);this.label?this.label.attr({text:i,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(i,null,null,t.useHTML).css(t.style).attr({align:this.textAlign,rotation:t.rotation,visibility:"hidden"}).add(n)},setOffset:function(n,t){var i=this.axis,e=i.chart,r=e.inverted,u=this.isNegative,f=i.translate(i.usePercentage?100:this.total,0,0,0,1),i=i.translate(0),i=y(f-i),s=e.xAxis[0].translate(this.x)+n,o=e.plotHeight,u={x:r?u?f:f-i:s,y:r?o-s-t:u?o-f-i:o-f,width:r?i:t,height:r?t:i};(r=this.label)&&(r.align(this.alignOptions,null,u),u=r.alignAttr,r[this.options.crop===!1||e.isInsidePlot(u.x,u.y)?"show":"hide"](!0))}},gt.prototype.buildStacks=function(){var i=this.series,r=n(this.options.reversedStacks,!0),t=i.length;if(!this.isXAxis){for(this.usePercentage=!1;t--;)i[r?t:i.length-t-1].setStackedPoints();if(this.usePercentage)for(t=0;t<i.length;t++)i[t].setPercentStacks()}},gt.prototype.renderStackTotals=function(){var n=this.chart,f=n.renderer,i=this.stacks,r,u,t=this.stackTotalGroup;t||(this.stackTotalGroup=t=f.g("stack-labels").attr({visibility:"visible",zIndex:6}).add()),t.translate(n.plotLeft,n.plotTop);for(r in i)for(u in n=i[r],n)n[u].render(t)},a.prototype.setStackedPoints=function(){if(this.options.stacking&&!(this.visible!==!0&&this.chart.options.chart.ignoreHiddenSeries!==!1)){for(var g=this.processedXData,p=this.processedYData,v=[],d=p.length,s=this.options,k=s.threshold,b=s.stack,s=s.stacking,l=this.stackKey,w="-"+l,a=this.negStacks,o=this.yAxis,r=o.stacks,c=o.oldStacks,i,n,h,t,e,f=0;f<d;f++)t=g[f],e=p[f],h=this.index+","+f,n=(i=a&&e<k)?w:l,r[n]||(r[n]={}),r[n][t]||(c[n]&&c[n][t]?(r[n][t]=c[n][t],r[n][t].total=null):r[n][t]=new sf(o,o.options.stackLabels,i,t,b)),n=r[n][t],n.points[h]=[n.cum||0],s==="percent"?(i=i?l:w,a&&r[i]&&r[i][t]?(i=r[i][t],n.total=i.total=u(i.total,n.total)+y(e)||0):n.total=kt(n.total+(y(e)||0))):n.total=kt(n.total+(e||0)),n.cum=(n.cum||0)+(e||0),n.points[h].push(n.cum),v[f]=n.cum;s==="percent"&&(o.usePercentage=!0),this.stackedYData=v,o.oldStacks={}}},a.prototype.setPercentStacks=function(){var n=this,i=n.stackKey,r=n.yAxis.stacks,u=n.processedXData;t([i,"-"+i],function(t){for(var o,i,f,e=u.length;e--;)(i=u[e],o=(f=r[t]&&r[t][i])&&f.points[n.index+","+e],i=o)&&(f=f.total?100/f.total:0,i[0]=kt(i[0]*f),i[1]=kt(i[1]*f),n.stackedYData[e]=i[1])})},r(dr.prototype,{addSeries:function(t,i,r){var f,u=this;return t&&(i=n(i,!0),p(u,"addSeries",{options:t},function(){f=u.initSeries(t),u.isDirtyLegend=!0,u.linkSeries(),i&&u.redraw(r)})),f},addAxis:function(t,i,r,u){var f=i?"xAxis":"yAxis",e=this.options;new gt(this,s(t,{index:this[f].length,isX:i})),e[f]=ci(e[f]||{}),e[f].push(t),n(r,!0)&&this.redraw(u)},showLoading:function(n){var u=this.options,t=this.loadingDiv,i=u.loading;t||(this.loadingDiv=t=ct(tr,{className:"highcharts-loading"},r(i.style,{zIndex:10,display:it}),this.container),this.loadingSpan=ct("span",null,i.labelStyle,t)),this.loadingSpan.innerHTML=n||u.lang.loading,this.loadingShown||(v(t,{opacity:0,display:"",left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px"}),ou(t,{opacity:i.style.opacity},{duration:i.showDuration||0}),this.loadingShown=!0)},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&ou(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){v(n,{display:it})}}),this.loadingShown=!1}}),r(pi.prototype,{update:function(t,i,r){var u=this,f=u.series,e=u.graphic,o,c=f.data,s=f.chart,h=f.options,i=n(i,!0);u.firePointEvent("update",{options:t},function(){u.applyOptions(t),yt(t)&&(f.getAttribs(),e&&(t&&t.marker&&t.marker.symbol?u.graphic=e.destroy():e.attr(u.pointAttr[u.state||""])),t&&t.dataLabels&&u.dataLabel&&(u.dataLabel=u.dataLabel.destroy())),o=wi(u,c),f.updateParallelArrays(u,o),h.data[o]=u.options,f.isDirty=f.isDirtyData=!0,!f.fixedBox&&f.hasCartesianSeries&&(s.isDirtyBox=!0),h.legendType==="point"&&s.legend.destroyItem(u),i&&s.redraw(r)})},remove:function(t,i){var u=this,r=u.series,o=r.points,s=r.chart,f,e=r.data;pr(i,s),t=n(t,!0),u.firePointEvent("remove",null,function(){f=wi(u,e),e.length===o.length&&o.splice(f,1),e.splice(f,1),r.options.data.splice(f,1),r.updateParallelArrays(u,"splice",f,1),u.destroy(),r.isDirty=!0,r.isDirtyData=!0,t&&s.redraw()})}}),r(a.prototype,{addPoint:function(i,r,u,f){var c=this.options,s=this.data,o=this.graph,e=this.area,l=this.chart,a=this.xAxis&&this.xAxis.names,p=o&&o.shift||0,v=c.data,y,h=this.xData;if(pr(f,l),u&&t([o,e,this.graphNeg,this.areaNeg],function(n){n&&(n.shift=p+1)}),e&&(e.isArea=!0),r=n(r,!0),f={series:this},this.pointClass.prototype.applyOptions.apply(f,[i]),o=f.x,e=h.length,this.requireSorting&&o<h[e-1])for(y=!0;e&&h[e-1]>o;)e--;this.updateParallelArrays(f,"splice",e,0,0),this.updateParallelArrays(f,e),a&&(a[o]=f.name),v.splice(e,0,i),y&&(this.data.splice(e,0,null),this.processData()),c.legendType==="point"&&this.generatePoints(),u&&(s[0]&&s[0].remove?s[0].remove(!1):(s.shift(),this.updateParallelArrays(f,"shift"),v.shift())),this.isDirtyData=this.isDirty=!0,r&&(this.getAttribs(),l.redraw())},remove:function(t,i){var r=this,u=r.chart,t=n(t,!0);r.isRemoving||(r.isRemoving=!0,p(r,"remove",null,function(){r.destroy(),u.isDirtyLegend=u.isDirtyBox=!0,u.linkSeries(),t&&u.redraw(i)})),r.isRemoving=!1},update:function(t,i){var e=this.chart,o=this.type,h=w[o].prototype,u,t=s(this.userOptions,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},t);this.remove(!1);for(u in h)h.hasOwnProperty(u)&&(this[u]=f);r(this,w[t.type||o].prototype),this.init(e,t),n(i,!0)&&e.redraw(!1)}}),r(gt.prototype,{update:function(t,i){var u=this.chart,t=u.options[this.coll][this.options.index]=s(this.userOptions,t);this.destroy(!0),this._addedPlotLB=f,this.init(u,r(t,{events:f})),u.isDirtyBox=!0,n(i,!0)&&u.redraw()},remove:function(i){for(var r=this.chart,u=this.coll,f=this.series,e=f.length;e--;)f[e]&&f[e].remove(!1);ni(r.axes,this),ni(r[u],this),r.options[u].splice(this.options.index,1),t(r[u],function(n,t){n.options.index=t}),this.destroy(),r.isDirtyBox=!0,n(i,!0)&&r.redraw()},setTitle:function(n,t){this.update({title:n},t)},setCategories:function(n,t){this.update({categories:n},t)}}),bt=ri(a),w.line=bt,lt.area=s(tt,{threshold:0}),dt=ri(a,{type:"area",getSegments:function(){var f=[],u=[],e=[],y=this.xAxis,l=this.yAxis,n=l.stacks[this.stackKey],i={},o,s,h=this.points,p=this.options.connectNulls,v,r,c;if(this.options.stacking&&!this.cropped){for(r=0;r<h.length;r++)i[h[r].x]=h[r];for(c in n)n[c].total!==null&&e.push(+c);e.sort(function(n,t){return n-t}),t(e,function(t){(!p||i[t]&&i[t].y!==null)&&(i[t]?u.push(i[t]):(o=y.translate(t),v=n[t].percent?n[t].total?n[t].cum*100/n[t].total:0:n[t].cum,s=l.toPixels(v,!0),u.push({y:null,plotX:o,clientX:o,plotY:s,yBottom:s,onMouseOver:hi})))}),u.length&&f.push(u)}else a.prototype.getSegments.call(this),f=this.segments;this.segments=f},getSegmentPath:function(t){var r=a.prototype.getSegmentPath.call(this,t),u=[].concat(r),i,f=this.options,e,o;if(i=r.length,e=this.yAxis.getThreshold(f.threshold),i===3&&u.push("L",r[1],r[2]),f.stacking&&!this.closedStacks)for(i=t.length-1;i>=0;i--)o=n(t[i].yBottom,e),i<t.length-1&&f.step&&u.push(t[i+1].plotX,o),u.push(t[i].plotX,o);else this.closeSegment(u,t,e);return this.areaPath=this.areaPath.concat(u),r},closeSegment:function(n,t,i){n.push("L",t[t.length-1].plotX,i,"L",t[0].plotX,i)},drawGraph:function(){this.areaPath=[],a.prototype.drawGraph.apply(this);var i=this,u=this.areaPath,r=this.options,f=r.negativeColor,e=r.negativeFillColor,o=[["area",this.color,r.fillColor]];(f||e)&&o.push(["areaNeg",f,e]),t(o,function(t){var f=t[0],e=i[f];e?e.animate({d:u}):i[f]=i.chart.renderer.path(u).attr({fill:n(t[2],li(t[1]).setOpacity(n(r.fillOpacity,.75)).get()),zIndex:0}).add(i.group)})},drawLegendSymbol:k.drawRectangle}),w.area=dt,lt.spline=s(tt),bt=ri(a,{type:"spline",getPointSpline:function(n,t,i){var h=t.plotX,r=t.plotY,o=n[i-1],s=n[i+1],a,e,c,f,v;return o&&s&&(n=o.plotY,c=s.plotX,s=s.plotY,a=(1.5*h+o.plotX)/2.5,e=(1.5*r+n)/2.5,c=(1.5*h+c)/2.5,f=(1.5*r+s)/2.5,v=(f-e)*(c-h)/(c-a)+r-f,e+=v,f+=v,e>n&&e>r?(e=u(n,r),f=2*r-e):e<n&&e<r&&(e=l(n,r),f=2*r-e),f>s&&f>r?(f=u(s,r),e=2*r-f):f<s&&f<r&&(f=l(s,r),e=2*r-f),t.rightContX=c,t.rightContY=f),i?(t=["C",o.rightContX||o.plotX,o.rightContY||o.plotY,a||h,e||r,h,r],o.rightContX=o.rightContY=null):t=["M",h,r],t}}),w.spline=bt,lt.areaspline=s(lt.area),dt=dt.prototype,bt=ri(bt,{type:"areaspline",closedStacks:!0,getSegmentPath:dt.getSegmentPath,closeSegment:dt.closeSegment,drawGraph:dt.drawGraph,drawLegendSymbol:k.drawRectangle}),w.areaspline=bt,lt.column=s(tt,{borderColor:"#FFFFFF",borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:.1,shadow:!1,halo:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},stickyTracking:!1,tooltip:{distance:6},threshold:0}),bt=ri(a,{type:"column",pointAttrToOptions:{stroke:"borderColor",fill:"color",r:"borderRadius"},cropShoulder:0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){a.prototype.init.apply(this,arguments);var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)})},getColumnMetrics:function(){var u=this,e=u.options,r=u.xAxis,p=u.yAxis,w=r.reversed,s,a={},v,o=0;e.grouping===!1?o=1:t(u.chart.series,function(n){var t=n.options,i=n.yAxis;n.type===u.type&&n.visible&&p.len===i.len&&p.pos===i.pos&&(t.stacking?(s=n.stackKey,a[s]===f&&(a[s]=o++),v=a[s]):t.grouping!==!1&&(v=o++),n.columnIndex=v)});var r=l(y(r.transA)*(r.ordinalSlope||e.pointRange||r.closestPointRange||r.tickInterval||1),r.len),b=r*e.groupPadding,h=(r-2*b)/o,c=e.pointWidth,e=i(c)?(h-c)/2:h*e.pointPadding,c=n(c,h-2*e);return u.columnMetrics={width:c,offset:e+(b+((w?o-(u.columnIndex||0):u.columnIndex)||0)*h-r/2)*(w?-1:1)}},translate:function(){var i=this,h=i.chart,f=i.options,c=i.borderWidth=n(f.borderWidth,i.activePointCount>.5*i.xAxis.len?0:1),o=i.yAxis,s=i.translatedThreshold=o.getThreshold(f.threshold),r=n(f.minPointLength,5),f=i.getColumnMetrics(),p=f.width,b=i.barW=ur(u(p,1+2*c)),k=i.pointXOffset=f.offset,w=-(c%2?.5:0),v=c%2?.5:1;h.renderer.isVML&&h.inverted&&(v+=1),a.prototype.translate.apply(i),t(i.points,function(t){var d=n(t.yBottom,s),nt=l(u(-999-d,t.plotY),o.len+999+d),f=t.plotX+k,g=b,c=l(nt,d),a;a=u(nt,d)-c,y(a)<r&&r&&(a=r,c=e(y(c-s)>r?d-r:s-(o.translate(t.y,0,1,0,1)<=s?r:0))),t.barX=f,t.pointWidth=p,t.tooltipPos=h.inverted?[o.len-nt,i.xAxis.len-f-g/2]:[f+g/2,nt],d=y(f)<.5,g=e(f+g)+w,f=e(f)+w,g-=f,nt=y(c)<.5,a=e(c+a)+v,c=e(c)+v,a-=c,d&&(f+=1,g-=1),nt&&(c-=1,a+=1),t.shapeType="rect",t.shapeArgs={x:f,y:c,width:g,height:a}})},getSymbol:hi,drawLegendSymbol:k.drawRectangle,drawGraph:hi,drawPoints:function(){var n=this,o=this.chart,r=n.options,c=o.renderer,l=r.animationLimit||250,u,h,e;t(n.points,function(t){var v=t.plotY,a=t.graphic;v===f||isNaN(v)||t.y===null?a&&(t.graphic=a.destroy()):(u=t.shapeArgs,e=i(n.borderWidth)?{"stroke-width":n.borderWidth}:{},h=t.pointAttr[t.selected?"select":""]||n.pointAttr[""],a?(kr(a),a.attr(e)[o.pointCount<l?"animate":"attr"](s(u))):t.graphic=c[t.shapeType](u).attr(h).attr(e).add(n.group).shadow(r.shadow,null,r.stacking&&!r.borderRadius))})},animate:function(n){var i=this.yAxis,f=this.options,r=this.chart.inverted,t={};vt&&(n?(t.scaleY=.001,n=l(i.pos+i.len,u(i.pos,i.toPixels(f.threshold))),r?t.translateX=n-i.len:t.translateY=n,this.group.attr(t)):(t.scaleY=1,t[r?"translateX":"translateY"]=i.pos,this.group.animate(t,this.options.animation),this.animate=null))},remove:function(){var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)}),a.prototype.remove.apply(n,arguments)}}),w.column=bt,lt.bar=s(lt.column),dt=ri(bt,{type:"bar",inverted:!0}),w.bar=dt,lt.scatter=s(tt,{lineWidth:0,tooltip:{headerFormat:'<span style="color:{series.color}">●</span> <span style="font-size: 10px;"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"},stickyTracking:!1}),dt=ri(a,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup"],takeOrdinalPosition:!1,singularTooltips:!0,drawGraph:function(){this.options.lineWidth&&a.prototype.drawGraph.call(this)}}),w.scatter=dt,lt.pie=s(tt,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}}),tt={type:"pie",isCartesian:!1,pointClass:ri(pi,{init:function(){pi.prototype.init.apply(this,arguments);var t=this,i;return t.y<0&&(t.y=null),r(t,{visible:t.visible!==!1,name:n(t.name,"Slice")}),i=function(n){t.slice(n.type==="select")},b(t,"select",i),b(t,"unselect",i),t},setVisible:function(n){var i=this,r=i.series,u=r.chart;i.visible=i.options.visible=n=n===f?!i.visible:n,r.options.data[wi(i,r.data)]=i.options,t(["graphic","dataLabel","connector","shadowGroup"],function(t){i[t]&&i[t][n?"show":"hide"](!0)}),i.legendItem&&u.legend.colorizeItem(i,n),!r.isDirty&&r.options.ignoreHiddenPoint&&(r.isDirty=!0,u.redraw())},slice:function(t,r,u){var f=this.series;pr(u,f.chart),n(r,!0),this.sliced=this.options.sliced=t=i(t)?t:!this.sliced,f.options.data[wi(this,f.data)]=this.options,t=t?this.slicedTranslation:{translateX:0,translateY:0},this.graphic.animate(t),this.shadowGroup&&this.shadowGroup.animate(t)},haloPath:function(n){var t=this.shapeArgs,i=this.series.chart;return this.series.chart.renderer.symbols.arc(i.plotLeft+t.x,i.plotTop+t.y,t.r+n,t.r+n,{innerR:this.shapeArgs.r,start:t.start,end:t.end})}}),requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},singularTooltips:!0,getColor:hi,animate:function(n){var i=this,u=i.points,r=i.startAngleRad;n||(t(u,function(n){var t=n.graphic,n=n.shapeArgs;t&&(t.attr({r:i.center[3]/2,start:r,end:r}),t.animate({r:n.r,start:n.start,end:n.end},i.options.animation))}),i.animate=null)},setData:function(t,i,r,u){a.prototype.setData.call(this,t,!1,r,u),this.processData(),this.generatePoints(),n(i,!0)&&this.chart.redraw(r)},generatePoints:function(){var n,i=0,r,u,t,f=this.options.ignoreHiddenPoint;for(a.prototype.generatePoints.call(this),r=this.points,u=r.length,n=0;n<u;n++)t=r[n],i+=f&&!t.visible?0:t.y;for(this.total=i,n=0;n<u;n++)t=r[n],t.percentage=i>0?t.y/i*100:0,t.total=i},translate:function(t){this.generatePoints();var v=0,o=this.options,y=o.slicedOffset,h=y+o.borderWidth,u,f,i,c=o.startAngle||0,p=this.startAngleRad=ui/180*(c-90),c=(this.endAngleRad=ui/180*(n(o.endAngle,c+360)-90))-p,w=this.points,s=o.dataLabels.distance,o=o.ignoreHiddenPoint,a,b=w.length,r;for(t||(this.center=t=this.getCenter()),this.getX=function(n,r){return i=et.asin(l((n-t[1])/(t[2]/2+s),1)),t[0]+(r?-1:1)*at(i)*(t[2]/2+s)},a=0;a<b;a++)r=w[a],u=p+v*c,(!o||r.visible)&&(v+=r.percentage/100),f=p+v*c,r.shapeType="arc",r.shapeArgs={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:e(u*1e3)/1e3,end:e(f*1e3)/1e3},i=(f+u)/2,i>1.5*ui?i-=2*ui:i<-ui/2&&(i+=2*ui),r.slicedTranslation={translateX:e(at(i)*y),translateY:e(pt(i)*y)},u=at(i)*t[2]/2,f=pt(i)*t[2]/2,r.tooltipPos=[t[0]+u*.7,t[1]+f*.7],r.half=i<-ui/2||i>ui/2?1:0,r.angle=i,h=l(h,s/2),r.labelPos=[t[0]+u+at(i)*s,t[1]+f+pt(i)*s,t[0]+u+at(i)*h,t[1]+f+pt(i)*h,t[0]+u,t[1]+f,s<0?"center":r.half?"right":"left",i]},drawGraph:null,drawPoints:function(){var n=this,e=n.chart.renderer,u,f,o=n.options.shadow,i,s;o&&!n.shadowGroup&&(n.shadowGroup=e.g("shadow").add(n.group)),t(n.points,function(t){f=t.graphic,s=t.shapeArgs,i=t.shadowGroup,o&&!i&&(i=t.shadowGroup=e.g("shadow").add(n.shadowGroup)),u=t.sliced?t.slicedTranslation:{translateX:0,translateY:0},i&&i.attr(u),f?f.animate(r(s,u)):t.graphic=f=e[t.shapeType](s).setRadialReference(n.center).attr(t.pointAttr[t.selected?"select":""]).attr({"stroke-linejoin":"round"}).attr(u).add(n.group).shadow(o,i),t.visible!==void 0&&t.setVisible(t.visible)})},sortByAngle:function(n,t){n.sort(function(n,i){return n.angle!==void 0&&(i.angle-n.angle)*t})},drawLegendSymbol:k.drawRectangle,getCenter:st.getCenter,getSymbol:hi},tt=ri(a,tt),w.pie=tt,a.prototype.drawDataLabels=function(){var e=this,c=e.options,v=c.cursor,u=c.dataLabels,y=e.points,h,l,o,a;(u.enabled||e._hasPointLabels)&&(e.dlProcessOptions&&e.dlProcessOptions(u),a=e.plotGroup("dataLabelsGroup","data-labels","hidden",u.zIndex||6),!e.hasRendered&&n(u.defer,!0)&&(a.attr({opacity:0}),b(e,"afterAnimate",function(){e.dataLabelsGroup.show()[c.animation?"animate":"attr"]({opacity:1},{duration:200})})),l=u,t(y,function(t){var y,c=t.dataLabel,p,w,b=t.connector,k=!0;if(h=t.options&&t.options.dataLabels,y=n(h&&h.enabled,l.enabled),c&&!y)t.dataLabel=c.destroy();else if(y){if(u=s(l,h),y=u.rotation,p=t.getLabelConfig(),o=u.format?ir(u.format,p):u.formatter.call(p,u),u.style.color=n(u.color,u.style.color,e.color,"black"),c)i(o)?(c.attr({text:o}),k=!1):(t.dataLabel=c=c.destroy(),b)&&(t.connector=b.destroy());else if(i(o)){c={fill:u.backgroundColor,stroke:u.borderColor,"stroke-width":u.borderWidth,r:u.borderRadius||0,rotation:y,padding:u.padding,zIndex:1};for(w in c)c[w]===f&&delete c[w];c=t.dataLabel=e.chart.renderer[y?"text":"label"](o,0,-999,null,null,null,u.useHTML).attr(c).css(r(u.style,v&&{cursor:v})).add(a).shadow(u.shadow)}c&&e.alignDataLabel(t,c,u,null,k)}}))},a.prototype.alignDataLabel=function(t,i,u,f,o){var h=this.chart,s=h.inverted,l=n(t.plotX,-999),a=n(t.plotY,-999),c=i.getBBox();(t=this.visible&&(t.series.forceDL||h.isInsidePlot(l,e(a),s)||f&&h.isInsidePlot(l,s?f.x+1:f.y+f.height-1,s)))&&(f=r({x:s?h.plotWidth-a:l,y:e(s?h.plotHeight-l:a),width:0,height:0},f),r(u,{width:c.width,height:c.height}),u.rotation?(s={align:u.align,x:f.x+u.x+f.width/2,y:f.y+u.y+f.height/2},i[o?"attr":"animate"](s)):(i.align(u,null,f),s=i.alignAttr,n(u.overflow,"justify")==="justify"?this.justifyDataLabel(i,u,s,c,f,o):n(u.crop,!0)&&(t=h.isInsidePlot(s.x,s.y)&&h.isInsidePlot(s.x+c.width,s.y+c.height)))),t||(i.attr({y:-999}),i.placed=!1)},a.prototype.justifyDataLabel=function(n,t,i,r,u,f){var s=this.chart,h=t.align,c=t.verticalAlign,e,o;e=i.x,e<0&&(h==="right"?t.align="left":t.x=-e,o=!0),e=i.x+r.width,e>s.plotWidth&&(h==="left"?t.align="right":t.x=s.plotWidth-e,o=!0),e=i.y,e<0&&(c==="bottom"?t.verticalAlign="top":t.y=-e,o=!0),e=i.y+r.height,e>s.plotHeight&&(c==="top"?t.verticalAlign="bottom":t.y=s.plotHeight-e,o=!0),o&&(n.placed=!f,n.align(t,null,u))},w.pie&&(w.pie.prototype.drawDataLabels=function(){var v=this,o=v.data,f,et=v.chart,k=v.options.dataLabels,rt=n(k.connectorPadding,10),wt=n(k.connectorWidth,1),at=et.plotWidth,et=et.plotHeight,nt,ot,bt=n(k.softConnector,!0),it=k.distance,lt=v.center,ct=lt[2]/2,vt=lt[1],kt=it>0,w,c,r,tt,pt=[[],[]],p,s,ut,l,i,b=[0,0,0,0],yt=function(n,t){return t.y-n.y},st,ft;if(v.visible&&(k.enabled||v._hasPointLabels)){for(a.prototype.drawDataLabels.apply(v),t(o,function(n){n.dataLabel&&n.visible&&pt[n.half].push(n)}),l=0;!tt&&o[l];)tt=o[l]&&o[l].dataLabel&&(o[l].dataLabel.getBBox().height||21),l++;for(l=2;l--;){var o=[],ht=[],g=pt[l],d=g.length,h;if(v.sortByAngle(g,l-.5),it>0){for(i=vt-ct-it;i<=vt+ct+it;i+=tt)o.push(i);if(c=o.length,d>c){for(f=[].concat(g),f.sort(yt),i=d;i--;)f[i].rank=i;for(i=d;i--;)g[i].rank>=c&&g.splice(i,1);d=g.length}for(i=0;i<d;i++){for(f=g[i],r=f.labelPos,f=9999,ft=0;ft<c;ft++)st=y(o[ft]-r[1]),st<f&&(f=st,h=ft);if(h<i&&o[i]!==null)h=i;else for(c<d-i+h&&o[i]!==null&&(h=c-d+i);o[h]===null;)h++;ht.push({i:h,y:o[h]}),o[h]=null}ht.sort(yt)}for(i=0;i<d;i++)f=g[i],r=f.labelPos,w=f.dataLabel,ut=f.visible===!1?"hidden":"visible",f=r[1],it>0?(c=ht.pop(),h=c.i,s=c.y,f>s&&o[h+1]!==null||f<s&&o[h-1]!==null)&&(s=f):s=f,p=k.justify?lt[0]+(l?-1:1)*(ct+it):v.getX(h===0||h===o.length-1?f:s,l),w._attr={visibility:ut,align:r[6]},w._pos={x:p+k.x+({left:rt,right:-rt}[r[6]]||0),y:s+k.y-10},w.connX=p,w.connY=s,this.options.size===null&&(c=w.width,p-c<rt?b[3]=u(e(c-p+rt),b[3]):p+c>at-rt&&(b[1]=u(e(p+c-at+rt),b[1])),s-tt/2<0?b[0]=u(e(-s+tt/2),b[0]):s+tt/2>et&&(b[2]=u(e(s+tt/2-et),b[2])))}(bi(b)===0||this.verifyDataLabelOverflow(b))&&(this.placeDataLabels(),kt&&wt&&t(this.points,function(n){nt=n.connector,r=n.labelPos,(w=n.dataLabel)&&w._pos?(ut=w._attr.visibility,p=w.connX,s=w.connY,ot=bt?["M",p+(r[6]==="left"?5:-5),s,"C",p,s,2*r[2]-r[4],2*r[3]-r[5],r[2],r[3],"L",r[4],r[5]]:["M",p+(r[6]==="left"?5:-5),s,"L",r[2],r[3],"L",r[4],r[5]],nt?(nt.animate({d:ot}),nt.attr("visibility",ut)):n.connector=nt=v.chart.renderer.path(ot).attr({"stroke-width":wt,stroke:k.connectorColor||n.color||"#606060",visibility:ut}).add(v.dataLabelsGroup)):nt&&(n.connector=nt.destroy())}))}},w.pie.prototype.placeDataLabels=function(){t(this.points,function(n){var n=n.dataLabel,t;n&&((t=n._pos)?(n.attr(n._attr),n[n.moved?"animate":"attr"](t),n.moved=!0):n&&n.attr({y:-999}))})},w.pie.prototype.alignDataLabel=hi,w.pie.prototype.verifyDataLabelOverflow=function(n){var i=this.center,f=this.options,e=f.center,r=f=f.minSize||80,o;return e[0]!==null?r=u(i[2]-u(n[1],n[3]),f):(r=u(i[2]-n[1]-n[3],f),i[0]+=(n[3]-n[1])/2),e[1]!==null?r=u(l(r,i[2]-u(n[0],n[2])),f):(r=u(l(r,i[2]-n[0]-n[2]),f),i[1]+=(n[0]-n[2])/2),r<i[2]?(i[2]=r,this.translate(i),t(this.points,function(n){n.dataLabel&&(n.dataLabel._pos=null)}),this.drawDataLabels&&this.drawDataLabels()):o=!0,o}),w.column&&(w.column.prototype.alignDataLabel=function(t,i,r,u,f){var e=this.chart,o=e.inverted,l=t.dlBox||t.shapeArgs,h=t.below||t.plotY>n(this.translatedThreshold,e.plotSizeY),c=n(r.inside,!!this.options.stacking);l&&(u=s(l),o&&(u={x:e.plotWidth-u.y-u.height,y:e.plotHeight-u.x-u.width,width:u.height,height:u.width}),!c)&&(o?(u.x+=h?0:u.width,u.width=0):(u.y+=h?u.height:0,u.height=0)),r.align=n(r.align,!o||c?"center":h?"right":"left"),r.verticalAlign=n(r.verticalAlign,o||c?"middle":h?"top":"bottom"),a.prototype.alignDataLabel.call(this,t,i,r,u,f)}),tt=rt.TrackerMixin={drawTrackerPoint:function(){var n=this,i=n.chart,e=i.pointer,r=n.options.cursor,o=r&&{cursor:r},u=function(t){var u=t.target,r;for(i.hoverSeries!==n&&n.onMouseOver();u&&!r;)r=u.point,u=u.parentNode;if(r!==f&&r!==i.hoverPoint)r.onMouseOver(t)};t(n.points,function(n){n.graphic&&(n.graphic.element.point=n),n.dataLabel&&(n.dataLabel.element.point=n)}),n._hasTracking||(t(n.trackerGroups,function(t){if(n[t]&&(n[t].addClass("highcharts-tracker").on("mouseover",u).on("mouseout",function(n){e.onTrackerMouseOut(n)}).css(o),nu))n[t].on("touchstart",u)}),n._hasTracking=!0)},drawTrackerGraph:function(){var i=this,h=i.options,e=h.trackByArea,r=[].concat(e?i.areaPath:i.graphPath),u=r.length,o=i.chart,v=o.pointer,y=o.renderer,f=o.options.tooltip.snap,c=i.tracker,s=h.cursor,p=s&&{cursor:s},s=i.singlePoints,n,l=function(){o.hoverSeries!==i&&i.onMouseOver()},a="rgba(192,192,192,"+(vt?.0001:.002)+")";if(u&&!e)for(n=u+1;n--;)r[n]==="M"&&r.splice(n+1,0,r[n+1]-f,r[n+2],"L"),(n&&r[n]==="M"||n===u)&&r.splice(n,0,"L",r[n-2]+f,r[n-1]);for(n=0;n<s.length;n++)u=s[n],r.push("M",u.plotX-f,u.plotY,"L",u.plotX+f,u.plotY);c?c.attr({d:r}):(i.tracker=y.path(r).attr({"stroke-linejoin":"round",visibility:i.visible?"visible":"hidden",stroke:a,fill:e?a:it,"stroke-width":h.lineWidth+(e?0:2*f),zIndex:2}).add(i.group),t([i.tracker,i.markerGroup],function(n){if(n.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(n){v.onTrackerMouseOut(n)}).css(p),nu)n.on("touchstart",l)}))}},w.column&&(bt.prototype.drawTracker=tt.drawTrackerPoint),w.pie&&(w.pie.prototype.drawTracker=tt.drawTrackerPoint),w.scatter&&(dt.prototype.drawTracker=tt.drawTrackerPoint),r(br.prototype,{setItemEvents:function(n,t,i,r,u){var f=this;(i?t:n.legendGroup).on("mouseover",function(){n.setState("hover"),t.css(f.options.itemHoverStyle)}).on("mouseout",function(){t.css(n.visible?r:u),n.setState()}).on("click",function(t){var i=function(){n.setVisible()},t={browserEvent:t};n.firePointEvent?n.firePointEvent("legendItemClick",t,i):p(n,"legendItemClick",t,i)})},createCheckboxForItem:function(n){n.checkbox=ct("input",{type:"checkbox",checked:n.selected,defaultChecked:n.selected},this.options.itemCheckboxStyle,this.chart.container),b(n.checkbox,"click",function(t){p(n,"checkboxClick",{checked:t.target.checked},function(){n.select()})})}}),nt.legend.itemStyle.cursor="pointer",r(dr.prototype,{showResetZoom:function(){var t=this,i=nt.lang,n=t.options.chart.resetZoomButton,r=n.theme,u=r.states,f=n.relativeTo==="chart"?null:"plotBox";this.resetZoomButton=t.renderer.button(i.resetZoom,null,null,function(){t.zoomOut()},r,u&&u.hover).attr({align:n.position.align,title:i.resetZoomTitle}).add().align(n.position,!1,f)},zoomOut:function(){var n=this;p(n,"selection",{resetSelection:!0},function(){n.zoom()})},zoom:function(i){var u,e=this.pointer,f=!1,r;!i||i.resetSelection?t(this.axes,function(n){u=n.zoom()}):t(i.xAxis.concat(i.yAxis),function(n){var t=n.axis,i=t.isXAxis;(e[i?"zoomX":"zoomY"]||e[i?"pinchX":"pinchY"])&&(u=t.zoom(n.min,n.max),t.displayBtn&&(f=!0))}),r=this.resetZoomButton,f&&!r?this.showResetZoom():!f&&yt(r)&&(this.resetZoomButton=r.destroy()),u&&this.redraw(n(this.options.chart.animation,i&&i.animation,this.pointCount<100))},pan:function(n,i){var r=this,f=r.hoverPoints,e;f&&t(f,function(n){n.setState()}),t(i==="xy"?[1,0]:[1],function(t){var s=n[t?"chartX":"chartY"],i=r[t?"xAxis":"yAxis"][0],f=r[t?"mouseDownX":"mouseDownY"],h=(i.pointRange||0)/2,o=i.getExtremes(),c=i.toValue(f-s,!0)+h,f=i.toValue(f+r[t?"plotWidth":"plotHeight"]-s,!0)-h;i.series.length&&c>l(o.dataMin,o.min)&&f<u(o.dataMax,o.max)&&(i.setExtremes(c,f,!1,!1,{trigger:"pan"}),e=!0),r[t?"mouseDownX":"mouseDownY"]=s}),e&&r.redraw(!1),v(r.container,{cursor:"move"})}}),r(pi.prototype,{select:function(i,r){var u=this,f=u.series,e=f.chart,i=n(i,!u.selected);u.firePointEvent(i?"select":"unselect",{accumulate:r},function(){u.selected=u.options.selected=i,f.options.data[wi(u,f.data)]=u.options,u.setState(i&&"select"),r||t(e.getSelectedPoints(),function(n){n.selected&&n!==u&&(n.selected=n.options.selected=!1,f.options.data[wi(n,f.data)]=n.options,n.setState(""),n.firePointEvent("unselect"))})})},onMouseOver:function(n){var u=this.series,t=u.chart,i=t.tooltip,r=t.hoverPoint;r&&r!==this&&r.onMouseOut(),this.firePointEvent("mouseOver"),i&&(!i.shared||u.noSharedTooltip)&&i.refresh(this,n),this.setState("hover"),t.hoverPoint=this},onMouseOut:function(){var n=this.series.chart,t=n.hoverPoints;t&&wi(this,t)!==-1||(this.firePointEvent("mouseOut"),this.setState(),n.hoverPoint=null)},importEvents:function(){if(!this.hasImportedEvents){var n=s(this.series.options.point,this.options).events,t;this.events=n;for(t in n)b(this,t,n[t]);this.hasImportedEvents=!0}},setState:function(n,t){var e=this.plotX,l=this.plotY,u=this.series,a=u.options.states,i=lt[u.type].marker&&u.options.marker,p=i&&!i.enabled,h=i&&i.states[n],w=h&&h.enabled===!1,f=u.stateMarkerGraphic,o=this.marker||{},v=u.chart,c=u.halo,y,n=n||"";y=this.pointAttr[n]||u.pointAttr[n],n===this.state&&!t||this.selected&&n!=="select"||a[n]&&a[n].enabled===!1||n&&(w||p&&h.enabled===!1)||n&&o.states&&o.states[n]&&o.states[n].enabled===!1||(this.graphic?(i=i&&this.graphic.symbolName&&y.r,this.graphic.attr(s(y,i?{x:e-i,y:l-i,width:2*i,height:2*i}:{})),f&&f.hide()):(n&&h&&((i=h.radius,o=o.symbol||u.symbol,f&&f.currentSymbol!==o&&(f=f.destroy()),f)?f[t?"animate":"attr"]({x:e-i,y:l-i}):o&&(u.stateMarkerGraphic=f=v.renderer.symbol(o,e-i,l-i,2*i,2*i).attr(y).add(u.markerGroup),f.currentSymbol=o)),f&&f[n&&v.isInsidePlot(e,l,v.inverted)?"show":"hide"]()),(e=a[n]&&a[n].halo)&&e.size?(c||(u.halo=c=v.renderer.path().add(u.seriesGroup)),c.attr(r({fill:li(this.color||u.color).setOpacity(e.opacity).get()},e.attributes))[t?"animate":"attr"]({d:this.haloPath(e.size)})):c&&c.attr({d:[]}),this.state=n)},haloPath:function(n){var t=this.series,i=t.chart,r=t.getPlotBox(),u=i.inverted;return i.renderer.symbols.circle(r.translateX+(u?t.yAxis.len-this.plotY:this.plotX)-n,r.translateY+(u?t.xAxis.len-this.plotX:this.plotY)-n,n*2,n*2)}}),r(a.prototype,{onMouseOver:function(){var t=this.chart,n=t.hoverSeries;n&&n!==this&&n.onMouseOut(),this.options.events.mouseOver&&p(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this},onMouseOut:function(){var i=this.options,n=this.chart,t=n.tooltip,r=n.hoverPoint;r&&r.onMouseOut(),this&&i.events.mouseOut&&p(this,"mouseOut"),t&&!i.stickyTracking&&(!t.shared||this.noSharedTooltip)&&t.hide(),this.setState(),n.hoverSeries=null},setState:function(n){var t=this.options,i=this.graph,u=this.graphNeg,r=t.states,t=t.lineWidth,n=n||"";this.state!==n&&(this.state=n,r[n]&&r[n].enabled===!1||(n&&(t=r[n].lineWidth||t+1),i&&!i.dashstyle&&(n={"stroke-width":t},i.attr(n),u&&u.attr(n))))},setVisible:function(n,i){var r=this,u=r.chart,o=r.legendItem,e,s=u.options.chart.ignoreHiddenSeries,h=r.visible;e=(r.visible=n=r.userOptions.visible=n===f?!h:n)?"show":"hide",t(["group","dataLabelsGroup","markerGroup","tracker"],function(n){r[n]&&r[n][e]()}),u.hoverSeries===r&&r.onMouseOut(),o&&u.legend.colorizeItem(r,n),r.isDirty=!0,r.options.stacking&&t(u.series,function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)}),t(r.linkedSeries,function(t){t.setVisible(n,!1)}),s&&(u.isDirtyBox=!0),i!==!1&&u.redraw(),p(r,e)},setTooltipPoints:function(n){var r=[],e,s,i=this.xAxis,a=i&&i.getExtremes(),c=i?i.tooltipLen||i.len:this.chart.plotSizeX,h,o,v=[];if(!(this.options.enableMouseTracking===!1||this.singularTooltips)){for(n&&(this.tooltipPoints=null),t(this.segments||this.points,function(n){r=r.concat(n)}),i&&i.reversed&&(r=r.reverse()),this.orderTooltipPoints&&this.orderTooltipPoints(r),n=r.length,o=0;o<n;o++)if(i=r[o],e=i.x,e>=a.min&&e<=a.max)for(h=r[o+1],e=s===f?0:s+1,s=r[o+1]?l(u(0,ft((i.clientX+(h?h.wrappedClientX||h.clientX:c))/2)),c):c;e>=0&&e<=s;)v[e++]=i;this.tooltipPoints=v}},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=n===f?!this.selected:n,this.checkbox&&(this.checkbox.checked=n),p(this,n?"select":"unselect")},drawTracker:tt.drawTrackerGraph}),r(rt,{Axis:gt,Chart:dr,Color:li,Point:pi,Tick:wr,Renderer:iu,Series:a,SVGElement:ut,SVGRenderer:ii,arrayMin:cr,arrayMax:bi,charts:ot,dateFormat:su,format:ir,pathAnim:ku,getOptions:function(){return nt},hasBidiBug:re,isTouchDevice:lf,numberFormat:rr,seriesTypes:w,setOptions:function(n){return nt=s(!0,nt,n),ef(),nt},addEvent:b,removeEvent:ht,createElement:ct,discardElement:yr,css:v,each:t,extend:r,map:or,merge:s,pick:n,splat:ci,extendClass:ri,pInt:h,wrap:sr,svg:vt,canvas:wt,vml:!vt&&!wt,product:"Highcharts",version:"4.0.1"})}(),function(n,t){function it(n,t,i){this.init.call(this,n,t,i)}var ut=n.arrayMin,ot=n.arrayMax,u=n.each,k=n.extend,o=n.merge,st=n.map,r=n.pick,v=n.pInt,f=n.getOptions().plotOptions,i=n.seriesTypes,h=n.extendClass,tt=n.splat,e=n.wrap,nt=n.Axis,b=n.Tick,d=n.Point,ct=n.Pointer,ht=n.CenteredSeriesMixin,y=n.TrackerMixin,c=n.Series,a=Math,p=a.round,l=a.floor,ft=a.max,et=n.Color,s=function(){};k(it.prototype,{init:function(n,t,i){var r=this,f=r.defaultOptions;r.chart=t,t.angular&&(f.background={}),r.options=n=o(f,n),(n=n.background)&&u([].concat(tt(n)).reverse(),function(n){var t=n.backgroundColor,n=o(r.defaultBackgroundOptions,n);t&&(n.backgroundColor=t),n.color=n.backgroundColor,i.options.plotBands.unshift(n)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",borderWidth:1,borderColor:"silver",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#FFF"],[1,"#DDD"]]},from:Number.MIN_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});var w=nt.prototype,b=b.prototype,rt={getOffset:s,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:s,setCategories:s,setTitle:s},g={isRadial:!0,defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(n){n=this.options=o(this.defaultOptions,this.defaultRadialOptions,n),n.plotBands||(n.plotBands=[])},getOffset:function(){w.getOffset.call(this),this.chart.axisOffset[this.side]=0,this.center=this.pane.center=ht.getCenter.call(this.pane)},getLinePath:function(n,t){var i=this.center,t=r(t,i[2]/2-this.offset);return this.chart.renderer.symbols.arc(this.left+i[0],this.top+i[1],t,t,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})},setAxisTranslation:function(){w.setAxisTranslation.call(this),this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0)},setAxisSize:function(){w.setAxisSize.call(this),this.isRadial&&(this.center=this.pane.center=n.CenteredSeriesMixin.getCenter.call(this.pane),this.isCircular&&(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*r(this.sector,1)/2)},getPosition:function(n,t){return this.postTranslate(this.isCircular?this.translate(n):0,r(this.isCircular?t:this.translate(n),this.center[2]/2)-this.offset)},postTranslate:function(n,t){var i=this.chart,r=this.center,n=this.startAngleRad+n;return{x:i.plotLeft+r[0]+Math.cos(n)*t,y:i.plotTop+r[1]+Math.sin(n)*t}},getPlotBandPath:function(n,t,i){var f=this.center,e=this.startAngleRad,h=f[2]/2,u=[r(i.outerRadius,"100%"),i.innerRadius,r(i.thickness,10)],c=/%$/,o,s=this.isCircular;return this.options.gridLineInterpolation==="polygon"?f=this.getPlotLinePath(n).concat(this.getPlotLinePath(t,!0)):(s||(u[0]=this.translate(n),u[1]=this.translate(t)),u=st(u,function(n){return c.test(n)&&(n=v(n,10)*h/100),n}),i.shape==="circle"||!s?(n=-Math.PI/2,t=Math.PI*1.5,o=!0):(n=e+this.translate(n),t=e+this.translate(t)),f=this.chart.renderer.symbols.arc(this.left+f[0],this.top+f[1],u[0],u[0],{start:n,end:t,innerR:r(u[1],u[0]-u[2]),open:o})),f},getPlotLinePath:function(n,t){var i=this,r=i.center,o=i.chart,h=i.getPosition(n),e,s,f;return i.isCircular?f=["M",r[0]+o.plotLeft,r[1]+o.plotTop,"L",h.x,h.y]:i.options.gridLineInterpolation==="circle"?(n=i.translate(n))&&(f=i.getLinePath(0,n)):(u(o.xAxis,function(n){n.pane===i.pane&&(e=n)}),f=[],n=i.translate(n),r=e.tickPositions,e.autoConnect&&(r=r.concat([r[0]])),t&&(r=[].concat(r).reverse()),u(r,function(t,i){s=e.getPosition(t,n),f.push(i?"L":"M",s.x,s.y)})),f},getTitlePosition:function(){var n=this.center,i=this.chart,t=this.options.title;return{x:i.plotLeft+n[0]+(t.x||0),y:i.plotTop+n[1]-{high:.5,middle:.25,low:0}[t.align]*n[2]+(t.y||0)}}};e(w,"init",function(n,i,u){var l,s=i.angular,a=i.polar,h=u.isX,v=s&&h,c,e,f;e=i.options,f=u.pane||0,s?(k(this,v?rt:g),c=!h)&&(this.defaultRadialOptions=this.defaultRadialGaugeOptions):a&&(k(this,g),this.defaultRadialOptions=(c=h)?this.defaultRadialXOptions:o(this.defaultYAxisOptions,this.defaultRadialYOptions)),n.call(this,i,u),!v&&(s||a)&&(n=this.options,i.panes||(i.panes=[]),this.pane=(l=i.panes[f]=i.panes[f]||new it(tt(e.pane)[f],i,this),f=l),f=f.options,i.inverted=!1,e.chart.zoomType=null,this.startAngleRad=i=(f.startAngle-90)*Math.PI/180,this.endAngleRad=e=(r(f.endAngle,f.startAngle+360)-90)*Math.PI/180,this.offset=n.offset||0,(this.isCircular=c)&&u.max===t&&e-i==2*Math.PI&&(this.autoConnect=!0))}),e(b,"getPosition",function(n,t,i,r,u){var f=this.axis;return f.getPosition?f.getPosition(i):n.call(this,t,i,r,u)}),e(b,"getLabelPosition",function(n,t,i,u,f,e,o,s,h){var c=this.axis,a=e.y,v=e.align,l=(c.translate(this.pos)+c.startAngleRad+Math.PI/2)/Math.PI*180%360;return c.isRadial?(n=c.getPosition(this.pos,c.center[2]/2+r(e.distance,-25)),e.rotation==="auto"?u.attr({rotation:l}):a===null&&(a=c.chart.renderer.fontMetrics(u.styles.fontSize).b-u.getBBox().height/2),v===null&&(v=c.isCircular?l>20&&l<160?"left":l>200&&l<340?"right":"center":"center",u.attr({align:v})),n.x+=e.x,n.y+=a):n=n.call(this,t,i,u,f,e,o,s,h),n}),e(b,"getMarkPath",function(n,t,i,r,u,f,e){var o=this.axis;return o.isRadial?(n=o.getPosition(this.pos,o.center[2]/2+r),t=["M",t,i,"L",n.x,n.y]):t=n.call(this,t,i,r,u,f,e),t}),f.arearange=o(f.area,{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},trackByArea:!0,dataLabels:{verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}}),i.arearange=h(i.area,{type:"arearange",pointArrayMap:["low","high"],toYData:function(n){return[n.low,n.high]},pointValKey:"low",getSegments:function(){var n=this;u(n.points,function(t){n.options.connectNulls||t.low!==null&&t.high!==null?t.low===null&&t.high!==null&&(t.y=t.high):t.y=null}),c.prototype.getSegments.call(this)},translate:function(){var n=this.yAxis;i.area.prototype.translate.apply(this),u(this.points,function(t){var r=t.low,i=t.high,u=t.plotY;i===null&&r===null?t.y=null:r===null?(t.plotLow=t.plotY=null,t.plotHigh=n.translate(i,0,1,0,1)):i===null?(t.plotLow=u,t.plotHigh=null):(t.plotLow=u,t.plotHigh=n.translate(i,0,1,0,1))})},getSegmentPath:function(n){for(var t=[],e=n.length,o=c.prototype.getSegmentPath,u,i=this.options,r=i.step,f=HighchartsAdapter.grep(n,function(n){return n.plotLow!==null});e--;)u=n[e],u.plotHigh!==null&&t.push({plotX:u.plotX,plotY:u.plotHigh});return n=o.call(this,f),r&&(r===!0&&(r="left"),i.step={left:"right",center:"center",right:"left"}[r]),t=o.call(this,t),i.step=r,i=[].concat(n,t),t[0]="L",this.areaPath=this.areaPath.concat(n,t),i},drawDataLabels:function(){var u=this.data,f=u.length,i,e=[],r=c.prototype,t=this.options.dataLabels,n,o=this.chart.inverted;if(t.enabled||this._hasPointLabels){for(i=f;i--;)n=u[i],n.y=n.high,n._plotY=n.plotY,n.plotY=n.plotHigh,e[i]=n.dataLabel,n.dataLabel=n.dataLabelUpper,n.below=!1,o?(t.align="left",t.x=t.xHigh):t.y=t.yHigh;for(r.drawDataLabels&&r.drawDataLabels.apply(this,arguments),i=f;i--;)n=u[i],n.dataLabelUpper=n.dataLabel,n.dataLabel=e[i],n.y=n.low,n.plotY=n._plotY,n.below=!0,o?(t.align="right",t.x=t.xLow):t.y=t.yLow;r.drawDataLabels&&r.drawDataLabels.apply(this,arguments)}},alignDataLabel:function(){i.column.prototype.alignDataLabel.apply(this,arguments)},getSymbol:i.column.prototype.getSymbol,drawPoints:s}),f.areasplinerange=o(f.arearange),i.areasplinerange=h(i.arearange,{type:"areasplinerange",getPointSpline:i.spline.prototype.getPointSpline}),function(){var n=i.column.prototype;f.columnrange=o(f.column,f.arearange,{lineWidth:1,pointRange:null}),i.columnrange=h(i.arearange,{type:"columnrange",translate:function(){var t=this,r=t.yAxis,i;n.translate.apply(t),u(t.points,function(n){var e=n.shapeArgs,u=t.options.minPointLength,f;n.tooltipPos=null,n.plotHigh=i=r.translate(n.high,0,1,0,1),n.plotLow=n.plotY,f=i,n=n.plotY-i,n<u&&(u-=n,n+=u,f-=u/2),e.height=n,e.y=f})},trackerGroups:["group","dataLabels"],drawGraph:s,pointAttrToOptions:n.pointAttrToOptions,drawPoints:n.drawPoints,drawTracker:n.drawTracker,animate:n.animate,getColumnMetrics:n.getColumnMetrics})}(),f.gauge=o(f.line,{dataLabels:{enabled:!0,defer:!1,y:15,borderWidth:1,borderColor:"silver",borderRadius:3,crop:!1,style:{fontWeight:"bold"},verticalAlign:"top",zIndex:2},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1}),y={type:"gauge",pointClass:h(d,{setState:function(n){this.state=n}}),angular:!0,drawGraph:s,fixedBox:!0,forceDL:!0,trackerGroups:["group","dataLabels"],translate:function(){var n=this.yAxis,i=this.options,t=n.center;this.generatePoints(),u(this.points,function(u){var e=o(i.dial,u.dial),h=v(r(e.radius,80))*t[2]/200,l=v(r(e.baseLength,70))*h/100,a=v(r(e.rearLength,10))*h/100,c=e.baseWidth||3,y=e.topWidth||1,s=i.overshoot,f=n.startAngleRad+n.translate(u.y,null,null,null,!0);s&&typeof s=="number"?(s=s/180*Math.PI,f=Math.max(n.startAngleRad-s,Math.min(n.endAngleRad+s,f))):i.wrap===!1&&(f=Math.max(n.startAngleRad,Math.min(n.endAngleRad,f))),f=f*180/Math.PI,u.shapeType="path",u.shapeArgs={d:e.path||["M",-a,-c/2,"L",l,-c/2,h,-y/2,h,y/2,l,c/2,-a,c/2,"z"],translateX:t[0],translateY:t[1],rotation:f},u.plotX=t[0],u.plotY=t[1]})},drawPoints:function(){var n=this,t=n.yAxis.center,f=n.pivot,e=n.options,i=e.pivot,s=n.chart.renderer;u(n.points,function(t){var u=t.graphic,i=t.shapeArgs,f=i.d,r=o(e.dial,t.dial);u?(u.animate(i),i.d=f):t.graphic=s[t.shapeType](i).attr({stroke:r.borderColor||"none","stroke-width":r.borderWidth||0,fill:r.backgroundColor||"black",rotation:i.rotation}).add(n.group)}),f?f.animate({translateX:t[0],translateY:t[1]}):n.pivot=s.circle(0,0,r(i.radius,5)).attr({"stroke-width":i.borderWidth||0,stroke:i.borderColor||"silver",fill:i.backgroundColor||"black"}).translate(t[0],t[1]).add(n.group)},animate:function(n){var t=this;n||(u(t.points,function(n){var i=n.graphic;i&&(i.attr({rotation:t.yAxis.startAngleRad*180/Math.PI}),i.animate({rotation:n.shapeArgs.rotation},t.options.animation))}),t.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup),c.prototype.render.call(this),this.group.clip(this.chart.clipRect)},setData:function(n,t){c.prototype.setData.call(this,n,!1),this.processData(),this.generatePoints(),r(t,!0)&&this.chart.redraw()},drawTracker:y&&y.drawTrackerPoint},i.gauge=h(i.line,y),f.boxplot=o(f.column,{fillColor:"#FFFFFF",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">●</span> <b> {series.name}</b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},whiskerLength:"50%",whiskerWidth:2}),i.boxplot=h(i.column,{type:"boxplot",pointArrayMap:["low","q1","median","q3","high"],toYData:function(n){return[n.low,n.q1,n.median,n.q3,n.high]},pointValKey:"high",pointAttrToOptions:{fill:"fillColor",stroke:"color","stroke-width":"lineWidth"},drawDataLabels:s,translate:function(){var n=this.yAxis,t=this.pointArrayMap;i.column.prototype.translate.apply(this),u(this.points,function(i){u(t,function(t){i[t]!==null&&(i[t+"Plot"]=n.translate(i[t],0,1,0,1))})})},drawPoints:function(){var o=this,lt=o.points,f=o.options,g=o.chart.renderer,et,v,c,b,nt,st,n,i,s,ct,w,rt,ut,d,ft,y,ot,e,k,a,ht,it,tt=o.doQuartiles!==!1,h=parseInt(o.options.whiskerLength,10)/100;u(lt,function(u){s=u.graphic,ht=u.shapeArgs,w={},d={},y={},it=u.color||o.color,u.plotY!==t&&((et=u.pointAttr[u.selected?"selected":""],ot=ht.width,e=l(ht.x),k=e+ot,a=p(ot/2),v=l(tt?u.q1Plot:u.lowPlot),c=l(tt?u.q3Plot:u.lowPlot),b=l(u.highPlot),nt=l(u.lowPlot),w.stroke=u.stemColor||f.stemColor||it,w["stroke-width"]=r(u.stemWidth,f.stemWidth,f.lineWidth),w.dashstyle=u.stemDashStyle||f.stemDashStyle,d.stroke=u.whiskerColor||f.whiskerColor||it,d["stroke-width"]=r(u.whiskerWidth,f.whiskerWidth,f.lineWidth),y.stroke=u.medianColor||f.medianColor||it,y["stroke-width"]=r(u.medianWidth,f.medianWidth,f.lineWidth),y["stroke-linecap"]="round",n=w["stroke-width"]%2/2,i=e+a+n,ct=["M",i,c,"L",i,b,"M",i,v,"L",i,nt],tt&&(n=et["stroke-width"]%2/2,i=l(i)+n,v=l(v)+n,c=l(c)+n,e+=n,k+=n,rt=["M",e,c,"L",e,v,"L",k,v,"L",k,c,"L",e,c,"z"]),h&&(n=d["stroke-width"]%2/2,b+=n,nt+=n,ut=["M",i-a*h,b,"L",i+a*h,b,"M",i-a*h,nt,"L",i+a*h,nt]),n=y["stroke-width"]%2/2,st=p(u.medianPlot)+n,ft=["M",e,st,"L",k,st],s)?(u.stem.animate({d:ct}),h&&u.whiskers.animate({d:ut}),tt&&u.box.animate({d:rt}),u.medianShape.animate({d:ft})):(u.graphic=s=g.g().add(o.group),u.stem=g.path(ct).attr(w).add(s),h&&(u.whiskers=g.path(ut).attr(d).add(s)),tt&&(u.box=g.path(rt).attr(et).add(s)),u.medianShape=g.path(ft).attr(y).add(s)))})}}),f.errorbar=o(f.boxplot,{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{series.color}">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},whiskerWidth:null}),i.errorbar=h(i.boxplot,{type:"errorbar",pointArrayMap:["low","high"],toYData:function(n){return[n.low,n.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:i.arearange?i.arearange.prototype.drawDataLabels:s,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||i.column.prototype.getColumnMetrics.call(this)}}),f.waterfall=o(f.column,{lineWidth:1,lineColor:"#333",dashStyle:"dot",borderColor:"#333"}),i.waterfall=h(i.column,{type:"waterfall",upColorProp:"fill",pointArrayMap:["low","y"],pointValKey:"y",init:function(n,t){t.stacking=!0,i.column.prototype.init.call(this,n,t)},translate:function(){var o=this.yAxis,u,r,s,t,n,h,c,f,e;for(u=this.options.threshold,i.column.prototype.translate.apply(this),f=u,s=this.points,r=0,u=s.length;r<u;r++)t=s[r],n=t.shapeArgs,h=this.getStack(r),e=h.points[this.index+","+r],isNaN(t.y)&&(t.y=this.yData[r]),c=ft(f,f+t.y)+e[0],n.y=o.translate(c,0,1),t.isSum||t.isIntermediateSum?(n.y=o.translate(e[1],0,1),n.height=o.translate(e[0],0,1)-n.y):f+=h.total,n.height<0&&(n.y+=n.height,n.height*=-1),t.plotY=n.y=p(n.y)-this.borderWidth%2/2,n.height=p(n.height),t.yBottom=n.y+n.height},processData:function(n){for(var u=this.yData,s=this.points,h,a=u.length,l=this.options.threshold||0,f,e,o,r,i=f=e=o=l,t=0;t<a;t++)r=u[t],h=s&&s[t]?s[t]:{},r==="sum"||h.isSum?u[t]=i:r==="intermediateSum"||h.isIntermediateSum?(u[t]=f,f=l):(i+=r,f+=r),e=Math.min(i,e),o=Math.max(i,o);c.prototype.processData.call(this,n),this.dataMin=e,this.dataMax=o},toYData:function(n){return n.isSum?"sum":n.isIntermediateSum?"intermediateSum":n.y},getAttribs:function(){i.column.prototype.getAttribs.apply(this,arguments);var f=this.options,s=f.states,t=f.upColor||this.color,f=n.Color(t).brighten(.1).get(),r=o(this.pointAttr),e=this.upColorProp;r[""][e]=t,r.hover[e]=s.hover.upColor||f,r.select[e]=s.select.upColor||t,u(this.points,function(n){n.y>0&&!n.color&&(n.pointAttr=r,n.color=t)})},getGraphPath:function(){for(var r=this.data,e=r.length,f=p(this.options.lineWidth+this.borderWidth)%2/2,u=[],n,t,i=1;i<e;i++)t=r[i].shapeArgs,n=r[i-1].shapeArgs,t=["M",n.x+n.width,n.y+f,"L",t.x,n.y+f],r[i-1].y<0&&(t[2]+=n.height,t[5]+=n.height),u=u.concat(t);return u},getExtremes:s,getStack:function(n){var i=this.yAxis.stacks,t=this.stackKey;return this.processedYData[n]<this.options.threshold&&(t="-"+t),i[t][n]},drawGraph:c.prototype.drawGraph}),f.bubble=o(f.scatter,{dataLabels:{format:"{point.z}",inside:!0,style:{color:"white",textShadow:"0px 0px 3px black"},verticalAlign:"middle"},marker:{lineColor:null,lineWidth:1},minSize:8,maxSize:"20%",states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0}),y=h(d,{haloPath:function(){return d.prototype.haloPath.call(this,this.shapeArgs.r+this.series.options.states.hover.halo.size)}}),i.bubble=h(i.scatter,{type:"bubble",pointClass:y,pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],bubblePadding:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor"},applyOpacity:function(n){var t=this.options.marker,i=r(t.fillOpacity,.5),n=n||t.fillColor||this.color;return i!==1&&(n=et(n).setOpacity(i).get("rgba")),n},convertAttribs:function(){var n=c.prototype.convertAttribs.apply(this,arguments);return n.fill=this.applyOpacity(n.fill),n},getRadii:function(n,t,i,r){for(var u,o=this.zData,s=[],h=this.options.sizeBy!=="width",f=0,e=o.length;f<e;f++)u=t-n,u=u>0?(o[f]-n)/(t-n):.5,h&&u>=0&&(u=Math.sqrt(u)),s.push(a.ceil(i+u*(r-i))/2);this.radii=s},animate:function(n){var t=this.options.animation;n||(u(this.points,function(n){var i=n.graphic,n=n.shapeArgs;i&&n&&(i.attr("r",1),i.animate({r:n.r},t))}),this.animate=null)},translate:function(){var u,f=this.data,n,r,e=this.radii;for(i.scatter.prototype.translate.call(this),u=f.length;u--;)n=f[u],r=e?e[u]:0,n.negative=n.z<(this.options.zThreshold||0),r>=this.minPxSize/2?(n.shapeType="circle",n.shapeArgs={x:n.plotX,y:n.plotY,r:r},n.dlBox={x:n.plotX-r,y:n.plotY-r,width:2*r,height:2*r}):n.shapeArgs=n.plotY=n.dlBox=t},drawLegendSymbol:function(n,t){var i=v(n.itemStyle.fontSize)/2;t.legendSymbol=this.chart.renderer.circle(i,n.baseline-i,i).attr({zIndex:3}).add(t.legendGroup),t.legendSymbol.isMarker=!0},drawPoints:i.column.prototype.drawPoints,alignDataLabel:i.column.prototype.alignDataLabel}),nt.prototype.beforePadding=function(){var b=this,n=this.len,s=this.chart,e=0,i=n,h=this.isXAxis,k=h?"xData":"yData",c=this.min,o={},d=a.min(s.plotWidth,s.plotHeight),l=Number.MAX_VALUE,y=-Number.MAX_VALUE,p=this.max-c,f=n/p,w=[];this.tickPositions&&(u(this.series,function(n){var t=n.options;n.bubblePadding&&(n.visible||!s.options.chart.ignoreHiddenSeries)&&(b.allowZoomOutside=!0,w.push(n),h)&&(u(["minSize","maxSize"],function(n){var i=t[n],r=/%$/.test(i),i=v(i);o[n]=r?d*i/100:i}),n.minPxSize=o.minSize,n=n.zData,n.length&&(l=a.min(l,a.max(ut(n),t.displayNegative===!1?t.zThreshold:-Number.MAX_VALUE)),y=a.max(y,ot(n))))}),u(w,function(n){var r=n[k],t=r.length,u;if(h&&n.getRadii(l,y,o.minSize,o.maxSize),p>0)for(;t--;)typeof r[t]=="number"&&(u=n.radii[t],e=Math.min((r[t]-c)*f-u,e),i=Math.max((r[t]-c)*f+u,i))}),w.length&&p>0&&r(this.options.min,this.userMin)===t&&r(this.options.max,this.userMax)===t&&(i-=n,f*=(n+e-i)/n,this.min+=e/f,this.max+=i/f))},function(){function f(n,t,i){n.call(this,t,i),this.chart.polar&&(this.closeSegment=function(n){var t=this.xAxis.center;n.push("L",t[0],t[1])},this.closedStacks=!0)}function o(n,t){var i=this.chart,r=this.options.animation,f=this.group,u=this.markerGroup,e=this.xAxis.center,o=i.plotLeft,s=i.plotTop;i.polar?i.renderer.isSVG&&(r===!0&&(r={}),t?(i={translateX:e[0]+o,translateY:e[1]+s,scaleX:.001,scaleY:.001},f.attr(i),u&&u.attr(i)):(i={translateX:o,translateY:s,scaleX:1,scaleY:1},f.animate(i,r),u&&u.animate(i,r),this.animate=null)):n.call(this,t)}var n=c.prototype,s=ct.prototype,t;n.toXY=function(n){var t,r=this.chart,i=n.plotX;t=n.plotY,n.rectPlotX=i,n.rectPlotY=t,i=(i/Math.PI*180+this.xAxis.pane.options.startAngle)%360,i<0&&(i+=360),n.clientX=i,t=this.xAxis.postTranslate(n.plotX,this.yAxis.len-t),n.plotX=n.polarPlotX=t.x-r.plotLeft,n.plotY=n.polarPlotY=t.y-r.plotTop},n.orderTooltipPoints=function(n){this.chart.polar&&(n.sort(function(n,t){return n.clientX-t.clientX}),n[0])&&(n[0].wrappedClientX=n[0].clientX+360,n.push(n[0]))},i.area&&e(i.area.prototype,"init",f),i.areaspline&&e(i.areaspline.prototype,"init",f),i.spline&&e(i.spline.prototype,"getPointSpline",function(n,t,i,r){var u,f,o,s,h,c,e;return this.chart.polar?(u=i.plotX,f=i.plotY,n=t[r-1],o=t[r+1],this.connectEnds&&(n||(n=t[t.length-2]),o||(o=t[1])),n&&o&&(s=n.plotX,h=n.plotY,t=o.plotX,c=o.plotY,s=(1.5*u+s)/2.5,h=(1.5*f+h)/2.5,o=(1.5*u+t)/2.5,e=(1.5*f+c)/2.5,t=Math.sqrt(Math.pow(s-u,2)+Math.pow(h-f,2)),c=Math.sqrt(Math.pow(o-u,2)+Math.pow(e-f,2)),s=Math.atan2(h-f,s-u),h=Math.atan2(e-f,o-u),e=Math.PI/2+(s+h)/2,Math.abs(s-e)>Math.PI/2&&(e-=Math.PI),s=u+Math.cos(e)*t,h=f+Math.sin(e)*t,o=u+Math.cos(Math.PI+e)*c,e=f+Math.sin(Math.PI+e)*c,i.rightContX=o,i.rightContY=e),r?(i=["C",n.rightContX||n.plotX,n.rightContY||n.plotY,s||u,h||f,u,f],n.rightContX=n.rightContY=null):i=["M",u,f]):i=n.call(this,t,i,r),i}),e(n,"translate",function(n){if(n.call(this),this.chart.polar&&!this.preventPostTranslate)for(var n=this.points,t=n.length;t--;)this.toXY(n[t])}),e(n,"getSegmentPath",function(n,t){var i=this.points;return this.chart.polar&&this.options.connectEnds!==!1&&t[t.length-1]===i[i.length-1]&&i[0].y!==null&&(this.connectEnds=!0,t=[].concat(t,[i[0]])),n.call(this,t)}),e(n,"animate",o),e(n,"setTooltipPoints",function(n,t){return this.chart.polar&&k(this.xAxis,{tooltipLen:360}),n.call(this,t)}),i.column&&(t=i.column.prototype,e(t,"animate",o),e(t,"translate",function(n){var i=this.xAxis,u=this.yAxis.len,f=i.center,o=i.startAngleRad,s=this.chart.renderer,t,e;if(this.preventPostTranslate=!0,n.call(this),i.isRadial)for(i=this.points,e=i.length;e--;)t=i[e],n=t.barX+o,t.shapeType="path",t.shapeArgs={d:s.symbols.arc(f[0],f[1],u-t.plotY,null,{start:n,end:n+t.pointWidth,innerR:u-r(t.yBottom,u)})},this.toXY(t),t.tooltipPos=[t.plotX,t.plotY],t.ttBelow=t.plotY>f[1]}),e(t,"alignDataLabel",function(t,i,r,u,f,e){this.chart.polar?(t=i.rectPlotX/Math.PI*180,u.align===null&&(u.align=t>20&&t<160?"left":t>200&&t<340?"right":"center"),u.verticalAlign===null&&(u.verticalAlign=t<45||t>315?"bottom":t>135&&t<225?"top":"middle"),n.alignDataLabel.call(this,i,r,u,f,e)):t.call(this,i,r,u,f,e)})),e(s,"getIndex",function(n,t){var r,i=this.chart,u;return i.polar?(u=i.xAxis[0].center,r=t.chartX-u[0]-i.plotLeft,i=t.chartY-u[1]-i.plotTop,r=180-Math.round(Math.atan2(r,i)/Math.PI*180)):r=n.call(this,t),r}),e(s,"getCoordinates",function(n,t){var i=this.chart,r={xAxis:[],yAxis:[]};return i.polar?u(i.axes,function(n){var f=n.isXAxis,u=n.center,e=t.chartX-u[0]-i.plotLeft,u=t.chartY-u[1]-i.plotTop;r[f?"xAxis":"yAxis"].push({axis:n,value:n.translate(f?Math.PI-Math.atan2(e,u):Math.sqrt(Math.pow(e,2)+Math.pow(u,2)),!0)})}):r=n.call(this,t),r})}()}(Highcharts),function(){"use strict";function n(r){if(!r)throw new Error("No options passed to Waypoint constructor");if(!r.element)throw new Error("No element option passed to Waypoint constructor");if(!r.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+i,this.options=n.Adapter.extend({},n.defaults,r),this.element=this.options.element,this.adapter=new n.Adapter(this.element),this.callback=r.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=n.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=n.Context.findOrCreateByElement(this.options.context),n.offsetAliases[this.options.offset]&&(this.options.offset=n.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),t[this.key]=this,i+=1}var i=0,t={};n.prototype.queueTrigger=function(n){this.group.queueTrigger(this,n)},n.prototype.trigger=function(n){this.enabled&&this.callback&&this.callback.apply(this,n)},n.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete t[this.key]},n.prototype.disable=function(){return this.enabled=!1,this},n.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},n.prototype.next=function(){return this.group.next(this)},n.prototype.previous=function(){return this.group.previous(this)},n.invokeAll=function(n){var r=[],u,i,f;for(u in t)r.push(t[u]);for(i=0,f=r.length;i<f;i++)r[i][n]()},n.destroyAll=function(){n.invokeAll("destroy")},n.disableAll=function(){n.invokeAll("disable")},n.enableAll=function(){n.invokeAll("enable")},n.refreshAll=function(){n.Context.refreshAll()},n.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},n.viewportWidth=function(){return document.documentElement.clientWidth},n.adapters=[],n.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},n.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=n}(),function(){"use strict";function f(n){window.setTimeout(n,1e3/60)}function n(n){this.element=n,this.Adapter=t.Adapter,this.adapter=new this.Adapter(n),this.key="waypoint-context-"+r,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},n.waypointContextKey=this.key,i[n.waypointContextKey]=this,r+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var r=0,i={},t=window.Waypoint,u=window.onload;n.prototype.add=function(n){var t=n.options.horizontal?"horizontal":"vertical";this.waypoints[t][n.key]=n,this.refresh()},n.prototype.checkEmpty=function(){var n=this.Adapter.isEmptyObject(this.waypoints.horizontal),t=this.Adapter.isEmptyObject(this.waypoints.vertical);n&&t&&(this.adapter.off(".waypoints"),delete i[this.key])},n.prototype.createThrottledResizeHandler=function(){function i(){n.handleResize(),n.didResize=!1}var n=this;this.adapter.on("resize.waypoints",function(){n.didResize||(n.didResize=!0,t.requestAnimationFrame(i))})},n.prototype.createThrottledScrollHandler=function(){function i(){n.handleScroll(),n.didScroll=!1}var n=this;this.adapter.on("scroll.waypoints",function(){(!n.didScroll||t.isTouch)&&(n.didScroll=!0,t.requestAnimationFrame(i))})},n.prototype.handleResize=function(){t.Context.refreshAll()},n.prototype.handleScroll=function(){var u={},i={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}},r,f,s;for(r in i){var n=i[r],h=n.newScroll>n.oldScroll,c=h?n.forward:n.backward;for(f in this.waypoints[r]){var t=this.waypoints[r][f],e=n.oldScroll<t.triggerPoint,o=n.newScroll>=t.triggerPoint,l=e&&o,a=!e&&!o;(l||a)&&(t.queueTrigger(c),u[t.group.id]=t.group)}}for(s in u)u[s].flushTriggers();this.oldScroll={x:i.horizontal.newScroll,y:i.vertical.newScroll}},n.prototype.innerHeight=function(){return this.element==this.element.window?t.viewportHeight():this.adapter.innerHeight()},n.prototype.remove=function(n){delete this.waypoints[n.axis][n.key],this.checkEmpty()},n.prototype.innerWidth=function(){return this.element==this.element.window?t.viewportWidth():this.adapter.innerWidth()},n.prototype.destroy=function(){var t=[],i,r,n,u;for(i in this.waypoints)for(r in this.waypoints[i])t.push(this.waypoints[i][r]);for(n=0,u=t.length;n<u;n++)t[n].destroy()},n.prototype.refresh=function(){var u=this.element==this.element.window,l=this.adapter.offset(),r={},e,f,t,c,b;this.handleScroll(),e={horizontal:{contextOffset:u?0:l.left,contextScroll:u?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:u?0:l.top,contextScroll:u?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(f in e){t=e[f];for(c in this.waypoints[f]){var n=this.waypoints[f][c],i=n.options.offset,v=n.triggerPoint,y=0,o=v==null,p,s,h,w,a;n.element!==n.element.window&&(y=n.adapter.offset()[t.offsetProp]),typeof i=="function"?i=i.apply(n):typeof i=="string"&&(i=parseFloat(i),n.options.offset.indexOf("%")>-1&&(i=Math.ceil(t.contextDimension*i/100))),p=t.contextScroll-t.contextOffset,n.triggerPoint=y+p-i,s=v<t.oldScroll,h=n.triggerPoint>=t.oldScroll,w=s&&h,a=!s&&!h,!o&&w?(n.queueTrigger(t.backward),r[n.group.id]=n.group):!o&&a?(n.queueTrigger(t.forward),r[n.group.id]=n.group):o&&t.oldScroll>=n.triggerPoint&&(n.queueTrigger(t.forward),r[n.group.id]=n.group)}}for(b in r)r[b].flushTriggers();return this},n.findOrCreateByElement=function(t){return n.findByElement(t)||new n(t)},n.refreshAll=function(){for(var n in i)i[n].refresh()},n.findByElement=function(n){return i[n.waypointContextKey]},window.onload=function(){u&&u(),n.refreshAll()},t.requestAnimationFrame=function(n){var t=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||f;t.call(window,n)},t.Context=n}(),function(){"use strict";function i(n,t){return n.triggerPoint-t.triggerPoint}function u(n,t){return t.triggerPoint-n.triggerPoint}function n(n){this.name=n.name,this.axis=n.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),r[this.axis][this.name]=this}var r={vertical:{},horizontal:{}},t=window.Waypoint;n.prototype.add=function(n){this.waypoints.push(n)},n.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},n.prototype.flushTriggers=function(){var n,t,e,r,o,f;for(n in this.triggerQueues)for(t=this.triggerQueues[n],e=n==="up"||n==="left",t.sort(e?u:i),r=0,o=t.length;r<o;r+=1)f=t[r],(f.options.continuous||r===t.length-1)&&f.trigger([n]);this.clearTriggerQueues()},n.prototype.next=function(n){this.waypoints.sort(i);var r=t.Adapter.inArray(n,this.waypoints),u=r===this.waypoints.length-1;return u?null:this.waypoints[r+1]},n.prototype.previous=function(n){this.waypoints.sort(i);var r=t.Adapter.inArray(n,this.waypoints);return r?this.waypoints[r-1]:null},n.prototype.queueTrigger=function(n,t){this.triggerQueues[t].push(n)},n.prototype.remove=function(n){var i=t.Adapter.inArray(n,this.waypoints);i>-1&&this.waypoints.splice(i,1)},n.prototype.first=function(){return this.waypoints[0]},n.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},n.findOrCreate=function(t){return r[t.axis][t.name]||new n(t)},t.Group=n}(),function(){"use strict";function t(t){this.$element=n(t)}var n=window.jQuery,i=window.Waypoint;n.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(n,i){t.prototype[i]=function(){var n=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,n)}}),n.each(["extend","inArray","isEmptyObject"],function(i,r){t[r]=n[r]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function n(n){return function(){var r=[],i=arguments[0];return n.isFunction(arguments[0])&&(i=n.extend({},arguments[1]),i.handler=arguments[0]),this.each(function(){var u=n.extend({},i,{element:this});typeof u.context=="string"&&(u.context=n(this).closest(u.context)[0]),r.push(new t(u))}),r}}var t=window.Waypoint;window.jQuery&&(window.jQuery.fn.waypoint=n(window.jQuery)),window.Zepto&&(window.Zepto.fn.waypoint=n(window.Zepto))}(),function(n){"use strict";n.fn.counterUp=function(t){var i=n.extend({time:400,delay:10},t);return this.each(function(){var t=n(this),r=i,u=function(){var e=[],f=r.time/r.delay,n=t.text(),h=/[0-9]+,[0-9]+/.test(n),u,i,s;n=n.replace(/,/g,"");var l=/^[0-9]+$/.test(n),o=/^[0-9]+\.[0-9]+$/.test(n),c=o?(n.split(".")[1]||[]).length:0;for(u=f;u>=1;u--){if(i=parseInt(n/f*u),o&&(i=parseFloat(n/f*u).toFixed(c)),h)while(/(\d+)(\d{3})/.test(i.toString()))i=i.toString().replace(/(\d+)(\d{3})/,"$1,$2");e.unshift(i)}t.data("counterup-nums",e),t.text("0"),s=function(){t.text(t.data("counterup-nums").shift()),t.data("counterup-nums").length?setTimeout(t.data("counterup-func"),r.delay):(delete t.data("counterup-nums"),t.data("counterup-nums",null),t.data("counterup-func",null))},t.data("counterup-func",s),setTimeout(t.data("counterup-func"),r.delay)};t.waypoint(u,{offset:"100%",triggerOnce:!0})})}}(jQuery),function(){var t,n;t=this.jQuery||window.jQuery,n=t(window),t.fn.stick_in_parent=function(i){var l,e,s,r,u,o,c,f,a,h,v;for(i==null&&(i={}),f=i.sticky_class,s=i.inner_scrolling,c=i.recalc_every,o=i.parent,u=i.offset_top,r=i.spacer,e=i.bottoming,u==null&&(u=0),o==null&&(o=void 0),s==null&&(s=!0),f==null&&(f="is_stuck"),e==null&&(e=!0),a=function(i,h,l,a,v,y,p,w){var tt,et,g,ft,d,k,ut,it,rt,b,nt;if(!i.data("sticky_kit")){if(i.data("sticky_kit",!0),k=i.parent(),o!=null&&(k=k.closest(o)),!k.length)throw"failed to find stick parent";if(g=!1,tt=!1,b=r!=null?r&&i.closest(r):t("<div />"),b&&b.css("position",i.css("position")),ut=function(){var n,t,e;if(!w)return n=parseInt(k.css("border-top-width"),10),t=parseInt(k.css("padding-top"),10),h=parseInt(k.css("padding-bottom"),10),l=k.offset().top+n+t,a=k.height(),g&&(g=!1,tt=!1,r==null&&(i.insertAfter(b),b.detach()),i.css({position:"",top:"",width:"",bottom:""}).removeClass(f),e=!0),v=i.offset().top-parseInt(i.css("margin-top"),10)-u,y=i.outerHeight(!0),p=i.css("float"),b&&b.css({width:i.outerWidth(!0),height:y,display:i.css("display"),"vertical-align":i.css("vertical-align"),float:p}),e?nt():void 0},ut(),y!==a){ft=void 0,d=u,rt=c,nt=function(){var o,et,t,nt,it;if(!w)return rt!=null&&(rt-=1,rt<=0&&(rt=c,ut())),t=n.scrollTop(),ft!=null&&(et=t-ft),ft=t,g?(e&&(nt=t+y+d>a+l,tt&&!nt&&(tt=!1,i.css({position:"fixed",bottom:"",top:d}).trigger("sticky_kit:unbottom"))),t<v&&(g=!1,d=u,r==null&&((p==="left"||p==="right")&&i.insertAfter(b),b.detach()),o={position:"",width:"",top:""},i.css(o).removeClass(f).trigger("sticky_kit:unstick")),s&&(it=n.height(),y+u>it&&(tt||(d-=et,d=Math.max(it-y,d),d=Math.min(u,d),g&&i.css({top:d+"px"}))))):t>v&&(g=!0,o={position:"fixed",top:d},o.width=i.css("box-sizing")==="border-box"?i.outerWidth()+"px":i.width()+"px",i.css(o).addClass(f),r==null&&(i.after(b),(p==="left"||p==="right")&&b.append(i)),i.trigger("sticky_kit:stick")),g&&e&&(nt==null&&(nt=t+y+d>a+l),!tt&&nt)?(tt=!0,k.css("position")==="static"&&k.css({position:"relative"}),i.css({position:"absolute",bottom:h,top:"auto"}).trigger("sticky_kit:bottom")):void 0},it=function(){return ut(),nt()},et=function(){return w=!0,n.off("touchmove",nt),n.off("scroll",nt),n.off("resize",it),t(document.body).off("sticky_kit:recalc",it),i.off("sticky_kit:detach",et),i.removeData("sticky_kit"),i.css({position:"",bottom:"",top:"",width:""}),k.position("position",""),g?(r==null&&((p==="left"||p==="right")&&i.insertAfter(b),b.remove()),i.removeClass(f)):void 0};n.on("touchmove",nt);n.on("scroll",nt);n.on("resize",it);t(document.body).on("sticky_kit:recalc",it);i.on("sticky_kit:detach",et);return setTimeout(nt,0)}}},h=0,v=this.length;h<v;h++)l=this[h],a(t(l));return this}}.call(this)