function doGraphCustomJs(n,t){$(".js-toggle-email-form").toggle(function(n){n.preventDefault();$(".js-email-form").slideDown()},function(n){n.preventDefault();$(".js-email-form").slideUp()});$("#js-print-icon").click(function(n){n.preventDefault();window.print()});$(".form-group input[type='text']").one("focus",function(){$(this).val("")});var i=$(".js-process");i.click(function(){return process(i,n,!1),!1});i.closest("form").find("input").keypress(function(){$(".display span").html("")});i.closest("form").find("select").change(function(){$(".display span").html("");$(".js-process").click()});i.closest("form").find(".jslider-pointer").click(function(){$(".display span").html("")});new AutoNumeric.multiple("input.js-auto, input.js-auto-int, input.number",{decimalPlaces:"0"});new AutoNumeric.multiple("input.currency",{decimalPlaces:"0",currencySymbol:"$ "});new AutoNumeric.multiple("input.rate",{decimalPlaces:"2",digitGroupSeparator:"",currencySymbol:" %",currencySymbolPlacement:"s"});$(".js-tooltip").tipTip();$(".btn-tooltip").tipTip({activation:"hover",maxWidth:"185px",defaultPosition:"top"});$("input[name=interest-rate]").change(function(){$(this).val().split(",").join("")>25&&$(this).val("25.00")});$("input[name=fixed-rate]").change(function(){$(this).val().split(",").join("")>25&&$(this).val("25.00")});$("input[name=ongoing-rate]").change(function(){$(this).val().split(",").join("")>25&&$(this).val("25.00")});$("input[name=fixed-rate2]").change(function(){$(this).val().split(",").join("")>25&&$(this).val("25.00")});$("input[name=ongoing-rate2]").change(function(){$(this).val().split(",").join("")>25&&$(this).val("25.00")});$("input[name=variable-rate]").change(function(){$(this).val().split(",").join("")>25&&$(this).val("25.00")});$("input[name=int-rate]").change(function(){$(this).val().split(",").join("")>25&&$(this).val("25.00")});$("input[name=int-rate2]").change(function(){$(this).val().split(",").join("")>25&&$(this).val("25.00")});$("input[name=extra-repayment]").change(function(){$(this).val().split(",").join("")>1e4&&$(this).val("10,000.00")});$("input[name=fixed-period]").change(function(){var n=12*$("input[name=loan-term]").val();$(this).val()>n&&$(this).val(n)});$("input[name=fixed-period2]").change(function(){var n=12*$("input[name=loan-term]").val();$(this).val()>n&&$(this).val(n)});$(".js-email-form").bind("submit",function(){return processEmail([i,this],[n,t]),!1});process(i,n,!0)}function defaultChartOptions(n,t){var i={chart:{renderTo:"chart",type:"area",backgroundColor:"none",style:{fontFamily:"Gilroy",fontSize:"12px"}},title:{y:2,style:{fontSize:"12px",fontWeight:"normal",textAlign:"left",color:n.graphTitle}},legend:{style:{color:n.graphText}},subtitle:{text:" "},xAxis:{endOnTick:!0,title:{text:"",style:{color:n.graphAxisTitle}},labels:{style:{color:n.graphAxisLabel}}},yAxis:{title:{text:"",style:{color:n.graphAxisTitle}},labels:{style:{color:n.graphAxisLabel}},gridLineColor:n.graphAxis,min:0},series:[],legend:{borderColor:n.graphLegendBorder,borderWidth:3,padding:8,itemMarginTop:3,itemMarginBottom:0,itemStyle:{color:n.graphLegendText}}};return t&&t.toLowerCase()!=="area"&&t.toLowerCase()!=="line"?t&&t.toLowerCase()==="column"&&(i.plotOptions={series:{stacking:"normal"}}):i.plotOptions={area:{marker:{enabled:!1,symbol:"circle",radius:4,states:{hover:{enabled:!0}}}}},n.graphColour1&&(i.series[0]={color:n.graphColour1}),n.graphColour2&&(i.series[1]={color:n.graphColour2}),n.graphColour3&&(i.series[2]={color:n.graphColour3}),n.graphColour4&&(i.series[3]={color:n.graphColour4}),n.graphColour5&&(i.series[4]={color:n.graphColour5}),n.graphColour6&&(i.series[5]={color:n.graphColour6}),n.graphColour7&&(i.series[6]={color:n.graphColour7}),n.graphColour8&&(i.series[7]={color:n.graphColour8}),i}function addCommas(n){n+="";x=n.split(".");for(var t=x[0],r=x.length>1?"."+x[1]:"",i=/(\d+)(\d{3})/;i.test(t);)t=t.replace(i,"$1,$2");return t+r}function process(n,t,i){var r=$(n).closest("form").serialize();return $.ajax({cache:!1,type:"POST",dataType:"json",url:"/calculators/"+t,data:r,success:function(n){if(i||fireGoals(t),n.y!==null&&plotGraph(n),printResults(n),$(".display").each(function(){$(this).children().first().hasClass("target-date")||$(this).html(addCommas($(this).html()))}),$(".deposit-amount").length&&($(".deposit-amount").html(($(".loan-amount").html().replace(",","")*$("input[name=required-deposit]").val()/100).toFixed(0)),$(".deposit-amount").html(addCommas($(".deposit-amount").html())),$("input[name=d-percent]").val($("input[name=required-deposit]").val()),$("input[name=d-amount]").val($(".deposit-amount").html())),$(".compare").length){var r=$(".compare").map(function(){return parseFloat($.text([this]).split(",").join(""))}).get();$(".results-color1").css("backgroundColor",$(".color-"+$("span:contains('"+addCommas(Math.min.apply(null,r))+"')").attr("id").replace("c","")).css("backgroundColor"));$(".results-color2").css("backgroundColor",$(".color-"+$("span:contains('"+addCommas(Math.max.apply(null,r))+"')").attr("id").replace("c","")).css("backgroundColor"))}},error:function(n){console.log("calculator error",n)}}),!0}function fireGoals(n){window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:"calculatorSubmit"});switch(n){case"process/process_hltr.php":window.dataLayer.push({event:"HowLongToRepay"});break;case"process/process_sd.php":window.dataLayer.push({event:"StampDuty"});break;case"process/process_lsp.php":window.dataLayer.push({event:"LumpSum"});break;case"process/process_rb.php":window.dataLayer.push({event:"RemainingBalance"});break;case"process/process_bim.php":window.dataLayer.push({event:"FortnightlyRepayments"});break;case"process/process_clc.php":window.dataLayer.push({event:"CompareRates"});break;case"process/process_rm.php":window.dataLayer.push({event:"ReverseMortgage"});break;case"process/process_sl.php":window.dataLayer.push({event:"SplitRepayments"});break;case"process/process_st.php":window.dataLayer.push({event:"AchieveTarget"})}}function processEmail(n,t){var i=$(n[0]).closest("form").serialize();return $.ajax({cache:!1,type:"POST",dataType:"json",url:"/calculators/"+t[0],data:i,success:function(r){i+="&"+$(n[1]).closest("form").serialize();var u;for(u in r)i+="&"+u+"="+r[u];$.ajax({cache:!1,type:"POST",dataType:"json",url:"/calculators/"+t[1],data:i,success:function(n){n.success?(alert("Your message was sent. Thank you."),$(".js-email-form").slideUp(function(){iframeResizePipe()})):alert("There was an error sending the email(s). Please try again.")},error:function(){}})}}),!0}function numberFormatter(n){return n>=1e9?(n/1e9).toFixed(0)+" G":n>=1e6?(n/1e6).toFixed(0)+" M":n>=1e3?(n/1e3).toFixed(0)+" K":n}var Hashtable,_typeof,windowIsDefined,initialLoadCustom;(function(n){typeof define=="function"&&define.amd?define(["jquery"],n):n(jQuery)})(function(n){function i(n){if(t.raw)return n;try{return decodeURIComponent(n.replace(u," "))}catch(i){}}function r(n){n.indexOf('"')===0&&(n=n.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));n=i(n);try{return t.json?JSON.parse(n):n}catch(r){}}var u=/\+/g,t=n.cookie=function(u,f,e){var a,c,o,l,s,v;if(f!==undefined)return e=n.extend({},t.defaults,e),typeof e.expires=="number"&&(a=e.expires,c=e.expires=new Date,c.setDate(c.getDate()+a)),f=t.json?JSON.stringify(f):String(f),document.cookie=[t.raw?u:encodeURIComponent(u),"=",t.raw?f:encodeURIComponent(f),e.expires?"; expires="+e.expires.toUTCString():"",e.path?"; path="+e.path:"",e.domain?"; domain="+e.domain:"",e.secure?"; secure":""].join("");for(o=u?undefined:{},l=document.cookie?document.cookie.split("; "):[],s=0,v=l.length;s<v;s++){var y=l[s].split("="),p=i(y.shift()),h=y.join("=");if(u&&u===p){o=r(h);break}u||(h=r(h))===undefined||(o[p]=h)}return o};t.defaults={};n.removeCookie=function(t,i){return n.cookie(t)!==undefined?(n.cookie(t,"",n.extend({},i,{expires:-1})),!0):!1}});!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AutoNumeric=t():n.AutoNumeric=t()}(this,function(){return function(n){function t(r){if(i[r])return i[r].exports;var u=i[r]={i:r,l:!1,exports:{}};return n[r].call(u.exports,u,u.exports,t),u.l=!0,u.exports}var i={};return t.m=n,t.c=i,t.d=function(n,i,r){t.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:r})},t.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(i,"a",i),i},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="",t(t.s=4)}([function(n,t,i){"use strict";function c(n){return n&&n.__esModule?n:{"default":n}}function h(n){if(Array.isArray(n)){for(var t=0,i=Array(n.length);t<n.length;t++)i[t]=n[t];return i}return Array.from(n)}function l(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}Object.defineProperty(t,"__esModule",{value:!0});var f=function(){function n(n,t){var r=[],u=!0,f=!1,e=void 0,o,i;try{for(i=n[Symbol.iterator]();!(u=(o=i.next()).done)&&(r.push(o.value),!t||r.length!==t);u=!0);}catch(n){f=!0;e=n}finally{try{!u&&i.return&&i.return()}finally{if(f)throw e;}}return r}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return n(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance");}}(),e=Object.assign||function(n){for(var i,r,t=1;t<arguments.length;t++){i=arguments[t];for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(n[r]=i[r])}return n},o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},a=function(){function n(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}return function(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),t}}(),v=i(1),r=c(v),y=i(2),u=c(y),s=function(){function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i;l(this,n);var f=n._setArgumentsValues(e,o,s),h=f.domElement,u=f.initialValue,c=f.userOptions;if(this.domElement=h,this.defaultRawValue="",this._setSettings(c,!1),this._checkElement(),this.savedCancellableValue=null,this.historyTable=[],this.historyTableIndex=-1,this.onGoingRedo=!1,this.parentForm=this._getParentForm(),!this.runOnce&&this.settings.formatOnPageLoad)this._formatDefaultValueOnPageLoad(u);else{if(i=void 0,r.default.isNull(u))switch(this.settings.emptyInputBehavior){case n.options.emptyInputBehavior.zero:i="0";break;case n.options.emptyInputBehavior.null:default:i=""}else i=u;this._setElementAndRawValue(i)}this.runOnce=!0;(this.isInputElement||this.isContentEditable)&&(this.settings.noEventListeners||this._createEventListeners(),this._setReadOnly());this._saveInitialValues(u);this.sessionStorageAvailable=this.constructor._storageTest();this.storageNamePrefix="AUTO_";this._setPersistentStorageName();this.isFocused=!1;this.isWheelEvent=!1;this.isDropEvent=!1;this.isEditing=!1;this.internalModification=!1;this.attributeToWatch=this._getAttributeToWatch();this.getterSetter=Object.getOwnPropertyDescriptor(this.domElement.__proto__,this.attributeToWatch);this._addWatcher();this.settings.createLocalList&&this._createLocalList();this.constructor._addToGlobalList(this);this.global={set:function(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t.autoNumericLocalList.forEach(function(t){t.set(n,i)})},setUnformatted:function(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t.autoNumericLocalList.forEach(function(t){t.setUnformatted(n,i)})},get:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=[];return t.autoNumericLocalList.forEach(function(t){n.push(t.get())}),t._executeCallback(n,i),n},getNumericString:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=[];return t.autoNumericLocalList.forEach(function(t){n.push(t.getNumericString())}),t._executeCallback(n,i),n},getFormatted:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=[];return t.autoNumericLocalList.forEach(function(t){n.push(t.getFormatted())}),t._executeCallback(n,i),n},getNumber:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=[];return t.autoNumericLocalList.forEach(function(t){n.push(t.getNumber())}),t._executeCallback(n,i),n},getLocalized:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=[];return t.autoNumericLocalList.forEach(function(t){n.push(t.getLocalized())}),t._executeCallback(n,i),n},reformat:function(){t.autoNumericLocalList.forEach(function(n){n.reformat()})},unformat:function(){t.autoNumericLocalList.forEach(function(n){n.unformat()})},unformatLocalized:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;t.autoNumericLocalList.forEach(function(t){t.unformatLocalized(n)})},update:function(){for(var i=arguments.length,r=Array(i),n=0;n<i;n++)r[n]=arguments[n];t.autoNumericLocalList.forEach(function(n){n.update.apply(n,r)})},isPristine:function(){var i=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=!0;return t.autoNumericLocalList.forEach(function(t){n&&!t.isPristine(i)&&(n=!1)}),n},clear:function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t.autoNumericLocalList.forEach(function(t){t.clear(n)})},remove:function(){t.autoNumericLocalList.forEach(function(n){n.remove()})},wipe:function(){t.autoNumericLocalList.forEach(function(n){n.wipe()})},nuke:function(){t.autoNumericLocalList.forEach(function(n){n.nuke()})},has:function(i){return i instanceof n?t.autoNumericLocalList.has(i.node()):t.autoNumericLocalList.has(i)},addObject:function(i){var o=void 0,u=void 0,f,e;i instanceof n?(o=i.node(),u=i):(o=i,u=n.getAutoNumericElement(o));t._hasLocalList()||t._createLocalList();f=u._getLocalList();0===f.size&&(u._createLocalList(),f=u._getLocalList());e=void 0;f instanceof Map?e=r.default.mergeMaps(t._getLocalList(),f):(t._addToLocalList(o,u),e=t._getLocalList());e.forEach(function(n){n._setLocalList(e)})},removeObject:function(i){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=void 0,u=void 0,f;i instanceof n?(r=i.node(),u=i):(r=i,u=n.getAutoNumericElement(r));f=t.autoNumericLocalList;t.autoNumericLocalList.delete(r);f.forEach(function(n){n._setLocalList(t.autoNumericLocalList)});e||r!==t.node()?u._createLocalList():u._setLocalList(new Map)},empty:function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t.autoNumericLocalList.forEach(function(t){n?t._createLocalList():t._setLocalList(new Map)})},elements:function(){var n=[];return t.autoNumericLocalList.forEach(function(t){n.push(t.node())}),n},getList:function(){return t.autoNumericLocalList},size:function(){return t.autoNumericLocalList.size}};this.options={reset:function(){return t.settings={rawValue:t.defaultRawValue},t.update(n.defaultSettings),t},allowDecimalPadding:function(n){return t.update({allowDecimalPadding:n}),t},caretPositionOnFocus:function(n){return t.settings.caretPositionOnFocus=n,t},createLocalList:function(n){return t.settings.createLocalList=n,t.settings.createLocalList?t._hasLocalList()||t._createLocalList():t._deleteLocalList(),t},currencySymbol:function(n){return t.update({currencySymbol:n}),t},currencySymbolPlacement:function(n){return t.update({currencySymbolPlacement:n}),t},decimalCharacter:function(n){return t.update({decimalCharacter:n}),t},decimalCharacterAlternative:function(n){return t.settings.decimalCharacterAlternative=n,t},decimalPlaces:function(n){return r.default.warning("Using `options.decimalPlaces()` instead of calling the specific `options.decimalPlacesRawValue()`, `options.decimalPlacesShownOnFocus()` and `options.decimalPlacesShownOnBlur()` methods will reset those options.\nPlease call the specific methods if you do not want to reset those.",t.settings.showWarnings),t.update({decimalPlaces:n}),t},decimalPlacesRawValue:function(n){return t.update({decimalPlacesRawValue:n}),t},decimalPlacesShownOnBlur:function(n){return t.update({decimalPlacesShownOnBlur:n}),t},decimalPlacesShownOnFocus:function(n){return t.update({decimalPlacesShownOnFocus:n}),t},defaultValueOverride:function(n){return t.update({defaultValueOverride:n}),t},digitalGroupSpacing:function(n){return t.update({digitalGroupSpacing:n}),t},digitGroupSeparator:function(n){return t.update({digitGroupSeparator:n}),t},divisorWhenUnfocused:function(n){return t.update({divisorWhenUnfocused:n}),t},emptyInputBehavior:function(i){return null===t.rawValue&&i!==n.options.emptyInputBehavior.null&&(r.default.warning("You are trying to modify the `emptyInputBehavior` option to something different than `'null'` ("+i+"), but the element raw value is currently set to `null`. This would result in an invalid `rawValue`. In order to fix that, the element value has been changed to the empty string `''`.",t.settings.showWarnings),t.rawValue=""),t.update({emptyInputBehavior:i}),t},eventBubbles:function(n){return t.settings.eventBubbles=n,t},eventIsCancelable:function(n){return t.settings.eventIsCancelable=n,t},failOnUnknownOption:function(n){return t.settings.failOnUnknownOption=n,t},formatOnPageLoad:function(n){return t.settings.formatOnPageLoad=n,t},historySize:function(n){return t.settings.historySize=n,t},isCancellable:function(n){return t.settings.isCancellable=n,t},leadingZero:function(n){return t.update({leadingZero:n}),t},maximumValue:function(n){return t.update({maximumValue:n}),t},minimumValue:function(n){return t.update({minimumValue:n}),t},modifyValueOnWheel:function(n){return t.settings.modifyValueOnWheel=n,t},negativeBracketsTypeOnBlur:function(n){return t.update({negativeBracketsTypeOnBlur:n}),t},negativePositiveSignPlacement:function(n){return t.update({negativePositiveSignPlacement:n}),t},negativeSignCharacter:function(n){return t.update({negativeSignCharacter:n}),t},noEventListeners:function(i){return i===n.options.noEventListeners.noEvents&&t.settings.noEventListeners===n.options.noEventListeners.addEvents&&t._removeEventListeners(),t.update({noEventListeners:i}),t},onInvalidPaste:function(n){return t.settings.onInvalidPaste=n,t},outputFormat:function(n){return t.settings.outputFormat=n,t},overrideMinMaxLimits:function(n){return t.update({overrideMinMaxLimits:n}),t},positiveSignCharacter:function(n){return t.update({positiveSignCharacter:n}),t},rawValueDivisor:function(n){return t.update({rawValueDivisor:n}),t},readOnly:function(n){return t.settings.readOnly=n,t._setReadOnly(),t},roundingMethod:function(n){return t.update({roundingMethod:n}),t},saveValueToSessionStorage:function(n){return t.update({saveValueToSessionStorage:n}),t},symbolWhenUnfocused:function(n){return t.update({symbolWhenUnfocused:n}),t},selectNumberOnly:function(n){return t.settings.selectNumberOnly=n,t},selectOnFocus:function(n){return t.settings.selectOnFocus=n,t},serializeSpaces:function(n){return t.settings.serializeSpaces=n,t},showOnlyNumbersOnFocus:function(n){return t.update({showOnlyNumbersOnFocus:n}),t},showPositiveSign:function(n){return t.update({showPositiveSign:n}),t},showWarnings:function(n){return t.settings.showWarnings=n,t},styleRules:function(n){return t.update({styleRules:n}),t},suffixText:function(n){return t.update({suffixText:n}),t},unformatOnHover:function(n){return t.settings.unformatOnHover=n,t},unformatOnSubmit:function(n){return t.settings.unformatOnSubmit=n,t},valuesToStrings:function(n){return t.update({valuesToStrings:n}),t},watchExternalChanges:function(n){return t.update({watchExternalChanges:n}),t},wheelOn:function(n){return t.settings.wheelOn=n,t},wheelStep:function(n){return t.settings.wheelStep=n,t}};this._triggerEvent(n.events.initialized,this.domElement,{newValue:r.default.getElementValue(this.domElement),newRawValue:this.rawValue,error:null,aNElement:this})}return a(n,[{key:"_saveInitialValues",value:function(n){this.initialValueHtmlAttribute=this.domElement.getAttribute("value");r.default.isNull(this.initialValueHtmlAttribute)&&(this.initialValueHtmlAttribute="");this.initialValue=n;r.default.isNull(this.initialValue)&&(this.initialValue="")}},{key:"_createEventListeners",value:function(){var t=this;this._onFocusInFunc=function(n){t._onFocusIn(n)};this._onFocusInAndMouseEnterFunc=function(n){t._onFocusInAndMouseEnter(n)};this._onFocusFunc=function(){t._onFocus()};this._onKeydownFunc=function(n){t._onKeydown(n)};this._onKeypressFunc=function(n){t._onKeypress(n)};this._onKeyupFunc=function(n){t._onKeyup(n)};this._onFocusOutAndMouseLeaveFunc=function(n){t._onFocusOutAndMouseLeave(n)};this._onPasteFunc=function(n){t._onPaste(n)};this._onWheelFunc=function(n){t._onWheel(n)};this._onDropFunc=function(n){t._onDrop(n)};this._onKeydownGlobalFunc=function(n){t._onKeydownGlobal(n)};this._onKeyupGlobalFunc=function(n){t._onKeyupGlobal(n)};this.domElement.addEventListener("focusin",this._onFocusInFunc,!1);this.domElement.addEventListener("focus",this._onFocusInAndMouseEnterFunc,!1);this.domElement.addEventListener("focus",this._onFocusFunc,!1);this.domElement.addEventListener("mouseenter",this._onFocusInAndMouseEnterFunc,!1);this.domElement.addEventListener("keydown",this._onKeydownFunc,!1);this.domElement.addEventListener("keypress",this._onKeypressFunc,!1);this.domElement.addEventListener("keyup",this._onKeyupFunc,!1);this.domElement.addEventListener("blur",this._onFocusOutAndMouseLeaveFunc,!1);this.domElement.addEventListener("mouseleave",this._onFocusOutAndMouseLeaveFunc,!1);this.domElement.addEventListener("paste",this._onPasteFunc,!1);this.domElement.addEventListener("wheel",this._onWheelFunc,!1);this.domElement.addEventListener("drop",this._onDropFunc,!1);this._setupFormListener();n._doesGlobalListExists()||(document.addEventListener("keydown",this._onKeydownGlobalFunc,!1),document.addEventListener("keyup",this._onKeyupGlobalFunc,!1))}},{key:"_removeEventListeners",value:function(){this.domElement.removeEventListener("focusin",this._onFocusInFunc,!1);this.domElement.removeEventListener("focus",this._onFocusInAndMouseEnterFunc,!1);this.domElement.removeEventListener("focus",this._onFocusFunc,!1);this.domElement.removeEventListener("mouseenter",this._onFocusInAndMouseEnterFunc,!1);this.domElement.removeEventListener("blur",this._onFocusOutAndMouseLeaveFunc,!1);this.domElement.removeEventListener("mouseleave",this._onFocusOutAndMouseLeaveFunc,!1);this.domElement.removeEventListener("keydown",this._onKeydownFunc,!1);this.domElement.removeEventListener("keypress",this._onKeypressFunc,!1);this.domElement.removeEventListener("keyup",this._onKeyupFunc,!1);this.domElement.removeEventListener("paste",this._onPasteFunc,!1);this.domElement.removeEventListener("wheel",this._onWheelFunc,!1);this.domElement.removeEventListener("drop",this._onDropFunc,!1);this._removeFormListener();document.removeEventListener("keydown",this._onKeydownGlobalFunc,!1);document.removeEventListener("keyup",this._onKeyupGlobalFunc,!1)}},{key:"_setupFormListener",value:function(){var n=this;r.default.isNull(this.parentForm)||(this._onFormSubmitFunc=function(){n._onFormSubmit()},this._hasParentFormCounter()?this._incrementParentFormCounter():(this._initializeFormCounterToOne(),this.parentForm.addEventListener("submit",this._onFormSubmitFunc,!1),this._storeFormHandlerFunction()))}},{key:"_removeFormListener",value:function(){if(!r.default.isNull(this.parentForm)){var n=this._getParentFormCounter();1===n?(this.parentForm.removeEventListener("submit",this._getFormHandlerFunction(),!1),this._removeFormDataSetInfo()):n>1?this._decrementParentFormCounter():r.default.throwError("The AutoNumeric object count on the form is incoherent.")}}},{key:"_hasParentFormCounter",value:function(){return"anCount"in this.parentForm.dataset}},{key:"_getParentFormCounter",value:function(){return Number(this.parentForm.dataset.anCount)}},{key:"_initializeFormCounterToOne",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._getFormElement(n).dataset.anCount=1}},{key:"_incrementParentFormCounter",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._getFormElement(n).dataset.anCount++}},{key:"_decrementParentFormCounter",value:function(){this.parentForm.dataset.anCount--}},{key:"_hasFormHandlerFunction",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return"anFormHandler"in this._getFormElement(n).dataset}},{key:"_getFormElement",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return r.default.isNull(n)?this.parentForm:n}},{key:"_storeFormHandlerFunction",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n;this.constructor._doesFormHandlerListExists()||this.constructor._createFormHandlerList();n=r.default.randomString();this._getFormElement(t).dataset.anFormHandler=n;window.aNFormHandlerMap.set(n,this._onFormSubmitFunc)}},{key:"_getFormHandlerKey",value:function(){this._hasFormHandlerFunction()||r.default.throwError("Unable to retrieve the form handler name");var n=this.parentForm.dataset.anFormHandler;return""===n&&r.default.throwError("The form handler name is invalid"),n}},{key:"_getFormHandlerFunction",value:function(){var n=this._getFormHandlerKey();return window.aNFormHandlerMap.get(n)}},{key:"_removeFormDataSetInfo",value:function(){this._decrementParentFormCounter();window.aNFormHandlerMap.delete(this._getFormHandlerKey());this.parentForm.removeAttribute("data-an-count");this.parentForm.removeAttribute("data-an-form-handler")}},{key:"_setReadOnly",value:function(){this.isInputElement&&this.settings.readOnly&&(this.domElement.readOnly=!0)}},{key:"_addWatcher",value:function(){var n=this;if(!r.default.isUndefined(this.getterSetter)){var t=this.getterSetter,i=t.set,u=t.get;Object.defineProperty(this.domElement,this.attributeToWatch,{configurable:!0,get:function(){return u.call(n.domElement)},set:function(t){i.call(n.domElement,t);n.settings.watchExternalChanges&&!n.internalModification&&n.set(t)}})}}},{key:"_removeWatcher",value:function(){var n=this;if(!r.default.isUndefined(this.getterSetter)){var t=this.getterSetter,i=t.set,u=t.get;Object.defineProperty(this.domElement,this.attributeToWatch,{configurable:!0,get:function(){return u.call(n.domElement)},set:function(t){i.call(n.domElement,t)}})}}},{key:"_getAttributeToWatch",value:function(){var t=void 0,n;return this.isInputElement?t="value":(n=this.domElement.nodeType,n===Node.ELEMENT_NODE||n===Node.DOCUMENT_NODE||n===Node.DOCUMENT_FRAGMENT_NODE?t="textContent":n===Node.TEXT_NODE&&(t="nodeValue")),t}},{key:"_historyTableAdd",value:function(){var u=0===this.historyTable.length,n,t,i;(u||this.rawValue!==this._historyTableCurrentValueUsed())&&(n=!0,u||(t=this.historyTableIndex+1,t<this.historyTable.length&&this.rawValue===this.historyTable[t].value?n=!1:r.default.arrayTrim(this.historyTable,this.historyTableIndex+1)),(this.historyTableIndex++,n)&&(i=r.default.getElementSelection(this.domElement),this.selectionStart=i.start,this.selectionEnd=i.end,this.historyTable.push({value:this.rawValue,start:this.selectionStart+1,end:this.selectionEnd+1}),this.historyTable.length>1&&(this.historyTable[this.historyTableIndex-1].start=this.selectionStart,this.historyTable[this.historyTableIndex-1].end=this.selectionEnd)),this.historyTable.length>this.settings.historySize&&this._historyTableForget())}},{key:"_historyTableUndoOrRedo",value:function(){var i=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=void 0,n;(i?(t=this.historyTableIndex>0)&&this.historyTableIndex--:(t=this.historyTableIndex+1<this.historyTable.length)&&this.historyTableIndex++,t)&&(n=this.historyTable[this.historyTableIndex],this.set(n.value,null,!1),r.default.setElementSelection(this.domElement,n.start,n.end))}},{key:"_historyTableUndo",value:function(){this._historyTableUndoOrRedo(!0)}},{key:"_historyTableRedo",value:function(){this._historyTableUndoOrRedo(!1)}},{key:"_historyTableForget",value:function(){for(var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,n=[],t=0;t<i;t++)n.push(this.historyTable.shift()),--this.historyTableIndex<0&&(this.historyTableIndex=0);return 1===n.length?n[0]:n}},{key:"_historyTableCurrentValueUsed",value:function(){var n=this.historyTableIndex;return n<0&&(n=0),r.default.isUndefinedOrNullOrEmpty(this.historyTable[n])?"":this.historyTable[n].value}},{key:"_parseStyleRules",value:function(){var n=this;r.default.isUndefinedOrNullOrEmpty(this.settings.styleRules)||""===this.rawValue||(r.default.isUndefinedOrNullOrEmpty(this.settings.styleRules.positive)||(this.rawValue>=0?this._addCSSClass(this.settings.styleRules.positive):this._removeCSSClass(this.settings.styleRules.positive)),r.default.isUndefinedOrNullOrEmpty(this.settings.styleRules.negative)||(this.rawValue<0?this._addCSSClass(this.settings.styleRules.negative):this._removeCSSClass(this.settings.styleRules.negative)),r.default.isUndefinedOrNullOrEmpty(this.settings.styleRules.ranges)||0===this.settings.styleRules.ranges.length||this.settings.styleRules.ranges.forEach(function(t){n.rawValue>=t.min&&n.rawValue<t.max?n._addCSSClass(t.class):n._removeCSSClass(t.class)}),r.default.isUndefinedOrNullOrEmpty(this.settings.styleRules.userDefined)||0===this.settings.styleRules.userDefined.length||this.settings.styleRules.userDefined.forEach(function(t){if(r.default.isFunction(t.callback))if(r.default.isString(t.classes))t.callback(n.rawValue)?n._addCSSClass(t.classes):n._removeCSSClass(t.classes);else if(r.default.isArray(t.classes))if(2===t.classes.length)t.callback(n.rawValue)?(n._addCSSClass(t.classes[0]),n._removeCSSClass(t.classes[1])):(n._removeCSSClass(t.classes[0]),n._addCSSClass(t.classes[1]));else if(t.classes.length>2){var i=t.callback(n.rawValue);r.default.isArray(i)?t.classes.forEach(function(t,u){r.default.isInArray(u,i)?n._addCSSClass(t):n._removeCSSClass(t)}):r.default.isInt(i)?t.classes.forEach(function(t,r){r===i?n._addCSSClass(t):n._removeCSSClass(t)}):r.default.isNull(i)?t.classes.forEach(function(t){n._removeCSSClass(t)}):r.default.throwError("The callback result is not an array nor a valid array index, "+(void 0===i?"undefined":o(i))+" given.")}else r.default.throwError("The classes attribute is not valid for the `styleRules` option.");else r.default.isUndefinedOrNullOrEmpty(t.classes)?t.callback(n):r.default.throwError("The callback/classes structure is not valid for the `styleRules` option.");else r.default.warning("The given `styleRules` callback is not a function, "+("undefined"==typeof callback?"undefined":o(callback))+" given.",n.settings.showWarnings)}))}},{key:"_addCSSClass",value:function(n){this.domElement.classList.add(n)}},{key:"_removeCSSClass",value:function(n){this.domElement.classList.remove(n)}},{key:"update",value:function(){for(var o=r.default.cloneObject(this.settings),u=this.rawValue,i={},f=arguments.length,n=Array(f),t=0;t<f;t++)n[t]=arguments[t];r.default.isUndefinedOrNullOrEmpty(n)||0===n.length?i=null:n.length>=1&&n.forEach(function(n){e(i,n)});try{this._setSettings(i,!0);this.set(u)}catch(u){return this._setSettings(o,!0),r.default.throwError("Unable to update the settings, those are invalid: ["+u+"]"),this}return this}},{key:"getSettings",value:function(){return this.settings}},{key:"set",value:function(t){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i,e,h;if(r.default.isUndefined(t))return r.default.warning("You are trying to set an 'undefined' value ; an error could have occurred.",this.settings.showWarnings),this;if(r.default.isNull(c)||this._setSettings(c,!0),null===t&&this.settings.emptyInputBehavior!==n.options.emptyInputBehavior.null)return r.default.warning("You are trying to set the `null` value while the `emptyInputBehavior` option is set to "+this.settings.emptyInputBehavior+". If you want to be able to set the `null` value, you need to change the 'emptyInputBehavior' option to `'null'`.",this.settings.showWarnings),this;if(i=void 0,null===t)return this._setElementAndRawValue(null,null,u),this._saveValueToPersistentStorage(),this;if(i=this.constructor._toNumericValue(t,this.settings),isNaN(Number(i)))return r.default.warning("The value you are trying to set results in `NaN`. The element value is set to the empty string instead.",this.settings.showWarnings),this.setValue("",u),this;if(""===i&&this.settings.emptyInputBehavior===n.options.emptyInputBehavior.zero&&(i=0),""!==i){var a=this.constructor._checkIfInRangeWithOverrideOption(i,this.settings),l=f(a,2),o=l[0],s=l[1];return o&&s&&this.settings.valuesToStrings&&this._checkValuesToStrings(i)?(this._setElementAndRawValue(this.settings.valuesToStrings[i],i,u),this._saveValueToPersistentStorage(),this):(r.default.isZeroOrHasNoValue(i)&&(i="0"),o&&s)?(e=this.constructor._roundRawValue(i,this.settings),e=this._trimLeadingAndTrailingZeros(e.replace(this.settings.decimalCharacter,".")),i=this._getRawValueToFormat(i),this.isFocused?i=this.constructor._roundFormattedValueShownOnFocus(i,this.settings):(this.settings.divisorWhenUnfocused&&(i/=this.settings.divisorWhenUnfocused,i=i.toString()),i=this.constructor._roundFormattedValueShownOnBlur(i,this.settings)),i=this.constructor._modifyNegativeSignAndDecimalCharacterForFormattedValue(i,this.settings),i=this.constructor._addGroupSeparators(i,this.settings,this.isFocused,this.rawValue,e),!this.isFocused&&this.settings.symbolWhenUnfocused&&(i=""+i+this.settings.symbolWhenUnfocused),(this.settings.decimalPlacesShownOnFocus||this.settings.divisorWhenUnfocused)&&this._saveValueToPersistentStorage(),this._setElementAndRawValue(i,e,u),this):(o||this._triggerEvent(n.events.minRangeExceeded,this.domElement),s||this._triggerEvent(n.events.maxRangeExceeded,this.domElement),r.default.throwError("The value ["+i+"] being set falls outside of the minimumValue ["+this.settings.minimumValue+"] and maximumValue ["+this.settings.maximumValue+"] range set for this element"),this._removeValueFromPersistentStorage(),this.setValue("",u),this)}return h=void 0,h=this.settings.emptyInputBehavior===n.options.emptyInputBehavior.always?this.settings.currencySymbol:"",this._setElementAndRawValue(h,"",u),this}},{key:"setUnformatted",value:function(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u,t;if(null===n||r.default.isUndefined(n))return this;r.default.isNull(i)||this._setSettings(i,!0);u=this.constructor._removeBrackets(n,this.settings);t=this.constructor._stripAllNonNumberCharacters(u,this.settings,!0,this.isFocused);r.default.isNumber(t)||r.default.throwError("The value is not a valid one, it's not a numeric string nor a recognized currency.");var o=this.constructor._checkIfInRangeWithOverrideOption(t,this.settings),e=f(o,2),s=e[0],h=e[1];return s&&h?this.setValue(n):r.default.throwError("The value is out of the range limits ["+this.settings.minimumValue+", "+this.settings.maximumValue+"]."),this}},{key:"setValue",value:function(n){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._setElementAndRawValue(n,t),this}},{key:"_setRawValue",value:function(t){var u=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i;this.rawValue!==t&&(i=this.rawValue,this.rawValue=t,!r.default.isNull(this.settings.rawValueDivisor)&&0!==this.settings.rawValueDivisor&&""!==t&&null!==t&&this._isUserManuallyEditingTheValue()&&(this.rawValue/=this.settings.rawValueDivisor),this._triggerEvent(n.events.rawValueModified,this.domElement,{oldRawValue:i,newRawValue:this.rawValue,isPristine:this.isPristine(!0),error:null,aNElement:this}),this._parseStyleRules(),u&&this._historyTableAdd())}},{key:"_setElementValue",value:function(t){var u=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=r.default.getElementValue(this.domElement);return t!==i&&(this.internalModification=!0,r.default.setElementValue(this.domElement,t),this.internalModification=!1,u&&this._triggerEvent(n.events.formatted,this.domElement,{oldValue:i,newValue:t,oldRawValue:this.rawValue,newRawValue:this.rawValue,isPristine:this.isPristine(!1),error:null,aNElement:this})),this}},{key:"_setElementAndRawValue",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return r.default.isNull(t)?t=n:r.default.isBoolean(t)&&(i=t,t=n),this._setElementValue(n),this._setRawValue(t,i),this}},{key:"_getRawValueToFormat",value:function(n){return r.default.isNull(this.settings.rawValueDivisor)||0===this.settings.rawValueDivisor||""===n||null===n?n:n*this.settings.rawValueDivisor}},{key:"_checkValuesToStrings",value:function(n){return this.constructor._checkValuesToStringsArray(n,this.valuesToStringsKeys)}},{key:"_isUserManuallyEditingTheValue",value:function(){return this.isFocused&&this.isEditing||this.isDropEvent}},{key:"_executeCallback",value:function(n,t){!r.default.isNull(t)&&r.default.isFunction(t)&&t(n,this)}},{key:"_triggerEvent",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;r.default.triggerEvent(n,t,i,this.settings.eventBubbles,this.settings.eventIsCancelable)}},{key:"get",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.getNumericString(n)}},{key:"getNumericString",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=void 0;return n=r.default.isNull(this.rawValue)?null:r.default.trimPaddedZerosFromDecimalPlaces(this.rawValue),this._executeCallback(n,t),n}},{key:"getFormatted",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n;return"value"in this.domElement||"textContent"in this.domElement||r.default.throwError("Unable to get the formatted string from the element."),n=r.default.getElementValue(this.domElement),this._executeCallback(n,t),n}},{key:"getNumber",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=void 0;return n=null===this.rawValue?null:this.constructor._toLocale(this.getNumericString(),"number",this.settings),this._executeCallback(n,t),n}},{key:"getLocalized",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i,f,e;return r.default.isFunction(t)&&r.default.isNull(u)&&(u=t,t=null),i=void 0,""!=(i=r.default.isEmptyString(this.rawValue)?"":""+Number(this.rawValue))&&0===Number(i)&&this.settings.leadingZero!==n.options.leadingZero.keep&&(i="0"),f=void 0,f=r.default.isNull(t)?this.settings.outputFormat:t,e=this.constructor._toLocale(i,f,this.settings),this._executeCallback(e,u),e}},{key:"reformat",value:function(){return this.set(this.rawValue),this}},{key:"unformat",value:function(){return this._setElementValue(this.getNumericString()),this}},{key:"unformatLocalized",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this._setElementValue(this.getLocalized(n)),this}},{key:"isPristine",value:function(){var n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return n?this.initialValue===this.getNumericString():this.initialValueHtmlAttribute===this.getFormatted()}},{key:"select",value:function(){return this.settings.selectNumberOnly?this.selectNumber():this._defaultSelectAll(),this}},{key:"_defaultSelectAll",value:function(){r.default.setElementSelection(this.domElement,0,r.default.getElementValue(this.domElement).length)}},{key:"selectNumber",value:function(){var e=r.default.getElementValue(this.domElement),u=e.length,t=this.settings.currencySymbol.length,o=this.settings.currencySymbolPlacement,s=r.default.isNegative(e,this.settings.negativeSignCharacter)?1:0,f=this.settings.suffixText.length,h=void 0,i;if(h=o===n.options.currencySymbolPlacement.suffix?0:this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.left&&1===s&&t>0?t+1:t,i=void 0,o===n.options.currencySymbolPlacement.prefix)i=u-f;else switch(this.settings.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.left:i=u-(f+t);break;case n.options.negativePositiveSignPlacement.right:i=t>0?u-(t+s+f):u-(t+f);break;default:i=u-(t+f)}return r.default.setElementSelection(this.domElement,h,i),this}},{key:"selectInteger",value:function(){var u=0,f=this.rawValue>=0,i,t;return this.settings.currencySymbolPlacement!==n.options.currencySymbolPlacement.prefix&&(this.settings.currencySymbolPlacement!==n.options.currencySymbolPlacement.suffix||this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.prefix&&this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none)||(this.settings.showPositiveSign&&f||!f&&this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.prefix&&this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.left)&&(u+=1),this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.prefix&&(u+=this.settings.currencySymbol.length),i=r.default.getElementValue(this.domElement),t=i.indexOf(this.settings.decimalCharacter),-1===t&&(t=this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix?i.length-this.settings.currencySymbol.length:i.length,f||this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.suffix&&this.settings.currencySymbolPlacement!==n.options.currencySymbolPlacement.suffix||(t-=1),t-=this.settings.suffixText.length),r.default.setElementSelection(this.domElement,u,t),this}},{key:"selectDecimal",value:function(){var n=r.default.getElementValue(this.domElement).indexOf(this.settings.decimalCharacter),t=void 0,i;return-1===n?(n=0,t=0):(n+=1,i=void 0,i=this.isFocused?this.settings.decimalPlacesShownOnFocus:this.settings.decimalPlacesShownOnBlur,t=n+Number(i)),r.default.setElementSelection(this.domElement,n,t),this}},{key:"node",value:function(){return this.domElement}},{key:"parent",value:function(){return this.domElement.parentNode}},{key:"detach",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=void 0;return t=r.default.isNull(n)?this.domElement:n.node(),this._removeFromLocalList(t),this}},{key:"attach",value:function(n){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._addToLocalList(n.node()),t&&n.update(this.settings),this}},{key:"formatOther",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this._formatOrUnformatOther(!0,n,t)}},{key:"unformatOther",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this._formatOrUnformatOther(!1,n,t)}},{key:"_formatOrUnformatOther",value:function(t,i){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,u=void 0,f,e;return(u=r.default.isNull(o)?this.settings:this._cloneAndMergeSettings(o),f=void 0,r.default.isElement(i))?(e=r.default.getElementValue(i),f=t?n.format(e,u):n.unformat(e,u),r.default.setElementValue(i,f),null):t?n.format(i,u):n.unformat(i,u)}},{key:"init",value:function(t){var i=this,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=!1,u=[],s,f;return(r.default.isString(t)?u=[].concat(h(document.querySelectorAll(t))):r.default.isElement(t)?(u.push(t),o=!0):r.default.isArray(t)?u=t:r.default.throwError("The given parameters to the 'init' function are invalid."),0===u.length)?(r.default.warning("No valid DOM elements were given hence no AutoNumeric object were instantiated.",!0),[]):(s=this._getLocalList(),f=[],u.forEach(function(t){var o=i.settings.createLocalList,u;e&&(i.settings.createLocalList=!1);u=new n(t,r.default.getElementValue(t),i.settings);e&&(u._setLocalList(s),i._addToLocalList(t,u),i.settings.createLocalList=o);f.push(u)}),o?f[0]:f)}},{key:"clear",value:function(){if(arguments.length>0&&void 0!==arguments[0]&&arguments[0]){var t={emptyInputBehavior:n.options.emptyInputBehavior.focus};this.set("",t)}else this.set("");return this}},{key:"remove",value:function(){this._removeValueFromPersistentStorage();this._removeEventListeners();this._removeWatcher();this._removeFromLocalList(this.domElement);this.constructor._removeFromGlobalList(this)}},{key:"wipe",value:function(){this._setElementValue("",!1);this.remove()}},{key:"nuke",value:function(){this.remove();this.domElement.parentNode.removeChild(this.domElement)}},{key:"form",value:function(){var n,t;return(arguments.length>0&&void 0!==arguments[0]&&arguments[0]||r.default.isUndefinedOrNullOrEmpty(this.parentForm))&&(n=this._getParentForm(),r.default.isNull(n)||n===this.parentForm||(t=this._getFormAutoNumericChildren(this.parentForm),this.parentForm.dataset.anCount=t.length,this._hasFormHandlerFunction(n)?this._incrementParentFormCounter(n):(this._storeFormHandlerFunction(n),this._initializeFormCounterToOne(n))),this.parentForm=n),this.parentForm}},{key:"_getFormAutoNumericChildren",value:function(n){var t=this;return[].concat(h(n.querySelectorAll("input"))).filter(function(n){return t.constructor.isManagedByAutoNumeric(n)})}},{key:"_getParentForm",value:function(){if("body"===this.domElement.tagName.toLowerCase())return null;var n=this.domElement,t=void 0;do{if(n=n.parentNode,r.default.isNull(n))return null;if("body"===(t=n.tagName?n.tagName.toLowerCase():""))break}while("form"!==t);return"form"===t?n:null}},{key:"formNumericString",value:function(){return this.constructor._serializeNumericString(this.form(),this.settings.serializeSpaces)}},{key:"formFormatted",value:function(){return this.constructor._serializeFormatted(this.form(),this.settings.serializeSpaces)}},{key:"formLocalized",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=void 0;return t=r.default.isNull(n)?this.settings.outputFormat:n,this.constructor._serializeLocalized(this.form(),this.settings.serializeSpaces,t)}},{key:"formArrayNumericString",value:function(){return this.constructor._serializeNumericStringArray(this.form(),this.settings.serializeSpaces)}},{key:"formArrayFormatted",value:function(){return this.constructor._serializeFormattedArray(this.form(),this.settings.serializeSpaces)}},{key:"formArrayLocalized",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=void 0;return t=r.default.isNull(n)?this.settings.outputFormat:n,this.constructor._serializeLocalizedArray(this.form(),this.settings.serializeSpaces,t)}},{key:"formJsonNumericString",value:function(){return JSON.stringify(this.formArrayNumericString())}},{key:"formJsonFormatted",value:function(){return JSON.stringify(this.formArrayFormatted())}},{key:"formJsonLocalized",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return JSON.stringify(this.formArrayLocalized(n))}},{key:"formUnformat",value:function(){return this.constructor._getChildANInputElement(this.form()).forEach(function(t){n.getAutoNumericElement(t).unformat()}),this}},{key:"formUnformatLocalized",value:function(){return this.constructor._getChildANInputElement(this.form()).forEach(function(t){n.getAutoNumericElement(t).unformatLocalized()}),this}},{key:"formReformat",value:function(){return this.constructor._getChildANInputElement(this.form()).forEach(function(t){n.getAutoNumericElement(t).reformat()}),this}},{key:"formSubmitNumericString",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return r.default.isNull(n)?(this.formUnformat(),this.form().submit(),this.formReformat()):r.default.isFunction(n)?n(this.formNumericString()):r.default.throwError("The given callback is not a function."),this}},{key:"formSubmitFormatted",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return r.default.isNull(n)?this.form().submit():r.default.isFunction(n)?n(this.formFormatted()):r.default.throwError("The given callback is not a function."),this}},{key:"formSubmitLocalized",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r.default.isNull(n)?(this.formUnformatLocalized(),this.form().submit(),this.formReformat()):r.default.isFunction(n)?n(this.formLocalized(t)):r.default.throwError("The given callback is not a function."),this}},{key:"formSubmitArrayNumericString",value:function(n){return r.default.isFunction(n)?n(this.formArrayNumericString()):r.default.throwError("The given callback is not a function."),this}},{key:"formSubmitArrayFormatted",value:function(n){return r.default.isFunction(n)?n(this.formArrayFormatted()):r.default.throwError("The given callback is not a function."),this}},{key:"formSubmitArrayLocalized",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r.default.isFunction(n)?n(this.formArrayLocalized(t)):r.default.throwError("The given callback is not a function."),this}},{key:"formSubmitJsonNumericString",value:function(n){return r.default.isFunction(n)?n(this.formJsonNumericString()):r.default.throwError("The given callback is not a function."),this}},{key:"formSubmitJsonFormatted",value:function(n){return r.default.isFunction(n)?n(this.formJsonFormatted()):r.default.throwError("The given callback is not a function."),this}},{key:"formSubmitJsonLocalized",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r.default.isFunction(n)?n(this.formJsonLocalized(t)):r.default.throwError("The given callback is not a function."),this}},{key:"_createLocalList",value:function(){this.autoNumericLocalList=new Map;this._addToLocalList(this.domElement)}},{key:"_deleteLocalList",value:function(){delete this.autoNumericLocalList}},{key:"_setLocalList",value:function(n){this.autoNumericLocalList=n}},{key:"_getLocalList",value:function(){return this.autoNumericLocalList}},{key:"_hasLocalList",value:function(){return this.autoNumericLocalList instanceof Map&&0!==this.autoNumericLocalList.size}},{key:"_addToLocalList",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;r.default.isNull(t)&&(t=this);r.default.isUndefined(this.autoNumericLocalList)?r.default.throwError("The local list provided does not exists when trying to add an element. ["+this.autoNumericLocalList+"] given."):this.autoNumericLocalList.set(n,t)}},{key:"_removeFromLocalList",value:function(n){r.default.isUndefined(this.autoNumericLocalList)?this.settings.createLocalList&&r.default.throwError("The local list provided does not exists when trying to remove an element. ["+this.autoNumericLocalList+"] given."):this.autoNumericLocalList.delete(n)}},{key:"_mergeSettings",value:function(){for(var t=arguments.length,i=Array(t),n=0;n<t;n++)i[n]=arguments[n];e.apply(void 0,[this.settings].concat(i))}},{key:"_cloneAndMergeSettings",value:function(){for(var t={},i=arguments.length,r=Array(i),n=0;n<i;n++)r[n]=arguments[n];return e.apply(void 0,[t,this.settings].concat(r)),t}},{key:"_updatePredefinedOptions",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return r.default.isNull(t)?this.update(n):(this._mergeSettings(n,t),this.update(this.settings)),this}},{key:"french",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this._updatePredefinedOptions(n.getPredefinedOptions().French,t),this}},{key:"northAmerican",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this._updatePredefinedOptions(n.getPredefinedOptions().NorthAmerican,t),this}},{key:"british",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this._updatePredefinedOptions(n.getPredefinedOptions().British,t),this}},{key:"swiss",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this._updatePredefinedOptions(n.getPredefinedOptions().Swiss,t),this}},{key:"japanese",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this._updatePredefinedOptions(n.getPredefinedOptions().Japanese,t),this}},{key:"spanish",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this._updatePredefinedOptions(n.getPredefinedOptions().Spanish,t),this}},{key:"chinese",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this._updatePredefinedOptions(n.getPredefinedOptions().Chinese,t),this}},{key:"brazilian",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this._updatePredefinedOptions(n.getPredefinedOptions().Brazilian,t),this}},{key:"_runCallbacksFoundInTheSettingsObject",value:function(){var n,i,t;for(n in this.settings)this.settings.hasOwnProperty(n)&&(i=this.settings[n],"function"==typeof i?this.settings[n]=i(this,n):(t=this.domElement.getAttribute(n),t=r.default.camelize(t),"function"==typeof this.settings[t]&&(this.settings[n]=t(this,n))))}},{key:"_setTrailingNegativeSignInfo",value:function(){this.isTrailingNegative=this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.prefix&&this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.suffix||this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix&&(this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.left||this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.right)}},{key:"_setBrackets",value:function(){if(r.default.isNull(this.settings.negativeBracketsTypeOnBlur))this.settings.firstBracket="",this.settings.lastBracket="";else{var t=this.settings.negativeBracketsTypeOnBlur.split(","),n=f(t,2);this.settings.firstBracket=n[0];this.settings.lastBracket=n[1]}}},{key:"_modifyNegativeSignAndDecimalCharacterForRawValue",value:function(n){return"."!==this.settings.decimalCharacter&&(n=n.replace(this.settings.decimalCharacter,".")),"-"!==this.settings.negativeSignCharacter&&this.settings.isNegativeSignAllowed&&(n=n.replace(this.settings.negativeSignCharacter,"-")),n.match(/\d/)||(n+="0"),n}},{key:"_initialCaretPosition",value:function(t){var l;r.default.isNull(this.settings.caretPositionOnFocus)&&this.settings.selectOnFocus===n.options.selectOnFocus.doNotSelect&&r.default.throwError("`_initialCaretPosition()` should never be called when the `caretPositionOnFocus` option is `null`.");var u=this.rawValue<0,o=r.default.isZeroOrHasNoValue(t),a=t.length,c=0,f=0,v=!1,s=0;this.settings.caretPositionOnFocus!==n.options.caretPositionOnFocus.start&&(t=t.replace(this.settings.negativeSignCharacter,""),t=t.replace(this.settings.positiveSignCharacter,""),t=t.replace(this.settings.currencySymbol,""),c=t.length,v=r.default.contains(t,this.settings.decimalCharacter),this.settings.caretPositionOnFocus!==n.options.caretPositionOnFocus.decimalLeft&&this.settings.caretPositionOnFocus!==n.options.caretPositionOnFocus.decimalRight||(v?(f=t.indexOf(this.settings.decimalCharacter),s=this.settings.decimalCharacter.length):(f=c,s=0)));l="";u?l=this.settings.negativeSignCharacter:this.settings.showPositiveSign&&!o&&(l=this.settings.positiveSignCharacter);var h=l.length,e=this.settings.currencySymbol.length,i=void 0;if(this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.prefix){if(this.settings.caretPositionOnFocus===n.options.caretPositionOnFocus.start)if(this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none&&(u||!u&&this.settings.showPositiveSign&&!o))switch(this.settings.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.prefix:case n.options.negativePositiveSignPlacement.left:case n.options.negativePositiveSignPlacement.right:i=h+e;break;case n.options.negativePositiveSignPlacement.suffix:i=e}else i=e;else if(this.settings.caretPositionOnFocus===n.options.caretPositionOnFocus.end)if(this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none&&(u||!u&&this.settings.showPositiveSign&&!o))switch(this.settings.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.prefix:case n.options.negativePositiveSignPlacement.left:case n.options.negativePositiveSignPlacement.right:i=a;break;case n.options.negativePositiveSignPlacement.suffix:i=e+c}else i=a;else if(this.settings.caretPositionOnFocus===n.options.caretPositionOnFocus.decimalLeft)if(this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none&&(u||!u&&this.settings.showPositiveSign&&!o))switch(this.settings.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.prefix:case n.options.negativePositiveSignPlacement.left:case n.options.negativePositiveSignPlacement.right:i=h+e+f;break;case n.options.negativePositiveSignPlacement.suffix:i=e+f}else i=e+f;else if(this.settings.caretPositionOnFocus===n.options.caretPositionOnFocus.decimalRight)if(this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none&&(u||!u&&this.settings.showPositiveSign&&!o))switch(this.settings.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.prefix:case n.options.negativePositiveSignPlacement.left:case n.options.negativePositiveSignPlacement.right:i=h+e+f+s;break;case n.options.negativePositiveSignPlacement.suffix:i=e+f+s}else i=e+f+s}else if(this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix)if(this.settings.caretPositionOnFocus===n.options.caretPositionOnFocus.start)if(this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none&&(u||!u&&this.settings.showPositiveSign&&!o))switch(this.settings.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.suffix:case n.options.negativePositiveSignPlacement.right:case n.options.negativePositiveSignPlacement.left:i=0;break;case n.options.negativePositiveSignPlacement.prefix:i=h}else i=0;else if(this.settings.caretPositionOnFocus===n.options.caretPositionOnFocus.end)if(this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none&&(u||!u&&this.settings.showPositiveSign&&!o))switch(this.settings.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.suffix:case n.options.negativePositiveSignPlacement.right:case n.options.negativePositiveSignPlacement.left:i=c;break;case n.options.negativePositiveSignPlacement.prefix:i=h+c}else i=c;else if(this.settings.caretPositionOnFocus===n.options.caretPositionOnFocus.decimalLeft)if(this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none&&(u||!u&&this.settings.showPositiveSign&&!o))switch(this.settings.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.suffix:case n.options.negativePositiveSignPlacement.right:case n.options.negativePositiveSignPlacement.left:i=f;break;case n.options.negativePositiveSignPlacement.prefix:i=h+f}else i=f;else if(this.settings.caretPositionOnFocus===n.options.caretPositionOnFocus.decimalRight)if(this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none&&(u||!u&&this.settings.showPositiveSign&&!o))switch(this.settings.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.suffix:case n.options.negativePositiveSignPlacement.right:case n.options.negativePositiveSignPlacement.left:i=f+s;break;case n.options.negativePositiveSignPlacement.prefix:i=h+f+s}else i=f+s;return i}},{key:"_keepAnOriginalSettingsCopy",value:function(){this.originalDigitGroupSeparator=this.settings.digitGroupSeparator;this.originalCurrencySymbol=this.settings.currencySymbol;this.originalSuffixText=this.settings.suffixText}},{key:"_trimLeadingAndTrailingZeros",value:function(t){if(""===t||null===t)return t;if(this.settings.leadingZero!==n.options.leadingZero.keep){if(0===Number(t))return"0";t=t.replace(/^(-)?0+(?=\d)/g,"$1")}return r.default.contains(t,".")&&(t=t.replace(/(\.[0-9]*?)0+$/,"$1")),t=t.replace(/\.$/,"")}},{key:"_setPersistentStorageName",value:function(){this.settings.saveValueToSessionStorage&&(this.rawValueStorageName=""===this.domElement.name||r.default.isUndefined(this.domElement.name)?""+this.storageNamePrefix+this.domElement.id:""+this.storageNamePrefix+decodeURIComponent(this.domElement.name))}},{key:"_saveValueToPersistentStorage",value:function(){this.settings.saveValueToSessionStorage&&(this.sessionStorageAvailable?sessionStorage.setItem(this.rawValueStorageName,this.rawValue):document.cookie=this.rawValueStorageName+"="+this.rawValue+"; expires= ; path=/")}},{key:"_getValueFromPersistentStorage",value:function(){return this.settings.saveValueToSessionStorage?this.sessionStorageAvailable?sessionStorage.getItem(this.rawValueStorageName):this._readCookie(this.rawValueStorageName):(r.default.warning("`_getValueFromPersistentStorage()` is called but `settings.saveValueToSessionStorage` is false. There must be an error that needs fixing.",this.settings.showWarnings),null)}},{key:"_removeValueFromPersistentStorage",value:function(){var n,t;this.settings.saveValueToSessionStorage&&(this.sessionStorageAvailable?sessionStorage.removeItem(this.rawValueStorageName):(n=new Date,n.setTime(n.getTime()-864e5),t="; expires="+n.toUTCString(),document.cookie=this.rawValueStorageName+"='' ;"+t+"; path=/"))}},{key:"_onFocusInAndMouseEnter",value:function(t){var i,u,f,e;if(this.isEditing=!1,this.settings.unformatOnHover&&"mouseenter"===t.type&&t.altKey)return void this.constructor._unformatAltHovered(this);if("focus"===t.type&&(this.isFocused=!0),"focus"===t.type&&this.settings.unformatOnHover&&this.hoveredWithAlt&&this.constructor._reformatAltHovered(this),"focus"===t.type||"mouseenter"===t.type&&!this.isFocused){i=null;this.settings.emptyInputBehavior===n.options.emptyInputBehavior.focus&&this.rawValue<0&&null!==this.settings.negativeBracketsTypeOnBlur&&this.settings.isNegativeSignAllowed&&(i=this.constructor._removeBrackets(r.default.getElementValue(this.domElement),this.settings));u=this._getRawValueToFormat(this.rawValue);""!==u&&(f=void 0,(f=this.isFocused?this.constructor._roundFormattedValueShownOnFocus(u,this.settings):this.constructor._roundFormattedValueShownOnBlur(u,this.settings),this.settings.showOnlyNumbersOnFocus===n.options.showOnlyNumbersOnFocus.onlyNumbers)?(this.settings.digitGroupSeparator="",this.settings.currencySymbol="",this.settings.suffixText="",i=f.replace(".",this.settings.decimalCharacter)):(e=void 0,e=r.default.isNull(f)?"":this.constructor._addGroupSeparators(f.replace(".",this.settings.decimalCharacter),this.settings,this.isFocused,u),i=e));this.valueOnFocus=r.default.isNull(i)?"":i;this.lastVal=this.valueOnFocus;var h=this.constructor._isElementValueEmptyOrOnlyTheNegativeSign(this.valueOnFocus,this.settings),o=this.constructor._orderValueCurrencySymbolAndSuffixText(this.valueOnFocus,this.settings,!0),s=h&&""!==o&&this.settings.emptyInputBehavior===n.options.emptyInputBehavior.focus;s&&(i=o);r.default.isNull(i)||this._setElementValue(i);s&&o===this.settings.currencySymbol&&this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix&&r.default.setElementSelection(t.target,0)}}},{key:"_onFocus",value:function(){this.settings.isCancellable&&this._saveCancellableValue()}},{key:"_onFocusIn",value:function(n){this.settings.selectOnFocus?this.select():r.default.isNull(this.settings.caretPositionOnFocus)||r.default.setElementSelection(n.target,this._initialCaretPosition(r.default.getElementValue(this.domElement)))}},{key:"_onKeydown",value:function(t){if(this.formatted=!1,this.isEditing=!0,!this.isFocused&&this.settings.unformatOnHover&&t.altKey&&this.domElement===r.default.getHoveredElement())return void this.constructor._unformatAltHovered(this);if(this._updateEventKeyInfo(t),this.initialValueOnKeydown=r.default.getElementValue(t.target),this.initialRawValueOnKeydown=this.rawValue,this.domElement.readOnly)return void(this.processed=!0);this.eventKey===u.default.keyName.Esc&&(t.preventDefault(),this.settings.isCancellable&&this.rawValue!==this.savedCancellableValue&&(this.set(this.savedCancellableValue),this._triggerEvent(n.events.native.input,t.target)),this.select());var i=r.default.getElementValue(t.target);if(this.eventKey===u.default.keyName.Enter&&this.valueOnFocus!==i&&(this._triggerEvent(n.events.native.change,t.target),this.valueOnFocus=i,this.settings.isCancellable&&this._saveCancellableValue()),this._updateInternalProperties(t),this._processNonPrintableKeysAndShortcuts(t))return void(this.processed=!0);this.eventKey!==u.default.keyName.Backspace&&this.eventKey!==u.default.keyName.Delete||(this._processCharacterDeletion(),this.processed=!0,this._formatValue(t),i=r.default.getElementValue(t.target),i!==this.lastVal&&this.throwInput&&(this._triggerEvent(n.events.native.input,t.target),t.preventDefault()),this.lastVal=i,this.throwInput=!0)}},{key:"_onKeypress",value:function(t){var f,i,e;if(this.eventKey!==u.default.keyName.Insert&&(f=this.processed,this._updateInternalProperties(t),!this._processNonPrintableKeysAndShortcuts(t))){if(f)return void t.preventDefault();if(this._processCharacterInsertion())return this._formatValue(t),i=r.default.getElementValue(t.target),i!==this.lastVal&&this.throwInput?(this._triggerEvent(n.events.native.input,t.target),t.preventDefault()):((this.eventKey===this.settings.decimalCharacter||this.eventKey===this.settings.decimalCharacterAlternative)&&r.default.getElementSelection(t.target).start===r.default.getElementSelection(t.target).end&&r.default.getElementSelection(t.target).start===i.indexOf(this.settings.decimalCharacter)&&(e=r.default.getElementSelection(t.target).start+1,r.default.setElementSelection(t.target,e)),t.preventDefault()),this.lastVal=r.default.getElementValue(t.target),void(this.throwInput=!0);t.preventDefault()}}},{key:"_onKeyup",value:function(t){var e,o,s,i,f;if(this.isEditing=!1,this.settings.isCancellable&&this.eventKey===u.default.keyName.Esc)return void t.preventDefault();if(this.eventKey===u.default.keyName.Z||this.eventKey===u.default.keyName.z){if(t.ctrlKey&&t.shiftKey)return t.preventDefault(),this._historyTableRedo(),void(this.onGoingRedo=!0);if(t.ctrlKey&&!t.shiftKey){if(!this.onGoingRedo)return t.preventDefault(),void this._historyTableUndo();this.onGoingRedo=!1}}if((this.onGoingRedo&&(t.ctrlKey||t.shiftKey)&&(this.onGoingRedo=!1),(t.ctrlKey||t.metaKey)&&this.eventKey===u.default.keyName.x)&&(e=r.default.getElementSelection(this.domElement).start,o=this.constructor._toNumericValue(r.default.getElementValue(t.target),this.settings),this.set(o),this._setCaretPosition(e)),this.eventKey===u.default.keyName.Alt&&this.hoveredWithAlt)return void this.constructor._reformatAltHovered(this);this._updateInternalProperties(t);s=this._processNonPrintableKeysAndShortcuts(t);delete this.valuePartsBeforePaste;i=r.default.getElementValue(t.target);!s&&""!==i&&(i===this.settings.currencySymbol?this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix?r.default.setElementSelection(t.target,0):r.default.setElementSelection(t.target,this.settings.currencySymbol.length):this.eventKey===u.default.keyName.Tab&&r.default.setElementSelection(t.target,0,i.length),(i===this.settings.suffixText||""===this.rawValue&&""!==this.settings.currencySymbol&&""!==this.settings.suffixText)&&r.default.setElementSelection(t.target,0),null!==this.settings.decimalPlacesShownOnFocus&&this._saveValueToPersistentStorage(),this.formatted||this._formatValue(t),this._saveRawValueForAndroid(),i!==this.initialValueOnKeydown&&this._triggerEvent(n.events.formatted,t.target,{oldValue:this.initialValueOnKeydown,newValue:i,oldRawValue:this.initialRawValueOnKeydown,newRawValue:this.rawValue,isPristine:this.isPristine(!1),error:null,aNElement:this}),this.historyTable.length>1)&&(f=r.default.getElementSelection(this.domElement),this.selectionStart=f.start,this.selectionEnd=f.end,this.historyTable[this.historyTableIndex].start=this.selectionStart,this.historyTable[this.historyTableIndex].end=this.selectionEnd)}},{key:"_saveRawValueForAndroid",value:function(){if(this.eventKey===u.default.keyName.AndroidDefault){var n=this.constructor._stripAllNonNumberCharactersExceptCustomDecimalChar(this.getFormatted(),this.settings,!0,this.isFocused);n=this.constructor._convertToNumericString(n,this.settings);this._setRawValue(n)}}},{key:"_onFocusOutAndMouseLeave",value:function(t){var u,e;if(this.isEditing=!1,this.settings.unformatOnHover&&"mouseleave"===t.type&&this.hoveredWithAlt)return void this.constructor._reformatAltHovered(this);if("mouseleave"===t.type&&!this.isFocused||"blur"===t.type){this._saveValueToPersistentStorage();this.settings.showOnlyNumbersOnFocus===n.options.showOnlyNumbersOnFocus.onlyNumbers&&(this.settings.digitGroupSeparator=this.originalDigitGroupSeparator,this.settings.currencySymbol=this.originalCurrencySymbol,this.settings.suffixText=this.originalSuffixText);var i=this._getRawValueToFormat(this.rawValue),o=r.default.isNull(i),a=this.constructor._checkIfInRangeWithOverrideOption(i,this.settings),c=f(a,2),s=c[0],h=c[1],l=!1;(""===i||o||(s||this._triggerEvent(n.events.minRangeExceeded,this.domElement),h||this._triggerEvent(n.events.maxRangeExceeded,this.domElement),this.settings.valuesToStrings&&this._checkValuesToStrings(i)&&(this._setElementValue(this.settings.valuesToStrings[i]),l=!0)),l)||(u=void 0,u=o||""===i?i:String(i),""===i||o?""===i&&this.settings.emptyInputBehavior===n.options.emptyInputBehavior.zero&&(this._setRawValue("0"),u=this.constructor._roundValue("0",this.settings,0)):s&&h&&!this.constructor._isElementValueEmptyOrOnlyTheNegativeSign(i,this.settings)?(u=this._modifyNegativeSignAndDecimalCharacterForRawValue(u),this.settings.divisorWhenUnfocused&&!r.default.isNull(u)&&(u/=this.settings.divisorWhenUnfocused,u=u.toString()),u=this.constructor._roundFormattedValueShownOnBlur(u,this.settings),u=this.constructor._modifyNegativeSignAndDecimalCharacterForFormattedValue(u,this.settings)):(s||this._triggerEvent(n.events.minRangeExceeded,this.domElement),h||this._triggerEvent(n.events.maxRangeExceeded,this.domElement)),e=this.constructor._orderValueCurrencySymbolAndSuffixText(u,this.settings,!1),this.constructor._isElementValueEmptyOrOnlyTheNegativeSign(u,this.settings)||o&&this.settings.emptyInputBehavior===n.options.emptyInputBehavior.null||(e=this.constructor._addGroupSeparators(u,this.settings,!1,i)),e===i&&""!==i&&this.settings.allowDecimalPadding!==n.options.allowDecimalPadding.never&&this.settings.allowDecimalPadding!==n.options.allowDecimalPadding.floats||(this.settings.symbolWhenUnfocused&&""!==i&&null!==i&&(e=""+e+this.settings.symbolWhenUnfocused),this._setElementValue(e)),e!==this.valueOnFocus&&(this._triggerEvent(n.events.native.change,this.domElement),delete this.valueOnFocus));this._onBlur(t)}}},{key:"_onPaste",value:function(t){var o,s,ot,w,it,rt,e,st,ht,p,vt,yt,pt,wt,bt,d,ut,g,nt,ft;if(t.preventDefault(),!(this.settings.readOnly||this.domElement.readOnly||this.domElement.disabled)){o=void 0;window.clipboardData&&window.clipboardData.getData?o=window.clipboardData.getData("Text"):t.clipboardData&&t.clipboardData.getData?o=t.clipboardData.getData("text/plain"):r.default.throwError("Unable to retrieve the pasted value. Please use a modern browser (ie. Firefox or Chromium).");s=void 0;s=t.target.tagName?t.target:t.explicitOriginalTarget;var f=r.default.getElementValue(s),h=s.selectionStart||0,a=s.selectionEnd||0,et=a-h;if(et===f.length)return ot=this._preparePastedText(o),w=r.default.arabicToLatinNumbers(ot,!1,!1,!1),"."===w||""===w||"."!==w&&!r.default.isNumber(w)?(this.formatted=!0,void(this.settings.onInvalidPaste===n.options.onInvalidPaste.error&&r.default.throwError("The pasted value '"+o+"' is not a valid paste content."))):(this.set(w),void(this.formatted=!0));if(it=r.default.isNegativeStrict(o,this.settings.negativeSignCharacter),it&&(o=o.slice(1,o.length)),rt=this._preparePastedText(o),e=void 0,"."!==(e="."===rt?".":r.default.arabicToLatinNumbers(rt,!1,!1,!1))&&(!r.default.isNumber(e)||""===e))return this.formatted=!0,void(this.settings.onInvalidPaste===n.options.onInvalidPaste.error&&r.default.throwError("The pasted value '"+o+"' is not a valid paste content."));var u=void 0,tt=r.default.isNegativeStrict(this.getNumericString(),this.settings.negativeSignCharacter),b=void 0,i=void 0;it&&!tt?(tt=!0,b=!0):b=!1;var k=!1,c=void 0,l=void 0;switch(this.settings.onInvalidPaste){case n.options.onInvalidPaste.truncate:case n.options.onInvalidPaste.replace:st=f.slice(0,h);ht=f.slice(a,f.length);i=h!==a?this._preparePastedText(st+ht):this._preparePastedText(f);tt&&(i=r.default.setRawNegativeSign(i));u=r.default.convertCharacterCountToIndexPosition(r.default.countNumberCharactersOnTheCaretLeftSide(f,h,this.settings.decimalCharacter));b&&u++;c=i.slice(0,u);l=i.slice(u,i.length);"."===e&&(r.default.contains(c,".")&&(k=!0,c=c.replace(".","")),l=l.replace(".",""));for(var ct=r.default.parseStr(this.settings.minimumValue),lt=r.default.parseStr(this.settings.maximumValue),v=i,y=0,at=c;y<e.length&&(at+=e[y],i=at+l,this.constructor._checkIfInRange(i,ct,lt));)v=i,y++;if(u+=y,this.settings.onInvalidPaste===n.options.onInvalidPaste.truncate){i=v;k&&u--;break}for(p=u,vt=v.length;y<e.length&&p<vt;)if("."!==v[p]){if(i=r.default.replaceCharAt(v,p,e[y]),!this.constructor._checkIfInRange(i,ct,lt))break;v=i;y++;p++}else p++;u=p;k&&u--;i=v;break;case n.options.onInvalidPaste.error:case n.options.onInvalidPaste.ignore:case n.options.onInvalidPaste.clamp:default:yt=f.slice(0,h);pt=f.slice(a,f.length);(i=h!==a?this._preparePastedText(yt+pt):this._preparePastedText(f),tt&&(i=r.default.setRawNegativeSign(i)),u=r.default.convertCharacterCountToIndexPosition(r.default.countNumberCharactersOnTheCaretLeftSide(f,h,this.settings.decimalCharacter)),b&&u++,c=i.slice(0,u),l=i.slice(u,i.length),"."===e&&(r.default.contains(c,".")&&(k=!0,c=c.replace(".","")),l=l.replace(".","")),i=""+c+e+l,h===a)?u=r.default.convertCharacterCountToIndexPosition(r.default.countNumberCharactersOnTheCaretLeftSide(f,h,this.settings.decimalCharacter))+e.length:""===l?u=r.default.convertCharacterCountToIndexPosition(r.default.countNumberCharactersOnTheCaretLeftSide(f,h,this.settings.decimalCharacter))+e.length:(wt=r.default.convertCharacterCountToIndexPosition(r.default.countNumberCharactersOnTheCaretLeftSide(f,a,this.settings.decimalCharacter)),bt=r.default.getElementValue(s).slice(h,a),u=wt-et+r.default.countCharInText(this.settings.digitGroupSeparator,bt)+e.length);b&&u++;k&&u--}if(!r.default.isNumber(i)||""===i)return void(this.settings.onInvalidPaste===n.options.onInvalidPaste.error&&r.default.throwError("The pasted value '"+o+"' would result into an invalid content '"+i+"'."));d=!1;ut=!1;try{this.set(i);d=!0}catch(t){g=void 0;switch(this.settings.onInvalidPaste){case n.options.onInvalidPaste.clamp:g=r.default.clampToRangeLimits(i,this.settings);try{this.set(g)}catch(n){r.default.throwError("Fatal error: Unable to set the clamped value '"+g+"'.")}ut=!0;d=!0;i=g;break;case n.options.onInvalidPaste.error:case n.options.onInvalidPaste.truncate:case n.options.onInvalidPaste.replace:r.default.throwError("The pasted value '"+o+"' results in a value '"+i+"' that is outside of the minimum ["+this.settings.minimumValue+"] and maximum ["+this.settings.maximumValue+"] value range.");case n.options.onInvalidPaste.ignore:default:return}}if(nt=r.default.getElementValue(s),ft=void 0,d)switch(this.settings.onInvalidPaste){case n.options.onInvalidPaste.clamp:if(ut){this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix?r.default.setElementSelection(s,nt.length-this.settings.currencySymbol.length):r.default.setElementSelection(s,nt.length);break}case n.options.onInvalidPaste.error:case n.options.onInvalidPaste.ignore:case n.options.onInvalidPaste.truncate:case n.options.onInvalidPaste.replace:default:ft=r.default.findCaretPositionInFormattedNumber(i,u,nt,this.settings.decimalCharacter);r.default.setElementSelection(s,ft)}d&&f!==nt&&this._triggerEvent(n.events.native.input,s)}}},{key:"_onBlur",value:function(t){this.isFocused=!1;this.isEditing=!1;r.default.getElementValue(t.target)!==this.valueOnFocus&&this._triggerEvent(n.events.native.change,t.target)}},{key:"_onWheel",value:function(t){this.settings.readOnly||this.domElement.readOnly||this.domElement.disabled||this.settings.modifyValueOnWheel&&(this.settings.wheelOn===n.options.wheelOn.focus?this.isFocused?t.shiftKey||this.wheelAction(t):t.shiftKey&&this.wheelAction(t):this.settings.wheelOn===n.options.wheelOn.hover?t.shiftKey?(t.preventDefault(),window.scrollBy(0,r.default.isNegativeStrict(String(t.deltaY))?-50:50)):this.wheelAction(t):r.default.throwError("Unknown `wheelOn` option."))}},{key:"wheelAction",value:function(t){var f;this.isWheelEvent=!0;var e=t.target.selectionStart||0,o=t.target.selectionEnd||0,u=this.rawValue,i=void 0;(r.default.isUndefinedOrNullOrEmpty(u)?this.settings.minimumValue>0||this.settings.maximumValue<0?r.default.isWheelUpEvent(t)?i=this.settings.minimumValue:r.default.isWheelDownEvent(t)?i=this.settings.maximumValue:r.default.throwError("The event is not a 'wheel' event."):i=0:i=u,i=+i,r.default.isNumber(this.settings.wheelStep))?(f=+this.settings.wheelStep,r.default.isWheelUpEvent(t)?i+=f:r.default.isWheelDownEvent(t)&&(i-=f)):r.default.isWheelUpEvent(t)?i=r.default.addAndRoundToNearestAuto(i,this.settings.decimalPlacesRawValue):r.default.isWheelDownEvent(t)&&(i=r.default.subtractAndRoundToNearestAuto(i,this.settings.decimalPlacesRawValue));i=r.default.clampToRangeLimits(i,this.settings);i!==+u&&(this.set(i),this._triggerEvent(n.events.native.input,t.target));t.preventDefault();this._setSelection(e,o);this.isWheelEvent=!1}},{key:"_onDrop",value:function(n){var t,i,u;this.isDropEvent=!0;n.preventDefault();t=void 0;t=r.default.isIE11()?"text":"text/plain";i=n.dataTransfer.getData(t);u=this.unformatOther(i);this.set(u);this.isDropEvent=!1}},{key:"_onFormSubmit",value:function(){var n=this;return this._getFormAutoNumericChildren(this.parentForm).map(function(t){return n.constructor.getAutoNumericElement(t)}).forEach(function(n){return n._unformatOnSubmit()}),!0}},{key:"_unformatOnSubmit",value:function(){this.settings.unformatOnSubmit&&this._setElementValue(this.rawValue)}},{key:"_onKeydownGlobal",value:function(t){var i,f;r.default.character(t)===u.default.keyName.Alt&&(i=r.default.getHoveredElement(),n.isManagedByAutoNumeric(i)&&(f=n.getAutoNumericElement(i),this.constructor._unformatAltHovered(f)))}},{key:"_onKeyupGlobal",value:function(t){var i,f;r.default.character(t)===u.default.keyName.Alt&&(i=r.default.getHoveredElement(),n.isManagedByAutoNumeric(i)&&(f=n.getAutoNumericElement(i),this.constructor._reformatAltHovered(f)))}},{key:"_isElementTagSupported",value:function(){return r.default.isElement(this.domElement)||r.default.throwError("The DOM element is not valid, "+this.domElement+" given."),r.default.isInArray(this.domElement.tagName.toLowerCase(),this.allowedTagList)}},{key:"_isInputElement",value:function(){return"input"===this.domElement.tagName.toLowerCase()}},{key:"_isInputTypeSupported",value:function(){return"text"===this.domElement.type||"hidden"===this.domElement.type||"tel"===this.domElement.type||r.default.isUndefinedOrNullOrEmpty(this.domElement.type)}},{key:"_checkElement",value:function(){var n=this.domElement.tagName.toLowerCase();this._isElementTagSupported()||r.default.throwError("The <"+n+"> tag is not supported by autoNumeric");this._isInputElement()?(this._isInputTypeSupported()||r.default.throwError('The input type "'+this.domElement.type+'" is not supported by autoNumeric'),this.isInputElement=!0):(this.isInputElement=!1,this.isContentEditable=this.domElement.hasAttribute("contenteditable")&&"true"===this.domElement.getAttribute("contenteditable"))}},{key:"_formatDefaultValueOnPageLoad",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=!0,t=void 0,u,f;if(r.default.isNull(e)?(t=r.default.getElementValue(this.domElement).trim(),this.domElement.setAttribute("value",t)):t=e,this.isInputElement||this.isContentEditable)if(u=this.constructor._toNumericValue(t,this.settings),this.domElement.hasAttribute("value")&&""!==this.domElement.getAttribute("value")?(null===this.settings.defaultValueOverride||this.settings.defaultValueOverride.toString()===t)&&(null!==this.settings.defaultValueOverride||""===t||t===this.domElement.getAttribute("value"))&&(""===t||"hidden"!==this.domElement.getAttribute("type")||r.default.isNumber(u))||((this.settings.saveValueToSessionStorage&&(null!==this.settings.decimalPlacesShownOnFocus||this.settings.divisorWhenUnfocused)&&this._setRawValue(this._getValueFromPersistentStorage()),this.settings.saveValueToSessionStorage)||(f=this.constructor._removeBrackets(t,this.settings),(this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.suffix||this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.prefix&&this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix)&&""!==this.settings.negativeSignCharacter&&r.default.isNegative(t,this.settings.negativeSignCharacter)?this._setRawValue("-"+this.constructor._stripAllNonNumberCharacters(f,this.settings,!0,this.isFocused)):this._setRawValue(this.constructor._stripAllNonNumberCharacters(f,this.settings,!0,this.isFocused))),i=!1):isNaN(Number(u))||1/0===u?r.default.throwError("The value ["+t+"] used in the input is not a valid value autoNumeric can work with."):(this.set(u),i=!1),""===t)switch(this.settings.emptyInputBehavior){case n.options.emptyInputBehavior.focus:i=!1;break;case n.options.emptyInputBehavior.always:this._setElementValue(this.settings.currencySymbol);i=!1;break;case n.options.emptyInputBehavior.zero:this.set("0");i=!1}else i&&t===this.domElement.getAttribute("value")&&this.set(t);else null!==this.settings.defaultValueOverride&&this.settings.defaultValueOverride!==t||this.set(t)}},{key:"_calculateVMinAndVMaxIntegerSizes",value:function(){var i=this.settings.maximumValue.toString().split("."),r=f(i,1),n=r[0],u=this.settings.minimumValue||0===this.settings.minimumValue?this.settings.minimumValue.toString().split("."):[],e=f(u,1),t=e[0];n=n.replace(this.settings.negativeSignCharacter,"");t=t.replace(this.settings.negativeSignCharacter,"");this.settings.mIntPos=Math.max(n.length,1);this.settings.mIntNeg=Math.max(t.length,1)}},{key:"_calculateValuesToStringsKeys",value:function(){this.valuesToStringsKeys=this.settings.valuesToStrings?Object.keys(this.settings.valuesToStrings):[]}},{key:"_transformOptionsValuesToDefaultTypes",value:function(){var t,n;for(t in this.settings)this.settings.hasOwnProperty(t)&&(n=this.settings[t],"true"!==n&&"false"!==n||(this.settings[t]="true"===n),"number"==typeof n&&(this.settings[t]=n.toString()))}},{key:"_setSettings",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(!t&&r.default.isNull(n)||this.constructor._convertOldOptionsToNewOnes(n),t)?("decimalPlacesRawValue"in n&&(this.settings.originalDecimalPlacesRawValue=n.decimalPlacesRawValue),"decimalPlaces"in n&&(this.settings.originalDecimalPlaces=n.decimalPlaces),this.constructor._calculateDecimalPlacesOnUpdate(n,this.settings),this._mergeSettings(n)):(this.settings={},this._mergeSettings(this.constructor.getDefaultConfig(),this.domElement.dataset,n,{rawValue:this.defaultRawValue}),this.caretFix=!1,this.throwInput=!0,this.allowedTagList=u.default.allowedTagList,this.runOnce=!1,this.hoveredWithAlt=!1);this._transformOptionsValuesToDefaultTypes();this._runCallbacksFoundInTheSettingsObject();this.constructor._correctNegativePositiveSignPlacementOption(this.settings);this.constructor._correctCaretPositionOnFocusAndSelectOnFocusOptions(this.settings);this.constructor._setNegativePositiveSignPermissions(this.settings);t||(this.settings.originalDecimalPlaces=r.default.isNull(n)||!n.decimalPlaces?null:n.decimalPlaces,this.settings.originalDecimalPlacesRawValue=this.settings.decimalPlacesRawValue,this.constructor._calculateDecimalPlacesOnInit(this.settings));this._calculateVMinAndVMaxIntegerSizes();this._setTrailingNegativeSignInfo();this.regex={};this.constructor._cachesUsualRegularExpressions(this.settings,this.regex);this._setBrackets();this._calculateValuesToStringsKeys();r.default.isEmptyObj(this.settings)&&r.default.throwError("Unable to set the settings, those are invalid ; an empty object was given.");this.constructor.validate(this.settings,!1,n);this._keepAnOriginalSettingsCopy()}},{key:"_preparePastedText",value:function(n){return this.constructor._stripAllNonNumberCharacters(n,this.settings,!0,this.isFocused)}},{key:"_updateInternalProperties",value:function(){this.selection=r.default.getElementSelection(this.domElement);this.processed=!1}},{key:"_updateEventKeyInfo",value:function(n){this.eventKey=r.default.character(n)}},{key:"_saveCancellableValue",value:function(){this.savedCancellableValue=this.rawValue}},{key:"_setSelection",value:function(n,t){n=Math.max(n,0);t=Math.min(t,r.default.getElementValue(this.domElement).length);this.selection={start:n,end:t,length:t-n};r.default.setElementSelection(this.domElement,n,t)}},{key:"_setCaretPosition",value:function(n){this._setSelection(n,n)}},{key:"_getLeftAndRightPartAroundTheSelection",value:function(){var n=r.default.getElementValue(this.domElement);return[n.substring(0,this.selection.start),n.substring(this.selection.end,n.length)]}},{key:"_getUnformattedLeftAndRightPartAroundTheSelection",value:function(){var s=this._getLeftAndRightPartAroundTheSelection(),o=f(s,2),t=o[0],i=o[1],e;return""===t&&""===i?["",""]:(e=!0,this.eventKey!==u.default.keyName.Hyphen&&this.eventKey!==u.default.keyName.Minus||0!==Number(t)||(e=!1),this.isTrailingNegative&&(r.default.isNegative(i,this.settings.negativeSignCharacter)&&!r.default.isNegative(t,this.settings.negativeSignCharacter)||""===i&&r.default.isNegative(t,this.settings.negativeSignCharacter,!0))&&(t=t.replace(this.settings.negativeSignCharacter,""),i=i.replace(this.settings.negativeSignCharacter,""),t=t.replace("-",""),i=i.replace("-",""),t="-"+t),t=n._stripAllNonNumberCharactersExceptCustomDecimalChar(t,this.settings,e,this.isFocused),i=n._stripAllNonNumberCharactersExceptCustomDecimalChar(i,this.settings,!1,this.isFocused),[t,i])}},{key:"_normalizeParts",value:function(t,i){var o=!0,f,e;return this.eventKey!==u.default.keyName.Hyphen&&this.eventKey!==u.default.keyName.Minus||0!==Number(t)||(o=!1),this.isTrailingNegative&&r.default.isNegative(i,this.settings.negativeSignCharacter)&&!r.default.isNegative(t,this.settings.negativeSignCharacter)&&(t="-"+t,i=i.replace(this.settings.negativeSignCharacter,"")),t=n._stripAllNonNumberCharactersExceptCustomDecimalChar(t,this.settings,o,this.isFocused),i=n._stripAllNonNumberCharactersExceptCustomDecimalChar(i,this.settings,!1,this.isFocused),this.settings.leadingZero!==n.options.leadingZero.deny||this.eventKey!==u.default.keyName.num0&&this.eventKey!==u.default.keyName.numpad0||0!==Number(t)||r.default.contains(t,this.settings.decimalCharacter)||""===i||(t=t.substring(0,t.length-1)),f=t+i,this.settings.decimalCharacter&&(e=f.match(new RegExp("^"+this.regex.aNegRegAutoStrip+"\\"+this.settings.decimalCharacter)),e&&(t=t.replace(e[1],e[1]+"0"),f=t+i)),[t,i,f]}},{key:"_setValueParts",value:function(t,i){var l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],b=this._normalizeParts(t,i),s=f(b,3),h=s[0],a=s[1],c=s[2],k=n._checkIfInRangeWithOverrideOption(c,this.settings),v=f(k,2),y=v[0],p=v[1],w,e,u,o,r;if(y&&p){if(w=n._truncateDecimalPlaces(c,this.settings,l,this.settings.decimalPlacesRawValue),e=w.replace(this.settings.decimalCharacter,"."),""===e||e===this.settings.negativeSignCharacter){u=void 0;switch(this.settings.emptyInputBehavior){case n.options.emptyInputBehavior.zero:u="0";break;case n.options.emptyInputBehavior.null:u=null;break;default:u=""}this._setRawValue(u)}else this._setRawValue(this._trimLeadingAndTrailingZeros(e));return o=n._truncateDecimalPlaces(c,this.settings,l,this.settings.decimalPlacesShownOnFocus),r=h.length,r>o.length&&(r=o.length),1===r&&"0"===h&&this.settings.leadingZero===n.options.leadingZero.deny&&(r=""===a||"0"===h&&""!==a?1:0),this._setElementValue(o,!1),this._setCaretPosition(r),!0}return y?p||this._triggerEvent(n.events.maxRangeExceeded,this.domElement):this._triggerEvent(n.events.minRangeExceeded,this.domElement),!1}},{key:"_getSignPosition",value:function(){var t=void 0,i,u,f;return this.settings.currencySymbol?(i=this.settings.currencySymbol.length,u=r.default.getElementValue(this.domElement),this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.prefix?t=this.settings.negativeSignCharacter&&u&&u.charAt(0)===this.settings.negativeSignCharacter?[1,i+1]:[0,i]:(f=u.length,t=[f-i,f])):t=[1e3,-1],t}},{key:"_expandSelectionOnSign",value:function(){var e=this._getSignPosition(),u=f(e,2),t=u[0],i=u[1],n=this.selection;n.start<i&&n.end>t&&((n.start<t||n.end>i)&&r.default.getElementValue(this.domElement).substring(Math.max(n.start,t),Math.min(n.end,i)).match(/^\s*$/)?n.start<t?this._setSelection(n.start,t):this._setSelection(i,n.end):this._setSelection(Math.min(n.start,t),Math.max(n.end,i)))}},{key:"_checkPaste",value:function(){var e;if(!this.formatted&&!r.default.isUndefined(this.valuePartsBeforePaste)){var t=this.valuePartsBeforePaste,o=this._getLeftAndRightPartAroundTheSelection(),i=f(o,2),u=i[0],s=i[1];delete this.valuePartsBeforePaste;e=u.substr(0,t[0].length)+n._stripAllNonNumberCharactersExceptCustomDecimalChar(u.substr(t[0].length),this.settings,!0,this.isFocused);this._setValueParts(e,s,!0)||(this._setElementValue(t.join(""),!1),this._setCaretPosition(t[0].length))}}},{key:"_processNonPrintableKeysAndShortcuts",value:function(n){if((n.ctrlKey||n.metaKey)&&"keyup"===n.type&&!r.default.isUndefined(this.valuePartsBeforePaste)||n.shiftKey&&this.eventKey===u.default.keyName.Insert)return this._checkPaste(),!1;if(this.constructor._shouldSkipEventKey(this.eventKey))return!0;if((n.ctrlKey||n.metaKey)&&this.eventKey===u.default.keyName.a)return this.settings.selectNumberOnly&&(n.preventDefault(),this.selectNumber()),!0;if((n.ctrlKey||n.metaKey)&&(this.eventKey===u.default.keyName.c||this.eventKey===u.default.keyName.v||this.eventKey===u.default.keyName.x))return"keydown"===n.type&&this._expandSelectionOnSign(),this.eventKey!==u.default.keyName.v&&this.eventKey!==u.default.keyName.Insert||("keydown"===n.type||"keypress"===n.type?r.default.isUndefined(this.valuePartsBeforePaste)&&(this.valuePartsBeforePaste=this._getLeftAndRightPartAroundTheSelection()):this._checkPaste()),"keydown"===n.type||"keypress"===n.type||this.eventKey===u.default.keyName.c;if(n.ctrlKey||n.metaKey)return this.eventKey!==u.default.keyName.Z&&this.eventKey!==u.default.keyName.z;if(this.eventKey===u.default.keyName.LeftArrow||this.eventKey===u.default.keyName.RightArrow){if("keydown"===n.type&&!n.shiftKey){var t=r.default.getElementValue(this.domElement);this.eventKey!==u.default.keyName.LeftArrow||t.charAt(this.selection.start-2)!==this.settings.digitGroupSeparator&&t.charAt(this.selection.start-2)!==this.settings.decimalCharacter?this.eventKey!==u.default.keyName.RightArrow||t.charAt(this.selection.start+1)!==this.settings.digitGroupSeparator&&t.charAt(this.selection.start+1)!==this.settings.decimalCharacter||this._setCaretPosition(this.selection.start+1):this._setCaretPosition(this.selection.start-1)}return!0}return r.default.isInArray(this.eventKey,u.default.keyName._directionKeys)}},{key:"_processCharacterDeletionIfTrailingNegativeSign",value:function(t){var h=f(t,2),i=h[0],o=h[1],e=r.default.getElementValue(this.domElement),s=r.default.isNegative(e,this.settings.negativeSignCharacter);if(this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.prefix&&this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.suffix&&(this.eventKey===u.default.keyName.Backspace?(this.caretFix=this.selection.start>=e.indexOf(this.settings.suffixText)&&""!==this.settings.suffixText,"-"===e.charAt(this.selection.start-1)?i=i.substring(1):this.selection.start<=e.length-this.settings.suffixText.length&&(i=i.substring(0,i.length-1))):(this.caretFix=this.selection.start>=e.indexOf(this.settings.suffixText)&&""!==this.settings.suffixText,this.selection.start>=e.indexOf(this.settings.currencySymbol)+this.settings.currencySymbol.length&&(o=o.substring(1,o.length)),r.default.isNegative(i,this.settings.negativeSignCharacter)&&"-"===e.charAt(this.selection.start)&&(i=i.substring(1)))),this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix)switch(this.settings.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.left:this.caretFix=this.selection.start>=e.indexOf(this.settings.negativeSignCharacter)+this.settings.negativeSignCharacter.length;this.eventKey===u.default.keyName.Backspace?this.selection.start===e.indexOf(this.settings.negativeSignCharacter)+this.settings.negativeSignCharacter.length&&s?i=i.substring(1):"-"!==i&&(this.selection.start<=e.indexOf(this.settings.negativeSignCharacter)||!s)&&(i=i.substring(0,i.length-1)):("-"===i[0]&&(o=o.substring(1)),this.selection.start===e.indexOf(this.settings.negativeSignCharacter)&&s&&(i=i.substring(1)));break;case n.options.negativePositiveSignPlacement.right:this.caretFix=this.selection.start>=e.indexOf(this.settings.negativeSignCharacter)+this.settings.negativeSignCharacter.length;this.eventKey===u.default.keyName.Backspace?this.selection.start===e.indexOf(this.settings.negativeSignCharacter)+this.settings.negativeSignCharacter.length?i=i.substring(1):"-"!==i&&this.selection.start<=e.indexOf(this.settings.negativeSignCharacter)-this.settings.currencySymbol.length?i=i.substring(0,i.length-1):""===i||s||(i=i.substring(0,i.length-1)):(this.caretFix=this.selection.start>=e.indexOf(this.settings.currencySymbol)&&""!==this.settings.currencySymbol,this.selection.start===e.indexOf(this.settings.negativeSignCharacter)&&(i=i.substring(1)),o=o.substring(1))}return[i,o]}},{key:"_processCharacterDeletion",value:function(){var n=void 0,t=void 0,s,i,h,e,c,o;this.selection.length?(this._expandSelectionOnSign(),s=this._getUnformattedLeftAndRightPartAroundTheSelection(),i=f(s,2),n=i[0],t=i[1]):(h=this._getUnformattedLeftAndRightPartAroundTheSelection(),e=f(h,2),(n=e[0],t=e[1],""===n&&""===t&&(this.throwInput=!1),this.isTrailingNegative&&r.default.isNegative(r.default.getElementValue(this.domElement),this.settings.negativeSignCharacter))?(c=this._processCharacterDeletionIfTrailingNegativeSign([n,t]),o=f(c,2),n=o[0],t=o[1]):this.eventKey===u.default.keyName.Backspace?n=n.substring(0,n.length-1):t=t.substring(1,t.length));this._setValueParts(n,t)}},{key:"_isDecimalCharacterInsertionAllowed",value:function(){return this.settings.decimalPlacesShownOnFocus!==n.options.decimalPlacesShownOnFocus.none}},{key:"_processCharacterInsertion",value:function(){var o=this._getUnformattedLeftAndRightPartAroundTheSelection(),e=f(o,2),t=e[0],n=e[1],i;return(this.eventKey!==u.default.keyName.AndroidDefault&&(this.throwInput=!0),this.eventKey===this.settings.decimalCharacter||this.settings.decimalCharacterAlternative&&this.eventKey===this.settings.decimalCharacterAlternative)?!this._isDecimalCharacterInsertionAllowed()||!this.settings.decimalCharacter||!(!this.settings.negativeSignCharacter||!r.default.contains(n,this.settings.negativeSignCharacter))||!!r.default.contains(t,this.settings.decimalCharacter)||n.indexOf(this.settings.decimalCharacter)>0||(0===n.indexOf(this.settings.decimalCharacter)&&(n=n.substr(1)),this._setValueParts(t+this.settings.decimalCharacter,n),!0):("-"===this.eventKey||"+"===this.eventKey)&&this.settings.isNegativeSignAllowed?(""===t&&r.default.contains(n,"-")?n=n.replace("-",""):t=r.default.isNegative(t,"-")?t.replace("-",""):""+this.settings.negativeSignCharacter+t,this._setValueParts(t,n),!0):(i=Number(this.eventKey),i>=0&&i<=9?(this.settings.isNegativeSignAllowed&&""===t&&r.default.contains(n,"-")&&(t="-",n=n.substring(1,n.length)),this.settings.maximumValue<=0&&this.settings.minimumValue<this.settings.maximumValue&&!r.default.contains(r.default.getElementValue(this.domElement),this.settings.negativeSignCharacter)&&"0"!==this.eventKey&&(t="-"+t),this._setValueParts(""+t+this.eventKey,n),!0):(this.throwInput=!1,!1))}},{key:"_formatValue",value:function(t){var l=r.default.getElementValue(this.domElement),b=this._getUnformattedLeftAndRightPartAroundTheSelection(),k=f(b,1),e=k[0],s,i,o,h,w,c;if((""===this.settings.digitGroupSeparator||""!==this.settings.digitGroupSeparator&&!r.default.contains(l,this.settings.digitGroupSeparator))&&(""===this.settings.currencySymbol||""!==this.settings.currencySymbol&&!r.default.contains(l,this.settings.currencySymbol))){var d=l.split(this.settings.decimalCharacter),g=f(d,1),a=g[0],v="";r.default.isNegative(a,this.settings.negativeSignCharacter)&&(v=this.settings.negativeSignCharacter,a=a.replace(this.settings.negativeSignCharacter,""),e=e.replace("-",""));""===v&&a.length>this.settings.mIntPos&&"0"===e.charAt(0)&&(e=e.slice(1));v===this.settings.negativeSignCharacter&&a.length>this.settings.mIntNeg&&"0"===e.charAt(0)&&(e=e.slice(1));this.isTrailingNegative||(e=""+v+e)}if(s=this.constructor._addGroupSeparators(l,this.settings,this.isFocused,this.rawValue),i=s.length,s){if(o=e.split(""),(this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.suffix||this.settings.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.prefix&&this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix)&&o[0]===this.settings.negativeSignCharacter&&!this.settings.isNegativeSignAllowed&&(o.shift(),(this.eventKey===u.default.keyName.Backspace||this.eventKey===u.default.keyName.Delete)&&this.caretFix&&((this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix&&this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.left||this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.prefix&&this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.suffix)&&(o.push(this.settings.negativeSignCharacter),this.caretFix="keydown"===t.type),this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix&&this.settings.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.right))){var p=this.settings.currencySymbol.split(""),nt=["\\","^","$",".","|","?","*","+","(",")","["],y=[];p.forEach(function(n,t){t=p[n];r.default.isInArray(t,nt)?y.push("\\"+t):y.push(t)});this.eventKey===u.default.keyName.Backspace&&"-"===this.settings.negativeSignCharacter&&y.push("-");o.push(y.join(""));this.caretFix="keydown"===t.type}for(h=0;h<o.length;h++)o[h].match("\\d")||(o[h]="\\"+o[h]);w=new RegExp("^.*?"+o.join(".*?"));c=s.match(w);c?(i=c[0].length,this.settings.showPositiveSign&&(0===i&&c.input.charAt(0)===this.settings.positiveSignCharacter&&(i=1===c.input.indexOf(this.settings.currencySymbol)?this.settings.currencySymbol.length+1:1),0===i&&c.input.charAt(this.settings.currencySymbol.length)===this.settings.positiveSignCharacter&&(i=this.settings.currencySymbol.length+1)),(0===i&&s.charAt(0)!==this.settings.negativeSignCharacter||1===i&&s.charAt(0)===this.settings.negativeSignCharacter)&&this.settings.currencySymbol&&this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.prefix&&(i=this.settings.currencySymbol.length+(r.default.isNegativeStrict(s,this.settings.negativeSignCharacter)?1:0))):(this.settings.currencySymbol&&this.settings.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix&&(i-=this.settings.currencySymbol.length),this.settings.suffixText&&(i-=this.settings.suffixText.length))}s!==l&&(this._setElementValue(s,!1),this._setCaretPosition(i));this.formatted=!0}}],[{key:"version",value:function(){return"4.1.0"}},{key:"_setArgumentsValues",value:function(n,t,i){r.default.isNull(n)&&r.default.throwError("At least one valid parameter is needed in order to initialize an AutoNumeric object");var o=r.default.isElement(n),h=r.default.isString(n),p=r.default.isObject(t),w=Array.isArray(t)&&t.length>0,c=r.default.isNumberOrArabic(t)||""===t,b=this._isPreDefinedOptionValid(t),l=r.default.isNull(t),a=r.default.isEmptyString(t),v=r.default.isObject(i),y=Array.isArray(i)&&i.length>0,s=r.default.isNull(i),k=this._isPreDefinedOptionValid(i),u=void 0,f=void 0,e=void 0;return o&&l&&s?(u=n,e=null,f=null):o&&c&&s?(u=n,e=t,f=null):o&&p&&s?(u=n,e=null,f=t):o&&b&&s?(u=n,e=null,f=this._getOptionObject(t)):o&&w&&s?(u=n,e=null,f=this.mergeOptions(t)):o&&(l||a)&&v?(u=n,e=null,f=i):o&&(l||a)&&y?(u=n,e=null,f=this.mergeOptions(i)):h&&l&&s?(u=document.querySelector(n),e=null,f=null):h&&p&&s?(u=document.querySelector(n),e=null,f=t):h&&b&&s?(u=document.querySelector(n),e=null,f=this._getOptionObject(t)):h&&w&&s?(u=document.querySelector(n),e=null,f=this.mergeOptions(t)):h&&(l||a)&&v?(u=document.querySelector(n),e=null,f=i):h&&(l||a)&&y?(u=document.querySelector(n),e=null,f=this.mergeOptions(i)):h&&c&&s?(u=document.querySelector(n),e=t,f=null):h&&c&&v?(u=document.querySelector(n),e=t,f=i):h&&c&&k?(u=document.querySelector(n),e=t,f=this._getOptionObject(i)):o&&c&&v?(u=n,e=t,f=i):o&&c&&k?(u=n,e=t,f=this._getOptionObject(i)):o&&c&&y?(u=n,e=t,f=this.mergeOptions(i)):r.default.throwError("The parameters given to the AutoNumeric object are not valid, '"+n+"', '"+t+"' and '"+i+"' given."),r.default.isNull(u)&&r.default.throwError("The selector '"+n+"' did not select any valid DOM element. Please check on which element you called AutoNumeric."),{domElement:u,initialValue:e,userOptions:f}}},{key:"mergeOptions",value:function(n){var i=this,t={};return n.forEach(function(n){e(t,i._getOptionObject(n))}),t}},{key:"_isPreDefinedOptionValid",value:function(t){return n.predefinedOptions.hasOwnProperty(t)}},{key:"_getOptionObject",value:function(t){var i=void 0;return r.default.isString(t)?void 0!==(i=n.getPredefinedOptions()[t])&&null!==i||r.default.warning("The given pre-defined option ["+t+"] is not recognized by autoNumeric. Please check that pre-defined option name.",!0):i=t,i}},{key:"_doesFormHandlerListExists",value:function(){var n=o(window.aNFormHandlerMap);return"undefined"!==n&&"object"===n}},{key:"_createFormHandlerList",value:function(){window.aNFormHandlerMap=new Map}},{key:"_checkValuesToStringsArray",value:function(n,t){return r.default.isInArray(String(n),t)}},{key:"_checkValuesToStringsSettings",value:function(n,t){return this._checkValuesToStringsArray(n,Object.keys(t.valuesToStrings))}},{key:"_checkStringsToValuesSettings",value:function(n,t){return this._checkValuesToStringsArray(n,Object.values(t.valuesToStrings))}},{key:"_unformatAltHovered",value:function(n){n.hoveredWithAlt=!0;n.unformat()}},{key:"_reformatAltHovered",value:function(n){n.hoveredWithAlt=!1;n.reformat()}},{key:"_getChildANInputElement",value:function(n){var i=this,r=n.getElementsByTagName("input"),t=[];return Array.prototype.slice.call(r,0).forEach(function(n){i.test(n)&&t.push(n)}),t}},{key:"test",value:function(n){return this._isInGlobalList(r.default.domElement(n))}},{key:"_createWeakMap",value:function(n){window[n]=new WeakMap}},{key:"_createGlobalList",value:function(){this.autoNumericGlobalListName="autoNumericGlobalList";this._createWeakMap(this.autoNumericGlobalListName)}},{key:"_doesGlobalListExists",value:function(){var n=o(window[this.autoNumericGlobalListName]);return"undefined"!==n&&"object"===n}},{key:"_addToGlobalList",value:function(n){this._doesGlobalListExists()||this._createGlobalList();var t=n.node();if(this._isInGlobalList(t)){if(this._getFromGlobalList(t)===this)return;r.default.warning("A reference to the DOM element you just initialized already exists in the global AutoNumeric element list. Please make sure to not initialize the same DOM element multiple times.",n.getSettings().showWarnings)}window[this.autoNumericGlobalListName].set(t,n)}},{key:"_removeFromGlobalList",value:function(n){this._doesGlobalListExists()&&window[this.autoNumericGlobalListName].delete(n.node())}},{key:"_getFromGlobalList",value:function(n){return this._doesGlobalListExists()?window[this.autoNumericGlobalListName].get(n):null}},{key:"_isInGlobalList",value:function(n){return!!this._doesGlobalListExists()&&window[this.autoNumericGlobalListName].has(n)}},{key:"validate",value:function(t){var b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],h=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,c,i,u;!r.default.isUndefinedOrNullOrEmpty(t)&&r.default.isObject(t)||r.default.throwError("The userOptions are invalid ; it should be a valid object, ["+t+"] given.");c=r.default.isObject(h);c||r.default.isNull(h)||r.default.throwError("The 'originalOptions' parameter is invalid ; it should either be a valid option object or `null`, ["+t+"] given.");r.default.isNull(t)||this._convertOldOptionsToNewOnes(t);i=void 0;i=b?e({},this.getDefaultConfig(),t):t;r.default.isTrueOrFalseString(i.showWarnings)||r.default.isBoolean(i.showWarnings)||r.default.throwError("The debug option 'showWarnings' is invalid ; it should be either 'false' or 'true', ["+i.showWarnings+"] given.");var s=/^[0-9]+$/,l=/[0-9]+/,a=/^-?[0-9]+(\.?[0-9]+)?$/,v=/^[0-9]+(\.?[0-9]+)?$/;r.default.isTrueOrFalseString(i.allowDecimalPadding)||r.default.isBoolean(i.allowDecimalPadding)||i.allowDecimalPadding===n.options.allowDecimalPadding.floats||r.default.throwError("The decimal padding option 'allowDecimalPadding' is invalid ; it should either be `false`, `true` or `'floats'`, ["+i.allowDecimalPadding+"] given.");i.allowDecimalPadding!==n.options.allowDecimalPadding.never&&"false"!==i.allowDecimalPadding||i.decimalPlaces===n.options.decimalPlaces.none&&i.decimalPlacesShownOnBlur===n.options.decimalPlacesShownOnBlur.none&&i.decimalPlacesShownOnFocus===n.options.decimalPlacesShownOnFocus.none||r.default.warning("Setting 'allowDecimalPadding' to ["+i.allowDecimalPadding+"] will override the current 'decimalPlaces*' settings ["+i.decimalPlaces+", "+i.decimalPlacesShownOnBlur+" and "+i.decimalPlacesShownOnFocus+"].",i.showWarnings);r.default.isNull(i.caretPositionOnFocus)||r.default.isInArray(i.caretPositionOnFocus,[n.options.caretPositionOnFocus.start,n.options.caretPositionOnFocus.end,n.options.caretPositionOnFocus.decimalLeft,n.options.caretPositionOnFocus.decimalRight])||r.default.throwError("The display on empty string option 'caretPositionOnFocus' is invalid ; it should either be `null`, 'focus', 'press', 'always' or 'zero', ["+i.caretPositionOnFocus+"] given.");u=void 0;u=c?h:this._correctCaretPositionOnFocusAndSelectOnFocusOptions(t);r.default.isNull(u)||u.caretPositionOnFocus===n.options.caretPositionOnFocus.doNoForceCaretPosition||u.selectOnFocus!==n.options.selectOnFocus.select||r.default.warning("The 'selectOnFocus' option is set to 'select', which is in conflict with the 'caretPositionOnFocus' which is set to '"+u.caretPositionOnFocus+"'. As a result, if this has been called when instantiating an AutoNumeric object, the 'selectOnFocus' option is forced to 'doNotSelect'.",i.showWarnings);r.default.isInArray(i.digitGroupSeparator,[n.options.digitGroupSeparator.comma,n.options.digitGroupSeparator.dot,n.options.digitGroupSeparator.normalSpace,n.options.digitGroupSeparator.thinSpace,n.options.digitGroupSeparator.narrowNoBreakSpace,n.options.digitGroupSeparator.noBreakSpace,n.options.digitGroupSeparator.noSeparator,n.options.digitGroupSeparator.apostrophe,n.options.digitGroupSeparator.arabicThousandsSeparator,n.options.digitGroupSeparator.dotAbove])||r.default.throwError("The thousand separator character option 'digitGroupSeparator' is invalid ; it should be ',', '.', '٬', '˙', \"'\", ' ', ' ', ' ', ' ' or empty (''), ["+i.digitGroupSeparator+"] given.");r.default.isTrueOrFalseString(i.showOnlyNumbersOnFocus)||r.default.isBoolean(i.showOnlyNumbersOnFocus)||r.default.throwError("The 'showOnlyNumbersOnFocus' option is invalid ; it should be either 'false' or 'true', ["+i.showOnlyNumbersOnFocus+"] given.");r.default.isInArray(i.digitalGroupSpacing,[n.options.digitalGroupSpacing.two,n.options.digitalGroupSpacing.twoScaled,n.options.digitalGroupSpacing.three,n.options.digitalGroupSpacing.four])||i.digitalGroupSpacing>=2&&i.digitalGroupSpacing<=4||r.default.throwError("The grouping separator option for thousands 'digitalGroupSpacing' is invalid ; it should be '2', '2s', '3', or '4', ["+i.digitalGroupSpacing+"] given.");r.default.isInArray(i.decimalCharacter,[n.options.decimalCharacter.comma,n.options.decimalCharacter.dot,n.options.decimalCharacter.middleDot,n.options.decimalCharacter.arabicDecimalSeparator,n.options.decimalCharacter.decimalSeparatorKeySymbol])||r.default.throwError("The decimal separator character option 'decimalCharacter' is invalid ; it should be '.', ',', '·', '⎖' or '٫', ["+i.decimalCharacter+"] given.");i.decimalCharacter===i.digitGroupSeparator&&r.default.throwError("autoNumeric will not function properly when the decimal character 'decimalCharacter' ["+i.decimalCharacter+"] and the thousand separator 'digitGroupSeparator' ["+i.digitGroupSeparator+"] are the same character.");r.default.isNull(i.decimalCharacterAlternative)||r.default.isString(i.decimalCharacterAlternative)||r.default.throwError("The alternate decimal separator character option 'decimalCharacterAlternative' is invalid ; it should be a string, ["+i.decimalCharacterAlternative+"] given.");""===i.currencySymbol||r.default.isString(i.currencySymbol)||r.default.throwError("The currency symbol option 'currencySymbol' is invalid ; it should be a string, ["+i.currencySymbol+"] given.");r.default.isInArray(i.currencySymbolPlacement,[n.options.currencySymbolPlacement.prefix,n.options.currencySymbolPlacement.suffix])||r.default.throwError("The placement of the currency sign option 'currencySymbolPlacement' is invalid ; it should either be 'p' (prefix) or 's' (suffix), ["+i.currencySymbolPlacement+"] given.");r.default.isInArray(i.negativePositiveSignPlacement,[n.options.negativePositiveSignPlacement.prefix,n.options.negativePositiveSignPlacement.suffix,n.options.negativePositiveSignPlacement.left,n.options.negativePositiveSignPlacement.right,n.options.negativePositiveSignPlacement.none])||r.default.throwError("The placement of the negative sign option 'negativePositiveSignPlacement' is invalid ; it should either be 'p' (prefix), 's' (suffix), 'l' (left), 'r' (right) or 'null', ["+i.negativePositiveSignPlacement+"] given.");r.default.isTrueOrFalseString(i.showPositiveSign)||r.default.isBoolean(i.showPositiveSign)||r.default.throwError("The show positive sign option 'showPositiveSign' is invalid ; it should be either 'false' or 'true', ["+i.showPositiveSign+"] given.");(!r.default.isString(i.suffixText)||""!==i.suffixText&&(r.default.isNegative(i.suffixText,i.negativeSignCharacter)||l.test(i.suffixText)))&&r.default.throwError("The additional suffix option 'suffixText' is invalid ; it should not contains the negative sign '"+this.settings.negativeSignCharacter+"' nor any numerical characters, ["+i.suffixText+"] given.");(!r.default.isString(i.negativeSignCharacter)||1!==i.negativeSignCharacter.length||r.default.isUndefinedOrNullOrEmpty(i.negativeSignCharacter)||l.test(i.negativeSignCharacter))&&r.default.throwError("The negative sign character option 'negativeSignCharacter' is invalid ; it should be a single character, and cannot be any numerical characters, ["+i.negativeSignCharacter+"] given.");(!r.default.isString(i.positiveSignCharacter)||1!==i.positiveSignCharacter.length||r.default.isUndefinedOrNullOrEmpty(i.positiveSignCharacter)||l.test(i.positiveSignCharacter))&&r.default.throwError("The positive sign character option 'positiveSignCharacter' is invalid ; it should be a single character, and cannot be any numerical characters, ["+i.positiveSignCharacter+"] given.\nIf you want to hide the positive sign character, you need to set the `showPositiveSign` option to `true`.");i.negativeSignCharacter===i.positiveSignCharacter&&r.default.throwError("The positive 'positiveSignCharacter' and negative 'negativeSignCharacter' sign characters cannot be identical ; ["+i.negativeSignCharacter+"] given.");var k=r.default.isNull(i.negativeBracketsTypeOnBlur)?["",""]:i.negativeBracketsTypeOnBlur.split(","),y=f(k,2),p=y[0],w=y[1];(r.default.contains(i.digitGroupSeparator,i.negativeSignCharacter)||r.default.contains(i.decimalCharacter,i.negativeSignCharacter)||r.default.contains(i.decimalCharacterAlternative,i.negativeSignCharacter)||r.default.contains(p,i.negativeSignCharacter)||r.default.contains(w,i.negativeSignCharacter)||r.default.contains(i.suffixText,i.negativeSignCharacter))&&r.default.throwError("The negative sign character option 'negativeSignCharacter' is invalid ; it should not be equal or a part of the digit separator, the decimal character, the decimal character alternative, the negative brackets or the suffix text, ["+i.negativeSignCharacter+"] given.");(r.default.contains(i.digitGroupSeparator,i.positiveSignCharacter)||r.default.contains(i.decimalCharacter,i.positiveSignCharacter)||r.default.contains(i.decimalCharacterAlternative,i.positiveSignCharacter)||r.default.contains(p,i.positiveSignCharacter)||r.default.contains(w,i.positiveSignCharacter)||r.default.contains(i.suffixText,i.positiveSignCharacter))&&r.default.throwError("The positive sign character option 'positiveSignCharacter' is invalid ; it should not be equal or a part of the digit separator, the decimal character, the decimal character alternative, the negative brackets or the suffix text, ["+i.positiveSignCharacter+"] given.");r.default.isNull(i.overrideMinMaxLimits)||r.default.isInArray(i.overrideMinMaxLimits,[n.options.overrideMinMaxLimits.ceiling,n.options.overrideMinMaxLimits.floor,n.options.overrideMinMaxLimits.ignore])||r.default.throwError("The override min & max limits option 'overrideMinMaxLimits' is invalid ; it should either be 'ceiling', 'floor' or 'ignore', ["+i.overrideMinMaxLimits+"] given.");r.default.isString(i.maximumValue)&&a.test(i.maximumValue)||r.default.throwError("The maximum possible value option 'maximumValue' is invalid ; it should be a string that represents a positive or negative number, ["+i.maximumValue+"] given.");r.default.isString(i.minimumValue)&&a.test(i.minimumValue)||r.default.throwError("The minimum possible value option 'minimumValue' is invalid ; it should be a string that represents a positive or negative number, ["+i.minimumValue+"] given.");parseFloat(i.minimumValue)>parseFloat(i.maximumValue)&&r.default.throwError("The minimum possible value option is greater than the maximum possible value option ; 'minimumValue' ["+i.minimumValue+"] should be smaller than 'maximumValue' ["+i.maximumValue+"].");r.default.isInt(i.decimalPlaces)&&i.decimalPlaces>=0||r.default.isString(i.decimalPlaces)&&s.test(i.decimalPlaces)||r.default.throwError("The number of decimal places option 'decimalPlaces' is invalid ; it should be a positive integer, ["+i.decimalPlaces+"] given.");r.default.isNull(i.decimalPlacesRawValue)||r.default.isInt(i.decimalPlacesRawValue)&&i.decimalPlacesRawValue>=0||r.default.isString(i.decimalPlacesRawValue)&&s.test(i.decimalPlacesRawValue)||r.default.throwError("The number of decimal places for the raw value option 'decimalPlacesRawValue' is invalid ; it should be a positive integer or `null`, ["+i.decimalPlacesRawValue+"] given.");this._validateDecimalPlacesRawValue(i);r.default.isNull(i.decimalPlacesShownOnFocus)||s.test(String(i.decimalPlacesShownOnFocus))||r.default.throwError("The number of expanded decimal places option 'decimalPlacesShownOnFocus' is invalid ; it should be a positive integer or `null`, ["+i.decimalPlacesShownOnFocus+"] given.");!r.default.isNull(i.decimalPlacesShownOnFocus)&&Number(i.decimalPlaces)>Number(i.decimalPlacesShownOnFocus)&&r.default.warning("The extended decimal places 'decimalPlacesShownOnFocus' ["+i.decimalPlacesShownOnFocus+"] should be greater than the 'decimalPlaces' ["+i.decimalPlaces+"] value. Currently, this will limit the ability of your user to manually change some of the decimal places. Do you really want to do that?",i.showWarnings);(r.default.isNull(i.divisorWhenUnfocused)||v.test(i.divisorWhenUnfocused))&&0!==i.divisorWhenUnfocused&&"0"!==i.divisorWhenUnfocused&&1!==i.divisorWhenUnfocused&&"1"!==i.divisorWhenUnfocused||r.default.throwError("The divisor option 'divisorWhenUnfocused' is invalid ; it should be a positive number higher than one, preferably an integer, ["+i.divisorWhenUnfocused+"] given.");r.default.isNull(i.decimalPlacesShownOnBlur)||s.test(i.decimalPlacesShownOnBlur)||r.default.throwError("The number of decimals shown when unfocused option 'decimalPlacesShownOnBlur' is invalid ; it should be a positive integer or `null`, ["+i.decimalPlacesShownOnBlur+"] given.");r.default.isNull(i.symbolWhenUnfocused)||r.default.isString(i.symbolWhenUnfocused)||r.default.throwError("The symbol to show when unfocused option 'symbolWhenUnfocused' is invalid ; it should be a string, ["+i.symbolWhenUnfocused+"] given.");r.default.isTrueOrFalseString(i.saveValueToSessionStorage)||r.default.isBoolean(i.saveValueToSessionStorage)||r.default.throwError("The save to session storage option 'saveValueToSessionStorage' is invalid ; it should be either 'false' or 'true', ["+i.saveValueToSessionStorage+"] given.");r.default.isInArray(i.onInvalidPaste,[n.options.onInvalidPaste.error,n.options.onInvalidPaste.ignore,n.options.onInvalidPaste.clamp,n.options.onInvalidPaste.truncate,n.options.onInvalidPaste.replace])||r.default.throwError("The paste behavior option 'onInvalidPaste' is invalid ; it should either be 'error', 'ignore', 'clamp', 'truncate' or 'replace' (cf. documentation), ["+i.onInvalidPaste+"] given.");r.default.isInArray(i.roundingMethod,[n.options.roundingMethod.halfUpSymmetric,n.options.roundingMethod.halfUpAsymmetric,n.options.roundingMethod.halfDownSymmetric,n.options.roundingMethod.halfDownAsymmetric,n.options.roundingMethod.halfEvenBankersRounding,n.options.roundingMethod.upRoundAwayFromZero,n.options.roundingMethod.downRoundTowardZero,n.options.roundingMethod.toCeilingTowardPositiveInfinity,n.options.roundingMethod.toFloorTowardNegativeInfinity,n.options.roundingMethod.toNearest05,n.options.roundingMethod.toNearest05Alt,n.options.roundingMethod.upToNext05,n.options.roundingMethod.downToNext05])||r.default.throwError("The rounding method option 'roundingMethod' is invalid ; it should either be 'S', 'A', 's', 'a', 'B', 'U', 'D', 'C', 'F', 'N05', 'CHF', 'U05' or 'D05' (cf. documentation), ["+i.roundingMethod+"] given.");r.default.isNull(i.negativeBracketsTypeOnBlur)||r.default.isInArray(i.negativeBracketsTypeOnBlur,[n.options.negativeBracketsTypeOnBlur.parentheses,n.options.negativeBracketsTypeOnBlur.brackets,n.options.negativeBracketsTypeOnBlur.chevrons,n.options.negativeBracketsTypeOnBlur.curlyBraces,n.options.negativeBracketsTypeOnBlur.angleBrackets,n.options.negativeBracketsTypeOnBlur.japaneseQuotationMarks,n.options.negativeBracketsTypeOnBlur.halfBrackets,n.options.negativeBracketsTypeOnBlur.whiteSquareBrackets,n.options.negativeBracketsTypeOnBlur.quotationMarks,n.options.negativeBracketsTypeOnBlur.guillemets])||r.default.throwError("The brackets for negative values option 'negativeBracketsTypeOnBlur' is invalid ; it should either be '(,)', '[,]', '<,>', '{,}', '〈,〉', '｢,｣', '⸤,⸥', '⟦,⟧', '‹,›' or '«,»', ["+i.negativeBracketsTypeOnBlur+"] given.");r.default.isInArray(i.emptyInputBehavior,[n.options.emptyInputBehavior.focus,n.options.emptyInputBehavior.press,n.options.emptyInputBehavior.always,n.options.emptyInputBehavior.zero,n.options.emptyInputBehavior.null])||r.default.throwError("The display on empty string option 'emptyInputBehavior' is invalid ; it should either be 'focus', 'press', 'always', 'zero' or 'null', ["+i.emptyInputBehavior+"] given.");i.emptyInputBehavior===n.options.emptyInputBehavior.zero&&(i.minimumValue>0||i.maximumValue<0)&&r.default.throwError("The 'emptyInputBehavior' option is set to 'zero', but this value is outside of the range defined by 'minimumValue' and 'maximumValue' ["+i.minimumValue+", "+i.maximumValue+"].");r.default.isTrueOrFalseString(i.eventBubbles)||r.default.isBoolean(i.eventBubbles)||r.default.throwError("The event bubbles option 'eventBubbles' is invalid ; it should be either 'true' or 'false', ["+i.eventBubbles+"] given.");r.default.isTrueOrFalseString(i.eventIsCancelable)||r.default.isBoolean(i.eventIsCancelable)||r.default.throwError("The event is cancelable option 'eventIsCancelable' is invalid ; it should be either 'true' or 'false', ["+i.eventIsCancelable+"] given.");r.default.isInArray(i.leadingZero,[n.options.leadingZero.allow,n.options.leadingZero.deny,n.options.leadingZero.keep])||r.default.throwError("The leading zero behavior option 'leadingZero' is invalid ; it should either be 'allow', 'deny' or 'keep', ["+i.leadingZero+"] given.");r.default.isTrueOrFalseString(i.formatOnPageLoad)||r.default.isBoolean(i.formatOnPageLoad)||r.default.throwError("The format on initialization option 'formatOnPageLoad' is invalid ; it should be either 'false' or 'true', ["+i.formatOnPageLoad+"] given.");s.test(i.historySize)&&0!==i.historySize||r.default.throwError("The history size option 'historySize' is invalid ; it should be a positive integer, ["+i.historySize+"] given.");r.default.isTrueOrFalseString(i.selectNumberOnly)||r.default.isBoolean(i.selectNumberOnly)||r.default.throwError("The select number only option 'selectNumberOnly' is invalid ; it should be either 'false' or 'true', ["+i.selectNumberOnly+"] given.");r.default.isTrueOrFalseString(i.selectOnFocus)||r.default.isBoolean(i.selectOnFocus)||r.default.throwError("The select on focus option 'selectOnFocus' is invalid ; it should be either 'false' or 'true', ["+i.selectOnFocus+"] given.");r.default.isNull(i.defaultValueOverride)||""===i.defaultValueOverride||a.test(i.defaultValueOverride)||r.default.throwError("The unformatted default value option 'defaultValueOverride' is invalid ; it should be a string that represents a positive or negative number, ["+i.defaultValueOverride+"] given.");r.default.isTrueOrFalseString(i.unformatOnSubmit)||r.default.isBoolean(i.unformatOnSubmit)||r.default.throwError("The remove formatting on submit option 'unformatOnSubmit' is invalid ; it should be either 'false' or 'true', ["+i.unformatOnSubmit+"] given.");r.default.isNull(i.valuesToStrings)||r.default.isObject(i.valuesToStrings)||r.default.throwError("The option 'valuesToStrings' is invalid ; it should be an object, ideally with 'key -> value' entries, ["+i.valuesToStrings+"] given.");r.default.isNull(i.outputFormat)||r.default.isInArray(i.outputFormat,[n.options.outputFormat.string,n.options.outputFormat.number,n.options.outputFormat.dot,n.options.outputFormat.negativeDot,n.options.outputFormat.comma,n.options.outputFormat.negativeComma,n.options.outputFormat.dotNegative,n.options.outputFormat.commaNegative])||r.default.throwError("The custom locale format option 'outputFormat' is invalid ; it should either be null, 'string', 'number', '.', '-.', ',', '-,', '.-' or ',-', ["+i.outputFormat+"] given.");r.default.isTrueOrFalseString(i.isCancellable)||r.default.isBoolean(i.isCancellable)||r.default.throwError("The cancellable behavior option 'isCancellable' is invalid ; it should be either 'false' or 'true', ["+i.isCancellable+"] given.");r.default.isTrueOrFalseString(i.modifyValueOnWheel)||r.default.isBoolean(i.modifyValueOnWheel)||r.default.throwError("The increment/decrement on mouse wheel option 'modifyValueOnWheel' is invalid ; it should be either 'false' or 'true', ["+i.modifyValueOnWheel+"] given.");r.default.isTrueOrFalseString(i.watchExternalChanges)||r.default.isBoolean(i.watchExternalChanges)||r.default.throwError("The option 'watchExternalChanges' is invalid ; it should be either 'false' or 'true', ["+i.watchExternalChanges+"] given.");r.default.isInArray(i.wheelOn,[n.options.wheelOn.focus,n.options.wheelOn.hover])||r.default.throwError("The wheel behavior option 'wheelOn' is invalid ; it should either be 'focus' or 'hover', ["+i.wheelOn+"] given.");(!r.default.isString(i.wheelStep)&&!r.default.isNumber(i.wheelStep)||"progressive"!==i.wheelStep&&!v.test(i.wheelStep)||0===Number(i.wheelStep))&&r.default.throwError("The wheel step value option 'wheelStep' is invalid ; it should either be the string 'progressive', or a number or a string that represents a positive number (excluding zero), ["+i.wheelStep+"] given.");r.default.isInArray(i.serializeSpaces,[n.options.serializeSpaces.plus,n.options.serializeSpaces.percent])||r.default.throwError("The space replacement character option 'serializeSpaces' is invalid ; it should either be '+' or '%20', ["+i.serializeSpaces+"] given.");r.default.isTrueOrFalseString(i.noEventListeners)||r.default.isBoolean(i.noEventListeners)||r.default.throwError("The option 'noEventListeners' that prevent the creation of event listeners is invalid ; it should be either 'false' or 'true', ["+i.noEventListeners+"] given.");r.default.isNull(i.styleRules)||r.default.isObject(i.styleRules)&&(i.styleRules.hasOwnProperty("positive")||i.styleRules.hasOwnProperty("negative")||i.styleRules.hasOwnProperty("ranges")||i.styleRules.hasOwnProperty("userDefined"))||r.default.throwError("The option 'styleRules' is invalid ; it should be a correctly structured object, with one or more 'positive', 'negative', 'ranges' or 'userDefined' attributes, ["+i.styleRules+"] given.");r.default.isNull(i.styleRules)||!i.styleRules.hasOwnProperty("userDefined")||r.default.isNull(i.styleRules.userDefined)||i.styleRules.userDefined.forEach(function(n){n.hasOwnProperty("callback")&&!r.default.isFunction(n.callback)&&r.default.throwError("The callback defined in the `userDefined` attribute is not a function, "+o(n.callback)+" given.")});(r.default.isNull(i.rawValueDivisor)||v.test(i.rawValueDivisor))&&0!==i.rawValueDivisor&&"0"!==i.rawValueDivisor&&1!==i.rawValueDivisor&&"1"!==i.rawValueDivisor||r.default.throwError("The raw value divisor option 'rawValueDivisor' is invalid ; it should be a positive number higher than one, preferably an integer, ["+i.rawValueDivisor+"] given.");r.default.isTrueOrFalseString(i.readOnly)||r.default.isBoolean(i.readOnly)||r.default.throwError("The option 'readOnly' is invalid ; it should be either 'false' or 'true', ["+i.readOnly+"] given.");r.default.isTrueOrFalseString(i.unformatOnHover)||r.default.isBoolean(i.unformatOnHover)||r.default.throwError("The option 'unformatOnHover' is invalid ; it should be either 'false' or 'true', ["+i.unformatOnHover+"] given.");r.default.isTrueOrFalseString(i.failOnUnknownOption)||r.default.isBoolean(i.failOnUnknownOption)||r.default.throwError("The debug option 'failOnUnknownOption' is invalid ; it should be either 'false' or 'true', ["+i.failOnUnknownOption+"] given.");r.default.isTrueOrFalseString(i.createLocalList)||r.default.isBoolean(i.createLocalList)||r.default.throwError("The debug option 'createLocalList' is invalid ; it should be either 'false' or 'true', ["+i.createLocalList+"] given.")}},{key:"_validateDecimalPlacesRawValue",value:function(n){r.default.isNull(n.decimalPlacesRawValue)||(n.decimalPlacesRawValue<n.decimalPlaces&&r.default.warning("The number of decimal places to store in the raw value ["+n.decimalPlacesRawValue+"] is lower than the ones to display ["+n.decimalPlaces+"]. This will likely confuse your users.\nTo solve that, you'd need to either set `decimalPlacesRawValue` to `null`, or set a number of decimal places for the raw value equal of bigger than `decimalPlaces`.",n.showWarnings),n.decimalPlacesRawValue<n.decimalPlacesShownOnFocus&&r.default.warning("The number of decimal places to store in the raw value ["+n.decimalPlacesRawValue+"] is lower than the ones shown on focus ["+n.decimalPlacesShownOnFocus+"]. This will likely confuse your users.\nTo solve that, you'd need to either set `decimalPlacesRawValue` to `null`, or set a number of decimal places for the raw value equal of bigger than `decimalPlacesShownOnFocus`.",n.showWarnings),n.decimalPlacesRawValue<n.decimalPlacesShownOnBlur&&r.default.warning("The number of decimal places to store in the raw value ["+n.decimalPlacesRawValue+"] is lower than the ones shown when unfocused ["+n.decimalPlacesShownOnBlur+"]. This will likely confuse your users.\nTo solve that, you'd need to either set `decimalPlacesRawValue` to `null`, or set a number of decimal places for the raw value equal of bigger than `decimalPlacesShownOnBlur`.",n.showWarnings))}},{key:"areSettingsValid",value:function(n){var t=!0;try{this.validate(n,!0)}catch(n){t=!1}return t}},{key:"getDefaultConfig",value:function(){return n.defaultSettings}},{key:"getPredefinedOptions",value:function(){return n.predefinedOptions}},{key:"_generateOptionsObjectFromOptionsArray",value:function(n){var i=this,t=void 0;return r.default.isUndefinedOrNullOrEmpty(n)||0===n.length?t=null:(t={},1===n.length&&Array.isArray(n[0])?n[0].forEach(function(n){e(t,i._getOptionObject(n))}):n.length>=1&&n.forEach(function(n){e(t,i._getOptionObject(n))})),t}},{key:"format",value:function(t){var o,l,i,a,u;if(r.default.isUndefined(t)||null===t)return null;o=void 0;o=r.default.isElement(t)?r.default.getElementValue(t):t;r.default.isString(o)||r.default.isNumber(o)||r.default.throwError('The value "'+o+'" being "set" is not numeric and therefore cannot be used appropriately.');for(var h=arguments.length,c=Array(h>1?h-1:0),s=1;s<h;s++)c[s-1]=arguments[s];l=this._generateOptionsObjectFromOptionsArray(c);i=e({},this.getDefaultConfig(),l);i.isNegativeSignAllowed=o<0;i.isPositiveSignAllowed=o>=0;a={};this._cachesUsualRegularExpressions(i,a);u=this._toNumericValue(o,i);isNaN(Number(u))&&r.default.throwError("The value ["+u+"] that you are trying to format is not a recognized number.");var y=this._checkIfInRangeWithOverrideOption(u,i),v=f(y,2),p=v[0],w=v[1];return p&&w||(this._triggerEvent(n.events.formatted,document,{oldValue:null,newValue:null,oldRawValue:null,newRawValue:null,isPristine:null,error:"Range test failed",aNElement:null}),r.default.throwError("The value ["+u+"] being set falls outside of the minimumValue ["+i.minimumValue+"] and maximumValue ["+i.maximumValue+"] range set for this element")),i.valuesToStrings&&this._checkValuesToStringsSettings(o,i)?i.valuesToStrings[o]:(this._correctNegativePositiveSignPlacementOption(i),this._calculateDecimalPlacesOnInit(i),r.default.isUndefinedOrNullOrEmpty(i.rawValueDivisor)||0===i.rawValueDivisor||""===u||null===u||(u*=i.rawValueDivisor),u=this._roundFormattedValueShownOnFocus(u,i),u=this._modifyNegativeSignAndDecimalCharacterForFormattedValue(u,i),u=this._addGroupSeparators(u,i,!1,u))}},{key:"formatAndSet",value:function(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,t=this.format(n,i);return r.default.setElementValue(n,t),t}},{key:"unformat",value:function(n){var i,c,t,l,s;if(r.default.isNumberStrict(n))return n;if(i=void 0,""===(i=r.default.isElement(n)?r.default.getElementValue(n):n))return"";if(r.default.isUndefined(i)||null===i)return null;(r.default.isArray(i)||r.default.isObject(i))&&r.default.throwError("A number or a string representing a number is needed to be able to unformat it, ["+i+"] given.");for(var o=arguments.length,h=Array(o>1?o-1:0),u=1;u<o;u++)h[u-1]=arguments[u];return(c=this._generateOptionsObjectFromOptionsArray(h),t=e({},this.getDefaultConfig(),c),t.isNegativeSignAllowed=!1,t.isPositiveSignAllowed=!0,i=i.toString(),t.valuesToStrings&&this._checkStringsToValuesSettings(i,t))?r.default.objectKeyLookup(t.valuesToStrings,i):(r.default.isNegative(i,t.negativeSignCharacter)?(t.isNegativeSignAllowed=!0,t.isPositiveSignAllowed=!1):r.default.isNull(t.negativeBracketsTypeOnBlur)||(l=t.negativeBracketsTypeOnBlur.split(","),s=f(l,2),t.firstBracket=s[0],t.lastBracket=s[1],i.charAt(0)===t.firstBracket&&i.charAt(i.length-1)===t.lastBracket&&(t.isNegativeSignAllowed=!0,t.isPositiveSignAllowed=!1,i=this._removeBrackets(i,t,!1))),i=this._convertToNumericString(i,t),new RegExp("[^+-0123456789.]","gi").test(i)?NaN:(this._correctNegativePositiveSignPlacementOption(t),t.originalDecimalPlacesRawValue=t.decimalPlacesRawValue?t.decimalPlacesRawValue:t.decimalPlaces,this._calculateDecimalPlacesOnInit(t),r.default.isUndefinedOrNullOrEmpty(t.rawValueDivisor)||0===t.rawValueDivisor||""===i||null===i||(i/=t.rawValueDivisor),i=this._roundRawValue(i,t),i=i.replace(t.decimalCharacter,"."),i=this._toLocale(i,t.outputFormat,t)))}},{key:"unformatAndSet",value:function(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,t=this.unformat(n,i);return r.default.setElementValue(n,t),t}},{key:"localize",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=void 0,f;return""===(u=r.default.isElement(t)?r.default.getElementValue(t):t)?"":(r.default.isNull(i)&&(i=n.defaultSettings),u=this.unformat(u,i),0===Number(u)&&i.leadingZero!==n.options.leadingZero.keep&&(u="0"),f=void 0,f=r.default.isNull(i)?i.outputFormat:n.defaultSettings.outputFormat,this._toLocale(u,f,i))}},{key:"localizeAndSet",value:function(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,t=this.localize(n,i);return r.default.setElementValue(n,t),t}},{key:"isManagedByAutoNumeric",value:function(n){return this._isInGlobalList(r.default.domElement(n))}},{key:"getAutoNumericElement",value:function(n){var t=r.default.domElement(n);return this.isManagedByAutoNumeric(t)?this._getFromGlobalList(t):null}},{key:"set",value:function(n,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,e=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],f=r.default.domElement(n),u;return this.isManagedByAutoNumeric(f)?this.getAutoNumericElement(f).set(t,i,e):(u=void 0,u=!(!r.default.isNull(i)&&i.hasOwnProperty("showWarnings"))||i.showWarnings,r.default.warning("Impossible to find an AutoNumeric object for the given DOM element or selector.",u),null)}},{key:"getNumericString",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this._get(t,n.getNumericString.name,i)}},{key:"getFormatted",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this._get(t,n.getFormatted.name,i)}},{key:"getNumber",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this._get(t,n.getNumber.name,i)}},{key:"_get",value:function(n,t){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=r.default.domElement(n);return this.isManagedByAutoNumeric(i)||r.default.throwError("Impossible to find an AutoNumeric object for the given DOM element or selector."),this.getAutoNumericElement(i)[t](u)}},{key:"getLocalized",value:function(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,t=r.default.domElement(n);return this.isManagedByAutoNumeric(t)||r.default.throwError("Impossible to find an AutoNumeric object for the given DOM element or selector."),this.getAutoNumericElement(t).getLocalized(i,u)}},{key:"_stripAllNonNumberCharacters",value:function(n,t,i,r){return this._stripAllNonNumberCharactersExceptCustomDecimalChar(n,t,i,r).replace(t.decimalCharacter,".")}},{key:"_stripAllNonNumberCharactersExceptCustomDecimalChar",value:function(t,i,u,e){var s;if(t=this._normalizeCurrencySuffixAndNegativeSignCharacters(t,i),t=t.replace(i.allowedAutoStrip,""),s=t.match(i.numRegAutoStrip),t=s?[s[1],s[2],s[3]].join(""):"",i.leadingZero===n.options.leadingZero.allow||i.leadingZero===n.options.leadingZero.keep){var h="",a=t.split(i.decimalCharacter),c=f(a,2),v=c[0],l=c[1],o=v;r.default.contains(o,i.negativeSignCharacter)&&(h=i.negativeSignCharacter,o=o.replace(i.negativeSignCharacter,""));""===h&&o.length>i.mIntPos&&"0"===o.charAt(0)&&(o=o.slice(1));""!==h&&o.length>i.mIntNeg&&"0"===o.charAt(0)&&(o=o.slice(1));t=""+h+o+(r.default.isUndefined(l)?"":i.decimalCharacter+l)}return(u&&i.leadingZero===n.options.leadingZero.deny||!e&&i.leadingZero===n.options.leadingZero.allow)&&(t=t.replace(i.stripReg,"$1$2")),t}},{key:"_toggleNegativeBracket",value:function(n,t,i){return i?this._removeBrackets(n,t):this._addBrackets(n,t)}},{key:"_addBrackets",value:function(n,t){return r.default.isNull(t.negativeBracketsTypeOnBlur)?n:""+t.firstBracket+n.replace(t.negativeSignCharacter,"")+t.lastBracket}},{key:"_removeBrackets",value:function(n,t){var u=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=void 0;return r.default.isNull(t.negativeBracketsTypeOnBlur)||n.charAt(0)!==t.firstBracket?i=n:(i=n.replace(t.firstBracket,""),i=i.replace(t.lastBracket,""),u?(i=i.replace(t.currencySymbol,""),i=this._mergeCurrencySignNegativePositiveSignAndValue(i,t,!0,!1)):i=""+t.negativeSignCharacter+i),i}},{key:"_convertToNumericString",value:function(t,i){t=this._removeBrackets(t,i,!1);t=this._normalizeCurrencySuffixAndNegativeSignCharacters(t,i);t=t.replace(new RegExp("["+i.digitGroupSeparator+"]","g"),"");"."!==i.decimalCharacter&&(t=t.replace(i.decimalCharacter,"."));r.default.isNegative(t)&&t.lastIndexOf("-")===t.length-1&&(t=t.replace("-",""),t="-"+t);i.showPositiveSign&&(t=t.replace(i.positiveSignCharacter,""));var f=i.leadingZero!==n.options.leadingZero.keep,u=r.default.arabicToLatinNumbers(t,f,!1,!1);return isNaN(u)||(t=u.toString()),t}},{key:"_normalizeCurrencySuffixAndNegativeSignCharacters",value:function(t,i){return t=String(t),i.currencySymbol!==n.options.currencySymbol.none&&(t=t.replace(i.currencySymbol,"")),i.suffixText!==n.options.suffixText.none&&(t=t.replace(i.suffixText,"")),i.negativeSignCharacter!==n.options.negativeSignCharacter.hyphen&&(t=t.replace(i.negativeSignCharacter,"-")),t}},{key:"_toLocale",value:function(t,i,u){if(r.default.isNull(i)||i===n.options.outputFormat.string)return t;var f=void 0;switch(i){case n.options.outputFormat.number:f=Number(t);break;case n.options.outputFormat.dotNegative:f=r.default.isNegative(t)?t.replace("-","")+"-":t;break;case n.options.outputFormat.comma:case n.options.outputFormat.negativeComma:f=t.replace(".",",");break;case n.options.outputFormat.commaNegative:f=t.replace(".",",");f=r.default.isNegative(f)?f.replace("-","")+"-":f;break;case n.options.outputFormat.dot:case n.options.outputFormat.negativeDot:f=t;break;default:r.default.throwError("The given outputFormat ["+i+"] option is not recognized.")}return i!==n.options.outputFormat.number&&"-"!==u.negativeSignCharacter&&(f=f.replace("-",u.negativeSignCharacter)),f}},{key:"_modifyNegativeSignAndDecimalCharacterForFormattedValue",value:function(n,t){return"-"!==t.negativeSignCharacter&&(n=n.replace("-",t.negativeSignCharacter)),"."!==t.decimalCharacter&&(n=n.replace(".",t.decimalCharacter)),n}},{key:"_isElementValueEmptyOrOnlyTheNegativeSign",value:function(n,t){return""===n||n===t.negativeSignCharacter}},{key:"_orderValueCurrencySymbolAndSuffixText",value:function(t,i,r){return i.emptyInputBehavior===n.options.emptyInputBehavior.always||r?i.negativePositiveSignPlacement===n.options.negativePositiveSignPlacement.left?t+i.currencySymbol+i.suffixText:i.currencySymbol+t+i.suffixText:t}},{key:"_addGroupSeparators",value:function(t,i,u,e){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=void 0,y,o,w,v,l;if(a=r.default.isNull(c)?r.default.isNegative(t,i.negativeSignCharacter)||r.default.isNegativeWithBrackets(t,i.firstBracket,i.lastBracket):c<0,t=this._stripAllNonNumberCharactersExceptCustomDecimalChar(t,i,!1,u),this._isElementValueEmptyOrOnlyTheNegativeSign(t,i))return this._orderValueCurrencySymbolAndSuffixText(t,i,!0);y=r.default.isZeroOrHasNoValue(t);a&&(t=t.replace("-",""));i.digitalGroupSpacing=i.digitalGroupSpacing.toString();o=void 0;switch(i.digitalGroupSpacing){case n.options.digitalGroupSpacing.two:o=/(\d)((\d)(\d{2}?)+)$/;break;case n.options.digitalGroupSpacing.twoScaled:o=/(\d)((?:\d{2}){0,2}\d{3}(?:(?:\d{2}){2}\d{3})*?)$/;break;case n.options.digitalGroupSpacing.four:o=/(\d)((\d{4}?)+)$/;break;case n.options.digitalGroupSpacing.three:default:o=/(\d)((\d{3}?)+)$/}var b=t.split(i.decimalCharacter),p=f(b,2),h=p[0],s=p[1];if(i.decimalCharacterAlternative&&r.default.isUndefined(s)&&(w=t.split(i.decimalCharacterAlternative),v=f(w,2),h=v[0],s=v[1]),""!==i.digitGroupSeparator)for(;o.test(h);)h=h.replace(o,"$1"+i.digitGroupSeparator+"$2");return l=void 0,l=u?i.decimalPlacesShownOnFocus:i.decimalPlacesShownOnBlur,0===l||r.default.isUndefined(s)?t=h:(s.length>l&&(s=s.substring(0,l)),t=""+h+i.decimalCharacter+s),t=n._mergeCurrencySignNegativePositiveSignAndValue(t,i,a,y),r.default.isNull(c)&&(c=e),null!==i.negativeBracketsTypeOnBlur&&(c<0||r.default.isNegativeStrict(t,i.negativeSignCharacter))&&(t=this._toggleNegativeBracket(t,i,u)),i.suffixText?""+t+i.suffixText:t}},{key:"_mergeCurrencySignNegativePositiveSignAndValue",value:function(t,i,r,u){var e="",f;if(r?e=i.negativeSignCharacter:i.showPositiveSign&&!u&&(e=i.positiveSignCharacter),f=void 0,i.currencySymbolPlacement===n.options.currencySymbolPlacement.prefix)if(i.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none&&(r||!r&&i.showPositiveSign&&!u))switch(i.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.prefix:case n.options.negativePositiveSignPlacement.left:f=""+e+i.currencySymbol+t;break;case n.options.negativePositiveSignPlacement.right:f=""+i.currencySymbol+e+t;break;case n.options.negativePositiveSignPlacement.suffix:f=""+i.currencySymbol+t+e}else f=i.currencySymbol+t;else if(i.currencySymbolPlacement===n.options.currencySymbolPlacement.suffix)if(i.negativePositiveSignPlacement!==n.options.negativePositiveSignPlacement.none&&(r||!r&&i.showPositiveSign&&!u))switch(i.negativePositiveSignPlacement){case n.options.negativePositiveSignPlacement.suffix:case n.options.negativePositiveSignPlacement.right:f=""+t+i.currencySymbol+e;break;case n.options.negativePositiveSignPlacement.left:f=""+t+e+i.currencySymbol;break;case n.options.negativePositiveSignPlacement.prefix:f=""+e+t+i.currencySymbol}else f=t+i.currencySymbol;return f}},{key:"_truncateZeros",value:function(n,t){var i=void 0;switch(t){case 0:i=/(\.(?:\d*[1-9])?)0*$/;break;case 1:i=/(\.\d(?:\d*[1-9])?)0*$/;break;default:i=new RegExp("(\\.\\d{"+t+"}(?:\\d*[1-9])?)0*")}return n=n.replace(i,"$1"),0===t&&(n=n.replace(/\.$/,"")),n}},{key:"_roundRawValue",value:function(n,t){return this._roundValue(n,t,t.decimalPlacesRawValue)}},{key:"_roundFormattedValueShownOnFocus",value:function(n,t){return this._roundValue(n,t,Number(t.decimalPlacesShownOnFocus))}},{key:"_roundFormattedValueShownOnBlur",value:function(n,t){return this._roundValue(n,t,Number(t.decimalPlacesShownOnBlur))}},{key:"_roundValue",value:function(t,i,u){var o,a,c,h;if(r.default.isNull(t))return t;if(t=""===t?"0":t.toString(),i.roundingMethod===n.options.roundingMethod.toNearest05||i.roundingMethod===n.options.roundingMethod.toNearest05Alt||i.roundingMethod===n.options.roundingMethod.upToNext05||i.roundingMethod===n.options.roundingMethod.downToNext05)return this._roundCloseTo05(t,i);var k=n._prepareValueForRounding(t,i),w=f(k,2),v=w[0];t=w[1];var y=t.lastIndexOf("."),p=-1===y,d=t.split(".");if(!(f(d,2)[1]>0||i.allowDecimalPadding!==n.options.allowDecimalPadding.never&&i.allowDecimalPadding!==n.options.allowDecimalPadding.floats))return 0===Number(t)?t:""+v+t;o=void 0;o=i.allowDecimalPadding===n.options.allowDecimalPadding.always||i.allowDecimalPadding===n.options.allowDecimalPadding.floats?u:0;var g=p?t.length-1:y,l=t.length-1-g,e="";if(l<=u){if(e=t,l<o)for(p&&(e=""+e+i.decimalCharacter),a="000000";l<o;)a=a.substring(0,o-l),e+=a,l+=a.length;else l>o?e=this._truncateZeros(e,o):0===l&&0===o&&(e=e.replace(/\.$/,""));return 0===Number(e)?e:""+v+e}c=void 0;c=p?u-1:Number(u)+Number(y);var nt=Number(t.charAt(c+1)),s=t.substring(0,c+1).split(""),b=void 0;if(b="."===t.charAt(c)?t.charAt(c-1)%2:t.charAt(c)%2,this._shouldRoundUp(nt,i,v,b))for(h=s.length-1;h>=0;h-=1)if("."!==s[h]){if(s[h]=+s[h]+1,s[h]<10)break;h>0&&(s[h]="0")}return s=s.slice(0,c+1),e=this._truncateZeros(s.join(""),o),0===Number(e)?e:""+v+e}},{key:"_roundCloseTo05",value:function(t,i){switch(i.roundingMethod){case n.options.roundingMethod.toNearest05:case n.options.roundingMethod.toNearest05Alt:t=(Math.round(20*t)/20).toString();break;case n.options.roundingMethod.upToNext05:t=(Math.ceil(20*t)/20).toString();break;default:t=(Math.floor(20*t)/20).toString()}return r.default.contains(t,".")?t.length-t.indexOf(".")<3?t+"0":t:t+".00"}},{key:"_prepareValueForRounding",value:function(t,i){var u="";return r.default.isNegativeStrict(t,"-")&&(u="-",t=t.replace("-","")),t.match(/^\d/)||(t="0"+t),0===Number(t)&&(u=""),(Number(t)>0&&i.leadingZero!==n.options.leadingZero.keep||t.length>0&&i.leadingZero===n.options.leadingZero.allow)&&(t=t.replace(/^0*(\d)/,"$1")),[u,t]}},{key:"_shouldRoundUp",value:function(t,i,r,u){return t>4&&i.roundingMethod===n.options.roundingMethod.halfUpSymmetric||t>4&&i.roundingMethod===n.options.roundingMethod.halfUpAsymmetric&&""===r||t>5&&i.roundingMethod===n.options.roundingMethod.halfUpAsymmetric&&"-"===r||t>5&&i.roundingMethod===n.options.roundingMethod.halfDownSymmetric||t>5&&i.roundingMethod===n.options.roundingMethod.halfDownAsymmetric&&""===r||t>4&&i.roundingMethod===n.options.roundingMethod.halfDownAsymmetric&&"-"===r||t>5&&i.roundingMethod===n.options.roundingMethod.halfEvenBankersRounding||5===t&&i.roundingMethod===n.options.roundingMethod.halfEvenBankersRounding&&1===u||t>0&&i.roundingMethod===n.options.roundingMethod.toCeilingTowardPositiveInfinity&&""===r||t>0&&i.roundingMethod===n.options.roundingMethod.toFloorTowardNegativeInfinity&&"-"===r||t>0&&i.roundingMethod===n.options.roundingMethod.upRoundAwayFromZero}},{key:"_truncateDecimalPlaces",value:function(n,t,i,r){var s;i&&(n=this._roundFormattedValueShownOnFocus(n,t));var h=n.split(t.decimalCharacter),e=f(h,2),o=e[0],u=e[1];return u&&u.length>r&&(r>0?(s=u.substring(0,r),n=""+o+t.decimalCharacter+s):n=o),n}},{key:"_checkIfInRangeWithOverrideOption",value:function(t,i){if(r.default.isNull(t)&&i.emptyInputBehavior===n.options.emptyInputBehavior.null)return[!0,!0];t=t.toString();t=t.replace(",",".");var e=r.default.parseStr(i.minimumValue),o=r.default.parseStr(i.maximumValue),f=r.default.parseStr(t),u=void 0;switch(i.overrideMinMaxLimits){case n.options.overrideMinMaxLimits.floor:u=[r.default.testMinMax(e,f)>-1,!0];break;case n.options.overrideMinMaxLimits.ceiling:u=[!0,r.default.testMinMax(o,f)<1];break;case n.options.overrideMinMaxLimits.ignore:u=[!0,!0];break;default:u=[r.default.testMinMax(e,f)>-1,r.default.testMinMax(o,f)<1]}return u}},{key:"_readCookie",value:function(n){for(var r=n+"=",u=document.cookie.split(";"),t="",i=0;i<u.length;i+=1){for(t=u[i];" "===t.charAt(0);)t=t.substring(1,t.length);if(0===t.indexOf(r))return t.substring(r.length,t.length)}return null}},{key:"_storageTest",value:function(){var n="modernizr";try{return sessionStorage.setItem(n,n),sessionStorage.removeItem(n),!0}catch(n){return!1}}},{key:"_correctNegativePositiveSignPlacementOption",value:function(t){if(r.default.isNull(t.negativePositiveSignPlacement))if(r.default.isUndefined(t)||!r.default.isUndefinedOrNullOrEmpty(t.negativePositiveSignPlacement)||r.default.isUndefinedOrNullOrEmpty(t.currencySymbol))t.negativePositiveSignPlacement=n.options.negativePositiveSignPlacement.left;else switch(t.currencySymbolPlacement){case n.options.currencySymbolPlacement.suffix:t.negativePositiveSignPlacement=n.options.negativePositiveSignPlacement.prefix;break;case n.options.currencySymbolPlacement.prefix:t.negativePositiveSignPlacement=n.options.negativePositiveSignPlacement.left}}},{key:"_correctCaretPositionOnFocusAndSelectOnFocusOptions",value:function(t){return r.default.isNull(t)?null:(!r.default.isUndefinedOrNullOrEmpty(t.caretPositionOnFocus)&&r.default.isUndefinedOrNullOrEmpty(t.selectOnFocus)&&(t.selectOnFocus=n.options.selectOnFocus.doNotSelect),r.default.isUndefinedOrNullOrEmpty(t.caretPositionOnFocus)&&!r.default.isUndefinedOrNullOrEmpty(t.selectOnFocus)&&t.selectOnFocus===n.options.selectOnFocus.select&&(t.caretPositionOnFocus=n.options.caretPositionOnFocus.doNoForceCaretPosition),t)}},{key:"_calculateDecimalPlacesOnInit",value:function(t){this._validateDecimalPlacesRawValue(t);t.decimalPlacesShownOnFocus===n.options.decimalPlacesShownOnFocus.useDefault&&(t.decimalPlacesShownOnFocus=t.decimalPlaces);t.decimalPlacesShownOnBlur===n.options.decimalPlacesShownOnBlur.useDefault&&(t.decimalPlacesShownOnBlur=t.decimalPlaces);t.decimalPlacesRawValue===n.options.decimalPlacesRawValue.useDefault&&(t.decimalPlacesRawValue=t.decimalPlaces);var i=0;t.rawValueDivisor&&t.rawValueDivisor!==n.options.rawValueDivisor.none&&(i=String(t.rawValueDivisor).length-1)<0&&(i=0);t.decimalPlacesRawValue=Math.max(Math.max(t.decimalPlacesShownOnBlur,t.decimalPlacesShownOnFocus)+i,Number(t.originalDecimalPlacesRawValue)+i)}},{key:"_calculateDecimalPlacesOnUpdate",value:function(t){var u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,f,i;this._validateDecimalPlacesRawValue(t);r.default.isNull(u)&&r.default.throwError("When updating the settings, the previous ones should be passed as an argument.");f="decimalPlaces"in t;(f||"decimalPlacesRawValue"in t||"decimalPlacesShownOnFocus"in t||"decimalPlacesShownOnBlur"in t||"rawValueDivisor"in t)&&(f?("decimalPlacesShownOnFocus"in t&&t.decimalPlacesShownOnFocus!==n.options.decimalPlacesShownOnFocus.useDefault||(t.decimalPlacesShownOnFocus=t.decimalPlaces),"decimalPlacesShownOnBlur"in t&&t.decimalPlacesShownOnBlur!==n.options.decimalPlacesShownOnBlur.useDefault||(t.decimalPlacesShownOnBlur=t.decimalPlaces),"decimalPlacesRawValue"in t&&t.decimalPlacesRawValue!==n.options.decimalPlacesRawValue.useDefault||(t.decimalPlacesRawValue=t.decimalPlaces)):(r.default.isUndefined(t.decimalPlacesShownOnFocus)&&(t.decimalPlacesShownOnFocus=u.decimalPlacesShownOnFocus),r.default.isUndefined(t.decimalPlacesShownOnBlur)&&(t.decimalPlacesShownOnBlur=u.decimalPlacesShownOnBlur)),i=0,t.rawValueDivisor&&t.rawValueDivisor!==n.options.rawValueDivisor.none&&(i=String(t.rawValueDivisor).length-1)<0&&(i=0),t.decimalPlacesRawValue=t.decimalPlaces||t.decimalPlacesRawValue?Math.max(Math.max(t.decimalPlacesShownOnBlur,t.decimalPlacesShownOnFocus)+i,Number(t.decimalPlacesRawValue)+i):Math.max(Math.max(t.decimalPlacesShownOnBlur,t.decimalPlacesShownOnFocus)+i,Number(u.originalDecimalPlacesRawValue)+i))}},{key:"_cachesUsualRegularExpressions",value:function(t,i){var r=void 0;r=t.negativeSignCharacter!==n.options.negativeSignCharacter.hyphen?"([-\\"+t.negativeSignCharacter+"]?)":"(-?)";i.aNegRegAutoStrip=r;t.allowedAutoStrip=new RegExp("[^-0123456789\\"+t.decimalCharacter+"]","g");t.numRegAutoStrip=new RegExp(r+"(?:\\"+t.decimalCharacter+"?([0-9]+\\"+t.decimalCharacter+"[0-9]+)|([0-9]*(?:\\"+t.decimalCharacter+"[0-9]*)?))");t.stripReg=new RegExp("^"+i.aNegRegAutoStrip+"0*([0-9])")}},{key:"_convertOldOptionsToNewOnes",value:function(n){var i={aSep:"digitGroupSeparator",nSep:"showOnlyNumbersOnFocus",dGroup:"digitalGroupSpacing",aDec:"decimalCharacter",altDec:"decimalCharacterAlternative",aSign:"currencySymbol",pSign:"currencySymbolPlacement",pNeg:"negativePositiveSignPlacement",aSuffix:"suffixText",oLimits:"overrideMinMaxLimits",vMax:"maximumValue",vMin:"minimumValue",mDec:"decimalPlacesOverride",eDec:"decimalPlacesShownOnFocus",scaleDecimal:"decimalPlacesShownOnBlur",aStor:"saveValueToSessionStorage",mRound:"roundingMethod",aPad:"allowDecimalPadding",nBracket:"negativeBracketsTypeOnBlur",wEmpty:"emptyInputBehavior",lZero:"leadingZero",aForm:"formatOnPageLoad",sNumber:"selectNumberOnly",anDefault:"defaultValueOverride",unSetOnSubmit:"unformatOnSubmit",outputType:"outputFormat",debug:"showWarnings",allowDecimalPadding:!0,caretPositionOnFocus:!0,createLocalList:!0,currencySymbol:!0,currencySymbolPlacement:!0,decimalCharacter:!0,decimalCharacterAlternative:!0,decimalPlaces:!0,decimalPlacesRawValue:!0,decimalPlacesShownOnBlur:!0,decimalPlacesShownOnFocus:!0,defaultValueOverride:!0,digitalGroupSpacing:!0,digitGroupSeparator:!0,divisorWhenUnfocused:!0,emptyInputBehavior:!0,eventBubbles:!0,eventIsCancelable:!0,failOnUnknownOption:!0,formatOnPageLoad:!0,historySize:!0,isCancellable:!0,leadingZero:!0,maximumValue:!0,minimumValue:!0,modifyValueOnWheel:!0,negativeBracketsTypeOnBlur:!0,negativePositiveSignPlacement:!0,negativeSignCharacter:!0,noEventListeners:!0,onInvalidPaste:!0,outputFormat:!0,overrideMinMaxLimits:!0,positiveSignCharacter:!0,rawValueDivisor:!0,readOnly:!0,roundingMethod:!0,saveValueToSessionStorage:!0,selectNumberOnly:!0,selectOnFocus:!0,serializeSpaces:!0,showOnlyNumbersOnFocus:!0,showPositiveSign:!0,showWarnings:!0,styleRules:!0,suffixText:!0,symbolWhenUnfocused:!0,unformatOnHover:!0,unformatOnSubmit:!0,valuesToStrings:!0,watchExternalChanges:!0,wheelOn:!0,wheelStep:!0,allowedAutoStrip:!0,isNegativeSignAllowed:!0,isPositiveSignAllowed:!0,mIntNeg:!0,mIntPos:!0,numRegAutoStrip:!0,originalDecimalPlaces:!0,originalDecimalPlacesRawValue:!0,stripReg:!0},t;for(t in n)if(n.hasOwnProperty(t)){if(!0===i[t])continue;i.hasOwnProperty(t)?(r.default.warning("You are using the deprecated option name '"+t+"'. Please use '"+i[t]+"' instead from now on. The old option name will be dropped very soon™.",!0),n[i[t]]=n[t],delete n[t]):n.failOnUnknownOption&&r.default.throwError("Option name '"+t+"' is unknown. Please fix the options passed to autoNumeric")}"mDec"in n&&r.default.warning("The old `mDec` option has been deprecated in favor of more accurate options ; `decimalPlaces`, `decimalPlacesRawValue`, `decimalPlacesShownOnFocus` and `decimalPlacesShownOnBlur`.",!0)}},{key:"_setNegativePositiveSignPermissions",value:function(n){n.isNegativeSignAllowed=n.minimumValue<0;n.isPositiveSignAllowed=n.maximumValue>=0}},{key:"_toNumericValue",value:function(n,t){var i=void 0;return r.default.isNumber(Number(n))?i=n:(i=this._convertToNumericString(n.toString(),t),r.default.isNumber(Number(i))||(r.default.warning('The given value "'+n+'" cannot be converted to a numeric one and therefore cannot be used appropriately.',t.showWarnings),i=NaN)),i}},{key:"_checkIfInRange",value:function(n,t,i){var u=r.default.parseStr(n);return r.default.testMinMax(t,u)>-1&&r.default.testMinMax(i,u)<1}},{key:"_shouldSkipEventKey",value:function(n){var t=r.default.isInArray(n,u.default.keyName._allFnKeys),i=n===u.default.keyName.OSLeft||n===u.default.keyName.OSRight,f=n===u.default.keyName.ContextMenu,e=r.default.isInArray(n,u.default.keyName._someNonPrintableKeys),o=n===u.default.keyName.NumLock||n===u.default.keyName.ScrollLock||n===u.default.keyName.Insert||n===u.default.keyName.Command,s=n===u.default.keyName.Unidentified;return t||i||f||e||s||o}},{key:"_serialize",value:function(n){var f=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"unformatted",u=this,h=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"+",e=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,t=[],i;return"object"===(void 0===n?"undefined":o(n))&&"form"===n.nodeName.toLowerCase()&&Array.prototype.slice.call(n.elements).forEach(function(n){var i,o,h;if(n.name&&!n.disabled&&-1===["file","reset","submit","button"].indexOf(n.type))if("select-multiple"===n.type)Array.prototype.slice.call(n.options).forEach(function(i){i.selected&&(f?t.push({name:n.name,value:i.value}):t.push(encodeURIComponent(n.name)+"="+encodeURIComponent(i.value)))});else if(-1===["checkbox","radio"].indexOf(n.type)||n.checked){if(i=void 0,u.isManagedByAutoNumeric(n)){o=void 0;switch(s){case"unformatted":o=u.getAutoNumericElement(n);r.default.isNull(o)||(i=u.unformat(n,o.getSettings()));break;case"localized":(o=u.getAutoNumericElement(n),r.default.isNull(o))||(h=r.default.cloneObject(o.getSettings()),r.default.isNull(e)||(h.outputFormat=e),i=u.localize(n,h));break;case"formatted":default:i=n.value}}else i=n.value;r.default.isUndefined(i)&&r.default.throwError("This error should never be hit. If it has, something really wrong happened!");f?t.push({name:n.name,value:i}):t.push(encodeURIComponent(n.name)+"="+encodeURIComponent(i))}}),i=void 0,f?i=t:(i=t.join("&"),"+"===h&&(i=i.replace(/%20/g,"+"))),i}},{key:"_serializeNumericString",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"+";return this._serialize(n,!1,"unformatted",t)}},{key:"_serializeFormatted",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"+";return this._serialize(n,!1,"formatted",t)}},{key:"_serializeLocalized",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"+",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return this._serialize(n,!1,"localized",t,i)}},{key:"_serializeNumericStringArray",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"+";return this._serialize(n,!0,"unformatted",t)}},{key:"_serializeFormattedArray",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"+";return this._serialize(n,!0,"formatted",t)}},{key:"_serializeLocalizedArray",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"+",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return this._serialize(n,!0,"localized",t,i)}}]),n}();t.default=s;s.multiple=function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,e=[],l,a,u,b,v,y,f,k,p;if((r.default.isObject(t)&&(i=t,t=null),r.default.isString(n))?n=[].concat(h(document.querySelectorAll(n))):r.default.isObject(n)?(n.hasOwnProperty("rootElement")||r.default.throwError("The object passed to the 'multiple' function is invalid ; no 'rootElement' attribute found."),l=[].concat(h(n.rootElement.querySelectorAll("input"))),n.hasOwnProperty("exclude")?(Array.isArray(n.exclude)||r.default.throwError("The 'exclude' array passed to the 'multiple' function is invalid."),n=r.default.filterOut(l,n.exclude)):n=l):r.default.isArray(n)||r.default.throwError("The given parameters to the 'multiple' function are invalid."),0===n.length)return a=!0,!r.default.isNull(i)&&r.default.isBoolean(i.showWarnings)&&(a=i.showWarnings),r.default.warning("No valid DOM elements were given hence no AutoNumeric object were instantiated.",a),[];var d=r.default.isArray(t),g=d&&t.length>=1,c=!1,w=!1;return g&&(u=o(Number(t[0])),c="number"===u&&!isNaN(Number(t[0])),c||("string"===u||isNaN(u)||"object"===u)&&(w=!0)),b=r.default.isArray(i)&&i.length>=1,v=!1,b&&(y=o(i[0]),"string"!==y&&"object"!==y||(v=!0)),f=void 0,f=w?s.mergeOptions(t):v?s.mergeOptions(i):i,k=r.default.isNumber(t),p=void 0,c&&(p=t.length),n.forEach(function(n,i){k?e.push(new s(n,t,f)):c&&i<=p?e.push(new s(n,t[i],f)):e.push(new s(n,null,f))}),e},function(){function n(n,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(n,t.bubbles,t.cancelable,t.detail),i}if("undefined"==typeof window||"function"===window.CustomEvent)return!1;n.prototype=window.Event.prototype;window.CustomEvent=n;Array.from||(Array.from=function(n){return[].slice.call(n)})}();n.exports=t.default},function(n,t,i){"use strict";function f(n){if(Array.isArray(n)){for(var t=0,i=Array(n.length);t<n.length;t++)i[t]=n[t];return i}return Array.from(n)}function o(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}Object.defineProperty(t,"__esModule",{value:!0});var s=Object.assign||function(n){for(var i,r,t=1;t<arguments.length;t++){i=arguments[t];for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(n[r]=i[r])}return n},u=function(){function n(n,t){var r=[],u=!0,f=!1,e=void 0,o,i;try{for(i=n[Symbol.iterator]();!(u=(o=i.next()).done)&&(r.push(o.value),!t||r.length!==t);u=!0);}catch(n){f=!0;e=n}finally{try{!u&&i.return&&i.return()}finally{if(f)throw e;}}return r}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return n(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance");}}(),e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},h=function(){function n(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}return function(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),t}}(),c=i(2),r=function(n){return n&&n.__esModule?n:{"default":n}}(c),l=function(){function n(){o(this,n)}return h(n,null,[{key:"isNull",value:function(n){return null===n}},{key:"isUndefined",value:function(n){return void 0===n}},{key:"isUndefinedOrNullOrEmpty",value:function(n){return null===n||void 0===n||""===n}},{key:"isString",value:function(n){return"string"==typeof n||n instanceof String}},{key:"isEmptyString",value:function(n){return""===n}},{key:"isBoolean",value:function(n){return"boolean"==typeof n}},{key:"isTrueOrFalseString",value:function(n){var t=String(n).toLowerCase();return"true"===t||"false"===t}},{key:"isObject",value:function(n){return"object"===(void 0===n?"undefined":e(n))&&null!==n&&!Array.isArray(n)}},{key:"isEmptyObj",value:function(n){for(var t in n)if(n.hasOwnProperty(t))return!1;return!0}},{key:"isNumberStrict",value:function(n){return"number"==typeof n}},{key:"isNumber",value:function(n){return!this.isArray(n)&&!isNaN(parseFloat(n))&&isFinite(n)}},{key:"isNumberOrArabic",value:function(n){var t=this.arabicToLatinNumbers(n,!1,!0,!0);return this.isNumber(t)}},{key:"isInt",value:function(n){return"number"==typeof n&&parseFloat(n)===parseInt(n,10)&&!isNaN(n)}},{key:"isFunction",value:function(n){return"function"==typeof n}},{key:"isIE11",value:function(){return!!window.MSInputMethodContext&&!!document.documentMode}},{key:"contains",value:function(n,t){return!(!this.isString(n)||!this.isString(t)||""===n||""===t)&&-1!==n.indexOf(t)}},{key:"isInArray",value:function(n,t){return!(!this.isArray(t)||t===[]||this.isUndefined(n))&&-1!==t.indexOf(n)}},{key:"isArray",value:function(n){if("[object Array]"===Object.prototype.toString.call([]))return Array.isArray(n)||"object"===(void 0===n?"undefined":e(n))&&"[object Array]"===Object.prototype.toString.call(n);throw new Error("toString message changed for Object Array");}},{key:"isElement",value:function(n){return"undefined"!=typeof Element&&n instanceof Element}},{key:"isInputElement",value:function(n){return this.isElement(n)&&"input"===n.tagName.toLowerCase()}},{key:"decimalPlaces",value:function(n){var i=n.split("."),r=u(i,2),t=r[1];return this.isUndefined(t)?0:t.length}},{key:"indexFirstNonZeroDecimalPlace",value:function(n){var r=String(Math.abs(n)).split("."),f=u(r,2),i=f[1],t;return this.isUndefined(i)?0:(t=i.lastIndexOf("0"),-1===t?t=0:t+=2,t)}},{key:"keyCodeNumber",value:function(n){return void 0===n.which?n.keyCode:n.which}},{key:"character",value:function(t){var i=void 0,f,e,u;if("Unidentified"===t.key||void 0===t.key||this.isSeleniumBot()){if(f=this.keyCodeNumber(t),f===r.default.keyCode.AndroidDefault)return r.default.keyName.AndroidDefault;e=r.default.fromCharCodeKeyCode[f];i=n.isUndefinedOrNullOrEmpty(e)?String.fromCharCode(f):e}else{u=void 0;switch(t.key){case"Add":i=r.default.keyName.NumpadPlus;break;case"Apps":i=r.default.keyName.ContextMenu;break;case"Crsel":i=r.default.keyName.CrSel;break;case"Decimal":i=r.default.keyName.NumpadDot;break;case"Del":u=this.browser();i="firefox"===u.name&&u.version<=36||"ie"===u.name&&u.version<=9?r.default.keyName.Dot:r.default.keyName.Delete;break;case"Divide":i=r.default.keyName.NumpadSlash;break;case"Down":i=r.default.keyName.DownArrow;break;case"Esc":i=r.default.keyName.Esc;break;case"Exsel":i=r.default.keyName.ExSel;break;case"Left":i=r.default.keyName.LeftArrow;break;case"Meta":case"Super":i=r.default.keyName.OSLeft;break;case"Multiply":i=r.default.keyName.NumpadMultiply;break;case"Right":i=r.default.keyName.RightArrow;break;case"Spacebar":i=r.default.keyName.Space;break;case"Subtract":i=r.default.keyName.NumpadMinus;break;case"Up":i=r.default.keyName.UpArrow;break;default:i=t.key}}return i}},{key:"browser",value:function(){var i=navigator.userAgent,t=void 0,n=i.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(n[1])?(t=/\brv[ :]+(\d+)/g.exec(i)||[],{name:"ie",version:t[1]||""}):"Chrome"===n[1]&&null!==(t=i.match(/\b(OPR|Edge)\/(\d+)/))?{name:t[1].replace("OPR","opera"),version:t[2]}:(n=n[2]?[n[1],n[2]]:[navigator.appName,navigator.appVersion,"-?"],null!==(t=i.match(/version\/(\d+)/i))&&n.splice(1,1,t[1]),{name:n[0].toLowerCase(),version:n[1]})}},{key:"isSeleniumBot",value:function(){return!0===window.navigator.webdriver}},{key:"isNegative",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"-",r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return t===i||""!==t&&(n.isNumber(t)?t<0:r?this.contains(t,i):this.isNegativeStrict(t,i))}},{key:"isNegativeStrict",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"-";return n.charAt(0)===t}},{key:"isNegativeWithBrackets",value:function(n,t,i){return n.charAt(0)===t&&this.contains(n,i)}},{key:"isZeroOrHasNoValue",value:function(n){return!/[1-9]/g.test(n)}},{key:"setRawNegativeSign",value:function(n){return this.isNegativeStrict(n,"-")?n:"-"+n}},{key:"replaceCharAt",value:function(n,t,i){return""+n.substr(0,t)+i+n.substr(t+i.length)}},{key:"clampToRangeLimits",value:function(n,t){return Math.max(t.minimumValue,Math.min(t.maximumValue,n))}},{key:"countNumberCharactersOnTheCaretLeftSide",value:function(n,t,i){for(var f=new RegExp("[0-9"+i+"-]"),u=0,r=0;r<t;r++)f.test(n[r])&&u++;return u}},{key:"findCaretPositionInFormattedNumber",value:function(n,t,i,r){for(var e=i.length,o=n.length,u=void 0,f=0,u=0;u<e&&f<o&&f<t;u++)(n[f]===i[u]||"."===n[f]&&i[u]===r)&&f++;return u}},{key:"countCharInText",value:function(n,t){for(var r=0,i=0;i<t.length;i++)t[i]===n&&r++;return r}},{key:"convertCharacterCountToIndexPosition",value:function(n){return Math.max(n,n-1)}},{key:"getElementSelection",value:function(n){var t={},i=void 0,u,r;try{i=this.isUndefined(n.selectionStart)}catch(n){i=!1}try{i?(u=window.getSelection(),r=u.getRangeAt(0),t.start=r.startOffset,t.end=r.endOffset,t.length=t.end-t.start):(t.start=n.selectionStart,t.end=n.selectionEnd,t.length=t.end-t.start)}catch(n){t.start=0;t.end=0;t.length=0}return t}},{key:"setElementSelection",value:function(t,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,u,f;(this.isUndefinedOrNullOrEmpty(r)&&(r=i),this.isInputElement(t))?t.setSelectionRange(i,r):n.isNull(t.firstChild)||(u=document.createRange(),u.setStart(t.firstChild,i),u.setEnd(t.firstChild,r),f=window.getSelection(),f.removeAllRanges(),f.addRange(u))}},{key:"throwError",value:function(n){throw new Error(n);}},{key:"warning",value:function(n){arguments.length>1&&void 0!==arguments[1]&&!arguments[1]||console.warn("Warning: "+n)}},{key:"isWheelUpEvent",value:function(n){return n.deltaY||this.throwError("The event passed as a parameter is not a valid wheel event, '"+n.type+"' given."),n.deltaY<0}},{key:"isWheelDownEvent",value:function(n){return n.deltaY||this.throwError("The event passed as a parameter is not a valid wheel event, '"+n.type+"' given."),n.deltaY>0}},{key:"forceDecimalPlaces",value:function(n,t){var f=String(n).split("."),i=u(f,2),e=i[0],r=i[1];return r?e+"."+r.substr(0,t):n}},{key:"roundToNearest",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;return 0===n?0:(0===t&&this.throwError("The `stepPlace` used to round is equal to `0`. This value must not be equal to zero."),Math.round(n/t)*t)}},{key:"modifyAndRoundToNearestAuto",value:function(n,t,i){var s,f,h,c,r,o,u;if(n=Number(this.forceDecimalPlaces(n,i)),s=Math.abs(n),s>=0&&s<1){if(f=Math.pow(10,-i),0===n)return t?f:-f;var e=void 0,a=i,l=this.indexFirstNonZeroDecimalPlace(n);return e=l>=a-1?f:Math.pow(10,-(l+1)),h=void 0,h=t?n+e:n-e,this.roundToNearest(h,e)}n=parseInt(n,10);c=Math.abs(n).toString().length;r=void 0;switch(c){case 1:r=0;break;case 2:case 3:r=1;break;case 4:case 5:r=2;break;default:r=c-3}return o=Math.pow(10,r),u=void 0,u=t?n+o:n-o,u<=10&&u>=-10?u:this.roundToNearest(u,o)}},{key:"addAndRoundToNearestAuto",value:function(n,t){return this.modifyAndRoundToNearestAuto(n,!0,t)}},{key:"subtractAndRoundToNearestAuto",value:function(n,t){return this.modifyAndRoundToNearestAuto(n,!1,t)}},{key:"arabicToLatinNumbers",value:function(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],u=arguments.length>2&&void 0!==arguments[2]&&arguments[2],f=arguments.length>3&&void 0!==arguments[3]&&arguments[3],t,i;return this.isNull(n)?n:(t=n.toString(),""===t)?n:null===t.match(/[٠١٢٣٤٥٦٧٨٩۴۵۶]/g)?(r&&(t=Number(t)),t):(u&&(t=t.replace(/٫/,".")),f&&(t=t.replace(/٬/g,"")),t=t.replace(/[٠١٢٣٤٥٦٧٨٩]/g,function(n){return n.charCodeAt(0)-1632}).replace(/[۰۱۲۳۴۵۶۷۸۹]/g,function(n){return n.charCodeAt(0)-1776}),i=Number(t),isNaN(i)?i:(r&&(t=i),t))}},{key:"triggerEvent",value:function(n){var f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],u=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],t=void 0;window.CustomEvent?t=new CustomEvent(n,{detail:i,bubbles:r,cancelable:u}):(t=document.createEvent("CustomEvent"),t.initCustomEvent(n,r,u,{detail:i}));f.dispatchEvent(t)}},{key:"parseStr",value:function(n){var t={},i=void 0,r=void 0,u=void 0,f=void 0;if(0===n&&1/n<0&&(n="-0"),n=n.toString(),this.isNegativeStrict(n,"-")?(n=n.slice(1),t.s=-1):t.s=1,i=n.indexOf("."),i>-1&&(n=n.replace(".","")),i<0&&(i=n.length),r=-1===n.search(/[1-9]/i)?n.length:n.search(/[1-9]/i),u=n.length,r===u)t.e=0,t.c=[0];else{for(f=u-1;"0"===n.charAt(f);f-=1)u-=1;for(u-=1,t.e=i-r-1,t.c=[],i=0;r<=u;r+=1)t.c[i]=+n.charAt(r),i+=1}return t}},{key:"testMinMax",value:function(n,t){var f=t.c,e=n.c,i=t.s,o=n.s,r=t.e,u=n.e,s;if(!f[0]||!e[0])return f[0]?i:e[0]?-o:0;if(i!==o)return i;if(s=i<0,r!==u)return r>u^s?1:-1;for(i=-1,r=f.length,u=e.length,o=r<u?r:u,i+=1;i<o;i+=1)if(f[i]!==e[i])return f[i]>e[i]^s?1:-1;return r===u?0:r>u^s?1:-1}},{key:"randomString",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5;return Math.random().toString(36).substr(2,n)}},{key:"domElement",value:function(t){var i=void 0;return i=n.isString(t)?document.querySelector(t):t,i}},{key:"getElementValue",value:function(n){return"input"===n.tagName.toLowerCase()?n.value:this.text(n)}},{key:"setElementValue",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;"input"===n.tagName.toLowerCase()?n.value=t:n.textContent=t}},{key:"cloneObject",value:function(n){return s({},n)}},{key:"camelize",value:function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"-",u=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],f=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i,t;return this.isNull(n)?null:(u&&(n=n.replace(/^data-/,"")),i=n.split(r),t=i.map(function(n){return""+n.charAt(0).toUpperCase()+n.slice(1)}),t=t.join(""),f&&(t=""+t.charAt(0).toLowerCase()+t.slice(1)),t)}},{key:"text",value:function(n){var t=n.nodeType;return t===Node.ELEMENT_NODE||t===Node.DOCUMENT_NODE||t===Node.DOCUMENT_FRAGMENT_NODE?n.textContent:t===Node.TEXT_NODE?n.nodeValue:""}},{key:"setText",value:function(n,t){var i=n.nodeType;i!==Node.ELEMENT_NODE&&i!==Node.DOCUMENT_NODE&&i!==Node.DOCUMENT_FRAGMENT_NODE||(n.textContent=t)}},{key:"filterOut",value:function(n,t){var i=this;return n.filter(function(n){return!i.isInArray(n,t)})}},{key:"trimPaddedZerosFromDecimalPlaces",value:function(n){var i;if(""===(n=String(n)))return"";var e=n.split("."),r=u(e,2),t=r[0],f=r[1];return this.isUndefinedOrNullOrEmpty(f)?t:(i=f.replace(/0+$/g,""),""===i?t:t+"."+i)}},{key:"getHoveredElement",value:function(){var n=[].concat(f(document.querySelectorAll(":hover")));return n[n.length-1]}},{key:"arrayTrim",value:function(n,t){var i=n.length;return 0===i||t>i?n:t<0?[]:(n.length=parseInt(t,10),n)}},{key:"arrayUnique",value:function(){var n;return[].concat(f(new Set((n=[]).concat.apply(n,arguments))))}},{key:"mergeMaps",value:function(){for(var t=arguments.length,i=Array(t),n=0;n<t;n++)i[n]=arguments[n];return new Map(i.reduce(function(n,t){return n.concat([].concat(f(t)))},[]))}},{key:"objectKeyLookup",value:function(n,t){var i=Object.entries(n).find(function(n){return n[1]===t}),r=null;return void 0!==i&&(r=i[0]),r}}]),n}();t.default=l;n.exports=t.default},function(n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i={get allowedTagList(){return["b","caption","cite","code","const","dd","del","div","dfn","dt","em","h1","h2","h3","h4","h5","h6","input","ins","kdb","label","li","option","output","p","q","s","sample","span","strong","td","th","u"]},get keyCode(){return{Backspace:8,Tab:9,Enter:13,Shift:16,Ctrl:17,Alt:18,Pause:19,CapsLock:20,Esc:27,Space:32,PageUp:33,PageDown:34,End:35,Home:36,LeftArrow:37,UpArrow:38,RightArrow:39,DownArrow:40,Insert:45,Delete:46,num0:48,num1:49,num2:50,num3:51,num4:52,num5:53,num6:54,num7:55,num8:56,num9:57,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,OSLeft:91,OSRight:92,ContextMenu:93,numpad0:96,numpad1:97,numpad2:98,numpad3:99,numpad4:100,numpad5:101,numpad6:102,numpad7:103,numpad8:104,numpad9:105,MultiplyNumpad:106,PlusNumpad:107,MinusNumpad:109,DotNumpad:110,SlashNumpad:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NumLock:144,ScrollLock:145,HyphenFirefox:173,MyComputer:182,MyCalculator:183,Semicolon:186,Equal:187,Comma:188,Hyphen:189,Dot:190,Slash:191,Backquote:192,LeftBracket:219,Backslash:220,RightBracket:221,Quote:222,Command:224,AltGraph:225,AndroidDefault:229}},get fromCharCodeKeyCode(){return{0:"LaunchCalculator",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",91:"OS",92:"OSRight",93:"ContextMenu",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",173:"-",182:"MyComputer",183:"MyCalculator",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Meta",225:"AltGraph"}},get keyName(){return{Unidentified:"Unidentified",AndroidDefault:"AndroidDefault",Alt:"Alt",AltGr:"AltGraph",CapsLock:"CapsLock",Ctrl:"Control",Fn:"Fn",FnLock:"FnLock",Hyper:"Hyper",Meta:"Meta",OSLeft:"OS",OSRight:"OS",Command:"OS",NumLock:"NumLock",ScrollLock:"ScrollLock",Shift:"Shift",Super:"Super",Symbol:"Symbol",SymbolLock:"SymbolLock",Enter:"Enter",Tab:"Tab",Space:" ",LeftArrow:"ArrowLeft",UpArrow:"ArrowUp",RightArrow:"ArrowRight",DownArrow:"ArrowDown",End:"End",Home:"Home",PageUp:"PageUp",PageDown:"PageDown",Backspace:"Backspace",Clear:"Clear",Copy:"Copy",CrSel:"CrSel",Cut:"Cut",Delete:"Delete",EraseEof:"EraseEof",ExSel:"ExSel",Insert:"Insert",Paste:"Paste",Redo:"Redo",Undo:"Undo",Accept:"Accept",Again:"Again",Attn:"Attn",Cancel:"Cancel",ContextMenu:"ContextMenu",Esc:"Escape",Execute:"Execute",Find:"Find",Finish:"Finish",Help:"Help",Pause:"Pause",Play:"Play",Props:"Props",Select:"Select",ZoomIn:"ZoomIn",ZoomOut:"ZoomOut",BrightnessDown:"BrightnessDown",BrightnessUp:"BrightnessUp",Eject:"Eject",LogOff:"LogOff",Power:"Power",PowerOff:"PowerOff",PrintScreen:"PrintScreen",Hibernate:"Hibernate",Standby:"Standby",WakeUp:"WakeUp",Compose:"Compose",Dead:"Dead",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12",Print:"Print",num0:"0",num1:"1",num2:"2",num3:"3",num4:"4",num5:"5",num6:"6",num7:"7",num8:"8",num9:"9",a:"a",b:"b",c:"c",d:"d",e:"e",f:"f",g:"g",h:"h",i:"i",j:"j",k:"k",l:"l",m:"m",n:"n",o:"o",p:"p",q:"q",r:"r",s:"s",t:"t",u:"u",v:"v",w:"w",x:"x",y:"y",z:"z",A:"A",B:"B",C:"C",D:"D",E:"E",F:"F",G:"G",H:"H",I:"I",J:"J",K:"K",L:"L",M:"M",N:"N",O:"O",P:"P",Q:"Q",R:"R",S:"S",T:"T",U:"U",V:"V",W:"W",X:"X",Y:"Y",Z:"Z",Semicolon:";",Equal:"=",Comma:",",Hyphen:"-",Minus:"-",Plus:"+",Dot:".",Slash:"/",Backquote:"`",LeftBracket:"[",RightBracket:"]",Backslash:"\\",Quote:"'",numpad0:"0",numpad1:"1",numpad2:"2",numpad3:"3",numpad4:"4",numpad5:"5",numpad6:"6",numpad7:"7",numpad8:"8",numpad9:"9",NumpadDot:".",NumpadDotAlt:",",NumpadMultiply:"*",NumpadPlus:"+",NumpadMinus:"-",NumpadSubtract:"-",NumpadSlash:"/",NumpadDotObsoleteBrowsers:"Decimal",NumpadMultiplyObsoleteBrowsers:"Multiply",NumpadPlusObsoleteBrowsers:"Add",NumpadMinusObsoleteBrowsers:"Subtract",NumpadSlashObsoleteBrowsers:"Divide",_allFnKeys:["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"],_someNonPrintableKeys:["Tab","Enter","Shift","ShiftLeft","ShiftRight","Control","ControlLeft","ControlRight","Alt","AltLeft","AltRight","Pause","CapsLock","Escape"],_directionKeys:["PageUp","PageDown","End","Home","ArrowDown","ArrowLeft","ArrowRight","ArrowUp"]}}};t.default=i;n.exports=t.default},function(n,t,i){"use strict";var r=i(0),u=function(n){return n&&n.__esModule?n:{"default":n}}(r);Object.defineProperty(u.default,"options",{get:function(){return{allowDecimalPadding:{always:!0,never:!1,floats:"floats"},caretPositionOnFocus:{start:"start",end:"end",decimalLeft:"decimalLeft",decimalRight:"decimalRight",doNoForceCaretPosition:null},createLocalList:{createList:!0,doNotCreateList:!1},currencySymbol:{none:"",currencySign:"¤",austral:"₳",australCentavo:"¢",baht:"฿",cedi:"₵",cent:"¢",colon:"₡",cruzeiro:"₢",dollar:"$",dong:"₫",drachma:"₯",dram:"​֏",european:"₠",euro:"€",florin:"ƒ",franc:"₣",guarani:"₲",hryvnia:"₴",kip:"₭",att:"ອັດ",lepton:"Λ.",lira:"₺",liraOld:"₤",lari:"₾",mark:"ℳ",mill:"₥",naira:"₦",peseta:"₧",peso:"₱",pfennig:"₰",pound:"£",real:"R$",riel:"៛",ruble:"₽",rupee:"₹",rupeeOld:"₨",shekel:"₪",shekelAlt:"ש״ח‎‎",taka:"৳",tenge:"₸",togrog:"₮",won:"₩",yen:"¥"},currencySymbolPlacement:{prefix:"p",suffix:"s"},decimalCharacter:{comma:",",dot:".",middleDot:"·",arabicDecimalSeparator:"٫",decimalSeparatorKeySymbol:"⎖"},decimalCharacterAlternative:{none:null,comma:",",dot:"."},decimalPlaces:{none:0,one:1,two:2,three:3,four:4,five:5,six:6},decimalPlacesRawValue:{useDefault:null,none:0,one:1,two:2,three:3,four:4,five:5,six:6},decimalPlacesShownOnBlur:{useDefault:null,none:0,one:1,two:2,three:3,four:4,five:5,six:6},decimalPlacesShownOnFocus:{useDefault:null,none:0,one:1,two:2,three:3,four:4,five:5,six:6},defaultValueOverride:{doNotOverride:null},digitalGroupSpacing:{two:"2",twoScaled:"2s",three:"3",four:"4"},digitGroupSeparator:{comma:",",dot:".",normalSpace:" ",thinSpace:" ",narrowNoBreakSpace:" ",noBreakSpace:" ",noSeparator:"",apostrophe:"'",arabicThousandsSeparator:"٬",dotAbove:"˙"},divisorWhenUnfocused:{none:null,percentage:100,permille:1e3,basisPoint:1e4},emptyInputBehavior:{"null":"null",focus:"focus",press:"press",always:"always",zero:"zero"},eventBubbles:{bubbles:!0,doesNotBubble:!1},eventIsCancelable:{isCancelable:!0,isNotCancelable:!1},failOnUnknownOption:{fail:!0,ignore:!1},formatOnPageLoad:{format:!0,doNotFormat:!1},historySize:{verySmall:5,small:10,medium:20,large:50,veryLarge:100,insane:Number.MAX_SAFE_INTEGER},isCancellable:{cancellable:!0,notCancellable:!1},leadingZero:{allow:"allow",deny:"deny",keep:"keep"},maximumValue:{tenTrillions:"9999999999999.99",tenTrillionsNoDecimals:"9999999999999",oneBillion:"999999999.99",zero:"0"},minimumValue:{tenTrillions:"-9999999999999.99",tenTrillionsNoDecimals:"-9999999999999",oneBillion:"-999999999.99",zero:"0"},modifyValueOnWheel:{modifyValue:!0,doNothing:!1},negativeBracketsTypeOnBlur:{parentheses:"(,)",brackets:"[,]",chevrons:"<,>",curlyBraces:"{,}",angleBrackets:"〈,〉",japaneseQuotationMarks:"｢,｣",halfBrackets:"⸤,⸥",whiteSquareBrackets:"⟦,⟧",quotationMarks:"‹,›",guillemets:"«,»",none:null},negativePositiveSignPlacement:{prefix:"p",suffix:"s",left:"l",right:"r",none:null},negativeSignCharacter:{hyphen:"-",minus:"−",heavyMinus:"➖",fullWidthHyphen:"－",circledMinus:"⊖",squaredMinus:"⊟",triangleMinus:"⨺",plusMinus:"±",minusPlus:"∓",dotMinus:"∸",minusTilde:"≂",not:"¬"},noEventListeners:{noEvents:!0,addEvents:!1},onInvalidPaste:{error:"error",ignore:"ignore",clamp:"clamp",truncate:"truncate",replace:"replace"},outputFormat:{string:"string",number:"number",dot:".",negativeDot:"-.",comma:",",negativeComma:"-,",dotNegative:".-",commaNegative:",-",none:null},overrideMinMaxLimits:{ceiling:"ceiling",floor:"floor",ignore:"ignore",doNotOverride:null},positiveSignCharacter:{plus:"+",fullWidthPlus:"＋",heavyPlus:"➕",doublePlus:"⧺",triplePlus:"⧻",circledPlus:"⊕",squaredPlus:"⊞",trianglePlus:"⨹",plusMinus:"±",minusPlus:"∓",dotPlus:"∔",altHebrewPlus:"﬩",normalSpace:" ",thinSpace:" ",narrowNoBreakSpace:" ",noBreakSpace:" "},rawValueDivisor:{none:null,percentage:100,permille:1e3,basisPoint:1e4},readOnly:{readOnly:!0,readWrite:!1},roundingMethod:{halfUpSymmetric:"S",halfUpAsymmetric:"A",halfDownSymmetric:"s",halfDownAsymmetric:"a",halfEvenBankersRounding:"B",upRoundAwayFromZero:"U",downRoundTowardZero:"D",toCeilingTowardPositiveInfinity:"C",toFloorTowardNegativeInfinity:"F",toNearest05:"N05",toNearest05Alt:"CHF",upToNext05:"U05",downToNext05:"D05"},saveValueToSessionStorage:{save:!0,doNotSave:!1},selectNumberOnly:{selectNumbersOnly:!0,selectAll:!1},selectOnFocus:{select:!0,doNotSelect:!1},serializeSpaces:{plus:"+",percent:"%20"},showOnlyNumbersOnFocus:{onlyNumbers:!0,showAll:!1},showPositiveSign:{show:!0,hide:!1},showWarnings:{show:!0,hide:!1},styleRules:{none:null,positiveNegative:{positive:"autoNumeric-positive",negative:"autoNumeric-negative"},range0To100With4Steps:{ranges:[{min:0,max:25,"class":"autoNumeric-red"},{min:25,max:50,"class":"autoNumeric-orange"},{min:50,max:75,"class":"autoNumeric-yellow"},{min:75,max:100,"class":"autoNumeric-green"}]},evenOdd:{userDefined:[{callback:function(n){return n%2==0},classes:["autoNumeric-even","autoNumeric-odd"]}]},rangeSmallAndZero:{userDefined:[{callback:function(n){return n>=-1&&n<0?0:0===Number(n)?1:n>0&&n<=1?2:null},classes:["autoNumeric-small-negative","autoNumeric-zero","autoNumeric-small-positive"]}]}},suffixText:{none:"",percentage:"%",permille:"‰",basisPoint:"‱"},symbolWhenUnfocused:{none:null,percentage:"%",permille:"‰",basisPoint:"‱"},unformatOnHover:{unformat:!0,doNotUnformat:!1},unformatOnSubmit:{unformat:!0,keepCurrentValue:!1},valuesToStrings:{none:null,zeroDash:{0:"-"},oneAroundZero:{"-1":"Min",1:"Max"}},watchExternalChanges:{watch:!0,doNotWatch:!1},wheelOn:{focus:"focus",hover:"hover"},wheelStep:{progressive:"progressive"}}}})},function(n,t,i){"use strict";function r(n){return n&&n.__esModule?n:{"default":n}}Object.defineProperty(t,"__esModule",{value:!0});var u=i(0),f=r(u),e=i(5),o=(r(e),i(3)),s=(r(o),i(6)),h=(r(s),i(7));r(h);t.default=f.default;n.exports=t.default},function(n,t,i){"use strict";var r=i(0),u=function(n){return n&&n.__esModule?n:{"default":n}}(r);Object.defineProperty(u.default,"events",{get:function(){return{initialized:"autoNumeric:initialized",formatted:"autoNumeric:formatted",rawValueModified:"autoNumeric:rawValueModified",minRangeExceeded:"autoNumeric:minExceeded",maxRangeExceeded:"autoNumeric:maxExceeded","native":{input:"input",change:"change"}}}})},function(n,t,i){"use strict";function u(n){return n&&n.__esModule?n:{"default":n}}var f=i(0),r=u(f),e=i(3);u(e);Object.defineProperty(r.default,"defaultSettings",{get:function(){return{allowDecimalPadding:r.default.options.allowDecimalPadding.always,caretPositionOnFocus:r.default.options.caretPositionOnFocus.doNoForceCaretPosition,createLocalList:r.default.options.createLocalList.createList,currencySymbol:r.default.options.currencySymbol.none,currencySymbolPlacement:r.default.options.currencySymbolPlacement.prefix,decimalCharacter:r.default.options.decimalCharacter.dot,decimalCharacterAlternative:r.default.options.decimalCharacterAlternative.none,decimalPlaces:r.default.options.decimalPlaces.two,decimalPlacesRawValue:r.default.options.decimalPlacesRawValue.useDefault,decimalPlacesShownOnBlur:r.default.options.decimalPlacesShownOnBlur.useDefault,decimalPlacesShownOnFocus:r.default.options.decimalPlacesShownOnFocus.useDefault,defaultValueOverride:r.default.options.defaultValueOverride.doNotOverride,digitalGroupSpacing:r.default.options.digitalGroupSpacing.three,digitGroupSeparator:r.default.options.digitGroupSeparator.comma,divisorWhenUnfocused:r.default.options.divisorWhenUnfocused.none,emptyInputBehavior:r.default.options.emptyInputBehavior.focus,eventBubbles:r.default.options.eventBubbles.bubbles,eventIsCancelable:r.default.options.eventIsCancelable.isCancelable,failOnUnknownOption:r.default.options.failOnUnknownOption.ignore,formatOnPageLoad:r.default.options.formatOnPageLoad.format,historySize:r.default.options.historySize.medium,isCancellable:r.default.options.isCancellable.cancellable,leadingZero:r.default.options.leadingZero.deny,maximumValue:r.default.options.maximumValue.tenTrillions,minimumValue:r.default.options.minimumValue.tenTrillions,modifyValueOnWheel:r.default.options.modifyValueOnWheel.modifyValue,negativeBracketsTypeOnBlur:r.default.options.negativeBracketsTypeOnBlur.none,negativePositiveSignPlacement:r.default.options.negativePositiveSignPlacement.none,negativeSignCharacter:r.default.options.negativeSignCharacter.hyphen,noEventListeners:r.default.options.noEventListeners.addEvents,onInvalidPaste:r.default.options.onInvalidPaste.error,outputFormat:r.default.options.outputFormat.none,overrideMinMaxLimits:r.default.options.overrideMinMaxLimits.doNotOverride,positiveSignCharacter:r.default.options.positiveSignCharacter.plus,rawValueDivisor:r.default.options.rawValueDivisor.none,readOnly:r.default.options.readOnly.readWrite,roundingMethod:r.default.options.roundingMethod.halfUpSymmetric,saveValueToSessionStorage:r.default.options.saveValueToSessionStorage.doNotSave,selectNumberOnly:r.default.options.selectNumberOnly.selectNumbersOnly,selectOnFocus:r.default.options.selectOnFocus.select,serializeSpaces:r.default.options.serializeSpaces.plus,showOnlyNumbersOnFocus:r.default.options.showOnlyNumbersOnFocus.showAll,showPositiveSign:r.default.options.showPositiveSign.hide,showWarnings:r.default.options.showWarnings.show,styleRules:r.default.options.styleRules.none,suffixText:r.default.options.suffixText.none,symbolWhenUnfocused:r.default.options.symbolWhenUnfocused.none,unformatOnHover:r.default.options.unformatOnHover.unformat,unformatOnSubmit:r.default.options.unformatOnSubmit.keepCurrentValue,valuesToStrings:r.default.options.valuesToStrings.none,watchExternalChanges:r.default.options.watchExternalChanges.doNotWatch,wheelOn:r.default.options.wheelOn.focus,wheelStep:r.default.options.wheelStep.progressive}}})},function(n,t,i){"use strict";function ft(n){return n&&n.__esModule?n:{"default":n}}var st=i(0),r=ft(st),ht=i(1),u=ft(ht),o={digitGroupSeparator:r.default.options.digitGroupSeparator.dot,decimalCharacter:r.default.options.decimalCharacter.comma,decimalCharacterAlternative:r.default.options.decimalCharacterAlternative.dot,currencySymbol:" €",currencySymbolPlacement:r.default.options.currencySymbolPlacement.suffix,negativePositiveSignPlacement:r.default.options.negativePositiveSignPlacement.prefix},s={digitGroupSeparator:r.default.options.digitGroupSeparator.comma,decimalCharacter:r.default.options.decimalCharacter.dot,currencySymbol:r.default.options.currencySymbol.dollar,currencySymbolPlacement:r.default.options.currencySymbolPlacement.prefix,negativePositiveSignPlacement:r.default.options.negativePositiveSignPlacement.right},et={digitGroupSeparator:r.default.options.digitGroupSeparator.comma,decimalCharacter:r.default.options.decimalCharacter.dot,currencySymbol:r.default.options.currencySymbol.yen,currencySymbolPlacement:r.default.options.currencySymbolPlacement.prefix,negativePositiveSignPlacement:r.default.options.negativePositiveSignPlacement.right},ot=u.default.cloneObject(o),v,h,b,y,f,p,c,k,d,g,nt,l,tt,e,w,a,it,rt,ut;ot.minimumValue=0;v=u.default.cloneObject(o);v.maximumValue=0;v.negativePositiveSignPlacement=r.default.options.negativePositiveSignPlacement.prefix;h=u.default.cloneObject(o);h.digitGroupSeparator=r.default.options.digitGroupSeparator.normalSpace;b=u.default.cloneObject(h);b.minimumValue=0;y=u.default.cloneObject(h);y.maximumValue=0;y.negativePositiveSignPlacement=r.default.options.negativePositiveSignPlacement.prefix;f=u.default.cloneObject(o);f.currencySymbol=r.default.options.currencySymbol.none;f.suffixText=" "+r.default.options.suffixText.percentage;f.wheelStep=.0001;f.rawValueDivisor=r.default.options.rawValueDivisor.percentage;p=u.default.cloneObject(f);p.minimumValue=0;c=u.default.cloneObject(f);c.maximumValue=0;c.negativePositiveSignPlacement=r.default.options.negativePositiveSignPlacement.prefix;k=u.default.cloneObject(f);k.decimalPlaces=3;d=u.default.cloneObject(p);d.decimalPlaces=3;g=u.default.cloneObject(c);g.decimalPlaces=3;nt=u.default.cloneObject(s);nt.minimumValue=0;l=u.default.cloneObject(s);l.maximumValue=0;l.negativePositiveSignPlacement=r.default.options.negativePositiveSignPlacement.prefix;tt=u.default.cloneObject(l);tt.negativeBracketsTypeOnBlur=r.default.options.negativeBracketsTypeOnBlur.parentheses;e=u.default.cloneObject(s);e.currencySymbol=r.default.options.currencySymbol.none;e.suffixText=r.default.options.suffixText.percentage;e.wheelStep=.0001;f.rawValueDivisor=r.default.options.rawValueDivisor.percentage;w=u.default.cloneObject(e);w.minimumValue=0;a=u.default.cloneObject(e);a.maximumValue=0;a.negativePositiveSignPlacement=r.default.options.negativePositiveSignPlacement.prefix;it=u.default.cloneObject(e);it.decimalPlaces=3;rt=u.default.cloneObject(w);rt.decimalPlaces=3;ut=u.default.cloneObject(a);ut.decimalPlaces=3;Object.defineProperty(r.default,"predefinedOptions",{get:function(){return{euro:o,euroPos:ot,euroNeg:v,euroSpace:h,euroSpacePos:b,euroSpaceNeg:y,percentageEU2dec:f,percentageEU2decPos:p,percentageEU2decNeg:c,percentageEU3dec:k,percentageEU3decPos:d,percentageEU3decNeg:g,dollar:s,dollarPos:nt,dollarNeg:l,dollarNegBrackets:tt,percentageUS2dec:e,percentageUS2decPos:w,percentageUS2decNeg:a,percentageUS3dec:it,percentageUS3decPos:rt,percentageUS3decNeg:ut,French:o,Spanish:o,NorthAmerican:s,British:{digitGroupSeparator:r.default.options.digitGroupSeparator.comma,decimalCharacter:r.default.options.decimalCharacter.dot,currencySymbol:r.default.options.currencySymbol.pound,currencySymbolPlacement:r.default.options.currencySymbolPlacement.prefix,negativePositiveSignPlacement:r.default.options.negativePositiveSignPlacement.right},Swiss:{digitGroupSeparator:r.default.options.digitGroupSeparator.apostrophe,decimalCharacter:r.default.options.decimalCharacter.dot,currencySymbol:" CHF",currencySymbolPlacement:r.default.options.currencySymbolPlacement.suffix,negativePositiveSignPlacement:r.default.options.negativePositiveSignPlacement.prefix},Japanese:et,Chinese:et,Brazilian:{digitGroupSeparator:r.default.options.digitGroupSeparator.dot,decimalCharacter:r.default.options.decimalCharacter.comma,currencySymbol:r.default.options.currencySymbol.real,currencySymbolPlacement:r.default.options.currencySymbolPlacement.prefix,negativePositiveSignPlacement:r.default.options.negativePositiveSignPlacement.right},dotDecimalCharCommaSeparator:{digitGroupSeparator:r.default.options.digitGroupSeparator.comma,decimalCharacter:r.default.options.decimalCharacter.dot},commaDecimalCharDotSeparator:{digitGroupSeparator:r.default.options.digitGroupSeparator.dot,decimalCharacter:r.default.options.decimalCharacter.comma,decimalCharacterAlternative:r.default.options.decimalCharacterAlternative.dot},integer:{decimalPlaces:0},integerPos:{minimumValue:r.default.options.minimumValue.zero,decimalPlaces:0},integerNeg:{maximumValue:r.default.options.maximumValue.zero,decimalPlaces:0},float:{allowDecimalPadding:r.default.options.allowDecimalPadding.never},floatPos:{allowDecimalPadding:r.default.options.allowDecimalPadding.never,minimumValue:r.default.options.minimumValue.zero,maximumValue:r.default.options.maximumValue.tenTrillions},floatNeg:{allowDecimalPadding:r.default.options.allowDecimalPadding.never,minimumValue:r.default.options.minimumValue.tenTrillions,maximumValue:r.default.options.maximumValue.zero},numeric:{digitGroupSeparator:r.default.options.digitGroupSeparator.noSeparator,decimalCharacter:r.default.options.decimalCharacter.dot,currencySymbol:r.default.options.currencySymbol.none},numericPos:{digitGroupSeparator:r.default.options.digitGroupSeparator.noSeparator,decimalCharacter:r.default.options.decimalCharacter.dot,currencySymbol:r.default.options.currencySymbol.none,minimumValue:r.default.options.minimumValue.zero,maximumValue:r.default.options.maximumValue.tenTrillions},numericNeg:{digitGroupSeparator:r.default.options.digitGroupSeparator.noSeparator,decimalCharacter:r.default.options.decimalCharacter.dot,currencySymbol:r.default.options.currencySymbol.none,minimumValue:r.default.options.minimumValue.tenTrillions,maximumValue:r.default.options.maximumValue.zero}}}})}])}),function(){function f(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n}function o(){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 tr(n){return typeof n=="string"}function yt(n){return n&&typeof n=="object"}function ir(n){return Object.prototype.toString.call(n)==="[object Array]"}function ni(n){return typeof n=="number"}function wi(n){return et.log(n)/et.LN10}function ti(n){return et.pow(10,n)}function ii(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}}function i(n){return n!==u&&n!==null}function g(n,t,r){var u,f;if(tr(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 si(n){return ir(n)?n:[n]}function n(){for(var i=arguments,t,r=i.length,n=0;n<r;n++)if(t=i[n],t!==u&&t!==null)return t}function a(n,t){gi&&!vt&&t&&t.opacity!==u&&(t.filter="alpha(opacity="+t.opacity*100+")");f(n.style,t)}function ct(n,t,i,r,u){return n=s.createElement(n),t&&f(n,t),u&&a(n,{padding:0,border:ut,margin:0}),i&&a(n,i),r&&r.appendChild(n),n}function ri(n,t){var i=function(){return u};return i.prototype=new n,f(i.prototype,t),i}function bi(n,t,i,r){var c=tt.numberFormat,u=nt.lang,f=+n||0,o=t===-1?(f.toString().split(".")[1]||"").length:isNaN(t=p(t))?2:t,l=i===void 0?u.decimalPoint:i,u=r===void 0?u.thousandsSep:r,a=f<0?"-":"",e=String(h(f=p(f).toFixed(o))),s=e.length>3?e.length%3:0;return c!==bi?c(n,t,i,r):a+(s?e.substr(0,s)+u:"")+e.substr(s).replace(/(\d{3})(?=\d)/g,"$1"+u)+(o?l+p(f-e).toFixed(o).slice(2):"")}function rr(n,t){return Array((t||2)+1-String(n).length).join(0)+n}function hr(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 ur(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=bi(i,f,u.decimalPoint,r.indexOf(",")>-1?u.thousandsSep:""))):i=eu(r,i))}h.push(i);n=n.slice(e+1);e=(s=!s)?"}":"{"}return h.push(n),h.join("")}function au(n){return et.pow(10,ft(et.log(n)/et.LN10))}function vu(t,i,r,u){var f,r=n(r,1);for(f=t/r,i||(i=[1,2,2.5,5,10],u===!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 yu(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 ki(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(i=n[t]);return i}function lr(n,t){for(var i in n)n[i]&&n[i]!==t&&n[i].destroy&&n[i].destroy(),delete n[i]}function ar(n){fu||(fu=ct(er));n&&fu.appendChild(n);fu.innerHTML=""}function pt(n){return parseFloat(n.toPrecision(14))}function vr(t,i){vi=n(t,i.animation)}function ef(){var r=nt.global.useUTC,t=r?"getUTC":"get",i=r?"setUTC":"set";nr=nt.global.Date||window.Date;wr=(r&&nt.global.timezoneOffset||0)*6e4;ou=r?nr.UTC:function(t,i,r,u,f,e){return new nr(t,i,n(r,1),n(u,0),n(f,0),n(e,0)).getTime()};ku=t+"Minutes";du=t+"Hours";gu=t+"Day";tu=t+"Date";su=t+"Month";hu=t+"FullYear";lf=i+"Minutes";af=i+"Hours";nf=i+"Date";vf=i+"Month";yf=i+"FullYear"}function rt(){}function yr(n,t,i,r){this.axis=n;this.pos=t;this.type=i||"";this.isNew=!0;i||r||this.addLabel()}function ui(){this.init.apply(this,arguments)}function kr(){this.init.apply(this,arguments)}function of(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 u,s=document,d=window,et=Math,e=et.round,ft=et.floor,fr=et.ceil,r=et.max,l=et.min,p=et.abs,lt=et.cos,wt=et.sin,fi=et.PI,di=fi/180,li=navigator.userAgent,sf=d.opera,gi=/msie/i.test(li)&&!sf,uu=s.documentMode===8,pu=/AppleWebKit/.test(li),pr=/Firefox/.test(li),hf=/(Mobile|Android|Windows Phone)/.test(li),ai="http://www.w3.org/2000/svg",vt=!!s.createElementNS&&!!s.createElementNS(ai,"svg").createSVGRect,wf=pr&&parseInt(li.split("Firefox/")[1],10)<4,bt=!vt&&!gi&&!!s.createElement("canvas").getContext,dr,gr,cf={},wu=0,fu,nt,eu,vi,bu,c,dt,hi=function(){return u},ot=[],nu=0,er="div",ut="none",bf=/^[0-9]+$/,kf="stroke-width",nr,ou,wr,ku,du,gu,tu,su,hu,lf,af,nf,vf,yf,w={},tt,b,at,it,ei,ht,kt,pf,rf,oi,sr,ru,pi,v,gt;d.Highcharts?dt(16,!0):tt=d.Highcharts={};eu=function(t,r,u){if(!i(r)||isNaN(r))return"Invalid date";var t=n(t,"%Y-%m-%d %H:%M:%S"),o=new nr(r-wr),s,h=o[du](),a=o[gu](),v=o[tu](),c=o[su](),y=o[hu](),l=nt.lang,p=l.weekdays,o=f({a:p[a].substr(0,3),A:p[a],d:rr(v),e:v,b:l.shortMonths[c],B:l.months[c],m:rr(c+1),y:y.toString().substr(2,2),Y:y,H:rr(h),I:rr(h%12||12),l:h%12||12,M:rr(o[ku]()),p:h<12?"AM":"PM",P:h<12?"am":"pm",S:rr(o.getSeconds()),L:rr(e(r%1e3),3)},tt.dateFormats);for(s in o)for(;t.indexOf("%"+s)!==-1;)t=t.replace("%"+s,typeof o[s]=="function"?o[s](r):o[s]);return u?t.substr(0,1).toUpperCase()+t.substr(1):t};dt=function(n,t){var i="Highcharts error #"+n+": www.highcharts.com/errors/"+n;if(t)throw i;d.console&&console.log(i)};c={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:26784e5,year:31556952e3};bu={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 i=n.fx;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(t,r){var f=i.step,e;r==="cur"?f=i.prototype:r==="_default"&&n.Tween&&(f=n.Tween.propHooks[r],r="set");(e=f[r])&&(f[r]=function(n){var i,n=t?n:this;if(n.prop!=="align")return i=n.elem,i.attr?i.attr(n.prop,r==="cur"?u:n.now):e.apply(this,arguments)})});hr(n.cssHooks.opacity,"get",function(n,t,i){return t.attr?t.opacity||0:n.call(this,t,i)});this.addAnimSetter("d",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))});this.each=Array.prototype.forEach?function(n,t){return Array.prototype.forEach.call(n,t)}:function(n,t){for(var r=n.length,i=0;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]&&(tr(t[0])&&(r=t[0],t=Array.prototype.slice.call(t,1)),n=t[0],n!==u&&(n.chart=n.chart||{},n.chart.renderTo=this[0],new tt[r](n,t[1]),i=this),n===u&&(i=ot[g(this[0],"data-highcharts-chart")])),i}},addAnimSetter:function(t,i){n.Tween?n.Tween.propHooks[t]={set:i}:n.fx.step[t]=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=s.removeEventListener?"removeEventListener":"detachEvent";s[u]&&t&&!t[u]&&(t[u]=function(){});n(t).unbind(i,r)},fireEvent:function(t,i,r,u){var e=n.Event(i),o="detached"+i,s;!gi&&r&&(delete r.layerX,delete r.layerY,delete r.returnValue);f(e,r);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);!u||e.isDefaultPrevented()||s||u(e)},washMouseEvent:function(n){var t=n.originalEvent||n;return t.pageX===u&&(t.pageX=n.pageX,t.pageY=n.pageY),t},animate:function(t,i,r){var f=n(t);t.style||(t.style={});i.d&&(t.toD=i.d,i.d=1);f.stop();i.opacity!==u&&t.attr&&(i.opacity+="px");t.hasAnim=1;f.animate(i,r)},stop:function(t){t.hasAnim&&n(t).stop()}}}(d.jQuery);it=d.HighchartsAdapter;b=it||{};it&&it.init.call(it,bu);var cu=b.adapterRun,df=b.getScript,or=b.inArray,t=b.each,tf=b.grep,gf=b.offset,br=b.map,k=b.addEvent,st=b.removeEvent,y=b.fireEvent,ne=b.washMouseEvent,lu=b.animate,iu=b.stop,b={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.4/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/4.0.4/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,lineWidthPlus:1,radiusPlus:2},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:o(b,{align:"center",enabled:!1,formatter:function(){return this.y===null?"":bi(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,states:{hover:{lineWidthPlus:1,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:"45%"},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:hf?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"}}};at=nt.plotOptions;it=at.line;ef();var te=/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*\)/,ie=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,re=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,yi=function(n){var i=[],r,u;return function(n){n&&n.stops?u=br(n.stops,function(n){return yi(n[1])}):(r=te.exec(n))?i=[h(r[1]),h(r[2]),h(r[3]),parseFloat(r[4],10)]:(r=ie.exec(n))?i=[h(r[1],16),h(r[2],16),h(r[3],16),1]:(r=re.exec(n))&&(i=[h(r[1]),h(r[2]),h(r[3]),1])}(n),{get:function(r){var f;return u?(f=o(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(ni(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(rt.prototype={opacity:1,textProps:"fontSize,fontWeight,fontFamily,color,lineHeight,width,textDecoration,textShadow,HcTextStroke".split(","),init:function(n,t){this.element=t==="span"?ct(t):s.createElementNS(ai,t);this.renderer=n},animate:function(t,i,r){return i=n(i,vi,!0),iu(this),i?(i=o(i,{}),r&&(i.complete=r),lu(this,t,i)):(this.attr(t),r&&r()),this},colorGradient:function(n,r,u){var l=this.renderer,p,s,f,a,v,y,w,b,e,c,h=[];if(n.linearGradient?s="linearGradient":n.radialGradient&&(s="radialGradient"),s){f=n[s];a=l.gradients;y=n.stops;e=u.radialReference;ir(f)&&(n[s]=f={x1:f[0],y1:f[1],x2:f[2],y2:f[3],gradientUnits:"userSpaceOnUse"});s==="radialGradient"&&e&&!i(f.gradientUnits)&&(f=o(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-"+wu++,a[h]=v=l.createElement(s).attr(f).add(l.defs),v.stops=[],t(y,function(n){n[1].indexOf("rgba")===0?(p=yi(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,f;if(typeof n=="string"&&t!==u&&(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],f=!1,this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(i)&&(o||(this.symbolAttr(n),o=!0),f=!0),this.rotation&&(i==="x"||i==="y")&&(this.doTransform=!0),f||(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,u=i.length;u--;)i[u].setAttribute(n,n==="height"?r(t-(i[u].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+")":ut)},crisp:function(n){var t,r={},i,u=n.strokeWidth||this.strokeWidth||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,u={},e=this.element,r,t,o="";if(r=!i,n&&n.color&&(n.fill=n.color),i)for(t in n)n[t]!==i[t]&&(u[t]=n[t],r=!0);if(r){if(r=this.textWidth=n&&n.width&&e.nodeName.toLowerCase()==="text"&&h(n.width),i&&(n=f(i,u)),this.styles=n,r&&(bt||!vt&&this.renderer.forExport)&&delete n.width,gi&&!vt)a(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)}r&&this.added&&this.renderer.buildText(this)}return this},on:function(n,t){var r=this,i=r.element;return gr&&n==="click"?(i.ontouchstart=function(n){r.touchEventFired=nr.now();n.preventDefault();t.call(i,n)},i.onclick=function(n){(li.indexOf("Android")===-1||nr.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||tr(r))&&(this.alignTo=f=r||"renderer",ii(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,r,u,e;if(t=this.element,r=this.styles,u=s*di,i=this.textStr,(i===""||bf.test(i))&&(e="num."+i.toString().length+(r?"|"+r.fontSize+"|"+r.fontFamily:"")),e&&(n=o.cache[e]),!n){if(t.namespaceURI===ai||o.forExport){try{n=t.getBBox?f({},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&&r&&r.fontSize==="11px"&&i.toPrecision(3)==="16.9"&&(n.height=i=14),s&&(n.width=p(i*wt(u))+p(t*lt(u)),n.height=p(i*lt(u))+p(t*wt(u))));this.bBox=n;e&&(o.cache[e]=n)}return n},show:function(n){return n&&this.element.namespaceURI===ai?this.element.removeAttribute("visibility"):this.attr({visibility:n?"inherit":"visible"}),this},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(n){var t=this;t.animate({opacity:0},{duration:n||150,complete:function(){t.attr({y:-9999})}})},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,iu(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&&r.div.childNodes.length===0;)i=r.parentGroup,n.safeRemoveChild(r.div),delete r.div,r=i;n.alignTo&&ii(n.renderer.alignedObjects,n);for(e in n)delete n[e];return null},shadow:function(t,i,u){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:ut}),u&&(g(f,"height",r(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["stroke-width"];n=n.join(",").replace("NaN","none");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)},titleSetter:function(t){var i=this.element.getElementsByTagName("title")[0];i||(i=s.createElementNS(ai,"title"),this.element.appendChild(i));i.textContent=n(t,"").replace(/<[^>]*>/g,"")},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)}},rt.prototype.yGetter=rt.prototype.xGetter,rt.prototype.translateXSetter=rt.prototype.translateYSetter=rt.prototype.rotationSetter=rt.prototype.verticalAlignSetter=rt.prototype.scaleXSetter=rt.prototype.scaleYSetter=function(n,t){this[t]=n;this.doTransform=!0},rt.prototype["stroke-widthSetter"]=rt.prototype.strokeSetter=function(n,t,i){this[t]=n;this.stroke&&this["stroke-width"]?(this.strokeWidth=this["stroke-width"],rt.prototype.fillSetter.call(this,this.stroke,"stroke",i),i.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):t==="stroke-width"&&n===0&&this.hasStroke&&(i.removeAttribute("stroke"),this.hasStroke=!1)},ei=function(){this.init.apply(this,arguments)},ei.prototype={Element:rt,init:function(n,t,i,r,u){var o=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=(pr||pu)&&s.getElementsByTagName("base").length?o.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(s.createTextNode("Created with Highcharts 4.0.4"));this.defs=this.createElement("defs").add();this.forExport=u;this.gradients={};this.cache={};this.setSize(t,i,!1);pr&&n.getBoundingClientRect&&(this.subPixelFix=t=function(){a(n,{left:0,top:0});f=n.getBoundingClientRect();a(n,{left:fr(f.left)-f.left+"px",top:fr(f.top)-f.top+"px"})},t(),k(d,"resize",t))},getStyle:function(n){return this.style=f({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(),lr(this.gradients||{}),this.gradients=null,n&&(this.defs=n.destroy()),this.subPixelFix&&st(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 f=i.element,e=this,y=e.forExport,r=n(i.textStr,"").toString(),p=r.indexOf("<")!==-1,w=f.childNodes,c,l,v=g(f,"x"),u=i.styles,o=i.textWidth,b=u&&u.lineHeight,nt=u&&u.HcTextStroke,k=w.length,d=function(n){return b?h(b):e.fontMetrics(/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:u&&u.fontSize||e.style.fontSize||12,n).h};k--;)f.removeChild(w[k]);!p&&!nt&&r.indexOf(" ")===-1?f.appendChild(s.createTextNode(r)):(c=/<.*style="([^"]+)".*>/,l=/<.*href="(http[^"]+)".*>/,o&&!i.added&&this.box.appendChild(f),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=s.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]+'"'),a(t,{cursor:"pointer"})),n=(n.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">"),n!==" ")){if(t.appendChild(s.createTextNode(n)),p?w.dx=0:r&&v!==null&&(w.x=v),g(t,w),f.appendChild(t),!p&&r&&(!vt&&y&&a(t,{display:"block"}),g(t,"dy",d(t))),o)for(var n=n.replace(/([^\^])-/g,"$1- ").split(" "),w=h.length>1||n.length>1&&u.whiteSpace!=="nowrap",nt,b,it=u.HcHeight,tt=[],rt=d(t),ut=1;w&&(n.length||tt.length);)delete i.bBox,nt=i.getBBox(),b=nt.width,!vt&&e.forExport&&(b=e.measureSpanWidth(t.firstChild.data,i.styles)),nt=b>o,!nt||n.length===1?(n=tt,tt=[],n.length&&(ut++,it&&ut*rt>it?(n=["..."],i.attr("title",i.textStr)):(t=s.createElementNS(ai,"tspan"),g(t,{dy:rt,x:v}),k&&g(t,"style",k),f.appendChild(t))),b>o&&(o=b)):(t.removeChild(t.firstChild),tt.unshift(n.pop())),n.length&&t.appendChild(s.createTextNode(n.join(" ").replace(/- /g,"-")));p++}})}))},button:function(n,t,i,r,u,e,s,h,c){var l=this.label(n,t,i,c,null,null,null,null,"button"),a=0,w,b,v,y,p,d,n={x1:0,y1:0,x2:0,y2:1},u=o({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:n,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},u);return v=u.style,delete u.style,e=o(u,{stroke:"#68A",fill:{linearGradient:n,stops:[[0,"#FFF"],[1,"#ACF"]]}},e),y=e.style,delete e.style,s=o(u,{stroke:"#68A",fill:{linearGradient:n,stops:[[0,"#9BD"],[1,"#CDF"]]}},s),p=s.style,delete s.style,h=o(u,{style:{color:"#CCC"}},h),d=h.style,delete h.style,k(l.element,gi?"mouseover":"mouseenter",function(){a!==3&&l.attr(e).css(y)}),k(l.element,gi?"mouseout":"mouseleave",function(){a!==3&&(w=[u,e,s][a],b=[v,y,p][a],l.attr(w).css(b))}),l.setState=function(n){(l.state=a=n)?n===2?l.attr(s).css(p):n===3&&l.attr(h).css(d):l.attr(u).css(v)},l.on("click",function(){a!==3&&r.call(l)}).attr(u).css(f({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:ut};return ir(n)?t.d=n:yt(n)&&f(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,f,e,o){var e=yt(n)?n.r:e,s=this.createElement("rect"),n=yt(n)?n:n===u?{}:{x:n,y:t,width:r(i,0),height:r(f,0)};return o!==u&&(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,r,u){var e={preserveAspectRatio:ut};return arguments.length>1&&f(e,{x:t,y:i,width:r,height:u}),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,r,u,o){var s,h=this.symbols[n],h=h&&h(e(t),e(i),r,u,o),a=/^url\((.*?)\)$/,c,l;return h?(s=this.path(h),f(s,{symbolName:n,x:t,y:i,width:r,height:u}),o&&f(s,o)):a.test(n)&&(l=function(n,t){n.element&&(n.attr({width:t[0],height:t[1]}),n.alignByTranslate||n.translate(e((r-t[0])/2),e((u-t[1])/2)))},c=n.match(a)[1],n=cf[c]||o&&o.width&&o.height&&[o.width,o.height],s=this.image(c).attr({x:t,y:i}),s.isImg=!0,n?l(s,n):(s.attr({width:0,height:0}),ct("img",{onload:function(){l(s,cf[c]=[this.width,this.height])},src:c}))),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=lt(e),h=wt(e),c=lt(f),f=wt(f),u=u.end-e<fi?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-"+wu++,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=bt||!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.getElementsByTagName("tspan"),u,e=i.getAttribute(t),r=0;r<f.length;r++)u=f[r],u.getAttribute(t)===e&&u.setAttribute(t,n);i.setAttribute(t,n)}),n)},fontMetrics:function(n,t){n=n||this.style.fontSize;t&&d.getComputedStyle&&(t=t.element||t,n=d.getComputedStyle(t,"").fontSize);var n=/px/.test(n)?h(n):/em/.test(n)?parseFloat(n)*12:12,i=n<24?n+4:e(n*1.2),r=e(i*.8);return{h:i,b:r,f:n}},label:function(n,r,s,h,c,l,a,v,y){function yt(){var n,t;n=w.element.style;d=(nt===void 0||ht===void 0||p.styles.textAlign)&&w.textStr&&w.getBBox();p.width=(nt||d.width||0)+2*k+ot;p.height=(ht||d.height||0)+2*k;at=k+g.fontMetrics(n&&n.fontSize,w).b;vt&&(b||(n=e(-it*k),t=v?-at:0,p.box=b=h?g.symbol(h,n,t,p.width,p.height,ft):g.rect(n,t,p.width,p.height,0,ft[kf]),b.attr("fill",ut).add(p)),b.isImg||b.attr(f({width:e(p.width),height:e(p.height)},ft)),ft=null)}function et(){var n=p.styles,n=n&&n.textAlign,r=ot+k*(1-it),t;t=v?0:at;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!==u&&w.attr("y",t));w.x=r;w.y=t}function tt(n,t){b?b.attr(n,t):ft[n]=t}var g=this,p=g.g(y),w=g.text("",0,0,a).attr({zIndex:1}),b,d,it=0,k=3,ot=0,nt,ht,ct,lt,pt=0,ft={},at,vt,wt;return p.onAdd=function(){w.add(p);p.attr({text:n||n===0?n:"",x:r,y:s});b&&i(c)&&p.attr({anchorX:c,anchorY:l})},p.widthSetter=function(n){nt=n},p.heightSetter=function(n){ht=n},p.paddingSetter=function(n){i(n)&&n!==k&&(k=n,et())},p.paddingLeftSetter=function(n){i(n)&&n!==ot&&(ot=n,et())},p.alignSetter=function(n){it={left:0,center:.5,right:1}[n]},p.textSetter=function(n){n!==u&&w.textSetter(n);yt();et()},p["stroke-widthSetter"]=function(n,t){n&&(vt=!0);pt=n%2/2;tt(t,n)},p.strokeSetter=p.fillSetter=p.rSetter=function(n,t){t==="fill"&&n&&(vt=!0);tt(t,n)},p.anchorXSetter=function(n,t){c=n;tt(t,n+pt-ct)},p.anchorYSetter=function(n,t){l=n;tt(t,n-lt)},p.xSetter=function(n){p.x=n;it&&(n-=it*((nt||d.width)+k));ct=e(n);p.attr("translateX",ct)},p.ySetter=function(n){lt=p.y=e(n);p.attr("translateY",lt)},wt=p.css,f(p,{css:function(n){if(n){var i={},n=o(n);t(p.textProps,function(t){n[t]!==u&&(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(){st(p.element,"mouseenter");st(p.element,"mouseleave");w&&(w=w.destroy());b&&(b=b.destroy());rt.prototype.destroy.call(p);p=g=yt=et=tt=null}})}},dr=ei,f(rt.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=f(this.styles,n),a(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,v=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(a(r,{marginLeft:l,marginTop:v}),u&&t(u,function(n){a(n,{marginLeft:l+1,marginTop:v+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)&&(a(r,{width:s+"px",display:"block",whiteSpace:"normal"}),u=s),this.getSpanCorrection(u,e,y,f,o));a(r,{left:w+(this.xCorr||0)+"px",top:b+(this.yCorr||0)+"px"});pu&&(e=r.offsetHeight);this.cTT=p}}else this.alignOnAdd=!0},setSpanRotation:function(n,t,i){var r={},u=gi?"-ms-transform":pu?"-webkit-transform":pr?"MozTransform":sf?"-o-transform":"";r[u]=r.transform="rotate("+n+"deg)";r[u+(pr?"Origin":"-origin")]=r.transformOrigin=t*100+"% "+i+"px";a(this.element,r)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i;this.yCorr=-t}}),f(ei.prototype,{html:function(n,i,r){var u=this.createElement("span"),o=u.element,s=u.renderer;return u.textSetter=function(n){n!==o.innerHTML&&delete this.bBox;o.innerHTML=this.textStr=n},u.xSetter=u.ySetter=u.alignSetter=u.rotationSetter=function(n,t){t==="align"&&(t="textAlign");u[t]=n;u.htmlUpdateTransform()},u.attr({text:n,x:e(i),y:e(r)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),u.css=u.htmlCss,s.isSVG&&(u.add=function(n){var i,r=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(er,{className:g(n.element,"class")},{position:"absolute",left:(n.translateX||0)+"px",top:(n.translateY||0)+"px"},i||r);t=i.style;f(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=r;return i.appendChild(o),u.added=!0,u.alignOnAdd&&u.htmlUpdateTransform(),u}),u}}),vt||bt||(ht={init:function(n,t){var i=["<",t,' filled="f" stroked="f"'],r=["position: ","absolute",";"],u=t===er;(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:rt.prototype.htmlUpdateTransform,setSpanRotation:function(){var n=this.rotation,t=lt(n*di),i=wt(n*di);a(this.element,{filter:n?["progid:DXImageTransform.Microsoft.Matrix(M11=",t,", M12=",-i,", M21=",i,", M22=",t,", sizingMethod='auto expand')"].join(""):ut})},getSpanCorrection:function(t,i,r,u,f){var e=u?lt(u*di):1,o=u?wt(u*di):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)),a(this.element,{textAlign:f}))},pathToVML:function(n){for(var t=n.length,i=[];t--;)ni(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,ii(i,t),i.push(t),t.destroyClip=function(){ii(i,t)},n=n.getCSS(t)):(t.destroyClip&&t.destroyClip(),n={clip:uu?"inherit":"rect(auto)"}),t.css(n)},css:rt.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&ar(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),rt.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){uu?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&&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!==ut,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(wt(n*di)+1)+"px";i.top=e(lt(n*di))+"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;ni(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,uu||(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}},tt.VMLElement=ht=ri(rt,ht),ht.prototype.ySetter=ht.prototype.widthSetter=ht.prototype.heightSetter=ht.prototype.xSetter,kt={Element:ht,isIE8:li.indexOf("MSIE 8.0")>-1,init:function(n,t,i,r){var u;if(this.alignedObjects=[],r=this.createElement(er).css(f(this.getStyle(r),{position:"relative"})),u=r.element,n.appendChild(r.element),this.isVML=!0,this.box=u,this.boxWrapper=r,this.cache={},this.setSize(t,i,!1),!s.namespaces.hcv){s.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{s.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(e){s.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,r,u){var s=this.createElement(),o=yt(n);return f(s,{members:[],left:(o?n.x:n)+1,top:(o?n.y:i)+1,width:(o?n.width:r)-1,height:(o?n.height:u)-1,getCSS:function(n){var t=n.element,o=t.nodeName,n=n.inverted,i=this.top-(o==="shape"?t.offsetTop:0),r=this.left,t=r+this.width,u=i+this.height,i={clip:"rect("+e(n?r:i)+"px,"+e(n?u:t)+"px,"+e(n?t:u)+"px,"+e(n?i:r)+"px)"};return!n&&uu&&o==="DIV"&&f(i,{width:t+"px",height:u+"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,b=/^rgba/,v,c,f=ut;if(n&&n.linearGradient?c="gradient":n&&n.radialGradient&&(c="pattern"),c){var h,y,e=n.linearGradient||n.radialGradient,l,k,d,g,tt,p="",n=n.stops,w,it=[],rt=function(){v=['<fill colors="'+it.join(",")+'" opacity="',d,'" o:opacity2="',k,'" type="',c,'" ',p,'focus="100%" method="any" />'];ct(lt.prepVML(v),null,null,i)};if(l=n[0],w=n[n.length-1],l[0]>0&&n.unshift([0,l[1]]),w[0]<1&&n.push([1,w[1]]),t(n,function(n,t){b.test(n[1])?(s=yi(n[1]),h=s.get("rgb"),y=s.get("a")):(h=n[1],y=1);it.push(n[0]*100+"% "+h);t?(d=y,g=h):(k=y,tt=h)}),r==="fill")if(c==="gradient")r=e.x1||e[0]||0,n=e.y1||e[1]||0,l=e.x2||e[2]||0,e=e.y2||e[3]||0,p='angle="'+(90-et.atan((e-n)/(l-r))*180/fi)+'"',rt();else{var f=e.r,ft=f*2,ot=f*2,st=e.cx,ht=e.cy,a=i.radialReference,o,f=function(){a&&(o=u.getBBox(),st+=(a[0]-o.x)/o.width-.5,ht+=(a[1]-o.y)/o.height-.5,ft*=a[2]/o.width,ot*=a[2]/o.height);p='src="'+nt.global.VMLRadialGradientURL+'" size="'+ft+","+ot+'" origin="0.5,0.5" position="'+st+","+ht+'" color2="'+tt+'" ';rt()};u.added?f():u.onAdd=f;f=g}else f=h}else b.test(n)&&i.tagName!=="IMG"?(s=yi(n),v=["<",r,' opacity="',s.get("a"),'"/>'],ct(this.prepVML(v),null,null,i),f=s.get("rgb")):(f=i.getElementsByTagName(r),f.length&&(f[0].opacity=1,f[0].type="solid"),f=n);return f},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:ei.prototype.html,path:function(n){var t={coordsize:"10 10"};return ir(n)?t.d=n:yt(n)&&f(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(er).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):ei.prototype.createElement.call(this,n)},invertChild:function(n,i){var f=this,u=i.style,r=n.tagName==="IMG"&&n.style;a(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=lt(f),s=wt(f),h=lt(o),c=wt(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 ei.prototype.symbols[!i(f)||!f.r?"square":"callout"].call(0,n,t,r,u,f)}}},tt.VMLRenderer=ht=function(){this.init.apply(this,arguments)},ht.prototype=o(ei.prototype,kt),dr=ht),ei.prototype.measureSpanWidth=function(n,t){var i=s.createElement("span"),r;return r=s.createTextNode(n),i.appendChild(r),a(i,t),this.box.appendChild(i),r=i.offsetWidth,ar(i),r},bt&&(tt.CanVGRenderer=ht=function(){ai="http://www.w3.org/1999/xhtml"},ht.prototype.symbols={},pf=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&&df(r,t);n.push(i)}}}(),dr=ht),yr.prototype={addLabel:function(){var t=this.axis,h=t.options,c=t.chart,l=t.horiz,u=t.categories,y=t.names,o=this.pos,s=h.labels,p=s.rotation,a=t.tickPositions,l=l&&u&&!s.step&&!s.staggerLines&&!s.rotation&&c.plotWidth/a.length||!l&&(c.margin[3]||c.chartWidth*.33),b=o===a[0],k=o===a[a.length-1],v,y=u?n(u[o],y[o],o):o,u=this.label,w=a.info;t.isDatetimeAxis&&w&&(v=h.dateTimeLabelFormats[w.higherRanks[o]||w.unitName]);this.isFirst=b;this.isLast=k;h=t.labelFormatter.call({axis:t,chart:c,isFirst:b,isLast:k,dateTimeLabelFormat:v,value:t.isLog?pt(ti(y)):y});o=l&&{width:r(1,e(l-2*(s.padding||10)))+"px"};i(u)?u&&u.attr({text:h}).css(o):(v={align:t.labelAlign},ni(p)&&(v.rotation=p),l&&s.ellipsis&&(o.HcHeight=t.len/a.length),this.label=u=i(h)&&s.enabled?c.renderer.text(h,0,0,s.useHTML).attr(v).css(f(o,s.style)).add(t.labelGroup):null,t.tickBaseline=c.renderer.fontMetrics(s.style.fontSize,u).b,p&&t.side===2&&(t.tickBaseline*=lt(p*di)));this.yOffset=u?n(s.y,t.tickBaseline+(t.side===2?8:-(u.getBBox().height/2))):0},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,a=this.isLast,f=i.horiz?t.x:t.y,v=i.reversed,y=i.tickPositions,s=this.getLabelSides(),l=s[0],s=s[1],o,e,r,p=this.label.line;if(o=p||0,e=i.labelEdge,r=i.justifyLabels&&(c||a),e[o]===u||f+l>e[o]?e[o]=f+s:r||(h=!1),r){o=(e=i.justifyToPlot)?i.pos:0;e=e?o+i.len:i.chart.chartWidth;do n+=c?1:-1,r=i.ticks[y[n]];while(y[n]&&(!r||!r.label||r.label.line!==p));i=r&&r.label.xy&&r.label.xy.x+r.getLabelSides()[c?0:1];c&&!v||a&&v?f+l<o&&(f=o-l,r&&f+s>i&&(h=!1)):f+s>e&&(f=e-s,r&&f+l<i&&(h=!1));t.x=f}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,i,r,u,f,e,o){var s=this.axis,c=s.transA,l=s.reversed,h=s.staggerLines,n=n+u.x-(f&&r?f*c*(l?-1:1):0),t=t+this.yOffset-(f&&!r?f*c*(l?1:-1):0);return h&&(i.line=e/(o||1)%h,t+=i.line*(s.labelOffset/h)),{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 f=this.axis,o=f.options,g=f.chart.renderer,y=f.horiz,h=this.type,p=this.label,a=this.pos,w=o.labels,s=this.gridLine,c=h?h+"Grid":"grid",l=h?h+"Tick":"tick",b=o[c+"LineWidth"],ut=o[c+"LineColor"],it=o[c+"LineDashStyle"],v=o[l+"Length"],c=o[l+"Width"]||0,ft=o[l+"Color"],et=o[l+"Position"],l=this.mark,nt=w.step,k=!0,tt=f.tickmarkOffset,e=this.getPosition(y,a,tt,i),d=e.x,e=e.y,rt=y&&d===f.pos+f.len||!y&&e===f.pos?-1:1,r=n(r,1);this.isActive=!0;b&&(a=f.getPlotLinePath(a+tt,b*rt,i,!0),s===u&&(s={stroke:ut,"stroke-width":b},it&&(s.dashstyle=it),h||(s.zIndex=1),i&&(s.opacity=0),this.gridLine=s=b?g.path(a).attr(s).add(f.gridGroup):null),!i&&s&&a&&s[this.isNew?"attr":"animate"]({d:a,opacity:r}));c&&v&&(et==="inside"&&(v=-v),f.opposite&&(v=-v),h=this.getMarkPath(d,e,v,c*rt,y,g),l?l.animate({d:h,opacity:r}):this.mark=g.path(h).attr({stroke:ft,"stroke-width":c,opacity:r}).add(f.axisGroup));p&&!isNaN(d)&&(p.xy=e=this.getLabelPosition(d,e,p,y,w,tt,t,nt),this.isFirst&&!this.isLast&&!n(o.showFirstLabel,1)||this.isLast&&!this.isFirst&&!n(o.showLastLabel,1)?k=!1:!f.isRadial&&!w.step&&!w.rotation&&!i&&r!==0&&(k=this.handleOverflow(t,e)),nt&&t%nt&&(k=!1),k&&!isNaN(e.y)?(e.opacity=r,p[this.isNew?"attr":"animate"](e),this.isNew=!1):p.attr("y",-9999))},destroy:function(){lr(this,this.axis)}},tt.PlotLineOrBand=function(n,t){this.axis=n;t&&(this.options=t,this.id=t.id)},tt.PlotLineOrBand.prototype={render:function(){var h=this,t=h.axis,a=t.horiz,w=(t.pointRange||0)/2,u=h.options,e=u.label,c=h.label,k=u.width,y=u.to,p=u.from,f=i(p)&&i(y),d=u.value,tt=u.dashStyle,v=h.svgElem,n=[],it,g=u.color,b=u.zIndex,nt=u.events,s={},rt=t.chart.renderer;if(t.isLog&&(p=wi(p),y=wi(y),d=wi(d)),k)(n=t.getPlotLinePath(d,k),s={stroke:g,"stroke-width":k},tt)&&(s.dashstyle=tt);else if(f)p=r(p,t.min-w),y=l(y,t.max+w),n=t.getPlotBandPath(p,y,u),g&&(s.fill=g),u.borderWidth&&(s.stroke=u.borderColor,s["stroke-width"]=u.borderWidth);else return;if(i(b)&&(s.zIndex=b),v)n?v.animate({d:n},null,v.onGetPath):(v.hide(),v.onGetPath=function(){v.show()},c)&&(h.label=c=c.destroy());else if(n&&n.length&&(h.svgElem=v=rt.path(n).attr(s).add(),nt))for(it in w=function(n){v.on(n,function(t){nt[n].apply(h,[t])})},nt)w(it);return e&&i(e.text)&&n&&n.length&&t.width>0&&t.height>0?(e=o({align:a&&f&&"center",x:a?!f&&4:10,verticalAlign:!a&&f&&"middle",y:a?f?16:10:f?6:-4,rotation:a&&!f&&90},e),c||(s={align:e.textAlign||e.align,rotation:e.rotation},i(b)&&(s.zIndex=b),h.label=c=rt.text(e.text,0,0,e.useHTML).attr(s).css(e.style).add()),t=[n[1],n[4],f?n[6]:n[1]],f=[n[2],n[5],f?n[7]:n[2]],n=cr(t),a=cr(f),c.align(e,!1,{x:n,y:a,width:ki(t)-n,height:ki(f)-a}),c.show()):c&&c.hide(),h},destroy:function(){ii(this.axis.plotLinesAndBands,this);delete this.axis;lr(this)}},ui.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:b,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 bi(this.total,-1)},style:b.style}},defaultLeftAxisOptions:{labels:{x:-15,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{x:0,y:null},title:{rotation:0}},defaultTopAxisOptions:{labels:{x:0,y:-15},title:{rotation:0}},init:function(t,r){var e=r.isX,o,s,f;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);f=this.options;o=f.type;this.labelFormatter=f.labels.formatter||this.defaultLabelFormatter;this.userOptions=r;this.minPixelPadding=0;this.chart=t;this.reversed=f.reversed;this.zoomEnabled=f.zoomEnabled!==!1;this.categories=f.categories||o==="category";this.names=[];this.isLog=o==="logarithmic";this.isDatetimeAxis=o==="datetime";this.isLinked=i(f.linkedTo);this.tickmarkOffset=this.categories&&f.tickmarkPlacement==="between"&&n(f.tickInterval,1)===1?.5:0;this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=f.minRange||f.maxZoom;this.range=f.range;this.offset=f.offset||0;this.stacks={};this.oldStacks={};this.min=this.max=null;this.crosshair=n(f.crosshair,si(t.options.tooltip.crosshairs)[e?0:1],!1);f=this.options.events;or(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===u&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(s in f)k(this,s,f[s]);this.isLog&&(this.val2lin=wi,this.lin2val=ti)},setOptions:function(n){this.options=o(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],o(nt[this.coll],n))},defaultLabelFormatter:function(){var t=this.axis,i=this.value,f=t.categories,o=this.dateTimeLabelFormat,e=nt.lang.numericSymbols,r=e&&e.length,n,s=t.options.labels.format,t=t.isLog?i:t.tickInterval;if(s)n=ur(s,this);else if(f)n=i;else if(o)n=eu(o,i);else if(r&&t>=1e3)for(;r--&&n===u;)f=Math.pow(1e3,r+1),t>=f&&e[r]!==null&&(n=bi(i/f,-1)+e[r]);return n===u&&(n=p(i)>=1e4?bi(i,0):bi(i,-1,u,"")),n},getSeriesExtremes:function(){var u=this,f=u.chart;u.hasVisibleSeries=!1;u.dataMin=u.dataMax=u.ignoreMinPadding=u.ignoreMaxPadding=null;u.buildStacks&&u.buildStacks();t(u.series,function(t){var e,o;(t.visible||!f.options.chart.ignoreHiddenSeries)&&(e=t.options.threshold,u.hasVisibleSeries=!0,u.isLog&&e<=0&&(e=null),u.isXAxis?(e=t.xData,e.length)&&(u.dataMin=l(n(u.dataMin,e[0]),cr(e)),u.dataMax=r(n(u.dataMax,e[0]),ki(e))):(t.getExtremes(),o=t.dataMax,t=t.dataMin,i(t)&&i(o)&&(u.dataMin=l(n(u.dataMin,t),t),u.dataMax=r(n(u.dataMax,o),o)),i(e)&&(u.dataMin>=e?(u.dataMin=e,u.ignoreMinPadding=!0):u.dataMax<e&&(u.dataMax=e,u.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+(ni(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=pt(ft(t/n)*n),e=pt(fr(i/n)*n),u=[];if(t===i&&ni(t))return[t];for(t=f;t<=e;){if(u.push(t),t=pt(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,f=this.max,e,y=this.dataMax-this.dataMin>=this.minRange,c,h,v,a,p,o;this.isXAxis&&this.minRange===u&&!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===u||v<c)&&(c=v)}),this.minRange=l(c*5,this.dataMax-this.dataMin)));f-r<this.minRange&&(o=this.minRange,e=(o-f+r)/2,e=[r-e,n(s.min,r-e)],y&&(e[2]=this.dataMin),r=ki(e),f=[r+o,n(s.max,r+o)],y&&(f[2]=this.dataMax),f=cr(f),f-r<o&&(e[0]=f-o,e[1]=n(s.min,f-o),r=ki(e)));this.min=r;this.max=f},setAxisTranslation:function(n){var u=this,c=u.max-u.min,h=u.axisPointRange||0,f,o=0,s=0,e=u.linkedParent,v=!!u.categories,a=u.transA;(u.isXAxis||v||h)&&(e?(o=e.minPointOffset,s=e.pointRangePadding):t(u.series,function(n){var t=v?1:u.isXAxis?n.pointRange:u.axisPointRange||0,a=n.options.pointPlacement,e=n.closestPointRange;t>c&&(t=0);h=r(h,t);o=r(o,tr(a)?0:t/2);s=r(s,a==="on"?0:t);!n.noSharedTooltip&&i(e)&&(f=i(f)?l(f,e):e)}),e=u.ordinalSlope&&f?u.ordinalSlope/f:1,u.minPointOffset=o*=e,u.pointRangePadding=s*=e,u.pointRange=l(h,c),u.closestPointRange=f);n&&(u.oldTransA=a);u.translationSlope=u.transA=a=u.len/(c+s||1);u.transB=u.horiz?u.left:u.bottom;u.minPixelPadding=a*o},setTickPositions:function(u){var f=this,o=f.chart,e=f.options,h=e.startOnTick,b=e.endOnTick,s=f.isLog,c=f.isDatetimeAxis,it=f.isXAxis,v=f.isLinked,k=f.options.tickPositioner,d=e.maxPadding,g=e.minPadding,a=e.tickInterval,nt=e.minTickInterval,y=e.tickPixelInterval,tt,w=f.categories;v?(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&&dt(11,1)):(f.min=n(f.userMin,e.min,f.dataMin),f.max=n(f.userMax,e.max,f.dataMax));s&&(!u&&l(f.min,n(f.dataMin,f.min))<=0&&dt(10,1),f.min=pt(wi(f.min)),f.max=pt(wi(f.max)));f.range&&i(f.max)&&(f.userMin=f.min=r(f.min,f.max-f.range),f.userMax=f.max,f.range=null);f.beforePadding&&f.beforePadding();f.adjustForMinRange();w||f.axisPointRange||f.usePercentage||v||!i(f.min)||!i(f.max)||!(o=f.max-f.min)||(!i(e.min)&&!i(f.userMin)&&g&&(f.dataMin<0||!f.ignoreMinPadding)&&(f.min-=o*g),!i(e.max)&&!i(f.userMax)&&d&&(f.dataMax>0||!f.ignoreMaxPadding)&&(f.max+=o*d));ni(e.floor)&&(f.min=r(f.min,e.floor));ni(e.ceiling)&&(f.max=l(f.max,e.ceiling));f.min===f.max||f.min===void 0||f.max===void 0?f.tickInterval=1:v&&!a&&y===f.linkedParent.options.tickPixelInterval?f.tickInterval=f.linkedParent.tickInterval:(f.tickInterval=n(a,w?1:(f.max-f.min)*y/r(f.len,y)),!i(a)&&f.len<y&&!this.isRadial&&!this.isLog&&!w&&h&&b&&(tt=!0,f.tickInterval/=4));it&&!u&&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=r(f.pointRange,f.tickInterval));!a&&f.tickInterval<nt&&(f.tickInterval=nt);c||s||a||(f.tickInterval=vu(f.tickInterval,null,au(f.tickInterval),n(e.allowDecimals,!(f.tickInterval>1&&f.tickInterval<5&&f.max>1e3&&f.max<9999))));f.minorTickInterval=e.minorTickInterval==="auto"&&f.tickInterval?f.tickInterval/5:e.minorTickInterval;f.tickPositions=u=e.tickPositions?[].concat(e.tickPositions):k&&k.apply(f,[f.min,f.max]);u||(!f.ordinalPositions&&(f.max-f.min)/f.tickInterval>r(2*f.len,200)&&dt(19,!0),u=c?f.getTimeTicks(f.normalizeTimeTickInterval(f.tickInterval,e.units),f.min,f.max,e.startOfWeek,f.ordinalPositions,f.closestPointRange,!0):s?f.getLogTickPositions(f.tickInterval,f.min,f.max):f.getLinearTickPositions(f.tickInterval,f.min,f.max),tt&&u.splice(1,u.length-2),f.tickPositions=u);v||(e=u[0],s=u[u.length-1],c=f.minPointOffset||0,h?f.min=e:f.min-c>e&&u.shift(),b?f.max=s:f.max+c<s&&u.pop(),u.length===0&&i(e)&&u.push((s+e)/2),u.length===1&&(h=p(f.max)>1e13?1:.001,f.min-=h,f.max+=h))},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,f,e;if(r&&r[n]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1&&this.min!==u){if(f=this.tickAmount,e=t.length,this.tickAmount=n=r[n],e<n){for(;t.length<n;)t.push(pt(t[t.length-1]+this.tickInterval));this.transA*=(e-1)/(n-1);this.max=t[t.length-1]}i(f)&&n!==f&&(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,r,u,e){var o=this,s=o.chart,r=n(r,!0),e=f(e,{min:t,max:i});y(o,"setExtremes",e,function(){o.userMin=t;o.userMax=i;o.eventArgs=e;o.isDirtyExtremes=!0;r&&s.redraw(u)})},zoom:function(t,f){var e=this.dataMin,o=this.dataMax,s=this.options;return this.allowZoomOutside||(i(e)&&t<=l(e,n(s.min,e))&&(t=u),i(o)&&f>=r(o,n(s.max,o))&&(f=u)),this.displayBtn=t!==u||f!==u,this.setExtremes(t,f,!1,u,{trigger:"zoom"}),!0},setAxisSize:function(){var i=this.chart,t=this.options,e=t.offsetLeft||0,s=this.horiz,o=n(t.width,i.plotWidth-e+(t.offsetRight||0)),u=n(t.height,i.plotHeight),f=n(t.top,i.plotTop),t=n(t.left,i.plotLeft+e),e=/%$/;e.test(u)&&(u=parseInt(u,10)/100*i.plotHeight);e.test(f)&&(f=parseInt(f,10)/100*i.plotHeight+i.plotTop);this.left=t;this.top=f;this.width=o;this.height=u;this.bottom=i.chartHeight-u-f;this.right=i.chartWidth-o-t;this.len=r(s?o:u,0);this.pos=s?t:f},getExtremes:function(){var n=this.isLog;return{min:n?pt(ti(this.min)):this.min,max:n?pt(ti(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?ti(this.min):this.min,t=t?ti(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 f=this,l=f.chart,y=l.renderer,a=f.options,k=f.tickPositions,s=f.ticks,p=f.horiz,o=f.side,st=l.inverted?[1,0,3,2][o]:o,w,it,ht=0,rt,ct=0,e=a.title,h=a.labels,b=0,ut=l.axisOffset,l=l.clipOffset,et=[-1,1,1,-1][o],c,d=1,lt=n(h.maxStaggerLines,5),nt,ot,v,g,tt;if(f.hasData=w=f.hasVisibleSeries||i(f.min)&&i(f.max)&&!!k,f.showAxis=it=w||n(a.showEmpty,!0),f.staggerLines=f.horiz&&h.staggerLines,f.axisGroup||(f.gridGroup=y.g("grid").attr({zIndex:a.gridZIndex||1}).add(),f.axisGroup=y.g("axis").attr({zIndex:a.zIndex||2}).add(),f.labelGroup=y.g("axis-labels").attr({zIndex:h.zIndex||7}).addClass("highcharts-"+f.coll.toLowerCase()+"-labels").add()),w||f.isLinked){if(f.labelAlign=n(h.align||f.autoLabelAlign(h.rotation)),t(k,function(n){s[n]?s[n].addLabel():s[n]=new yr(f,n)}),f.horiz&&!f.staggerLines&&lt&&!h.rotation){for(w=f.reversed?[].concat(k).reverse():k;d<lt;){for(nt=[],ot=!1,c=0;c<w.length;c++)v=w[c],g=(g=s[v].label&&s[v].label.getBBox())?g.width:0,tt=c%d,g&&(v=f.translate(v),nt[tt]!==u&&v<nt[tt]&&(ot=!0),nt[tt]=v+g);if(ot)d++;else break}d>1&&(f.staggerLines=d)}t(k,function(n){(o===0||o===2||{1:"left",3:"right"}[o]===f.labelAlign)&&(b=r(s[n].getLabelSize(),b))});f.staggerLines&&(b*=f.staggerLines,f.labelOffset=b)}else for(c in s)s[c].destroy(),delete s[c];e&&e.text&&e.enabled!==!1&&(f.axisTitle||(f.axisTitle=y.text(e.text,0,0,e.useHTML).attr({zIndex:7,rotation:e.rotation||0,align:e.textAlign||{low:"left",middle:"center",high:"right"}[e.align]}).addClass("highcharts-"+this.coll.toLowerCase()+"-title").css(e.style).add(f.axisGroup),f.axisTitle.isNew=!0),it&&(ht=f.axisTitle.getBBox()[p?"height":"width"],rt=e.offset,ct=i(rt)?0:n(e.margin,p?5:10)),f.axisTitle[it?"show":"hide"]());f.offset=et*n(a.offset,ut[o]);y=o===2?f.tickBaseline:0;p=b+ct+(b&&et*(p?n(h.y,f.tickBaseline+8):h.x)-y);f.axisTitleMargin=n(rt,p);ut[o]=r(ut[o],f.axisTitleMargin+ht+et*f.offset,p);l[st]=r(l[st],ft(a.lineWidth/2)*2)},getLinePath:function(n){var i=this.chart,u=this.opposite,t=this.offset,r=this.horiz,f=this.left+(u?this.width:0)+t,t=i.chartHeight-this.bottom-(u?this.height:0)+t;return u&&(n*=-1),i.renderer.crispLine(["M",r?this.left:f,r?t:this.top,"L",r?i.chartWidth-this.right:f,r?t:i.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,b=n.reversed,a=n.chart,et=a.renderer,e=n.options,k=n.isLog,d=n.isLinked,c=n.tickPositions,o,l=n.axisTitle,r=n.ticks,s=n.minorTicks,f=n.alternateBands,g=e.stackLabels,nt=e.alternateGridColor,v=n.tickmarkOffset,y=e.lineWidth,it=a.hasRendered&&i(n.oldMin)&&!isNaN(n.oldMin),ot=n.hasData,rt=n.showAxis,p,ut=e.labels.overflow,ft=n.justifyLabels=h&&ut!==!1,w;n.labelEdge.length=0;n.justifyToPlot=ut==="justify";t([r,s,f],function(n){for(var t in n)n[t].isActive=!1});(ot||d)&&((n.minorTickInterval&&!n.categories&&t(n.getMinorTickPositions(),function(t){s[t]||(s[t]=new yr(n,t,"minor"));it&&s[t].isNew&&s[t].render(null,!0);s[t].render(null,!1,1)}),c.length&&(o=c.slice(),(h&&b||!h&&!b)&&o.reverse(),ft&&(o=o.slice(1).concat([o[0]])),t(o,function(t,i){ft&&(i=i===o.length-1?0:i+1);(!d||t>=n.min&&t<=n.max)&&(r[t]||(r[t]=new yr(n,t)),it&&r[t].isNew&&r[t].render(i,!0,.1),r[t].render(i))}),v&&n.min===0&&(r[-1]||(r[-1]=new yr(n,-1,null,!0)),r[-1].render(-1))),nt&&t(c,function(t,i){i%2==0&&t<n.max&&(f[t]||(f[t]=new tt.PlotLineOrBand(n)),p=t+v,w=c[i+1]!==u?c[i+1]+v:n.max,f[t].options={from:k?ti(p):p,to:k?ti(w):w,color:nt},f[t].render(),f[t].isActive=!0)}),n._addedPlotLB)||(t((e.plotLines||[]).concat(e.plotBands||[]),function(t){n.addPlotBandOrLine(t)}),n._addedPlotLB=!0));t([r,s,f],function(n){var t,i,r=[],u=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===f||!a.hasRendered||!u?e():u&&setTimeout(e,u)});y&&(h=n.getLinePath(y),n.axisLine?n.axisLine.animate({d:h}):n.axisLine=et.path(h).attr({stroke:e.lineColor,"stroke-width":y,zIndex:7}).add(n.axisGroup),n.axisLine[rt?"show":"hide"]());l&&rt&&(l[l.isNew?"attr":"animate"](n.getTitlePosition()),l.isNew=!1);g&&g.enabled&&n.renderStackTotals();n.isDirty=!1},redraw:function(){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||st(i);for(u in r)lr(r[u]),r[u]=null;for(t([i.ticks,i.minorTicks,i.alternateBands],function(n){lr(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()}},f(ui.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){return this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){return this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(n,t){var i=new tt.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&&ii(t,t[i])})}}),ui.prototype.getTimeTicks=function(r,u,e,o){var v=[],y={},p=nt.global.useUTC,a,s=new nr(u-wr),h=r.unitRange,l=r.count;if(i(u)){h>=c.second&&(s.setMilliseconds(0),s.setSeconds(h>=c.minute?0:l*ft(s.getSeconds()/l)));h>=c.minute&&s[lf](h>=c.hour?0:l*ft(s[ku]()/l));h>=c.hour&&s[af](h>=c.day?0:l*ft(s[du]()/l));h>=c.day&&s[nf](h>=c.month?1:l*ft(s[tu]()/l));h>=c.month&&(s[vf](h>=c.year?0:l*ft(s[su]()/l)),a=s[hu]());h>=c.year&&(a-=a%l,s[yf](a));h===c.week&&s[nf](s[tu]()-s[gu]()+n(o,1));u=1;wr&&(s=new nr(s.getTime()+wr));a=s[hu]();for(var o=s.getTime(),w=s[su](),b=s[tu](),k=(c.day+(p?wr:s.getTimezoneOffset()*6e4))%c.day;o<e;)v.push(o),h===c.year?o=ou(a+u*l,0):h===c.month?o=ou(a,w+u*l):!p&&(h===c.day||h===c.week)?o=ou(a,w,b+u*l*(h===c.day?1:7)):o+=h*l,u++;v.push(o);t(tf(v,function(n){return h<=c.hour&&n%c.day===k}),function(n){y[n]="day"})}return v.info=f(r,{higherRanks:y,totalRange:h*l}),v},ui.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]],u=i[i.length-1],f=c[u[0]],o=u[1],e=0;e<i.length;e++)if(u=i[e],f=c[u[0]],o=u[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=vu(n/f,o,u[0]==="year"?r(au(n/f),1):1),{unitRange:f,count:i,unitName:u[0]}},ui.prototype.getLogTickPositions=function(t,i,r,f){var s=this.options,o=this.len,c=[],l,y,a,h,v;if(f||(this._minorAutoInterval=null),t>=.5)t=e(t),c=this.getLinearTickPositions(t,i,r);else if(t>=.08)for(o=ft(i),s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];o<r+1&&!v;o++)for(y=s.length,l=0;l<y&&!v;l++)a=wi(ti(o)*s[l]),a>i&&(!f||h<=r)&&h!==u&&c.push(h),h>r&&(v=!0),h=a;else(i=ti(i),r=ti(r),t=s[f?"minorTickInterval":"tickInterval"],t=n(t==="auto"?null:t,this._minorAutoInterval,(r-i)*(s.tickPixelInterval/(f?5:1))/((f?o/this.tickPositions.length:o)||1)),t=vu(t,null,au(t)),c=br(this.getLinearTickPositions(t,i,r),wi),f)||(this._minorAutoInterval=t/5);return f||(this.tickInterval=t),c},rf=tt.Tooltip=function(){this.init.apply(this,arguments)},rf.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});bt||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,r){var e=this,o=e.now,s=e.options.animation!==!1&&!e.isHidden&&(p(n-o.x)>1||p(t-o.y)>1),h=e.followPointer||e.len>1;f(o,{x:s?(2*o.x+n)/3:n,y:s?(o.y+t)/2:t,anchorX:h?u:s?(2*o.anchorX+i)/3:i,anchorY:h?u:s?(o.anchorY+r)/2:r});e.label.attr(o);s&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(n,t,i,r)},32))},hide:function(i){var u=this,r;clearTimeout(this.hideTimer);this.isHidden||(r=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){u.label.fadeOut();u.isHidden=!0},n(i,this.options.hideDelay,500)),r&&t(r,function(n){n.setState()}),this.chart.hoverPoints=null)},getAnchor:function(n,i){var f,r=this.chart,o=r.inverted,c=r.plotTop,s=0,h=0,l,n=si(n);return f=n[0].tooltipPos,this.followPointer&&i&&(i.chartX===u&&(i=r.pointer.normalize(i)),f=[i.chartX-r.plotLeft,i.chartY-c]),f||(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,f=[o?r.plotWidth-h:s,this.shared&&!o&&n.length>1&&i?i.chartY-c:o?r.plotHeight-s:h]),br(f,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||si(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=si(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&&(iu(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);y(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,t=f.tooltipOptions,e=t.dateTimeLabelFormats,i=t.xDateFormat,r=f.xAxis,o=r&&r.options.type==="datetime"&&ni(n.key),t=t.headerFormat,r=r&&r.closestPointRange,u;if(o&&!i){if(r){for(u in c)if(c[u]>=r||c[u]<=c.day&&n.key%c[u]>0){i=e[u];break}}else i=e.day;i=i||e.year}return o&&i&&(t=t.replace("{point.key}","{point.key:"+i+"}")),ur(t,{point:n,series:f})}},gr=s.documentElement.ontouchstart!==u,sr=tt.Pointer=function(n,t){this.init(n,t)},sr.prototype={init:function(n,t){var i=t.chart,f=i.events,r=bt?"":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={};tt.Tooltip&&t.tooltip.enabled&&(n.tooltip=new rf(n,t.tooltip),this.followTouchMove=t.tooltip.followTouchMove);this.setDOMEvents()},normalize:function(n,t){var o,i,n=n||window.event,n=ne(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=gf(this.chart.container)),i.pageX===u?(o=r(n.x,n.clientX-t.left),i=n.y):(o=i.pageX-t.left,i=i.pageY-t.top),f(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,o,v=c.chartWidth,y=this.getIndex(i);if(h&&this.options.tooltip.shared&&(!f||!f.noSharedTooltip)){for(e=[],a=r.length,o=0;o<a;o++)r[o].visible&&r[o].options.enableMouseTracking!==!1&&!r[o].noSharedTooltip&&r[o].singularTooltips!==!0&&r[o].tooltipPoints.length&&(u=r[o].tooltipPoints[y])&&u.series&&(u._dist=p(y-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[y])&&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[oi])ot[oi].pointer.onDocumentMouseMove(n)},k(s,"mousemove",this._onDocumentMouseMove));t(c.axes,function(t){t.drawCrosshair(i,n(u,w))})},reset:function(n,i){var e=this.chart,h=e.hoverSeries,r=e.hoverPoint,f=e.tooltip,o=f&&f.shared?e.hoverPoints:r;(n=n&&f&&o)&&si(o)[0].plotX===u&&(n=!1);n?(f.refresh(o),r&&r.setState(r.state,!0)):(r&&r.onMouseOut(),h&&h.onMouseOut(),f&&f.hide(i),this._onDocumentMouseMove&&(st(s,"mousemove",this._onDocumentMouseMove),this._onDocumentMouseMove=null),t(e.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,e=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,o=this.mouseDownX,s=this.mouseDownY,y=e.panKey&&n[e.panKey+"Key"];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(o-t,2)+Math.pow(s-r,2));this.hasDragged>10&&(l=i.isInsidePlot(o-u,s-f),i.hasCartesianSeries&&(this.zoomX||this.zoomY)&&l&&!y&&!this.selectionMarker&&(this.selectionMarker=i.renderer.rect(u,f,a?1:h,v?1:c,0).attr({fill:e.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add()),this.selectionMarker&&a&&(t-=o,this.selectionMarker.attr({width:p(t),x:(t>0?0:t)+o})),this.selectionMarker&&v&&(t=r-s,this.selectionMarker.attr({height:p(t),y:(t>0?0:t)+s})),l&&!this.selectionMarker&&e.panning&&i.pan(n,e.panning))},drop:function(n){var u=this.chart,e=this.hasPinched;if(this.selectionMarker){var o={xAxis:[],yAxis:[],originalEvent:n.originalEvent||n},i=this.selectionMarker,s=i.attr?i.attr("x"):i.x,h=i.attr?i.attr("y"):i.y,v=i.attr?i.attr("width"):i.width,p=i.attr?i.attr("height"):i.height,c;(this.hasDragged||e)&&(t(u.axes,function(t){if(t.zoomEnabled){var i=t.horiz,f=n.type==="touchend"?t.minPixelPadding:0,u=t.toValue((i?s:h)+f),i=t.toValue((i?s+v:h+p)-f);isNaN(u)||isNaN(i)||(o[t.coll].push({axis:t,min:l(u,i),max:r(u,i)}),c=!0)}}),c&&y(u,"selection",o,function(n){u.zoom(f(n,e?{animation:!1}:null))}));this.selectionMarker=this.selectionMarker.destroy();e&&this.scaleGroups()}u&&(a(u.container,{cursor:u._cursor}),u.cancelClick=this.hasDragged>10,u.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[oi]&&ot[oi].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[oi];n&&(n.pointer.reset(),n.pointer.chartPosition=null)},onContainerMouseMove:function(n){var t=this.chart;oi=t.index;n=this.normalize(n);n.returnValue=!1;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,r=t.plotLeft,u=t.plotTop,n=this.normalize(n);n.cancelBubble=!0;t.cancelClick||(i&&this.inClass(n.target,"highcharts-tracker")?(y(i.series,"click",f(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(f(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-r,n.chartY-u)&&y(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)};k(t,"mouseleave",n.onContainerMouseLeave);nu===1&&k(s,"mouseup",n.onDocumentMouseUp);gr&&(t.ontouchstart=function(t){n.onContainerTouchStart(t)},t.ontouchmove=function(t){n.onContainerTouchMove(t)},nu===1&&k(s,"touchend",n.onDocumentTouchEnd))},destroy:function(){var n;st(this.chart.container,"mouseleave",this.onContainerMouseLeave);nu||(st(s,"mouseup",this.onDocumentMouseUp),st(s,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(n in this)this[n]=null}},f(tt.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 a=this.chart,c=n?"x":"y",d=n?"X":"Y",v="chart"+d,rt=n?"width":"height",g=a["plot"+(n?"Left":"Top")],l,nt,s=o||1,tt=a.inverted,y=a.bounds[n?"h":"v"],w=t.length===1,b=t[0][v],h=i[0][v],ut=!w&&t[1][v],k=!w&&i[1][v],it,i=function(){!w&&p(b-ut)>20&&(s=o||p(h-k)/p(b-ut));nt=(g-h)/s+b;l=a["plot"+(n?"Width":"Height")]/s};i();t=nt;t<y.min?(t=y.min,it=!0):t+l>y.max&&(t=y.max-l,it=!0);it?(h-=.8*(h-e[c][0]),w||(k-=.8*(k-e[c][1])),i()):e[c]=[h,k];tt||(f[c]=nt-g,f[rt]=l);f=tt?1/s:s;u[rt]=l;u[c]=t;r[tt?n?"scaleY":"scaleX":"scale"+d]=s;r["translate"+d]=f*g+(h-f*b)},pinch:function(i){var u=this,o=u.chart,e=u.pinchDown,v=u.followTouchMove,s=i.touches,y=s.length,h=u.lastValidTouch,c=u.hasZoom,a=u.selectionMarker,p={},b=y===1&&(u.inClass(i.target,"highcharts-tracker")&&o.runTrackerClick||u.runChartClick),w={};(c||v)&&!b&&i.preventDefault();br(s,function(n){return u.normalize(n)});i.type==="touchstart"?(t(s,function(n,t){e[t]={chartX:n.chartX,chartY:n.chartY}}),h.x=[e[0].chartX,e[1]&&e[1].chartX],h.y=[e[0].chartY,e[1]&&e[1].chartY],t(o.axes,function(t){if(t.zoomEnabled){var u=o.bounds[t.horiz?"h":"v"],f=t.minPixelPadding,i=t.toPixels(n(t.options.min,t.dataMin)),e=t.toPixels(n(t.options.max,t.dataMax)),s=l(i,e),i=r(i,e);u.min=l(t.pos,s-f);u.max=r(t.pos+t.len,i+f)}}),u.res=!0):e.length&&(a||(u.selectionMarker=a=f({destroy:hi},o.plotBox)),u.pinchTranslate(e,s,p,a,w,h),u.hasPinched=c,u.scaleGroups(p,w),!c&&v&&y===1?this.runPointActions(u.normalize(i)):u.res&&(u.res=!1,this.reset(!1,0)))},onContainerTouchStart:function(n){var t=this.chart;oi=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[oi]&&ot[oi].pointer.drop(n)}}),d.PointerEvent||d.MSPointerEvent){var ci={},uf=!!d.PointerEvent,ue=function(){var n,t=[];t.item=function(n){return this[n]};for(n in ci)ci.hasOwnProperty(n)&&t.push({pageX:ci[n].pageX,pageY:ci[n].pageY,target:ci[n].target});return t},ff=function(n,t,i,r){n=n.originalEvent||n;(n.pointerType==="touch"||n.pointerType===n.MSPOINTER_TYPE_TOUCH)&&ot[oi]&&(r(n),r=ot[oi].pointer,r[t]({type:i,target:n.currentTarget,preventDefault:hi,touches:ue()}))};f(sr.prototype,{onContainerPointerDown:function(n){ff(n,"onContainerTouchStart","touchstart",function(n){ci[n.pointerId]={pageX:n.pageX,pageY:n.pageY,target:n.currentTarget}})},onContainerPointerMove:function(n){ff(n,"onContainerTouchMove","touchmove",function(n){ci[n.pointerId]={pageX:n.pageX,pageY:n.pageY};ci[n.pointerId].target||(ci[n.pointerId].target=n.currentTarget)})},onDocumentPointerUp:function(n){ff(n,"onContainerTouchEnd","touchend",function(n){delete ci[n.pointerId]})},batchMSEvents:function(n){n(this.chart.container,uf?"pointerdown":"MSPointerDown",this.onContainerPointerDown);n(this.chart.container,uf?"pointermove":"MSPointerMove",this.onContainerPointerMove);n(s,uf?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});hr(sr.prototype,"init",function(n,t,i){n.call(this,t,i);(this.hasZoom||this.followTouchMove)&&a(t.container,{"-ms-touch-action":ut,"touch-action":ut})});hr(sr.prototype,"setDOMEvents",function(n){n.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(k)});hr(sr.prototype,"destroy",function(n){this.batchMSEvents(st);n.call(this)})}ru=tt.Legend=function(n,t){this.init(n,t)};ru.prototype={init:function(t,i){var r=this,f=i.itemStyle,u=n(i.padding,8),e=i.itemMarginTop||0;this.options=i;i.enabled&&(r.itemStyle=f,r.itemHiddenStyle=o(f,i.itemHiddenStyle),r.itemMarginTop=e,r.padding=u,r.initialItemX=u,r.initialItemY=u-5,r.maxItemWidth=0,r.chart=t,r.itemHeight=0,r.lastLineHeight=0,r.symbolWidth=n(i.symbolWidth,16),r.pages=[],r.render(),k(r.chart,"endResize",function(){r.positionCheckboxes()}))},colorizeItem:function(n,t){var f=this.options,r=n.legendItem,c=n.legendLine,e=n.legendSymbol,i=this.itemHiddenStyle.color,f=t?f.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:f,color:f}),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!==u&&(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&&ar(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,a(f,{left:r.translateX+t.checkboxOffset+f.x-20+"px",top:e+"px",display:e>i-6&&e<i+u-6?"":ut}))}))},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 w=this.chart,s=w.renderer,i=this.options,l=i.layout==="horizontal",u=this.symbolWidth,f=i.symbolPadding,y=this.itemStyle,b=this.itemHiddenStyle,k=this.padding,d=l?n(i.itemDistance,20):0,g=!i.rtl,nt=i.width,p=i.itemMarginBottom||0,a=this.itemMarginTop,v=this.initialItemX,h=t.legendItem,tt=t.series&&t.series.drawLegendSymbol?t.series:t,c=tt.options,c=this.createCheckboxForItem&&c&&c.showCheckbox,it=i.useHTML;h||(t.legendGroup=s.g("legend-item").attr({zIndex:1}).add(this.scrollGroup),t.legendItem=h=s.text(i.labelFormat?ur(i.labelFormat,t):i.labelFormatter.call(t),g?u+f:-f,this.baseline||0,it).css(o(t.visible?y:b)).attr({align:g?"left":"right",zIndex:2}).add(t.legendGroup),this.baseline||(this.baseline=s.fontMetrics(y.fontSize,h).f+3+a,h.attr("y",this.baseline)),tt.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,h,it,y,b),this.colorizeItem(t,t.visible),c&&this.createCheckboxForItem(t));s=h.getBBox();u=t.checkboxOffset=i.itemWidth||t.legendItemWidth||u+f+s.width+d+(c?20:0);this.itemHeight=f=e(t.legendItemHeight||s.height);l&&this.itemX-v+u>(nt||w.chartWidth-2*k-v-i.x)&&(this.itemX=v,this.itemY+=a+this.lastLineHeight+p,this.lastLineHeight=0);this.maxItemWidth=r(this.maxItemWidth,u);this.lastItemY=a+this.itemY+p;this.lastLineHeight=r(f,this.lastLineHeight);t._legendItemPos=[this.itemX,this.itemY];l?this.itemX+=u:(this.itemY+=a+f+p,this.lastLineHeight=f);this.offsetWidth=nt||r((l?this.itemX-v-d:u)+k,this.offsetWidth)},getAllItems:function(){var r=[];return t(this.chart.series,function(t){var f=t.options;n(f.showInLegend,i(f.linkedTo)?!1:u,!0)&&(r=r.concat(t.legendItems||(f.legendType==="point"?t.data:t)))}),r},render:function(){var n=this,a=n.chart,h=a.renderer,s=n.group,e,c,o,i,r=n.box,u=n.options,v=n.padding,l=u.borderWidth,y=u.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();yu(e,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)});u.reversed&&e.reverse();n.allItems=e;n.display=c=!!e.length;t(e,function(t){n.renderItem(t)});o=u.width||n.offsetWidth;i=n.lastItemY+n.lastLineHeight+n.titleHeight;i=n.handleOverflow(i);(l||y)&&(o+=v,i+=v,r?o>0&&i>0&&(r[r.isNew?"attr":"animate"](r.crisp({width:o,height:i})),r.isNew=!1):(n.box=r=h.rect(0,0,o,i,u.borderRadius,l||0).attr({stroke:u.borderColor,"stroke-width":l||0,fill:y||ut}).add(s).shadow(u.shadow),r.isNew=!0),r[c?"show":"hide"]());n.legendWidth=o;n.legendHeight=i;t(e,function(t){n.positionItem(t)});c&&s.align(f({width:o,height:i},u),!0,"spacingBox");a.isResizing||this.positionCheckboxes()},handleOverflow:function(i){var h=this,w=this.chart,c=w.renderer,s=this.options,u=s.y,u=w.spacingBox.height+(s.verticalAlign==="top"?-u:u)-this.padding,k=s.maxHeight,v,a=this.clipRect,b=s.navigation,d=n(b.animation,!0),y=b.arrowSize||12,f=this.nav,o=this.pages,p,g=this.allItems;return s.layout==="horizontal"&&(u/=2),k&&(u=l(u,k)),o.length=0,i>u&&!s.useHTML?(this.clipHeight=v=r(u-20-this.titleHeight-this.padding,0),this.currentPage=n(this.currentPage,1),this.fullHeight=i,t(g,function(n,t){var i=n._legendItemPos[1],u=e(n.legendItem.getBBox().height),r=o.length;(!r||i-o[r-1]>v&&(p||i)!==o[r-1])&&(o.push(p||i),r++);t===g.length-1&&i+u-o[r-1]>v&&o.push(i);i!==p&&(p=i)}),a||(a=h.clipRect=c.clipRect(0,this.padding,9999,0),h.contentGroup.clip(a)),a.attr({height:v}),f||(this.nav=f=c.g().attr({zIndex:1}).add(this.group),this.up=c.symbol("triangle",0,0,y,y).on("click",function(){h.scroll(-1,d)}).add(f),this.pager=c.text("",15,10).css(b.style).add(f),this.down=c.symbol("triangle-down",0,0,y,y).on("click",function(){h.scroll(1,d)}).add(f)),h.scroll(0),i=u):f&&(a.attr({height:w.chartHeight}),f.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),i},scroll:function(n,t){var r=this.pages,f=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>f&&(i=f);i>0&&(t!==u&&vr(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+"/"+f}),this.down.attr({x:18+this.pager.getBBox().width,fill:i===f?e:o}).css({cursor:i===f?"default":"pointer"}),r=-r[i-1]+this.initialItemY,this.scrollGroup.animate({translateY:r}),this.currentPage=i,this.positionCheckboxes(r))}};b=tt.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=n.symbolWidth;var u=this.chart.renderer,o=this.legendGroup,n=n.baseline-e(u.fontMetrics(n.options.itemStyle.fontSize,this.legendItem).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(li)||pr)&&hr(ru.prototype,"positionItem",function(n,t){var r=this,i=function(){t._legendItemPos&&n.call(r,t)};i();setTimeout(i)});kr.prototype={init:function(t,i){var f,u=t.series,e,r,s;if(t.series=null,f=o(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),nu++,u.reflow!==!1&&k(r,"load",function(){r.initReflow()}),e)for(s in e)k(r,s,e[s]);r.xAxis=[];r.yAxis=[];r.animation=bt?!1:n(u.animation,!0);r.pointCount=r.colorCounter=r.symbolCounter=0;r.firstRender()},initSeries:function(n){var t=this.options.chart;return(t=w[n.type||t.type||t.defaultSeriesType])||dt(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 u=this.axes,i=this.series,s=this.pointer,h=this.legend,c=this.isDirtyLegend,e,l,a=this.hasCartesianSeries,o=this.isDirtyBox,v=i.length,r=v,p=this.renderer,w=p.isHidden(),b=[];for(vr(n,this),w&&this.cloneRenderTo(),this.layOutTitles();r--;)if(n=i[r],n.options.stacking&&(e=!0,n.isDirty)){l=!0;break}if(l)for(r=v;r--;)(n=i[r],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();a&&(this.isResizing||(this.maxTicks=null,t(u,function(n){n.setScale()})),this.adjustTickAmounts());this.getMargins();a&&(t(u,function(n){n.isDirty&&(o=!0)}),t(u,function(n){n.isDirtyExtremes&&(n.isDirtyExtremes=!1,b.push(function(){y(n,"afterSetExtremes",f(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);p.draw();y(this,"redraw");w&&this.cloneRenderTo(!0);t(b,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=si(n.xAxis||{}),n=n.yAxis=si(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 ui(r,n)});r.adjustTickAmounts()},getSelectedPoints:function(){var n=[];return t(this.series,function(t){n=n.concat(tf(t.points||[],function(n){return n.selected}))}),n},getSelectedSeries:function(){return tf(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,s;s=f.title=o(f.title,n);e=f.subtitle=o(f.subtitle,i);f=e;t([["title",n,s],["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 e=0,i=this.title,o=this.subtitle,r=this.options,u=r.title,r=r.subtitle,s=this.renderer,h=this.spacingBox.width-44;!i||(i.css({width:(u.width||h)+"px"}).align(f({y:s.fontMetrics(u.style.fontSize,i).b-3},u),!1,"spacingBox"),u.floating||u.verticalAlign)||(e=i.getBBox().height);o&&(o.css({width:(r.width||h)+"px"}).align(f({y:e+(u.margin-13)+s.fontMetrics(u.style.fontSize,o).b},r),!1,"spacingBox"),!r.floating&&!r.verticalAlign&&(e=fr(e+o.getBBox().height)));i=this.titleOffset!==e;this.titleOffset=e;!this.isDirtyBox&&i&&(this.isDirtyBox=i,this.hasRendered&&n(t,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var t=this.options.chart,u=t.width,t=t.height,f=this.renderToClone||this.renderTo;i(u)||(this.containerWidth=cu(f,"width"));i(t)||(this.containerHeight=cu(f,"height"));this.chartWidth=r(0,u||this.containerWidth||600);this.chartHeight=r(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),ar(t),delete this.renderToClone):(i&&i.parentNode===this.renderTo&&this.renderTo.removeChild(i),this.renderToClone=t=this.renderTo.cloneNode(0),a(t,{position:"absolute",top:"-9999px",display:"block"}),t.style.setProperty&&t.style.setProperty("display","block","important"),s.body.appendChild(t),i&&t.appendChild(i))},getContainer:function(){var n,i=this.options.chart,t,r,u;this.renderTo=n=i.renderTo;u="highcharts-"+wu++;tr(n)&&(this.renderTo=n=s.getElementById(n));n||dt(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;r=this.chartHeight;this.container=n=ct(er,{className:"highcharts-container"+(i.className?" "+i.className:""),id:u},f({position:"relative",overflow:"hidden",width:t+"px",height:r+"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 ei(n,t,r,i.style,!0):new dr(n,t,r,i.style);bt&&this.renderer.create(this,n,t,r)},getMargins:function(){var e=this.spacing,o,s=this.legend,u=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(u[0])&&(this.plotTop=r(this.plotTop,y+this.options.title.margin+e[0]));s.display&&!f.floating&&(a==="right"?i(u[1])||(this.marginRight=r(this.marginRight,s.legendWidth-c+h+e[1])):a==="left"?i(u[3])||(this.plotLeft=r(this.plotLeft,s.legendWidth+c+h+e[3])):v==="top"?i(u[0])||(this.plotTop=r(this.plotTop,s.legendHeight+l+h+e[0])):v!=="bottom"||i(u[2])||(this.marginBottom=r(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(u[3])||(this.plotLeft+=o[3]);i(u[0])||(this.plotTop+=o[0]);i(u[2])||(this.marginBottom+=o[2]);i(u[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===s)&&((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)};k(d,"resize",t);k(n,"destroy",function(){st(d,"resize",t)})},setSize:function(n,u,f){var o=this,s,h,c;o.isResizing+=1;c=function(){o&&y(o,"endResize",null,function(){o.isResizing-=1})};vr(f,o);o.oldChartHeight=o.chartHeight;o.oldChartWidth=o.chartWidth;i(n)&&(o.chartWidth=s=r(0,e(n)),o.hasUserSize=!!s);i(u)&&(o.chartHeight=h=r(0,e(u)));(vi?lu:a)(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;y(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,u=this.spacing,s=this.clipOffset,l,a,h,c;this.plotLeft=l=e(this.plotLeft);this.plotTop=a=e(this.plotTop);this.plotWidth=h=r(0,e(i-l-this.marginRight));this.plotHeight=c=r(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:u[3],y:u[0],width:i-u[3]-u[1],height:v-u[0]-u[2]};this.plotBox=o.plotBox={x:l,y:a,width:h,height:c};i=2*ft(this.plotBorderWidth/2);f=fr(r(i,s[3])/2);o=fr(r(i,s[0])/2);this.clipBox={x:f,y:o,width:ft(this.plotSizeX-r(i,s[1])/2-f),height:r(0,ft(this.plotSizeY-r(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,a=this.chartWidth,v=this.chartHeight,t=this.chartBackground,y=this.plotBackground,c=this.plotBorder,p=this.plotBGImage,u=n.borderWidth||0,w=n.backgroundColor,b=n.plotBackgroundColor,k=n.plotBackgroundImage,f=n.plotBorderWidth||0,i,e=this.plotLeft,o=this.plotTop,s=this.plotWidth,h=this.plotHeight,d=this.plotBox,g=this.clipRect,l=this.clipBox;i=u+(n.shadow?8:0);(u||w)&&(t?t.animate(t.crisp({width:a-i,height:v-i})):(t={fill:w||ut},u&&(t.stroke=n.borderColor,t["stroke-width"]=u),this.chartBackground=r.rect(i/2,i/2,a-i,v-i,n.borderRadius,u).attr(t).addClass("highcharts-background").add().shadow(n.shadow)));b&&(y?y.animate(d):this.plotBackground=r.rect(e,o,s,h,0).attr({fill:b}).add().shadow(n.plotShadow));k&&(p?p.animate(d):this.plotBGImage=r.image(k,e,o,s,h).add());g?g.animate({width:l.width,height:l.height}):this.clipRect=r.clipRect(l);f&&(c?c.animate(c.crisp({x:e,y:o,width:s,height:h,strokeWidth:-f})):this.plotBorder=r.rect(e,o,s,h,0,-f).attr({stroke:n.plotBorderColor,"stroke-width":f,fill:ut,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;tr(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()})},renderLabels:function(){var n=this,i=n.options.labels;i.items&&t(i.items,function(t){var r=f(i.style,t.style),u=h(r.left)+n.plotLeft,e=h(r.top)+n.plotTop+12;delete r.left;delete r.top;n.renderer.text(t.html,u,e).attr({zIndex:2}).css(r).add()})},render:function(){var n=this.axes,r=this.renderer,i=this.options;this.setTitle();this.legend=new ru(this,i.legend);this.getStacks();t(n,function(n){n.setScale()});this.getMargins();this.maxTicks=null;t(n,function(n){n.setTickPositions(!0);n.setMaxTicks()});this.adjustTickAmounts();this.getMargins();this.drawChartBox();this.hasCartesianSeries&&t(n,function(n){n.render()});this.seriesGroup||(this.seriesGroup=r.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.showCredits(i.credits);this.hasRendered=!0},showCredits:function(n){n.enabled&&!this.credits&&(this.credits=this.renderer.text(n.text,0,0).on("click",function(){n.href&&(location.href=n.href)}).attr({align:n.position.align,zIndex:8}).css(n.style).add().align(n.position))},destroy:function(){var n=this,f=n.axes,e=n.series,r=n.container,i,o=r&&r.parentNode;for(y(n,"destroy"),ot[n.index]=u,nu--,n.renderTo.removeAttribute("data-highcharts-chart"),st(n),i=f.length;i--;)f[i]=f[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="",st(r),o&&ar(r));for(i in n)delete n[i]},isReadyToRender:function(){var n=this;return!vt&&d==d.top&&s.readyState!=="complete"||bt&&!d.canvg?(bt?pf.push(function(){n.firstRender()},n.options.global.canvasToolsURL):s.attachEvent("onreadystatechange",function(){s.detachEvent("onreadystatechange",n.firstRender);s.readyState==="complete"&&n.firstRender()}),!1):!0},firstRender:function(){var n=this,i=n.options,r=n.callback;n.isReadyToRender()&&(n.getContainer(),y(n,"init"),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),t(i.series||[],function(t){n.initSeries(t)}),n.linkSeries(),y(n,"beforeRender"),tt.Pointer&&(n.pointer=new sr(n,i)),n.render(),n.renderer.draw(),r&&r.apply(n,[n]),t(n.callbacks,function(t){t.apply(n,[n])}),n.cloneRenderTo(!0),y(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])]}};kr.prototype.callbacks=[];ht=tt.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 br(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,r=i.options.pointValKey||i.pointValKey,n=pi.prototype.optionsToObject.call(this,n);return f(this,n),this.options=this.options?f(this.options,n):n,r&&(this.y=this[r]),this.x===u&&i&&(this.x=t===u?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(ir(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(),ii(t,this),!t.length)&&(n.hoverPoints=null);this===n.hoverPoint&&this.onMouseOut();(this.graphic||this.dataLabel)&&(st(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}")}),ur(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)});y(this,n,t,i)}};v=function(){};v.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,r){var u=this,s,e,o=i.series,h=function(t,i){return n(t.options.index,t._i)-n(i.options.index,i._i)};u.chart=i;u.options=r=u.setOptions(r);u.linkedSeries=[];u.bindAxes();f(u,{name:r.name,state:"",pointAttr:{},visible:r.visible!==!1,selected:r.selected===!0});bt&&(r.animation=!1);e=r.events;for(s in e)k(u,s,e[s]);(e&&e.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(i.runTrackerClick=!0);u.getColor();u.getSymbol();t(u.parallelArrays,function(n){u[n+"Data"]=[]});u.setData(r.data,!1);u.isCartesian&&(i.hasCartesianSeries=!0);o.push(u);u._i=o.length-1;yu(o,h);this.yAxis&&yu(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,f=n.chart,r;t(n.axisTypes||[],function(e){t(f[e],function(t){r=t.options;(i[e]===r.index||i[e]!==u&&i[e]===r.id||i[e]===u&&r.index===0)&&(t.series.push(n),n[e]=t,t.isDirty=!0)});n[e]||n.optionalAxis===e||dt(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 t=this.chart,i=t.options.plotOptions,t=t.userOptions||{},r=t.plotOptions||{},u=i[this.type];return this.userOptions=n,i=o(u,i.series,n),this.tooltipOptions=o(nt.tooltip,nt.plotOptions[this.type].tooltip,t.tooltip,r.series&&r.series.tooltip,r[this.type]&&r[this.type].tooltip,n.tooltip),u.marker===null&&delete i.marker,i},getCyclic:function(n,t,r){var u=this.userOptions,f="_"+n+"Index",e=n+"Counter";t||(i(u[f])?t=u[f]:(u[f]=t=this.chart[e]%r.length,this.chart[e]+=1),t=r[t]);this[n]=t},getColor:function(){this.options.colorByPoint||this.getCyclic("color",this.options.color||at[this.type].color,this.chart.options.colors)},getSymbol:function(){var n=this.options.marker;this.getCyclic("symbol",n.symbol,this.chart.options.symbols);/^url/.test(this.symbol)&&(n.radius=0)},drawLegendSymbol:b.drawLineMarker,setData:function(i,r,f,e){var o=this,c=o.points,w=c&&c.length||0,h,s=o.options,b=o.chart,v=null,l=o.xAxis,a=l&&!!l.categories,k=o.tooltipPoints,d=s.turboThreshold,p=this.xData,y=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=a?1:s.pointRange,o.colorCounter=0,t(this.parallelArrays,function(n){o[n+"Data"].length=0}),d&&h>d){for(f=0;v===null&&f<h;)v=i[f],f++;if(ni(v)){for(a=n(s.pointStart,0),s=n(s.pointInterval,1),f=0;f<h;f++)p[f]=a,y[f]=i[f],a+=s;o.xIncrement=a}else if(ir(v))if(g)for(f=0;f<h;f++)s=i[f],p[f]=s[0],y[f]=s.slice(1,g+1);else for(f=0;f<h;f++)s=i[f],p[f]=s[0],y[f]=s[1];else dt(12)}else for(f=0;f<h;f++)i[f]!==u&&(s={series:o},o.pointClass.prototype.applyOptions.apply(s,[i[f]]),o.updateParallelArrays(s,f),a&&s.name)&&(l.names[s.x]=s.name);for(tr(y[0])&&dt(14,!0),o.data=[],o.options.data=i,f=w;f--;)c[f]&&c[f].destroy&&c[f].destroy();k&&(k.length=0);l&&(l.minRange=l.userMinRange);o.isDirty=o.isDirtyData=b.isDirtyBox=!0;f=!1}else t(i,function(n,t){c[t].update(n,!1,null,!1)});r&&b.redraw(f)},processData:function(n){var t=this.xData,l=this.yData,r=t.length,e,a,o,h,i,v,c,y,f,s;if(e=0,h=this.xAxis,v=this.options,i=v.cropThreshold,c=0,y=this.isCartesian,y&&!this.isDirty&&!h.isDirty&&!this.yAxis.isDirty&&!n)return!1;for(h&&(f=h.getExtremes(),s=f.min,f=f.max),y&&this.sorted&&(!i||r>i||this.forceCrop)&&(t[r-1]<s||t[0]>f?(t=[],l=[]):(t[0]<s||t[r-1]>f)&&(e=this.cropData(this.xData,this.yData,s,f),t=e.xData,l=e.yData,e=e.start,a=!0,c=t.length)),i=t.length-1;i>=0;i--)r=t[i]-t[i-1],!a&&t[i]>s&&t[i]<f&&c++,r>0&&(o===u||r<o)?o=r:r<0&&this.requireSorting&&dt(15);this.cropped=a;this.cropStart=e;this.processedXData=t;this.processedYData=l;this.activePointCount=c;v.pointRange===null&&(this.pointRange=o||1);this.closestPointRange=o},cropData:function(t,i,u,f){for(var h=t.length,o=0,s=h,c=n(this.cropShoulder,1),e=0;e<h;e++)if(t[e]>=u){o=r(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 e=this.options.data,t=this.data,c,o=this.processedXData,v=this.processedYData,l=this.pointClass,s=o.length,a=this.cropStart||0,i,r=this.hasGroupedData,h,f=[],n;for(t||r||(t=[],t.length=e.length,t=this.data=t),n=0;n<s;n++)i=a+n,r?f[n]=(new l).init(this,[o[n]].concat(si(v[n]))):(t[i]?h=t[i]:e[i]!==u&&(t[i]=h=(new l).init(this,e[i],o[n])),f[n]=h),f[n].index=i;if(t&&(s!==(c=t.length)||r))for(n=0;n<c;n++)(n===a&&!r&&(n+=s),t[n])&&(t[n].destroyElements(),t[n].plotX=u);this.data=t;this.points=f},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,f,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],f=i!==null&&i!==u&&(!l.isLog||i.length||i>0),o=this.getExtremesFromAll||this.cropped||(h[r+1]||o)>=a&&(h[r-1]||o)<=v,f&&o)if(f=i.length)for(;f--;)i[f]!==null&&(s[c++]=i[f]);else s[c++]=i;this.dataMin=n(void 0,cr(s));this.dataMax=n(void 0,ki(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"||ni(a),v=e.threshold,e=0;e<w;e++){var t=p[e],h=t.x,r=t.y,o=t.low,f=y&&s.stacks[(this.negStacks&&r<v?"-":"")+this.stackKey];s.isLog&&r<=0&&(t.y=r=null,dt(10));t.plotX=c.translate(h,0,0,0,1,a,this.type==="flags");y&&this.visible&&f&&f[h]&&(f=f[h],r=f.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=f.total,t.percentage=f.total&&t.y/f.total*100,t.stackY=r,f.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):u;t.clientX=k?c.translate(h,0,0,0,1):t.plotX;t.negative=t.y<(v||0);t.category=l&&l[t.x]!==u?l[t.x]:t.x}this.getSegments()},animate:function(n){var t=this.chart,o=t.renderer,i,u,e,r;i=this.options.animation;u=this.clipBox||t.clipBox;e=t.inverted;i&&!yt(i)&&(i=at[this.type].animation);r=["_sharedClip",i.duration,i.easing,u.height].join(",");n?(n=t[r],i=t[r+"m"],n||(t[r]=n=o.clipRect(f(u,{width:0})),t[r+"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=r):((n=t[r])&&n.animate({width:t.plotSizeX},i),t[r+"m"]&&t[r+"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());y(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 s,w=this.points,a=this.chart,c,r,v,t,i,y,b,o,l=this.options.marker,d=this.pointAttr[""],h,k,p,g=this.markerGroup,nt=n(l.enabled,!this.requireSorting||this.activePointCount<.5*this.xAxis.len/l.radius);if(l.enabled!==!1||this._hasPointMarkers)for(v=w.length;v--;)(t=w[v],c=ft(t.plotX),r=t.plotY,o=t.graphic,h=t.marker||{},k=!!t.marker,s=nt&&h.enabled===u||h.enabled,p=a.isInsidePlot(e(c),r,a.inverted),s&&r!==u&&!isNaN(r)&&t.y!==null)?(s=t.pointAttr[t.selected?"select":""]||d,i=s.r,y=n(h.symbol,this.symbol),b=y.indexOf("url")===0,o)?o[p?"show":"hide"](!0).animate(f({x:c-i,y:r-i},o.symbolName?{width:2*i,height:2*i}:{})):p&&(i>0||b)&&(t.graphic=a.renderer.symbol(y,c-i,r-i,2*i,2*i,k?h:l).attr(s).add(g)):o&&(t.graphic=o.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,r=at[e.type].marker?c.marker:c,l=r.states,o=l.hover,s,a=e.color,w;s={stroke:a,fill:a};var v=e.points||[],n,h=[],u,y=e.pointAttrToOptions;u=e.hasPointSpecificOptions;var p=c.negativeColor,b=r.lineColor,k=r.fillColor;if(n=c.turboThreshold,c.marker?(o.radius=o.radius||r.radius+o.radiusPlus,o.lineWidth=o.lineWidth||r.lineWidth+o.lineWidthPlus):o.color=o.color||yi(o.color||a).brighten(o.brightness).get(),h[""]=e.convertAttribs(r,s),t(["hover","select"],function(n){h[n]=e.convertAttribs(l[n],h[""])}),e.pointAttr=h,a=v.length,!n||a<n||u)for(;a--;){if(n=v[a],(r=n.options&&n.options.marker||n.options)&&r.enabled===!1&&(r.radius=0),n.negative&&p&&(n.color=n.fillColor=p),u=c.colorByPoint||n.color,n.options)for(w in y)i(r[y[w]])&&(u=!0);u?(r=r||{},u=[],l=r.states||{},s=l.hover=l.hover||{},c.marker||(s.color=s.color||!n.options.color&&o.color||yi(n.color).brighten(s.brightness||o.brightness).get()),s={color:n.color},k||(s.fillColor=n.color),b||(s.lineColor=n.color),u[""]=e.convertAttribs(f(s,r),h[""]),u.hover=e.convertAttribs(l.hover,h.hover,u[""]),u.select=e.convertAttribs(l.select,h.select,u[""])):u=h;n.pointAttr=u}},destroy:function(){var n=this,r=n.chart,h=/AppleWebKit\/533/.test(li),e,u,o=n.data||[],f,s,i;for(y(n,"destroy"),st(n),t(n.axisTypes||[],function(t){(i=n[t])&&(ii(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);ii(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?(iu(o),o.animate({d:r})):f&&r.length&&(o={stroke:t[1],"stroke-width":f,fill:ut,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,u=r(i,a),v=this.yAxis;t&&(c||l)&&(t=e(v.toPixels(f.threshold||0,!0)),t<0&&(u-=t),f={x:0,y:0,width:u,height:t},u={x:0,y:t,width:u,height:u},n.inverted&&(f.height=u.y=n.plotWidth-t,h.isVML&&(f={x:n.plotWidth-t-n.plotLeft,y:0,width:i,height:a},u={x:t+n.plotLeft-i,y:0,width:n.plotLeft+t,height:i})),v.reversed?(n=u,i=f):(n=f,i=u),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&&(k(r,"resize",i),k(n,"destroy",function(){st(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 t=this.chart,i=this.xAxis,n=this.yAxis;return t.inverted&&(i=n,n=this.xAxis),{translateX:i?i.left:t.plotLeft,translateY:n?n.top:t.plotTop,scaleX:1,scaleY:1}},render:function(){var i=this,r=i.chart,u,e=i.options,f=(u=e.animation)&&!!i.animate&&r.renderer.isSVG&&n(u.duration,500)||0,o=i.visible?"visible":"hidden",s=e.zIndex,h=i.hasRendered,c=r.seriesGroup;u=i.plotGroup("group","series",o,s,c);i.markerGroup=i.plotGroup("markerGroup","markers",o,s,c);f&&i.animate(!0);i.getAttribs();u.inverted=i.isCartesian?r.inverted:!1;i.drawGraph&&(i.drawGraph(),i.clipNeg());t(i.points,function(n){n.redraw&&n.redraw()});i.drawDataLabels&&i.drawDataLabels();i.visible&&i.drawPoints();i.drawTracker&&i.options.enableMouseTracking!==!1&&i.drawTracker();r.inverted&&i.invertGroups();e.clip===!1||i.sharedClipKey||h||u.clip(r.clipRect);f&&i.animate();h||(f?i.animationTimeout=setTimeout(function(){i.afterAnimate()},f):i.afterAnimate());i.isDirty=i.isDirtyData=!1;i.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&&y(this,"updatedData")}};of.prototype={destroy:function(){lr(this,this.axis)},render:function(n){var t=this.options,i=t.format,i=i?ur(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=p(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))}};ui.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()}};ui.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)};v.prototype.setStackedPoints=function(){if(this.options.stacking&&!(this.visible!==!0&&this.chart.options.chart.ignoreHiddenSeries!==!1)){for(var b=this.processedXData,a=this.processedYData,v=[],k=a.length,e=this.options,d=e.threshold,g=e.stack,e=e.stacking,h=this.stackKey,y="-"+h,w=this.negStacks,o=this.yAxis,i=o.stacks,c=o.oldStacks,u,n,l,t,s,f=0;f<k;f++)t=b[f],s=a[f],l=this.index+","+f,n=(u=w&&s<d)?y:h,i[n]||(i[n]={}),i[n][t]||(c[n]&&c[n][t]?(i[n][t]=c[n][t],i[n][t].total=null):i[n][t]=new of(o,o.options.stackLabels,u,t,g)),n=i[n][t],n.points[l]=[n.cum||0],e==="percent"?(u=u?h:y,w&&i[u]&&i[u][t]?(u=i[u][t],n.total=u.total=r(u.total,n.total)+p(s)||0):n.total=pt(n.total+(p(s)||0))):n.total=pt(n.total+(s||0)),n.cum=(n.cum||0)+(s||0),n.points[l].push(n.cum),v[f]=n.cum;e==="percent"&&(o.usePercentage=!0);this.stackedYData=v;o.oldStacks={}}};v.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]=pt(i[0]*f),i[1]=pt(i[1]*f),n.stackedYData[e]=i[1])})};f(kr.prototype,{addSeries:function(t,i,r){var f,u=this;return t&&(i=n(i,!0),y(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 ui(this,o(t,{index:this[f].length,isX:i}));e[f]=si(e[f]||{});e[f].push(t);n(r,!0)&&this.redraw(u)},showLoading:function(n){var t=this,u=t.options,i=t.loadingDiv,r=u.loading,e=function(){i&&a(i,{left:t.plotLeft+"px",top:t.plotTop+"px",width:t.plotWidth+"px",height:t.plotHeight+"px"})};i||(t.loadingDiv=i=ct(er,{className:"highcharts-loading"},f(r.style,{zIndex:10,display:ut}),t.container),t.loadingSpan=ct("span",null,r.labelStyle,i),k(t,"redraw",e));t.loadingSpan.innerHTML=n||u.lang.loading;t.loadingShown||(a(i,{opacity:0,display:""}),lu(i,{opacity:r.style.opacity},{duration:r.showDuration||0}),t.loadingShown=!0);e()},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&lu(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){a(n,{display:ut})}});this.loadingShown=!1}});f(pi.prototype,{update:function(t,i,r,u){function c(){f.applyOptions(t);yt(t)&&!ir(t)&&(f.redraw=function(){o&&(t&&t.marker&&t.marker.symbol?f.graphic=o.destroy():o.attr(f.pointAttr[f.state||""]));t&&t.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy());f.redraw=null});s=f.index;e.updateParallelArrays(f,s);l.data[s]=f.options;e.isDirty=e.isDirtyData=!0;!e.fixedBox&&e.hasCartesianSeries&&(h.isDirtyBox=!0);l.legendType==="point"&&h.legend.destroyItem(f);i&&h.redraw(r)}var f=this,e=f.series,o=f.graphic,s,h=e.chart,l=e.options,i=n(i,!0);u===!1?c():f.firePointEvent("update",{options:t},c)},remove:function(t,i){var u=this,r=u.series,o=r.points,s=r.chart,f,e=r.data;vr(i,s);t=n(t,!0);u.firePointEvent("remove",null,function(){f=or(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()})}});f(v.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(vr(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&&f.name&&(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,y(r,"remove",null,function(){r.destroy();u.isDirtyLegend=u.isDirtyBox=!0;u.linkSeries();t&&u.redraw(i)}));r.isRemoving=!1},update:function(i,r){var s=this,h=this.chart,v=this.userOptions,l=this.type,a=w[l].prototype,e=["group","markerGroup","dataLabelsGroup"],c;t(e,function(n){e[n]=s[n];delete s[n]});i=o(v,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},i);this.remove(!1);for(c in a)a.hasOwnProperty(c)&&(this[c]=u);f(this,w[i.type||l].prototype);t(e,function(n){s[n]=e[n]});this.init(h,i);h.linkSeries();n(r,!0)&&h.redraw(!1)}});f(ui.prototype,{update:function(t,i){var r=this.chart,t=r.options[this.coll][this.options.index]=o(this.userOptions,t);this.destroy(!0);this._addedPlotLB=u;this.init(r,f(t,{events:u}));r.isDirtyBox=!0;n(i,!0)&&r.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);ii(r.axes,this);ii(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)}});kt=ri(v);w.line=kt;at.area=o(it,{threshold:0});gt=ri(v,{type:"area",getSegments:function(){var a=this,u=[],r=[],f=[],y=this.xAxis,e=this.yAxis,o=e.stacks[this.stackKey],i={},s,h,c=this.points,p=this.options.connectNulls,n,l;if(this.options.stacking&&!this.cropped){for(n=0;n<c.length;n++)i[c[n].x]=c[n];for(l in o)o[l].total!==null&&f.push(+l);f.sort(function(n,t){return n-t});t(f,function(t){var u=0,f;if(!p||i[t]&&i[t].y!==null)if(i[t])r.push(i[t]);else{for(n=a.index;n<=e.series.length;n++)if(f=o[t].points[n+","+t]){u=f[1];break}s=y.translate(t);h=e.toPixels(u,!0);r.push({y:null,plotX:s,clientX:s,plotY:h,yBottom:h,onMouseOver:hi})}});r.length&&u.push(r)}else v.prototype.getSegments.call(this),u=this.segments;this.segments=u},getSegmentPath:function(t){var r=v.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=[];v.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],yi(t[1]).setOpacity(n(r.fillOpacity,.75)).get()),zIndex:0}).add(i.group)})},drawLegendSymbol:b.drawRectangle});w.area=gt;at.spline=o(it);kt=ri(v,{type:"spline",getPointSpline:function(n,t,i){var h=t.plotX,u=t.plotY,s=n[i-1],o=n[i+1],a,e,c,f,v;return s&&o&&(n=s.plotY,c=o.plotX,o=o.plotY,a=(1.5*h+s.plotX)/2.5,e=(1.5*u+n)/2.5,c=(1.5*h+c)/2.5,f=(1.5*u+o)/2.5,v=(f-e)*(c-h)/(c-a)+u-f,e+=v,f+=v,e>n&&e>u?(e=r(n,u),f=2*u-e):e<n&&e<u&&(e=l(n,u),f=2*u-e),f>o&&f>u?(f=r(o,u),e=2*u-f):f<o&&f<u&&(f=l(o,u),e=2*u-f),t.rightContX=c,t.rightContY=f),i?(t=["C",s.rightContX||s.plotX,s.rightContY||s.plotY,a||h,e||u,h,u],s.rightContX=s.rightContY=null):t=["M",h,u],t}});w.spline=kt;at.areaspline=o(at.area);gt=gt.prototype;kt=ri(kt,{type:"areaspline",closedStacks:!0,getSegmentPath:gt.getSegmentPath,closeSegment:gt.closeSegment,drawGraph:gt.drawGraph,drawLegendSymbol:b.drawRectangle});w.areaspline=kt;at.column=o(it,{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});kt=ri(v,{type:"column",pointAttrToOptions:{stroke:"borderColor",fill:"color",r:"borderRadius"},cropShoulder:0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){v.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 f=this,e=f.options,r=f.xAxis,y=f.yAxis,w=r.reversed,h,a={},v,o=0;e.grouping===!1?o=1:t(f.chart.series,function(n){var t=n.options,i=n.yAxis;n.type===f.type&&n.visible&&y.len===i.len&&y.pos===i.pos&&(t.stacking?(h=n.stackKey,a[h]===u&&(a[h]=o++),v=a[h]):t.grouping!==!1&&(v=o++),n.columnIndex=v)});var r=l(p(r.transA)*(r.ordinalSlope||e.pointRange||r.closestPointRange||r.tickInterval||1),r.len),b=r*e.groupPadding,c=(r-2*b)/o,s=e.pointWidth,e=i(s)?(c-s)/2:c*e.pointPadding,s=n(s,c-2*e);return f.columnMetrics={width:s,offset:e+(b+((w?o-(f.columnIndex||0):f.columnIndex)||0)*c-r/2)*(w?-1:1)}},translate:function(){var i=this,o=i.chart,s=i.options,c=i.borderWidth=n(s.borderWidth,i.activePointCount>.5*i.xAxis.len?0:1),f=i.yAxis,h=i.translatedThreshold=f.getThreshold(s.threshold),u=n(s.minPointLength,5),w=i.getColumnMetrics(),b=w.width,a=i.barW=r(b,1+2*c),d=i.pointXOffset=w.offset,k=-(c%2?.5:0),y=c%2?.5:1;o.renderer.isVML&&o.inverted&&(y+=1);s.pointPadding&&(a=fr(a));v.prototype.translate.apply(i);t(i.points,function(t){var w=n(t.yBottom,h),nt=l(r(-999-w,t.plotY),f.len+999+w),c=t.plotX+d,g=a,s=l(nt,w),v;v=r(nt,w)-s;p(v)<u&&u&&(v=u,s=e(p(s-h)>u?w-u:h-(f.translate(t.y,0,1,0,1)<=h?u:0)));t.barX=c;t.pointWidth=b;t.tooltipPos=o.inverted?[f.len-nt,i.xAxis.len-c-g/2]:[c+g/2,nt+f.pos-o.plotTop];g=e(c+g)+k;c=e(c)+k;g-=c;w=p(s)<.5;v=e(s+v)+y;s=e(s)+y;v-=s;w&&(s-=1,v+=1);t.shapeType="rect";t.shapeArgs={x:c,y:s,width:g,height:v}})},getSymbol:hi,drawLegendSymbol:b.drawRectangle,drawGraph:hi,drawPoints:function(){var n=this,e=this.chart,r=n.options,h=e.renderer,c=r.animationLimit||250,f,s;t(n.points,function(t){var l=t.plotY,a=t.graphic;l===u||isNaN(l)||t.y===null?a&&(t.graphic=a.destroy()):(f=t.shapeArgs,l=i(n.borderWidth)?{"stroke-width":n.borderWidth}:{},s=t.pointAttr[t.selected?"select":""]||n.pointAttr[""],a?(iu(a),a.attr(l)[e.pointCount<c?"animate":"attr"](o(f))):t.graphic=h[t.shapeType](f).attr(s).attr(l).add(n.group).shadow(r.shadow,null,r.stacking&&!r.borderRadius))})},animate:function(n){var i=this.yAxis,f=this.options,u=this.chart.inverted,t={};vt&&(n?(t.scaleY=.001,n=l(i.pos+i.len,r(i.pos,i.toPixels(f.threshold))),u?t.translateX=n-i.len:t.translateY=n,this.group.attr(t)):(t.scaleY=1,t[u?"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)});v.prototype.remove.apply(n,arguments)}});w.column=kt;at.bar=o(at.column);gt=ri(kt,{type:"bar",inverted:!0});w.bar=gt;at.scatter=o(it,{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});gt=ri(v,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,singularTooltips:!0,drawGraph:function(){this.options.lineWidth&&v.prototype.drawGraph.call(this)}});w.scatter=gt;at.pie=o(it,{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}});it={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),f(t,{visible:t.visible!==!1,name:n(t.name,"Slice")}),i=function(n){t.slice(n.type==="select")},k(t,"select",i),k(t,"unselect",i),t},setVisible:function(n){var i=this,r=i.series,f=r.chart;i.visible=i.options.visible=n=n===u?!i.visible:n;r.options.data[or(i,r.data)]=i.options;t(["graphic","dataLabel","connector","shadowGroup"],function(t){i[t]&&i[t][n?"show":"hide"](!0)});i.legendItem&&f.legend.colorizeItem(i,n);!r.isDirty&&r.options.ignoreHiddenPoint&&(r.isDirty=!0,f.redraw())},slice:function(t,r,u){var f=this.series;vr(u,f.chart);n(r,!0);this.sliced=this.options.sliced=t=i(t)?t:!this.sliced;f.options.data[or(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.sliced||!this.visible?[]: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){v.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(v.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,u=this.options,y=u.slicedOffset,c=y+u.borderWidth,f,o,i,h=u.startAngle||0,p=this.startAngleRad=fi/180*(h-90),h=(this.endAngleRad=fi/180*(n(u.endAngle,h+360)-90))-p,w=this.points,s=u.dataLabels.distance,u=u.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)*lt(i)*(t[2]/2+s)},a=0;a<b;a++)r=w[a],f=p+v*h,(!u||r.visible)&&(v+=r.percentage/100),o=p+v*h,r.shapeType="arc",r.shapeArgs={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:e(f*1e3)/1e3,end:e(o*1e3)/1e3},i=(o+f)/2,i>1.5*fi?i-=2*fi:i<-fi/2&&(i+=2*fi),r.slicedTranslation={translateX:e(lt(i)*y),translateY:e(wt(i)*y)},f=lt(i)*t[2]/2,o=wt(i)*t[2]/2,r.tooltipPos=[t[0]+f*.7,t[1]+o*.7],r.half=i<-fi/2||i>fi/2?1:0,r.angle=i,c=l(c,s/2),r.labelPos=[t[0]+f+lt(i)*s,t[1]+o+wt(i)*s,t[0]+f+lt(i)*c,t[1]+o+wt(i)*c,t[0]+f,t[1]+o,s<0?"center":r.half?"right":"left",i]},drawGraph:null,drawPoints:function(){var n=this,e=n.chart.renderer,r,u,o=n.options.shadow,i,s;o&&!n.shadowGroup&&(n.shadowGroup=e.g("shadow").add(n.group));t(n.points,function(t){u=t.graphic;s=t.shapeArgs;i=t.shadowGroup;o&&!i&&(i=t.shadowGroup=e.g("shadow").add(n.shadowGroup));r=t.sliced?t.slicedTranslation:{translateX:0,translateY:0};i&&i.attr(r);u?u.animate(f(s,r)):t.graphic=u=e[t.shapeType](s).setRadialReference(n.center).attr(t.pointAttr[t.selected?"select":""]).attr({"stroke-linejoin":"round"}).attr(r).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:b.drawRectangle,getCenter:ht.getCenter,getSymbol:hi};it=ri(v,it);w.pie=it;v.prototype.drawDataLabels=function(){var e=this,l=e.options,v=l.cursor,r=l.dataLabels,p=e.points,c,a,y=e.hasRendered||0,s,h;(r.enabled||e._hasPointLabels)&&(e.dlProcessOptions&&e.dlProcessOptions(r),h=e.plotGroup("dataLabelsGroup","data-labels",r.defer?"hidden":"visible",r.zIndex||6),n(r.defer,!0)&&(h.attr({opacity:+y}),y||k(e,"afterAnimate",function(){e.visible&&h.show();h[l.animation?"animate":"attr"]({opacity:1},{duration:200})})),a=r,t(p,function(t){var y,l=t.dataLabel,p,w,b=t.connector,k=!0;if(c=t.options&&t.options.dataLabels,y=n(c&&c.enabled,a.enabled),l&&!y)t.dataLabel=l.destroy();else if(y){if(r=o(a,c),y=r.rotation,p=t.getLabelConfig(),s=r.format?ur(r.format,p):r.formatter.call(p,r),r.style.color=n(r.color,r.style.color,e.color,"black"),l)i(s)?(l.attr({text:s}),k=!1):(t.dataLabel=l=l.destroy(),b)&&(t.connector=b.destroy());else if(i(s)){l={fill:r.backgroundColor,stroke:r.borderColor,"stroke-width":r.borderWidth,r:r.borderRadius||0,rotation:y,padding:r.padding,zIndex:1};for(w in l)l[w]===u&&delete l[w];l=t.dataLabel=e.chart.renderer[y?"text":"label"](s,0,-999,null,null,null,r.useHTML).attr(l).css(f(r.style,v&&{cursor:v})).add(h).shadow(r.shadow)}l&&e.alignDataLabel(t,l,r,null,k)}}))};v.prototype.alignDataLabel=function(t,i,r,u,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)||u&&h.isInsidePlot(l,s?u.x+1:u.y+u.height-1,s)))&&(u=f({x:s?h.plotWidth-a:l,y:e(s?h.plotHeight-l:a),width:0,height:0},u),f(r,{width:c.width,height:c.height}),r.rotation?i[o?"attr":"animate"]({x:u.x+r.x+u.width/2,y:u.y+r.y+u.height/2}).attr({align:r.align}):(i.align(r,null,u),s=i.alignAttr,n(r.overflow,"justify")==="justify"?this.justifyDataLabel(i,r,s,c,u,o):n(r.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)};v.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 a=this,d=a.data,f,st=a.chart,g=a.options.dataLabels,rt=n(g.connectorPadding,10),yt=n(g.connectorWidth,1),pt=st.plotWidth,wt=st.plotHeight,it,ct,dt=n(g.softConnector,!0),tt=g.distance,lt=a.center,ft=lt[2]/2,ht=lt[1],gt=tt>0,y,s,u,bt=[[],[]],w,o,et,ut,i,b=[0,0,0,0],kt=function(n,t){return t.y-n.y},vt,ot;if(a.visible&&(g.enabled||a._hasPointLabels)){for(v.prototype.drawDataLabels.apply(a),t(d,function(n){n.dataLabel&&n.visible&&bt[n.half].push(n)}),ut=2;ut--;){var k=[],at=[],c=bt[ut],nt=c.length,h;if(nt){for(a.sortByAngle(c,ut-.5),i=d=0;!d&&c[i];)d=c[i]&&c[i].dataLabel&&(c[i].dataLabel.getBBox().height||21),i++;if(tt>0){for(s=l(ht+ft+tt,st.plotHeight),i=r(0,ht-ft-tt);i<=s;i+=d)k.push(i);if(s=k.length,nt>s){for(f=[].concat(c),f.sort(kt),i=nt;i--;)f[i].rank=i;for(i=nt;i--;)c[i].rank>=s&&c.splice(i,1);nt=c.length}for(i=0;i<nt;i++){for(f=c[i],u=f.labelPos,f=9999,ot=0;ot<s;ot++)vt=p(k[ot]-u[1]),vt<f&&(f=vt,h=ot);if(h<i&&k[i]!==null)h=i;else for(s<nt-i+h&&k[i]!==null&&(h=s-nt+i);k[h]===null;)h++;at.push({i:h,y:k[h]});k[h]=null}at.sort(kt)}for(i=0;i<nt;i++)f=c[i],u=f.labelPos,y=f.dataLabel,et=f.visible===!1?"hidden":"visible",f=u[1],tt>0?(s=at.pop(),h=s.i,o=s.y,f>o&&k[h+1]!==null||f<o&&k[h-1]!==null)&&(o=l(r(0,f),st.plotHeight)):o=f,w=g.justify?lt[0]+(ut?-1:1)*(ft+tt):a.getX(o===ht-ft-tt||o===ht+ft+tt?f:o,ut),y._attr={visibility:et,align:u[6]},y._pos={x:w+g.x+({left:rt,right:-rt}[u[6]]||0),y:o+g.y-10},y.connX=w,y.connY=o,this.options.size===null&&(s=y.width,w-s<rt?b[3]=r(e(s-w+rt),b[3]):w+s>pt-rt&&(b[1]=r(e(w+s-pt+rt),b[1])),o-d/2<0?b[0]=r(e(-o+d/2),b[0]):o+d/2>wt&&(b[2]=r(e(o+d/2-wt),b[2])))}}(ki(b)===0||this.verifyDataLabelOverflow(b))&&(this.placeDataLabels(),gt&&yt&&t(this.points,function(n){it=n.connector;u=n.labelPos;(y=n.dataLabel)&&y._pos?(et=y._attr.visibility,w=y.connX,o=y.connY,ct=dt?["M",w+(u[6]==="left"?5:-5),o,"C",w,o,2*u[2]-u[4],2*u[3]-u[5],u[2],u[3],"L",u[4],u[5]]:["M",w+(u[6]==="left"?5:-5),o,"L",u[2],u[3],"L",u[4],u[5]],it?(it.animate({d:ct}),it.attr("visibility",et)):n.connector=it=a.chart.renderer.path(ct).attr({"stroke-width":yt,stroke:g.connectorColor||n.color||"#606060",visibility:et}).add(a.dataLabelsGroup)):it&&(n.connector=it.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,u=f=f.minSize||80,o;return e[0]!==null?u=r(i[2]-r(n[1],n[3]),f):(u=r(i[2]-n[1]-n[3],f),i[0]+=(n[3]-n[1])/2),e[1]!==null?u=r(l(u,i[2]-r(n[0],n[2])),f):(u=r(l(u,i[2]-n[0]-n[2]),f),i[1]+=(n[0]-n[2])/2),u<i[2]?(i[2]=u,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,s=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=o(l),s&&(u={x:e.plotWidth-u.y-u.height,y:e.plotHeight-u.x-u.width,width:u.height,height:u.width}),!c)&&(s?(u.x+=h?0:u.width,u.width=0):(u.y+=h?u.height:0,u.height=0));r.align=n(r.align,!s||c?"center":h?"right":"left");r.verticalAlign=n(r.verticalAlign,s||c?"middle":h?"top":"bottom");v.prototype.alignDataLabel.call(this,t,i,r,u,f)});it=tt.TrackerMixin={drawTrackerPoint:function(){var n=this,i=n.chart,e=i.pointer,r=n.options.cursor,o=r&&{cursor:r},f=function(t){var f=t.target,r;for(i.hoverSeries!==n&&n.onMouseOver();f&&!r;)r=f.point,f=f.parentNode;if(r!==u&&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",f).on("mouseout",function(n){e.onTrackerMouseOut(n)}).css(o),gr))n[t].on("touchstart",f)}),n._hasTracking=!0)},drawTrackerGraph:function(){var i=this,h=i.options,o=h.trackByArea,r=[].concat(o?i.areaPath:i.graphPath),u=r.length,s=i.chart,v=s.pointer,y=s.renderer,f=s.options.tooltip.snap,c=i.tracker,e=h.cursor,p=e&&{cursor:e},e=i.singlePoints,n,l=function(){s.hoverSeries!==i&&i.onMouseOver()},a="rgba(192,192,192,"+(vt?.0001:.002)+")";if(u&&!o)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<e.length;n++)u=e[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:o?a:ut,"stroke-width":h.lineWidth+(o?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),gr)n.on("touchstart",l)}))}};w.column&&(kt.prototype.drawTracker=it.drawTrackerPoint);w.pie&&(w.pie.prototype.drawTracker=it.drawTrackerPoint);w.scatter&&(gt.prototype.drawTracker=it.drawTrackerPoint);f(ru.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):y(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);k(n.checkbox,"click",function(t){y(n,"checkboxClick",{checked:t.target.checked},function(){n.select()})})}});nt.legend.itemStyle.cursor="pointer";f(kr.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;y(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 u=this,f=u.hoverPoints,e;f&&t(f,function(n){n.setState()});t(i==="xy"?[1,0]:[1],function(t){var s=n[t?"chartX":"chartY"],i=u[t?"xAxis":"yAxis"][0],f=u[t?"mouseDownX":"mouseDownY"],h=(i.pointRange||0)/2,o=i.getExtremes(),c=i.toValue(f-s,!0)+h,f=i.toValue(f+u[t?"plotWidth":"plotHeight"]-s,!0)-h;i.series.length&&c>l(o.dataMin,o.min)&&f<r(o.dataMax,o.max)&&(i.setExtremes(c,f,!1,!1,{trigger:"pan"}),e=!0);u[t?"mouseDownX":"mouseDownY"]=s});e&&u.redraw(!1);a(u.container,{cursor:"move"})}});f(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[or(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[or(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;this.firePointEvent("mouseOut");t&&or(this,t)!==-1||(this.setState(),n.hoverPoint=null)},importEvents:function(){if(!this.hasImportedEvents){var n=o(this.series.options.point,this.options).events,t;this.events=n;for(t in n)k(this,t,n[t]);this.hasImportedEvents=!0}},setState:function(n,t){var e=this.plotX,l=this.plotY,r=this.series,a=r.options.states,i=at[r.type].marker&&r.options.marker,p=i&&!i.enabled,h=i&&i.states[n],w=h&&h.enabled===!1,u=r.stateMarkerGraphic,s=this.marker||{},v=r.chart,c=r.halo,y,n=n||"";y=this.pointAttr[n]||r.pointAttr[n];n===this.state&&!t||this.selected&&n!=="select"||a[n]&&a[n].enabled===!1||n&&(w||p&&h.enabled===!1)||n&&s.states&&s.states[n]&&s.states[n].enabled===!1||(this.graphic?(i=i&&this.graphic.symbolName&&y.r,this.graphic.attr(o(y,i?{x:e-i,y:l-i,width:2*i,height:2*i}:{})),u&&u.hide()):(n&&h&&((i=h.radius,s=s.symbol||r.symbol,u&&u.currentSymbol!==s&&(u=u.destroy()),u)?u[t?"animate":"attr"]({x:e-i,y:l-i}):s&&(r.stateMarkerGraphic=u=v.renderer.symbol(s,e-i,l-i,2*i,2*i).attr(y).add(r.markerGroup),u.currentSymbol=s)),u&&u[n&&v.isInsidePlot(e,l,v.inverted)?"show":"hide"]()),(e=a[n]&&a[n].halo)&&e.size?(c||(r.halo=c=v.renderer.path().add(r.seriesGroup)),c.attr(f({fill:yi(this.color||r.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)}});f(v.prototype,{onMouseOver:function(){var t=this.chart,n=t.hoverSeries;n&&n!==this&&n.onMouseOut();this.options.events.mouseOver&&y(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&&y(this,"mouseOut");t&&!i.stickyTracking&&(!t.shared||this.noSharedTooltip)&&t.hide();this.setState();n.hoverSeries=null},setState:function(n){var t=this.options,r=this.graph,u=this.graphNeg,i=t.states,t=t.lineWidth,n=n||"";this.state!==n&&(this.state=n,i[n]&&i[n].enabled===!1||(n&&(t=i[n].lineWidth||t+(i[n].lineWidthPlus||0)),r&&!r.dashstyle&&(n={"stroke-width":t},r.attr(n),u&&u.attr(n))))},setVisible:function(n,i){var r=this,f=r.chart,o=r.legendItem,e,s=f.options.chart.ignoreHiddenSeries,h=r.visible;e=(r.visible=n=r.userOptions.visible=n===u?!h:n)?"show":"hide";t(["group","dataLabelsGroup","markerGroup","tracker"],function(n){r[n]&&r[n][e]()});f.hoverSeries===r&&r.onMouseOut();o&&f.legend.colorizeItem(r,n);r.isDirty=!0;r.options.stacking&&t(f.series,function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)});t(r.linkedSeries,function(t){t.setVisible(n,!1)});s&&(f.isDirtyBox=!0);i!==!1&&f.redraw();y(r,e)},setTooltipPoints:function(n){var f=[],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){f=f.concat(n)}),i&&i.reversed&&(f=f.reverse()),this.orderTooltipPoints&&this.orderTooltipPoints(f),n=f.length,o=0;o<n;o++)if(i=f[o],e=i.x,e>=a.min&&e<=a.max)for(h=f[o+1],e=s===u?0:s+1,s=f[o+1]?l(r(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===u?!this.selected:n;this.checkbox&&(this.checkbox.checked=n);y(this,n?"select":"unselect")},drawTracker:it.drawTrackerGraph});f(tt,{Axis:ui,Chart:kr,Color:yi,Point:pi,Tick:yr,Renderer:dr,Series:v,SVGElement:rt,SVGRenderer:ei,arrayMin:cr,arrayMax:ki,charts:ot,dateFormat:eu,format:ur,pathAnim:bu,getOptions:function(){return nt},hasBidiBug:wf,isTouchDevice:hf,numberFormat:bi,seriesTypes:w,setOptions:function(n){return nt=o(!0,nt,n),ef(),nt},addEvent:k,removeEvent:st,createElement:ct,discardElement:ar,css:a,each:t,extend:f,map:br,merge:o,pick:n,splat:si,extendClass:ri,pInt:h,wrap:hr,svg:vt,canvas:bt,vml:!vt&&!bt,product:"Highcharts",version:"4.0.4"})}(),function(n,t){function g(n,t,i){this.init.call(this,n,t,i)}var ut=n.arrayMin,ft=n.arrayMax,u=n.each,b=n.extend,o=n.merge,et=n.map,r=n.pick,v=n.pInt,f=n.getOptions().plotOptions,i=n.seriesTypes,h=n.extendClass,nt=n.splat,e=n.wrap,tt=n.Axis,p=n.Tick,d=n.Point,ot=n.Pointer,st=n.CenteredSeriesMixin,y=n.TrackerMixin,c=n.Series,l=Math,w=l.round,a=l.floor,it=l.max,ht=n.Color,s=function(){};b(g.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(nt(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.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});var k=tt.prototype,p=p.prototype,ct={getOffset:s,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:s,setCategories:s,setTitle:s},rt={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(){k.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center=st.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(){k.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(){k.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=et(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(k,"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?(b(this,v?ct:rt),c=!h)&&(this.defaultRadialOptions=this.defaultRadialGaugeOptions):a&&(b(this,rt),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 g(nt(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(p,"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(p,"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(p,"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:{align:null,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){var f,t=[],e=n.length,o=c.prototype.getSegmentPath,u,i,r;for(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,e=u.length,i,o=[],r=c.prototype,t=this.options.dataLabels,f=t.align,n,s=this.chart.inverted;if(t.enabled||this._hasPointLabels){for(i=e;i--;)(n=u[i],n.y=n.high,n._plotY=n.plotY,n.plotY=n.plotHigh,o[i]=n.dataLabel,n.dataLabel=n.dataLabelUpper,n.below=!1,s)?(f||(t.align="left"),t.x=t.xHigh):t.y=t.yHigh;for(r.drawDataLabels&&r.drawDataLabels.apply(this,arguments),i=e;i--;)(n=u[i],n.dataLabelUpper=n.dataLabel,n.dataLabel=o[i],n.y=n.low,n.plotY=n._plotY,n.below=!0,s)?(f||(t.align="right"),t.x=t.xLow):t.y=t.yLow;r.drawDataLabels&&r.drawDataLabels.apply(this,arguments)}t.align=f},alignDataLabel:function(){i.column.prototype.alignDataLabel.apply(this,arguments)},getSymbol:s,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","dataLabelsGroup"],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","dataLabelsGroup"],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,b=o.chart.renderer,rt,l,s,k,d,ut,n,i,h,ft,v,et,ot,g,st,y,ht,e,nt,p,ct,it,tt=o.doQuartiles!==!1,c=parseInt(o.options.whiskerLength,10)/100;u(lt,function(u){h=u.graphic;ct=u.shapeArgs;v={};g={};y={};it=u.color||o.color;u.plotY!==t&&((rt=u.pointAttr[u.selected?"selected":""],ht=ct.width,e=a(ct.x),nt=e+ht,p=w(ht/2),l=a(tt?u.q1Plot:u.lowPlot),s=a(tt?u.q3Plot:u.lowPlot),k=a(u.highPlot),d=a(u.lowPlot),v.stroke=u.stemColor||f.stemColor||it,v["stroke-width"]=r(u.stemWidth,f.stemWidth,f.lineWidth),v.dashstyle=u.stemDashStyle||f.stemDashStyle,g.stroke=u.whiskerColor||f.whiskerColor||it,g["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=v["stroke-width"]%2/2,i=e+p+n,ft=["M",i,s,"L",i,k,"M",i,l,"L",i,d],tt&&(n=rt["stroke-width"]%2/2,i=a(i)+n,l=a(l)+n,s=a(s)+n,e+=n,nt+=n,et=["M",e,s,"L",e,l,"L",nt,l,"L",nt,s,"L",e,s,"z"]),c&&(n=g["stroke-width"]%2/2,k+=n,d+=n,ot=["M",i-p*c,k,"L",i+p*c,k,"M",i-p*c,d,"L",i+p*c,d]),n=y["stroke-width"]%2/2,ut=w(u.medianPlot)+n,st=["M",e,ut,"L",nt,ut],h)?(u.stem.animate({d:ft}),c&&u.whiskers.animate({d:ot}),tt&&u.box.animate({d:et}),u.medianShape.animate({d:st})):(u.graphic=h=b.g().add(o.group),u.stem=b.path(ft).attr(v).add(h),c&&(u.whiskers=b.path(ot).attr(g).add(h)),tt&&(u.box=b.path(et).attr(rt).add(h)),u.medianShape=b.path(st).attr(y).add(h)))})}});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",states:{hover:{lineWidthPlus:0}}});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 u=this.yAxis,e,r,s,t,n,h,l,o,c,f;for(e=this.options.threshold,i.column.prototype.translate.apply(this),o=c=e,s=this.points,r=0,e=s.length;r<e;r++)t=s[r],n=t.shapeArgs,h=this.getStack(r),f=h.points[this.index+","+r],isNaN(t.y)&&(t.y=this.yData[r]),l=it(o,o+t.y)+f[0],n.y=u.translate(l,0,1),t.isSum?(n.y=u.translate(f[1],0,1),n.height=u.translate(f[0],0,1)-n.y):t.isIntermediateSum?(n.y=u.translate(f[1],0,1),n.height=u.translate(c,0,1)-n.y,c=f[1]):o+=h.total,n.height<0&&(n.y+=n.height,n.height*=-1),t.plotY=n.y=w(n.y)-this.borderWidth%2/2,n.height=it(w(n.height),.001),t.yBottom=n.y+n.height,n=t.plotY+(t.negative?n.height:0),this.chart.inverted?t.tooltipPos[0]=u.len-n:t.tooltipPos[1]=n},processData:function(n){for(var u=this.yData,o=this.points,s,l=u.length,h,f,e,r,i=h=f=e=this.options.threshold||0,t=0;t<l;t++)r=u[t],s=o&&o[t]?o[t]:{},r==="sum"||s.isSum?u[t]=i:r==="intermediateSum"||s.isIntermediateSum?u[t]=h:(i+=r,h+=r),f=Math.min(i,f),e=Math.max(i,e);c.prototype.processData.call(this,n);this.dataMin=f;this.dataMax=e},toYData:function(n){return n.isSum?n.x===0?null:"sum":n.isIntermediateSum?n.x===0?null:"intermediateSum":n.y},getAttribs:function(){i.column.prototype.getAttribs.apply(this,arguments);var t=this.options,s=t.states,r=t.upColor||this.color,t=n.Color(r).brighten(.1).get(),f=o(this.pointAttr),e=this.upColorProp;f[""][e]=r;f.hover[e]=s.hover.upColor||t;f.select[e]=s.select.upColor||r;u(this.points,function(n){n.y>0&&!n.color&&(n.pointAttr=f,n.color=r)})},getGraphPath:function(){for(var r=this.data,e=r.length,f=w(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:{formatter:function(){return this.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=ht(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(l.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});tt.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=l.min(s.plotWidth,s.plotHeight),a=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&&(a=r(t.zMin,l.min(a,l.max(ut(n),t.displayNegative===!1?t.zThreshold:-Number.MAX_VALUE))),y=r(t.zMax,l.max(y,ft(n)))))}),u(w,function(n){var r=n[k],t=r.length,u;if(h&&n.getRadii(a,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=ot.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&&b(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(n){var l=n.Chart,e=n.addEvent,a=n.removeEvent,i=n.createElement,s=n.discardElement,o=n.css,r=n.merge,u=n.each,t=n.extend,y=Math.max,f=document,v=window,p=n.isTouchDevice,w=n.Renderer.prototype.symbols,h=n.getOptions(),c;t(h.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});h.navigation={menuStyle:{border:"1px solid #A0A0A0",background:"#FFFFFF",padding:"5px 0"},menuItemStyle:{padding:"0 10px",background:"none",color:"#303030",fontSize:p?"14px":"11px"},menuItemHoverStyle:{background:"#4572A5",color:"#FFFFFF"},buttonOptions:{symbolFill:"#E0E0E0",symbolSize:14,symbolStroke:"#666",symbolStrokeWidth:3,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,theme:{fill:"white",stroke:"none"},verticalAlign:"top",width:24}};h.exporting={type:"image/png",url:"http://export.highcharts.com/",buttons:{contextButton:{menuClassName:"highcharts-contextmenu",symbol:"menu",_titleKey:"contextButtonTitle",menuItems:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},{textKey:"downloadPNG",onclick:function(){this.exportChart()}},{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}]}}};n.post=function(n,t,u){var e,n=i("form",r({method:"post",action:n,enctype:"multipart/form-data"},u),{display:"none"},f.body);for(e in t)i("input",{type:"hidden",name:e,value:t[e]},null,n);n.submit();s(n)};t(l.prototype,{getSVG:function(e){var c=this,a,h,v,l,o=r(c.options,e);return f.createElementNS||(f.createElementNS=function(n,t){return f.createElement(t)}),e=i("div",null,{position:"absolute",top:"-9999em",width:c.chartWidth+"px",height:c.chartHeight+"px"},f.body),h=c.renderTo.style.width,l=c.renderTo.style.height,h=o.exporting.sourceWidth||o.chart.width||/px$/.test(h)&&parseInt(h,10)||600,l=o.exporting.sourceHeight||o.chart.height||/px$/.test(l)&&parseInt(l,10)||400,t(o.chart,{animation:!1,renderTo:e,forExport:!0,width:h,height:l}),o.exporting.enabled=!1,o.series=[],u(c.series,function(n){v=r(n.options,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:n.visible});v.isInternal||o.series.push(v)}),a=new n.Chart(o,c.callback),u(["xAxis","yAxis"],function(n){u(c[n],function(t,i){var u=a[n][i],r=t.getExtremes(),f=r.userMin,r=r.userMax;u&&(f!==void 0||r!==void 0)&&u.setExtremes(f,r,!0,!1)})}),h=a.container.innerHTML,o=null,a.destroy(),s(e),h=h.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ href=/g," xlink:href=").replace(/\n/," ").replace(/<\/svg>.*?$/,"<\/svg>").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1="rgb($2)" $1-opacity="$3"').replace(/&nbsp;/g,"Â ").replace(/&shy;/g,"Â­").replace(/<IMG /g,"<image ").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,'width="$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href="$1"/>').replace(/id=([^" >]+)/g,'id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(n){return n.toLowerCase()}),h.replace(/(url\(#highcharts-[0-9]+)&quot;/g,"$1").replace(/&quot;/g,"'")},exportChart:function(t,i){var t=t||{},u=this.options.exporting,u=this.getSVG(r({chart:{borderRadius:0}},u.chartOptions,i,{exporting:{sourceWidth:t.sourceWidth||u.sourceWidth,sourceHeight:t.sourceHeight||u.sourceHeight}})),t=r(this.options.exporting,t);n.post(t.url,{filename:t.filename||"chart",type:t.type,width:t.width||0,scale:t.scale||2,svg:u},t.formAttributes)},print:function(){var n=this,t=n.container,i=[],o=t.parentNode,r=f.body,e=r.childNodes;n.isPrinting||(n.isPrinting=!0,u(e,function(n,t){n.nodeType===1&&(i[t]=n.style.display,n.style.display="none")}),r.appendChild(t),v.focus(),v.print(),setTimeout(function(){o.appendChild(t);u(e,function(n,t){n.nodeType===1&&(n.style.display=i[t])});n.isPrinting=!1},1e3))},contextMenu:function(n,r,f,s,h,c,l){var v=this,d=v.options.navigation,g=d.menuItemStyle,nt=v.chartWidth,tt=v.chartHeight,it="cache-"+n,p=v[it],w=y(h,c),b,k,rt,ut=function(t){v.pointer.inClass(t.target,n)||k()};p||(v[it]=p=i("div",{className:n},{position:"absolute",zIndex:1e3,padding:w+"px"},v.container),b=i("div",null,t({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},d.menuStyle),p),k=function(){o(p,{display:"none"});l&&l.setState(0);v.openMenu=!1},e(p,"mouseleave",function(){rt=setTimeout(k,500)}),e(p,"mouseenter",function(){clearTimeout(rt)}),e(document,"mouseup",ut),e(v,"destroy",function(){a(document,"mouseup",ut)}),u(r,function(n){if(n){var r=n.separator?i("hr",null,null,b):i("div",{onmouseover:function(){o(this,d.menuItemHoverStyle)},onmouseout:function(){o(this,g)},onclick:function(){k();n.onclick.apply(v,arguments)},innerHTML:n.text||v.options.lang[n.textKey]},t({cursor:"pointer"},g),b);v.exportDivElements.push(r)}}),v.exportDivElements.push(b,p),v.exportMenuWidth=p.offsetWidth,v.exportMenuHeight=p.offsetHeight);r={display:"block"};f+v.exportMenuWidth>nt?r.right=nt-f-h-w+"px":r.left=f-w+"px";s+c+v.exportMenuHeight>tt&&l.alignOptions.verticalAlign!=="top"?r.bottom=tt-s-w+"px":r.top=s+c-w+"px";o(p,r);v.openMenu=!0},addButton:function(i){var e=this,a=e.renderer,u=r(e.options.navigation.buttonOptions,i),v=u.onclick,y=u.menuItems,p,f,w={stroke:u.symbolStroke,fill:u.symbolFill},h=u.symbolSize||12;if(e.btnCount||(e.btnCount=0),e.exportDivElements||(e.exportDivElements=[],e.exportSVGElements=[]),u.enabled!==!1){var o=u.theme,s=o.states,b=s&&s.hover,s=s&&s.select,l;delete o.states;v?l=function(){v.apply(e,arguments)}:y&&(l=function(){e.contextMenu(f.menuClassName,y,f.translateX,f.translateY,f.width,f.height,f);f.setState(2)});u.text&&u.symbol?o.paddingLeft=n.pick(o.paddingLeft,25):u.text||t(o,{width:u.width,height:u.height,padding:0});f=a.button(u.text,0,0,l,o,b,s).attr({title:e.options.lang[u._titleKey],"stroke-linecap":"round"});f.menuClassName=i.menuClassName||"highcharts-menu-"+e.btnCount++;u.symbol&&(p=a.symbol(u.symbol,u.symbolX-h/2,u.symbolY-h/2,h,h).attr(t(w,{"stroke-width":u.symbolStrokeWidth||1,zIndex:1})).add(f));f.add().align(t(u,{width:f.width,x:n.pick(u.x,c)}),!0,"spacingBox");c+=(f.width+u.buttonSpacing)*(u.align==="right"?-1:1);e.exportSVGElements.push(f,p)}},destroyExport:function(n){for(var n=n.target,t,i=0;i<n.exportSVGElements.length;i++)(t=n.exportSVGElements[i])&&(t.onclick=t.ontouchstart=null,n.exportSVGElements[i]=t.destroy());for(i=0;i<n.exportDivElements.length;i++)t=n.exportDivElements[i],a(t,"mouseleave"),n.exportDivElements[i]=t.onmouseout=t.onmouseover=t.ontouchstart=t.onclick=null,s(t)}});w.menu=function(n,t,i,r){return["M",n,t+2.5,"L",n+i,t+2.5,"M",n,t+r/2+.5,"L",n+i,t+r/2+.5,"M",n,t+r-1.5,"L",n+i,t+r-1.5]};l.prototype.callbacks.push(function(n){var t,i=n.options.exporting,r=i.buttons;if(c=0,i.enabled!==!1){for(t in r)n.addButton(r[t]);e(n,"destroy",n.destroyExport)}})}(Highcharts),function(n){var o="0.3.4",f="hasOwnProperty",e=/[\.\/]/,s="*",h=function(){},c=function(n,t){return n-t},r,i,u={n:{}},t=function(n,f){var k=u,w=i,v=Array.prototype.slice.call(arguments,2),s=t.listeners(n),a=0,e,l=[],y={},h=[],b=r,o,p;for(r=n,i=0,o=0,p=s.length;o<p;o++)"zIndex"in s[o]&&(l.push(s[o].zIndex),s[o].zIndex<0&&(y[s[o].zIndex]=s[o]));for(l.sort(c);l[a]<0;)if(e=y[l[a++]],h.push(e.apply(f,v)),i)return i=w,h;for(o=0;o<p;o++)if(e=s[o],"zIndex"in e)if(e.zIndex==l[a]){if(h.push(e.apply(f,v)),i)break;do if(a++,e=y[l[a]],e&&h.push(e.apply(f,v)),i)break;while(e)}else y[e.zIndex]=e;else if(h.push(e.apply(f,v)),i)break;return i=w,r=b,h.length?h:null};t.listeners=function(n){for(var a=n.split(e),t=u,i,v,o,f,p,h,c=[t],l=[],r=0,y=a.length;r<y;r++){for(h=[],f=0,p=c.length;f<p;f++)for(t=c[f].n,v=[t[a[r]],t[s]],o=2;o--;)i=v[o],i&&(h.push(i),l=l.concat(i.f||[]));c=h}return l};t.on=function(n,t){for(var f=n.split(e),i=u,r=0,o=f.length;r<o;r++)i=i.n,!i[f[r]]&&(i[f[r]]={n:{}}),i=i[f[r]];for(i.f=i.f||[],r=0,o=i.f.length;r<o;r++)if(i.f[r]==t)return h;return i.f.push(t),function(n){+n==+n&&(t.zIndex=+n)}};t.stop=function(){i=1};t.nt=function(n){return n?new RegExp("(?:\\.|\\/|^)"+n+"(?:\\.|\\/|$)").test(r):r};t.off=t.unbind=function(n,t){for(var v=n.split(e),i,o,l,r,p,c=[u],a,h=0,y=v.length;h<y;h++)for(r=0;r<c.length;r+=l.length-2){if(l=[r,1],i=c[r].n,v[h]!=s)i[v[h]]&&l.push(i[v[h]]);else for(o in i)i[f](o)&&l.push(i[o]);c.splice.apply(c,l)}for(h=0,y=c.length;h<y;h++)for(i=c[h];i.n;){if(t){if(i.f){for(r=0,p=i.f.length;r<p;r++)if(i.f[r]==t){i.f.splice(r,1);break}i.f.length||delete i.f}for(o in i.n)if(i.n[f](o)&&i.n[o].f){for(a=i.n[o].f,r=0,p=a.length;r<p;r++)if(a[r]==t){a.splice(r,1);break}a.length||delete i.n[o].f}}else{delete i.f;for(o in i.n)i.n[f](o)&&i.n[o].f&&delete i.n[o].f}i=i.n}};t.once=function(n,i){var r=function(){var u=i.apply(this,arguments);return t.unbind(n,r),u};return t.on(n,r)};t.version=o;t.toString=function(){return"You are running Eve "+o};typeof module!="undefined"&&module.exports?module.exports=t:typeof define!="undefined"?define("eve",[],function(){return t}):n.eve=t}(this),function(){function ht(t,i,u,o,s,l){var g,v,et,a,lt,kt,ti,nt,vt,dt,yt,k,ut,st,ht,gt,ft,ct;u=e(u);var it,ot,pt,ni,wt,bt,w=t.ms,p={},d={},b={};if(o){for(v=0,et=r.length;v<et;v++)if(g=r[v],g.el.id==i.id&&g.anim==t){g.percent!=u?(r.splice(v,1),pt=1):ot=g;i.attr(g.totalOrigin);break}}else o=+d;for(v=0,et=t.percents.length;v<et;v++){if(t.percents[v]==u||t.percents[v]>o*t.top){u=t.percents[v];wt=t.percents[v-1]||0;w=w/t.top*(u-wt);ni=t.percents[v+1];it=t.anim[u];break}o&&i.attr(t.anim[t.percents[v]])}if(!!it){if(ot)ot.initstatus=o,ot.start=new Date-ot.ms*o;else{for(a in it)if(it[h](a)&&(ci[h](a)||i.paper.customAttributes[h](a))){p[a]=i.attr(a);p[a]==null&&(p[a]=su[a]);d[a]=it[a];switch(ci[a]){case c:b[a]=(d[a]-p[a])/w;break;case"colour":p[a]=n.getRGB(p[a]);lt=n.getRGB(d[a]);b[a]={r:(lt.r-p[a].r)/w,g:(lt.g-p[a].g)/w,b:(lt.b-p[a].b)/w};break;case"path":for(kt=at(p[a],d[a]),ti=kt[1],p[a]=kt[0],b[a]=[],v=0,et=p[a].length;v<et;v++)for(b[a][v]=[0],nt=1,vt=p[a][v].length;nt<vt;nt++)b[a][v][nt]=(ti[v][nt]-p[a][v][nt])/w;break;case"transform":if(dt=i._,yt=rf(dt[a],d[a]),yt)for(p[a]=yt.from,d[a]=yt.to,b[a]=[],b[a].real=!0,v=0,et=p[a].length;v<et;v++)for(b[a][v]=[p[a][v][0]],nt=1,vt=p[a][v].length;nt<vt;nt++)b[a][v][nt]=(d[a][v][nt]-p[a][v][nt])/w;else k=i.matrix||new rt,ut={_:{transform:dt.transform},getBBox:function(){return i.getBBox(1)}},p[a]=[k.a,k.b,k.c,k.d,k.e,k.f],tf(ut,d[a]),d[a]=ut._.transform,b[a]=[(ut.matrix.a-k.a)/w,(ut.matrix.b-k.b)/w,(ut.matrix.c-k.c)/w,(ut.matrix.d-k.d)/w,(ut.matrix.e-k.e)/w,(ut.matrix.e-k.f)/w];break;case"csv":if(st=y(it[a])[tt](fi),ht=y(p[a])[tt](fi),a=="clip-rect")for(p[a]=ht,b[a]=[],v=ht.length;v--;)b[a][v]=(st[v]-p[a][v])/w;d[a]=st;break;default:for(st=[][f](it[a]),ht=[][f](p[a]),b[a]=[],v=i.paper.customAttributes[a].length;v--;)b[a][v]=((st[v]||0)-(ht[v]||0))/w}}if(gt=it.easing,ft=n.easing_formulas[gt],ft||(ft=y(gt).match(ou),ft&&ft.length==5?(ct=ft,ft=function(n){return nu(n,+ct[1],+ct[2],+ct[3],+ct[4],w)}):ft=pu),bt=it.start||t.start||+new Date,g={anim:t,percent:u,timestamp:bt,start:bt+(t.del||0),status:0,initstatus:o||0,stop:!1,ms:w,easing:ft,from:p,diff:b,to:d,el:i,callback:it.callback,prev:wt,next:ni,repeat:l||t.times,origin:i.attr(),totalOrigin:s},r.push(g),o&&!ot&&!pt&&(g.stop=!0,g.start=new Date-w*o,r.length==1))return gi();pt&&(g.start=new Date-g.ms*o);r.length==1&&gr(gi)}eve("anim.start."+i.id,i,t)}}function it(n,t){var i=[],u={},r;if(this.ms=t,this.times=1,n){for(r in n)n[h](r)&&(u[e(r)]=n[r],i.push(e(r)));i.sort(vu)}this.anim=u;this.top=i[i.length-1];this.percents=i}function nu(n,t,i,r,u,f){function a(n,t){for(var r,u,f,s,i=n,l=0;l<8;l++){if(f=h(i)-n,k(f)<t)return i;if(s=(3*c*i+2*o)*i+e,k(s)<1e-6)break;i=i-f/s}if(r=0,u=1,i=n,i<r)return r;if(i>u)return u;while(r<u){if(f=h(i),k(f-n)<t)return i;n>f?r=i:u=i;i=(u-r)/2+r}return i}function v(n,t){var i=a(n,t);return((y*i+l)*i+s)*i}function h(n){return((c*n+o)*n+e)*n}var e=3*t,o=3*(r-t)-e,c=1-e-o,s=3*i,l=3*(u-i)-s,y=1-s-l;return v(n,1/(200*f))}function tr(){return this.x+st+this.y+st+this.width+" × "+this.height}function rt(n,t,i,r,u,f){n!=null?(this.a=+n,this.b=+t,this.c=+i,this.d=+r,this.e=+u,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function ir(n,t){for(var f=[],i,r=0,u=n.length;u-2*!t>r;r+=2)i=[{x:+n[r-2],y:+n[r-1]},{x:+n[r],y:+n[r+1]},{x:+n[r+2],y:+n[r+3]},{x:+n[r+4],y:+n[r+5]}],t?r?u-4==r?i[3]={x:+n[0],y:+n[1]}:u-2==r&&(i[2]={x:+n[0],y:+n[1]},i[3]={x:+n[2],y:+n[3]}):i[0]={x:+n[u-2],y:+n[u-1]}:u-4==r?i[3]=i[2]:r||(i[0]={x:+n[r],y:+n[r+1]}),f.push(["C",(-i[0].x+6*i[1].x+i[2].x)/6,(-i[0].y+6*i[1].y+i[2].y)/6,(i[1].x+6*i[2].x-i[3].x)/6,(i[1].y+6*i[2].y-i[3].y)/6,i[2].x,i[2].y]);return f}function yt(){return this.hex}function v(n,t,i){function r(){var o=Array.prototype.slice.call(arguments,0),u=o.join("␀"),f=r.cache=r.cache||{},e=r.count=r.count||[];return f[h](u)?(tu(e,u),i?i(f[u]):f[u]):(e.length>=1e3&&delete f[e.shift()],e.push(u),f[u]=n[s](t,o),i?i(f[u]):f[u])}return r}function tu(n,t){for(var i=0,r=n.length;i<r;i++)if(n[i]===t)return n.push(n.splice(i,1)[0])}function n(t){var i,r;return n.is(t,"function")?ui?t():eve.on("DOMload",t):n.is(t,w)?n._engine.create[s](n,t.splice(0,3+n.is(t[0],c))).add(t):(i=Array.prototype.slice.call(arguments,0),n.is(i[i.length-1],"function"))?(r=i.pop(),ui?r.call(n._engine.create[s](n,i)):eve.on("DOMload",function(){r.call(n._engine.create[s](n,i))})):n._engine.create[s](n,arguments)}var bt,kt,wu,du,vt,wi,et,br,d,ot,b,ri;n.version="2.0.2";n.eve=eve;var ui,fi=/[, ]+/,iu={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},ru=/\{(\d+)\}/g,h="hasOwnProperty",t={doc:document,win:window},ei={was:Object.prototype[h].call(t.win,"Raphael"),is:t.win.Raphael},rr=function(){this.ca=this.customAttributes={}},o,s="apply",f="concat",oi="createTouch"in t.doc,g="",st=" ",y=String,tt="split",ur="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[tt](st),si={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},pt=y.prototype.toLowerCase,i=Math,l=i.max,nt=i.min,k=i.abs,a=i.pow,p=i.PI,c="number",wt="string",w="array",uu=Object.prototype.toString,hf=n._ISURL=/^url\(['"]?([^\)]+?)['"]?\)$/i,fu=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,eu={NaN:1,Infinity:1,"-Infinity":1},ou=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,hi=i.round,e=parseFloat,ut=parseInt,fr=y.prototype.toUpperCase,su=n._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/","letter-spacing":0,opacity:1,path:"M0,0",r:0,rx:0,ry:0,src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",transform:"",width:0,x:0,y:0},ci=n._availableAnimAttrs={blur:c,"clip-rect":"csv",cx:c,cy:c,fill:"colour","fill-opacity":c,"font-size":c,height:c,opacity:c,path:"path",r:c,rx:c,ry:c,stroke:"colour","stroke-opacity":c,"stroke-width":c,transform:"transform",width:c,x:c,y:c},li=/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/,hu={hs:1,rg:1},cu=/,?([achlmqrstvxz]),?/gi,lu=/([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,au=/([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,er=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig,cf=n._radial_gradient=/^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/,ct={},lf=function(n,t){return n.key-t.key},vu=function(n,t){return e(n)-e(t)},yu=function(){},pu=function(n){return n},ai=n._rectPath=function(n,t,i,r,u){return u?[["M",n+u,t],["l",i-u*2,0],["a",u,u,0,0,1,u,u],["l",0,r-u*2],["a",u,u,0,0,1,-u,u],["l",u*2-i,0],["a",u,u,0,0,1,-u,-u],["l",0,u*2-r],["a",u,u,0,0,1,u,-u],["z"]]:[["M",n,t],["l",i,0],["l",0,r],["l",-i,0],["z"]]},or=function(n,t,i,r){return r==null&&(r=i),[["M",n,t],["m",0,-r],["a",i,r,0,1,1,0,2*r],["a",i,r,0,1,1,0,-2*r],["z"]]},vi=n._getPath={path:function(n){return n.attr("path")},circle:function(n){var t=n.attrs;return or(t.cx,t.cy,t.r)},ellipse:function(n){var t=n.attrs;return or(t.cx,t.cy,t.rx,t.ry)},rect:function(n){var t=n.attrs;return ai(t.x,t.y,t.width,t.height,t.r)},image:function(n){var t=n.attrs;return ai(t.x,t.y,t.width,t.height)},text:function(n){var t=n._getBBox();return ai(t.x,t.y,t.width,t.height)}},sr=n.mapPath=function(n,t){if(!t)return n;var f,e,u,i,o,s,r;for(n=at(n),u=0,o=n.length;u<o;u++)for(r=n[u],i=1,s=r.length;i<s;i+=2)f=t.x(r[i],r[i+1]),e=t.y(r[i],r[i+1]),r[i]=f,r[i+1]=e;return n};if(n._g=t,n.type=t.win.SVGAngle||t.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML",n.type=="VML"){if(bt=t.doc.createElement("div"),bt.innerHTML='<v:shape adj="1"/>',kt=bt.firstChild,kt.style.behavior="url(#default#VML)",!kt||typeof kt.adj!="object")return n.type=g;bt=null}n.svg=!(n.vml=n.type=="VML");n._Paper=rr;n.fn=o=rr.prototype=n.prototype;n._id=0;n._oid=0;n.is=function(n,t){return(t=pt.call(t),t=="finite")?!eu[h](+n):t=="array"?n instanceof Array:t=="null"&&n===null||t==typeof n&&n!==null||t=="object"&&n===Object(n)||t=="array"&&Array.isArray&&Array.isArray(n)||uu.call(n).slice(8,-1).toLowerCase()==t};n.angle=function(t,r,u,f,e,o){if(e==null){var s=t-u,h=r-f;return!s&&!h?0:(180+i.atan2(-h,-s)*180/p+360)%360}return n.angle(t,r,e,o)-n.angle(u,f,e,o)};n.rad=function(n){return n%360*p/180};n.deg=function(n){return n*180/p%360};n.snapTo=function(t,i,r){var f,u;if(r=n.is(r,"finite")?r:10,n.is(t,w)){for(f=t.length;f--;)if(k(t[f]-i)<=r)return t[f]}else{if(t=+t,u=i%t,u<r)return i-u;if(u>t-r)return i-u+t}return i};wu=n.createUUID=function(n,t){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(n,t).toUpperCase()}}(/[xy]/g,function(n){var t=i.random()*16|0,r=n=="x"?t:t&3|8;return r.toString(16)});n.setWindow=function(i){eve("setWindow",n,t.win,i);t.win=i;t.doc=t.win.document;n._engine.initWin&&n._engine.initWin(t.win)};var dt=function(i){var e,u,f,o,r;if(n.vml){e=/^\s+|\s+$/g;try{f=new ActiveXObject("htmlfile");f.write("<body>");f.close();u=f.body}catch(s){u=createPopup().document.body}o=u.createTextRange();dt=v(function(n){try{u.style.color=y(n).replace(e,g);var t=o.queryCommandValue("ForeColor");return t=(t&255)<<16|t&65280|(t&16711680)>>>16,"#"+("000000"+t.toString(16)).slice(-6)}catch(i){return"none"}})}else r=t.doc.createElement("i"),r.title="Raphaël Colour Picker",r.style.display="none",t.doc.body.appendChild(r),dt=v(function(n){return r.style.color=n,t.doc.defaultView.getComputedStyle(r,g).getPropertyValue("color")});return dt(i)},bu=function(){return"hsb("+[this.h,this.s,this.b]+")"},ku=function(){return"hsl("+[this.h,this.s,this.l]+")"},hr=function(){return this.hex},cr=function(t,i,r){if(i==null&&n.is(t,"object")&&"r"in t&&"g"in t&&"b"in t&&(r=t.b,i=t.g,t=t.r),i==null&&n.is(t,wt)){var u=n.getRGB(t);t=u.r;i=u.g;r=u.b}return(t>1||i>1||r>1)&&(t/=255,i/=255,r/=255),[t,i,r]},lr=function(t,i,r,u){t*=255;i*=255;r*=255;var f={r:t,g:i,b:r,hex:n.rgb(t,i,r),toString:hr};return n.is(u,"finite")&&(f.opacity=u),f};n.color=function(t){var i;return n.is(t,"object")&&"h"in t&&"s"in t&&"b"in t?(i=n.hsb2rgb(t),t.r=i.r,t.g=i.g,t.b=i.b,t.hex=i.hex):n.is(t,"object")&&"h"in t&&"s"in t&&"l"in t?(i=n.hsl2rgb(t),t.r=i.r,t.g=i.g,t.b=i.b,t.hex=i.hex):(n.is(t,"string")&&(t=n.getRGB(t)),n.is(t,"object")&&"r"in t&&"g"in t&&"b"in t?(i=n.rgb2hsl(t),t.h=i.h,t.s=i.s,t.l=i.l,i=n.rgb2hsb(t),t.v=i.b):(t={hex:"none"},t.r=t.g=t.b=t.h=t.s=t.v=t.l=-1)),t.toString=hr,t};n.hsb2rgb=function(n,t,i,r){this.is(n,"object")&&"h"in n&&"s"in n&&"b"in n&&(i=n.b,t=n.s,n=n.h,r=n.o);n*=360;var e,o,s,f,u;return n=n%360/60,u=i*t,f=u*(1-k(n%2-1)),e=o=s=i-u,n=~~n,e+=[u,f,0,0,f,u][n],o+=[f,u,u,f,0,0][n],s+=[0,0,f,u,u,f][n],lr(e,o,s,r)};n.hsl2rgb=function(n,t,i,r){this.is(n,"object")&&"h"in n&&"s"in n&&"l"in n&&(i=n.l,t=n.s,n=n.h);(n>1||t>1||i>1)&&(n/=360,t/=100,i/=100);n*=360;var e,o,s,f,u;return n=n%360/60,u=2*t*(i<.5?i:1-i),f=u*(1-k(n%2-1)),e=o=s=i-u/2,n=~~n,e+=[u,f,0,0,f,u][n],o+=[f,u,u,f,0,0][n],s+=[0,0,f,u,u,f][n],lr(e,o,s,r)};n.rgb2hsb=function(n,t,i){i=cr(n,t,i);n=i[0];t=i[1];i=i[2];var f,e,u,r;return u=l(n,t,i),r=u-nt(n,t,i),f=r==0?null:u==n?(t-i)/r:u==t?(i-n)/r+2:(n-t)/r+4,f=(f+360)%6/6,e=r==0?0:r/u,{h:f,s:e,b:u,toString:bu}};n.rgb2hsl=function(n,t,i){i=cr(n,t,i);n=i[0];t=i[1];i=i[2];var e,s,u,f,o,r;return f=l(n,t,i),o=nt(n,t,i),r=f-o,e=r==0?null:f==n?(t-i)/r:f==t?(i-n)/r+2:(n-t)/r+4,e=(e+360)%6/6,u=(f+o)/2,s=r==0?0:u<.5?r/(2*u):r/(2-2*u),{h:e,s:s,l:u,toString:ku}};n._path2string=function(){return this.join(",").replace(cu,"$1")};du=n._preload=function(n,i){var r=t.doc.createElement("img");r.style.cssText="position:absolute;left:-9999em;top:-9999em";r.onload=function(){i.call(this);this.onload=null;t.doc.body.removeChild(this)};r.onerror=function(){t.doc.body.removeChild(this)};t.doc.body.appendChild(r);r.src=n};n.getRGB=v(function(t){if(!t||!!((t=y(t)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:yt};if(t=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:yt};hu[h](t.toLowerCase().substring(0,2))||t.charAt()=="#"||(t=dt(t));var u,f,o,s,c,i,r=t.match(fu);return r?(r[2]&&(o=ut(r[2].substring(5),16),f=ut(r[2].substring(3,5),16),u=ut(r[2].substring(1,3),16)),r[3]&&(o=ut((c=r[3].charAt(3))+c,16),f=ut((c=r[3].charAt(2))+c,16),u=ut((c=r[3].charAt(1))+c,16)),r[4]&&(i=r[4][tt](li),u=e(i[0]),i[0].slice(-1)=="%"&&(u*=2.55),f=e(i[1]),i[1].slice(-1)=="%"&&(f*=2.55),o=e(i[2]),i[2].slice(-1)=="%"&&(o*=2.55),r[1].toLowerCase().slice(0,4)=="rgba"&&(s=e(i[3])),i[3]&&i[3].slice(-1)=="%"&&(s/=100)),r[5])?(i=r[5][tt](li),u=e(i[0]),i[0].slice(-1)=="%"&&(u*=2.55),f=e(i[1]),i[1].slice(-1)=="%"&&(f*=2.55),o=e(i[2]),i[2].slice(-1)=="%"&&(o*=2.55),(i[0].slice(-3)=="deg"||i[0].slice(-1)=="°")&&(u/=360),r[1].toLowerCase().slice(0,4)=="hsba"&&(s=e(i[3])),i[3]&&i[3].slice(-1)=="%"&&(s/=100),n.hsb2rgb(u,f,o,s)):r[6]?(i=r[6][tt](li),u=e(i[0]),i[0].slice(-1)=="%"&&(u*=2.55),f=e(i[1]),i[1].slice(-1)=="%"&&(f*=2.55),o=e(i[2]),i[2].slice(-1)=="%"&&(o*=2.55),(i[0].slice(-3)=="deg"||i[0].slice(-1)=="°")&&(u/=360),r[1].toLowerCase().slice(0,4)=="hsla"&&(s=e(i[3])),i[3]&&i[3].slice(-1)=="%"&&(s/=100),n.hsl2rgb(u,f,o,s)):(r={r:u,g:f,b:o,toString:yt},r.hex="#"+(16777216|o|f<<8|u<<16).toString(16).slice(1),n.is(s,"finite")&&(r.opacity=s),r):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:yt}},n);n.hsb=v(function(t,i,r){return n.hsb2rgb(t,i,r).hex});n.hsl=v(function(t,i,r){return n.hsl2rgb(t,i,r).hex});n.rgb=v(function(n,t,i){return"#"+(16777216|i|t<<8|n<<16).toString(16).slice(1)});n.getColor=function(n){var t=this.getColor.start=this.getColor.start||{h:0,s:1,b:n||.75},i=this.hsb2rgb(t.h,t.s,t.b);return t.h+=.075,t.h>1&&(t.h=0,t.s-=.2,t.s<=0&&(this.getColor.start={h:0,s:1,b:t.b})),i.hex};n.getColor.reset=function(){delete this.start};n.parsePathString=v(function(t){if(!t)return null;var r={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},i=[];return n.is(t,w)&&n.is(t[0],w)&&(i=lt(t)),i.length||y(t).replace(lu,function(n,t,u){var e=[],o=t.toLowerCase();if(u.replace(er,function(n,t){t&&e.push(+t)}),o=="m"&&e.length>2&&(i.push([t][f](e.splice(0,2))),o="l",t=t=="m"?"l":"L"),o=="r")i.push([t][f](e));else while(e.length>=r[o])if(i.push([t][f](e.splice(0,r[o]))),!r[o])break}),i.toString=n._path2string,i});n.parseTransformString=v(function(t){if(!t)return null;var i=[];return n.is(t,w)&&n.is(t[0],w)&&(i=lt(t)),i.length||y(t).replace(au,function(n,t,r){var u=[],e=pt.call(t);r.replace(er,function(n,t){t&&u.push(+t)});i.push([t][f](u))}),i.toString=n._path2string,i});n.findDotsAtSegment=function(n,t,r,u,f,e,o,s,h){var c=1-h,k=a(c,3),d=a(c,2),l=h*h,g=l*h,tt=k*n+d*3*h*r+c*3*h*h*f+g*o,it=k*t+d*3*h*u+c*3*h*h*e+g*s,v=n+2*h*(r-n)+l*(f-2*r+n),y=t+2*h*(u-t)+l*(e-2*u+t),w=r+2*h*(f-r)+l*(o-2*f+r),b=u+2*h*(e-u)+l*(s-2*e+u),rt=c*n+h*r,ut=c*t+h*u,ft=c*f+h*o,et=c*e+h*s,nt=90-i.atan2(v-w,y-b)*180/p;return(v>w||y<b)&&(nt+=180),{x:tt,y:it,m:{x:v,y:y},n:{x:w,y:b},start:{x:rt,y:ut},end:{x:ft,y:et},alpha:nt}};n._removedFactory=function(n){return function(){throw new Error("Raphaël: you are calling to method “"+n+"” of removed object");}};var ar=v(function(n){var h,v,u,c,a;if(!n)return{x:0,y:0,width:0,height:0};n=at(n);var e=0,o=0,i=[],r=[],t;for(h=0,v=n.length;h<v;h++)t=n[h],t[0]=="M"?(e=t[1],o=t[2],i.push(e),r.push(o)):(u=nf(e,o,t[1],t[2],t[3],t[4],t[5],t[6]),i=i[f](u.min.x,u.max.x),r=r[f](u.min.y,u.max.y),e=t[5],o=t[6]);return c=nt[s](0,i),a=nt[s](0,r),{x:c,y:a,width:l[s](0,i)-c,height:l[s](0,r)-a}},null,function(n){return{x:n.x,y:n.y,width:n.width,height:n.height}}),lt=function(t){var u=[],i,f,r,e;for(n.is(t,w)&&n.is(t&&t[0],w)||(t=n.parsePathString(t)),i=0,f=t.length;i<f;i++)for(u[i]=[],r=0,e=t[i].length;r<e;r++)u[i][r]=t[i][r];return u.toString=n._path2string,u},gu=n._pathToRelative=v(function(t){var r,y,u,i,s,p,h,b,c;n.is(t,w)&&n.is(t&&t[0],w)||(t=n.parsePathString(t));var f=[],o=0,e=0,l=0,a=0,v=0;for(t[0][0]=="M"&&(o=t[0][1],e=t[0][2],l=o,a=e,v++,f.push(["M",o,e])),r=v,y=t.length;r<y;r++){if(u=f[r]=[],i=t[r],i[0]!=pt.call(i[0])){u[0]=pt.call(i[0]);switch(u[0]){case"a":u[1]=i[1];u[2]=i[2];u[3]=i[3];u[4]=i[4];u[5]=i[5];u[6]=+(i[6]-o).toFixed(3);u[7]=+(i[7]-e).toFixed(3);break;case"v":u[1]=+(i[1]-e).toFixed(3);break;case"m":l=i[1];a=i[2];default:for(s=1,p=i.length;s<p;s++)u[s]=+(i[s]-(s%2?o:e)).toFixed(3)}}else for(u=f[r]=[],i[0]=="m"&&(l=i[1]+o,a=i[2]+e),h=0,b=i.length;h<b;h++)f[r][h]=i[h];c=f[r].length;switch(f[r][0]){case"z":o=l;e=a;break;case"h":o+=+f[r][c-1];break;case"v":e+=+f[r][c-1];break;default:o+=+f[r][c-2];e+=+f[r][c-1]}}return f.toString=n._path2string,f},0,lt),vr=n._pathToAbsolute=v(function(t){var p,i,r,v,k,h,o,y,c,d;if(n.is(t,w)&&n.is(t&&t[0],w)||(t=n.parsePathString(t)),!t||!t.length)return[["M",0,0]];var s=[],u=0,e=0,l=0,a=0,b=0;for(t[0][0]=="M"&&(u=+t[0][1],e=+t[0][2],l=u,a=e,b++,s[0]=["M",u,e]),p=t.length==3&&t[0][0]=="M"&&t[1][0].toUpperCase()=="R"&&t[2][0].toUpperCase()=="Z",v=b,k=t.length;v<k;v++){if(s.push(i=[]),r=t[v],r[0]!=fr.call(r[0])){i[0]=fr.call(r[0]);switch(i[0]){case"A":i[1]=r[1];i[2]=r[2];i[3]=r[3];i[4]=r[4];i[5]=r[5];i[6]=+(r[6]+u);i[7]=+(r[7]+e);break;case"V":i[1]=+r[1]+e;break;case"H":i[1]=+r[1]+u;break;case"R":for(h=[u,e][f](r.slice(1)),o=2,y=h.length;o<y;o++)h[o]=+h[o]+u,h[++o]=+h[o]+e;s.pop();s=s[f](ir(h,p));break;case"M":l=+r[1]+u;a=+r[2]+e;default:for(o=1,y=r.length;o<y;o++)i[o]=+r[o]+(o%2?u:e)}}else if(r[0]=="R")h=[u,e][f](r.slice(1)),s.pop(),s=s[f](ir(h,p)),i=["R"][f](r.slice(-2));else for(c=0,d=r.length;c<d;c++)i[c]=r[c];switch(i[0]){case"Z":u=l;e=a;break;case"H":u=i[1];break;case"V":e=i[1];break;case"M":l=i[i.length-2];a=i[i.length-1];default:u=i[i.length-2];e=i[i.length-1]}}return s.toString=n._path2string,s},null,lt),gt=function(n,t,i,r){return[n,t,i,r,i,r]},yr=function(n,t,i,r,u,f){var e=1/3,o=2/3;return[e*n+o*i,e*t+o*r,e*u+o*i,e*f+o*r,u,f]},pr=function(n,t,r,u,e,o,s,h,c,l){var at=p*120/180,et=p/180*(+e||0),w=[],nt,ot=v(function(n,t,r){var u=n*i.cos(r)-t*i.sin(r),f=n*i.sin(r)+t*i.cos(r);return{x:u,y:f}}),st,lt,b,gt;if(l)y=l[0],a=l[1],ut=l[2],ft=l[3];else{nt=ot(n,t,-et);n=nt.x;t=nt.y;nt=ot(h,c,-et);h=nt.x;c=nt.y;var oi=i.cos(p/180*e),si=i.sin(p/180*e),d=(n-h)/2,g=(t-c)/2,rt=d*d/(r*r)+g*g/(u*u);rt>1&&(rt=i.sqrt(rt),r=rt*r,u=rt*u);var ht=r*r,ct=u*u,vt=(o==s?-1:1)*i.sqrt(k((ht*ct-ht*g*g-ct*d*d)/(ht*g*g+ct*d*d))),ut=vt*r*g/u+(n+h)/2,ft=vt*-u*d/r+(t+c)/2,y=i.asin(((t-ft)/u).toFixed(9)),a=i.asin(((c-ft)/u).toFixed(9));y=n<ut?p-y:y;a=h<ut?p-a:a;y<0&&(y=p*2+y);a<0&&(a=p*2+a);s&&y>a&&(y=y-p*2);!s&&a>y&&(a=a-p*2)}if(st=a-y,k(st)>at){var ni=a,ti=h,ii=c;a=y+at*(s&&a>y?1:-1);h=ut+r*i.cos(a);c=ft+u*i.sin(a);w=pr(h,c,r,u,e,0,s,ti,ii,[a,ni,ut,ft])}st=a-y;var ri=i.cos(y),ui=i.sin(y),fi=i.cos(a),ei=i.sin(a),yt=i.tan(st/4),pt=4/3*r*yt,wt=4/3*u*yt,bt=[n,t],it=[n+pt*ui,t-wt*ri],kt=[h+pt*ei,c-wt*fi],dt=[h,c];if(it[0]=2*bt[0]-it[0],it[1]=2*bt[1]-it[1],l)return[it,kt,dt][f](w);for(w=[it,kt,dt][f](w).join()[tt](","),lt=[],b=0,gt=w.length;b<gt;b++)lt[b]=b%2?ot(w[b-1],w[b],et).y:ot(w[b],w[b+1],et).x;return lt},ni=function(n,t,i,r,u,f,e,o,s){var h=1-s;return{x:a(h,3)*n+a(h,2)*3*s*i+h*3*s*s*u+a(s,3)*e,y:a(h,3)*t+a(h,2)*3*s*r+h*3*s*s*f+a(s,3)*o}},nf=v(function(n,t,r,u,f,e,o,h){var p=f-2*r+n-(o-2*f+r),c=2*(r-n)-2*(f-r),d=n-r,v=(-c+i.sqrt(c*c-4*p*d))/2/p,y=(-c-i.sqrt(c*c-4*p*d))/2/p,w=[t,h],b=[n,o],a;return k(v)>"1e12"&&(v=.5),k(y)>"1e12"&&(y=.5),v>0&&v<1&&(a=ni(n,t,r,u,f,e,o,h,v),b.push(a.x),w.push(a.y)),y>0&&y<1&&(a=ni(n,t,r,u,f,e,o,h,y),b.push(a.x),w.push(a.y)),p=e-2*u+t-(h-2*e+u),c=2*(u-t)-2*(e-u),d=t-u,v=(-c+i.sqrt(c*c-4*p*d))/2/p,y=(-c-i.sqrt(c*c-4*p*d))/2/p,k(v)>"1e12"&&(v=.5),k(y)>"1e12"&&(y=.5),v>0&&v<1&&(a=ni(n,t,r,u,f,e,o,h,v),b.push(a.x),w.push(a.y)),y>0&&y<1&&(a=ni(n,t,r,u,f,e,o,h,y),b.push(a.x),w.push(a.y)),{min:{x:nt[s](0,b),y:nt[s](0,w)},max:{x:l[s](0,b),y:l[s](0,w)}}}),at=n._path2curve=v(function(n,t){for(var u=vr(n),i=t&&vr(t),o={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},w=function(n,t){var i,r;if(!n)return["C",t.x,t.y,t.x,t.y,t.x,t.y];n[0]in{T:1,Q:1}||(t.qx=t.qy=null);switch(n[0]){case"M":t.X=n[1];t.Y=n[2];break;case"A":n=["C"][f](pr[s](0,[t.x,t.y][f](n.slice(1))));break;case"S":i=t.x+(t.x-(t.bx||t.x));r=t.y+(t.y-(t.by||t.y));n=["C",i,r][f](n.slice(1));break;case"T":t.qx=t.x+(t.x-(t.qx||t.x));t.qy=t.y+(t.y-(t.qy||t.y));n=["C"][f](yr(t.x,t.y,t.qx,t.qy,n[1],n[2]));break;case"Q":t.qx=n[1];t.qy=n[2];n=["C"][f](yr(t.x,t.y,n[1],n[2],n[3],n[4]));break;case"L":n=["C"][f](gt(t.x,t.y,n[1],n[2]));break;case"H":n=["C"][f](gt(t.x,t.y,n[1],t.y));break;case"V":n=["C"][f](gt(t.x,t.y,t.x,n[1]));break;case"Z":n=["C"][f](gt(t.x,t.y,t.X,t.Y))}return n},b=function(n,t){if(n[t].length>7){n[t].shift();for(var r=n[t];r.length;)n.splice(t++,0,["C"][f](r.splice(0,6)));n.splice(t,1);v=l(u.length,i&&i.length||0)}},k=function(n,t,r,f,e){n&&t&&n[e][0]=="M"&&t[e][0]!="M"&&(t.splice(e,0,["M",f.x,f.y]),r.bx=0,r.by=0,r.x=n[e][1],r.y=n[e][2],v=l(u.length,i&&i.length||0))},r=0,v=l(u.length,i&&i.length||0);r<v;r++){u[r]=w(u[r],o);b(u,r);i&&(i[r]=w(i[r],h));i&&b(i,r);k(u,i,o,h,r);k(i,u,h,o,r);var c=u[r],a=i&&i[r],y=c.length,p=i&&a.length;o.x=c[y-2];o.y=c[y-1];o.bx=e(c[y-4])||o.x;o.by=e(c[y-3])||o.y;h.bx=i&&(e(a[p-4])||h.x);h.by=i&&(e(a[p-3])||h.y);h.x=i&&a[p-2];h.y=i&&a[p-1]}return i?[u,i]:u},null,lt),af=n._parseDots=v(function(t){for(var r=[],f,h,c,o,u,l,i=0,s=t.length;i<s;i++){if(f={},h=t[i].match(/^([^:]*):?([\d\.]*)/),f.color=n.getRGB(h[1]),f.color.error)return null;f.color=f.color.hex;h[2]&&(f.offset=h[2]+"%");r.push(f)}for(i=1,s=r.length-1;i<s;i++)if(!r[i].offset){for(c=e(r[i-1].offset||0),o=0,u=i+1;u<s;u++)if(r[u].offset){o=r[u].offset;break}for(o||(o=100,u=s),o=e(o),l=(o-c)/(u-i+1);i<u;i++)c+=l,r[i].offset=c+"%"}return r}),ti=n._tear=function(n,t){n==t.top&&(t.top=n.prev);n==t.bottom&&(t.bottom=n.next);n.next&&(n.next.prev=n.prev);n.prev&&(n.prev.next=n.next)},vf=n._tofront=function(n,t){t.top!==n&&(ti(n,t),n.next=null,n.prev=t.top,t.top.next=n,t.top=n)},yf=n._toback=function(n,t){t.bottom!==n&&(ti(n,t),n.next=t.bottom,n.prev=null,t.bottom.prev=n,t.bottom=n)},pf=n._insertafter=function(n,t,i){ti(n,i);t==i.top&&(i.top=n);t.next&&(t.next.prev=n);n.next=t.next;n.prev=t;t.next=n},wf=n._insertbefore=function(n,t,i){ti(n,i);t==i.bottom&&(i.bottom=n);t.prev&&(t.prev.next=n);n.prev=t.prev;t.prev=n;n.next=t},tf=n._extractTransform=function(t,i){var b,tt;if(i==null)return t._.transform;i=y(i).replace(/\.{3}|\u2026/g,t._.transform||g);var a=n.parseTransformString(i),v=0,d=0,nt=0,p=1,w=1,e=t._,u=new rt;if(e.transform=a||[],a)for(b=0,tt=a.length;b<tt;b++){var r=a[b],o=r.length,l=y(r[0]).toLowerCase(),k=r[0]!=l,s=k?u.invert():0,it,ut,h,c,f;l=="t"&&o==3?k?(it=s.x(0,0),ut=s.y(0,0),h=s.x(r[1],r[2]),c=s.y(r[1],r[2]),u.translate(h-it,c-ut)):u.translate(r[1],r[2]):l=="r"?o==2?(f=f||t.getBBox(1),u.rotate(r[1],f.x+f.width/2,f.y+f.height/2),v+=r[1]):o==4&&(k?(h=s.x(r[2],r[3]),c=s.y(r[2],r[3]),u.rotate(r[1],h,c)):u.rotate(r[1],r[2],r[3]),v+=r[1]):l=="s"?o==2||o==3?(f=f||t.getBBox(1),u.scale(r[1],r[o-1],f.x+f.width/2,f.y+f.height/2),p*=r[1],w*=r[o-1]):o==5&&(k?(h=s.x(r[3],r[4]),c=s.y(r[3],r[4]),u.scale(r[1],r[2],h,c)):u.scale(r[1],r[2],r[3],r[4]),p*=r[1],w*=r[2]):l=="m"&&o==7&&u.add(r[1],r[2],r[3],r[4],r[5],r[6]);e.dirtyT=1;t.matrix=u}t.matrix=u;e.sx=p;e.sy=w;e.deg=v;e.dx=d=u.e;e.dy=nt=u.f;p==1&&w==1&&!v&&e.bbox?(e.bbox.x+=+d,e.bbox.y+=+nt):e.dirtyT=1},wr=function(n){var t=n[0];switch(t.toLowerCase()){case"t":return[t,0,0];case"m":return[t,1,0,0,1,0,0];case"r":return n.length==4?[t,0,n[2],n[3]]:[t,0];case"s":return n.length==5?[t,1,1,n[3],n[4]]:n.length==3?[t,1,1]:[t,1]}},rf=n._equaliseTransform=function(t,i){i=y(i).replace(/\.{3}|\u2026/g,t);t=n.parseTransformString(t)||[];i=n.parseTransformString(i)||[];for(var c=l(t.length,i.length),o=[],s=[],u=0,f,h,r,e;u<c;u++){if(r=t[u]||wr(i[u]),e=i[u]||wr(r),r[0]!=e[0]||r[0].toLowerCase()=="r"&&(r[2]!=e[2]||r[3]!=e[3])||r[0].toLowerCase()=="s"&&(r[3]!=e[3]||r[4]!=e[4]))return;for(o[u]=[],s[u]=[],f=0,h=l(r.length,e.length);f<h;f++)f in r&&(o[u][f]=r[f]),f in e&&(s[u][f]=e[f])}return{from:o,to:s}};n._getContainer=function(i,r,u,f){var e;return e=f==null&&!n.is(i,"object")?t.doc.getElementById(i):i,e!=null?e.tagName?r==null?{container:e,width:e.style.pixelWidth||e.offsetWidth,height:e.style.pixelHeight||e.offsetHeight}:{container:e,width:r,height:u}:{container:1,x:i,y:r,width:u,height:f}:void 0};n.pathToRelative=gu;n._engine={};n.path2curve=at;n.matrix=function(n,t,i,r,u,f){return new rt(n,t,i,r,u,f)},function(t){function u(n){var t=i.sqrt(r(n));n[0]&&(n[0]/=t);n[1]&&(n[1]/=t)}function r(n){return n[0]*n[0]+n[1]*n[1]}t.add=function(n,t,i,r,u,f){var e=[[],[],[]],a=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],l=[[n,i,u],[t,r,f],[0,0,1]],o,s,h,c;for(n&&n instanceof rt&&(l=[[n.a,n.c,n.e],[n.b,n.d,n.f],[0,0,1]]),o=0;o<3;o++)for(s=0;s<3;s++){for(c=0,h=0;h<3;h++)c+=a[o][h]*l[h][s];e[o][s]=c}this.a=e[0][0];this.b=e[1][0];this.c=e[0][1];this.d=e[1][1];this.e=e[0][2];this.f=e[1][2]};t.invert=function(){var n=this,t=n.a*n.d-n.b*n.c;return new rt(n.d/t,-n.b/t,-n.c/t,n.a/t,(n.c*n.f-n.d*n.e)/t,(n.b*n.e-n.a*n.f)/t)};t.clone=function(){return new rt(this.a,this.b,this.c,this.d,this.e,this.f)};t.translate=function(n,t){this.add(1,0,0,1,n,t)};t.scale=function(n,t,i,r){t==null&&(t=n);(i||r)&&this.add(1,0,0,1,i,r);this.add(n,0,0,t,0,0);(i||r)&&this.add(1,0,0,1,-i,-r)};t.rotate=function(t,r,u){t=n.rad(t);r=r||0;u=u||0;var f=+i.cos(t).toFixed(9),e=+i.sin(t).toFixed(9);this.add(f,e,-e,f,r,u);this.add(1,0,0,1,-r,-u)};t.x=function(n,t){return n*this.a+t*this.c+this.e};t.y=function(n,t){return n*this.b+t*this.d+this.f};t.get=function(n){return+this[y.fromCharCode(97+n)].toFixed(4)};t.toString=function(){return n.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()};t.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"};t.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};t.split=function(){var t={},f,e,o;return t.dx=this.e,t.dy=this.f,f=[[this.a,this.c],[this.b,this.d]],t.scalex=i.sqrt(r(f[0])),u(f[0]),t.shear=f[0][0]*f[1][0]+f[0][1]*f[1][1],f[1]=[f[1][0]-f[0][0]*t.shear,f[1][1]-f[0][1]*t.shear],t.scaley=i.sqrt(r(f[1])),u(f[1]),t.shear/=t.scaley,e=-f[0][1],o=f[1][1],o<0?(t.rotate=n.deg(i.acos(o)),e<0&&(t.rotate=360-t.rotate)):t.rotate=n.deg(i.asin(e)),t.isSimple=!+t.shear.toFixed(9)&&(t.scalex.toFixed(9)==t.scaley.toFixed(9)||!t.rotate),t.isSuperSimple=!+t.shear.toFixed(9)&&t.scalex.toFixed(9)==t.scaley.toFixed(9)&&!t.rotate,t.noRotation=!+t.shear.toFixed(9)&&!t.rotate,t};t.toTransformString=function(n){var t=n||this[tt]();return t.isSimple?(t.scalex=+t.scalex.toFixed(4),t.scaley=+t.scaley.toFixed(4),t.rotate=+t.rotate.toFixed(4),(t.dx||t.dy?"t"+[t.dx,t.dy]:g)+(t.scalex!=1||t.scaley!=1?"s"+[t.scalex,t.scaley,0,0]:g)+(t.rotate?"r"+[t.rotate,0,0]:g)):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}}(rt.prototype);vt=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);o.safari=navigator.vendor=="Apple Computer, Inc."&&(vt&&vt[1]<4||navigator.platform.slice(0,2)=="iP")||navigator.vendor=="Google Inc."&&vt&&vt[1]<8?function(){var n=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){n.remove()})}:yu;var uf=function(){this.returnValue=!1},ff=function(){return this.originalEvent.preventDefault()},ef=function(){this.cancelBubble=!0},of=function(){return this.originalEvent.stopPropagation()},sf=function(){return t.doc.addEventListener?function(n,i,r,u){var f=oi&&si[i]?si[i]:i,e=function(f){var c=t.doc.documentElement.scrollTop||t.doc.body.scrollTop,l=t.doc.documentElement.scrollLeft||t.doc.body.scrollLeft,a=f.clientX+l,v=f.clientY+c,e,o,s;if(oi&&si[h](i))for(e=0,o=f.targetTouches&&f.targetTouches.length;e<o;e++)if(f.targetTouches[e].target==n){s=f;f=f.targetTouches[e];f.originalEvent=s;f.preventDefault=ff;f.stopPropagation=of;break}return r.call(u,f,a,v)};return n.addEventListener(f,e,!1),function(){return n.removeEventListener(f,e,!1),!0}}:t.doc.attachEvent?function(n,i,r,u){var f=function(n){n=n||t.win.event;var i=t.doc.documentElement.scrollTop||t.doc.body.scrollTop,f=t.doc.documentElement.scrollLeft||t.doc.body.scrollLeft,e=n.clientX+f,o=n.clientY+i;return n.preventDefault=n.preventDefault||uf,n.stopPropagation=n.stopPropagation||ef,r.call(u,n,e,o)};return n.attachEvent("on"+i,f),function(){return n.detachEvent("on"+i,f),!0}}:void 0}(),ft=[],yi=function(n){for(var u=n.clientX,f=n.clientY,a=t.doc.documentElement.scrollTop||t.doc.body.scrollTop,v=t.doc.documentElement.scrollLeft||t.doc.body.scrollLeft,i,c=ft.length,o,e;c--;){if(i=ft[c],oi){for(o=n.touches.length;o--;)if(e=n.touches[o],e.identifier==i.el._drag.id){u=e.clientX;f=e.clientY;(n.originalEvent?n.originalEvent:n).preventDefault();break}}else n.preventDefault();var r=i.el.node,s,l=r.nextSibling,h=r.parentNode,y=r.style.display;t.win.opera&&h.removeChild(r);r.style.display="none";s=i.el.paper.getElementByPoint(u,f);r.style.display=y;t.win.opera&&(l?h.insertBefore(r,l):h.appendChild(r));s&&eve("drag.over."+i.el.id,i.el,s);u+=v;f+=a;eve("drag.move."+i.el.id,i.move_scope||i.el,u-i.el._drag.x,f-i.el._drag.y,u,f,n)}},pi=function(t){n.unmousemove(yi).unmouseup(pi);for(var r=ft.length,i;r--;)i=ft[r],i.el._drag={},eve("drag.end."+i.el.id,i.end_scope||i.start_scope||i.move_scope||i.el,t);ft=[]},u=n.el={};for(wi=ur.length;wi--;)(function(i){n[i]=u[i]=function(r,u){return n.is(r,"function")&&(this.events=this.events||[],this.events.push({name:i,f:r,unbind:sf(this.shape||this.node||t.doc,i,r,u||this)})),this};n["un"+i]=u["un"+i]=function(n){for(var t=this.events||[],r=t.length;r--;)if(t[r].name==i&&t[r].f==n)return t[r].unbind(),t.splice(r,1),!t.length&&delete this.events,this;return this}})(ur[wi]);u.data=function(t,i){var u=ct[this.id]=ct[this.id]||{},r;if(arguments.length==1){if(n.is(t,"object")){for(r in t)t[h](r)&&this.data(r,t[r]);return this}return eve("data.get."+this.id,this,u[t],t),u[t]}return u[t]=i,eve("data.set."+this.id,this,i,t),this};u.removeData=function(n){return n==null?ct[this.id]={}:ct[this.id]&&delete ct[this.id][n],this};u.hover=function(n,t,i,r){return this.mouseover(n,i).mouseout(t,r||i)};u.unhover=function(n,t){return this.unmouseover(n).unmouseout(t)};et=[];u.drag=function(i,r,u,f,e,o){function s(s){(s.originalEvent||s).preventDefault();var h=t.doc.documentElement.scrollTop||t.doc.body.scrollTop,c=t.doc.documentElement.scrollLeft||t.doc.body.scrollLeft;this._drag.x=s.clientX+c;this._drag.y=s.clientY+h;this._drag.id=s.identifier;!ft.length&&n.mousemove(yi).mouseup(pi);ft.push({el:this,move_scope:f,start_scope:e,end_scope:o});r&&eve.on("drag.start."+this.id,r);i&&eve.on("drag.move."+this.id,i);u&&eve.on("drag.end."+this.id,u);eve("drag.start."+this.id,e||f||this,s.clientX+c,s.clientY+h,s)}return this._drag={},et.push({el:this,start:s}),this.mousedown(s),this};u.onDragOver=function(n){n?eve.on("drag.over."+this.id,n):eve.unbind("drag.over."+this.id)};u.undrag=function(){for(var t=et.length;t--;)et[t].el==this&&(this.unmousedown(et[t].start),et.splice(t,1),eve.unbind("drag.*."+this.id));et.length||n.unmousemove(yi).unmouseup(pi)};o.circle=function(t,i,r){var u=n._engine.circle(this,t||0,i||0,r||0);return this.__set__&&this.__set__.push(u),u};o.rect=function(t,i,r,u,f){var e=n._engine.rect(this,t||0,i||0,r||0,u||0,f||0);return this.__set__&&this.__set__.push(e),e};o.ellipse=function(t,i,r,u){var f=n._engine.ellipse(this,t||0,i||0,r||0,u||0);return this.__set__&&this.__set__.push(f),f};o.path=function(t){!t||n.is(t,wt)||n.is(t[0],w)||(t+=g);var i=n._engine.path(n.format[s](n,arguments),this);return this.__set__&&this.__set__.push(i),i};o.image=function(t,i,r,u,f){var e=n._engine.image(this,t||"about:blank",i||0,r||0,u||0,f||0);return this.__set__&&this.__set__.push(e),e};o.text=function(t,i,r){var u=n._engine.text(this,t||0,i||0,y(r));return this.__set__&&this.__set__.push(u),u};o.set=function(t){n.is(t,"array")||(t=Array.prototype.splice.call(arguments,0,arguments.length));var i=new ot(t);return this.__set__&&this.__set__.push(i),i};o.setStart=function(n){this.__set__=n||this.set()};o.setFinish=function(){var n=this.__set__;return delete this.__set__,n};o.setSize=function(t,i){return n._engine.setSize.call(this,t,i)};o.setViewBox=function(t,i,r,u,f){return n._engine.setViewBox.call(this,t,i,r,u,f)};o.top=o.bottom=null;o.raphael=n;br=function(n){var u=n.getBoundingClientRect(),f=n.ownerDocument,i=f.body,r=f.documentElement,e=r.clientTop||i.clientTop||0,o=r.clientLeft||i.clientLeft||0,s=u.top+(t.win.pageYOffset||r.scrollTop||i.scrollTop)-e,h=u.left+(t.win.pageXOffset||r.scrollLeft||i.scrollLeft)-o;return{y:s,x:h}};o.getElementByPoint=function(n,i){var o=this,f=o.canvas,r=t.doc.elementFromPoint(n,i),s,u,e;if(t.win.opera&&r.tagName=="svg"&&(s=br(f),u=f.createSVGRect(),u.x=n-s.x,u.y=i-s.y,u.width=u.height=1,e=f.getIntersectionList(u,null),e.length&&(r=e[e.length-1])),!r)return null;while(r.parentNode&&r!=f.parentNode&&!r.raphael)r=r.parentNode;return r==o.canvas.parentNode&&(r=f),r=r&&r.raphael?o.getById(r.raphaelid):null,r};o.getById=function(n){for(var t=this.bottom;t;){if(t.id==n)return t;t=t.next}return null};o.forEach=function(n,t){for(var i=this.bottom;i;){if(n.call(t,i)===!1)return this;i=i.next}return this};u.getBBox=function(n){if(this.removed)return{};var t=this._;return n?((t.dirty||!t.bboxwt)&&(this.realPath=vi[this.type](this),t.bboxwt=ar(this.realPath),t.bboxwt.toString=tr,t.dirty=0),t.bboxwt):((t.dirty||t.dirtyT||!t.bbox)&&((t.dirty||!this.realPath)&&(t.bboxwt=0,this.realPath=vi[this.type](this)),t.bbox=ar(sr(this.realPath,this.matrix)),t.bbox.toString=tr,t.dirty=t.dirtyT=0),t.bbox)};u.clone=function(){if(this.removed)return null;var n=this.paper[this.type]().attr(this.attr());return this.__set__&&this.__set__.push(n),n};u.glow=function(n){var r;if(this.type=="text")return null;n=n||{};var t={width:(n.width||10)+(+this.attr("stroke-width")||1),fill:n.fill||!1,opacity:n.opacity||.5,offsetx:n.offsetx||0,offsety:n.offsety||0,color:n.color||"#000"},u=t.width/2,f=this.paper,e=f.set(),i=this.realPath||vi[this.type](this);for(i=this.matrix?sr(i,this.matrix):i,r=1;r<u+1;r++)e.push(f.path(i).attr({stroke:t.color,fill:t.fill?t.color:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(t.width/u*r).toFixed(3),opacity:+(t.opacity/u).toFixed(3)}));return e.insertBefore(this).translate(t.offsetx,t.offsety)};var bi={},ii=function(t,i,r,u,f,e,o,s,h){var p=0,v=100,w=[t,i,r,u,f,e,o,s].join(),c=bi[w],b,y,k,l;for(c||(bi[w]=c={data:[]}),c.timer&&clearTimeout(c.timer),c.timer=setTimeout(function(){delete bi[w]},2e3),h==null||c.precision||(k=ii(t,i,r,u,f,e,o,s),c.precision=~~k*10,c.data=[]),v=c.precision||v,l=0;l<v+1;l++){if(c.data[l*v]?y=c.data[l*v]:(y=n.findDotsAtSegment(t,i,r,u,f,e,o,s,l/v),c.data[l*v]=y),l&&(p+=a(a(b.x-y.x,2)+a(b.y-y.y,2),.5)),h!=null&&p>=h)return y;b=y}if(h==null)return p},ki=function(t,i){return function(r,u,f){var y,p;r=at(r);var s,h,e,a,c="",v={},o,l=0;for(y=0,p=r.length;y<p;y++){if(e=r[y],e[0]=="M")s=+e[1],h=+e[2];else{if(a=ii(s,h,e[1],e[2],e[3],e[4],e[5],e[6]),l+a>u){if(i&&!v.start){if(o=ii(s,h,e[1],e[2],e[3],e[4],e[5],e[6],u-l),c+=["C"+o.start.x,o.start.y,o.m.x,o.m.y,o.x,o.y],f)return c;v.start=c;c=["M"+o.x,o.y+"C"+o.n.x,o.n.y,o.end.x,o.end.y,e[5],e[6]].join();l+=a;s=+e[5];h=+e[6];continue}if(!t&&!i)return o=ii(s,h,e[1],e[2],e[3],e[4],e[5],e[6],u-l),{x:o.x,y:o.y,alpha:o.alpha}}l+=a;s=+e[5];h=+e[6]}c+=e.shift()+e}return v.end=c,o=t?l:i?v:n.findDotsAtSegment(s,h,e[0],e[1],e[2],e[3],e[4],e[5],1),o.alpha&&(o={x:o.x,y:o.y,alpha:o.alpha}),o}},kr=ki(1),dr=ki(),di=ki(0,1);n.getTotalLength=kr;n.getPointAtLength=dr;n.getSubpath=function(n,t,i){if(this.getTotalLength(n)-i<1e-6)return di(n,t).end;var r=di(n,i,1);return t?di(r,t).end:r};u.getTotalLength=function(){if(this.type=="path")return this.node.getTotalLength?this.node.getTotalLength():kr(this.attrs.path)};u.getPointAtLength=function(n){if(this.type=="path")return dr(this.attrs.path,n)};u.getSubpath=function(t,i){if(this.type=="path")return n.getSubpath(this.attrs.path,t,i)};d=n.easing_formulas={linear:function(n){return n},"<":function(n){return a(n,1.7)},">":function(n){return a(n,.48)},"<>":function(n){var r=.48-n/1.04,u=i.sqrt(.1734+r*r),f=u-r,o=a(k(f),1/3)*(f<0?-1:1),e=-u-r,s=a(k(e),1/3)*(e<0?-1:1),t=o+s+.5;return(1-t)*3*t*t+t*t*t},backIn:function(n){var t=1.70158;return n*n*((t+1)*n-t)},backOut:function(n){n=n-1;var t=1.70158;return n*n*((t+1)*n+t)+1},elastic:function(n){return n==!!n?n:a(2,-10*n)*i.sin((n-.075)*2*p/.3)+1},bounce:function(n){var r=7.5625,t=2.75,i;return n<1/t?i=r*n*n:n<2/t?(n-=1.5/t,i=r*n*n+.75):n<2.5/t?(n-=2.25/t,i=r*n*n+.9375):(n-=2.625/t,i=r*n*n+.984375),i}};d.easeIn=d["ease-in"]=d["<"];d.easeOut=d["ease-out"]=d[">"];d.easeInOut=d["ease-in-out"]=d["<>"];d["back-in"]=d.backIn;d["back-out"]=d.backOut;var r=[],gr=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){setTimeout(n,16)},gi=function(){for(var ut=+new Date,w=0,t,v,i,u,d,l,g,p,rt;w<r.length;w++)if(t=r[w],!t.el.removed&&!t.paused){var b=ut-t.start,s=t.ms,ft=t.easing,o=t.from,a=t.diff,nt=t.to,et=t.t,y=t.el,tt={},e,it={},k;if(t.initstatus?(b=(t.initstatus*t.anim.top-t.prev)/(t.percent-t.prev)*s,t.status=t.initstatus,delete t.initstatus,t.stop&&r.splice(w--,1)):t.status=(t.prev+(t.percent-t.prev)*(b/s))/t.anim.top,!(b<0))if(b<s){v=ft(b/s);for(i in o)if(o[h](i)){switch(ci[i]){case c:e=+o[i]+v*s*a[i];break;case"colour":e="rgb("+[nr(hi(o[i].r+v*s*a[i].r)),nr(hi(o[i].g+v*s*a[i].g)),nr(hi(o[i].b+v*s*a[i].b))].join(",")+")";break;case"path":for(e=[],u=0,d=o[i].length;u<d;u++){for(e[u]=[o[i][u][0]],l=1,g=o[i][u].length;l<g;l++)e[u][l]=+o[i][u][l]+v*s*a[i][u][l];e[u]=e[u].join(st)}e=e.join(st);break;case"transform":if(a[i].real)for(e=[],u=0,d=o[i].length;u<d;u++)for(e[u]=[o[i][u][0]],l=1,g=o[i][u].length;l<g;l++)e[u][l]=o[i][u][l]+v*s*a[i][u][l];else p=function(n){return+o[i][n]+v*s*a[i][n]},e=[["m",p(0),p(1),p(2),p(3),p(4),p(5)]];break;case"csv":if(i=="clip-rect")for(e=[],u=4;u--;)e[u]=+o[i][u]+v*s*a[i][u];break;default:for(rt=[][f](o[i]),e=[],u=y.paper.customAttributes[i].length;u--;)e[u]=+rt[u]+v*s*a[i][u]}tt[i]=e}y.attr(tt),function(n,t,i){setTimeout(function(){eve("anim.frame."+n,t,i)})}(y.id,y,t.anim)}else{if(function(t,i,r){setTimeout(function(){eve("anim.frame."+i.id,i,r);eve("anim.finish."+i.id,i,r);n.is(t,"function")&&t.call(i)})}(t.callback,y,t.anim),y.attr(nt),r.splice(w--,1),t.repeat>1&&!t.next){for(k in nt)nt[h](k)&&(it[k]=t.totalOrigin[k]);t.el.attr(it);ht(t.anim,t.el,t.anim.percents[0],null,t.totalOrigin,t.repeat-1)}t.next&&!t.stop&&ht(t.anim,t.el,t.next,null,t.totalOrigin,t.repeat)}}n.svg&&y&&y.paper&&y.paper.safari();r.length&&gr(gi)},nr=function(n){return n>255?255:n<0?0:n};u.animateWith=function(t,i,u,f,e,o){var s=this,c,h,l;if(s.removed)return o&&o.call(s),s;for(c=u instanceof it?u:n.animation(u,f,e,o),ht(c,s,c.percents[0],null,s.attr()),h=0,l=r.length;h<l;h++)if(r[h].anim==i&&r[h].el==t){r[l-1].start=r[h].start;break}return s};u.onAnimation=function(n){return n?eve.on("anim.frame."+this.id,n):eve.unbind("anim.frame."+this.id),this};it.prototype.delay=function(n){var t=new it(this.anim,this.ms);return t.times=this.times,t.del=+n||0,t};it.prototype.repeat=function(n){var t=new it(this.anim,this.ms);return t.del=this.del,t.times=i.floor(l(n,0))||1,t};n.animation=function(t,i,r,u){if(t instanceof it)return t;(n.is(r,"function")||!r)&&(u=u||r||null,r=null);t=Object(t);i=+i||0;var o={},s,f;for(f in t)t[h](f)&&e(f)!=f&&e(f)+"%"!=f&&(s=!0,o[f]=t[f]);return s?(r&&(o.easing=r),u&&(o.callback=u),new it({100:o},i)):new it(t,i)};u.animate=function(t,i,r,u){var f=this,e;return f.removed?(u&&u.call(f),f):(e=t instanceof it?t:n.animation(t,i,r,u),ht(e,f,e.percents[0],null,f.attr()),f)};u.setTime=function(n,t){return n&&t!=null&&this.status(n,nt(t,n.ms)/n.ms),this};u.status=function(n,t){var f=[],u=0,e,i;if(t!=null)return ht(n,this,-1,nt(t,1)),this;for(e=r.length;u<e;u++)if(i=r[u],i.el.id==this.id&&(!n||i.anim==n)){if(n)return i.status;f.push({anim:i.anim,status:i.status})}return n?0:f};u.pause=function(n){for(var t=0;t<r.length;t++)r[t].el.id!=this.id||n&&r[t].anim!=n||eve("anim.pause."+this.id,this,r[t].anim)===!1||(r[t].paused=!0);return this};u.resume=function(n){for(var i,t=0;t<r.length;t++)r[t].el.id!=this.id||n&&r[t].anim!=n||(i=r[t],eve("anim.resume."+this.id,this,i.anim)!==!1&&(delete i.paused,this.status(i.anim,i.status)));return this};u.stop=function(n){for(var t=0;t<r.length;t++)r[t].el.id!=this.id||n&&r[t].anim!=n||eve("anim.stop."+this.id,this,r[t].anim)===!1||r.splice(t--,1);return this};u.toString=function(){return"Raphaël’s object"};ot=function(n){if(this.items=[],this.length=0,this.type="set",n)for(var t=0,i=n.length;t<i;t++)n[t]&&(n[t].constructor==u.constructor||n[t].constructor==ot)&&(this[this.items.length]=this.items[this.items.length]=n[t],this.length++)};b=ot.prototype;b.push=function(){for(var n,i,t=0,r=arguments.length;t<r;t++)n=arguments[t],n&&(n.constructor==u.constructor||n.constructor==ot)&&(i=this.items.length,this[i]=this.items[i]=n,this.length++);return this};b.pop=function(){return this.length&&delete this[this.length--],this.items.pop()};b.forEach=function(n,t){for(var i=0,r=this.items.length;i<r;i++)if(n.call(t,this.items[i],i)===!1)return this;return this};for(ri in u)u[h](ri)&&(b[ri]=function(n){return function(){var t=arguments;return this.forEach(function(i){i[n][s](i,t)})}}(ri));b.attr=function(t,i){var r,f,u,e;if(t&&n.is(t,w)&&n.is(t[0],"object"))for(r=0,f=t.length;r<f;r++)this.items[r].attr(t[r]);else for(u=0,e=this.items.length;u<e;u++)this.items[u].attr(t,i);return this};b.clear=function(){while(this.length)this.pop()};b.splice=function(n,t){var r;n=n<0?l(this.length+n,0):n;t=l(0,nt(this.length-n,t));for(var u=[],e=[],f=[],i=2;i<arguments.length;i++)f.push(arguments[i]);for(i=0;i<t;i++)e.push(this[n+i]);for(;i<this.length-n;i++)u.push(this[n+i]);for(r=f.length,i=0;i<r+u.length;i++)this.items[n+i]=this[n+i]=i<r?f[i]:u[i-r];for(i=this.items.length=this.length-=t-r;this[i];)delete this[i++];return new ot(e)};b.exclude=function(n){for(var t=0,i=this.length;t<i;t++)if(this[t]==n)return this.splice(t,1),!0};b.animate=function(t,i,r,u){var e;(n.is(r,"function")||!r)&&(u=r||null);var o=this.items.length,f=o,h,c=this,s;if(!o)return this;for(u&&(s=function(){--o||u.call(c)}),r=n.is(r,wt)?r:s,e=n.animation(t,i,r,s),h=this.items[--f].animate(e);f--;)this.items[f]&&!this.items[f].removed&&this.items[f].animateWith(h,e,e);return this};b.insertAfter=function(n){for(var t=this.items.length;t--;)this.items[t].insertAfter(n);return this};b.getBBox=function(){for(var t=[],i=[],u=[],f=[],n,r=this.items.length;r--;)this.items[r].removed||(n=this.items[r].getBBox(),t.push(n.x),i.push(n.y),u.push(n.x+n.width),f.push(n.y+n.height));return t=nt[s](0,t),i=nt[s](0,i),{x:t,y:i,width:l[s](0,u)-t,height:l[s](0,f)-i}};b.clone=function(n){n=new ot;for(var t=0,i=this.items.length;t<i;t++)n.push(this.items[t].clone());return n};b.toString=function(){return"Raphaël‘s set"};n.registerFont=function(n){var i,u,f,r,t,e;if(!n.face)return n;this.fonts=this.fonts||{};i={w:n.w,face:{},glyphs:{}};u=n.face["font-family"];for(f in n.face)n.face[h](f)&&(i.face[f]=n.face[f]);if(this.fonts[u]?this.fonts[u].push(i):this.fonts[u]=[i],!n.svg){i.face["units-per-em"]=ut(n.face["units-per-em"],10);for(r in n.glyphs)if(n.glyphs[h](r)&&(t=n.glyphs[r],i.glyphs[r]={w:t.w,k:{},d:t.d&&"M"+t.d.replace(/[mlcxtrv]/g,function(n){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[n]||"M"})+"z"},t.k))for(e in t.k)t[h](e)&&(i.glyphs[r].k[e]=t.k[e])}return n};o.getFont=function(t,i,r,u){var f,c,o,e,s,l;if(u=u||"normal",r=r||"normal",i=+i||{normal:400,bold:700,lighter:300,bolder:800}[i]||400,!!n.fonts){if(f=n.fonts[t],!f){c=new RegExp("(^|\\s)"+t.replace(/[^\w\d\s+!~.:_-]/g,g)+"(\\s|$)","i");for(o in n.fonts)if(n.fonts[h](o)&&c.test(o)){f=n.fonts[o];break}}if(f)for(s=0,l=f.length;s<l;s++)if(e=f[s],e.face["font-weight"]==i&&(e.face["font-style"]==r||!e.face["font-style"])&&e.face["font-stretch"]==u)break;return e}};o.print=function(t,i,r,u,f,e,o){var s,it,v,p;e=e||"middle";o=l(nt(o||0,1),-1);var w=this.set(),a=y(r)[tt](g),b=0,rt=g,h;if(n.is(u,r)&&(u=this.getFont(u)),u){h=(f||16)/u.face["units-per-em"];var c=u.face.bbox[tt](fi),k=+c[0],d=+c[1]+(e=="baseline"?c[3]-c[1]+ +u.face.descent:(c[3]-c[1])/2);for(s=0,it=a.length;s<it;s++)v=s&&u.glyphs[a[s-1]]||{},p=u.glyphs[a[s]],b+=s?(v.w||u.w)+(v.k&&v.k[a[s]]||0)+u.w*o:0,p&&p.d&&w.push(this.path(p.d).attr({fill:"#000",stroke:"none",transform:[["t",b*h,0]]}));w.transform(["...s",h,h,k,d,"t",(t-k)/h,(i-d)/h])}return w};o.add=function(t){if(n.is(t,"array"))for(var u=this.set(),r=0,f=t.length,i;r<f;r++)i=t[r]||{},iu[h](i.type)&&u.push(this[i.type]().attr(i));return u};n.format=function(t,i){var r=n.is(i,w)?[0][f](i):arguments;return t&&n.is(t,wt)&&r.length-1&&(t=t.replace(ru,function(n,t){return r[++t]==null?g:r[t]})),t||g};n.fullfill=function(){var n=/\{([^\}]+)\}/g,t=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,i=function(n,i,r){var u=r;return i.replace(t,function(n,t,i,r,f){t=t||r;u&&(t in u&&(u=u[t]),typeof u=="function"&&f&&(u=u()))}),u=(u==null||u==r?n:u)+"",u};return function(t,r){return String(t).replace(n,function(n,t){return i(n,t,r)})}}();n.ninja=function(){return ei.was?t.win.Raphael=ei.is:delete Raphael,n};n.st=b,function(t,i,r){function u(){/in/.test(t.readyState)?setTimeout(u,9):n.eve("DOMload")}t.readyState==null&&t.addEventListener&&(t.addEventListener(i,r=function(){t.removeEventListener(i,r,!1);t.readyState="complete"},!1),t.readyState="loading");u()}(document,"DOMContentLoaded");ei.was?t.win.Raphael=n:Raphael=n;eve.on("DOMload",function(){ui=!0})}();window.Raphael.svg&&function(n){var i="hasOwnProperty",u=String,f=parseFloat,tt=parseInt,c=Math,k=c.max,y=c.abs,d=c.pow,l=/[, ]+/,p=n.eve,o="",w=" ",a="http://www.w3.org/1999/xlink",ft={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},e={},nt,v;n.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var t=function(r,f){if(f){typeof r=="string"&&(r=t(r));for(var e in f)f[i](e)&&(e.substring(0,6)=="xlink:"?r.setAttributeNS(a,e.substring(6),u(f[e])):r.setAttribute(e,u(f[e])))}else r=n._g.doc.createElementNS("http://www.w3.org/2000/svg",r),r.style&&(r.style.webkitTapHighlightColor="rgba(0,0,0,0)");return r},it=function(i,r){var w="linear",l=i.id+r,b=.5,s=.5,tt=i.node,it=i.paper,g=tt.style,a=n._g.doc.getElementById(l),v,e,nt,p,h,rt;if(!a){if(r=u(r).replace(n._radial_gradient,function(n,t,i){if(w="radial",t&&i){b=f(t);s=f(i);var r=(s>.5)*2-1;d(b-.5,2)+d(s-.5,2)>.25&&(s=c.sqrt(.25-d(b-.5,2))*r+.5)&&s!=.5&&(s=s.toFixed(5)-1e-5*r)}return o}),r=r.split(/\s*\-\s*/),w=="linear"){if(v=r.shift(),v=-f(v),isNaN(v))return null;e=[0,0,c.cos(n.rad(v)),c.sin(n.rad(v))];nt=1/(k(y(e[2]),y(e[3]))||1);e[2]*=nt;e[3]*=nt;e[2]<0&&(e[0]=-e[2],e[2]=0);e[3]<0&&(e[1]=-e[3],e[3]=0)}if(p=n._parseDots(r),!p)return null;if(l=l.replace(/[\(\)\s,\xb0#]/g,"_"),i.gradient&&l!=i.gradient.id&&(it.defs.removeChild(i.gradient),delete i.gradient),!i.gradient)for(a=t(w+"Gradient",{id:l}),i.gradient=a,t(a,w=="radial"?{fx:b,fy:s}:{x1:e[0],y1:e[1],x2:e[2],y2:e[3],gradientTransform:i.matrix.invert()}),it.defs.appendChild(a),h=0,rt=p.length;h<rt;h++)a.appendChild(t("stop",{offset:p[h].offset?p[h].offset:h?"100%":"0%","stop-color":p[h].color||"#fff"}))}return t(tt,{fill:"url(#"+l+")",opacity:1,"fill-opacity":1}),g.fill=o,g.opacity=1,g.fillOpacity=1,1},b=function(n){var i=n.getBBox(1);t(n.pattern,{patternTransform:n.matrix.invert()+" translate("+i.x+","+i.y+")"})},s=function(r,f,s){var b,k,g,tt,it,rt;if(r.type=="path"){for(var ut=u(f).toLowerCase().split("-"),ht=r.paper,h=s?"end":"start",ct=r.node,l=r.attrs,d=l["stroke-width"],et=ut.length,a="classic",p,w,ot,st,c,v=3,y=3,nt=5;et--;)switch(ut[et]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":a=ut[et];break;case"wide":y=5;break;case"narrow":y=2;break;case"long":v=5;break;case"short":v=2}a=="open"?(v+=2,y+=2,nt+=2,ot=1,st=s?4:1,c={fill:"none",stroke:l.stroke}):(st=ot=v/2,c={fill:l.stroke,stroke:"none"});r._.arrows?s?(r._.arrows.endPath&&e[r._.arrows.endPath]--,r._.arrows.endMarker&&e[r._.arrows.endMarker]--):(r._.arrows.startPath&&e[r._.arrows.startPath]--,r._.arrows.startMarker&&e[r._.arrows.startMarker]--):r._.arrows={};a!="none"?(b="raphael-marker-"+a,k="raphael-marker-"+h+a+v+y,n._g.doc.getElementById(b)?e[b]++:(ht.defs.appendChild(t(t("path"),{"stroke-linecap":"round",d:ft[a],id:b})),e[b]=1),g=n._g.doc.getElementById(k),g?(e[k]++,tt=g.getElementsByTagName("use")[0]):(g=t(t("marker"),{id:k,markerHeight:y,markerWidth:v,orient:"auto",refX:st,refY:y/2}),tt=t(t("use"),{"xlink:href":"#"+b,transform:(s?"rotate(180 "+v/2+" "+y/2+") ":o)+"scale("+v/nt+","+y/nt+")","stroke-width":(2/(v/nt+y/nt)).toFixed(4)}),g.appendChild(tt),ht.defs.appendChild(g),e[k]=1),t(tt,c),it=ot*(a!="diamond"&&a!="oval"),s?(p=r._.arrows.startdx*d||0,w=n.getTotalLength(l.path)-it*d):(p=it*d,w=n.getTotalLength(l.path)-(r._.arrows.enddx*d||0)),c={},c["marker-"+h]="url(#"+k+")",(w||p)&&(c.d=Raphael.getSubpath(l.path,p,w)),t(ct,c),r._.arrows[h+"Path"]=b,r._.arrows[h+"Marker"]=k,r._.arrows[h+"dx"]=it,r._.arrows[h+"Type"]=a,r._.arrows[h+"String"]=f):(s?(p=r._.arrows.startdx*d||0,w=n.getTotalLength(l.path)-p):(p=0,w=n.getTotalLength(l.path)-(r._.arrows.enddx*d||0)),r._.arrows[h+"Path"]&&t(ct,{d:Raphael.getSubpath(l.path,p,w)}),delete r._.arrows[h+"Path"],delete r._.arrows[h+"Marker"],delete r._.arrows[h+"dx"],delete r._.arrows[h+"Type"],delete r._.arrows[h+"String"]);for(c in e)e[i](c)&&!e[c]&&(rt=n._g.doc.getElementById(c),rt&&rt.parentNode.removeChild(rt))}},et={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},rt=function(n,i,r){if(i=et[u(i).toLowerCase()],i){for(var e=n.attrs["stroke-width"]||"1",s={round:e,square:e,butt:0}[n.attrs["stroke-linecap"]||r["stroke-linecap"]]||0,o=[],f=i.length;f--;)o[f]=i[f]*e+(f%2?1:-1)*s;t(n.node,{"stroke-dasharray":o.join(",")})}},g=function(r,f){var h=r.node,c=r.attrs,vt=h.style.visibility,v,e,d,ft,g,p,et,lt,st,ht,ct,w,nt,ut,at;h.style.visibility="hidden";for(v in f)if(f[i](v)){if(!n._availableAttrs[i](v))continue;e=f[v];c[v]=e;switch(v){case"blur":r.blur(e);break;case"href":case"title":case"target":d=h.parentNode;d.tagName.toLowerCase()!="a"&&(ft=t("a"),d.insertBefore(ft,h),ft.appendChild(h),d=ft);v=="target"?d.setAttributeNS(a,"show",e=="blank"?"new":e):d.setAttributeNS(a,v,e);break;case"cursor":h.style.cursor=e;break;case"transform":r.transform(e);break;case"arrow-start":s(r,e);break;case"arrow-end":s(r,e,1);break;case"clip-rect":g=u(e).split(l);g.length==4&&(r.clip&&r.clip.parentNode.parentNode.removeChild(r.clip.parentNode),p=t("clipPath"),et=t("rect"),p.id=n.createUUID(),t(et,{x:g[0],y:g[1],width:g[2],height:g[3]}),p.appendChild(et),r.paper.defs.appendChild(p),t(h,{"clip-path":"url(#"+p.id+")"}),r.clip=et);e||(lt=h.getAttribute("clip-path"),lt&&(st=n._g.doc.getElementById(lt.replace(/(^url\(#|\)$)/g,o)),st&&st.parentNode.removeChild(st),t(h,{"clip-path":o}),delete r.clip));break;case"path":r.type=="path"&&(t(h,{d:e?c.path=n._pathToAbsolute(e):"M0,0"}),r._.dirty=1,r._.arrows&&("startString"in r._.arrows&&s(r,r._.arrows.startString),"endString"in r._.arrows&&s(r,r._.arrows.endString,1)));break;case"width":if(h.setAttribute(v,e),r._.dirty=1,c.fx)v="x",e=c.x;else break;case"x":c.fx&&(e=-c.x-(c.width||0));case"rx":if(v=="rx"&&r.type=="rect")break;case"cx":h.setAttribute(v,e);r.pattern&&b(r);r._.dirty=1;break;case"height":if(h.setAttribute(v,e),r._.dirty=1,c.fy)v="y",e=c.y;else break;case"y":c.fy&&(e=-c.y-(c.height||0));case"ry":if(v=="ry"&&r.type=="rect")break;case"cy":h.setAttribute(v,e);r.pattern&&b(r);r._.dirty=1;break;case"r":r.type=="rect"?t(h,{rx:e,ry:e}):h.setAttribute(v,e);r._.dirty=1;break;case"src":r.type=="image"&&h.setAttributeNS(a,"href",e);break;case"stroke-width":(r._.sx!=1||r._.sy!=1)&&(e/=k(y(r._.sx),y(r._.sy))||1);r.paper._vbSize&&(e*=r.paper._vbSize);h.setAttribute(v,e);c["stroke-dasharray"]&&rt(r,c["stroke-dasharray"],f);r._.arrows&&("startString"in r._.arrows&&s(r,r._.arrows.startString),"endString"in r._.arrows&&s(r,r._.arrows.endString,1));break;case"stroke-dasharray":rt(r,e,f);break;case"fill":if(ht=u(e).match(n._ISURL),ht){p=t("pattern");ct=t("image");p.id=n.createUUID();t(p,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});t(ct,{x:0,y:0,"xlink:href":ht[1]});p.appendChild(ct),function(i){n._preload(ht[1],function(){var n=this.offsetWidth,u=this.offsetHeight;t(i,{width:n,height:u});t(ct,{width:n,height:u});r.paper.safari()})}(p);r.paper.defs.appendChild(p);t(h,{fill:"url(#"+p.id+")"});r.pattern=p;r.pattern&&b(r);break}if(w=n.getRGB(e),w.error){if((r.type=="circle"||r.type=="ellipse"||u(e).charAt()!="r")&&it(r,e)){("opacity"in c||"fill-opacity"in c)&&(nt=n._g.doc.getElementById(h.getAttribute("fill").replace(/^url\(#|\)$/g,o)),nt&&(ut=nt.getElementsByTagName("stop"),t(ut[ut.length-1],{"stop-opacity":("opacity"in c?c.opacity:1)*("fill-opacity"in c?c["fill-opacity"]:1)})));c.gradient=e;c.fill="none";break}}else delete f.gradient,delete c.gradient,!n.is(c.opacity,"undefined")&&n.is(f.opacity,"undefined")&&t(h,{opacity:c.opacity}),!n.is(c["fill-opacity"],"undefined")&&n.is(f["fill-opacity"],"undefined")&&t(h,{"fill-opacity":c["fill-opacity"]});w[i]("opacity")&&t(h,{"fill-opacity":w.opacity>1?w.opacity/100:w.opacity});case"stroke":w=n.getRGB(e);h.setAttribute(v,w.hex);v=="stroke"&&w[i]("opacity")&&t(h,{"stroke-opacity":w.opacity>1?w.opacity/100:w.opacity});v=="stroke"&&r._.arrows&&("startString"in r._.arrows&&s(r,r._.arrows.startString),"endString"in r._.arrows&&s(r,r._.arrows.endString,1));break;case"gradient":(r.type=="circle"||r.type=="ellipse"||u(e).charAt()!="r")&&it(r,e);break;case"opacity":c.gradient&&!c[i]("stroke-opacity")&&t(h,{"stroke-opacity":e>1?e/100:e});case"fill-opacity":if(c.gradient){nt=n._g.doc.getElementById(h.getAttribute("fill").replace(/^url\(#|\)$/g,o));nt&&(ut=nt.getElementsByTagName("stop"),t(ut[ut.length-1],{"stop-opacity":e}));break}default:v=="font-size"&&(e=tt(e,10)+"px");at=v.replace(/(\-.)/g,function(n){return n.substring(1).toUpperCase()});h.style[at]=e;r._.dirty=1;h.setAttribute(v,e)}}ot(r,f);h.style.visibility=vt},ut=1.2,ot=function(r,f){var y,h,l,e,a,p,v;if(r.type=="text"&&!!(f[i]("text")||f[i]("font")||f[i]("font-size")||f[i]("x")||f[i]("y"))){var c=r.attrs,s=r.node,w=s.firstChild?tt(n._g.doc.defaultView.getComputedStyle(s.firstChild,o).getPropertyValue("font-size"),10):10;if(f[i]("text")){for(c.text=f.text;s.firstChild;)s.removeChild(s.firstChild);for(y=u(f.text).split("\n"),h=[],e=0,a=y.length;e<a;e++)l=t("tspan"),e&&t(l,{dy:w*ut,x:c.x}),l.appendChild(n._g.doc.createTextNode(y[e])),s.appendChild(l),h[e]=l}else for(h=s.getElementsByTagName("tspan"),e=0,a=h.length;e<a;e++)e?t(h[e],{dy:w*ut,x:c.x}):t(h[0],{dy:0});t(s,{x:c.x,y:c.y});r._.dirty=1;p=r._getBBox();v=c.y-(p.y+p.height/2);v&&n.is(v,"finite")&&t(h[0],{dy:v})}},h=function(t,i){this[0]=this.node=t;t.raphael=!0;this.id=n._oid++;t.raphaelid=this.id;this.matrix=n.matrix();this.realPath=null;this.paper=i;this.attrs=this.attrs||{};this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1};!i.bottom&&(i.bottom=this);this.prev=i.top;i.top&&(i.top.next=this);i.top=this;this.next=null},r=n.el;h.prototype=r;r.constructor=h;n._engine.path=function(n,i){var u=t("path"),r;return i.canvas&&i.canvas.appendChild(u),r=new h(u,i),r.type="path",g(r,{fill:"none",stroke:"#000",path:n}),r};r.rotate=function(n,t,i){if(this.removed)return this;if(n=u(n).split(l),n.length-1&&(t=f(n[1]),i=f(n[2])),n=f(n[0]),i==null&&(t=i),t==null||i==null){var r=this.getBBox(1);t=r.x+r.width/2;i=r.y+r.height/2}return this.transform(this._.transform.concat([["r",n,t,i]])),this};r.scale=function(n,t,i,r){if(this.removed)return this;if(n=u(n).split(l),n.length-1&&(t=f(n[1]),i=f(n[2]),r=f(n[3])),n=f(n[0]),t==null&&(t=n),r==null&&(i=r),i==null||r==null)var e=this.getBBox(1);return i=i==null?e.x+e.width/2:i,r=r==null?e.y+e.height/2:r,this.transform(this._.transform.concat([["s",n,t,i,r]])),this};r.translate=function(n,t){return this.removed?this:(n=u(n).split(l),n.length-1&&(t=f(n[1])),n=f(n[0])||0,t=+t||0,this.transform(this._.transform.concat([["t",n,t]])),this)};r.transform=function(r){var u=this._,f;return r==null?u.transform:(n._extractTransform(this,r),this.clip&&t(this.clip,{transform:this.matrix.invert()}),this.pattern&&b(this),this.node&&t(this.node,{transform:this.matrix}),(u.sx!=1||u.sy!=1)&&(f=this.attrs[i]("stroke-width")?this.attrs["stroke-width"]:1,this.attr({"stroke-width":f})),this)};r.hide=function(){return this.removed||this.paper.safari(this.node.style.display="none"),this};r.show=function(){return this.removed||this.paper.safari(this.node.style.display=""),this};r.remove=function(){var t,i;if(!this.removed){t=this.paper;t.__set__&&t.__set__.exclude(this);p.unbind("*.*."+this.id);this.gradient&&t.defs.removeChild(this.gradient);n._tear(this,t);this.node.parentNode.tagName.toLowerCase()=="a"?this.node.parentNode.parentNode.removeChild(this.node.parentNode):this.node.parentNode.removeChild(this.node);for(i in this)this[i]=typeof this[i]=="function"?n._removedFactory(i):null;this.removed=!0}};r._getBBox=function(){var t,n;this.node.style.display=="none"&&(this.show(),t=!0);n={};try{n=this.node.getBBox()}catch(i){}finally{n=n||{}}return t&&this.hide(),n};r.attr=function(t,r){var e,c,a,s,o,h,f,u,v,y;if(this.removed)return this;if(t==null){e={};for(c in this.attrs)this.attrs[i](c)&&(e[c]=this.attrs[c]);return e.gradient&&e.fill=="none"&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform,e}if(r==null&&n.is(t,"string")){if(t=="fill"&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;if(t=="transform")return this._.transform;for(a=t.split(l),s={},o=0,h=a.length;o<h;o++)t=a[o],s[t]=t in this.attrs?this.attrs[t]:n.is(this.paper.customAttributes[t],"function")?this.paper.customAttributes[t].def:n._availableAttrs[t];return h-1?s:s[a[0]]}if(r==null&&n.is(t,"array")){for(s={},o=0,h=t.length;o<h;o++)s[t[o]]=this.attr(t[o]);return s}r!=null?(f={},f[t]=r):t!=null&&n.is(t,"object")&&(f=t);for(u in f)p("attr."+u+"."+this.id,this,f[u]);for(u in this.paper.customAttributes)if(this.paper.customAttributes[i](u)&&f[i](u)&&n.is(this.paper.customAttributes[u],"function")){v=this.paper.customAttributes[u].apply(this,[].concat(f[u]));this.attrs[u]=f[u];for(y in v)v[i](y)&&(f[y]=v[y])}return g(this,f),this};r.toFront=function(){if(this.removed)return this;this.node.parentNode.tagName.toLowerCase()=="a"?this.node.parentNode.parentNode.appendChild(this.node.parentNode):this.node.parentNode.appendChild(this.node);var t=this.paper;return t.top!=this&&n._tofront(this,t),this};r.toBack=function(){var t,i;return this.removed?this:(t=this.node.parentNode,t.tagName.toLowerCase()=="a"?t.parentNode.insertBefore(this.node.parentNode,this.node.parentNode.parentNode.firstChild):t.firstChild!=this.node&&t.insertBefore(this.node,this.node.parentNode.firstChild),n._toback(this,this.paper),i=this.paper,this)};r.insertAfter=function(t){if(this.removed)return this;var i=t.node||t[t.length-1].node;return i.nextSibling?i.parentNode.insertBefore(this.node,i.nextSibling):i.parentNode.appendChild(this.node),n._insertafter(this,t,this.paper),this};r.insertBefore=function(t){if(this.removed)return this;var i=t.node||t[0].node;return i.parentNode.insertBefore(this.node,i),n._insertbefore(this,t,this.paper),this};r.blur=function(i){var r=this,u,f;+i!=0?(u=t("filter"),f=t("feGaussianBlur"),r.attrs.blur=i,u.id=n.createUUID(),t(f,{stdDeviation:+i||1.5}),u.appendChild(f),r.paper.defs.appendChild(u),r._blur=u,t(r.node,{filter:"url(#"+u.id+")"})):(r._blur&&(r._blur.parentNode.removeChild(r._blur),delete r._blur,delete r.attrs.blur),r.node.removeAttribute("filter"))};n._engine.circle=function(n,i,r,u){var e=t("circle"),f;return n.canvas&&n.canvas.appendChild(e),f=new h(e,n),f.attrs={cx:i,cy:r,r:u,fill:"none",stroke:"#000"},f.type="circle",t(e,f.attrs),f};n._engine.rect=function(n,i,r,u,f,e){var s=t("rect"),o;return n.canvas&&n.canvas.appendChild(s),o=new h(s,n),o.attrs={x:i,y:r,width:u,height:f,r:e||0,rx:e||0,ry:e||0,fill:"none",stroke:"#000"},o.type="rect",t(s,o.attrs),o};n._engine.ellipse=function(n,i,r,u,f){var o=t("ellipse"),e;return n.canvas&&n.canvas.appendChild(o),e=new h(o,n),e.attrs={cx:i,cy:r,rx:u,ry:f,fill:"none",stroke:"#000"},e.type="ellipse",t(o,e.attrs),e};n._engine.image=function(n,i,r,u,f,e){var o=t("image"),s;return t(o,{x:r,y:u,width:f,height:e,preserveAspectRatio:"none"}),o.setAttributeNS(a,"href",i),n.canvas&&n.canvas.appendChild(o),s=new h(o,n),s.attrs={x:r,y:u,width:f,height:e,src:i},s.type="image",s};n._engine.text=function(i,r,u,f){var o=t("text"),e;return i.canvas&&i.canvas.appendChild(o),e=new h(o,i),e.attrs={x:r,y:u,"text-anchor":"middle",text:f,font:n._availableAttrs.font,stroke:"none",fill:"#000"},e.type="text",g(e,e.attrs),e};n._engine.setSize=function(n,t){return this.width=n||this.width,this.height=t||this.height,this.canvas.setAttribute("width",this.width),this.canvas.setAttribute("height",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox),this};n._engine.create=function(){var u=n._getContainer.apply(0,arguments),i=u&&u.container,o=u.x,s=u.y,f=u.width,e=u.height,r,h,c;if(!i)throw new Error("SVG container not found.");return r=t("svg"),h="overflow:hidden;",o=o||0,s=s||0,f=f||512,e=e||342,t(r,{height:e,version:1.1,width:f,xmlns:"http://www.w3.org/2000/svg"}),i==1?(r.style.cssText=h+"position:absolute;left:"+o+"px;top:"+s+"px",n._g.doc.body.appendChild(r),c=1):(r.style.cssText=h+"position:relative",i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r)),i=new n._Paper,i.width=f,i.height=e,i.canvas=r,i.clear(),i._left=i._top=0,c&&(i.renderfix=function(){}),i.renderfix(),i};n._engine.setViewBox=function(n,i,r,u,f){p("setViewBox",this,this._viewBox,[n,i,r,u,f]);var o=k(r/this.width,u/this.height),e=this.top,c=f?"meet":"xMinYMin",s,h;for(n==null?(this._vbSize&&(o=1),delete this._vbSize,s="0 0 "+this.width+w+this.height):(this._vbSize=o,s=n+w+i+w+r+w+u),t(this.canvas,{viewBox:s,preserveAspectRatio:c});o&&e;)h="stroke-width"in e.attrs?e.attrs["stroke-width"]:1,e.attr({"stroke-width":h}),e._.dirty=1,e._.dirtyT=1,e=e.prev;return this._viewBox=[n,i,r,u,!!f],this};n.prototype.renderfix=function(){var n=this.canvas,u=n.style,t,i,r;try{t=n.getScreenCTM()||n.createSVGMatrix()}catch(f){t=n.createSVGMatrix()}i=-t.e%1;r=-t.f%1;(i||r)&&(i&&(this._left=(this._left+i)%1,u.left=this._left+"px"),r&&(this._top=(this._top+r)%1,u.top=this._top+"px"))};n.prototype.clear=function(){n.eve("clear",this);for(var i=this.canvas;i.firstChild;)i.removeChild(i.firstChild);this.bottom=this.top=null;(this.desc=t("desc")).appendChild(n._g.doc.createTextNode("Created with Raphaël "+n.version));i.appendChild(this.desc);i.appendChild(this.defs=t("defs"))};n.prototype.remove=function(){p("remove",this);this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var t in this)this[t]=typeof this[t]=="function"?n._removedFactory(t):null};nt=n.st;for(v in r)r[i](v)&&!nt[i](v)&&(nt[v]=function(n){return function(){var t=arguments;return this.forEach(function(i){i[n].apply(i,t)})}}(v))}(window.Raphael);window.Raphael.vml&&function(n){var h="hasOwnProperty",i=String,f=parseFloat,c=Math,e=c.round,k=c.max,g=c.min,p=c.abs,l="fill",a=/[, ]+/,ut=n.eve,ft=" progid:DXImageTransform.Microsoft",o=" ",u="",nt={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},et=/([clmz]),?([^clmz]*)/gi,ot=/ progid:\S+Blur\([^\)]+\)/g,st=/-?[^,\s-]+/g,tt="position:absolute;left:0;top:0;width:1px;height:1px",t=21600,ht={path:1,rect:1,image:1},ct={circle:1,ellipse:1},lt=function(r){var l=/[ahqstv]/ig,a=n._pathToAbsolute,v,c,y,f,s,w,h,p;if(i(r).match(l)&&(a=n._path2curve),l=/[clmz]/g,a==n._pathToAbsolute&&!i(r).match(l))return i(r).replace(et,function(n,i,r){var u=[],o=i.toLowerCase()=="m",f=nt[i];return r.replace(st,function(n){o&&u.length==2&&(f+=u+nt[i=="m"?"l":"L"],u=[]);u.push(e(n*t))}),f+u});for(c=a(r),v=[],s=0,w=c.length;s<w;s++){for(y=c[s],f=c[s][0].toLowerCase(),f=="z"&&(f="x"),h=1,p=y.length;h<p;h++)f+=e(y[h]*t)+(h!=p-1?",":u);v.push(f)}return v.join(o)},it=function(t,i,r){var u=n.matrix();return u.rotate(-t,.5,.5),{dx:u.x(i,r),dy:u.y(i,r)}},w=function(n,i,r,u,f,e){var v=n._,k=n.matrix,h=v.fillpos,c=n.node,y=c.style,w=1,b="",d=t/i,g=t/r,a,s;y.visibility="hidden";!i||!r||(c.coordsize=p(d)+o+p(g),y.rotation=e*(i*r<0?-1:1),e&&(a=it(e,u,f),u=a.dx,f=a.dy),i<0&&(b+="x"),r<0&&(b+=" y")&&(w=-1),y.flip=b,c.coordorigin=u*-d+o+f*-g,(h||v.fillsize)&&(s=c.getElementsByTagName(l),s=s&&s[0],c.removeChild(s),h&&(a=it(e,k.x(h[0],h[1]),k.y(h[0],h[1])),s.position=a.dx*w+o+a.dy*w),v.fillsize&&(s.size=v.fillsize[0]*p(i)+o+v.fillsize[1]*p(r)),c.appendChild(s)),y.visibility="visible")},s,d,y;n.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};var rt=function(n,t,r){for(var u=i(t).toLowerCase().split("-"),o=r?"end":"start",f=u.length,s="classic",h="medium",c="medium",e;f--;)switch(u[f]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":s=u[f];break;case"wide":case"narrow":c=u[f];break;case"long":case"short":h=u[f]}e=n.node.getElementsByTagName("stroke")[0];e[o+"arrow"]=s;e[o+"arrowlength"]=h;e[o+"arrowwidth"]=c},v=function(r,c){var yt,nt,ot,ut,ft,y,si,pt,st,tt,d,dt,gt,et,ni,vt,ri,bt,hi;r.attrs=r.attrs||{};var b=r.node,v=r.attrs,it=b.style,ui=ht[r.type]&&(c.x!=v.x||c.y!=v.y||c.width!=v.width||c.height!=v.height||c.cx!=v.cx||c.cy!=v.cy||c.rx!=v.rx||c.ry!=v.ry||c.r!=v.r),ci=ct[r.type]&&(v.cx!=c.cx||v.cy!=c.cy||v.r!=c.r||v.rx!=c.rx||v.ry!=c.ry),p=r;for(yt in c)c[h](yt)&&(v[yt]=c[yt]);if(ui&&(v.path=n._getPath[r.type](r),r._.dirty=1),c.href&&(b.href=c.href),c.title&&(b.title=c.title),c.target&&(b.target=c.target),c.cursor&&(it.cursor=c.cursor),"blur"in c&&r.blur(c.blur),(c.path&&r.type=="path"||ui)&&(b.path=lt(~i(v.path).toLowerCase().indexOf("r")?n._pathToAbsolute(v.path):v.path),r.type=="image"&&(r._.fillpos=[v.x,v.y],r._.fillsize=[v.width,v.height],w(r,1,1,0,0,0))),"transform"in c&&r.transform(c.transform),ci){var kt=+v.cx,fi=+v.cy,ei=+v.rx||+v.r||0,oi=+v.ry||+v.r||0;b.path=n.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",e((kt-ei)*t),e((fi-oi)*t),e((kt+ei)*t),e((fi+oi)*t),e(kt*t))}if("clip-rect"in c&&(nt=i(c["clip-rect"]).split(a),nt.length==4&&(nt[2]=+nt[2]+ +nt[0],nt[3]=+nt[3]+ +nt[1],ot=b.clipRect||n._g.doc.createElement("div"),ut=ot.style,ut.clip=n.format("rect({1}px {2}px {3}px {0}px)",nt),b.clipRect||(ut.position="absolute",ut.top=0,ut.left=0,ut.width=r.paper.width+"px",ut.height=r.paper.height+"px",b.parentNode.insertBefore(ot,b),ot.appendChild(b),b.clipRect=ot)),c["clip-rect"]||b.clipRect&&(b.clipRect.style.clip="auto")),r.textpath&&(ft=r.textpath.style,c.font&&(ft.font=c.font),c["font-family"]&&(ft.fontFamily='"'+c["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,u)+'"'),c["font-size"]&&(ft.fontSize=c["font-size"]),c["font-weight"]&&(ft.fontWeight=c["font-weight"]),c["font-style"]&&(ft.fontStyle=c["font-style"])),"arrow-start"in c&&rt(p,c["arrow-start"]),"arrow-end"in c&&rt(p,c["arrow-end"],1),(c.opacity!=null||c["stroke-width"]!=null||c.fill!=null||c.src!=null||c.stroke!=null||c["stroke-width"]!=null||c["stroke-opacity"]!=null||c["fill-opacity"]!=null||c["stroke-dasharray"]!=null||c["stroke-miterlimit"]!=null||c["stroke-linejoin"]!=null||c["stroke-linecap"]!=null)&&(y=b.getElementsByTagName(l),si=!1,y=y&&y[0],!y&&(si=y=s(l)),r.type=="image"&&c.src&&(y.src=c.src),c.fill&&(y.on=!0),(y.on==null||c.fill=="none"||c.fill===null)&&(y.on=!1),y.on&&c.fill&&(pt=i(c.fill).match(n._ISURL),pt?(y.parentNode==b&&b.removeChild(y),y.rotate=!0,y.src=pt[1],y.type="tile",st=r.getBBox(1),y.position=st.x+o+st.y,r._.fillpos=[st.x,st.y],n._preload(pt[1],function(){r._.fillsize=[this.offsetWidth,this.offsetHeight]})):(y.color=n.getRGB(c.fill).hex,y.src=u,y.type="solid",n.getRGB(c.fill).error&&(p.type in{circle:1,ellipse:1}||i(c.fill).charAt()!="r")&&at(p,c.fill,y)&&(v.fill="none",v.gradient=c.fill,y.rotate=!1))),("fill-opacity"in c||"opacity"in c)&&(tt=((+v["fill-opacity"]+1||2)-1)*((+v.opacity+1||2)-1)*((+n.getRGB(c.fill).o+1||2)-1),tt=g(k(tt,0),1),y.opacity=tt,y.src&&(y.color="none")),b.appendChild(y),d=b.getElementsByTagName("stroke")&&b.getElementsByTagName("stroke")[0],dt=!1,d||(dt=d=s("stroke")),(c.stroke&&c.stroke!="none"||c["stroke-width"]||c["stroke-opacity"]!=null||c["stroke-dasharray"]||c["stroke-miterlimit"]||c["stroke-linejoin"]||c["stroke-linecap"])&&(d.on=!0),(c.stroke=="none"||c.stroke===null||d.on==null||c.stroke==0||c["stroke-width"]==0)&&(d.on=!1),gt=n.getRGB(c.stroke),d.on&&c.stroke&&(d.color=gt.hex),tt=((+v["stroke-opacity"]+1||2)-1)*((+v.opacity+1||2)-1)*((+gt.o+1||2)-1),et=(f(c["stroke-width"])||1)*.75,tt=g(k(tt,0),1),c["stroke-width"]==null&&(et=v["stroke-width"]),c["stroke-width"]&&(d.weight=et),et&&et<1&&(tt*=et)&&(d.weight=1),d.opacity=tt,c["stroke-linejoin"]&&(d.joinstyle=c["stroke-linejoin"]||"miter"),d.miterlimit=c["stroke-miterlimit"]||8,c["stroke-linecap"]&&(d.endcap=c["stroke-linecap"]=="butt"?"flat":c["stroke-linecap"]=="square"?"square":"round"),c["stroke-dasharray"]&&(ni={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"},d.dashstyle=ni[h](c["stroke-dasharray"])?ni[c["stroke-dasharray"]]:u),dt&&b.appendChild(d)),p.type=="text"){p.paper.canvas.style.display=u;var ti=p.paper.span,ii=100,wt=v.font&&v.font.match(/\d+(?:\.\d*)?(?=px)/);for(it=ti.style,v.font&&(it.font=v.font),v["font-family"]&&(it.fontFamily=v["font-family"]),v["font-weight"]&&(it.fontWeight=v["font-weight"]),v["font-style"]&&(it.fontStyle=v["font-style"]),wt=f(v["font-size"]||wt&&wt[0])||10,it.fontSize=wt*ii+"px",p.textpath.string&&(ti.innerHTML=i(p.textpath.string).replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>")),vt=ti.getBoundingClientRect(),p.W=v.w=(vt.right-vt.left)/ii,p.H=v.h=(vt.bottom-vt.top)/ii,p.X=v.x,p.Y=v.y+p.H/2,(("x"in c)||("y"in c))&&(p.path.v=n.format("m{0},{1}l{2},{1}",e(v.x*t),e(v.y*t),e(v.x*t)+1)),ri=["x","y","text","font","font-family","font-weight","font-style","font-size"],bt=0,hi=ri.length;bt<hi;bt++)if(ri[bt]in c){p._.dirty=1;break}switch(v["text-anchor"]){case"start":p.textpath.style["v-text-align"]="left";p.bbx=p.W/2;break;case"end":p.textpath.style["v-text-align"]="right";p.bbx=-p.W/2;break;default:p.textpath.style["v-text-align"]="center";p.bbx=0}p.textpath.style["v-text-kern"]=!0}},at=function(t,r,e){var l,s,a,h,w;t.attrs=t.attrs||{};var b=t.attrs,v=Math.pow,y="linear",p=".5 .5";if((t.attrs.gradient=r,r=i(r).replace(n._radial_gradient,function(n,t,i){return y="radial",t&&i&&(t=f(t),i=f(i),v(t-.5,2)+v(i-.5,2)>.25&&(i=c.sqrt(.25-v(t-.5,2))*((i>.5)*2-1)+.5),p=t+o+i),u}),r=r.split(/\s*\-\s*/),y=="linear"&&(l=r.shift(),l=-f(l),isNaN(l)))||(s=n._parseDots(r),!s))return null;if(t=t.shape||t.node,s.length){for(t.removeChild(e),e.on=!0,e.method="none",e.color=s[0].color,e.color2=s[s.length-1].color,a=[],h=0,w=s.length;h<w;h++)s[h].offset&&a.push(s[h].offset+o+s[h].color);e.colors=a.length?a.join():"0% "+e.color;y=="radial"?(e.type="gradientTitle",e.focus="100%",e.focussize="0 0",e.focusposition=p,e.angle=0):(e.type="gradient",e.angle=(270-l)%360);t.appendChild(e)}return 1},b=function(t,i){this[0]=this.node=t;t.raphael=!0;this.id=n._oid++;t.raphaelid=this.id;this.X=0;this.Y=0;this.attrs={};this.paper=i;this.matrix=n.matrix();this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1};!i.bottom&&(i.bottom=this);this.prev=i.top;i.top&&(i.top.next=this);i.top=this;this.next=null},r=n.el;b.prototype=r;r.constructor=b;r.transform=function(r){var e,a,l;if(r==null)return this._.transform;e=this.paper._viewBoxShift;a=e?"s"+[e.scale,e.scale]+"-1-1t"+[e.dx,e.dy]:u;e&&(l=r=i(r).replace(/\.{3}|\u2026/g,this._.transform||u));n._extractTransform(this,a+r);var s=this.matrix.clone(),h=this.skew,c=this.node,f,v=~i(this.attrs.fill).indexOf("-"),d=!i(this.attrs.fill).indexOf("url(");if(s.translate(-.5,-.5),d||v||this.type=="image")if(h.matrix="1 0 0 1",h.offset="0 0",f=s.split(),v&&f.noRotation||!f.isSimple){c.style.filter=s.toFilter();var y=this.getBBox(),p=this.getBBox(1),b=y.x-p.x,k=y.y-p.y;c.coordorigin=b*-t+o+k*-t;w(this,1,1,b,k,0)}else c.style.filter=u,w(this,f.scalex,f.scaley,f.dx,f.dy,f.rotate);else c.style.filter=u,h.matrix=i(s),h.offset=s.offset();return l&&(this._.transform=l),this};r.rotate=function(n,t,r){if(this.removed)return this;if(n!=null){if(n=i(n).split(a),n.length-1&&(t=f(n[1]),r=f(n[2])),n=f(n[0]),r==null&&(t=r),t==null||r==null){var u=this.getBBox(1);t=u.x+u.width/2;r=u.y+u.height/2}return this._.dirtyT=1,this.transform(this._.transform.concat([["r",n,t,r]])),this}};r.translate=function(n,t){return this.removed?this:(n=i(n).split(a),n.length-1&&(t=f(n[1])),n=f(n[0])||0,t=+t||0,this._.bbox&&(this._.bbox.x+=n,this._.bbox.y+=t),this.transform(this._.transform.concat([["t",n,t]])),this)};r.scale=function(n,t,r,u){if(this.removed)return this;if(n=i(n).split(a),n.length-1&&(t=f(n[1]),r=f(n[2]),u=f(n[3]),isNaN(r)&&(r=null),isNaN(u)&&(u=null)),n=f(n[0]),t==null&&(t=n),u==null&&(r=u),r==null||u==null)var e=this.getBBox(1);return r=r==null?e.x+e.width/2:r,u=u==null?e.y+e.height/2:u,this.transform(this._.transform.concat([["s",n,t,r,u]])),this._.dirtyT=1,this};r.hide=function(){return this.removed||(this.node.style.display="none"),this};r.show=function(){return this.removed||(this.node.style.display=u),this};r._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}};r.remove=function(){if(!this.removed){this.paper.__set__&&this.paper.__set__.exclude(this);n.eve.unbind("*.*."+this.id);n._tear(this,this.paper);this.node.parentNode.removeChild(this.node);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var t in this)this[t]=typeof this[t]=="function"?n._removedFactory(t):null;this.removed=!0}};r.attr=function(t,i){var f,c,y,o,e,s,r,u,p,w;if(this.removed)return this;if(t==null){f={};for(c in this.attrs)this.attrs[h](c)&&(f[c]=this.attrs[c]);return f.gradient&&f.fill=="none"&&(f.fill=f.gradient)&&delete f.gradient,f.transform=this._.transform,f}if(i==null&&n.is(t,"string")){if(t==l&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;for(y=t.split(a),o={},e=0,s=y.length;e<s;e++)t=y[e],o[t]=t in this.attrs?this.attrs[t]:n.is(this.paper.customAttributes[t],"function")?this.paper.customAttributes[t].def:n._availableAttrs[t];return s-1?o:o[y[0]]}if(this.attrs&&i==null&&n.is(t,"array")){for(o={},e=0,s=t.length;e<s;e++)o[t[e]]=this.attr(t[e]);return o}i!=null&&(r={},r[t]=i);i==null&&n.is(t,"object")&&(r=t);for(u in r)ut("attr."+u+"."+this.id,this,r[u]);if(r){for(u in this.paper.customAttributes)if(this.paper.customAttributes[h](u)&&r[h](u)&&n.is(this.paper.customAttributes[u],"function")){p=this.paper.customAttributes[u].apply(this,[].concat(r[u]));this.attrs[u]=r[u];for(w in p)p[h](w)&&(r[w]=p[w])}r.text&&this.type=="text"&&(this.textpath.string=r.text);v(this,r)}return this};r.toFront=function(){return this.removed||this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&n._tofront(this,this.paper),this};r.toBack=function(){return this.removed?this:(this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),n._toback(this,this.paper)),this)};r.insertAfter=function(t){return this.removed?this:(t.constructor==n.st.constructor&&(t=t[t.length-1]),t.node.nextSibling?t.node.parentNode.insertBefore(this.node,t.node.nextSibling):t.node.parentNode.appendChild(this.node),n._insertafter(this,t,this.paper),this)};r.insertBefore=function(t){return this.removed?this:(t.constructor==n.st.constructor&&(t=t[0]),t.node.parentNode.insertBefore(this.node,t.node),n._insertbefore(this,t,this.paper),this)};r.blur=function(t){var i=this.node.runtimeStyle,r=i.filter;r=r.replace(ot,u);+t!=0?(this.attrs.blur=t,i.filter=r+o+ft+".Blur(pixelradius="+(+t||1.5)+")",i.margin=n.format("-{0}px 0 0 -{0}px",e(+t||1.5))):(i.filter=r,i.margin=0,delete this.attrs.blur)};n._engine.path=function(n,i){var f=s("shape"),r,h,e;return f.style.cssText=tt,f.coordsize=t+o+t,f.coordorigin=i.coordorigin,r=new b(f,i),h={fill:"none",stroke:"#000"},n&&(h.path=n),r.type="path",r.path=[],r.Path=u,v(r,h),i.canvas.appendChild(f),e=s("skew"),e.on=!0,f.appendChild(e),r.skew=e,r.transform(u),r};n._engine.rect=function(t,i,r,u,f,e){var h=n._rectPath(i,r,u,f,e),o=t.path(h),s=o.attrs;return o.X=s.x=i,o.Y=s.y=r,o.W=s.width=u,o.H=s.height=f,s.r=e,s.path=h,o.type="rect",o};n._engine.ellipse=function(n,t,i,r,u){var f=n.path(),e=f.attrs;return f.X=t-r,f.Y=i-u,f.W=r*2,f.H=u*2,f.type="ellipse",v(f,{cx:t,cy:i,rx:r,ry:u}),f};n._engine.circle=function(n,t,i,r){var u=n.path(),f=u.attrs;return u.X=t-r,u.Y=i-r,u.W=u.H=r*2,u.type="circle",v(u,{cx:t,cy:i,r:r}),u};n._engine.image=function(t,i,r,u,f,e){var a=n._rectPath(r,u,f,e),o=t.path(a).attr({stroke:"none"}),s=o.attrs,c=o.node,h=c.getElementsByTagName(l)[0];return s.src=i,o.X=s.x=r,o.Y=s.y=u,o.W=s.width=f,o.H=s.height=e,s.path=a,o.type="image",h.parentNode==c&&c.removeChild(h),h.rotate=!0,h.src=i,h.type="tile",o._.fillpos=[r,u],o._.fillsize=[f,e],c.appendChild(h),w(o,1,1,0,0,0),o};n._engine.text=function(r,f,h,c){var a=s("shape"),y=s("path"),p=s("textpath"),l,k,w;return f=f||0,h=h||0,c=c||"",y.v=n.format("m{0},{1}l{2},{1}",e(f*t),e(h*t),e(f*t)+1),y.textpathok=!0,p.string=i(c),p.on=!0,a.style.cssText=tt,a.coordsize=t+o+t,a.coordorigin="0 0",l=new b(a,r),k={fill:"#000",stroke:"none",font:n._availableAttrs.font,text:c},l.shape=a,l.path=y,l.textpath=p,l.type="text",l.attrs.text=i(c),l.attrs.x=f,l.attrs.y=h,l.attrs.w=1,l.attrs.h=1,v(l,k),a.appendChild(p),a.appendChild(y),r.canvas.appendChild(a),w=s("skew"),w.on=!0,a.appendChild(w),l.skew=w,l.transform(u),l};n._engine.setSize=function(t,i){var r=this.canvas.style;return this.width=t,this.height=i,t==+t&&(t+="px"),i==+i&&(i+="px"),r.width=t,r.height=i,r.clip="rect(0 "+t+" "+i+" 0)",this._viewBox&&n._engine.setViewBox.apply(this,this._viewBox),this};n._engine.setViewBox=function(t,i,r,u,f){n.eve("setViewBox",this,this._viewBox,[t,i,r,u,f]);var e=this.width,o=this.height,c=1/k(r/e,u/o),s,h;return f&&(s=o/u,h=e/r,r*s<e&&(t-=(e-r*s)/2/s),u*h<o&&(i-=(o-u*h)/2/h)),this._viewBox=[t,i,r,u,!!f],this._viewBoxShift={dx:-t,dy:-i,scale:c},this.forEach(function(n){n.transform("...")}),this};n._engine.initWin=function(n){var t=n.document;t.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{t.namespaces.rvml||t.namespaces.add("rvml","urn:schemas-microsoft-com:vml");s=function(n){return t.createElement("<rvml:"+n+' class="rvml">')}}catch(i){s=function(n){return t.createElement("<"+n+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}};n._engine.initWin(n._g.win);n._engine.create=function(){var e=n._getContainer.apply(0,arguments),f=e.container,r=e.height,u=e.width,c=e.x,l=e.y;if(!f)throw new Error("VML container not found.");var i=new n._Paper,s=i.canvas=n._g.doc.createElement("div"),h=s.style;return c=c||0,l=l||0,u=u||512,r=r||342,i.width=u,i.height=r,u==+u&&(u+="px"),r==+r&&(r+="px"),i.coordsize=t*1e3+o+t*1e3,i.coordorigin="0 0",i.span=n._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",s.appendChild(i.span),h.cssText=n.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",u,r),f==1?(n._g.doc.body.appendChild(s),h.left=c+"px",h.top=l+"px",h.position="absolute"):f.firstChild?f.insertBefore(s,f.firstChild):f.appendChild(s),i.renderfix=function(){},i};n.prototype.clear=function(){n.eve("clear",this);this.canvas.innerHTML=u;this.span=n._g.doc.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas.appendChild(this.span);this.bottom=this.top=null};n.prototype.remove=function(){n.eve("remove",this);this.canvas.parentNode.removeChild(this.canvas);for(var t in this)this[t]=typeof this[t]=="function"?n._removedFactory(t):null;return!0};d=n.st;for(y in r)r[h](y)&&!d[h](y)&&(d[y]=function(n){return function(){var t=arguments;return this.forEach(function(i){i[n].apply(i,t)})}}(y))}(window.Raphael);Hashtable=function(){function e(t){var i;if(typeof t=="string")return t;if(typeof t.hashCode==n)return i=t.hashCode(),typeof i=="string"?i:e(i);if(typeof t.toString==n)return t.toString();try{return String(t)}catch(r){return Object.prototype.toString.call(t)}}function y(n,t){return n.equals(t)}function p(t,i){return typeof i.equals==n?i.equals(t):t===i}function o(n){return function(t){if(t===null)throw new Error("null is not a valid "+n);else if(typeof t=="undefined")throw new Error(n+" must not be undefined");}}function r(n,t,i,r){this[0]=n;this.entries=[];this.addEntry(t,i);r!==null&&(this.getEqualityFunction=function(){return r})}function u(n){return function(t){for(var r=this.entries.length,i,u=this.getEqualityFunction(t);r--;)if(i=this.entries[r],u(t,i[0]))switch(n){case h:return!0;case c:return i;case l:return[r,i[1]]}return!1}}function a(n){return function(t){for(var u=t.length,i=0,r=this.entries.length;i<r;++i)t[u+i]=this.entries[i][n]}}function w(n,t){for(var i=n.length,r;i--;)if(r=n[i],t===r[0])return i;return null}function i(n,t){var i=n[t];return i&&i instanceof r?i:null}function v(u,o){var l=this,h=[],c={},a=typeof u==n?u:e,p=typeof o==n?o:null,y;this.put=function(n,u){t(n);s(u);var o=a(n),f,e,l=null;return f=i(c,o),f?(e=f.getEntryForKey(n),e?(l=e[1],e[1]=u):f.addEntry(n,u)):(f=new r(o,n,u,p),h[h.length]=f,c[o]=f),l};this.get=function(n){var f,r,u;return(t(n),f=a(n),r=i(c,f),r&&(u=r.getEntryForKey(n),u))?u[1]:null};this.containsKey=function(n){t(n);var u=a(n),r=i(c,u);return r?r.containsKey(n):!1};this.containsValue=function(n){s(n);for(var t=h.length;t--;)if(h[t].containsValue(n))return!0;return!1};this.clear=function(){h.length=0;c={}};this.isEmpty=function(){return!h.length};y=function(n){return function(){for(var t=[],i=h.length;i--;)h[i][n](t);return t}};this.keys=y("keys");this.values=y("values");this.entries=y("getEntries");this.remove=function(n){t(n);var r=a(n),o,u=null,e=i(c,r);return e&&(u=e.removeEntryForKey(n),u!==null&&(e.entries.length||(o=w(h,r),f(h,o),delete c[r]))),u};this.size=function(){for(var n=0,t=h.length;t--;)n+=h[t].entries.length;return n};this.each=function(n){for(var i=l.entries(),r=i.length,t;r--;)t=i[r],n(t[0],t[1])};this.putAll=function(t,i){for(var e=t.entries(),f,r,u,o,s=e.length,h=typeof i==n;s--;)f=e[s],r=f[0],u=f[1],h&&(o=l.get(r))&&(u=i(r,o,u)),l.put(r,u)};this.clone=function(){var n=new v(u,o);return n.putAll(l),n}}var n="function",f=typeof Array.prototype.splice==n?function(n,t){n.splice(t,1)}:function(n,t){var r,i,u;if(t===n.length-1)n.length=t;else for(r=n.slice(t+1),n.length=t,i=0,u=r.length;i<u;++i)n[t+i]=r[i]},t=o("key"),s=o("value"),h=0,c=1,l=2;return r.prototype={getEqualityFunction:function(t){return typeof t.equals==n?y:p},getEntryForKey:u(c),getEntryAndIndexForKey:u(l),removeEntryForKey:function(n){var t=this.getEntryAndIndexForKey(n);return t?(f(this.entries,t[0]),t[1]):null},addEntry:function(n,t){this.entries[this.entries.length]=[n,t]},keys:a(0),values:a(1),getEntries:function(n){for(var r=n.length,t=0,i=this.entries.length;t<i;++t)n[r+t]=this.entries[t].slice(0)},containsKey:u(h),containsValue:function(n){for(var t=this.entries.length;t--;)if(n===this.entries[t][1])return!0;return!1}},v}(),function(){var n={};this.tmpl=function t(i,r){var u=/\W/.test(i)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+i.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):n[i]=n[i]||t(document.getElementById(i).innerHTML);return r?u(r):u}}(),function(n){n.fn.tipTip=function(t){var e={activation:"hover",keepAlive:!1,maxWidth:"200px",edgeOffset:3,defaultPosition:"bottom",delay:400,fadeIn:200,fadeOut:200,attribute:"title",content:!1,enter:function(){},exit:function(){}},i=n.extend(e,t);if(n("#tiptip_holder").length<=0){var r=n('<div id="tiptip_holder" style="max-width:'+i.maxWidth+';"><\/div>'),f=n('<div id="tiptip_content"><\/div>'),u=n('<div id="tiptip_arrow"><\/div>');n("body").append(r.html(f).prepend(u.html('<div id="tiptip_arrow_inner"><\/div>')))}else var r=n("#tiptip_holder"),f=n("#tiptip_content"),u=n("#tiptip_arrow");return this.each(function(){var t=n(this),s,e;if(s=i.content?i.content:t.attr(i.attribute),s!=""){i.content||t.removeAttr(i.attribute);e=!1;i.activation=="hover"?(t.hover(function(){h()},function(){i.keepAlive||o()}),i.keepAlive&&r.hover(function(){},function(){o()})):i.activation=="focus"?t.focus(function(){h()}).blur(function(){o()}):i.activation=="click"&&(t.click(function(){return h(),!1}).hover(function(){},function(){i.keepAlive||o()}),i.keepAlive&&r.hover(function(){},function(){o()}));function h(){var nt,tt,k,d;i.enter.call(this);f.html(s);r.hide().removeAttr("class").css("margin","0");u.removeAttr("style");var c=parseInt(t.offset().top),a=parseInt(t.offset().left),it=parseInt(t.outerWidth()),y=parseInt(t.outerHeight()),v=r.outerWidth(),l=r.outerHeight(),b=Math.round((it-v)/2),rt=Math.round((y-l)/2),p=Math.round(a+b),h=Math.round(c+y+i.edgeOffset),o="",w="",g=Math.round(v-12)/2;i.defaultPosition=="bottom"?o="_bottom":i.defaultPosition=="top"?o="_top":i.defaultPosition=="left"?o="_left":i.defaultPosition=="right"&&(o="_right");nt=b+a<parseInt(n(window).scrollLeft());tt=v+a>parseInt(n(window).width());nt&&b<0||o=="_right"&&!tt||o=="_left"&&a<v+i.edgeOffset+5?(o="_right",w=Math.round(l-13)/2,g=-12,p=Math.round(a+it+i.edgeOffset),h=Math.round(c+rt)):(tt&&b<0||o=="_left"&&!nt)&&(o="_left",w=Math.round(l-13)/2,g=Math.round(v),p=Math.round(a-(v+i.edgeOffset+5)),h=Math.round(c+rt));k=c+y+i.edgeOffset+l+8>parseInt(n(window).height()+n(window).scrollTop());d=c+y-(i.edgeOffset+l+8)<0;k||o=="_bottom"&&k||o=="_top"&&!d?(o=o=="_top"||o=="_bottom"?"_top":o+"_top",w=l,h=Math.round(c-(l+5+i.edgeOffset))):(d|(o=="_top"&&d)||o=="_bottom"&&!k)&&(o=o=="_top"||o=="_bottom"?"_bottom":o+"_bottom",w=-12,h=Math.round(c+y+i.edgeOffset));o=="_right_top"||o=="_left_top"?h=h+5:(o=="_right_bottom"||o=="_left_bottom")&&(h=h-5);(o=="_left_top"||o=="_left_bottom")&&(p=p+5);u.css({"margin-left":g+"px","margin-top":w+"px"});r.css({"margin-left":p+"px","margin-top":h+"px"}).attr("class","tip"+o);e&&clearTimeout(e);e=setTimeout(function(){r.stop(!0,!0).fadeIn(i.fadeIn)},i.delay)}function o(){i.exit.call(this);e&&clearTimeout(e);r.fadeOut(i.fadeOut)}}})}}(jQuery),function(n){function f(n,t,i){this.dec=n;this.group=t;this.neg=i}function e(){for(var i,n=0;n<r.length;n++)for(localeGroup=r[n],i=0;i<localeGroup.length;i++)t.put(localeGroup[i],n)}function i(n,i){var o,r;t.size()==0&&e();var s=".",h=",";return i==!1&&(n.indexOf("_")!=-1?n=n.split("_")[1].toLowerCase():n.indexOf("-")!=-1&&(n=n.split("-")[1].toLowerCase())),o=t.get(n),o&&(r=u[o],r&&(s=r[0],h=r[1])),new f(s,h,"-")}var t=new Hashtable,u=[[".",","],[",","."],[","," "],[".","'"]],r=[["ae","au","ca","cn","eg","gb","hk","il","in","jp","sk","th","tw","us"],["at","br","de","dk","es","gr","it","nl","pt","tr","vn"],["cz","fi","fr","ru","se","pl"],["ch"]];n.fn.formatNumber=function(t,i,r){return this.each(function(){var f,u;return i==null&&(i=!0),r==null&&(r=!0),f=n(this).is(":input")?new String(n(this).val()):new String(n(this).text()),u=n.formatNumber(f,t),i&&(n(this).is(":input")?n(this).val(u):n(this).text(u)),r?u:void 0})};n.formatNumber=function(t,r){for(var r=n.extend({},n.fn.formatNumber.defaults,r),o=i(r.locale.toLowerCase(),r.isFullLocale),l=o.dec,a=o.group,v=o.neg,s="0#-,.",e="",h=!1,f,c,u=0;u<r.format.length;u++)if(s.indexOf(r.format.charAt(u))==-1)e=e+r.format.charAt(u);else if(u==0&&r.format.charAt(u)=="-"){h=!0;continue}else break;for(f="",u=r.format.length-1;u>=0;u--)if(s.indexOf(r.format.charAt(u))==-1)f=r.format.charAt(u)+f;else break;return r.format=r.format.substring(e.length),r.format=r.format.substring(0,r.format.length-f.length),c=new Number(t),n._formatNumber(c,r,f,e,h)};n._formatNumber=function(t,r,u,f,e){var r=n.extend({},n.fn.formatNumber.defaults,r),k=i(r.locale.toLowerCase(),r.isFullLocale),it=k.dec,rt=k.group,ut=k.neg,ft=!1,c,v,a,y,et,l,ot,p,s,h,d,g,w,o,nt,st,tt,b;if(isNaN(t))if(r.nanForceZero==!0)t=0,ft=!0;else return null;if(u=="%"&&(t=t*100),c="",r.format.indexOf(".")>-1){for(v=it,a=r.format.substring(r.format.lastIndexOf(".")+1),r.round==!0?t=new Number(t.toFixed(a.length)):(y=t.toString(),y=y.substring(0,y.lastIndexOf(".")+a.length+1),t=new Number(y)),et=t%1,l=new String(et.toFixed(a.length)),l=l.substring(l.lastIndexOf(".")+1),o=0;o<a.length;o++)if(a.charAt(o)=="#"&&l.charAt(o)!="0"){v+=l.charAt(o);continue}else if(a.charAt(o)=="#"&&l.charAt(o)=="0")if(ot=l.substring(o),ot.match("[1-9]")){v+=l.charAt(o);continue}else break;else a.charAt(o)=="0"&&(v+=l.charAt(o));c+=v}else t=Math.round(t);if(p=Math.floor(t),t<0&&(p=Math.ceil(t)),s="",s=r.format.indexOf(".")==-1?r.format:r.format.substring(0,r.format.indexOf(".")),h="",!(p==0&&s.substr(s.length-1)=="#")||ft){for(d=new String(Math.abs(p)),g=9999,s.lastIndexOf(",")!=-1&&(g=s.length-s.lastIndexOf(",")-1),w=0,o=d.length-1;o>-1;o--)h=d.charAt(o)+h,w++,w==g&&o!=0&&(h=rt+h,w=0);if(s.length>h.length&&(nt=s.indexOf("0"),nt!=-1))for(st=s.length-nt,tt=s.length-h.length-1;h.length<st;)b=s.charAt(tt),b==","&&(b=rt),h=b+h,tt--}return h||s.indexOf("0",s.length-1)===-1||(h="0"),c=h+c,t<0&&e&&f.length>0?f=ut+f:t<0&&(c=ut+c),r.decimalSeparatorAlwaysShown||c.lastIndexOf(it)==c.length-1&&(c=c.substring(0,c.length-1)),f+c+u};n.fn.parseNumber=function(t,i,r){var f,u;return i==null&&(i=!0),r==null&&(r=!0),f=n(this).is(":input")?new String(n(this).val()):new String(n(this).text()),u=n.parseNumber(f,t),u&&(i&&(n(this).is(":input")?n(this).val(u.toString()):n(this).text(u.toString())),r)?u:void 0};n.parseNumber=function(t,r){for(var r=n.extend({},n.fn.parseNumber.defaults,r),o=i(r.locale.toLowerCase(),r.isFullLocale),a=o.dec,c=o.group,v=o.neg,f,s,e,u,h,l;t.indexOf(c)>-1;)t=t.replace(c,"");for(t=t.replace(a,".").replace(v,"-"),f="",s=!1,(t.charAt(t.length-1)=="%"||r.isPercentage==!0)&&(s=!0),e=0;e<t.length;e++)"1234567890.-".indexOf(t.charAt(e))>-1&&(f=f+t.charAt(e));return u=new Number(f),s&&(u=u/100,h=f.indexOf("."),h!=-1?(l=f.length-h-1,u=u.toFixed(l+2)):u=u.toFixed(f.length-1)),u};n.fn.parseNumber.defaults={locale:"us",decimalSeparatorAlwaysShown:!1,isPercentage:!1,isFullLocale:!1};n.fn.formatNumber.defaults={format:"#,###.00",locale:"us",decimalSeparatorAlwaysShown:!1,nanForceZero:!0,round:!0,isFullLocale:!1};Number.prototype.toFixed=function(t){return n._roundNumber(this,t)};n._roundNumber=function(n,t){var u=Math.pow(10,t||0),r=String(Math.round(n*u)/u),i;if(t>0)for(i=r.indexOf("."),i==-1?(r+=".",i=0):i=r.length-(i+1);i<t;)r+="0",i++;return r}}(jQuery),function(n){n.baseClass=function(t){return t=n(t),t.get(0).className.match(/([^ ]+)/)[1]};n.fn.addDependClass=function(t,i){var r={delimiter:i?i:"-"};return this.each(function(){var i=n.baseClass(this);i&&n(this).addClass(i+r.delimiter+t)})};n.fn.removeDependClass=function(t,i){var r={delimiter:i?i:"-"};return this.each(function(){var i=n.baseClass(this);i&&n(this).removeClass(i+r.delimiter+t)})};n.fn.toggleDependClass=function(t,i){var r={delimiter:i?i:"-"};return this.each(function(){var i=n.baseClass(this);i&&(n(this).is("."+i+r.delimiter+t)?n(this).removeClass(i+r.delimiter+t):n(this).addClass(i+r.delimiter+t))})}}(jQuery),function(n){function t(){this._init.apply(this,arguments)}t.prototype.oninit=function(){};t.prototype.events=function(){};t.prototype.onmousedown=function(){this.ptr.css({position:"absolute"})};t.prototype.onmousemove=function(n,t,i){this.ptr.css({left:t,top:i})};t.prototype.onmouseup=function(){};t.prototype.isDefault={drag:!1,clicked:!1,toclick:!0,mouseup:!1};t.prototype._init=function(){if(arguments.length>0){this.ptr=n(arguments[0]);this.outer=n(".draggable-outer");this.is={};n.extend(this.is,this.isDefault);var t=this.ptr.offset();this.d={left:t.left,top:t.top,width:this.ptr.width(),height:this.ptr.height()};this.oninit.apply(this,arguments);this._events()}};t.prototype._getPageCoords=function(n){return n.targetTouches&&n.targetTouches[0]?{x:n.targetTouches[0].pageX,y:n.targetTouches[0].pageY}:{x:n.pageX,y:n.pageY}};t.prototype._bindEvent=function(n,t,i){var r=this;this.supportTouches_?n.get(0).addEventListener(this.events_[t],i,!1):n.bind(this.events_[t],i)};t.prototype._events=function(){var t=this;this.supportTouches_=n.browser.webkit&&navigator.userAgent.indexOf("Mobile")!=-1;this.events_={click:this.supportTouches_?"touchstart":"click",down:this.supportTouches_?"touchstart":"mousedown",move:this.supportTouches_?"touchmove":"mousemove",up:this.supportTouches_?"touchend":"mouseup"};this._bindEvent(n(document),"move",function(n){t.is.drag&&(n.stopPropagation(),n.preventDefault(),t._mousemove(n))});this._bindEvent(n(document),"down",function(n){t.is.drag&&(n.stopPropagation(),n.preventDefault())});this._bindEvent(n(document),"up",function(n){t._mouseup(n)});this._bindEvent(this.ptr,"down",function(n){return t._mousedown(n),!1});this._bindEvent(this.ptr,"up",function(n){t._mouseup(n)});this.ptr.find("a").click(function(){return t.is.clicked=!0,t.is.toclick?void 0:(t.is.toclick=!0,!1)}).mousedown(function(n){return t._mousedown(n),!1});this.events()};t.prototype._mousedown=function(t){this.is.drag=!0;this.is.clicked=!1;this.is.mouseup=!1;var i=this.ptr.offset(),r=this._getPageCoords(t);this.cx=r.x-i.left;this.cy=r.y-i.top;n.extend(this.d,{left:i.left,top:i.top,width:this.ptr.width(),height:this.ptr.height()});this.outer&&this.outer.get(0)&&this.outer.css({height:Math.max(this.outer.height(),n(document.body).height()),overflow:"hidden"});this.onmousedown(t)};t.prototype._mousemove=function(n){this.is.toclick=!1;var t=this._getPageCoords(n);this.onmousemove(n,t.x-this.cx,t.y-this.cy)};t.prototype._mouseup=function(t){var i=this;if(this.is.drag){this.is.drag=!1;this.outer&&this.outer.get(0)&&(n.browser.mozilla?this.outer.css({overflow:"hidden"}):this.outer.css({overflow:"visible"}),n.browser.msie&&n.browser.version=="6.0"?this.outer.css({height:"100%"}):this.outer.css({height:"auto"}));this.onmouseup(t)}};window.Draggable=t}(jQuery);_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n};windowIsDefined="object"===("undefined"==typeof window?"undefined":_typeof(window));!function(n){if("function"==typeof define&&define.amd)define(["jquery"],n);else if("object"===("undefined"==typeof module?"undefined":_typeof(module))&&module.exports){var t;try{t=require("jquery")}catch(i){t=null}module.exports=n(t)}else window&&(window.Slider=n(window.jQuery))}(function(n){var i="slider",r="bootstrapSlider",t;return windowIsDefined&&!window.console&&(window.console={}),windowIsDefined&&!window.console.log&&(window.console.log=function(){}),windowIsDefined&&!window.console.warn&&(window.console.warn=function(){}),function(n){function t(){}function i(n){function u(t){t.prototype.option||(t.prototype.option=function(t){n.isPlainObject(t)&&(this.options=n.extend(!0,this.options,t))})}function f(t,u){n.fn[t]=function(f){var c,e,s,o;if("string"==typeof f){for(var l=r.call(arguments,1),h=0,a=this.length;a>h;h++)if(c=this[h],e=n.data(c,t),e)if(n.isFunction(e[f])&&"_"!==f.charAt(0)){if(s=e[f].apply(e,l),void 0!==s&&s!==e)return s}else i("no such method '"+f+"' for "+t+" instance");else i("cannot call methods on "+t+" prior to initialization; attempted to call '"+f+"'");return this}return o=this.map(function(){var i=n.data(this,t);return i?(i.option(f),i._init()):(i=new u(this,f),n.data(this,t,i)),n(this)}),!o||o.length>1?o:o[0]}}if(n){var i="undefined"==typeof console?t:function(n){console.error(n)};return n.bridget=function(n,t){u(t);f(n,t)},n.bridget}}var r=Array.prototype.slice;i(n)}(n),function(n){function f(t,i){function yt(n,t){var r="data-slider-"+t.replace(/_/g,"-"),i=n.getAttribute(r);try{return JSON.parse(i)}catch(u){return i}}var rt,r,c,e,s,a,k,d,ht,g,h,tt,v,y,p,lt,at,ft,vt,et;for(this._state={value:null,enabled:null,offset:null,size:null,percentage:null,inDrag:!1,over:!1},this.ticksCallbackMap={},this.handleCallbackMap={},"string"==typeof t?this.element=document.querySelector(t):t instanceof HTMLElement&&(this.element=t),i=i?i:{},rt=Object.keys(this.defaultOptions),r=0;r<rt.length;r++)c=rt[r],e=i[c],e="undefined"!=typeof e?e:yt(this.element,c),e=null!==e?e:this.defaultOptions[c],this.options||(this.options={}),this.options[c]=e;"auto"===this.options.rtl&&(this.options.rtl="rtl"===window.getComputedStyle(this.element).direction);"vertical"!==this.options.orientation||"top"!==this.options.tooltip_position&&"bottom"!==this.options.tooltip_position?"horizontal"!==this.options.orientation||"left"!==this.options.tooltip_position&&"right"!==this.options.tooltip_position||(this.options.tooltip_position="top"):this.options.tooltip_position=this.options.rtl?"left":"right";var l,w,b,u,f,pt=this.element.style.width,ut=!1,wt=this.element.parentNode;if(this.sliderElem)ut=!0;else{if(this.sliderElem=document.createElement("div"),this.sliderElem.className="slider",s=document.createElement("div"),s.className="slider-track",w=document.createElement("div"),w.className="slider-track-low",l=document.createElement("div"),l.className="slider-selection",b=document.createElement("div"),b.className="slider-track-high",u=document.createElement("div"),u.className="slider-handle min-slider-handle",u.setAttribute("role","slider"),u.setAttribute("aria-valuemin",this.options.min),u.setAttribute("aria-valuemax",this.options.max),f=document.createElement("div"),f.className="slider-handle max-slider-handle",f.setAttribute("role","slider"),f.setAttribute("aria-valuemin",this.options.min),f.setAttribute("aria-valuemax",this.options.max),s.appendChild(w),s.appendChild(l),s.appendChild(b),this.rangeHighlightElements=[],a=this.options.rangeHighlights,Array.isArray(a)&&a.length>0)for(k=0;k<a.length;k++)d=document.createElement("div"),ht=a[k]["class"]||"",d.className="slider-rangeHighlight slider-selection "+ht,this.rangeHighlightElements.push(d),s.appendChild(d);if(g=Array.isArray(this.options.labelledby),g&&this.options.labelledby[0]&&u.setAttribute("aria-labelledby",this.options.labelledby[0]),g&&this.options.labelledby[1]&&f.setAttribute("aria-labelledby",this.options.labelledby[1]),!g&&this.options.labelledby&&(u.setAttribute("aria-labelledby",this.options.labelledby),f.setAttribute("aria-labelledby",this.options.labelledby)),this.ticks=[],Array.isArray(this.options.ticks)&&this.options.ticks.length>0){for(this.ticksContainer=document.createElement("div"),this.ticksContainer.className="slider-tick-container",r=0;r<this.options.ticks.length;r++){if(h=document.createElement("div"),h.className="slider-tick",this.options.ticks_tooltip){var ct=this._addTickListener(),bt=ct.addMouseEnter(this,h,r),kt=ct.addMouseLeave(this,h);this.ticksCallbackMap[r]={mouseEnter:bt,mouseLeave:kt}}this.ticks.push(h);this.ticksContainer.appendChild(h)}l.className+=" tick-slider-selection"}if(this.tickLabels=[],Array.isArray(this.options.ticks_labels)&&this.options.ticks_labels.length>0)for(this.tickLabelContainer=document.createElement("div"),this.tickLabelContainer.className="slider-tick-label-container",r=0;r<this.options.ticks_labels.length;r++){var nt=document.createElement("div"),dt=0===this.options.ticks_positions.length,gt=this.options.reversed&&dt?this.options.ticks_labels.length-(r+1):r;nt.className="slider-tick-label";nt.innerHTML=this.options.ticks_labels[gt];this.tickLabels.push(nt);this.tickLabelContainer.appendChild(nt)}tt=function(n){var i=document.createElement("div"),t;i.className="tooltip-arrow";t=document.createElement("div");t.className="tooltip-inner";n.appendChild(i);n.appendChild(t)};v=document.createElement("div");v.className="tooltip tooltip-main";v.setAttribute("role","presentation");tt(v);y=document.createElement("div");y.className="tooltip tooltip-min";y.setAttribute("role","presentation");tt(y);p=document.createElement("div");p.className="tooltip tooltip-max";p.setAttribute("role","presentation");tt(p);this.sliderElem.appendChild(s);this.sliderElem.appendChild(v);this.sliderElem.appendChild(y);this.sliderElem.appendChild(p);this.tickLabelContainer&&this.sliderElem.appendChild(this.tickLabelContainer);this.ticksContainer&&this.sliderElem.appendChild(this.ticksContainer);this.sliderElem.appendChild(u);this.sliderElem.appendChild(f);wt.insertBefore(this.sliderElem,this.element);this.element.style.display="none"}if(n&&(this.$element=n(this.element),this.$sliderElem=n(this.sliderElem)),this.eventToCallbackMap={},this.sliderElem.id=this.options.id,this.touchCapable="ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,this.touchX=0,this.touchY=0,this.tooltip=this.sliderElem.querySelector(".tooltip-main"),this.tooltipInner=this.tooltip.querySelector(".tooltip-inner"),this.tooltip_min=this.sliderElem.querySelector(".tooltip-min"),this.tooltipInner_min=this.tooltip_min.querySelector(".tooltip-inner"),this.tooltip_max=this.sliderElem.querySelector(".tooltip-max"),this.tooltipInner_max=this.tooltip_max.querySelector(".tooltip-inner"),o[this.options.scale]&&(this.options.scale=o[this.options.scale]),ut===!0&&(this._removeClass(this.sliderElem,"slider-horizontal"),this._removeClass(this.sliderElem,"slider-vertical"),this._removeClass(this.sliderElem,"slider-rtl"),this._removeClass(this.tooltip,"hide"),this._removeClass(this.tooltip_min,"hide"),this._removeClass(this.tooltip_max,"hide"),["left","right","top","width","height"].forEach(function(n){this._removeProperty(this.trackLow,n);this._removeProperty(this.trackSelection,n);this._removeProperty(this.trackHigh,n)},this),[this.handle1,this.handle2].forEach(function(n){this._removeProperty(n,"left");this._removeProperty(n,"right");this._removeProperty(n,"top")},this),[this.tooltip,this.tooltip_min,this.tooltip_max].forEach(function(n){this._removeProperty(n,"left");this._removeProperty(n,"right");this._removeProperty(n,"top");this._removeClass(n,"right");this._removeClass(n,"left");this._removeClass(n,"top")},this)),"vertical"===this.options.orientation?(this._addClass(this.sliderElem,"slider-vertical"),this.stylePos="top",this.mousePos="pageY",this.sizePos="offsetHeight"):(this._addClass(this.sliderElem,"slider-horizontal"),this.sliderElem.style.width=pt,this.options.orientation="horizontal",this.stylePos=this.options.rtl?"right":"left",this.mousePos="pageX",this.sizePos="offsetWidth"),this.options.rtl&&this._addClass(this.sliderElem,"slider-rtl"),this._setTooltipPosition(),Array.isArray(this.options.ticks)&&this.options.ticks.length>0&&(this.options.max=Math.max.apply(Math,this.options.ticks),this.options.min=Math.min.apply(Math,this.options.ticks)),Array.isArray(this.options.value)?(this.options.range=!0,this._state.value=this.options.value):this._state.value=this.options.range?[this.options.value,this.options.max]:this.options.value,this.trackLow=w||this.trackLow,this.trackSelection=l||this.trackSelection,this.trackHigh=b||this.trackHigh,"none"===this.options.selection?(this._addClass(this.trackLow,"hide"),this._addClass(this.trackSelection,"hide"),this._addClass(this.trackHigh,"hide")):("after"===this.options.selection||"before"===this.options.selection)&&(this._removeClass(this.trackLow,"hide"),this._removeClass(this.trackSelection,"hide"),this._removeClass(this.trackHigh,"hide")),this.handle1=u||this.handle1,this.handle2=f||this.handle2,ut===!0)for(this._removeClass(this.handle1,"round triangle"),this._removeClass(this.handle2,"round triangle hide"),r=0;r<this.ticks.length;r++)this._removeClass(this.ticks[r],"round triangle hide");if(lt=["round","triangle","custom"],at=-1!==lt.indexOf(this.options.handle),at)for(this._addClass(this.handle1,this.options.handle),this._addClass(this.handle2,this.options.handle),r=0;r<this.ticks.length;r++)this._addClass(this.ticks[r],this.options.handle);if(this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos],this.setValue(this._state.value),this.handle1Keydown=this._keydown.bind(this,0),this.handle1.addEventListener("keydown",this.handle1Keydown,!1),this.handle2Keydown=this._keydown.bind(this,1),this.handle2.addEventListener("keydown",this.handle2Keydown,!1),this.mousedown=this._mousedown.bind(this),this.touchstart=this._touchstart.bind(this),this.touchmove=this._touchmove.bind(this),this.touchCapable){ft=!1;try{vt=Object.defineProperty({},"passive",{get:function(){ft=!0}});window.addEventListener("test",null,vt)}catch(ni){}et=ft?{passive:!0}:!1;this.sliderElem.addEventListener("touchstart",this.touchstart,et);this.sliderElem.addEventListener("touchmove",this.touchmove,et)}if(this.sliderElem.addEventListener("mousedown",this.mousedown,!1),this.resize=this._resize.bind(this),window.addEventListener("resize",this.resize,!1),"hide"===this.options.tooltip)this._addClass(this.tooltip,"hide"),this._addClass(this.tooltip_min,"hide"),this._addClass(this.tooltip_max,"hide");else if("always"===this.options.tooltip)this._showTooltip(),this._alwaysShowTooltip=!0;else{if(this.showTooltip=this._showTooltip.bind(this),this.hideTooltip=this._hideTooltip.bind(this),this.options.ticks_tooltip){var it=this._addTickListener(),ot=it.addMouseEnter(this,this.handle1),st=it.addMouseLeave(this,this.handle1);this.handleCallbackMap.handle1={mouseEnter:ot,mouseLeave:st};ot=it.addMouseEnter(this,this.handle2);st=it.addMouseLeave(this,this.handle2);this.handleCallbackMap.handle2={mouseEnter:ot,mouseLeave:st}}else this.sliderElem.addEventListener("mouseenter",this.showTooltip,!1),this.sliderElem.addEventListener("mouseleave",this.hideTooltip,!1);this.handle1.addEventListener("focus",this.showTooltip,!1);this.handle1.addEventListener("blur",this.hideTooltip,!1);this.handle2.addEventListener("focus",this.showTooltip,!1);this.handle2.addEventListener("blur",this.hideTooltip,!1)}this.options.enabled?this.enable():this.disable()}var e={formatInvalidInputErrorMsg:function(n){return"Invalid input value '"+n+"' passed in"},callingContextNotSliderInstance:"Calling context element does not have instance of Slider bound to it. Check your code to make sure the JQuery object returned from the call to the slider() initializer is calling the method"},o={linear:{toValue:function(n){var e=n/100*(this.options.max-this.options.min),o=!0,r,s,u,f,t,h,c,i;if(this.options.ticks_positions.length>0){for(f=0,t=1;t<this.options.ticks_positions.length;t++)if(n<=this.options.ticks_positions[t]){r=this.options.ticks[t-1];u=this.options.ticks_positions[t-1];s=this.options.ticks[t];f=this.options.ticks_positions[t];break}h=(n-u)/(f-u);e=r+h*(s-r);o=!1}return c=o?this.options.min:0,i=c+Math.round(e/this.options.step)*this.options.step,i<this.options.min?this.options.min:i>this.options.max?this.options.max:i},toPercentage:function(n){var i,f,r,u,t,e;if(this.options.max===this.options.min)return 0;if(this.options.ticks_positions.length>0){for(u=0,t=0;t<this.options.ticks.length;t++)if(n<=this.options.ticks[t]){i=t>0?this.options.ticks[t-1]:0;r=t>0?this.options.ticks_positions[t-1]:0;f=this.options.ticks[t];u=this.options.ticks_positions[t];break}if(t>0)return e=(n-i)/(f-i),r+e*(u-r)}return 100*(n-this.options.min)/(this.options.max-this.options.min)}},logarithmic:{toValue:function(n){var i=0===this.options.min?0:Math.log(this.options.min),r=Math.log(this.options.max),t=Math.exp(i+(r-i)*n/100);return Math.round(t)===this.options.max?this.options.max:(t=this.options.min+Math.round((t-this.options.min)/this.options.step)*this.options.step,t<this.options.min?this.options.min:t>this.options.max?this.options.max:t)},toPercentage:function(n){if(this.options.max===this.options.min)return 0;var i=Math.log(this.options.max),t=0===this.options.min?0:Math.log(this.options.min),r=0===n?0:Math.log(n);return 100*(r-t)/(i-t)}}},u;(t=function(n,t){return f.call(this,n,t),this},t.prototype={_init:function(){},constructor:t,defaultOptions:{id:"",min:0,max:10,step:1,precision:0,orientation:"horizontal",value:5,range:!1,selection:"before",tooltip:"show",tooltip_split:!1,handle:"round",reversed:!1,rtl:"auto",enabled:!0,formatter:function(n){return Array.isArray(n)?n[0]+" : "+n[1]:n},natural_arrow_keys:!1,ticks:[],ticks_positions:[],ticks_labels:[],ticks_snap_bounds:0,ticks_tooltip:!1,scale:"linear",focus:!1,tooltip_position:null,labelledby:null,rangeHighlights:[]},getElement:function(){return this.sliderElem},getValue:function(){return this.options.range?this._state.value:this._state.value[0]},setValue:function(n,t,i){var f,u,r;return n||(n=0),f=this.getValue(),this._state.value=this._validateInputValue(n),u=this._applyPrecision.bind(this),this.options.range?(this._state.value[0]=u(this._state.value[0]),this._state.value[1]=u(this._state.value[1]),this._state.value[0]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[0])),this._state.value[1]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[1]))):(this._state.value=u(this._state.value),this._state.value=[Math.max(this.options.min,Math.min(this.options.max,this._state.value))],this._addClass(this.handle2,"hide"),this._state.value[1]="after"===this.options.selection?this.options.max:this.options.min),this._state.percentage=this.options.max>this.options.min?[this._toPercentage(this._state.value[0]),this._toPercentage(this._state.value[1]),100*this.options.step/(this.options.max-this.options.min)]:[0,0,100],this._layout(),r=this.options.range?this._state.value:this._state.value[0],this._setDataVal(r),t===!0&&this._trigger("slide",r),f!==r&&i===!0&&this._trigger("change",{oldValue:f,newValue:r}),this},destroy:function(){this._removeSliderEventHandlers();this.sliderElem.parentNode.removeChild(this.sliderElem);this.element.style.display="";this._cleanUpEventCallbacksMap();this.element.removeAttribute("data");n&&(this._unbindJQueryEventHandlers(),this.$element.removeData("slider"))},disable:function(){return this._state.enabled=!1,this.handle1.removeAttribute("tabindex"),this.handle2.removeAttribute("tabindex"),this._addClass(this.sliderElem,"slider-disabled"),this._trigger("slideDisabled"),this},enable:function(){return this._state.enabled=!0,this.handle1.setAttribute("tabindex",0),this.handle2.setAttribute("tabindex",0),this._removeClass(this.sliderElem,"slider-disabled"),this._trigger("slideEnabled"),this},toggle:function(){return this._state.enabled?this.disable():this.enable(),this},isEnabled:function(){return this._state.enabled},on:function(n,t){return this._bindNonQueryEventHandler(n,t),this},off:function(t,i){n?(this.$element.off(t,i),this.$sliderElem.off(t,i)):this._unbindNonQueryEventHandler(t,i)},getAttribute:function(n){return n?this.options[n]:this.options},setAttribute:function(n,t){return this.options[n]=t,this},refresh:function(){return this._removeSliderEventHandlers(),f.call(this,this.element,this.options),n&&n.data(this.element,"slider",this),this},relayout:function(){return this._resize(),this._layout(),this},_removeSliderEventHandlers:function(){if(this.handle1.removeEventListener("keydown",this.handle1Keydown,!1),this.handle2.removeEventListener("keydown",this.handle2Keydown,!1),this.options.ticks_tooltip){for(var t=this.ticksContainer.getElementsByClassName("slider-tick"),n=0;n<t.length;n++)t[n].removeEventListener("mouseenter",this.ticksCallbackMap[n].mouseEnter,!1),t[n].removeEventListener("mouseleave",this.ticksCallbackMap[n].mouseLeave,!1);this.handle1.removeEventListener("mouseenter",this.handleCallbackMap.handle1.mouseEnter,!1);this.handle2.removeEventListener("mouseenter",this.handleCallbackMap.handle2.mouseEnter,!1);this.handle1.removeEventListener("mouseleave",this.handleCallbackMap.handle1.mouseLeave,!1);this.handle2.removeEventListener("mouseleave",this.handleCallbackMap.handle2.mouseLeave,!1)}this.handleCallbackMap=null;this.ticksCallbackMap=null;this.showTooltip&&(this.handle1.removeEventListener("focus",this.showTooltip,!1),this.handle2.removeEventListener("focus",this.showTooltip,!1));this.hideTooltip&&(this.handle1.removeEventListener("blur",this.hideTooltip,!1),this.handle2.removeEventListener("blur",this.hideTooltip,!1));this.showTooltip&&this.sliderElem.removeEventListener("mouseenter",this.showTooltip,!1);this.hideTooltip&&this.sliderElem.removeEventListener("mouseleave",this.hideTooltip,!1);this.sliderElem.removeEventListener("touchstart",this.touchstart,!1);this.sliderElem.removeEventListener("touchmove",this.touchmove,!1);this.sliderElem.removeEventListener("mousedown",this.mousedown,!1);window.removeEventListener("resize",this.resize,!1)},_bindNonQueryEventHandler:function(n,t){void 0===this.eventToCallbackMap[n]&&(this.eventToCallbackMap[n]=[]);this.eventToCallbackMap[n].push(t)},_unbindNonQueryEventHandler:function(n,t){var r=this.eventToCallbackMap[n],i;if(void 0!==r)for(i=0;i<r.length;i++)if(r[i]===t){r.splice(i,1);break}},_cleanUpEventCallbacksMap:function(){for(var i,t=Object.keys(this.eventToCallbackMap),n=0;n<t.length;n++)i=t[n],delete this.eventToCallbackMap[i]},_showTooltip:function(){this.options.tooltip_split===!1?(this._addClass(this.tooltip,"in"),this.tooltip_min.style.display="none",this.tooltip_max.style.display="none"):(this._addClass(this.tooltip_min,"in"),this._addClass(this.tooltip_max,"in"),this.tooltip.style.display="none");this._state.over=!0},_hideTooltip:function(){this._state.inDrag===!1&&this.alwaysShowTooltip!==!0&&(this._removeClass(this.tooltip,"in"),this._removeClass(this.tooltip_min,"in"),this._removeClass(this.tooltip_max,"in"));this._state.over=!1},_setToolTipOnMouseOver:function(n){function t(n,t){return t?[100-n.percentage[0],this.options.range?100-n.percentage[1]:n.percentage[1]]:[n.percentage[0],n.percentage[1]]}var i=this.options.formatter(n?n.value[0]:this._state.value[0]),r=n?t(n,this.options.reversed):t(this._state,this.options.reversed);this._setText(this.tooltipInner,i);this.tooltip.style[this.stylePos]=r[0]+"%"},_addTickListener:function(){return{addMouseEnter:function(n,t,i){var r=function(){var t=n._state,u=i>=0?i:this.attributes["aria-valuenow"].value,r=parseInt(u,10);t.value[0]=r;t.percentage[0]=n.options.ticks_positions[r];n._setToolTipOnMouseOver(t);n._showTooltip()};return t.addEventListener("mouseenter",r,!1),r},addMouseLeave:function(n,t){var i=function(){n._hideTooltip()};return t.addEventListener("mouseleave",i,!1),i}}},_layout:function(){var n,i,e,o,v,u,s,y,h,f,t,r,c,p,w,l,a;if(n=this.options.reversed?[100-this._state.percentage[0],this.options.range?100-this._state.percentage[1]:this._state.percentage[1]]:[this._state.percentage[0],this._state.percentage[1]],this.handle1.style[this.stylePos]=n[0]+"%",this.handle1.setAttribute("aria-valuenow",this._state.value[0]),isNaN(this.options.formatter(this._state.value[0]))&&this.handle1.setAttribute("aria-valuetext",this.options.formatter(this._state.value[0])),this.handle2.style[this.stylePos]=n[1]+"%",this.handle2.setAttribute("aria-valuenow",this._state.value[1]),isNaN(this.options.formatter(this._state.value[1]))&&this.handle2.setAttribute("aria-valuetext",this.options.formatter(this._state.value[1])),this.rangeHighlightElements.length>0&&Array.isArray(this.options.rangeHighlights)&&this.options.rangeHighlights.length>0)for(i=0;i<this.options.rangeHighlights.length;i++)e=this._toPercentage(this.options.rangeHighlights[i].start),o=this._toPercentage(this.options.rangeHighlights[i].end),this.options.reversed&&(v=100-o,o=100-e,e=v),u=this._createHighlightRange(e,o),u?"vertical"===this.options.orientation?(this.rangeHighlightElements[i].style.top=u.start+"%",this.rangeHighlightElements[i].style.height=u.size+"%"):(this.options.rtl?this.rangeHighlightElements[i].style.right=u.start+"%":this.rangeHighlightElements[i].style.left=u.start+"%",this.rangeHighlightElements[i].style.width=u.size+"%"):this.rangeHighlightElements[i].style.display="none";if(Array.isArray(this.options.ticks)&&this.options.ticks.length>0){if(y="vertical"===this.options.orientation?"height":"width",s="vertical"===this.options.orientation?"marginTop":this.options.rtl?"marginRight":"marginLeft",h=this._state.size/(this.options.ticks.length-1),this.tickLabelContainer){if(f=0,0===this.options.ticks_positions.length)"vertical"!==this.options.orientation&&(this.tickLabelContainer.style[s]=-h/2+"px"),f=this.tickLabelContainer.offsetHeight;else for(t=0;t<this.tickLabelContainer.childNodes.length;t++)this.tickLabelContainer.childNodes[t].offsetHeight>f&&(f=this.tickLabelContainer.childNodes[t].offsetHeight);"horizontal"===this.options.orientation&&(this.sliderElem.style.marginBottom=f+"px")}for(t=0;t<this.options.ticks.length;t++)r=this.options.ticks_positions[t]||this._toPercentage(this.options.ticks[t]),this.options.reversed&&(r=100-r),this.ticks[t].style[this.stylePos]=r+"%",this._removeClass(this.ticks[t],"in-selection"),this.options.range?r>=n[0]&&r<=n[1]&&this._addClass(this.ticks[t],"in-selection"):"after"===this.options.selection&&r>=n[0]?this._addClass(this.ticks[t],"in-selection"):"before"===this.options.selection&&r<=n[0]&&this._addClass(this.ticks[t],"in-selection"),this.tickLabels[t]&&(this.tickLabels[t].style[y]=h+"px","vertical"!==this.options.orientation&&void 0!==this.options.ticks_positions[t]?(this.tickLabels[t].style.position="absolute",this.tickLabels[t].style[this.stylePos]=r+"%",this.tickLabels[t].style[s]=-h/2+"px"):"vertical"===this.options.orientation&&(this.options.rtl?this.tickLabels[t].style.marginRight=this.sliderElem.offsetWidth+"px":this.tickLabels[t].style.marginLeft=this.sliderElem.offsetWidth+"px",this.tickLabelContainer.style[s]=this.sliderElem.offsetWidth/-2+"px"))}this.options.range?(c=this.options.formatter(this._state.value),this._setText(this.tooltipInner,c),this.tooltip.style[this.stylePos]=(n[1]+n[0])/2+"%",p=this.options.formatter(this._state.value[0]),this._setText(this.tooltipInner_min,p),w=this.options.formatter(this._state.value[1]),this._setText(this.tooltipInner_max,w),this.tooltip_min.style[this.stylePos]=n[0]+"%",this.tooltip_max.style[this.stylePos]=n[1]+"%"):(c=this.options.formatter(this._state.value[0]),this._setText(this.tooltipInner,c),this.tooltip.style[this.stylePos]=n[0]+"%");"vertical"===this.options.orientation?(this.trackLow.style.top="0",this.trackLow.style.height=Math.min(n[0],n[1])+"%",this.trackSelection.style.top=Math.min(n[0],n[1])+"%",this.trackSelection.style.height=Math.abs(n[0]-n[1])+"%",this.trackHigh.style.bottom="0",this.trackHigh.style.height=100-Math.min(n[0],n[1])-Math.abs(n[0]-n[1])+"%"):("right"===this.stylePos?this.trackLow.style.right="0":this.trackLow.style.left="0",this.trackLow.style.width=Math.min(n[0],n[1])+"%","right"===this.stylePos?this.trackSelection.style.right=Math.min(n[0],n[1])+"%":this.trackSelection.style.left=Math.min(n[0],n[1])+"%",this.trackSelection.style.width=Math.abs(n[0]-n[1])+"%","right"===this.stylePos?this.trackHigh.style.left="0":this.trackHigh.style.right="0",this.trackHigh.style.width=100-Math.min(n[0],n[1])-Math.abs(n[0]-n[1])+"%",l=this.tooltip_min.getBoundingClientRect(),a=this.tooltip_max.getBoundingClientRect(),"bottom"===this.options.tooltip_position?l.right>a.left?(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top="",this.tooltip_max.style.bottom="22px"):(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top=this.tooltip_min.style.top,this.tooltip_max.style.bottom=""):l.right>a.left?(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top="18px"):(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top=this.tooltip_min.style.top))},_createHighlightRange:function(n,t){return this._isHighlightRange(n,t)?n>t?{start:t,size:n-t}:{start:n,size:t-n}:null},_isHighlightRange:function(n,t){return n>=0&&100>=n&&t>=0&&100>=t?!0:!1},_resize:function(){this._state.offset=this._offset(this.sliderElem);this._state.size=this.sliderElem[this.sizePos];this._layout()},_removeProperty:function(n,t){n.style.removeProperty?n.style.removeProperty(t):n.style.removeAttribute(t)},_mousedown:function(n){var t,r,u,i;return this._state.enabled?(this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos],t=this._getPercentage(n),this.options.range?(r=Math.abs(this._state.percentage[0]-t),u=Math.abs(this._state.percentage[1]-t),this._state.dragged=u>r?0:1,this._adjustPercentageForRangeSliders(t)):this._state.dragged=0,this._state.percentage[this._state.dragged]=t,this._layout(),this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1)),this.mousemove&&document.removeEventListener("mousemove",this.mousemove,!1),this.mouseup&&document.removeEventListener("mouseup",this.mouseup,!1),this.mousemove=this._mousemove.bind(this),this.mouseup=this._mouseup.bind(this),this.touchCapable&&(document.addEventListener("touchmove",this.mousemove,!1),document.addEventListener("touchend",this.mouseup,!1)),document.addEventListener("mousemove",this.mousemove,!1),document.addEventListener("mouseup",this.mouseup,!1),this._state.inDrag=!0,i=this._calculateValue(),this._trigger("slideStart",i),this._setDataVal(i),this.setValue(i,!1,!0),n.returnValue=!1,this.options.focus&&this._triggerFocusOnHandle(this._state.dragged),!0):!1},_touchstart:function(n){if(void 0===n.changedTouches)return void this._mousedown(n);var t=n.changedTouches[0];this.touchX=t.pageX;this.touchY=t.pageY},_triggerFocusOnHandle:function(n){0===n&&this.handle1.focus();1===n&&this.handle2.focus()},_keydown:function(n,t){var r,u,f,i,e,o,s;if(!this._state.enabled)return!1;switch(t.keyCode){case 37:case 40:r=-1;break;case 39:case 38:r=1}if(r)return this.options.natural_arrow_keys&&(u="vertical"===this.options.orientation&&!this.options.reversed,f="horizontal"===this.options.orientation&&this.options.reversed,(u||f)&&(r=-r)),i=this._state.value[n]+r*this.options.step,e=i/this.options.max*100,(this._state.keyCtrl=n,this.options.range)&&(this._adjustPercentageForRangeSliders(e),o=this._state.keyCtrl?this._state.value[0]:i,s=this._state.keyCtrl?i:this._state.value[1],i=[o,s]),this._trigger("slideStart",i),this._setDataVal(i),this.setValue(i,!0,!0),this._setDataVal(i),this._trigger("slideStop",i),this._layout(),this._pauseEvent(t),delete this._state.keyCtrl,!1},_pauseEvent:function(n){n.stopPropagation&&n.stopPropagation();n.preventDefault&&n.preventDefault();n.cancelBubble=!0;n.returnValue=!1},_mousemove:function(n){var t,i;return this._state.enabled?(t=this._getPercentage(n),this._adjustPercentageForRangeSliders(t),this._state.percentage[this._state.dragged]=t,this._layout(),i=this._calculateValue(!0),this.setValue(i,!0,!0),!1):!1},_touchmove:function(n){if(void 0!==n.changedTouches){var r=n.changedTouches[0],t=r.pageX-this.touchX,i=r.pageY-this.touchY;this._state.inDrag||("vertical"===this.options.orientation&&5>=t&&t>=-5&&(i>=15||-15>=i)?this._mousedown(n):5>=i&&i>=-5&&(t>=15||-15>=t)&&this._mousedown(n))}},_adjustPercentageForRangeSliders:function(n){var t,i;this.options.range&&(t=this._getNumDigitsAfterDecimalPlace(n),t=t?t-1:0,i=this._applyToFixedAndParseFloat(n,t),0===this._state.dragged&&this._applyToFixedAndParseFloat(this._state.percentage[1],t)<i?(this._state.percentage[0]=this._state.percentage[1],this._state.dragged=1):1===this._state.dragged&&this._applyToFixedAndParseFloat(this._state.percentage[0],t)>i?(this._state.percentage[1]=this._state.percentage[0],this._state.dragged=0):0===this._state.keyCtrl&&this._state.value[1]/this.options.max*100<n?(this._state.percentage[0]=this._state.percentage[1],this._state.keyCtrl=1,this.handle2.focus()):1===this._state.keyCtrl&&this._state.value[0]/this.options.max*100>n&&(this._state.percentage[1]=this._state.percentage[0],this._state.keyCtrl=0,this.handle1.focus()))},_mouseup:function(){if(!this._state.enabled)return!1;this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1));document.removeEventListener("mousemove",this.mousemove,!1);document.removeEventListener("mouseup",this.mouseup,!1);this._state.inDrag=!1;this._state.over===!1&&this._hideTooltip();var n=this._calculateValue(!0);return this._layout(),this._setDataVal(n),this._trigger("slideStop",n),!1},_calculateValue:function(n){var t,i,r,u;if(this.options.range?(t=[this.options.min,this.options.max],0!==this._state.percentage[0]&&(t[0]=this._toValue(this._state.percentage[0]),t[0]=this._applyPrecision(t[0])),100!==this._state.percentage[1]&&(t[1]=this._toValue(this._state.percentage[1]),t[1]=this._applyPrecision(t[1]))):(t=this._toValue(this._state.percentage[0]),t=parseFloat(t),t=this._applyPrecision(t)),n){for(i=[t,1/0],r=0;r<this.options.ticks.length;r++)u=Math.abs(this.options.ticks[r]-t),u<=i[1]&&(i=[this.options.ticks[r],u]);if(i[1]<=this.options.ticks_snap_bounds)return i[0]}return t},_applyPrecision:function(n){var t=this.options.precision||this._getNumDigitsAfterDecimalPlace(this.options.step);return this._applyToFixedAndParseFloat(n,t)},_getNumDigitsAfterDecimalPlace:function(n){var t=(""+n).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return t?Math.max(0,(t[1]?t[1].length:0)-(t[2]?+t[2]:0)):0},_applyToFixedAndParseFloat:function(n,t){var i=n.toFixed(t);return parseFloat(i)},_getPercentage:function(n){var t;this.touchCapable&&("touchstart"===n.type||"touchmove"===n.type)&&(n=n.touches[0]);var r=n[this.mousePos],u=this._state.offset[this.stylePos],i=r-u;return"right"===this.stylePos&&(i=-i),t=i/this._state.size*100,t=Math.round(t/this._state.percentage[2])*this._state.percentage[2],this.options.reversed&&(t=100-t),Math.max(0,Math.min(100,t))},_validateInputValue:function(n){if(isNaN(+n)){if(Array.isArray(n))return this._validateArray(n),n;throw new Error(e.formatInvalidInputErrorMsg(n));}return+n},_validateArray:function(n){for(var i,t=0;t<n.length;t++)if(i=n[t],"number"!=typeof i)throw new Error(e.formatInvalidInputErrorMsg(i));},_setDataVal:function(n){this.element.setAttribute("data-value",n);this.element.setAttribute("value",n);this.element.value=n},_trigger:function(t,i){var r,u,f;if(i=i||0===i?i:void 0,r=this.eventToCallbackMap[t],r&&r.length)for(u=0;u<r.length;u++)f=r[u],f(i);n&&this._triggerJQueryEvent(t,i)},_triggerJQueryEvent:function(n,t){var i={type:n,value:t};this.$element.trigger(i);this.$sliderElem.trigger(i)},_unbindJQueryEventHandlers:function(){this.$element.off();this.$sliderElem.off()},_setText:function(n,t){"undefined"!=typeof n.textContent?n.textContent=t:"undefined"!=typeof n.innerText&&(n.innerText=t)},_removeClass:function(n,t){for(var f,e,u=t.split(" "),i=n.className,r=0;r<u.length;r++)f=u[r],e=new RegExp("(?:\\s|^)"+f+"(?:\\s|$)"),i=i.replace(e," ");n.className=i.trim()},_addClass:function(n,t){for(var u=t.split(" "),i=n.className,r=0;r<u.length;r++){var f=u[r],e=new RegExp("(?:\\s|^)"+f+"(?:\\s|$)"),o=e.test(i);o||(i+=" "+f)}n.className=i.trim()},_offsetLeft:function(n){return n.getBoundingClientRect().left},_offsetRight:function(n){return n.getBoundingClientRect().right},_offsetTop:function(n){for(var t=n.offsetTop;(n=n.offsetParent)&&!isNaN(n.offsetTop);)t+=n.offsetTop,"BODY"!==n.tagName&&(t-=n.scrollTop);return t},_offset:function(n){return{left:this._offsetLeft(n),right:this._offsetRight(n),top:this._offsetTop(n)}},_css:function(t,i,r){if(n)n.style(t,i,r);else{var u=i.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(n,t){return t.toUpperCase()});t.style[u]=r}},_toValue:function(n){return this.options.scale.toValue.apply(this,[n])},_toPercentage:function(n){return this.options.scale.toPercentage.apply(this,[n])},_setTooltipPosition:function(){var n=[this.tooltip,this.tooltip_min,this.tooltip_max],t,i;"vertical"===this.options.orientation?(t=this.options.tooltip_position?this.options.tooltip_position:this.options.rtl?"left":"right",i="left"===t?"right":"left",n.forEach(function(n){this._addClass(n,t);n.style[i]="100%"}.bind(this))):"bottom"===this.options.tooltip_position?n.forEach(function(n){this._addClass(n,"bottom");n.style.top="22px"}.bind(this)):n.forEach(function(n){this._addClass(n,"top");n.style.top=-this.tooltip.outerHeight-14+"px"}.bind(this))}},n&&n.fn)&&(u=void 0,n.fn.slider?(windowIsDefined&&window.console.warn("bootstrap-slider.js - WARNING: $.fn.slider namespace is already bound. Use the $.fn.bootstrapSlider namespace instead."),u=r):(n.bridget(i,t),u=i),n.bridget(r,t),n(function(){n("input[data-provide=slider]")[u]()}))}(n),t});initialLoadCustom=!0