oanda-stats
Version:
A CLI offering trading stats based on your Oanda Forex account.
169 lines • 1.37 MB
JavaScript
;
// C:\code\oanda-performances\client\src\bower_components\jquery\dist\jquery.js
//-------------------------------
!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(h,e){function t(e,t){return t.toUpperCase()}var n=[],c=n.slice,g=n.concat,a=n.push,i=n.indexOf,r={},o=r.toString,m=r.hasOwnProperty,v={},y=h.document,s="2.1.4",C=function(e,t){return new C.fn.init(e,t)},u=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,l=/^-ms-/,f=/-([\da-z])/gi;function p(e){var t="length"in e&&e.length,n=C.type(e);return"function"!==n&&!C.isWindow(e)&&(!(1!==e.nodeType||!t)||("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e))}C.fn=C.prototype={jquery:s,constructor:C,selector:"",length:0,toArray:function(){return c.call(this)},get:function(e){return null!=e?e<0?this[e+this.length]:this[e]:c.call(this)},pushStack:function(e){var t=C.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return C.each(this,e,t)},map:function(n){return this.pushStack(C.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(c.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:a,sort:n.sort,splice:n.splice},C.extend=C.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[a]||{},a++),"object"==typeof s||C.isFunction(s)||(s={}),a===u&&(s=this,a--);a<u;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],s!==(r=e[t])&&(l&&r&&(C.isPlainObject(r)||(i=C.isArray(r)))?(o=i?(i=!1,n&&C.isArray(n)?n:[]):n&&C.isPlainObject(n)?n:{},s[t]=C.extend(l,o,r)):void 0!==r&&(s[t]=r));return s},C.extend({expando:"jQuery"+(s+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===C.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!C.isArray(e)&&0<=e-parseFloat(e)+1},isPlainObject:function(e){return"object"===C.type(e)&&!e.nodeType&&!C.isWindow(e)&&!(e.constructor&&!m.call(e.constructor.prototype,"isPrototypeOf"))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?r[o.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;(e=C.trim(e))&&(1===e.indexOf("use strict")?((t=y.createElement("script")).text=e,y.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(l,"ms-").replace(f,t)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r=0,i=e.length,o=p(e);if(n){if(o)for(;r<i&&!1!==t.apply(e[r],n);r++);else for(r in e)if(!1===t.apply(e[r],n))break}else if(o)for(;r<i&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(u,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?C.merge(n,"string"==typeof e?[e]:e):a.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,s=!n;i<o;i++)!t(e[i],i)!=s&&r.push(e[i]);return r},map:function(e,t,n){var r,i=0,o=e.length,s=[];if(p(e))for(;i<o;i++)null!=(r=t(e[i],i,n))&&s.push(r);else for(i in e)null!=(r=t(e[i],i,n))&&s.push(r);return g.apply([],s)},guid:1,proxy:function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),C.isFunction(e))return r=c.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(c.call(arguments)))}).guid=e.guid=e.guid||C.guid++,i},now:Date.now,support:v}),C.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){r["[object "+t+"]"]=t.toLowerCase()});var d=function(n){function f(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function r(){v()}var e,h,b,o,i,g,p,m,w,l,c,v,T,s,y,x,a,d,C,N="sizzle"+1*new Date,k=n.document,E=0,S=0,u=oe(),D=oe(),j=oe(),A=function(e,t){return e===t&&(c=!0),0},L={}.hasOwnProperty,t=[],q=t.pop,H=t.push,O=t.push,F=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",W="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",$=W.replace("w","w#"),I="\\["+M+"*("+W+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+$+"))|)"+M+"*\\]",B=":("+W+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",_=new RegExp(M+"+","g"),z=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),X=new RegExp("^"+M+"*,"+M+"*"),U=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),V=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),Y=new RegExp(B),G=new RegExp("^"+$+"$"),Q={ID:new RegExp("^#("+W+")"),CLASS:new RegExp("^\\.("+W+")"),TAG:new RegExp("^("+W.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},J=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,ee=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,te=/[+~]/,ne=/'|\\/g,re=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig");try{O.apply(t=F.call(k.childNodes),k.childNodes),t[k.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){H.apply(e,F.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function ie(e,t,n,r){var i,o,s,a,u,l,c,f,p,d;if((t?t.ownerDocument||t:k)!==T&&v(t),n=n||[],a=(t=t||T).nodeType,"string"!=typeof e||!e||1!==a&&9!==a&&11!==a)return n;if(!r&&y){if(11!==a&&(i=ee.exec(e)))if(s=i[1]){if(9===a){if(!(o=t.getElementById(s))||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&C(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return O.apply(n,t.getElementsByTagName(e)),n;if((s=i[3])&&h.getElementsByClassName)return O.apply(n,t.getElementsByClassName(s)),n}if(h.qsa&&(!x||!x.test(e))){if(f=c=N,p=t,d=1!==a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){for(l=g(e),(c=t.getAttribute("id"))?f=c.replace(ne,"\\$&"):t.setAttribute("id",f),f="[id='"+f+"'] ",u=l.length;u--;)l[u]=f+ge(l[u]);p=te.test(e)&&de(t.parentNode)||t,d=l.join(",")}if(d)try{return O.apply(n,p.querySelectorAll(d)),n}catch(e){}finally{c||t.removeAttribute("id")}}}return m(e.replace(z,"$1"),t,n,r)}function oe(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function se(e){return e[N]=!0,e}function ae(e){var t=T.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ue(e,t){for(var n=e.split("|"),r=e.length;r--;)b.attrHandle[n[r]]=t}function le(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||1<<31)-(~e.sourceIndex||1<<31);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function ce(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function fe(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function pe(s){return se(function(o){return o=+o,se(function(e,t){for(var n,r=s([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function de(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in h=ie.support={},i=ie.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},v=ie.setDocument=function(e){var t,n,u=e?e.ownerDocument||e:k;return u!==T&&9===u.nodeType&&u.documentElement?(s=(T=u).documentElement,(n=u.defaultView)&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",r,!1):n.attachEvent&&n.attachEvent("onunload",r)),y=!i(u),h.attributes=ae(function(e){return e.className="i",!e.getAttribute("className")}),h.getElementsByTagName=ae(function(e){return e.appendChild(u.createComment("")),!e.getElementsByTagName("*").length}),h.getElementsByClassName=Z.test(u.getElementsByClassName),h.getById=ae(function(e){return s.appendChild(e).id=N,!u.getElementsByName||!u.getElementsByName(N).length}),h.getById?(b.find.ID=function(e,t){if(void 0!==t.getElementById&&y){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},b.filter.ID=function(e){var t=e.replace(re,f);return function(e){return e.getAttribute("id")===t}}):(delete b.find.ID,b.filter.ID=function(e){var n=e.replace(re,f);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}}),b.find.TAG=h.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):h.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=h.getElementsByClassName&&function(e,t){if(y)return t.getElementsByClassName(e)},a=[],x=[],(h.qsa=Z.test(u.querySelectorAll))&&(ae(function(e){s.appendChild(e).innerHTML="<a id='"+N+"'></a><select id='"+N+"-\f]' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&x.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||x.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+N+"-]").length||x.push("~="),e.querySelectorAll(":checked").length||x.push(":checked"),e.querySelectorAll("a#"+N+"+*").length||x.push(".#.+[+~]")}),ae(function(e){var t=u.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&x.push("name"+M+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||x.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),x.push(",.*:")})),(h.matchesSelector=Z.test(d=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&ae(function(e){h.disconnectedMatch=d.call(e,"div"),d.call(e,"[s!='']:x"),a.push("!=",B)}),x=x.length&&new RegExp(x.join("|")),a=a.length&&new RegExp(a.join("|")),t=Z.test(s.compareDocumentPosition),C=t||Z.test(s.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},A=t?function(e,t){if(e===t)return c=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!h.sortDetached&&t.compareDocumentPosition(e)===n?e===u||e.ownerDocument===k&&C(k,e)?-1:t===u||t.ownerDocument===k&&C(k,t)?1:l?P(l,e)-P(l,t):0:4&n?-1:1)}:function(e,t){if(e===t)return c=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],a=[t];if(!i||!o)return e===u?-1:t===u?1:i?-1:o?1:l?P(l,e)-P(l,t):0;if(i===o)return le(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[r]===a[r];)r++;return r?le(s[r],a[r]):s[r]===k?-1:a[r]===k?1:0},u):T},ie.matches=function(e,t){return ie(e,null,null,t)},ie.matchesSelector=function(e,t){if((e.ownerDocument||e)!==T&&v(e),t=t.replace(V,"='$1']"),h.matchesSelector&&y&&(!a||!a.test(t))&&(!x||!x.test(t)))try{var n=d.call(e,t);if(n||h.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){}return 0<ie(t,T,null,[e]).length},ie.contains=function(e,t){return(e.ownerDocument||e)!==T&&v(e),C(e,t)},ie.attr=function(e,t){(e.ownerDocument||e)!==T&&v(e);var n=b.attrHandle[t.toLowerCase()],r=n&&L.call(b.attrHandle,t.toLowerCase())?n(e,t,!y):void 0;return void 0!==r?r:h.attributes||!y?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},ie.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ie.uniqueSort=function(e){var t,n=[],r=0,i=0;if(c=!h.detectDuplicates,l=!h.sortStable&&e.slice(0),e.sort(A),c){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return l=null,e},o=ie.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=ie.selectors={cacheLength:50,createPseudo:se,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(re,f),e[3]=(e[3]||e[4]||e[5]||"").replace(re,f),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ie.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ie.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&Y.test(n)&&(t=g(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(re,f).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=u[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&u(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=ie.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(_," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(d,e,t,h,g){var m="nth"!==d.slice(0,3),v="last"!==d.slice(-4),y="of-type"===e;return 1===h&&0===g?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,s,a,u,l=m!=v?"nextSibling":"previousSibling",c=e.parentNode,f=y&&e.nodeName.toLowerCase(),p=!n&&!y;if(c){if(m){for(;l;){for(o=e;o=o[l];)if(y?o.nodeName.toLowerCase()===f:1===o.nodeType)return!1;u=l="only"===d&&!u&&"nextSibling"}return!0}if(u=[v?c.firstChild:c.lastChild],v&&p){for(a=(r=(i=c[N]||(c[N]={}))[d]||[])[0]===E&&r[1],s=r[0]===E&&r[2],o=a&&c.childNodes[a];o=++a&&o&&o[l]||(s=a=0)||u.pop();)if(1===o.nodeType&&++s&&o===e){i[d]=[E,a,s];break}}else if(p&&(r=(e[N]||(e[N]={}))[d])&&r[0]===E)s=r[1];else for(;(o=++a&&o&&o[l]||(s=a=0)||u.pop())&&((y?o.nodeName.toLowerCase()!==f:1!==o.nodeType)||!++s||(p&&((o[N]||(o[N]={}))[d]=[E,s]),o!==e)););return(s-=g)===h||s%h==0&&0<=s/h}}},PSEUDO:function(e,o){var t,s=b.pseudos[e]||b.setFilters[e.toLowerCase()]||ie.error("unsupported pseudo: "+e);return s[N]?s(o):1<s.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,t){for(var n,r=s(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return s(e,0,t)}):s}},pseudos:{not:se(function(e){var r=[],i=[],a=p(e.replace(z,"$1"));return a[N]?se(function(e,t,n,r){for(var i,o=a(e,null,r,[]),s=e.length;s--;)(i=o[s])&&(e[s]=!(t[s]=i))}):function(e,t,n){return r[0]=e,a(r,null,n,i),r[0]=null,!i.pop()}}),has:se(function(t){return function(e){return 0<ie(t,e).length}}),contains:se(function(t){return t=t.replace(re,f),function(e){return-1<(e.textContent||e.innerText||o(e)).indexOf(t)}}),lang:se(function(n){return G.test(n||"")||ie.error("unsupported lang: "+n),n=n.replace(re,f).toLowerCase(),function(e){var t;do{if(t=y?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===s},focus:function(e){return e===T.activeElement&&(!T.hasFocus||T.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return!1===e.disabled},disabled:function(e){return!0===e.disabled},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return J.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:pe(function(){return[0]}),last:pe(function(e,t){return[t-1]}),eq:pe(function(e,t,n){return[n<0?n+t:n]}),even:pe(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:pe(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:pe(function(e,t,n){for(var r=n<0?n+t:n;0<=--r;)e.push(r);return e}),gt:pe(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=ce(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=fe(e);function he(){}function ge(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(s,e,t){var a=e.dir,u=t&&"parentNode"===a,l=S++;return e.first?function(e,t,n){for(;e=e[a];)if(1===e.nodeType||u)return s(e,t,n)}:function(e,t,n){var r,i,o=[E,l];if(n){for(;e=e[a];)if((1===e.nodeType||u)&&s(e,t,n))return!0}else for(;e=e[a];)if(1===e.nodeType||u){if((r=(i=e[N]||(e[N]={}))[a])&&r[0]===E&&r[1]===l)return o[2]=r[2];if((i[a]=o)[2]=s(e,t,n))return!0}}}function ve(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function ye(e,t,n,r,i){for(var o,s=[],a=0,u=e.length,l=null!=t;a<u;a++)(o=e[a])&&(n&&!n(o,r,i)||(s.push(o),l&&t.push(a)));return s}function xe(d,h,g,m,v,e){return m&&!m[N]&&(m=xe(m)),v&&!v[N]&&(v=xe(v,e)),se(function(e,t,n,r){var i,o,s,a=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)ie(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:ye(c,a,d,n,r),p=g?v||(e?d:l||m)?[]:t:f;if(g&&g(f,p,n,r),m)for(i=ye(p,u),m(i,[],n,r),o=i.length;o--;)(s=i[o])&&(p[u[o]]=!(f[u[o]]=s));if(e){if(v||d){if(v){for(i=[],o=p.length;o--;)(s=p[o])&&i.push(f[o]=s);v(null,p=[],i,r)}for(o=p.length;o--;)(s=p[o])&&-1<(i=v?P(e,s):a[o])&&(e[i]=!(t[i]=s))}}else p=ye(p===t?p.splice(l,p.length):p),v?v(null,t,p,r):O.apply(t,p)})}function be(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],s=o||b.relative[" "],a=o?1:0,u=me(function(e){return e===i},s,!0),l=me(function(e){return-1<P(i,e)},s,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];a<r;a++)if(t=b.relative[e[a].type])c=[me(ve(c),t)];else{if((t=b.filter[e[a].type].apply(null,e[a].matches))[N]){for(n=++a;n<r&&!b.relative[e[n].type];n++);return xe(1<a&&ve(c),1<a&&ge(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(z,"$1"),t,a<n&&be(e.slice(a,n)),n<r&&be(e=e.slice(n)),n<r&&ge(e))}c.push(t)}return ve(c)}return he.prototype=b.filters=b.pseudos,b.setFilters=new he,g=ie.tokenize=function(e,t){var n,r,i,o,s,a,u,l=D[e+" "];if(l)return t?0:l.slice(0);for(s=e,a=[],u=b.preFilter;s;){for(o in n&&!(r=X.exec(s))||(r&&(s=s.slice(r[0].length)||s),a.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length)),b.filter)!(r=Q[o].exec(s))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?ie.error(e):D(e,a).slice(0)},p=ie.compile=function(e,t){var n,r=[],i=[],o=j[e+" "];if(!o){for(n=(t=t||g(e)).length;n--;)(o=be(t[n]))[N]?r.push(o):i.push(o);(o=j(e,function(m,v){function e(e,t,n,r,i){var o,s,a,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=E+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t!==T&&t);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(s=0;a=m[s++];)if(a(o,t,n)){r.push(o);break}i&&(E=h)}y&&((o=!a&&o)&&u--,e&&c.push(o))}if(u+=l,y&&l!==u){for(s=0;a=v[s++];)a(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=ye(f)}O.apply(r,f),i&&!e&&0<f.length&&1<u+v.length&&ie.uniqueSort(r)}return i&&(E=h,w=p),c}var y=0<v.length,x=0<m.length;return y?se(e):e}(i,r))).selector=e}return o},m=ie.select=function(e,t,n,r){var i,o,s,a,u,l="function"==typeof e&&e,c=!r&&g(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(s=o[0]).type&&h.getById&&9===t.nodeType&&y&&b.relative[o[1].type]){if(!(t=(b.find.ID(s.matches[0].replace(re,f),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=Q.needsContext.test(e)?0:o.length;i--&&(s=o[i],!b.relative[a=s.type]);)if((u=b.find[a])&&(r=u(s.matches[0].replace(re,f),te.test(o[0].type)&&de(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&ge(o)))return O.apply(n,r),n;break}}return(l||p(e,c))(r,t,!y,n,te.test(e)&&de(t.parentNode)||t),n},h.sortStable=N.split("").sort(A).join("")===N,h.detectDuplicates=!!c,v(),h.sortDetached=ae(function(e){return 1&e.compareDocumentPosition(T.createElement("div"))}),ae(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ue("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),h.attributes&&ae(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ue("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ae(function(e){return null==e.getAttribute("disabled")})||ue(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),ie}(h);C.find=d,C.expr=d.selectors,C.expr[":"]=C.expr.pseudos,C.unique=d.uniqueSort,C.text=d.getText,C.isXMLDoc=d.isXML,C.contains=d.contains;var x=C.expr.match.needsContext,b=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function T(e,n,r){if(C.isFunction(n))return C.grep(e,function(e,t){return!!n.call(e,t,e)!==r});if(n.nodeType)return C.grep(e,function(e){return e===n!==r});if("string"==typeof n){if(w.test(n))return C.filter(n,e,r);n=C.filter(n,e)}return C.grep(e,function(e){return 0<=i.call(n,e)!==r})}C.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?C.find.matchesSelector(r,e)?[r]:[]:C.find.matches(e,C.grep(t,function(e){return 1===e.nodeType}))},C.fn.extend({find:function(e){var t,n=this.length,r=[],i=this;if("string"!=typeof e)return this.pushStack(C(e).filter(function(){for(t=0;t<n;t++)if(C.contains(i[t],this))return!0}));for(t=0;t<n;t++)C.find(e,i[t],r);return(r=this.pushStack(1<n?C.unique(r):r)).selector=this.selector?this.selector+" "+e:e,r},filter:function(e){return this.pushStack(T(this,e||[],!1))},not:function(e){return this.pushStack(T(this,e||[],!0))},is:function(e){return!!T(this,"string"==typeof e&&x.test(e)?C(e):e||[],!1).length}});var N,k=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(C.fn.init=function(e,t){var n,r;if(!e)return this;if("string"!=typeof e)return e.nodeType?(this.context=this[0]=e,this.length=1,this):C.isFunction(e)?void 0!==N.ready?N.ready(e):e(C):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),C.makeArray(e,this));if(!(n="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:k.exec(e))||!n[1]&&t)return!t||t.jquery?(t||N).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof C?t[0]:t,C.merge(this,C.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:y,!0)),b.test(n[1])&&C.isPlainObject(t))for(n in t)C.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return(r=y.getElementById(n[2]))&&r.parentNode&&(this.length=1,this[0]=r),this.context=y,this.selector=e,this}).prototype=C.fn,N=C(y);var E=/^(?:parents|prev(?:Until|All))/,S={children:!0,contents:!0,next:!0,prev:!0};function D(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}C.extend({dir:function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&C(e).is(n))break;r.push(e)}return r},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}}),C.fn.extend({has:function(e){var t=C(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(C.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,o=[],s=x.test(e)||"string"!=typeof e?C(e,t||this.context):0;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?-1<s.index(n):1===n.nodeType&&C.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?C.unique(o):o)},index:function(e){return e?"string"==typeof e?i.call(C(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(C.unique(C.merge(this.get(),C(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),C.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C.dir(e,"parentNode")},parentsUntil:function(e,t,n){return C.dir(e,"parentNode",n)},next:function(e){return D(e,"nextSibling")},prev:function(e){return D(e,"previousSibling")},nextAll:function(e){return C.dir(e,"nextSibling")},prevAll:function(e){return C.dir(e,"previousSibling")},nextUntil:function(e,t,n){return C.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return C.dir(e,"previousSibling",n)},siblings:function(e){return C.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return C.sibling(e.firstChild)},contents:function(e){return e.contentDocument||C.merge([],e.childNodes)}},function(r,i){C.fn[r]=function(e,t){var n=C.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=C.filter(t,n)),1<this.length&&(S[r]||C.unique(n),E.test(r)&&n.reverse()),this.pushStack(n)}});var j,A=/\S+/g,L={};function q(){y.removeEventListener("DOMContentLoaded",q,!1),h.removeEventListener("load",q,!1),C.ready()}C.Callbacks=function(i){i="string"==typeof i?L[i]||function(e){var n=L[e]={};return C.each(e.match(A)||[],function(e,t){n[t]=!0}),n}(i):C.extend({},i);var t,n,r,o,s,a,u=[],l=!i.once&&[],c=function(e){for(t=i.memory&&e,n=!0,a=o||0,o=0,s=u.length,r=!0;u&&a<s;a++)if(!1===u[a].apply(e[0],e[1])&&i.stopOnFalse){t=!1;break}r=!1,u&&(l?l.length&&c(l.shift()):t?u=[]:f.disable())},f={add:function(){if(u){var e=u.length;!function r(e){C.each(e,function(e,t){var n=C.type(t);"function"===n?i.unique&&f.has(t)||u.push(t):t&&t.length&&"string"!==n&&r(t)})}(arguments),r?s=u.length:t&&(o=e,c(t))}return this},remove:function(){return u&&C.each(arguments,function(e,t){for(var n;-1<(n=C.inArray(t,u,n));)u.splice(n,1),r&&(n<=s&&s--,n<=a&&a--)}),this},has:function(e){return e?-1<C.inArray(e,u):!(!u||!u.length)},empty:function(){return u=[],s=0,this},disable:function(){return u=l=t=void 0,this},disabled:function(){return!u},lock:function(){return l=void 0,t||f.disable(),this},locked:function(){return!l},fireWith:function(e,t){return!u||n&&!l||(t=[e,(t=t||[]).slice?t.slice():t],r?l.push(t):c(t)),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!n}};return f},C.extend({Deferred:function(e){var o=[["resolve","done",C.Callbacks("once memory"),"resolved"],["reject","fail",C.Callbacks("once memory"),"rejected"],["notify","progress",C.Callbacks("memory")]],i="pending",s={state:function(){return i},always:function(){return a.done(arguments).fail(arguments),this},then:function(){var i=arguments;return C.Deferred(function(r){C.each(o,function(e,t){var n=C.isFunction(i[e])&&i[e];a[t[1]](function(){var e=n&&n.apply(this,arguments);e&&C.isFunction(e.promise)?e.promise().done(r.resolve).fail(r.reject).progress(r.notify):r[t[0]+"With"](this===s?r.promise():this,n?[e]:arguments)})}),i=null}).promise()},promise:function(e){return null!=e?C.extend(e,s):s}},a={};return s.pipe=s.then,C.each(o,function(e,t){var n=t[2],r=t[3];s[t[1]]=n.add,r&&n.add(function(){i=r},o[1^e][2].disable,o[2][2].lock),a[t[0]]=function(){return a[t[0]+"With"](this===a?s:this,arguments),this},a[t[0]+"With"]=n.fireWith}),s.promise(a),e&&e.call(a,a),a},when:function(e){function t(t,n,r){return function(e){n[t]=this,r[t]=1<arguments.length?c.call(arguments):e,r===i?l.notifyWith(n,r):--u||l.resolveWith(n,r)}}var i,n,r,o=0,s=c.call(arguments),a=s.length,u=1!==a||e&&C.isFunction(e.promise)?a:0,l=1===u?e:C.Deferred();if(1<a)for(i=new Array(a),n=new Array(a),r=new Array(a);o<a;o++)s[o]&&C.isFunction(s[o].promise)?s[o].promise().done(t(o,r,s)).fail(l.reject).progress(t(o,n,i)):--u;return u||l.resolveWith(r,s),l.promise()}}),C.fn.ready=function(e){return C.ready.promise().done(e),this},C.extend({isReady:!1,readyWait:1,holdReady:function(e){e?C.readyWait++:C.ready(!0)},ready:function(e){(!0===e?--C.readyWait:C.isReady)||(C.isReady=!0)!==e&&0<--C.readyWait||(j.resolveWith(y,[C]),C.fn.triggerHandler&&(C(y).triggerHandler("ready"),C(y).off("ready")))}}),C.ready.promise=function(e){return j||(j=C.Deferred(),"complete"===y.readyState?setTimeout(C.ready):(y.addEventListener("DOMContentLoaded",q,!1),h.addEventListener("load",q,!1))),j.promise(e)},C.ready.promise();var H=C.access=function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===C.type(n))for(a in i=!0,n)C.access(e,t,a,n[a],!0,o,s);else if(void 0!==r&&(i=!0,C.isFunction(r)||(s=!0),l&&(t=s?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(C(e),n)})),t))for(;a<u;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o};function O(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=C.expando+O.uid++}C.acceptData=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType},O.uid=1,O.accepts=C.acceptData,O.prototype={key:function(t){if(!O.accepts(t))return 0;var n={},r=t[this.expando];if(!r){r=O.uid++;try{n[this.expando]={value:r},Object.defineProperties(t,n)}catch(e){n[this.expando]=r,C.extend(t,n)}}return this.cache[r]||(this.cache[r]={}),r},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(C.isEmptyObject(o))C.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return void 0===t?n:n[t]},access:function(e,t,n){var r;return void 0===t||t&&"string"==typeof t&&void 0===n?void 0!==(r=this.get(e,t))?r:this.get(e,C.camelCase(t)):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(void 0===t)this.cache[o]={};else{n=(r=C.isArray(t)?t.concat(t.map(C.camelCase)):(i=C.camelCase(t),t in s?[t,i]:(r=i)in s?[r]:r.match(A)||[])).length;for(;n--;)delete s[r[n]]}},hasData:function(e){return!C.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}};var F=new O,P=new O,R=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,M=/([A-Z])/g;function W(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(M,"-$1").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:R.test(n)?C.parseJSON(n):n)}catch(e){}P.set(e,t,n)}else n=void 0;return n}C.extend({hasData:function(e){return P.hasData(e)||F.hasData(e)},data:function(e,t,n){return P.access(e,t,n)},removeData:function(e,t){P.remove(e,t)},_data:function(e,t,n){return F.access(e,t,n)},_removeData:function(e,t){F.remove(e,t)}}),C.fn.extend({data:function(r,e){var t,n,i,o=this[0],s=o&&o.attributes;if(void 0!==r)return"object"==typeof r?this.each(function(){P.set(this,r)}):H(this,function(t){var e,n=C.camelCase(r);if(o&&void 0===t)return void 0!==(e=P.get(o,r))?e:void 0!==(e=P.get(o,n))?e:void 0!==(e=W(o,n,void 0))?e:void 0;this.each(function(){var e=P.get(this,n);P.set(this,n,t),-1!==r.indexOf("-")&&void 0!==e&&P.set(this,r,t)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=P.get(o),1===o.nodeType&&!F.get(o,"hasDataAttrs"))){for(t=s.length;t--;)s[t]&&0===(n=s[t].name).indexOf("data-")&&(n=C.camelCase(n.slice(5)),W(o,n,i[n]));F.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){P.remove(this,e)})}}),C.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=F.get(e,t),n&&(!r||C.isArray(n)?r=F.access(e,t,C.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=C.queue(e,t),r=n.length,i=n.shift(),o=C._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){C.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return F.get(e,n)||F.access(e,n,{empty:C.Callbacks("once memory").add(function(){F.remove(e,[t+"queue",n])})})}}),C.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?C.queue(this[0],t):void 0===n?this:this.each(function(){var e=C.queue(this,t,n);C._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&C.dequeue(this,t)})},dequeue:function(e){return this.each(function(){C.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function n(){--i||o.resolveWith(s,[s])}var r,i=1,o=C.Deferred(),s=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(r=F.get(s[a],e+"queueHooks"))&&r.empty&&(i++,r.empty.add(n));return n(),o.promise(t)}});function $(e,t){return e=t||e,"none"===C.css(e,"display")||!C.contains(e.ownerDocument,e)}var I,B,_=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,z=["Top","Right","Bottom","Left"],X=/^(?:checkbox|radio)$/i;I=y.createDocumentFragment().appendChild(y.createElement("div")),(B=y.createElement("input")).setAttribute("type","radio"),B.setAttribute("checked","checked"),B.setAttribute("name","t"),I.appendChild(B),v.checkClone=I.cloneNode(!0).cloneNode(!0).lastChild.checked,I.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!I.cloneNode(!0).lastChild.defaultValue;var U="undefined";v.focusinBubbles="onfocusin"in h;var V=/^key/,Y=/^(?:mouse|pointer|contextmenu)|click/,G=/^(?:focusinfocus|focusoutblur)$/,Q=/^([^.]*)(?:\.(.+)|)$/;function J(){return!0}function K(){return!1}function Z(){try{return y.activeElement}catch(e){}}C.event={global:{},add:function(t,e,n,r,i){var o,s,a,u,l,c,f,p,d,h,g,m=F.get(t);if(m)for(n.handler&&(n=(o=n).handler,i=o.selector),n.guid||(n.guid=C.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(e){return typeof C!=U&&C.event.triggered!==e.type?C.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(A)||[""]).length;l--;)d=g=(a=Q.exec(e[l])||[])[1],h=(a[2]||"").split(".").sort(),d&&(f=C.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=C.event.special[d]||{},c=C.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&C.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,s)||t.addEventListener&&t.addEventListener(d,s,!1)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),C.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,l,c,f,p,d,h,g,m=F.hasData(e)&&F.get(e);if(m&&(u=m.events)){for(l=(t=(t||"").match(A)||[""]).length;l--;)if(d=g=(a=Q.exec(t[l])||[])[1],h=(a[2]||"").split(".").sort(),d){for(f=C.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));s&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,m.handle)||C.removeEvent(e,d,m.handle),delete u[d])}else for(d in u)C.event.remove(e,d+t[l],n,r,!0);C.isEmptyObject(u)&&(delete m.handle,F.remove(e,"events"))}},trigger:function(e,t,n,r){var i,o,s,a,u,l,c,f=[n||y],p=m.call(e,"type")?e.type:e,d=m.call(e,"namespace")?e.namespace.split("."):[];if(o=s=n=n||y,3!==n.nodeType&&8!==n.nodeType&&!G.test(p+C.event.triggered)&&(0<=p.indexOf(".")&&(p=(d=p.split(".")).shift(),d.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[C.expando]?e:new C.Event(p,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=d.join("."),e.namespace_re=e.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:C.makeArray(t,[e]),c=C.event.special[p]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!C.isWindow(n)){for(a=c.delegateType||p,G.test(a+p)||(o=o.parentNode);o;o=o.parentNode)f.push(o),s=o;s===(n.ownerDocument||y)&&f.push(s.defaultView||s.parentWindow||h)}for(i=0;(o=f[i++])&&!e.isPropagationStopped();)e.type=1<i?a:c.bindType||p,(l=(F.get(o,"events")||{})[e.type]&&F.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&C.acceptData(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(f.pop(),t)||!C.acceptData(n)||u&&C.isFunction(n[p])&&!C.isWindow(n)&&((s=n[u])&&(n[u]=null),n[C.event.triggered=p](),C.event.triggered=void 0,s&&(n[u]=s)),e.result}},dispatch:function(e){e=C.event.fix(e);var t,n,r,i,o,s,a=c.call(arguments),u=(F.get(this,"events")||{})[e.type]||[],l=C.event.special[e.type]||{};if((a[0]=e).delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,e)){for(s=C.event.handlers.call(this,e,u),t=0;(i=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.namespace_re&&!e.namespace_re.test(o.namespace)||(e.handleObj=o,e.data=o.data,void 0!==(r=((C.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a))&&!1===(e.result=r)&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(!0!==u.disabled||"click"!==e.type){for(r=[],n=0;n<a;n++)void 0===r[i=(o=t[n]).selector+" "]&&(r[i]=o.needsContext?0<=C(i,this).index(u):C.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return a<t.length&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,o=t.button;return null==e.pageX&&null!=t.clientX&&(r=(n=e.target.ownerDocument||y).documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),e}},fix:function(e){if(e[C.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];for(s||(this.fixHooks[i]=s=Y.test(i)?this.mouseHooks:V.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new C.Event(o),t=r.length;t--;)e[n=r[t]]=o[n];return e.target||(e.target=y),3===e.target.nodeType&&(e.target=e.target.parentNode),s.filter?s.filter(e,o):e},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Z()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Z()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&C.nodeName(this,"input"))return this.click(),!1},_default:function(e){return C.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=C.extend(new C.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?C.event.trigger(i,null,t):C.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},C.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},C.Event=function(e,t){if(!(this instanceof C.Event))return new C.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?J:K):this.type=e,t&&C.extend(this,t),this.timeStamp=e&&e.timeStamp||C.now(),this[C.expando]=!0},C.Event.prototype={isDefaultPrevented:K,isPropagationStopped:K,isImmediatePropagationStopped:K,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=J,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=J,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=J,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},C.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){C.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||C.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),v.focusinBubbles||C.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){C.event.simulate(r,e.target,C.event.fix(e),!0)}C.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=F.access(e,r);t||e.addEventListener(n,i,!0),F.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=F.access(e,r)-1;t?F.access(e,r,t):(e.removeEventListener(n,i,!0),F.remove(e,r))}}}),C.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){for(s in"string"!=typeof t&&(n=n||t,t=void 0),e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=void 0):null==r&&("string"==typeof t?(r=n,n=void 0):(r=n,n=t,t=void 0)),!1===r)r=K;else if(!r)return this;return 1===i&&(o=r,(r=function(e){return C().off(e),o.apply(this,arguments)}).guid=o.guid||(o.guid=C.guid++)),this.each(function(){C.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,C(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=K),this.each(function(){C.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this},trigger:function(e,t){return this.each(function(){C.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return C.event.trigger(e,t,n,!0)}});var ee=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,te=/<([\w:]+)/,ne=/<|&#?\w+;/,re=/<(?:script|style|link)/i,ie=/checked\s*(?:[^=]|=\s*.checked.)/i,oe=/^$|\/(?:java|ecma)script/i,se=/^true\/(.*)/,ae=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ue={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function le(e,t){return C.nodeName(e,"table")&&C.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ce(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function fe(e){var t=se.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function pe(e,t){for(var n=0,r=e.length;n<r;n++)F.set(e[n],"globalEval",!t||F.get(t[n],"globalEval"))}function de(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(F.hasData(e)&&(o=F.access(e),s=F.set(t,o),l=o.events))for(i in delete s.handle,s.events={},l)for(n=0,r=l[i].length;n<r;n++)C.event.add(t,i,l[i][n]);P.hasData(e)&&(a=P.access(e),u=C.extend({},a),P.set(t,u))}}function he(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&C.nodeName(e,t)?C.merge([e],n):n}ue.optgroup=ue.option,ue.tbody=ue.tfoot=ue.colgroup=ue.caption=ue.thead,ue.th=ue.td,C.extend({clone:function(e,t,n){var r,i,o,s,a,u,l,c=e.cloneNode(!0),f=C.contains(e.ownerDocument,e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||C.isXMLDoc(e)))for(s=he(c),r=0,i=(o=he(e)).length;r<i;r++)a=o[r],u=s[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&X.test(a.type)?u.checked=a.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=a.defaultValue);if(t)if(n)for(o=o||he(e),s=s||he(c),r=0,i=o.length;r<i;r++)de(o[r],s[r]);else de(e,c);return 0<(s=he(c,"script")).length&&pe(s,!f&&he(e,"script")),c},buildFragment:function(e,t,n,r){for(var i,o,s,a,u,l,c=t.createDocumentFragment(),f=[],p=0,d=e.length;p<d;p++)if((i=e[p])||0===i)if("object"===C.type(i))C.merge(f,i.nodeType?[i]:i);else if(ne.test(i)){for(o=o||c.appendChild(t.createElement("div")),s=(te.exec(i)||["",""])[1].toLowerCase(),a=ue[s]||ue._default,o.innerHTML=a[1]+i.replace(ee,"<$1></$2>")+a[2],l=a[0];l--;)o=o.lastChild;C.merge(f,o.childNodes),(o=c.firstChild).textContent=""}else f.push(t.createTextNode(i));for(c.textContent="",p=0;i=f[p++];)if((!r||-1===C.inArray(i,r))&&(u=C.contains(i.ownerDocument,i),o=he(c.appendChild(i),"script"),u&&pe(o),n))for(l=0;i=o[l++];)oe.test(i.type||"")&&n.push(i);return c},cleanData:function(e){for(var t,n,r,i,o=C.event.special,s=0;void 0!==(n=e[s]);s++){if(C.acceptData(n)&&(i=n[F.expando])&&(t=F.cache[i])){if(t.events)for(r in t.events)o[r]?C.event.remove(n,r):C.removeEvent(n,r,t.handle);F.cache[i]&&delete F.cache[i]}delete P.cache[n[P.expando]]}}}),C.fn.extend({text:function(e){return H(this,function(e){return void 0===e?C.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||le(this,e).appendChild(e)})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var n,r=e?C.filter(e,this):this,i=0;null!=(n=r[i]);i++)t||1!==n.nodeType||C.cleanData(he(n)),n.parentNode&&(t&&C.contains(n.ownerDocument,n)&&pe(he(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(C.cleanData(he(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return C.clone(this,e,t)})},html:function(e){return H(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!re.test(e)&&!ue[(te.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(ee,"<$1></$2>");try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(C.cleanData(he(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var t=arguments[0];return this.domManip(arguments,function(e){t=this.parentNode,C.cleanData(he(this)),t&&t.replaceChild(e,this)}),t&&(t.length||t.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(n,r){n=g.apply([],n);var e,t,i,o,s,a,u=0,l=this.length,c=this,f=l-1,p=n[0],d=C.isFunction(p);if(d||1<l&&"string"==typeof p&&!v.checkClone&&ie.test(p))return this.each(function(e){var t=c.eq(e);d&&(n[0]=p.call(this,e,t.html())),t.domManip(n,r)});if(l&&(t=(e=C.buildFragment(n,this[0].ownerDocument,!1,this)).firstChild,1===e.childNodes.length&&(e=t),t)){for(o=(i=C.map(he(e,"script"),ce)).length;u<l;u++)s=e,u!==f&&(s=C.clone(s,!0,!0),o&&C.merge(i,he(s,"script"))),r.call(this[u],s,u);if(o)for(a=i[i.length-1].ownerDocument,C.map(i,fe),u=0;u<o;u++)s=i[u],oe.test(s.type||"")&&!F.access(s,"globalEval")&&C.contains(a,s)&&(s.src?C._evalUrl&&C._evalUrl(s.src):C.globalEval(s.textContent.replace(ae,"")))}return this}}),C.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,s){C.fn[e]=function(e){for(var t,n=[],r=C(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),C(r[o])[s](t),a.apply(n,t.get());return this.pushStack(n)}});var ge,me={};function ve(e,t){var n,r=C(t.createElement(e)).appendTo(t.body),i=h.getDefaultComputedStyle&&(n=h.getDefaultComputedStyle(r[0]))?n.display:C.css(r[0],"display");return r.detach(),i}function ye(e){var t=y,n=me[e];return n||("none"!==(n=ve(e,t))&&n||((t=(ge=(ge||C("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement))[0].contentDocument).write(),t.close(),n=ve(e,t),ge.detach()),me[e]=n),n}var xe,be,we,Te,Ce,Ne=/^margin/,ke=new RegExp("^("+_+")(?!px)[a-z%]+$","i"),Ee=function(e){return e.ownerDocument.defaultView.opener?e.ownerDocument.defaultView.getComputedStyle(e,null):h.getComputedStyle(e,null)};function Se(e,t,n){var r,i,o,s,a=e.style;return(n=n||Ee(e))&&(s=n.getPropertyValue(t)||n[t]),n&&(""!==s||C.contains(e.ownerDocument,e)||(s=C.style(e,t)),ke.test(s)&&Ne.test(t)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void 0!==s?s+"":s}function De(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}function je(){Ce.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",Ce.innerHTML="",we.appendChild(Te);var e=h.getComputedStyle(Ce,null);xe="1%"!==e.top,be="4px"===e.width,we.removeChild(Te)}we=y.documentElement,Te=y.createElement("div"),(Ce=y.createElement("div")).style&&(Ce.style.backgroundClip="content-box",Ce.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===Ce.style.backgroundClip,Te.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",Te.appendChild(Ce),h.getComputedStyle&&C.extend(v,{pixelPosition:function(){return je(),xe},boxSizingReliable:function(){return null==be&&je(),be},reliableMarginRight:function(){var e,t=Ce.appendChild(y.createElement("div"));return t.style.cssText=Ce.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",t.style.marginRight=t.style.width="0",Ce.style.width="1px",we.appendChild(Te),e=!parseFloat(h.getComputedStyle(t,null).marginRight),we.removeChild(Te),Ce.removeChild(t),e}})),C.swap=function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=s[o];return i};var Ae=/^(none|table(?!-c[ea]).+)/,Le=new RegExp("^("+_+")(.*)$","i"),qe=new RegExp("^([+-])=("+_+")","i"),He={position:"absolute",visibility:"hidden",display:"block"},Oe={letterSpacing:"0",fontWeight:"400"},Fe=["Webkit","O","Moz","ms"];function Pe(e,t){if(t in e)return t;for(var n=t[0].toUpperCase()+t.slice(1),r=t,i=Fe.length;i--;)if((t=Fe[i]+n)in e)return t;return r}function Re(e,t,n){var r=Le.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Me(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;o<4;o+=2)"margin"===n&&(s+=C.css(e,n+z[o],!0,i)),r?("content"===n&&(s-=C.css(e,"padding"+z[o],!0,i)),"margin"!==n&&(s-=C.css(e,"border"+z[o]+"Width",!0,i))):(s+=C.css(e,"padding"+z[o],!0,i),"padding"!==n&&(s+=C.css(e,"border"+z[o]+"Width",!0,i)));return s}function We(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Ee(e),s="border-box"===C.css(e,"boxSizing",!1,o);if(i<=0||null==i){if(((i=Se(e,t,o))<0||null==i)&&(i=e.style[t]),ke.test(i))return i;r=s&&(v.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+Me(e,t,n||(s?"border":"content"),r,o)+"px"}function $e(e,t){for(var n,r,i,o=[],s=0,a=e.length;s<a;s++)(r=e[s]).style&&(o[s]=F.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&$(r)&&(o[s]=F.access(r,"olddisplay",ye(r.nodeName)))):(i=$(r),"none"===n&&i||F.set(r,"olddisplay",i?n:C.css(r,"display"))));for(s=0;s<a;s++)(r=e[s]).style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}function Ie(e,t,n,r,i){return new Ie.prototype.init(e,t,n,r,i)}C.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Se(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=C.camelCase(t),u=e.style;if(t=C.cssProps[a]||(C.cssProps[a]=Pe(u,a)),s=C.cssHooks[t]||C.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(i=s.get(e,!1,r))?i:u[t];"string"===(o=typeof n)&&(i=qe.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(C.css(e,t)),o="number"),null!=n&&n==n&&("number"!==o||C.cssNumber[a]||(n+="px"),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u[t]=n))}},css:function(e,t,n,r){var i,o,s,a=C.camelCase(t);return t=C.cssProps[a]||(C.cssProps[a]=Pe(e.style,a)),(s=C.cssHooks[t]||C.cssHooks[a])&&"get"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=Se(e,t,r)),"normal"===i&&t in Oe&&(i=Oe[t]),""===n||n?(o=parseFloat(i),!0===n||C.isNumeric(o)?o||0:i):i}}),C.each(["height","width"],function(e,i){C.cssHooks[i]={get:function(e,t,n){if(t)return Ae.test(C.css(e,"display"))&&0===e.offsetWidth?C.swap(e,He,function(){return We(e,i,n)}):We(e,i,n)},set:function(e,t,n){var r=n&&Ee(e);return Re(0,t,n?Me(e,i,n,"border-box"===C.css(e,"boxSizing",!1,r),r):0)}}}),C.cssHooks.marginRight=De(v.reliableMarginRight,function(e,t){if(t)return C.swap(e,{display:"inline-block"},Se,[e,"marginRight"])}),C.each({margin:"",padding:"",border:"Width"},function(i,o){C.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+z[t]+o]=r[t]||r[t-2]||r[0];return n}},Ne.test(i)||(C.cssHooks[i+o].set=Re)}),C.fn.extend({css:function(e,t){return H(this,function(e,t,n){var r,i,o={},s=0;if(C.isArray(t)){for(r=Ee(e),i=t.length;s<i;s++)o[t[s]]=C.css(e,t[s],!1,r);return o}return void 0!==n?C.style(e,t,n):C.css(e,t)},e,t,1<arguments.length)},show:function(){return $e(this,!0)},hide:function(){return $e(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){$(this)?C(this).show():C(this).hide()})}}),((C.Tween=Ie).prototype={constructor:Ie,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(C.cssNumber[n]?"":"px")},cur:function(){var e=Ie.propHooks[this.prop];return e&&e.get?e.get(this):Ie.propHooks._default.get(this)},run:function(e){var t,n=Ie.propHooks[this.prop];return this.options.duration?this.pos=t=C.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ie.propHooks._default.set(this),this}}).init.prototype=Ie.prototype,(Ie.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=C.css(e.elem,e.prop,""))&&"auto"!==t?t:0:e.elem[e.prop]},set:function(e){C.fx.step[e.prop]?C.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[C.cssProps[e.prop]]||C.cssHooks[e.prop])?C.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}}).scrollTop=Ie.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},C.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},C.fx=Ie.prototype.init,C.fx.step={};var Be,_e,ze,Xe,Ue,Ve=/^(?:toggle|show|hide)$/,Ye=new RegExp("^(?:([+-])=|)("+_+")([a-z%]*)$","i"),Ge=/queueHooks$/,Qe=[function(t,e,n){var r,i,o,s,a,u,l,c=this,f={},p=t.style,d=t.nodeType&&$(t),h=F.get(t,"fxshow");n.queue||(null==(a=C._queueHooks(t,"fx")).unqueued&&(a.unqueued=0,u=a.empty.fire,a.empty.fire=function(){a.unqueued||u()}),a.unqueued++,c.always(function(){c.always(function(){a.unqueued--,C.queue(t,"fx").length||a.empty.fire()})}));1===t.nodeType&&("height"in e||"width"in e)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],l=C.css(t,"display"),"inline"===("none"===l?F.get(t,"olddisplay")||ye(t.nodeName):l)&&"none"===C.css(t,"float")&&(p.display="inline-block"));n.overflow&&(p.overflow="hidden",c.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in e)if(i=e[r],Ve.exec(i)){if(delete e[r],o=o||"toggle"===i,i===(d?"hide":"show")){if("show"!==i||!h||void 0===h[r])continue;d=!0}f[r]=h&&h[r]||C.style(t,r)}else l=void 0;if(C.isEmptyObject(f))"inline"===("none"===l?ye(t.nodeName):l)&&(p.display=l);else for(r in h?"hidden"in h&&(d=h.hidden):h=F.access(t,"fxshow",{}),o&&(h.hidden=!d),d?C(t).show():c.done(function(){C(t).hide()}),c.done(function(){var e;for(e in F.remove(t,"fxshow"),f)C.style(t,e,f[e])}),f)s=et(d?h[r]:0,r,c),r in h||(h[r]=s.start,d&&(s.end=s.start,s.start="width"===r||"height"===r?1:0))}],Je={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Ye.exec(t),o=i&&i[3]||(C.cssNumber[e]?"":"px"),s=(C.cssNumber[e]||"px"!==o&&+r)&&Ye.exec(C.css(n.elem,e)),a=1,u=20;if(s&&s[3]!==o)for(o=o||s[3],i=i||[],s=+r||1;s/=a=a||".5",C.style(n.elem,e,s+o),a!==(a=n.cur()/r)&&1!==a&&--u;);return i&&(s=n.start=+s||+r||0,n.unit=o,n.end=i[1]?s+(i[1]+1)*i[2]:+i[2]),n}]};function Ke(){return setTimeout(function(){Be=void 0}),Be=C.now()}function Ze(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=z[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function et(e,t,n){for(var r,i=(Je[t]||[]).concat(Je["*"]),o=0,s=i.length;o<s;o++)if(r=i[o].call(n,t,e))return r}function tt(o,e,t){var n,s,r=0,i=Qe.length,a=C.Deferred().always(function(){delete u.elem}),u=function(){if(s)return!1;for(var e=Be||Ke(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return a.notifyWith(o,[l,n,t]),n<1&&i?t:(a.resolveWith(o,[l]),!1)},l=a.promise({elem:o,props:C.extend({},e),opts:C.extend(!0,{specialEasing:{}},t),originalProperties:e,originalOptions:t,startTime:Be||Ke(),duration:t.duration,tweens:[],createTween:function(e,t){var n=C.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(s)return this;for(s=!0;t<n;t++)l.tweens[t].run(1);return e?a.resolveWith(o,[l,e]):a.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,s;for(n in e)if(i=t[r=C.camelCase(n)],o=e[n],C.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(s=C.cssHooks[r])&&"expand"in s)for(n in o=s.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=Qe[r].call(l,o,c,l.opts))return n;return C.map(c,et,l),C.isFunction(l.opts.start)&&l.opts.start.call(o,l),C.fx.timer(C.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}C.Animation=C.extend(tt,{tweener:function(e,t){for(var n,r=0,i=(e=C.isFunction(e)?(t=e,["*"]):e.split(" ")).length;r<i;r++)n=e[r],Je[n]=Je[n]||[],Je[n].unshift(t)},prefilter:function(e,t){t?Qe.unshift(e):Qe.push(e)}}),C.speed=function(e,t,n){var r=e&&"object"==typeof e?C.extend({},e):{complete:n||!n&&t||C.isFunction(e)&&e,duration:e,easing:n&&t||t&&!C.isFunction(t)&&t};return r.duration=C.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in C.fx.speeds?C.fx.speeds[r.duration]:C.fx.speeds._default,null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){C.isFunction(r.old)&&r.old.call(this),r.queue&&C.dequeue(this,r.queue)},r},C.fn.extend({fadeTo:function(e,t,n,r){return this.filter($).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function i(){var e=tt(this,C.extend({},t),s);(o||F.get(this,"finish"))&&e.stop(!0)}var o=C.isEmptyObject(t),s=C.speed(e,n,r);return i.finish=i,o||!1===s.queue?this.each(i):this.queue(s.queue,i)},stop:function(i,e,o){function s(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=C.timers,r=F.get(this);if(t)r[t]&&r[t].stop&&s(r[t]);else for(t in r)r[t]&&r[t].stop&&Ge.test(t)&&s(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||C.dequeue(this,i)})},finish:function(s){return!1!==s&&(s=s||"fx"),this.each(function(){var e,t=F.get(this),n=t[s+"queue"],r=t[s+"queueHooks"],i=C.timers,o=n?n.length:0;for(t.finish=!0,C.queue(this,s,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===s&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),C.each(["toggle","show","hide"],function(e,r){var i=C.fn[r];C.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(Ze(r,!0),e,t,n)}}),C.each({slideDown:Ze("show"),slideUp:Ze("hide"),slideToggle:Ze("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){C.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),C.timers=[],C.fx.tick=function(){var e,t=0,n=C.timers;for(Be=C.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||C.fx.stop(),Be=void 0},C.fx.timer=function(e){C.timers.push(e),e()?C.fx.start():C.timers.pop()},C.fx.interval=13,C.fx.start=function(){_e=_e||setInterval(C.fx.tick,C.fx.interval)},C.fx.stop=function(){clearInterval(_e),_e=null},C.fx.speeds={slow:600,fast:200,_default:400},C.fn.delay=function(r,e){return r=C.fx&&C.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=setTimeout(e,r);t.stop=function(){clearTimeout(n)}})},ze=y.createElement("input"),Xe=y.createElement("select"),Ue=Xe.appendChild(y.createElement("option")),ze.type="checkbox",v.checkOn=""!==ze.value,v.optSelected=Ue.selected,Xe.disabled=!0,v.optDisabled=!Ue.disabled,(ze=y.createElement("input")).value="t",ze.type="radio",v.radioValue="t"===ze.value;var nt,rt=C.expr.attrHandle;C.fn.extend({attr:function(e,t){return H(this,C.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){C.removeAttr(this,e)})}}),C.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return typeof e.getAttribute==U?C.prop(e,t,n):(1===o&&C.isXMLDoc(e)||(t=t.toLowerCase(),r=C.attrHooks[t]||(C.expr.match.bool.test(t)?nt:void 0)),void 0===n?r&&"get"in r&&null!==(i=r.get(e,t))?i:null==(i=C.find.attr(e,t))?void 0:i:null!==n?r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:(e.setAttribute(t,n+""),n):void C.removeAttr(e,t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(A);if(o&&1===e.nodeType)for(;n=o[i++];)r=C.propFix[n]||n,C.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&C.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}}}),nt={set:function(e,t,n){return!1===t?C.removeAttr(e,n):e.setAttribute(n,n),n}},C.each(C.expr.match.bool.source.match(/\w+/g),function(e,t){var o=rt[t]||C.find.attr;rt[t]=function(e,t,n){var r,i;return n||(i=rt[t],rt[t]=r,r=null!=o(e,t,n)?t.toLowerCase():null,rt[t]=i),r}});var it=/^(?:input|select|textarea|button)$/i;C.fn.extend({prop:function(e,t){return H(this,C.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[C.propFix[e]||e]})}}),C.extend({propFix:{for:"htmlFor",class:"className"},prop:function(e,t,n){var r,i,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return(1!==o||!C.isXMLDoc(e))&&(t=C.propFix[t]||t,i=C.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||it.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),v.optSelected||(C.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),C.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){C.propFix[this.toLowerCase()]=this});var ot=/[\t\r\n\f]/g;C.fn.extend({addClass:function(t){var e,n,r,i,o,s,a="string"==typeof t&&t,u=0,l=this.length;if(C.isFunction(t))return this.each(function(e){C(this).addClass(t.call(this,e,this.className))});if(a)for(e=(t||"").match(A)||[];u<l;u++)if(r=1===(n=this[u]).nodeType&&(n.className?(" "+n.className+" ").replace(ot," "):" ")){for(o=0;i=e[o++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=C.trim(r),n.className!==s&&(n.className=s)}return this},removeClass:function(t){var e,n,r,i,o,s,a=0===arguments.length||"string"==typeof t&&t,u=0,l=this.length;if(C.isFunction(t))return this.each(function(e){C(this).removeClass(t.call(this,e,this.className))});if(a)for(e=(t||"").match(A)||[];u<l;u++)if(r=1===(n=this[u]).nodeType&&(n.className?(" "+n.className+" ").replace(ot," "):"")){for(o=0;i=e[o++];)for(;0<=r.indexOf(" "+i+" ");)r=r.replace(" "+i+" "," ");s=t?C.trim(r):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(i,t){var o=typeof i;return"boolean"==typeof t&&"string"==o?t?this.addClass(i):this.removeClass(i):C.isFunction(i)?this.each(function(e){C(this).toggleClass(i.call(this,e,this.className,t),t)}):this.each(function(){if("string"==o)for(var e,t=0,n=C(this),r=i.match(A)||[];e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else o!=U&&"boolean"!=o||(this.className&&F.set(this,"__className__",this.className),this.className=this.className||!1===i?"":F.get(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,r=this.length;n<r;n++)if(1===this[n].nodeType&&0<=(" "+this[n].className+" ").replace(ot," ").indexOf(t))return!0;return!1}});var st=/\r/g;C.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=C.isFunction(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,C(this).val()):n)?t="":"number"==typeof t?t+="":C.isArray(t)&&(t=C.map(t,function(e){return null==e?"":e+""})),(r=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=C.valHooks[t.type]||C.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(st,""):null==e?"":e:void 0}}),C.extend({valHooks:{option:{get:function(e){var t=C.find.attr(e,"value");return null!=t?t:C.trim(C.text(e))}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||i<0,s=o?null:[],a=o?i+1:r.length,u=i<0?a:o?i:0;u<a;u++)if(((n=r[u]).selected||u===i)&&(v.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!C.nodeName(n.parentNode,"optgroup"))){if(t=C(n).val(),o)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=C.makeArray(t),s=i.length;s--;)((r=i[s]).selected=0<=C.inArray(r.value,o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),C.each(["radio","checkbox"],function(){C.valHooks[this]={set:function(e,t){if(C.isArray(t))return e.checked=0<=C.inArray(C(e).val(),t)}},v.checkOn||(C.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),C.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,n){C.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),C.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var at=C.now(),ut=/\?/;C.parseJSON=function(e){return JSON.parse(e+"")},C.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||C.error("Invalid XML: "+e),t};var lt=/#.*$/,ct=/([?&])_=[^&]*/,ft=/^(.*?):[ \t]*([^\r\n]*)$/gm,pt=/^(?:GET|HEAD)$/,dt=/^\/\//,ht=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,gt={},mt={},vt="*/".concat("*"),yt=h.location.href,xt=ht.exec(yt.toLowerCase())||[];function bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(A)||[];if(C.isFunction(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function wt(t,i,o,s){var a={},u=t===mt;function l(e){var r;return a[e]=!0,C.each(t[e]||[],function(e,t){var n=t(i,o,s);return"string"!=typeof n||u||a[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!a["*"]&&l("*")}function Tt(e,t){var n,r,i=C.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r=r||{})[n]=t[n]);return r&&C.extend(!0,e,r),e}C.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yt,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(xt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":vt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":C.parseJSON,"text xml":C.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Tt(Tt(e,C.ajaxSettings),t):Tt(C.ajaxSettings,e)},ajaxPrefilter:bt(gt),ajaxTransport:bt(mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,i,g=C.ajaxSetup({},t),m=g.context||g,v=g.context&&(m.nodeType||m.jquery)?C(m):C.event,y=C.Deferred(),x=C.Callbacks("once memory"),b=g.statusCode||{},o={},s={},w=0,a="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===w){if(!n)for(n={};t=ft.exec(p);)n[t[1].toLowerCase()]=t[2];t=n[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===w?p:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return w||(e=s[n]=s[n]||e,o[e]=t),this},overrideMimeType:function(e){return w||(g.mimeType=e),this},statusCode:function(e){var t;if(e)if(w<2)for(t in e)b[t]=[b[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||a;return c&&c.abort(t),u(0,t),this}};if(y.promise(T).complete=x.add,T.success=T.done,T.error=T.fail,g.url=((e||g.url||yt)+"").replace(lt,"").replace(dt,xt[1]+"//"),g.type=t.method||t.type||g.method||g.type,g.dataTypes=C.trim(g.dataType||"*").toLowerCase().match(A)||[""],null==g.crossDomain&&(r=ht.exec(g.url.toLowerCase()),g.crossDomain=!(!r||r[1]===xt[1]&&r[2]===xt[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(xt[3]||("http:"===xt[1]?"80":"443")))),g.data&&g.processData&&"string"!=typeof g.data&&(g.data=C.param(g.data,g.traditional)),wt(gt,g,t,T),2===w)return T;for(i in(h=C.event&&g.global)&&0==C.active++&&C.event.trigger("ajaxStart"),g.type=g.type.toUpperCase(),g.hasContent=!pt.test(g.type),f=g.url,g.hasContent||(g.data&&(f=g.url+=(ut.test(f)?"&":"?")+g.data,delete g.data),!1===g.cache&&(g.url=ct.test(f)?f.replace(ct,"$1_="+at++):f+(ut.test(f)?"&":"?")+"_="+at++)),g.ifModified&&(C.lastModified[f]&&T.setRequestHeader("If-Modified-Since",C.lastModified[f]),C.etag[f]&&T.setRequestHeader("If-None-Match",C.etag[f])),(g.data&&g.hasContent&&!1!==g.contentType||t.contentType)&&T.setRequestHeader("Content-Type",g.contentType),T.setRequestHeader("Accept",g.dataTypes[0]&&g.accepts[g.dataTypes[0]]?g.accepts[g.dataTypes[0]]+("*"!==g.dataTypes[0]?", "+vt+"; q=0.01":""):g.accepts["*"]),g.headers)T.setRequestHeader(i,g.headers[i]);if(g.beforeSend&&(!1===g.beforeSend.call(m,T,g)||2===w))return T.abort();for(i in a="abort",{success:1,error:1,complete:1})T[i](g[i]);if(c=wt(mt,g,t,T)){T.readyState=1,h&&v.trigger("ajaxSend",[T,g]),g.async&&0<g.timeout&&(d=setTimeout(function(){T.abort("timeout")},g.timeout));try{w=1,c.send(o,u)}catch(e){if(!(w<2))throw e;u(-1,e)}}else u(-1,"No Transport");function u(e,t,n,r){var i,o,s,a,u,l=t;2!==w&&(w=2,d&&clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(a=function(e,t,n){for(var r,i,o,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s=s||i}o=o||s}if(o)return o!==u[0]&&u.unshift(o),n[o]}(g,T,n)),a=function(e,t,n,r){var i,o,s,a,u,l={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(s=l[u+" "+o]||l["* "+o]))for(i in l)if((a=i.split(" "))[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){!0===s?s=l[i]:!0!==l[i]&&(o=a[0],c.unshift(a[1]));break}if(!0!==s)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(g,a,T,i),i?(g.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(C.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(C.etag[f]=u)),204===e||"HEAD"===g.type?l="nocontent":304===e?l="notmodified":(l=a.state,o=a.data,i=!(s=a.error))):(s=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?y.resolveWith(m,[o,l,T]):y.rejectWith(m,[T,l,s]),T.statusCode(b),b=void 0,h&&v.trigger(i?"ajaxSuccess":"ajaxError",[T,g,i?o:s]),x.fireWith(m,[T,l]),h&&(v.trigger("ajaxComplete",[T,g]),--C.active||C.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return C.get(e,t,n,"json")},getScript:function(e,t){return C.get(e,void 0,t,"script")}}),C.each(["get","post"],function(e,i){C[i]=function(e,t,n,r){return C.isFunction(t)&&(r=r||n,n=t,t=void 0),C.ajax({url:e,type:i,dataType:r,data:t,success:n})}}),C._evalUrl=function(e){return C.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},C.fn.extend({wrapAll:function(t){var e;return C.isFunction(t)?this.each(function(e){C(this).wrapAll(t.call(this,e))}):(this[0]&&(e=C(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(n){return C.isFunction(n)?this.each(function(e){C(this).wrapInner(n.call(this,e))}):this.each(function(){var e=C(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=C.isFunction(t);return this.each(function(e){C(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(){return this.parent().each(function(){C.nodeName(this,"body")||C(this).replaceWith(this.childNodes)}).end()}}),C.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0},C.expr.filters.visible=function(e){return!C.expr.filters.hidden(e)};var Ct=/%20/g,Nt=/\[\]$/,kt=/\r?\n/g,Et=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(C.isArray(e))C.each(e,function(e,t){r||Nt.test(n)?i(n,t):Dt(n+"["+("object"==typeof t?e:"")+"]",t,r,i)});else if(r||"object"!==C.type(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}C.param=function(e,t){function n(e,t){t=C.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)}var r,i=[];if(void 0===t&&(t=C.ajaxSettings&&C.ajaxSettings.traditional),C.isArray(e)||e.jquery&&!C.isPlainObject(e))C.each(e,function(){n(this.name,this.value)});else for(r in e)Dt(r,e[r],t,n);return i.join("&").replace(Ct,"+")},C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=C.prop(this,"elements");return e?C.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!C(this).is(":disabled")&&St.test(this.nodeName)&&!Et.test(e)&&(this.checked||!X.test(e))}).map(function(e,t){var n=C(this).val();return null==n?null:C.isArray(n)?C.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}}),C.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var jt=0,At={},Lt={0:200,1223:204},qt=C.ajaxSettings.xhr();h.attachEvent&&h.attachEvent("onunload",function(){for(var e in At)At[e]()}),v.cors=!!qt&&"withCredentials"in qt,v.ajax=qt=!!qt,C.ajaxTransport(function(o){var s;if(v.cors||qt&&!o.crossDomain)return{send:function(e,t){var n,r=o.xhr(),i=++jt;if(r.open(o.type,o.url,o.async,o.username,o.password),o.xhrFields)for(n in o.xhrFields)r[n]=o.xhrFields[n];for(n in o.mimeType&&r.overrideMimeType&&r.overrideMimeType(o.mimeType),o.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);s=function(e){return function(){s&&(delete At[i],s=r.onload=r.onerror=null,"abort"===e?r.abort():"error"===e?t(r.status,r.statusText):t(Lt[r.status]||r.status,r.statusText,"string"==typeof r.responseText?{text:r.responseText}:void 0,r.getAllResponseHeaders()))}},r.onload=s(),r.onerror=s("error"),s=At[i]=s("abort");try{r.send(o.hasContent&&o.data||null)}catch(e){if(s)throw e}},abort:function(){s&&s()}}}),C.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return C.globalEval(e),e}}}),C.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),C.ajaxTransport("script",function(n){var r,i;if(n.crossDomain)return{send:function(e,t){r=C("<script>").prop({async:!0,charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),y.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ht=[],Ot=/(=)\?(?=&|$)|\?\?/;C.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Ht.pop()||C.expando+"_"+at++;return this[e]=!0,e}}),C.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,s=!1!==e.jsonp&&(Ot.test(e.url)?"url":"string"==typeof e.data&&!(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ot.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=C.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(Ot,"$1"+r):!1!==e.jsonp&&(e.url+=(ut.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||C.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=h[r],h[r]=function(){o=arguments},n.always(function(){h[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Ht.push(r)),o&&C.isFunction(i)&&i(o[0]),o=i=void 0}),"script"}),C.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||y;var r=b.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=C.buildFragment([e],t,i),i&&i.length&&C(i).remove(),C.merge([],r.childNodes))};var Ft=C.fn.load;C.fn.load=function(e,t,n){if("string"!=typeof e&&Ft)return Ft.apply(this,arguments);var r,i,o,s=this,a=e.indexOf(" ");return 0<=a&&(r=C.trim(e.slice(a)),e=e.slice(0,a)),C.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<s.length&&C.ajax({url:e,type:i,dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?C("<div>").append(C.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},C.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){C.fn[t]=function(e){return this.on(t,e)}}),C.expr.filters.animated=function(t){return C.grep(C.timers,function(e){return t===e.elem}).length};var Pt=h.document.documentElement;function Rt(e){return C.isWindow(e)?e:9===e.nodeType&&e.defaultView}C.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,l=C.css(e,"position"),c=C(e),f={};"static"===l&&(e.style.position="relative"),a=c.offset(),o=C.css(e,"top"),u=C.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(s=(r=c.position()).top,r.left):(s=parseFloat(o)||0,parseFloat(u)||0),C.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(f.top=t.top-a.top+s),null!=t.left&&(f.left=t.left-a.left+i),"using"in t?t.using.call(e,f):c.css(f)}},C.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){C.offset.setOffset(this,t,e)});var e,n,r=this[0],i={top:0,left:0},o=r&&r.ownerDocument;return o?(e=o.documentElement,C.contains(e,r)?(typeof r.getBoundingClientRect!=U&&(i=r.getBoundingClientRect()),n=Rt(o),{top:i.top+n.pageYOffset-e.clientTop,left:i.left+n.pageXOffset-e.clientLeft}):i):void 0},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===C.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),C.nodeName(e[0],"html")||(r=e.offset()),r.top+=C.css(e[0],"borderTopWidth",!0),r.left+=C.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-C.css(n,"marginTop",!0),left:t.left-r.left-C.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||Pt;e&&!C.nodeName(e,"html")&&"static"===C.css(e,"position");)e=e.offsetParent;return e||Pt})}}),C.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;C.fn[t]=function(e){return H(this,function(e,t,n){var r=Rt(e);if(void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?h.pageXOffset:n,o?n:h.pageYOffset):e[t]=n},t,e,arguments.length,null)}}),C.each(["top","left"],function(e,n){C.cssHooks[n]=De(v.pixelPosition,function(e,t){if(t)return t=Se(e,n),ke.test(t)?C(e).position()[n]+"px":t})}),C.each({Height:"height",Width:"width"},function(o,s){C.each({padding:"inner"+o,content:s,"":"outer"+o},function(r,e){C.fn[e]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return H(this,function(e,t,n){var r;return C.isWindow(e)?e.document.documentElement["client"+o]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+o],r["scroll"+o],e.body["offset"+o],r["offset"+o],r["client"+o])):void 0===n?C.css(e,t,i):C.style(e,t,n,i)},s,n?e:void 0,n,null)}})}),C.fn.size=function(){return this.length},C.fn.andSelf=C.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return C});var Mt=h.jQuery,Wt=h.$;return C.noConflict=function(e){return h.$===C&&(h.$=Wt),e&&h.jQuery===C&&(h.jQuery=Mt),C},typeof e==U&&(h.jQuery=h.$=C),C});;
// C:\code\oanda-performances\client\src\bower_components\angular\angular.js
//-------------------------------
!function(u,ee,te){"use strict";function b(o,a){return a=a||Error,function(){var e,t,n=arguments,r=n[0],i="["+(o?o+":":"")+r+"] ";for(i+=n[1].replace(/\{\d+\}/g,function(e){var t=2+ +e.slice(1,-1);return t<n.length?Be(n[t]):e}),i+="\nhttp://errors.angularjs.org/1.4.7/"+(o?o+"/":"")+r,t=2,e="?";t<n.length;t++,e="&")i+=e+"p"+(t-2)+"="+encodeURIComponent(Be(n[t]));return new a(i)}}var o=/^\/(.+)\/([a-z]*)$/,a="validity",j=function(e){return le(e)?e.toLowerCase():e},P=Object.prototype.hasOwnProperty,l=function(e){return le(e)?e.toUpperCase():e};"i"!=="I".toLowerCase()&&(j=function(e){return le(e)?e.replace(/[A-Z]/g,function(e){return String.fromCharCode(32|e.charCodeAt(0))}):e},l=function(e){return le(e)?e.replace(/[a-z]/g,function(e){return String.fromCharCode(-33&e.charCodeAt(0))}):e});var D,ne,v,d,s=[].slice,n=[].splice,e=[].push,f=Object.prototype.toString,c=Object.getPrototypeOf,h=b("ng"),E=u.angular||(u.angular={}),t=0;function I(e){if(null==e||T(e))return!1;var t="length"in Object(e)&&e.length;return!(e.nodeType!==Re||!t)||(le(e)||fe(e)||0===t||"number"==typeof t&&0<t&&t-1 in e)}function re(e,t,n){var r,i;if(e)if(he(e))for(r in e)"prototype"==r||"length"==r||"name"==r||e.hasOwnProperty&&!e.hasOwnProperty(r)||t.call(n,e[r],r,e);else if(fe(e)||I(e)){var o="object"!=typeof e;for(r=0,i=e.length;r<i;r++)(o||r in e)&&t.call(n,e[r],r,e)}else if(e.forEach&&e.forEach!==re)e.forEach(t,n,e);else if(S(e))for(r in e)t.call(n,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(n,e[r],r,e);else for(r in e)P.call(e,r)&&t.call(n,e[r],r,e);return e}function p(e,t,n){for(var r=Object.keys(e).sort(),i=0;i<r.length;i++)t.call(n,e[r[i]],r[i]);return r}function $(n){return function(e,t){n(t,e)}}function k(){return++t}function m(e,t){t?e.$$hashKey=t:delete e.$$hashKey}function g(e,t,n){for(var r=e.$$hashKey,i=0,o=t.length;i<o;++i){var a=t[i];if(ce(a)||he(a))for(var s=Object.keys(a),u=0,c=s.length;u<c;u++){var l=s[u],f=a[l];n&&ce(f)?O(f)?e[l]=new Date(f.valueOf()):M(f)?e[l]=new RegExp(f):(ce(e[l])||(e[l]=fe(f)?[]:{}),g(e[l],[f],!0)):e[l]=f}}return m(e,r),e}function ie(e){return g(e,s.call(arguments,1),!1)}function r(e){return g(e,s.call(arguments,1),!0)}function y(e){return parseInt(e,10)}function oe(e,t){return ie(Object.create(e),t)}function ae(){}function se(e){return e}function x(e){return function(){return e}}function w(e){return he(e.toString)&&e.toString!==Object.prototype.toString}function ue(e){return void 0===e}function C(e){return void 0!==e}function ce(e){return null!==e&&"object"==typeof e}function S(e){return null!==e&&"object"==typeof e&&!c(e)}function le(e){return"string"==typeof e}function A(e){return"number"==typeof e}function O(e){return"[object Date]"===f.call(e)}D=ee.documentMode,ae.$inject=[],se.$inject=[];var fe=Array.isArray;function he(e){return"function"==typeof e}function M(e){return"[object RegExp]"===f.call(e)}function T(e){return e&&e.window===e}function pe(e){return e&&e.$evalAsync&&e.$watch}function V(e){return"boolean"==typeof e}function N(e){return e&&he(e.then)}var i=/^\[object (Uint8(Clamped)?)|(Uint16)|(Uint32)|(Int8)|(Int16)|(Int32)|(Float(32)|(64))Array\]$/;function R(e){return i.test(f.call(e))}var de=function(e){return le(e)?e.trim():e},_=function(e){return e.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};function q(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function $e(e){return j(e.nodeName||e[0]&&e[0].nodeName)}function ve(e,t){var n=e.indexOf(t);return 0<=n&&e.splice(n,1),n}function F(e,n,t,r){if(T(e)||pe(e))throw h("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(R(n))throw h("cpta","Can't copy! TypedArray destination cannot be mutated.");if(n){if(e===n)throw h("cpi","Can't copy! Source and destination are identical.");var i;if(t=t||[],r=r||[],ce(e)&&(t.push(e),r.push(n)),fe(e))for(var o=n.length=0;o<e.length;o++)n.push(F(e[o],null,t,r));else{var a=n.$$hashKey;if(fe(n)?n.length=0:re(n,function(e,t){delete n[t]}),S(e))for(i in e)n[i]=F(e[i],null,t,r);else if(e&&"function"==typeof e.hasOwnProperty)for(i in e)e.hasOwnProperty(i)&&(n[i]=F(e[i],null,t,r));else for(i in e)P.call(e,i)&&(n[i]=F(e[i],null,t,r));m(n,a)}}else if(ce(n=e)){var s;if(t&&-1!==(s=t.indexOf(e)))return r[s];if(fe(e))return F(e,[],t,r);if(R(e))n=new e.constructor(e);else if(O(e))n=new Date(e.getTime());else if(M(e))(n=new RegExp(e.source,e.toString().match(/[^\/]*$/)[0])).lastIndex=e.lastIndex;else{if(!he(e.cloneNode))return F(e,Object.create(c(e)),t,r);n=e.cloneNode(!0)}r&&(t.push(e),r.push(n))}return n}function U(e,t){if(fe(e)){t=t||[];for(var n=0,r=e.length;n<r;n++)t[n]=e[n]}else if(ce(e))for(var i in t=t||{},e)"$"===i.charAt(0)&&"$"===i.charAt(1)||(t[i]=e[i]);return t||e}function me(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;var n,r,i,o=typeof e;if(o==typeof t&&"object"==o){if(!fe(e)){if(O(e))return!!O(t)&&me(e.getTime(),t.getTime());if(M(e))return!!M(t)&&e.toString()==t.toString();if(pe(e)||pe(t)||T(e)||T(t)||fe(t)||O(t)||M(t))return!1;for(r in i=Ie(),e)if("$"!==r.charAt(0)&&!he(e[r])){if(!me(e[r],t[r]))return!1;i[r]=!0}for(r in t)if(!(r in i)&&"$"!==r.charAt(0)&&C(t[r])&&!he(t[r]))return!1;return!0}if(!fe(t))return!1;if((n=e.length)==t.length){for(r=0;r<n;r++)if(!me(e[r],t[r]))return!1;return!0}}return!1}var B=function(){if(!C(B.rules)){var e=ee.querySelector("[ng-csp]")||ee.querySelector("[data-ng-csp]");if(e){var t=e.getAttribute("ng-csp")||e.getAttribute("data-ng-csp");B.rules={noUnsafeEval:!t||-1!==t.indexOf("no-unsafe-eval"),noInlineStyle:!t||-1!==t.indexOf("no-inline-style")}}else B.rules={noUnsafeEval:function(){try{return new Function(""),!1}catch(e){return!0}}(),noInlineStyle:!1}}return B.rules},L=function(){if(C(L.name_))return L.name_;var e,t,n,r,i=we.length;for(t=0;t<i;++t)if(n=we[t],e=ee.querySelector("["+n.replace(":","\\:")+"jq]")){r=e.getAttribute(n+"jq");break}return L.name_=r};function H(e,t,n){return e.concat(s.call(t,n))}function ge(e,t){return s.call(e,t||0)}function z(e,t){var n=2<arguments.length?ge(arguments,2):[];return!he(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,H(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function W(e,t){var n=t;return"string"==typeof e&&"$"===e.charAt(0)&&"$"===e.charAt(1)?n=te:T(t)?n="$WINDOW":t&&ee===t?n="$DOCUMENT":pe(t)&&(n="$SCOPE"),n}function G(e,t){return void 0===e?te:(A(t)||(t=t?2:null),JSON.stringify(e,W,t))}function Y(e){return le(e)?JSON.parse(e):e}function J(e,t){var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(n)?t:n}function K(e,t,n){n=n?-1:1;var r=J(t,e.getTimezoneOffset());return function(e,t){return(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t),e}(e,n*(r-e.getTimezoneOffset()))}function ye(e){e=ne(e).clone();try{e.empty()}catch(e){}var t=ne("<div>").append(e).html();try{return e[0].nodeType===_e?j(t):t.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(e,t){return"<"+j(t)})}catch(e){return j(t)}}function Z(e){try{return decodeURIComponent(e)}catch(e){}}function X(e){var i={};return re((e||"").split("&"),function(e){var t,n,r;e&&(n=e=e.replace(/\+/g,"%20"),-1!==(t=e.indexOf("="))&&(n=e.substring(0,t),r=e.substring(t+1)),C(n=Z(n))&&(r=!C(r)||Z(r),P.call(i,n)?fe(i[n])?i[n].push(r):i[n]=[i[n],r]:i[n]=r))}),i}function Q(e){var n=[];return re(e,function(e,t){fe(e)?re(e,function(e){n.push(xe(t,!0)+(!0===e?"":"="+xe(e,!0)))}):n.push(xe(t,!0)+(!0===e?"":"="+xe(e,!0)))}),n.length?n.join("&"):""}function be(e){return xe(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function xe(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}var we=["ng-","data-ng-","ng:","x-ng-"];function Se(r,e){var i,o,t={};re(we,function(e){var t=e+"app";!i&&r.hasAttribute&&r.hasAttribute(t)&&(o=(i=r).getAttribute(t))}),re(we,function(e){var t,n=e+"app";!i&&(t=r.querySelector("["+n.replace(":","\\:")+"]"))&&(o=(i=t).getAttribute(n))}),i&&(t.strictDi=null!==function(e,t){var n,r,i=we.length;for(r=0;r<i;++r)if(n=we[r]+t,le(n=e.getAttribute(n)))return n;return null}(i,"strict-di"),e(i,o?[o]:[],t))}function Ce(n,r,i){ce(i)||(i={});i=ie({strictDi:!1},i);function t(){if((n=ne(n)).injector()){var e=n[0]===ee?"document":ye(n);throw h("btstrpd","App Already Bootstrapped with this Element '{0}'",e.replace(/</,"<").replace(/>/,">"))}(r=r||[]).unshift(["$provide",function(e){e.value("$rootElement",n)}]),i.debugInfoEnabled&&r.push(["$compileProvider",function(e){e.debugInfoEnabled(!0)}]),r.unshift("ng");var t=Rt(r,i.strictDi);return t.invoke(["$rootScope","$rootElement","$compile","$injector",function(e,t,n,r){e.$apply(function(){t.data("$injector",r),n(t)(e)})}]),t}var e=/^NG_ENABLE_DEBUG_INFO!/,o=/^NG_DEFER_BOOTSTRAP!/;if(u&&e.test(u.name)&&(i.debugInfoEnabled=!0,u.name=u.name.replace(e,"")),u&&!o.test(u.name))return t();u.name=u.name.replace(o,""),E.resumeBootstrap=function(e){return re(e,function(e){r.push(e)}),t()},he(E.resumeDeferredBootstrap)&&E.resumeDeferredBootstrap()}function Ee(){u.name="NG_ENABLE_DEBUG_INFO!"+u.name,u.location.reload()}function ke(e){var t=E.element(e).injector();if(!t)throw h("test","no injector found for element argument to getTestability");return t.get("$$testability")}var Ae=/[A-Z]/g;function Oe(e,n){return n=n||"_",e.replace(Ae,function(e,t){return(t?n:"")+e.toLowerCase()})}var Me,Te=!1;function Ve(e,t,n){if(!e)throw h("areq","Argument '{0}' is {1}",t||"?",n||"required");return e}function Ne(e,t,n){return n&&fe(e)&&(e=e[e.length-1]),Ve(he(e),t,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function je(e,t){if("hasOwnProperty"===e)throw h("badname","hasOwnProperty is not a valid {0} name",t)}function Pe(e,t,n){if(!t)return e;for(var r,i=t.split("."),o=e,a=i.length,s=0;s<a;s++)r=i[s],e=e&&(o=e)[r];return!n&&he(e)?z(o,e):e}function De(e){for(var t,n=e[0],r=e[e.length-1],i=1;n!==r&&(n=n.nextSibling);i++)!t&&e[i]===n||(t=t||ne(s.call(e,0,i))).push(n);return t||e}function Ie(){return Object.create(null)}var Re=1,_e=3,qe=8,Fe=9,Ue=11;function Be(e){return"function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):ue(e)?"undefined":"string"!=typeof e?function(e){var n=[];return JSON.stringify(e,function(e,t){if(ce(t=W(e,t))){if(0<=n.indexOf(t))return"...";n.push(t)}return t})}(e):e}var Le={full:"1.4.7",major:1,minor:4,dot:7,codeName:"dark-luminescence"};st.expando="ng339";var He=st.cache={},ze=1,We=function(e,t,n){e.addEventListener(t,n,!1)},Ge=function(e,t,n){e.removeEventListener(t,n,!1)};st._data=function(e){return this.cache[e[this.expando]]||{}};var Ye=/([\:\-\_]+(.))/g,Je=/^moz([A-Z])/,Ke={mouseleave:"mouseout",mouseenter:"mouseover"},Ze=b("jqLite");function Xe(e){return e.replace(Ye,function(e,t,n,r){return r?n.toUpperCase():n}).replace(Je,"Moz$1")}var Qe=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,et=/<|&#?\w+;/,tt=/<([\w:-]+)/,nt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,rt={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function it(e){return!et.test(e)}function ot(e){var t=e.nodeType;return t===Re||!t||t===Fe}function at(e,t){var n,r,i,o,a=t.createDocumentFragment(),s=[];if(it(e))s.push(t.createTextNode(e));else{for(n=n||a.appendChild(t.createElement("div")),r=(tt.exec(e)||["",""])[1].toLowerCase(),i=rt[r]||rt._default,n.innerHTML=i[1]+e.replace(nt,"<$1></$2>")+i[2],o=i[0];o--;)n=n.lastChild;s=H(s,n.childNodes),(n=a.firstChild).textContent=""}return a.textContent="",a.innerHTML="",re(s,function(e){a.appendChild(e)}),a}function st(e){if(e instanceof st)return e;var t;if(le(e)&&(e=de(e),t=!0),!(this instanceof st)){if(t&&"<"!=e.charAt(0))throw Ze("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new st(e)}mt(this,t?function(e,t){var n;return t=t||ee,(n=Qe.exec(e))?[t.createElement(n[1])]:(n=at(e,t))?n.childNodes:[]}(e):e)}function ut(e){return e.cloneNode(!0)}function ct(e,t){if(t||ft(e),e.querySelectorAll)for(var n=e.querySelectorAll("*"),r=0,i=n.length;r<i;r++)ft(n[r])}function lt(n,e,r,t){if(C(t))throw Ze("offargs","jqLite#off() does not support the `selector` argument");var i=ht(n),o=i&&i.events,a=i&&i.handle;if(a)if(e)re(e.split(" "),function(e){if(C(r)){var t=o[e];if(ve(t||[],r),t&&0<t.length)return}Ge(n,e,a),delete o[e]});else for(e in o)"$destroy"!==e&&Ge(n,e,a),delete o[e]}function ft(e,t){var n=e.ng339,r=n&&He[n];if(r){if(t)return void delete r.data[t];r.handle&&(r.events.$destroy&&r.handle({},"$destroy"),lt(e)),delete He[n],e.ng339=te}}function ht(e,t){var n=e.ng339,r=n&&He[n];return t&&!r&&(e.ng339=n=++ze,r=He[n]={events:{},data:{},handle:te}),r}function pt(e,t,n){if(ot(e)){var r=C(n),i=!r&&t&&!ce(t),o=!t,a=ht(e,!i),s=a&&a.data;if(r)s[t]=n;else{if(o)return s;if(i)return s&&s[t];ie(s,t)}}}function dt(e,t){return!!e.getAttribute&&-1<(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")}function $t(t,e){e&&t.setAttribute&&re(e.split(" "),function(e){t.setAttribute("class",de((" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+de(e)+" "," ")))})}function vt(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");re(t.split(" "),function(e){e=de(e),-1===n.indexOf(" "+e+" ")&&(n+=e+" ")}),e.setAttribute("class",de(n))}}function mt(e,t){if(t)if(t.nodeType)e[e.length++]=t;else{var n=t.length;if("number"==typeof n&&t.window!==t){if(n)for(var r=0;r<n;r++)e[e.length++]=t[r]}else e[e.length++]=t}}function gt(e,t){return yt(e,"$"+(t||"ngController")+"Controller")}function yt(e,t,n){e.nodeType==Fe&&(e=e.documentElement);for(var r=fe(t)?t:[t];e;){for(var i=0,o=r.length;i<o;i++)if(C(n=ne.data(e,r[i])))return n;e=e.parentNode||e.nodeType===Ue&&e.host}}function bt(e){for(ct(e,!0);e.firstChild;)e.removeChild(e.firstChild)}function xt(e,t){t||ct(e);var n=e.parentNode;n&&n.removeChild(e)}rt.optgroup=rt.option,rt.tbody=rt.tfoot=rt.colgroup=rt.caption=rt.thead,rt.th=rt.td;var wt=st.prototype={ready:function(e){var t=!1;function n(){t||(t=!0,e())}"complete"===ee.readyState?setTimeout(n):(this.on("DOMContentLoaded",n),st(u).on("load",n))},toString:function(){var t=[];return re(this,function(e){t.push(""+e)}),"["+t.join(", ")+"]"},eq:function(e){return ne(0<=e?this[e]:this[this.length+e])},length:0,push:e,sort:[].sort,splice:[].splice},St={};re("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(e){St[j(e)]=e});var Ct={};re("input,select,option,textarea,button,form,details".split(","),function(e){Ct[e]=!0});var Et={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};function kt(e,t){var n=St[t.toLowerCase()];return n&&Ct[$e(e)]&&n}function At(e,t){if(ue(t)){var n=e.nodeType;return n===Re||n===_e?e.textContent:""}e.textContent=t}function Ot(){this.$get=function(){return ie(st,{hasClass:function(e,t){return e.attr&&(e=e[0]),dt(e,t)},addClass:function(e,t){return e.attr&&(e=e[0]),vt(e,t)},removeClass:function(e,t){return e.attr&&(e=e[0]),$t(e,t)}})}}function Mt(e,t){var n=e&&e.$$hashKey;if(n)return"function"==typeof n&&(n=e.$$hashKey()),n;var r=typeof e;return n="function"==r||"object"==r&&null!==e?e.$$hashKey=r+":"+(t||k)():r+":"+e}function Tt(e,t){if(t){var n=0;this.nextUid=function(){return++n}}re(e,this.put,this)}re({data:pt,removeData:ft,hasData:function(e){for(var t in He[e.ng339])return!0;return!1}},function(e,t){st[t]=e}),re({data:pt,inheritedData:yt,scope:function(e){return ne.data(e,"$scope")||yt(e.parentNode||e,["$isolateScope","$scope"])},isolateScope:function(e){return ne.data(e,"$isolateScope")||ne.data(e,"$isolateScopeNoTemplate")},controller:gt,injector:function(e){return yt(e,"$injector")},removeAttr:function(e,t){e.removeAttribute(t)},hasClass:dt,css:function(e,t,n){if(t=Xe(t),!C(n))return e.style[t];e.style[t]=n},attr:function(e,t,n){var r=e.nodeType;if(r!==_e&&2!==r&&r!==qe){var i=j(t);if(St[i]){if(!C(n))return e[t]||(e.attributes.getNamedItem(t)||ae).specified?i:te;n?(e[t]=!0,e.setAttribute(t,i)):(e[t]=!1,e.removeAttribute(i))}else if(C(n))e.setAttribute(t,n);else if(e.getAttribute){var o=e.getAttribute(t,2);return null===o?te:o}}},prop:function(e,t,n){if(!C(n))return e[t];e[t]=n},text:(At.$dv="",At),val:function(e,t){if(ue(t)){if(e.multiple&&"select"===$e(e)){var n=[];return re(e.options,function(e){e.selected&&n.push(e.value||e.text)}),0===n.length?null:n}return e.value}e.value=t},html:function(e,t){if(ue(t))return e.innerHTML;ct(e,!0),e.innerHTML=t},empty:bt},function(c,e){st.prototype[e]=function(e,t){var n,r,i=this.length;if(c!==bt&&ue(2==c.length&&c!==dt&&c!==gt?e:t)){if(ce(e)){for(n=0;n<i;n++)if(c===pt)c(this[n],e);else for(r in e)c(this[n],r,e[r]);return this}for(var o=c.$dv,a=ue(o)?Math.min(i,1):i,s=0;s<a;s++){var u=c(this[s],e,t);o=o?o+u:u}return o}for(n=0;n<i;n++)c(this[n],e,t);return this}}),re({removeData:ft,on:function e(t,n,r,i){if(C(i))throw Ze("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(ot(t)){var o=ht(t,!0),a=o.events,s=o.handle;s=s||(o.handle=function(a,s){function e(e,t){e.isDefaultPrevented=function(){return e.defaultPrevented};var n=s[t||e.type],r=n?n.length:0;if(r){if(ue(e.immediatePropagationStopped)){var i=e.stopImmediatePropagation;e.stopImmediatePropagation=function(){e.immediatePropagationStopped=!0,e.stopPropagation&&e.stopPropagation(),i&&i.call(e)}}e.isImmediatePropagationStopped=function(){return!0===e.immediatePropagationStopped},1<r&&(n=U(n));for(var o=0;o<r;o++)e.isImmediatePropagationStopped()||n[o].call(a,e)}}return e.elem=a,e}(t,a));for(var u=0<=n.indexOf(" ")?n.split(" "):[n],c=u.length;c--;){var l=a[n=u[c]];l||(a[n]=[],"mouseenter"===n||"mouseleave"===n?e(t,Ke[n],function(e){var t=e.relatedTarget;t&&(t===this||this.contains(t))||s(e,n)}):"$destroy"!==n&&We(t,n,s),l=a[n]),l.push(r)}}},off:lt,one:function(t,n,r){(t=ne(t)).on(n,function e(){t.off(n,r),t.off(n,e)}),t.on(n,r)},replaceWith:function(t,e){var n,r=t.parentNode;ct(t),re(new st(e),function(e){n?r.insertBefore(e,n.nextSibling):r.replaceChild(e,t),n=e})},children:function(e){var t=[];return re(e.childNodes,function(e){e.nodeType===Re&&t.push(e)}),t},contents:function(e){return e.contentDocument||e.childNodes||[]},append:function(e,t){var n=e.nodeType;if(n===Re||n===Ue)for(var r=0,i=(t=new st(t)).length;r<i;r++){var o=t[r];e.appendChild(o)}},prepend:function(t,e){if(t.nodeType===Re){var n=t.firstChild;re(new st(e),function(e){t.insertBefore(e,n)})}},wrap:function(e,t){t=ne(t).eq(0).clone()[0];var n=e.parentNode;n&&n.replaceChild(t,e),t.appendChild(e)},remove:xt,detach:function(e){xt(e,!0)},after:function(e,t){for(var n=e,r=e.parentNode,i=0,o=(t=new st(t)).length;i<o;i++){var a=t[i];r.insertBefore(a,n.nextSibling),n=a}},addClass:vt,removeClass:$t,toggleClass:function(n,e,r){e&&re(e.split(" "),function(e){var t=r;ue(t)&&(t=!dt(n,e)),(t?vt:$t)(n,e)})},parent:function(e){var t=e.parentNode;return t&&t.nodeType!==Ue?t:null},next:function(e){return e.nextElementSibling},find:function(e,t){return e.getElementsByTagName?e.getElementsByTagName(t):[]},clone:ut,triggerHandler:function(t,e,n){var r,i,o,a=e.type||e,s=ht(t),u=s&&s.events,c=u&&u[a];c&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:ae,type:a,target:t},e.type&&(r=ie(r,e)),i=U(c),o=n?[r].concat(n):[r],re(i,function(e){r.isImmediatePropagationStopped()||e.apply(t,o)}))}},function(a,e){st.prototype[e]=function(e,t,n){for(var r,i=0,o=this.length;i<o;i++)ue(r)?C(r=a(this[i],e,t,n))&&(r=ne(r)):mt(r,a(this[i],e,t,n));return C(r)?r:this},st.prototype.bind=st.prototype.on,st.prototype.unbind=st.prototype.off}),Tt.prototype={put:function(e,t){this[Mt(e,this.nextUid)]=t},get:function(e){return this[Mt(e,this.nextUid)]},remove:function(e){var t=this[e=Mt(e,this.nextUid)];return delete this[e],t}};var Vt=[function(){this.$get=[function(){return Tt}]}],Nt=/^[^\(]*\(\s*([^\)]*)\)/m,jt=/,/,Pt=/^\s*(_?)(\S+?)\1\s*$/,Dt=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,It=b("$injector");function Rt(e,l){l=!0===l;var i={},a="Provider",s=[],o=new Tt([],!0),u={$provide:{provider:t(r),factory:t(h),service:t(function(e,t){return h(e,["$injector",function(e){return e.instantiate(t)}])}),value:t(function(e,t){return h(e,x(t),!1)}),constant:t(function(e,t){je(e,"constant"),u[e]=t,n[e]=t}),decorator:function(e,t){var n=c.get(e+a),r=n.$get;n.$get=function(){var e=f.invoke(r,n);return f.invoke(t,null,{$delegate:e})}}}},c=u.$injector=p(u,function(e,t){throw E.isString(t)&&s.push(t),It("unpr","Unknown provider: {0}",s.join(" <- "))}),n={},f=n.$injector=p(n,function(e,t){var n=c.get(e+a,t);return f.invoke(n.$get,n,te,e)});return re(function n(e){Ve(ue(e)||fe(e),"modulesToLoad","not an array");var r,i=[];re(e,function(t){if(!o.get(t)){o.put(t,!0);try{le(t)?(r=d(t),i=i.concat(n(r.requires)).concat(r._runBlocks),e(r._invokeQueue),e(r._configBlocks)):he(t)?i.push(c.invoke(t)):fe(t)?i.push(c.invoke(t)):Ne(t,"module")}catch(e){throw fe(t)&&(t=t[t.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),It("modulerr","Failed to instantiate module {0} due to:\n{1}",t,e.stack||e.message||e)}}function e(e){var t,n;for(t=0,n=e.length;t<n;t++){var r=e[t],i=c.get(r[0]);i[r[1]].apply(i,r[2])}}});return i}(e),function(e){e&&f.invoke(e)}),f;function t(n){return function(e,t){if(!ce(e))return n(e,t);re(e,$(n))}}function r(e,t){if(je(e,"service"),(he(t)||fe(t))&&(t=c.instantiate(t)),!t.$get)throw It("pget","Provider '{0}' must define $get factory method.",e);return u[e+a]=t}function h(e,t,n){return r(e,{$get:!1!==n?function(t,n){return function(){var e=f.invoke(n,this);if(ue(e))throw It("undef","Provider '{0}' must return a value from $get factory method.",t);return e}}(e,t):t})}function p(n,r){function c(t,e){if(n.hasOwnProperty(t)){if(n[t]===i)throw It("cdep","Circular dependency found: {0}",t+" <- "+s.join(" <- "));return n[t]}try{return s.unshift(t),n[t]=i,n[t]=r(t,e)}catch(e){throw n[t]===i&&delete n[t],e}finally{s.shift()}}function o(e,t,n,r){"string"==typeof n&&(r=n,n=null);var i,o,a,s=[],u=Rt.$$annotate(e,l,r);for(o=0,i=u.length;o<i;o++){if("string"!=typeof(a=u[o]))throw It("itkn","Incorrect injection token! Expected service name as string, got {0}",a);s.push(n&&n.hasOwnProperty(a)?n[a]:c(a,r))}return fe(e)&&(e=e[i]),e.apply(t,s)}return{invoke:o,instantiate:function(e,t,n){var r=Object.create((fe(e)?e[e.length-1]:e).prototype||null),i=o(e,r,t,n);return ce(i)||he(i)?i:r},get:c,annotate:Rt.$$annotate,has:function(e){return u.hasOwnProperty(e+a)||n.hasOwnProperty(e)}}}}function _t(){var e=!0;this.disableAutoScrolling=function(){e=!1},this.$get=["$window","$location","$rootScope",function(r,n,i){var o=r.document;function a(e){if(e){e.scrollIntoView();var t=function(){var e=s.yOffset;if(he(e))e=e();else if(q(e)){var t=e[0];e="fixed"!==r.getComputedStyle(t).position?0:t.getBoundingClientRect().bottom}else A(e)||(e=0);return e}();if(t){var n=e.getBoundingClientRect().top;r.scrollBy(0,n-t)}}else r.scrollTo(0,0)}function s(e){var t;(e=le(e)?e:n.hash())?(t=o.getElementById(e))?a(t):(t=function(e){var t=null;return Array.prototype.some.call(e,function(e){if("a"===$e(e))return t=e,!0}),t}(o.getElementsByName(e)))?a(t):"top"===e&&a(null):a(null)}return e&&i.$watch(function(){return n.hash()},function(e,t){e===t&&""===e||function(e,t){"complete"===(t=t||u).document.readyState?t.setTimeout(e):ne(t).on("load",e)}(function(){i.$evalAsync(s)})}),s}]}Rt.$$annotate=function(e,t,n){var r,i;if("function"==typeof e){if(!(r=e.$inject)){if(r=[],e.length){if(t)throw le(n)&&n||(n=e.name||function(e){var t=e.toString().replace(Dt,"").match(Nt);return t?"function("+(t[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}(e)),It("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);re(e.toString().replace(Dt,"").match(Nt)[1].split(jt),function(e){e.replace(Pt,function(e,t,n){r.push(n)})})}e.$inject=r}}else fe(e)?(Ne(e[i=e.length-1],"fn"),r=e.slice(0,i)):Ne(e,"fn",!0);return r};var qt=b("$animate"),Ft=1,Ut="ng-animate";function Bt(e,t){return e||t?e?t?(fe(e)&&(e=e.join(" ")),fe(t)&&(t=t.join(" ")),e+" "+t):e:t:""}function Lt(e){return ce(e)?e:{}}function Ht(){this.$get=["$q","$$rAF",function(n,r){function e(){}return e.all=ae,e.chain=ae,e.prototype={end:ae,cancel:ae,resume:ae,pause:ae,complete:ae,then:function(e,t){return n(function(e){r(function(){e()})}).then(e,t)}},e}]}function zt(){var c=new Tt,l=[];this.$get=["$$AnimateRunner","$rootScope",function(i,a){return{enabled:ae,on:ae,off:ae,pin:ae,push:function(e,t,n,r){return r&&r(),(n=n||{}).from&&e.css(n.from),n.to&&e.css(n.to),(n.addClass||n.removeClass)&&function(e,t,n){var r=c.get(e)||{},i=s(r,t,!0),o=s(r,n,!1);(i||o)&&(c.put(e,r),l.push(e),1===l.length&&a.$$postDigest(u))}(e,n.addClass,n.removeClass),new i}};function s(t,e,n){var r=!1;return e&&re(e=le(e)?e.split(" "):fe(e)?e:[],function(e){e&&(r=!0,t[e]=n)}),r}function u(){re(l,function(e){var t=c.get(e);if(t){var n=function(e){le(e)&&(e=e.split(" "));var t=Ie();return re(e,function(e){e.length&&(t[e]=!0)}),t}(e.attr("class")),r="",i="";re(t,function(e,t){e!==!!n[t]&&(e?r+=(r.length?" ":"")+t:i+=(i.length?" ":"")+t)}),re(e,function(e){r&&vt(e,r),i&&$t(e,i)}),c.remove(e)}}),l.length=0}}]}function Wt(){this.$get=["$$rAF","$q",function(o,e){function a(){}return a.prototype={done:function(e){this.defer&&this.defer[!0===e?"reject":"resolve"]()},end:function(){this.done()},cancel:function(){this.done(!0)},getPromise:function(){return this.defer||(this.defer=e.defer()),this.defer.promise},then:function(e,t){return this.getPromise().then(e,t)},catch:function(e){return this.getPromise().catch(e)},finally:function(e){return this.getPromise().finally(e)}},function(e,t){t.cleanupStyles&&(t.from=t.to=null),t.from&&(e.css(t.from),t.from=null);var n,r=new a;return{start:i,end:i};function i(){return o(function(){!function(){t.addClass&&(e.addClass(t.addClass),t.addClass=null);t.removeClass&&(e.removeClass(t.removeClass),t.removeClass=null);t.to&&(e.css(t.to),t.to=null)}(),n||r.done(),n=!0}),r}}}]}var Gt=["$provide",function(r){var i=this;this.$$registeredAnimations=Object.create(null),this.register=function(e,t){if(e&&"."!==e.charAt(0))throw qt("notcsel","Expecting class selector starting with '.' got '{0}'.",e);var n=e+"-animation";i.$$registeredAnimations[e.substr(1)]=n,r.factory(n,t)},this.classNameFilter=function(e){if(1===arguments.length&&(this.$$classNameFilter=e instanceof RegExp?e:null,this.$$classNameFilter&&new RegExp("(\\s+|\\/)"+Ut+"(\\s+|\\/)").test(this.$$classNameFilter.toString())))throw qt("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Ut);return this.$$classNameFilter},this.$get=["$$animateQueue",function(o){function i(e,t,n){if(n){var r=function(e){for(var t=0;t<e.length;t++){var n=e[t];if(n.nodeType===Ft)return n}}(n);!r||r.parentNode||r.previousElementSibling||(n=null)}n?n.after(e):t.prepend(e)}return{on:o.on,off:o.off,pin:o.pin,enabled:o.enabled,cancel:function(e){e.end&&e.end()},enter:function(e,t,n,r){return t=t&&ne(t),n=n&&ne(n),i(e,t=t||n.parent(),n),o.push(e,"enter",Lt(r))},move:function(e,t,n,r){return t=t&&ne(t),n=n&&ne(n),i(e,t=t||n.parent(),n),o.push(e,"move",Lt(r))},leave:function(e,t){return o.push(e,"leave",Lt(t),function(){e.remove()})},addClass:function(e,t,n){return(n=Lt(n)).addClass=Bt(n.addclass,t),o.push(e,"addClass",n)},removeClass:function(e,t,n){return(n=Lt(n)).removeClass=Bt(n.removeClass,t),o.push(e,"removeClass",n)},setClass:function(e,t,n,r){return(r=Lt(r)).addClass=Bt(r.addClass,t),r.removeClass=Bt(r.removeClass,n),o.push(e,"setClass",r)},animate:function(e,t,n,r,i){return(i=Lt(i)).from=i.from?ie(i.from,t):t,i.to=i.to?ie(i.to,n):n,r=r||"ng-inline-animate",i.tempClasses=Bt(i.tempClasses,r),o.push(e,"animate",i)}}}]}];function Yt(o,e,t,a){var s=this,u=(e[0],o.location),c=o.history,r=o.setTimeout,n=o.clearTimeout,i={};s.isMock=!1;var l=0,f=[];function h(e){try{e.apply(null,ge(arguments,1))}finally{if(0===--l)for(;f.length;)try{f.pop()()}catch(e){t.error(e)}}}s.$$completeOutstandingRequest=h,s.$$incOutstandingRequestCount=function(){l++},s.notifyWhenNoOutstandingRequests=function(e){0===l?e():f.push(e)};var p,d,$=u.href,v=e.find("base"),m=null;w(),d=p,s.url=function(e,t,n){if(ue(n)&&(n=null),u!==o.location&&(u=o.location),c!==o.history&&(c=o.history),e){var r=d===n;if($===e&&(!a.history||r))return s;var i=$&&qn($)===qn(e);return $=e,d=n,!a.history||i&&r?(i&&!m||(m=e),t?u.replace(e):i?u.hash=function(e){var t=e.indexOf("#");return-1===t?"":e.substr(t)}(e):u.href=e,u.href!==e&&(m=e)):(c[t?"replaceState":"pushState"](n,"",e),w(),d=p),s}return m||u.href.replace(/%27/g,"'")},s.state=function(){return p};var g=[],y=!1;function b(){m=null,w(),S()}var x=null;function w(){me(p=ue(p=function(){try{return c.state}catch(e){}}())?null:p,x)&&(p=x),x=p}function S(){$===s.url()&&d===p||($=s.url(),d=p,re(g,function(e){e(s.url(),p)}))}s.onUrlChange=function(e){return y||(a.history&&ne(o).on("popstate",b),ne(o).on("hashchange",b),y=!0),g.push(e),e},s.$$applicationDestroyed=function(){ne(o).off("hashchange popstate",b)},s.$$checkUrlChange=S,s.baseHref=function(){var e=v.attr("href");return e?e.replace(/^(https?\:)?\/\/[^\/]*/,""):""},s.defer=function(e,t){var n;return l++,n=r(function(){delete i[n],h(e)},t||0),i[n]=!0,n},s.defer.cancel=function(e){return!!i[e]&&(delete i[e],n(e),h(ae),!0)}}function Jt(){this.$get=["$window","$log","$sniffer","$document",function(e,t,n,r){return new Yt(e,r,t,n)}]}function Kt(){this.$get=function(){var f={};function e(e,t){if(e in f)throw b("$cacheFactory")("iid","CacheId '{0}' is already taken!",e);var n=0,r=ie({},t,{id:e}),i={},o=t&&t.capacity||Number.MAX_VALUE,a={},s=null,u=null;return f[e]={put:function(e,t){if(!ue(t)){if(o<Number.MAX_VALUE)c(a[e]||(a[e]={key:e}));return e in i||n++,i[e]=t,o<n&&this.remove(u.key),t}},get:function(e){if(o<Number.MAX_VALUE){var t=a[e];if(!t)return;c(t)}return i[e]},remove:function(e){if(o<Number.MAX_VALUE){var t=a[e];if(!t)return;t==s&&(s=t.p),t==u&&(u=t.n),l(t.n,t.p),delete a[e]}delete i[e],n--},removeAll:function(){i={},n=0,a={},s=u=null},destroy:function(){a=r=i=null,delete f[e]},info:function(){return ie({},r,{size:n})}};function c(e){e!=s&&(u?u==e&&(u=e.n):u=e,l(e.n,e.p),l(e,s),(s=e).n=null)}function l(e,t){e!=t&&(e&&(e.p=t),t&&(t.n=e))}}return e.info=function(){var n={};return re(f,function(e,t){n[t]=e.info()}),n},e.get=function(e){return f[e]},e}}function Zt(){this.$get=["$cacheFactory",function(e){return e("templates")}]}var Xt=b("$compile");function Qt(n,t){var p={},d="Directive",A=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,N=/(([\w\-]+)(?:\:([^;]+))?;?)/,l=function(e){var t,n={},r=e.split(",");for(t=0;t<r.length;t++)n[r[t]]=!0;return n}("ngSrc,ngSrcset,src,srcset"),Q=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,f=/^(on[a-z]+|formaction)$/;function o(e,r,i){var o=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,a={};return re(e,function(e,t){var n=e.match(o);if(!n)throw Xt("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",r,t,e,i?"controller bindings definition":"isolate scope definition");a[t]={mode:n[1][0],collection:"*"===n[2],optional:"?"===n[3],attrName:n[4]||t}}),a}function u(e,t){var n={isolateScope:null,bindToController:null};if(ce(e.scope)&&(!0===e.bindToController?(n.bindToController=o(e.scope,t,!0),n.isolateScope={}):n.isolateScope=o(e.scope,t,!1)),ce(e.bindToController)&&(n.bindToController=o(e.bindToController,t,!0)),ce(n.bindToController)){var r=e.controller,i=e.controllerAs;if(!r)throw Xt("noctrl","Cannot bind to controller without directive '{0}'s controller.",t);if(!function(e,t){if(t&&le(t))return t;if(le(e)){var n=an.exec(e);if(n)return n[3]}}(r,i))throw Xt("noident","Cannot bind to controller without identifier for directive '{0}'.",t)}return n}this.directive=function e(s,t){return je(s,"directive"),le(s)?(function(e){var t=e.charAt(0);if(!t||t!==j(t))throw Xt("baddir","Directive name '{0}' is invalid. The first character must be a lowercase letter",e);if(e!==e.trim())throw Xt("baddir","Directive name '{0}' is invalid. The name should not contain leading or trailing whitespaces",e)}(s),Ve(t,"directiveFactory"),p.hasOwnProperty(s)||(p[s]=[],n.factory(s+d,["$injector","$exceptionHandler",function(i,o){var a=[];return re(p[s],function(e,t){try{var n=i.invoke(e);he(n)?n={compile:x(n)}:!n.compile&&n.link&&(n.compile=x(n.link)),n.priority=n.priority||0,n.index=t,n.name=n.name||s,n.require=n.require||n.controller&&n.name,n.restrict=n.restrict||"EA";var r=n.$$bindings=u(n,n.name);ce(r.isolateScope)&&(n.$$isolateBindings=r.isolateScope),n.$$moduleName=e.$$moduleName,a.push(n)}catch(e){o(e)}}),a}])),p[s].push(t)):re(s,$(e)),this},this.aHrefSanitizationWhitelist=function(e){return C(e)?(t.aHrefSanitizationWhitelist(e),this):t.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(e){return C(e)?(t.imgSrcSanitizationWhitelist(e),this):t.imgSrcSanitizationWhitelist()};var s=!0;this.debugInfoEnabled=function(e){return C(e)?(s=e,this):s},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(h,x,I,e,$,R,o,t,r,i,m){var _=function(e,t){if(t){var n,r,i,o=Object.keys(t);for(n=0,r=o.length;n<r;n++)this[i=o[n]]=t[i]}else this.$attr={};this.$$element=e};function O(e,t){try{e.addClass(t)}catch(e){}}_.prototype={$normalize:tn,$addClass:function(e){e&&0<e.length&&i.addClass(this.$$element,e)},$removeClass:function(e){e&&0<e.length&&i.removeClass(this.$$element,e)},$updateClass:function(e,t){var n=nn(e,t);n&&n.length&&i.addClass(this.$$element,n);var r=nn(t,e);r&&r.length&&i.removeClass(this.$$element,r)},$set:function(e,t,n,r){var i,o=kt(this.$$element[0],e),a=function(e){return Et[e]}(e),s=e;if(o?(this.$$element.prop(e,t),r=o):a&&(this[a]=t,s=a),this[e]=t,r?this.$attr[e]=r:(r=this.$attr[e])||(this.$attr[e]=r=Oe(e,"-")),"a"===(i=$e(this.$$element))&&"href"===e||"img"===i&&"src"===e)this[e]=t=m(t,"src"===e);else if("img"===i&&"srcset"===e){for(var u="",c=de(t),l=/\s/.test(c)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,f=c.split(l),h=Math.floor(f.length/2),p=0;p<h;p++){var d=2*p;u+=m(de(f[d]),!0),u+=" "+de(f[1+d])}var $=de(f[2*p]).split(/\s/);u+=m(de($[0]),!0),2===$.length&&(u+=" "+de($[1])),this[e]=t=u}!1!==n&&(null===t||ue(t)?this.$$element.removeAttr(r):this.$$element.attr(r,t));var v=this.$$observers;v&&re(v[s],function(e){try{e(t)}catch(e){I(e)}})},$observe:function(e,t){var n=this,r=n.$$observers||(n.$$observers=Ie()),i=r[e]||(r[e]=[]);return i.push(t),o.$evalAsync(function(){i.$$inter||!n.hasOwnProperty(e)||ue(n[e])||t(n[e])}),function(){ve(i,t)}}};var n=x.startSymbol(),a=x.endSymbol(),q="{{"==n||"}}"==a?se:function(e){return e.replace(/\{\{/g,n).replace(/}}/g,a)},w=/^ngAttr[A-Z]/;return F.$$addBindingInfo=s?function(e,t){var n=e.data("$binding")||[];fe(t)?n=n.concat(t):n.push(t),e.data("$binding",n)}:ae,F.$$addBindingClass=s?function(e){O(e,"ng-binding")}:ae,F.$$addScopeInfo=s?function(e,t,n,r){var i=n?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";e.data(i,t)}:ae,F.$$addScopeClass=s?function(e,t){O(e,t?"ng-isolate-scope":"ng-scope")}:ae,F;function F(u,e,t,n,r){u instanceof ne||(u=ne(u)),re(u,function(e,t){e.nodeType==_e&&e.nodeValue.match(/\S+/)&&(u[t]=ne(e).wrap("<span></span>").parent()[0])});var c=M(u,e,u,t,n,r);F.$$addScopeClass(u);var l=null;return function(e,t,n){Ve(e,"scope");var r,i=(n=n||{}).parentBoundTranscludeFn,o=n.transcludeControllers,a=n.futureParentElement;if(i&&i.$$boundTransclude&&(i=i.$$boundTransclude),r="html"!==(l=l||function(e){var t=e&&e[0];return t&&"foreignobject"!==$e(t)&&t.toString().match(/SVG/)?"svg":"html"}(a))?ne(Y(l,ne("<div>").append(u).html())):t?wt.clone.call(u):u,o)for(var s in o)r.data("$"+s+"Controller",o[s].instance);return F.$$addScopeInfo(r,e),t&&t(r,e),c&&c(e,r,r,i),r}}function M(e,$,t,n,r,i){for(var o,a,s,u,c,l,v,m=[],f=0;f<e.length;f++)o=new _,(s=(a=U(e[f],[],o,0===f?n:te,r)).length?V(a,e[f],o,$,t,null,[],[],i):null)&&s.scope&&F.$$addScopeClass(o.$$element),c=s&&s.terminal||!(u=e[f].childNodes)||!u.length?null:M(u,s?(s.transcludeOnThisElement||!s.templateOnThisElement)&&s.transclude:$),(s||c)&&(m.push(f,s,c),l=!0,v=v||s),i=null;return l?function(e,t,n,r){var i,o,a,s,u,c,l,f,h;if(v){var p=t.length;for(h=new Array(p),u=0;u<m.length;u+=3)l=m[u],h[l]=t[l]}else h=t;for(u=0,c=m.length;u<c;)if(a=h[m[u++]],i=m[u++],o=m[u++],i){if(i.scope){s=e.$new(),F.$$addScopeInfo(ne(a),s);var d=i.$$destroyBindings;d&&(i.$$destroyBindings=null,s.$on("$destroyed",d))}else s=e;f=i.transcludeOnThisElement?T(e,i.transclude,r):!i.templateOnThisElement&&r?r:!r&&$?T(e,$):null,i(o,s,a,n,f,i)}else o&&o(e,a.childNodes,te,r)}:null}function T(o,a,s){return function(e,t,n,r,i){return e||((e=o.$new(!1,i)).$$transcluded=!0),a(e,t,{parentBoundTranscludeFn:s,transcludeControllers:n,futureParentElement:r})}}function U(e,t,n,r,i){var o,a,s=e.nodeType,u=n.$attr;switch(s){case Re:S(t,tn($e(e)),"E",r,i);for(var c,l,f,h,p,d,$=e.attributes,v=0,m=$&&$.length;v<m;v++){var g=!1,y=!1;l=(c=$[v]).name,p=de(c.value),h=tn(l),(d=w.test(h))&&(l=l.replace(en,"").substr(8).replace(/_(.)/g,function(e,t){return t.toUpperCase()}));var b=h.replace(/(Start|End)$/,"");C(b)&&h===b+"Start"&&(y=(g=l).substr(0,l.length-5)+"end",l=l.substr(0,l.length-6)),u[f=tn(l.toLowerCase())]=l,!d&&n.hasOwnProperty(f)||(n[f]=p,kt(e,f)&&(n[f]=!0)),k(e,t,p,f,d),S(t,f,"A",r,i,g,y)}if(ce(a=e.className)&&(a=a.animVal),le(a)&&""!==a)for(;o=N.exec(a);)S(t,f=tn(o[2]),"C",r,i)&&(n[f]=de(o[3])),a=a.substr(o.index+o[0].length);break;case _e:if(11===D)for(;e.parentNode&&e.nextSibling&&e.nextSibling.nodeType===_e;)e.nodeValue=e.nodeValue+e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);!function(e,t){var i=x(t,!0);i&&e.push({priority:0,compile:function(e){var t=e.parent(),r=!!t.length;return r&&F.$$addBindingClass(t),function(e,t){var n=t.parent();r||F.$$addBindingClass(n),F.$$addBindingInfo(n,i.expressions),e.$watch(i,function(e){t[0].nodeValue=e})}}})}(t,e.nodeValue);break;case qe:try{(o=A.exec(e.nodeValue))&&S(t,f=tn(o[1]),"M",r,i)&&(n[f]=de(o[2]))}catch(e){}}return t.sort(E),t}function B(e,t,n){var r=[],i=0;if(t&&e.hasAttribute&&e.hasAttribute(t))do{if(!e)throw Xt("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,n);e.nodeType==Re&&(e.hasAttribute(t)&&i++,e.hasAttribute(n)&&i--),r.push(e),e=e.nextSibling}while(0<i);else r.push(e);return ne(r)}function L(o,a,s){return function(e,t,n,r,i){return t=B(t[0],a,s),o(e,t,n,r,i)}}function V(e,b,x,t,n,r,w,S,i){i=i||{};for(var o,a,s,u,c,l=-Number.MAX_VALUE,C=i.newScopeDirective,E=i.controllerDirectives,k=i.newIsolateScopeDirective,A=i.templateDirective,f=i.nonTlbTranscludeDirective,h=!1,p=!1,O=i.hasElementTranscludeDirective,d=x.$$element=ne(b),$=r,v=t,m=0,g=e.length;m<g;m++){var y=(o=e[m]).$$start,M=o.$$end;if(y&&(d=B(b,y,M)),s=te,l>o.priority)break;if((c=o.scope)&&(o.templateUrl||(ce(c)?(G("new/isolated scope",k||C,o,d),k=o):G("new/isolated scope",k,o,d)),C=C||o),a=o.name,!o.templateUrl&&o.controller&&(c=o.controller,E=E||Ie(),G("'"+a+"' controller",E[a],o,d),E[a]=o),(c=o.transclude)&&(h=!0,o.$$tlb||(G("transclusion",f,o,d),f=o),v="element"==c?(O=!0,l=o.priority,s=d,d=x.$$element=ne(ee.createComment(" "+a+": "+x[a]+" ")),b=d[0],J(n,ge(s),b),F(s,t,l,$&&$.name,{nonTlbTranscludeDirective:f})):(s=ne(ut(b)).contents(),d.empty(),F(s,t))),o.template)if(p=!0,G("template",A,o,d),c=he((A=o).template)?o.template(d,x):o.template,c=q(c),o.replace){if($=o,s=it(c)?[]:rn(Y(o.templateNamespace,de(c))),b=s[0],1!=s.length||b.nodeType!==Re)throw Xt("tplrt","Template for directive '{0}' must have exactly one root element. {1}",a,"");J(n,d,b);var T={$attr:{}},V=U(b,[],T),N=e.splice(m+1,e.length-(m+1));k&&H(V),e=e.concat(V).concat(N),z(x,T),g=e.length}else d.html(c);if(o.templateUrl)p=!0,G("template",A,o,d),(A=o).replace&&($=o),D=W(e.splice(m,e.length-m),d,x,n,h&&v,w,S,{controllerDirectives:E,newScopeDirective:C!==o&&C,newIsolateScopeDirective:k,templateDirective:A,nonTlbTranscludeDirective:f}),g=e.length;else if(o.compile)try{he(u=o.compile(d,x,v))?j(null,u,y,M):u&&j(u.pre,u.post,y,M)}catch(e){I(e,ye(d))}o.terminal&&(D.terminal=!0,l=Math.max(l,o.priority))}return D.scope=C&&!0===C.scope,D.transcludeOnThisElement=h,D.templateOnThisElement=p,D.transclude=v,i.hasElementTranscludeDirective=O,D;function j(e,t,n,r){e&&(n&&(e=L(e,n,r)),e.require=o.require,e.directiveName=a,k!==o&&!o.$$isolateScope||(e=K(e,{isolateScope:!0})),w.push(e)),t&&(n&&(t=L(t,n,r)),t.require=o.require,t.directiveName=a,k!==o&&!o.$$isolateScope||(t=K(t,{isolateScope:!0})),S.push(t))}function P(e,t,n,r){var i;if(le(t)){var o=t.match(Q),a=t.substring(o[0].length),s=o[1]||o[3],u="?"===o[2];if("^^"===s?n=n.parent():i=(i=r&&r[a])&&i.instance,!i){var c="$"+a+"Controller";i=s?n.inheritedData(c):n.data(c)}if(!i&&!u)throw Xt("ctreq","Controller '{0}', required by directive '{1}', can't be found!",a,e)}else if(fe(t)){i=[];for(var l=0,f=t.length;l<f;l++)i[l]=P(e,t[l],n,r)}return i||null}function D(e,t,n,r,i,o){var a,s,u,c,l,f,h,p,d;if(b===n?p=(d=x).$$element:(p=ne(n),d=new _(p,x)),k&&(l=t.$new(!0)),i&&((h=function(e,t,n){var r;pe(e)||(n=t,t=e,e=te);O&&(r=f);n=n||(O?p.parent():p);return i(e,t,r,n,y)}).$$boundTransclude=i),E&&(f=function(e,t,n,r,i,o){var a=Ie();for(var s in r){var u=r[s],c={$scope:u===k||u.$$isolateScope?i:o,$element:e,$attrs:t,$transclude:n},l=u.controller;"@"==l&&(l=t[u.name]);var f=R(l,c,!0,u.controllerAs);a[u.name]=f,O||e.data("$"+u.name+"Controller",f.instance)}return a}(p,d,h,E,l,t)),k&&(F.$$addScopeInfo(p,l,!0,!(A&&(A===k||A===k.$$originalDirective))),F.$$addScopeClass(p,!0),l.$$isolateBindings=k.$$isolateBindings,X(t,d,l,l.$$isolateBindings,k,l)),f){var $,v,m=k||C;for(a in m&&f[m.name]&&($=m.$$bindings.bindToController,(c=f[m.name])&&c.identifier&&$&&(v=c,o.$$destroyBindings=X(t,d,c.instance,$,m))),f){var g=(c=f[a])();g!==c.instance&&(c.instance=g,p.data("$"+a+"Controller",g),c===v&&(o.$$destroyBindings(),o.$$destroyBindings=X(t,d,g,$,m)))}}for(a=0,s=w.length;a<s;a++)Z(u=w[a],u.isolateScope?l:t,p,d,u.require&&P(u.directiveName,u.require,p,f),h);var y=t;for(k&&(k.template||null===k.templateUrl)&&(y=l),e&&e(y,n.childNodes,te,i),a=S.length-1;0<=a;a--)Z(u=S[a],u.isolateScope?l:t,p,d,u.require&&P(u.directiveName,u.require,p,f),h)}}function H(e){for(var t=0,n=e.length;t<n;t++)e[t]=oe(e[t],{$$isolateScope:!0})}function S(e,t,n,r,i,o,a){if(t===i)return null;var s=null;if(p.hasOwnProperty(t))for(var u,c=h.get(t+d),l=0,f=c.length;l<f;l++)try{u=c[l],(ue(r)||r>u.priority)&&-1!=u.restrict.indexOf(n)&&(o&&(u=oe(u,{$$start:o,$$end:a})),e.push(u),s=u)}catch(e){I(e)}return s}function C(e){if(p.hasOwnProperty(e))for(var t=h.get(e+d),n=0,r=t.length;n<r;n++)if(t[n].multiElement)return!0;return!1}function z(n,r){var i=r.$attr,o=n.$attr,a=n.$$element;re(n,function(e,t){"$"!=t.charAt(0)&&(r[t]&&r[t]!==e&&(e+=("style"===t?";":" ")+r[t]),n.$set(t,e,!0,i[t]))}),re(r,function(e,t){"class"==t?(O(a,e),n.class=(n.class?n.class+" ":"")+e):"style"==t?(a.attr("style",a.attr("style")+";"+e),n.style=(n.style?n.style+";":"")+e):"$"==t.charAt(0)||n.hasOwnProperty(t)||(n[t]=e,o[t]=i[t])})}function W(h,p,d,$,v,m,g,y){var b,x,w=[],S=p[0],C=h.shift(),E=oe(C,{templateUrl:null,transclude:null,replace:null,$$originalDirective:C}),k=he(C.templateUrl)?C.templateUrl(p,d):C.templateUrl,A=C.templateNamespace;return p.empty(),e(k).then(function(e){var n,t,r,i;if(e=q(e),C.replace){if(r=it(e)?[]:rn(Y(A,de(e))),n=r[0],1!=r.length||n.nodeType!==Re)throw Xt("tplrt","Template for directive '{0}' must have exactly one root element. {1}",C.name,k);t={$attr:{}},J($,p,n);var o=U(n,[],t);ce(C.scope)&&H(o),h=o.concat(h),z(d,t)}else n=S,p.html(e);for(h.unshift(E),b=V(h,n,d,v,p,C,m,g,y),re($,function(e,t){e==n&&($[t]=p[0])}),x=M(p[0].childNodes,v);w.length;){var a=w.shift(),s=w.shift(),u=w.shift(),c=w.shift(),l=p[0];if(!a.$$destroyed){if(s!==S){var f=s.className;y.hasElementTranscludeDirective&&C.replace||(l=ut(n)),J(u,ne(s),l),O(ne(l),f)}i=b.transcludeOnThisElement?T(a,b.transclude,c):c,b(x,a,l,$,i,b)}}w=null}),function(e,t,n,r,i){var o=i;t.$$destroyed||(w?w.push(t,n,r,o):(b.transcludeOnThisElement&&(o=T(t,b.transclude,i)),b(x,t,n,r,o,b)))}}function E(e,t){var n=t.priority-e.priority;return 0!=n?n:e.name!==t.name?e.name<t.name?-1:1:e.index-t.index}function G(e,t,n,r){function i(e){return e?" (module: "+e+")":""}if(t)throw Xt("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",t.name,i(t.$$moduleName),n.name,i(n.$$moduleName),e,ye(r))}function Y(e,t){switch(e=j(e||"html")){case"svg":case"math":var n=ee.createElement("div");return n.innerHTML="<"+e+">"+t+"</"+e+">",n.childNodes[0].childNodes;default:return t}}function k(e,t,o,a,s){var u=function(e,t){if("srcdoc"==t)return r.HTML;var n=$e(e);return"xlinkHref"==t||"form"==n&&"action"==t||"img"!=n&&("src"==t||"ngSrc"==t)?r.RESOURCE_URL:void 0}(e,a);s=l[a]||s;var c=x(o,!0,u,s);if(c){if("multiple"===a&&"select"===$e(e))throw Xt("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",ye(e));t.push({priority:100,compile:function(){return{pre:function(e,t,n){var r=n.$$observers||(n.$$observers=Ie());if(f.test(a))throw Xt("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");var i=n[a];i!==o&&(c=i&&x(i,!0,u,s),o=i),c&&(n[a]=c(e),(r[a]||(r[a]=[])).$$inter=!0,(n.$$observers&&n.$$observers[a].$$scope||e).$watch(c,function(e,t){"class"===a&&e!=t?n.$updateClass(e,t):n.$set(a,e)}))}}}})}}function J(e,t,n){var r,i,o=t[0],a=t.length,s=o.parentNode;if(e)for(r=0,i=e.length;r<i;r++)if(e[r]==o){e[r++]=n;for(var u=r,c=u+a-1,l=e.length;u<l;u++,c++)c<l?e[u]=e[c]:delete e[u];e.length-=a-1,e.context===o&&(e.context=n);break}s&&s.replaceChild(n,o);var f=ee.createDocumentFragment();f.appendChild(o),ne.hasData(o)&&(ne(n).data(ne(o).data()),v?(Me=!0,v.cleanData([o])):delete ne.cache[o[ne.expando]]);for(var h=1,p=t.length;h<p;h++){var d=t[h];ne(d).remove(),f.appendChild(d),delete t[h]}t[0]=n,t.length=1}function K(e,t){return ie(function(){return e.apply(null,arguments)},e,t)}function Z(e,t,n,r,i,o){try{e(t,n,r,i,o)}catch(e){I(e,ye(n))}}function X(l,f,h,e,p,t){var d;re(e,function(e,t){var n,r,i,o,a=e.attrName,s=e.optional;switch(e.mode){case"@":s||P.call(f,a)||(h[t]=f[a]=void 0),f.$observe(a,function(e){le(e)&&(h[t]=e)}),f.$$observers[a].$$scope=l,le(f[a])&&(h[t]=x(f[a])(l));break;case"=":if(!P.call(f,a)){if(s)break;f[a]=void 0}if(s&&!f[a])break;r=$(f[a]),o=r.literal?me:function(e,t){return e===t||e!=e&&t!=t},i=r.assign||function(){throw n=h[t]=r(l),Xt("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",f[a],p.name)},n=h[t]=r(l);var u,c=function(e){return o(e,h[t])||(o(e,n)?i(l,e=h[t]):h[t]=e),n=e};c.$stateful=!0,u=e.collection?l.$watchCollection(f[a],c):l.$watch($(f[a],c),null,r.literal),(d=d||[]).push(u);break;case"&":if((r=f.hasOwnProperty(a)?$(f[a]):ae)===ae&&s)break;h[t]=function(e){return r(l,e)}}});var n=d?function(){for(var e=0,t=d.length;e<t;++e)d[e]()}:ae;return t&&n!==ae?(t.$on("$destroy",n),ae):n}}]}Qt.$inject=["$provide","$$sanitizeUriProvider"];var en=/^((?:x|data)[\:\-_])/i;function tn(e){return Xe(e.replace(en,""))}function nn(e,t){var n="",r=e.split(/\s+/),i=t.split(/\s+/);e:for(var o=0;o<r.length;o++){for(var a=r[o],s=0;s<i.length;s++)if(a==i[s])continue e;n+=(0<n.length?" ":"")+a}return n}function rn(e){var t=(e=ne(e)).length;if(t<=1)return e;for(;t--;){e[t].nodeType===qe&&n.call(e,t,1)}return e}var on=b("$controller"),an=/^(\S+)(\s+as\s+(\w+))?$/;function sn(){var h={},p=!1;this.register=function(e,t){je(e,"controller"),ce(e)?ie(h,e):h[e]=t},this.allowGlobals=function(){p=!0},this.$get=["$injector","$window",function(c,l){return function(t,n,e,r){var i,o,a,s;if(e=!0===e,r&&le(r)&&(s=r),le(t)){if(!(o=t.match(an)))throw on("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",t);a=o[1],s=s||o[3],Ne(t=h.hasOwnProperty(a)?h[a]:Pe(n.$scope,a,!0)||(p?Pe(l,a,!0):te),a,!0)}if(e){var u=(fe(t)?t[t.length-1]:t).prototype;return i=Object.create(u||null),s&&f(n,s,i,a||t.name),ie(function(){var e=c.invoke(t,i,n,a);return e!==i&&(ce(e)||he(e))&&(i=e,s&&f(n,s,i,a||t.name)),i},{instance:i,identifier:s})}return i=c.instantiate(t,n,a),s&&f(n,s,i,a||t.name),i};function f(e,t,n,r){if(!e||!ce(e.$scope))throw b("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",r,t);e.$scope[t]=n}}]}function un(){this.$get=["$window",function(e){return ne(e.document)}]}function cn(){this.$get=["$log",function(n){return function(e,t){n.error.apply(n,arguments)}}]}function ln(){this.$get=["$document",function(t){return function(e){return e?!e.nodeType&&e instanceof ne&&(e=e[0]):e=t[0].body,e.offsetWidth+1}}]}var fn="application/json",hn={"Content-Type":fn+";charset=utf-8"},pn=/^\[|^\{(?!\{)/,dn={"[":/]$/,"{":/}$/},$n=/^\)\]\}',?\n/,vn=b("$http"),mn=function(e){return function(){throw vn("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",e)}};function gn(e){return ce(e)?O(e)?e.toISOString():G(e):e}function yn(){this.$get=function(){return function(e){if(!e)return"";var r=[];return p(e,function(e,n){null===e||ue(e)||(fe(e)?re(e,function(e,t){r.push(xe(n)+"="+xe(gn(e)))}):r.push(xe(n)+"="+xe(gn(e))))}),r.join("&")}}}function bn(){this.$get=function(){return function(e){if(!e)return"";var t=[];return function n(e,r,i){if(null===e||ue(e))return;fe(e)?re(e,function(e,t){n(e,r+"["+(ce(e)?t:"")+"]")}):ce(e)&&!O(e)?p(e,function(e,t){n(e,r+(i?"":"[")+t+(i?"":"]"))}):t.push(xe(r)+"="+xe(gn(e)))}(e,"",!0),t.join("&")}}}function xn(e,t){if(le(e)){var n=e.replace($n,"").trim();if(n){var r=t("Content-Type");(r&&0===r.indexOf(fn)||function(e){var t=e.match(pn);return t&&dn[t[0]].test(e)}(n))&&(e=Y(n))}}return e}function wn(e){var t,n=Ie();function r(e,t){e&&(n[e]=n[e]?n[e]+", "+t:t)}return le(e)?re(e.split("\n"),function(e){t=e.indexOf(":"),r(j(de(e.substr(0,t))),de(e.substr(t+1)))}):ce(e)&&re(e,function(e,t){r(j(t),de(e))}),n}function Sn(n){var r;return function(e){if(r=r||wn(n),e){var t=r[j(e)];return void 0===t&&(t=null),t}return r}}function Cn(t,n,r,e){return he(e)?e(t,n,r):(re(e,function(e){t=e(t,n,r)}),t)}function En(e){return 200<=e&&e<300}function kn(){var g=this.defaults={transformResponse:[xn],transformRequest:[function(e){return!ce(e)||function(e){return"[object File]"===f.call(e)}(e)||function(e){return"[object Blob]"===f.call(e)}(e)||function(e){return"[object FormData]"===f.call(e)}(e)?e:G(e)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:U(hn),put:U(hn),patch:U(hn)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},y=!1;this.useApplyAsync=function(e){return C(e)?(y=!!e,this):y};var c=!0;this.useLegacyPromiseExtensions=function(e){return C(e)?(c=!!e,this):c};var t=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(h,p,e,d,$,s){var v=e("$http");g.paramSerializer=le(g.paramSerializer)?s.get(g.paramSerializer):g.paramSerializer;var u=[];function m(e){if(!E.isObject(e))throw b("$http")("badreq","Http request configuration must be an object. Received: {0}",e);var n=ie({method:"get",transformRequest:g.transformRequest,transformResponse:g.transformResponse,paramSerializer:g.paramSerializer},e);n.headers=function(e){var t,n,r,i=g.headers,o=ie({},e.headers);i=ie({},i.common,i[j(e.method)]);e:for(t in i){for(r in n=j(t),o)if(j(r)===n)continue e;o[t]=i[t]}return function(e,n){var r,i={};return re(e,function(e,t){he(e)?null!=(r=e(n))&&(i[t]=r):i[t]=e}),i}(o,U(e))}(e),n.method=l(n.method),n.paramSerializer=le(n.paramSerializer)?s.get(n.paramSerializer):n.paramSerializer;var t=[function(e){var n=e.headers,t=Cn(e.data,Sn(n),te,e.transformRequest);return ue(t)&&re(n,function(e,t){"content-type"===j(t)&&delete n[t]}),ue(e.withCredentials)&&!ue(g.withCredentials)&&(e.withCredentials=g.withCredentials),function(i,e){var o,t,a=$.defer(),n=a.promise,r=i.headers,s=function(e,t){0<t.length&&(e+=(-1==e.indexOf("?")?"?":"&")+t);return e}(i.url,i.paramSerializer(i.params));m.pendingRequests.push(i),n.then(f,f),!i.cache&&!g.cache||!1===i.cache||"GET"!==i.method&&"JSONP"!==i.method||(o=ce(i.cache)?i.cache:ce(g.cache)?g.cache:v);o&&(C(t=o.get(s))?N(t)?t.then(l,l):fe(t)?c(t[1],t[0],U(t[2]),t[3]):c(t,200,{},"OK"):o.put(s,n));if(ue(t)){var u=Br(i.url)?p()[i.xsrfCookieName||g.xsrfCookieName]:te;u&&(r[i.xsrfHeaderName||g.xsrfHeaderName]=u),h(i.method,s,e,function(e,t,n,r){o&&(En(e)?o.put(s,[e,t,wn(n),r]):o.remove(s));function i(){c(t,e,n,r)}y?d.$applyAsync(i):(i(),d.$$phase||d.$apply())},r,i.timeout,i.withCredentials,i.responseType)}return n;function c(e,t,n,r){(En(t=-1<=t?t:0)?a.resolve:a.reject)({data:e,status:t,headers:Sn(n),config:i,statusText:r})}function l(e){c(e.data,e.status,U(e.headers()),e.statusText)}function f(){var e=m.pendingRequests.indexOf(i);-1!==e&&m.pendingRequests.splice(e,1)}}(e,t).then(a,a)},te],r=$.when(n);for(re(u,function(e){(e.request||e.requestError)&&t.unshift(e.request,e.requestError),(e.response||e.responseError)&&t.push(e.response,e.responseError)});t.length;){var i=t.shift(),o=t.shift();r=r.then(i,o)}return c?(r.success=function(t){return Ne(t,"fn"),r.then(function(e){t(e.data,e.status,e.headers,n)}),r},r.error=function(t){return Ne(t,"fn"),r.then(null,function(e){t(e.data,e.status,e.headers,n)}),r}):(r.success=mn("success"),r.error=mn("error")),r;function a(e){var t=ie({},e);return e.data?t.data=Cn(e.data,e.headers,e.status,n.transformResponse):t.data=e.data,En(e.status)?t:$.reject(t)}}return re(t,function(e){u.unshift(le(e)?s.get(e):s.invoke(e))}),m.pendingRequests=[],function(e){re(arguments,function(n){m[n]=function(e,t){return m(ie({},t||{},{method:n,url:e}))}})}("get","delete","head","jsonp"),function(e){re(arguments,function(r){m[r]=function(e,t,n){return m(ie({},n||{},{method:r,url:e,data:t}))}})}("post","put","patch"),m.defaults=g,m}]}function An(){this.$get=function(){return function(){return new u.XMLHttpRequest}}}function On(){this.$get=["$browser","$window","$document","$xhrFactory",function(e,t,n,r){return function($,v,m,g,y){return function(e,r,t,i,n,o,a,s){if($.$$incOutstandingRequestCount(),r=r||$.url(),"jsonp"==j(e)){var u="_"+(g.counter++).toString(36);g[u]=function(e){g[u].data=e,g[u].called=!0};var c=function(e,r,i){var o=y.createElement("script"),a=null;return o.type="text/javascript",o.src=e,o.async=!0,a=function(e){Ge(o,"load",a),Ge(o,"error",a),y.body.removeChild(o),o=null;var t=-1,n="unknown";e&&("load"!==e.type||g[r].called||(e={type:"error"}),n=e.type,t="error"===e.type?404:200),i&&i(t,n)},We(o,"load",a),We(o,"error",a),y.body.appendChild(o),a}(r.replace("JSON_CALLBACK","angular.callbacks."+u),u,function(e,t){d(i,e,g[u].data,"",t),g[u]=ae})}else{var l=v(e,r);l.open(e,r,!0),re(n,function(e,t){C(e)&&l.setRequestHeader(t,e)}),l.onload=function(){var e=l.statusText||"",t="response"in l?l.response:l.responseText,n=1223===l.status?204:l.status;0===n&&(n=t?200:"file"==Ur(r).protocol?404:0),d(i,n,t,l.getAllResponseHeaders(),e)};var f=function(){d(i,-1,null,null,"")};if(l.onerror=f,l.onabort=f,a&&(l.withCredentials=!0),s)try{l.responseType=s}catch(e){if("json"!==s)throw e}l.send(ue(t)?null:t)}if(0<o)var h=m(p,o);else N(o)&&o.then(p);function p(){c&&c(),l&&l.abort()}function d(e,t,n,r,i){C(h)&&m.cancel(h),c=l=null,e(t,n,r,i),$.$$completeOutstandingRequest(ae)}}}(e,r,e.defer,t.angular.callbacks,n[0])}]}var Mn=E.$interpolateMinErr=b("$interpolate");function Tn(){var w="{{",S="}}";this.startSymbol=function(e){return e?(w=e,this):w},this.endSymbol=function(e){return e?(S=e,this):S},this.$get=["$parse","$exceptionHandler","$sce",function(v,m,g){var y=w.length,b=S.length,t=new RegExp(w.replace(/./g,e),"g"),n=new RegExp(S.replace(/./g,e),"g");function e(e){return"\\\\\\"+e}function x(e){return e.replace(t,w).replace(n,S)}function r(i,e,t,r){r=!!r;for(var n,o,a,s=0,u=[],c=[],l=i.length,f=[],h=[];s<l;){if(-1==(n=i.indexOf(w,s))||-1==(o=i.indexOf(S,n+y))){s!==l&&f.push(x(i.substring(s)));break}s!==n&&f.push(x(i.substring(s,n))),a=i.substring(n+y,o),u.push(a),c.push(v(a,$)),s=o+b,h.push(f.length),f.push("")}if(t&&1<f.length&&Mn.throwNoconcat(i),!e||u.length){var p=function(e){for(var t=0,n=u.length;t<n;t++){if(r&&ue(e[t]))return;f[h[t]]=e[t]}return f.join("")},d=function(e){return t?g.getTrusted(t,e):g.valueOf(e)};return ie(function(e){var t=0,n=u.length,r=new Array(n);try{for(;t<n;t++)r[t]=c[t](e);return p(r)}catch(e){m(Mn.interr(i,e))}},{exp:i,expressions:u,$$watchDelegate:function(r,i){var o;return r.$watchGroup(c,function(e,t){var n=p(e);he(i)&&i.call(this,n,e!==t?o:n,r),o=n})}})}function $(e){try{return e=d(e),r&&!C(e)?e:function(e){if(null==e)return"";switch(typeof e){case"string":break;case"number":e=""+e;break;default:e=G(e)}return e}(e)}catch(e){m(Mn.interr(i,e))}}}return r.startSymbol=function(){return w},r.endSymbol=function(){return S},r}]}function Vn(){this.$get=["$rootScope","$window","$q","$$q",function(h,p,d,$){var v={};function e(e,t,n,r){var i=4<arguments.length,o=i?ge(arguments,4):[],a=p.setInterval,s=p.clearInterval,u=0,c=C(r)&&!r,l=(c?$:d).defer(),f=l.promise;return n=C(n)?n:0,f.then(null,null,i?function(){e.apply(null,o)}:e),f.$$intervalId=a(function(){l.notify(u++),0<n&&n<=u&&(l.resolve(u),s(f.$$intervalId),delete v[f.$$intervalId]),c||h.$apply()},t),v[f.$$intervalId]=l,f}return e.cancel=function(e){return!!(e&&e.$$intervalId in v)&&(v[e.$$intervalId].reject("canceled"),p.clearInterval(e.$$intervalId),delete v[e.$$intervalId],!0)},e}]}Mn.throwNoconcat=function(e){throw Mn("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",e)},Mn.interr=function(e,t){return Mn("interr","Can't interpolate: {0}\n{1}",e,t.toString())};var Nn=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,jn={http:80,https:443,ftp:21},Pn=b("$location");function Dn(e){for(var t=e.split("/"),n=t.length;n--;)t[n]=be(t[n]);return t.join("/")}function In(e,t){var n=Ur(e);t.$$protocol=n.protocol,t.$$host=n.hostname,t.$$port=y(n.port)||jn[n.protocol]||null}function Rn(e,t){var n="/"!==e.charAt(0);n&&(e="/"+e);var r=Ur(e);t.$$path=decodeURIComponent(n&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),t.$$search=X(r.search),t.$$hash=decodeURIComponent(r.hash),t.$$path&&"/"!=t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function _n(e,t){if(0===t.indexOf(e))return t.substr(e.length)}function qn(e){var t=e.indexOf("#");return-1==t?e:e.substr(0,t)}function Fn(e){return e.replace(/(#.+)|#$/,"$1")}function Un(o,a,s){this.$$html5=!0,s=s||"",In(o,this),this.$$parse=function(e){var t=_n(a,e);if(!le(t))throw Pn("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,a);Rn(t,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var e=Q(this.$$search),t=this.$$hash?"#"+be(this.$$hash):"";this.$$url=Dn(this.$$path)+(e?"?"+e:"")+t,this.$$absUrl=a+this.$$url.substr(1)},this.$$parseLinkUrl=function(e,t){return t&&"#"===t[0]?(this.hash(t.slice(1)),!0):(C(n=_n(o,e))?i=C(n=_n(s,r=n))?a+(_n("/",n)||n):o+r:C(n=_n(a,e))?i=a+n:a==e+"/"&&(i=a),i&&this.$$parse(i),!!i);var n,r,i}}function Bn(r,i,o){In(r,this),this.$$parse=function(e){var t,n=_n(r,e)||_n(i,e);ue(n)||"#"!==n.charAt(0)?this.$$html5?t=n:(t="",ue(n)&&(r=e,this.replace())):ue(t=_n(o,n))&&(t=n),Rn(t,this),this.$$path=function(e,t,n){var r,i=/^\/[A-Z]:(\/.*)/;0===t.indexOf(n)&&(t=t.replace(n,""));if(i.exec(t))return e;return(r=i.exec(e))?r[1]:e}(this.$$path,t,r),this.$$compose()},this.$$compose=function(){var e=Q(this.$$search),t=this.$$hash?"#"+be(this.$$hash):"";this.$$url=Dn(this.$$path)+(e?"?"+e:"")+t,this.$$absUrl=r+(this.$$url?o+this.$$url:"")},this.$$parseLinkUrl=function(e,t){return qn(r)==qn(e)&&(this.$$parse(e),!0)}}function Ln(i,o,a){this.$$html5=!0,Bn.apply(this,arguments),this.$$parseLinkUrl=function(e,t){return t&&"#"===t[0]?(this.hash(t.slice(1)),!0):(i==qn(e)?n=e:(r=_n(o,e))?n=i+a+r:o===e+"/"&&(n=o),n&&this.$$parse(n),!!n);var n,r},this.$$compose=function(){var e=Q(this.$$search),t=this.$$hash?"#"+be(this.$$hash):"";this.$$url=Dn(this.$$path)+(e?"?"+e:"")+t,this.$$absUrl=i+a+this.$$url}}var Hn={$$html5:!1,$$replace:!1,absUrl:zn("$$absUrl"),url:function(e){if(ue(e))return this.$$url;var t=Nn.exec(e);return!t[1]&&""!==e||this.path(decodeURIComponent(t[1])),(t[2]||t[1]||""===e)&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:zn("$$protocol"),host:zn("$$host"),port:zn("$$port"),path:Wn("$$path",function(e){return"/"==(e=null!==e?e.toString():"").charAt(0)?e:"/"+e}),search:function(n,e){switch(arguments.length){case 0:return this.$$search;case 1:if(le(n)||A(n))n=n.toString(),this.$$search=X(n);else{if(!ce(n))throw Pn("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");re(n=F(n,{}),function(e,t){null==e&&delete n[t]}),this.$$search=n}break;default:ue(e)||null===e?delete this.$$search[n]:this.$$search[n]=e}return this.$$compose(),this},hash:Wn("$$hash",function(e){return null!==e?e.toString():""}),replace:function(){return this.$$replace=!0,this}};function zn(e){return function(){return this[e]}}function Wn(t,n){return function(e){return ue(e)?this[t]:(this[t]=n(e),this.$$compose(),this)}}function Gn(){var $="",v={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(e){return C(e)?($=e,this):$},this.html5Mode=function(e){return V(e)?(v.enabled=e,this):ce(e)?(V(e.enabled)&&(v.enabled=e.enabled),V(e.requireBase)&&(v.requireBase=e.requireBase),V(e.rewriteLinks)&&(v.rewriteLinks=e.rewriteLinks),this):v},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(a,s,t,i,o){var u,e,n,r=s.baseHref(),c=s.url();if(v.enabled){if(!r&&v.requireBase)throw Pn("nobase","$location in HTML5 mode requires a <base> tag to be present!");n=function(e){return e.substring(0,e.indexOf("/",e.indexOf("//")+2))}(c)+(r||"/"),e=t.history?Un:Ln}else n=qn(c),e=Bn;var l=function(e){return e.substr(0,qn(e).lastIndexOf("/")+1)}(n);(u=new e(n,l,"#"+$)).$$parseLinkUrl(c,c),u.$$state=s.state();var f=/^\s*(javascript|mailto):/i;function h(e,t,n){var r=u.url(),i=u.$$state;try{s.url(e,t,n),u.$$state=s.state()}catch(e){throw u.url(r),u.$$state=i,e}}i.on("click",function(e){if(v.rewriteLinks&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&2!=e.which&&2!=e.button){for(var t=ne(e.target);"a"!==$e(t[0]);)if(t[0]===i[0]||!(t=t.parent())[0])return;var n=t.prop("href"),r=t.attr("href")||t.attr("xlink:href");ce(n)&&"[object SVGAnimatedString]"===n.toString()&&(n=Ur(n.animVal).href),f.test(n)||!n||t.attr("target")||e.isDefaultPrevented()||u.$$parseLinkUrl(n,r)&&(e.preventDefault(),u.absUrl()!=s.url()&&(a.$apply(),o.angular["ff-684208-preventDefault"]=!0))}}),Fn(u.absUrl())!=Fn(c)&&s.url(u.absUrl(),!0);var p=!0;return s.onUrlChange(function(r,i){ue(_n(l,r))?o.location.href=r:(a.$evalAsync(function(){var e,t=u.absUrl(),n=u.$$state;u.$$parse(r),u.$$state=i,e=a.$broadcast("$locationChangeStart",r,t,i,n).defaultPrevented,u.absUrl()===r&&(e?(u.$$parse(t),h(t,!1,u.$$state=n)):(p=!1,d(t,n)))}),a.$$phase||a.$digest())}),a.$watch(function(){var n=Fn(s.url()),e=Fn(u.absUrl()),r=s.state(),i=u.$$replace,o=n!==e||u.$$html5&&t.history&&r!==u.$$state;(p||o)&&(p=!1,a.$evalAsync(function(){var e=u.absUrl(),t=a.$broadcast("$locationChangeStart",e,n,u.$$state,r).defaultPrevented;u.absUrl()===e&&(t?(u.$$parse(n),u.$$state=r):(o&&h(e,i,r===u.$$state?null:u.$$state),d(n,r)))})),u.$$replace=!1}),u;function d(e,t){a.$broadcast("$locationChangeSuccess",u.absUrl(),e,u.$$state,t)}}]}function Yn(){var n=!0,r=this;this.debugEnabled=function(e){return C(e)?(n=e,this):n},this.$get=["$window",function(i){return{log:t("log"),info:t("info"),warn:t("warn"),error:t("error"),debug:(e=t("debug"),function(){n&&e.apply(r,arguments)})};var e;function t(e){var n=i.console||{},r=n[e]||n.log||ae,t=!1;try{t=!!r.apply}catch(e){}return t?function(){var t=[];return re(arguments,function(e){t.push(function(e){return e instanceof Error&&(e.stack?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}(e))}),r.apply(n,t)}:function(e,t){r(e,null==t?"":t)}}}]}re([Ln,Bn,Un],function(t){t.prototype=Object.create(Hn),t.prototype.state=function(e){if(!arguments.length)return this.$$state;if(t!==Un||!this.$$html5)throw Pn("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=ue(e)?null:e,this}});var Jn=b("$parse");function Kn(e,t){if("__defineGetter__"===e||"__defineSetter__"===e||"__lookupGetter__"===e||"__lookupSetter__"===e||"__proto__"===e)throw Jn("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",t);return e}function Zn(e,t){if(!le(e+=""))throw Jn("iseccst","Cannot convert object to primitive value! Expression: {0}",t);return e}function Xn(e,t){if(e){if(e.constructor===e)throw Jn("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);if(e.window===e)throw Jn("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",t);if(e.children&&(e.nodeName||e.prop&&e.attr&&e.find))throw Jn("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",t);if(e===Object)throw Jn("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",t)}return e}var Qn=Function.prototype.call,er=Function.prototype.apply,tr=Function.prototype.bind;function nr(e,t){if(e){if(e.constructor===e)throw Jn("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);if(e===Qn||e===er||e===tr)throw Jn("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",t)}}function rr(e,t){if(e&&(e===(0).constructor||e===(!1).constructor||e==="".constructor||e==={}.constructor||e===[].constructor||e===Function.constructor))throw Jn("isecaf","Assigning to a constructor is disallowed! Expression: {0}",t)}var ir=Ie();re("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(e){ir[e]=!0});var or={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},ar=function(e){this.options=e};ar.prototype={constructor:ar,lex:function(e){for(this.text=e,this.index=0,this.tokens=[];this.index<this.text.length;){var t=this.text.charAt(this.index);if('"'===t||"'"===t)this.readString(t);else if(this.isNumber(t)||"."===t&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(t))this.readIdent();else if(this.is(t,"(){}[].,;:?"))this.tokens.push({index:this.index,text:t}),this.index++;else if(this.isWhitespace(t))this.index++;else{var n=t+this.peek(),r=n+this.peek(2),i=ir[t],o=ir[n],a=ir[r];if(i||o||a){var s=a?r:o?n:t;this.tokens.push({index:this.index,text:s,operator:!0}),this.index+=s.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(e,t){return-1!==t.indexOf(e)},peek:function(e){var t=e||1;return this.index+t<this.text.length&&this.text.charAt(this.index+t)},isNumber:function(e){return"0"<=e&&e<="9"&&"string"==typeof e},isWhitespace:function(e){return" "===e||"\r"===e||"\t"===e||"\n"===e||"\v"===e||" "===e},isIdent:function(e){return"a"<=e&&e<="z"||"A"<=e&&e<="Z"||"_"===e||"$"===e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){n=n||this.index;var r=C(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n;throw Jn("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",e,r,this.text)},readNumber:function(){for(var e="",t=this.index;this.index<this.text.length;){var n=j(this.text.charAt(this.index));if("."==n||this.isNumber(n))e+=n;else{var r=this.peek();if("e"==n&&this.isExpOperator(r))e+=n;else if(this.isExpOperator(n)&&r&&this.isNumber(r)&&"e"==e.charAt(e.length-1))e+=n;else{if(!this.isExpOperator(n)||r&&this.isNumber(r)||"e"!=e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:t,text:e,constant:!0,value:Number(e)})},readIdent:function(){for(var e=this.index;this.index<this.text.length;){var t=this.text.charAt(this.index);if(!this.isIdent(t)&&!this.isNumber(t))break;this.index++}this.tokens.push({index:e,text:this.text.slice(e,this.index),identifier:!0})},readString:function(e){var t=this.index;this.index++;for(var n="",r=e,i=!1;this.index<this.text.length;){var o=this.text.charAt(this.index);if(r+=o,i){if("u"===o){var a=this.text.substring(this.index+1,this.index+5);a.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+a+"]"),this.index+=4,n+=String.fromCharCode(parseInt(a,16))}else{n+=or[o]||o}i=!1}else if("\\"===o)i=!0;else{if(o===e)return this.index++,void this.tokens.push({index:t,text:r,constant:!0,value:n});n+=o}this.index++}this.throwError("Unterminated quote",t)}};var sr=function(e,t){this.lexer=e,this.options=t};function ur(e,t){return void 0!==e?e:t}function cr(e,t){return void 0===e?t:void 0===t?e:e+t}function lr(e,t){return!e(t).$stateful}function fr(e,t){var n,r;switch(e.type){case sr.Program:n=!0,re(e.body,function(e){fr(e.expression,t),n=n&&e.expression.constant}),e.constant=n;break;case sr.Literal:e.constant=!0,e.toWatch=[];break;case sr.UnaryExpression:fr(e.argument,t),e.constant=e.argument.constant,e.toWatch=e.argument.toWatch;break;case sr.BinaryExpression:fr(e.left,t),fr(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.left.toWatch.concat(e.right.toWatch);break;case sr.LogicalExpression:fr(e.left,t),fr(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.constant?[]:[e];break;case sr.ConditionalExpression:fr(e.test,t),fr(e.alternate,t),fr(e.consequent,t),e.constant=e.test.constant&&e.alternate.constant&&e.consequent.constant,e.toWatch=e.constant?[]:[e];break;case sr.Identifier:e.constant=!1,e.toWatch=[e];break;case sr.MemberExpression:fr(e.object,t),e.computed&&fr(e.property,t),e.constant=e.object.constant&&(!e.computed||e.property.constant),e.toWatch=[e];break;case sr.CallExpression:n=!!e.filter&&lr(t,e.callee.name),r=[],re(e.arguments,function(e){fr(e,t),n=n&&e.constant,e.constant||r.push.apply(r,e.toWatch)}),e.constant=n,e.toWatch=e.filter&&lr(t,e.callee.name)?r:[e];break;case sr.AssignmentExpression:fr(e.left,t),fr(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=[e];break;case sr.ArrayExpression:n=!0,r=[],re(e.elements,function(e){fr(e,t),n=n&&e.constant,e.constant||r.push.apply(r,e.toWatch)}),e.constant=n,e.toWatch=r;break;case sr.ObjectExpression:n=!0,r=[],re(e.properties,function(e){fr(e.value,t),n=n&&e.value.constant,e.value.constant||r.push.apply(r,e.value.toWatch)}),e.constant=n,e.toWatch=r;break;case sr.ThisExpression:e.constant=!1,e.toWatch=[]}}function hr(e){if(1==e.length){var t=e[0].expression,n=t.toWatch;return 1!==n.length?n:n[0]!==t?n:te}}function pr(e){return e.type===sr.Identifier||e.type===sr.MemberExpression}function dr(e){if(1===e.body.length&&pr(e.body[0].expression))return{type:sr.AssignmentExpression,left:e.body[0].expression,right:{type:sr.NGValueParameter},operator:"="}}function $r(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===sr.Literal||e.body[0].expression.type===sr.ArrayExpression||e.body[0].expression.type===sr.ObjectExpression)}function vr(e){return e.constant}function mr(e,t){this.astBuilder=e,this.$filter=t}function gr(e,t){this.astBuilder=e,this.$filter=t}sr.Program="Program",sr.ExpressionStatement="ExpressionStatement",sr.AssignmentExpression="AssignmentExpression",sr.ConditionalExpression="ConditionalExpression",sr.LogicalExpression="LogicalExpression",sr.BinaryExpression="BinaryExpression",sr.UnaryExpression="UnaryExpression",sr.CallExpression="CallExpression",sr.MemberExpression="MemberExpression",sr.Identifier="Identifier",sr.Literal="Literal",sr.ArrayExpression="ArrayExpression",sr.Property="Property",sr.ObjectExpression="ObjectExpression",sr.ThisExpression="ThisExpression",sr.NGValueParameter="NGValueParameter",sr.prototype={ast:function(e){this.text=e,this.tokens=this.lexer.lex(e);var t=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),t},program:function(){for(var e=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&e.push(this.expressionStatement()),!this.expect(";"))return{type:sr.Program,body:e}},expressionStatement:function(){return{type:sr.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var e=this.expression();this.expect("|");)e=this.filter(e);return e},expression:function(){return this.assignment()},assignment:function(){var e=this.ternary();return this.expect("=")&&(e={type:sr.AssignmentExpression,left:e,right:this.assignment(),operator:"="}),e},ternary:function(){var e,t,n=this.logicalOR();return this.expect("?")&&(e=this.expression(),this.consume(":"))?(t=this.expression(),{type:sr.ConditionalExpression,test:n,alternate:e,consequent:t}):n},logicalOR:function(){for(var e=this.logicalAND();this.expect("||");)e={type:sr.LogicalExpression,operator:"||",left:e,right:this.logicalAND()};return e},logicalAND:function(){for(var e=this.equality();this.expect("&&");)e={type:sr.LogicalExpression,operator:"&&",left:e,right:this.equality()};return e},equality:function(){for(var e,t=this.relational();e=this.expect("==","!=","===","!==");)t={type:sr.BinaryExpression,operator:e.text,left:t,right:this.relational()};return t},relational:function(){for(var e,t=this.additive();e=this.expect("<",">","<=",">=");)t={type:sr.BinaryExpression,operator:e.text,left:t,right:this.additive()};return t},additive:function(){for(var e,t=this.multiplicative();e=this.expect("+","-");)t={type:sr.BinaryExpression,operator:e.text,left:t,right:this.multiplicative()};return t},multiplicative:function(){for(var e,t=this.unary();e=this.expect("*","/","%");)t={type:sr.BinaryExpression,operator:e.text,left:t,right:this.unary()};return t},unary:function(){var e;return(e=this.expect("+","-","!"))?{type:sr.UnaryExpression,operator:e.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var e,t;for(this.expect("(")?(e=this.filterChain(),this.consume(")")):this.expect("[")?e=this.arrayDeclaration():this.expect("{")?e=this.object():this.constants.hasOwnProperty(this.peek().text)?e=F(this.constants[this.consume().text]):this.peek().identifier?e=this.identifier():this.peek().constant?e=this.constant():this.throwError("not a primary expression",this.peek());t=this.expect("(","[",".");)"("===t.text?(e={type:sr.CallExpression,callee:e,arguments:this.parseArguments()},this.consume(")")):"["===t.text?(e={type:sr.MemberExpression,object:e,property:this.expression(),computed:!0},this.consume("]")):"."===t.text?e={type:sr.MemberExpression,object:e,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return e},filter:function(e){for(var t=[e],n={type:sr.CallExpression,callee:this.identifier(),arguments:t,filter:!0};this.expect(":");)t.push(this.expression());return n},parseArguments:function(){var e=[];if(")"!==this.peekToken().text)for(;e.push(this.expression()),this.expect(","););return e},identifier:function(){var e=this.consume();return e.identifier||this.throwError("is not a valid identifier",e),{type:sr.Identifier,name:e.text}},constant:function(){return{type:sr.Literal,value:this.consume().value}},arrayDeclaration:function(){var e=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;e.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:sr.ArrayExpression,elements:e}},object:function(){var e,t=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;e={type:sr.Property,kind:"init"},this.peek().constant?e.key=this.constant():this.peek().identifier?e.key=this.identifier():this.throwError("invalid key",this.peek()),this.consume(":"),e.value=this.expression(),t.push(e)}while(this.expect(","));return this.consume("}"),{type:sr.ObjectExpression,properties:t}},throwError:function(e,t){throw Jn("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,e,t.index+1,this.text,this.text.substring(t.index))},consume:function(e){if(0===this.tokens.length)throw Jn("ueoe","Unexpected end of expression: {0}",this.text);var t=this.expect(e);return t||this.throwError("is unexpected, expecting ["+e+"]",this.peek()),t},peekToken:function(){if(0===this.tokens.length)throw Jn("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e,t,n,r){return this.peekAhead(0,e,t,n,r)},peekAhead:function(e,t,n,r,i){if(this.tokens.length>e){var o=this.tokens[e],a=o.text;if(a===t||a===n||a===r||a===i||!t&&!n&&!r&&!i)return o}return!1},expect:function(e,t,n,r){var i=this.peek(e,t,n,r);return!!i&&(this.tokens.shift(),i)},constants:{true:{type:sr.Literal,value:!0},false:{type:sr.Literal,value:!1},null:{type:sr.Literal,value:null},undefined:{type:sr.Literal,value:te},this:{type:sr.ThisExpression}}},mr.prototype={compile:function(e,t){var i=this,n=this.astBuilder.ast(e);this.state={nextId:0,filters:{},expensiveChecks:t,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},fr(n,i.$filter);var r,o="";if(this.stage="assign",r=dr(n)){this.state.computing="assign";var a=this.nextId();this.recurse(r,a),this.return_(a),o="fn.assign="+this.generateFunction("assign","s,v,l")}var s=hr(n.body);i.stage="inputs",re(s,function(e,t){var n="fn"+t;i.state[n]={vars:[],body:[],own:{}},i.state.computing=n;var r=i.nextId();i.recurse(e,r),i.return_(r),i.state.inputs.push(n),e.watchId=t}),this.state.computing="fn",this.stage="main",this.recurse(n);var u='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+o+this.watchFns()+"return fn;",c=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",u)(this.$filter,Kn,Xn,nr,Zn,rr,ur,cr,e);return this.state=this.stage=te,c.literal=$r(n),c.constant=vr(n),c},USE:"use",STRICT:"strict",watchFns:function(){var t=[],e=this.state.inputs,n=this;return re(e,function(e){t.push("var "+e+"="+n.generateFunction(e,"s"))}),e.length&&t.push("fn.inputs=["+e.join(",")+"];"),t.join("")},generateFunction:function(e,t){return"function("+t+"){"+this.varsPrefix(e)+this.body(e)+"};"},filterPrefix:function(){var n=[],r=this;return re(this.state.filters,function(e,t){n.push(e+"=$filter("+r.escape(t)+")")}),n.length?"var "+n.join(",")+";":""},varsPrefix:function(e){return this.state[e].vars.length?"var "+this.state[e].vars.join(",")+";":""},body:function(e){return this.state[e].body.join("")},recurse:function(n,e,t,r,i,o){var a,s,u,c,l=this;if(r=r||ae,!o&&C(n.watchId))return e=e||this.nextId(),void this.if_("i",this.lazyAssign(e,this.computedMember("i",n.watchId)),this.lazyRecurse(n,e,t,r,i,!0));switch(n.type){case sr.Program:re(n.body,function(e,t){l.recurse(e.expression,te,te,function(e){s=e}),t!==n.body.length-1?l.current().body.push(s,";"):l.return_(s)});break;case sr.Literal:c=this.escape(n.value),this.assign(e,c),r(c);break;case sr.UnaryExpression:this.recurse(n.argument,te,te,function(e){s=e}),c=n.operator+"("+this.ifDefined(s,0)+")",this.assign(e,c),r(c);break;case sr.BinaryExpression:this.recurse(n.left,te,te,function(e){a=e}),this.recurse(n.right,te,te,function(e){s=e}),c="+"===n.operator?this.plus(a,s):"-"===n.operator?this.ifDefined(a,0)+n.operator+this.ifDefined(s,0):"("+a+")"+n.operator+"("+s+")",this.assign(e,c),r(c);break;case sr.LogicalExpression:e=e||this.nextId(),l.recurse(n.left,e),l.if_("&&"===n.operator?e:l.not(e),l.lazyRecurse(n.right,e)),r(e);break;case sr.ConditionalExpression:e=e||this.nextId(),l.recurse(n.test,e),l.if_(e,l.lazyRecurse(n.alternate,e),l.lazyRecurse(n.consequent,e)),r(e);break;case sr.Identifier:e=e||this.nextId(),t&&(t.context="inputs"===l.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",n.name)+"?l:s"),t.computed=!1,t.name=n.name),Kn(n.name),l.if_("inputs"===l.stage||l.not(l.getHasOwnProperty("l",n.name)),function(){l.if_("inputs"===l.stage||"s",function(){i&&1!==i&&l.if_(l.not(l.nonComputedMember("s",n.name)),l.lazyAssign(l.nonComputedMember("s",n.name),"{}")),l.assign(e,l.nonComputedMember("s",n.name))})},e&&l.lazyAssign(e,l.nonComputedMember("l",n.name))),(l.state.expensiveChecks||br(n.name))&&l.addEnsureSafeObject(e),r(e);break;case sr.MemberExpression:a=t&&(t.context=this.nextId())||this.nextId(),e=e||this.nextId(),l.recurse(n.object,a,te,function(){l.if_(l.notNull(a),function(){n.computed?(s=l.nextId(),l.recurse(n.property,s),l.getStringValue(s),l.addEnsureSafeMemberName(s),i&&1!==i&&l.if_(l.not(l.computedMember(a,s)),l.lazyAssign(l.computedMember(a,s),"{}")),c=l.ensureSafeObject(l.computedMember(a,s)),l.assign(e,c),t&&(t.computed=!0,t.name=s)):(Kn(n.property.name),i&&1!==i&&l.if_(l.not(l.nonComputedMember(a,n.property.name)),l.lazyAssign(l.nonComputedMember(a,n.property.name),"{}")),c=l.nonComputedMember(a,n.property.name),(l.state.expensiveChecks||br(n.property.name))&&(c=l.ensureSafeObject(c)),l.assign(e,c),t&&(t.computed=!1,t.name=n.property.name))},function(){l.assign(e,"undefined")}),r(e)},!!i);break;case sr.CallExpression:e=e||this.nextId(),n.filter?(s=l.filter(n.callee.name),u=[],re(n.arguments,function(e){var t=l.nextId();l.recurse(e,t),u.push(t)}),c=s+"("+u.join(",")+")",l.assign(e,c),r(e)):(s=l.nextId(),a={},u=[],l.recurse(n.callee,s,a,function(){l.if_(l.notNull(s),function(){l.addEnsureSafeFunction(s),re(n.arguments,function(e){l.recurse(e,l.nextId(),te,function(e){u.push(l.ensureSafeObject(e))})}),c=a.name?(l.state.expensiveChecks||l.addEnsureSafeObject(a.context),l.member(a.context,a.name,a.computed)+"("+u.join(",")+")"):s+"("+u.join(",")+")",c=l.ensureSafeObject(c),l.assign(e,c)},function(){l.assign(e,"undefined")}),r(e)}));break;case sr.AssignmentExpression:if(s=this.nextId(),a={},!pr(n.left))throw Jn("lval","Trying to assing a value to a non l-value");this.recurse(n.left,te,a,function(){l.if_(l.notNull(a.context),function(){l.recurse(n.right,s),l.addEnsureSafeObject(l.member(a.context,a.name,a.computed)),l.addEnsureSafeAssignContext(a.context),c=l.member(a.context,a.name,a.computed)+n.operator+s,l.assign(e,c),r(e||c)})},1);break;case sr.ArrayExpression:u=[],re(n.elements,function(e){l.recurse(e,l.nextId(),te,function(e){u.push(e)})}),c="["+u.join(",")+"]",this.assign(e,c),r(c);break;case sr.ObjectExpression:u=[],re(n.properties,function(t){l.recurse(t.value,l.nextId(),te,function(e){u.push(l.escape(t.key.type===sr.Identifier?t.key.name:""+t.key.value)+":"+e)})}),c="{"+u.join(",")+"}",this.assign(e,c),r(c);break;case sr.ThisExpression:this.assign(e,"s"),r("s");break;case sr.NGValueParameter:this.assign(e,"v"),r("v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,r=this.current().own;return r.hasOwnProperty(n)||(r[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),r[n]},assign:function(e,t){if(e)return this.current().body.push(e,"=",t,";"),e},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=this.nextId(!0)),this.state.filters[e]},ifDefined:function(e,t){return"ifDefined("+e+","+this.escape(t)+")"},plus:function(e,t){return"plus("+e+","+t+")"},return_:function(e){this.current().body.push("return ",e,";")},if_:function(e,t,n){if(!0===e)t();else{var r=this.current().body;r.push("if(",e,"){"),t(),r.push("}"),n&&(r.push("else{"),n(),r.push("}"))}},not:function(e){return"!("+e+")"},notNull:function(e){return e+"!=null"},nonComputedMember:function(e,t){return e+"."+t},computedMember:function(e,t){return e+"["+t+"]"},member:function(e,t,n){return n?this.computedMember(e,t):this.nonComputedMember(e,t)},addEnsureSafeObject:function(e){this.current().body.push(this.ensureSafeObject(e),";")},addEnsureSafeMemberName:function(e){this.current().body.push(this.ensureSafeMemberName(e),";")},addEnsureSafeFunction:function(e){this.current().body.push(this.ensureSafeFunction(e),";")},addEnsureSafeAssignContext:function(e){this.current().body.push(this.ensureSafeAssignContext(e),";")},ensureSafeObject:function(e){return"ensureSafeObject("+e+",text)"},ensureSafeMemberName:function(e){return"ensureSafeMemberName("+e+",text)"},ensureSafeFunction:function(e){return"ensureSafeFunction("+e+",text)"},getStringValue:function(e){this.assign(e,"getStringValue("+e+",text)")},ensureSafeAssignContext:function(e){return"ensureSafeAssignContext("+e+",text)"},lazyRecurse:function(e,t,n,r,i,o){var a=this;return function(){a.recurse(e,t,n,r,i,o)}},lazyAssign:function(e,t){var n=this;return function(){n.assign(e,t)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)},escape:function(e){if(le(e))return"'"+e.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(A(e))return e.toString();if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if(void 0===e)return"undefined";throw Jn("esc","IMPOSSIBLE")},nextId:function(e,t){var n="v"+this.state.nextId++;return e||this.current().vars.push(n+(t?"="+t:"")),n},current:function(){return this.state[this.state.computing]}},gr.prototype={compile:function(e,t){var n,r,i=this,o=this.astBuilder.ast(e);this.expression=e,this.expensiveChecks=t,fr(o,i.$filter),(n=dr(o))&&(r=this.recurse(n));var a,s=hr(o.body);s&&(a=[],re(s,function(e,t){var n=i.recurse(e);e.input=n,a.push(n),e.watchId=t}));var u=[];re(o.body,function(e){u.push(i.recurse(e.expression))});var c=0===o.body.length?function(){}:1===o.body.length?u[0]:function(t,n){var r;return re(u,function(e){r=e(t,n)}),r};return r&&(c.assign=function(e,t,n){return r(e,n,t)}),a&&(c.inputs=a),c.literal=$r(o),c.constant=vr(o),c},recurse:function(e,u,t){var a,c,l,f=this;if(e.input)return this.inputs(e.input,e.watchId);switch(e.type){case sr.Literal:return this.value(e.value,u);case sr.UnaryExpression:return c=this.recurse(e.argument),this["unary"+e.operator](c,u);case sr.BinaryExpression:case sr.LogicalExpression:return a=this.recurse(e.left),c=this.recurse(e.right),this["binary"+e.operator](a,c,u);case sr.ConditionalExpression:return this["ternary?:"](this.recurse(e.test),this.recurse(e.alternate),this.recurse(e.consequent),u);case sr.Identifier:return Kn(e.name,f.expression),f.identifier(e.name,f.expensiveChecks||br(e.name),u,t,f.expression);case sr.MemberExpression:return a=this.recurse(e.object,!1,!!t),e.computed||(Kn(e.property.name,f.expression),c=e.property.name),e.computed&&(c=this.recurse(e.property)),e.computed?this.computedMember(a,c,u,t,f.expression):this.nonComputedMember(a,c,f.expensiveChecks,u,t,f.expression);case sr.CallExpression:return l=[],re(e.arguments,function(e){l.push(f.recurse(e))}),e.filter&&(c=this.$filter(e.callee.name)),e.filter||(c=this.recurse(e.callee,!0)),e.filter?function(e,t,n,r){for(var i=[],o=0;o<l.length;++o)i.push(l[o](e,t,n,r));var a=c.apply(te,i,r);return u?{context:te,name:te,value:a}:a}:function(e,t,n,r){var i,o=c(e,t,n,r);if(null!=o.value){Xn(o.context,f.expression),nr(o.value,f.expression);for(var a=[],s=0;s<l.length;++s)a.push(Xn(l[s](e,t,n,r),f.expression));i=Xn(o.value.apply(o.context,a),f.expression)}return u?{value:i}:i};case sr.AssignmentExpression:return a=this.recurse(e.left,!0,1),c=this.recurse(e.right),function(e,t,n,r){var i=a(e,t,n,r),o=c(e,t,n,r);return Xn(i.value,f.expression),rr(i.context),i.context[i.name]=o,u?{value:o}:o};case sr.ArrayExpression:return l=[],re(e.elements,function(e){l.push(f.recurse(e))}),function(e,t,n,r){for(var i=[],o=0;o<l.length;++o)i.push(l[o](e,t,n,r));return u?{value:i}:i};case sr.ObjectExpression:return l=[],re(e.properties,function(e){l.push({key:e.key.type===sr.Identifier?e.key.name:""+e.key.value,value:f.recurse(e.value)})}),function(e,t,n,r){for(var i={},o=0;o<l.length;++o)i[l[o].key]=l[o].value(e,t,n,r);return u?{value:i}:i};case sr.ThisExpression:return function(e){return u?{value:e}:e};case sr.NGValueParameter:return function(e,t,n,r){return u?{value:n}:n}}},"unary+":function(o,a){return function(e,t,n,r){var i=o(e,t,n,r);return i=C(i)?+i:0,a?{value:i}:i}},"unary-":function(o,a){return function(e,t,n,r){var i=o(e,t,n,r);return i=C(i)?-i:0,a?{value:i}:i}},"unary!":function(o,a){return function(e,t,n,r){var i=!o(e,t,n,r);return a?{value:i}:i}},"binary+":function(o,a,s){return function(e,t,n,r){var i=cr(o(e,t,n,r),a(e,t,n,r));return s?{value:i}:i}},"binary-":function(s,u,c){return function(e,t,n,r){var i=s(e,t,n,r),o=u(e,t,n,r),a=(C(i)?i:0)-(C(o)?o:0);return c?{value:a}:a}},"binary*":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)*a(e,t,n,r);return s?{value:i}:i}},"binary/":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)/a(e,t,n,r);return s?{value:i}:i}},"binary%":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)%a(e,t,n,r);return s?{value:i}:i}},"binary===":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)===a(e,t,n,r);return s?{value:i}:i}},"binary!==":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)!==a(e,t,n,r);return s?{value:i}:i}},"binary==":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)==a(e,t,n,r);return s?{value:i}:i}},"binary!=":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)!=a(e,t,n,r);return s?{value:i}:i}},"binary<":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)<a(e,t,n,r);return s?{value:i}:i}},"binary>":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)>a(e,t,n,r);return s?{value:i}:i}},"binary<=":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)<=a(e,t,n,r);return s?{value:i}:i}},"binary>=":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)>=a(e,t,n,r);return s?{value:i}:i}},"binary&&":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)&&a(e,t,n,r);return s?{value:i}:i}},"binary||":function(o,a,s){return function(e,t,n,r){var i=o(e,t,n,r)||a(e,t,n,r);return s?{value:i}:i}},"ternary?:":function(o,a,s,u){return function(e,t,n,r){var i=o(e,t,n,r)?a(e,t,n,r):s(e,t,n,r);return u?{value:i}:i}},value:function(e,t){return function(){return t?{context:te,name:te,value:e}:e}},identifier:function(a,s,u,c,l){return function(e,t,n,r){var i=t&&a in t?t:e;c&&1!==c&&i&&!i[a]&&(i[a]={});var o=i?i[a]:te;return s&&Xn(o,l),u?{context:i,name:a,value:o}:o}},computedMember:function(s,u,c,l,f){return function(e,t,n,r){var i,o,a=s(e,t,n,r);return null!=a&&(Kn(i=Zn(i=u(e,t,n,r)),f),l&&1!==l&&a&&!a[i]&&(a[i]={}),Xn(o=a[i],f)),c?{context:a,name:i,value:o}:o}},nonComputedMember:function(a,s,u,c,l,f){return function(e,t,n,r){var i=a(e,t,n,r);l&&1!==l&&i&&!i[s]&&(i[s]={});var o=null!=i?i[s]:te;return(u||br(s))&&Xn(o,f),c?{context:i,name:s,value:o}:o}},inputs:function(i,o){return function(e,t,n,r){return r?r[o]:i(e,t,n)}}};var yr=function(e,t,n){this.lexer=e,this.$filter=t,this.options=n,this.ast=new sr(this.lexer),this.astCompiler=n.csp?new gr(this.ast,t):new mr(this.ast,t)};yr.prototype={constructor:yr,parse:function(e){return this.astCompiler.compile(e,this.options.expensiveChecks)}};Ie(),Ie();function br(e){return"constructor"==e}var xr=Object.prototype.valueOf;function wr(e){return he(e.valueOf)?e.valueOf():xr.call(e)}function Sr(){var g=Ie(),y=Ie();this.$get=["$filter",function(c){var e=B().noUnsafeEval,l={csp:e,expensiveChecks:!1},f={csp:e,expensiveChecks:!0};return function(e,t,n){var r,i,o;switch(typeof e){case"string":e=e.trim();var a=n?y:g;if(!(r=a[o=e])){":"===e.charAt(0)&&":"===e.charAt(1)&&(i=!0,e=e.substring(2));var s=n?f:l,u=new ar(s);(r=new yr(u,c,s).parse(e)).constant?r.$$watchDelegate=v:i?r.$$watchDelegate=r.literal?$:d:r.inputs&&(r.$$watchDelegate=p),a[o]=r}return m(r,t);case"function":return m(e,t);default:return ae}};function h(e,t){return null==e||null==t?e===t:("object"!=typeof e||"object"!=typeof(e=wr(e)))&&(e===t||e!=e&&t!=t)}function p(e,t,n,o,r){var a,s=o.inputs;if(1===s.length){var i=h;return s=s[0],e.$watch(function(e){var t=s(e);return h(t,i)||(a=o(e,te,te,[t]),i=t&&wr(t)),a},t,n,r)}for(var u=[],c=[],l=0,f=s.length;l<f;l++)u[l]=h,c[l]=null;return e.$watch(function(e){for(var t=!1,n=0,r=s.length;n<r;n++){var i=s[n](e);(t=t||!h(i,u[n]))&&(c[n]=i,u[n]=i&&wr(i))}return t&&(a=o(e,te,te,c)),a},t,n,r)}function d(e,r,t,n){var i,o;return i=e.$watch(function(e){return n(e)},function(e,t,n){o=e,he(r)&&r.apply(this,arguments),C(e)&&n.$$postDigest(function(){C(o)&&i()})},t)}function $(e,r,t,n){var i,o;return i=e.$watch(function(e){return n(e)},function(e,t,n){o=e,he(r)&&r.call(this,e,t,n),a(e)&&n.$$postDigest(function(){a(o)&&i()})},t);function a(e){var t=!0;return re(e,function(e){C(e)||(t=!1)}),t}}function v(e,r,t,n){var i;return i=e.$watch(function(e){return n(e)},function(e,t,n){he(r)&&r.apply(this,arguments),i()},t)}function m(a,s){if(!s)return a;var e=a.$$watchDelegate,t=e!==$&&e!==d?function(e,t,n,r){var i=a(e,t,n,r);return s(i,e,t)}:function(e,t,n,r){var i=a(e,t,n,r),o=s(i,e,t);return C(i)?o:i};return a.$$watchDelegate&&a.$$watchDelegate!==p?t.$$watchDelegate=a.$$watchDelegate:s.$stateful||(t.$$watchDelegate=p,t.inputs=a.inputs?a.inputs:[a]),t}}]}function Cr(){this.$get=["$rootScope","$exceptionHandler",function(t,e){return kr(function(e){t.$evalAsync(e)},e)}]}function Er(){this.$get=["$browser","$exceptionHandler",function(t,e){return kr(function(e){t.defer(e)},e)}]}function kr(t,a){var n=b("$q",TypeError);function e(){this.$$state={status:0}}function r(t,n){return function(e){n.call(t,e)}}function i(e){!e.processScheduled&&e.pending&&(e.processScheduled=!0,t(function(){!function(e){var t,n,r;r=e.pending,e.processScheduled=!1,e.pending=te;for(var i=0,o=r.length;i<o;++i){n=r[i][0],t=r[i][e.status];try{he(t)?n.resolve(t(e.value)):1===e.status?n.resolve(e.value):n.reject(e.value)}catch(e){n.reject(e),a(e)}}}(e)}))}function o(){this.promise=new e,this.resolve=r(this,this.resolve),this.reject=r(this,this.reject),this.notify=r(this,this.notify)}ie(e.prototype,{then:function(e,t,n){if(ue(e)&&ue(t)&&ue(n))return this;var r=new o;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,e,t,n]),0<this.$$state.status&&i(this.$$state),r.promise},catch:function(e){return this.then(null,e)},finally:function(t,e){return this.then(function(e){return c(e,!0,t)},function(e){return c(e,!1,t)},e)}}),ie(o.prototype,{resolve:function(e){this.promise.$$state.status||(e===this.promise?this.$$reject(n("qcycle","Expected promise to be resolved with value other than itself '{0}'",e)):this.$$resolve(e))},$$resolve:function(e){var t,n;n=function(n,e,t){var r=!1;function i(t){return function(e){r||(r=!0,t.call(n,e))}}return[i(e),i(t)]}(this,this.$$resolve,this.$$reject);try{(ce(e)||he(e))&&(t=e&&e.then),he(t)?(this.promise.$$state.status=-1,t.call(e,n[0],n[1],this.notify)):(this.promise.$$state.value=e,this.promise.$$state.status=1,i(this.promise.$$state))}catch(e){n[1](e),a(e)}},reject:function(e){this.promise.$$state.status||this.$$reject(e)},$$reject:function(e){this.promise.$$state.value=e,this.promise.$$state.status=2,i(this.promise.$$state)},notify:function(i){var o=this.promise.$$state.pending;this.promise.$$state.status<=0&&o&&o.length&&t(function(){for(var e,t,n=0,r=o.length;n<r;n++){t=o[n][0],e=o[n][3];try{t.notify(he(e)?e(i):i)}catch(e){a(e)}}})}});function s(e,t){var n=new o;return t?n.resolve(e):n.reject(e),n.promise}function u(e,t,n,r){var i=new o;return i.resolve(e),i.promise.then(t,n,r)}var c=function(e,t,n){var r=null;try{he(n)&&(r=n())}catch(e){return s(e,!1)}return N(r)?r.then(function(){return s(e,t)},function(e){return s(e,!1)}):s(e,t)},l=u;function f(e){if(!he(e))throw n("norslvr","Expected resolverFn, got '{0}'",e);if(!(this instanceof f))return new f(e);var t=new o;return e(function(e){t.resolve(e)},function(e){t.reject(e)}),t.promise}return f.defer=function(){return new o},f.reject=function(e){var t=new o;return t.reject(e),t.promise},f.when=u,f.resolve=l,f.all=function(e){var n=new o,r=0,i=fe(e)?[]:{};return re(e,function(e,t){r++,u(e).then(function(e){i.hasOwnProperty(t)||(i[t]=e,--r||n.resolve(i))},function(e){i.hasOwnProperty(t)||n.reject(e)})}),0===r&&n.resolve(i),n.promise},f}function Ar(){this.$get=["$window","$timeout",function(e,n){var r=e.requestAnimationFrame||e.webkitRequestAnimationFrame,i=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame,t=!!r,o=t?function(e){var t=r(e);return function(){i(t)}}:function(e){var t=n(e,16.66,!1);return function(){n.cancel(t)}};return o.supported=t,o}]}function Or(){var w=10,S=b("$rootScope"),C=null,E=null;this.digestTtl=function(e){return arguments.length&&(w=e),w},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(e,h,d,p){function r(e){e.currentScope.$$destroyed=!0}function i(){this.$id=k(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,(this.$root=this).$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}i.prototype={constructor:i,$new:function(e,t){var n;return t=t||this,e?(n=new i).$root=this.$root:(this.$$ChildScope||(this.$$ChildScope=function(e){function t(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=k(),this.$$ChildScope=null}return t.prototype=e,t}(this)),n=new this.$$ChildScope),n.$parent=t,n.$$prevSibling=t.$$childTail,t.$$childHead?(t.$$childTail.$$nextSibling=n,t.$$childTail=n):t.$$childHead=t.$$childTail=n,!e&&t==this||n.$on("$destroy",r),n},$watch:function(e,t,n,r){var i=d(e);if(i.$$watchDelegate)return i.$$watchDelegate(this,t,n,i,e);var o=this,a=o.$$watchers,s={fn:t,last:b,get:i,exp:r||e,eq:!!n};return C=null,he(t)||(s.fn=ae),(a=a||(o.$$watchers=[])).unshift(s),u(this,1),function(){0<=ve(a,s)&&u(o,-1),C=null}},$watchGroup:function(e,r){var i=new Array(e.length),o=new Array(e.length),a=[],s=this,u=!1,t=!0;if(!e.length){var n=!0;return s.$evalAsync(function(){n&&r(o,o,s)}),function(){n=!1}}if(1===e.length)return this.$watch(e[0],function(e,t,n){o[0]=e,i[0]=t,r(o,e===t?o:i,n)});function c(){u=!1,t?(t=!1,r(o,o,s)):r(o,i,s)}return re(e,function(e,n){var t=s.$watch(e,function(e,t){o[n]=e,i[n]=t,u||(u=!0,s.$evalAsync(c))});a.push(t)}),function(){for(;a.length;)a.shift()()}},$watchCollection:function(e,n){p.$stateful=!0;var a,s,r,i=this,o=1<n.length,u=0,t=d(e,p),c=[],l={},f=!0,h=0;function p(e){var t,n,r,i;if(!ue(a=e)){if(ce(a))if(I(a)){s!==c&&(h=(s=c).length=0,u++),t=a.length,h!==t&&(u++,s.length=h=t);for(var o=0;o<t;o++)i=s[o],r=a[o],i!=i&&r!=r||i===r||(u++,s[o]=r)}else{for(n in s!==l&&(s=l={},h=0,u++),t=0,a)P.call(a,n)&&(t++,r=a[n],i=s[n],n in s?i!=i&&r!=r||i===r||(u++,s[n]=r):(h++,s[n]=r,u++));if(t<h)for(n in u++,s)P.call(a,n)||(h--,delete s[n])}else s!==a&&(s=a,u++);return u}}return this.$watch(t,function(){if(f?(f=!1,n(a,a,i)):n(a,r,i),o)if(ce(a))if(I(a)){r=new Array(a.length);for(var e=0;e<a.length;e++)r[e]=a[e]}else for(var t in r={},a)P.call(a,t)&&(r[t]=a[t]);else r=a})},$digest:function(){var e,t,n,r,i,o,a,s,u,c,l=w,f=[];g("$digest"),p.$$checkUrlChange(),this===$&&null!==E&&(p.defer.cancel(E),x()),C=null;do{for(o=!1,s=this;v.length;){try{(c=v.shift()).scope.$eval(c.expression,c.locals)}catch(e){h(e)}C=null}e:do{if(r=s.$$watchers)for(i=r.length;i--;)try{if(e=r[i])if((t=e.get(s))===(n=e.last)||(e.eq?me(t,n):"number"==typeof t&&"number"==typeof n&&isNaN(t)&&isNaN(n))){if(e===C){o=!1;break e}}else o=!0,(C=e).last=e.eq?F(t,null):t,e.fn(t,n===b?t:n,s),l<5&&(f[u=4-l]||(f[u]=[]),f[u].push({msg:he(e.exp)?"fn: "+(e.exp.name||e.exp.toString()):e.exp,newVal:t,oldVal:n}))}catch(e){h(e)}if(!(a=s.$$watchersCount&&s.$$childHead||s!==this&&s.$$nextSibling))for(;s!==this&&!(a=s.$$nextSibling);)s=s.$parent}while(s=a);if((o||v.length)&&!l--)throw y(),S("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",w,f)}while(o||v.length);for(y();m.length;)try{m.shift()()}catch(e){h(e)}},$destroy:function(){if(!this.$$destroyed){var e=this.$parent;for(var t in this.$broadcast("$destroy"),this.$$destroyed=!0,this===$&&p.$$applicationDestroyed(),u(this,-this.$$watchersCount),this.$$listenerCount)o(this,this.$$listenerCount[t],t);e&&e.$$childHead==this&&(e.$$childHead=this.$$nextSibling),e&&e.$$childTail==this&&(e.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=ae,this.$on=this.$watch=this.$watchGroup=function(){return ae},this.$$listeners={},this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(e,t){return d(e)(this,t)},$evalAsync:function(e,t){$.$$phase||v.length||p.defer(function(){v.length&&$.$digest()}),v.push({scope:this,expression:e,locals:t})},$$postDigest:function(e){m.push(e)},$apply:function(e){try{g("$apply");try{return this.$eval(e)}finally{y()}}catch(e){h(e)}finally{try{$.$digest()}catch(e){throw h(e),e}}},$applyAsync:function(e){var t=this;e&&n.push(function(){t.$eval(e)}),null===E&&(E=p.defer(function(){$.$apply(x)}))},$on:function(t,n){var r=this.$$listeners[t];r||(this.$$listeners[t]=r=[]),r.push(n);for(var e=this;e.$$listenerCount[t]||(e.$$listenerCount[t]=0),e.$$listenerCount[t]++,e=e.$parent;);var i=this;return function(){var e=r.indexOf(n);-1!==e&&(r[e]=null,o(i,1,t))}},$emit:function(e,t){var n,r,i,o=[],a=this,s=!1,u={name:e,targetScope:a,stopPropagation:function(){s=!0},preventDefault:function(){u.defaultPrevented=!0},defaultPrevented:!1},c=H([u],arguments,1);do{for(n=a.$$listeners[e]||o,u.currentScope=a,r=0,i=n.length;r<i;r++)if(n[r])try{n[r].apply(null,c)}catch(e){h(e)}else n.splice(r,1),r--,i--;if(s)return u.currentScope=null,u;a=a.$parent}while(a);return u.currentScope=null,u},$broadcast:function(e,t){var n=this,r=n,i=n,o={name:e,targetScope:n,preventDefault:function(){o.defaultPrevented=!0},defaultPrevented:!1};if(!n.$$listenerCount[e])return o;for(var a,s,u,c=H([o],arguments,1);r=i;){for(s=0,u=(a=(o.currentScope=r).$$listeners[e]||[]).length;s<u;s++)if(a[s])try{a[s].apply(null,c)}catch(e){h(e)}else a.splice(s,1),s--,u--;if(!(i=r.$$listenerCount[e]&&r.$$childHead||r!==n&&r.$$nextSibling))for(;r!==n&&!(i=r.$$nextSibling);)r=r.$parent}return o.currentScope=null,o}};var $=new i,v=$.$$asyncQueue=[],m=$.$$postDigestQueue=[],n=$.$$applyAsyncQueue=[];return $;function g(e){if($.$$phase)throw S("inprog","{0} already in progress",$.$$phase);$.$$phase=e}function y(){$.$$phase=null}function u(e,t){for(;e.$$watchersCount+=t,e=e.$parent;);}function o(e,t,n){for(;e.$$listenerCount[n]-=t,0===e.$$listenerCount[n]&&delete e.$$listenerCount[n],e=e.$parent;);}function b(){}function x(){for(;n.length;)try{n.shift()()}catch(e){h(e)}E=null}}]}function Mr(){var i=/^\s*(https?|ftp|mailto|tel|file):/,o=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(e){return C(e)?(i=e,this):i},this.imgSrcSanitizationWhitelist=function(e){return C(e)?(o=e,this):o},this.$get=function(){return function(e,t){var n,r=t?o:i;return""===(n=Ur(e).href)||n.match(r)?e:"unsafe:"+n}}}var Tr=b("$sce"),Vr={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"};function Nr(e){var t=[];return C(e)&&re(e,function(e){t.push(function(e){if("self"===e)return e;if(le(e)){if(-1<e.indexOf("***"))throw Tr("iwcard","Illegal sequence *** in string matcher. String: {0}",e);return e=_(e).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+e+"$")}if(M(e))return new RegExp("^"+e.source+"$");throw Tr("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}(e))}),t}function jr(){this.SCE_CONTEXTS=Vr;var a=["self"],s=[];this.resourceUrlWhitelist=function(e){return arguments.length&&(a=Nr(e)),a},this.resourceUrlBlacklist=function(e){return arguments.length&&(s=Nr(e)),s},this.$get=["$injector",function(e){var r=function(e){throw Tr("unsafe","Attempting to use an unsafe value in a safe context.")};function o(e,t){return"self"===e?Br(t):!!e.exec(t.href)}function t(e){function t(e){this.$$unwrapTrustedValue=function(){return e}}return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}e.has("$sanitize")&&(r=e.get("$sanitize"));var n=t(),i={};return i[Vr.HTML]=t(n),i[Vr.CSS]=t(n),i[Vr.URL]=t(n),i[Vr.JS]=t(n),i[Vr.RESOURCE_URL]=t(i[Vr.URL]),{trustAs:function(e,t){var n=i.hasOwnProperty(e)?i[e]:null;if(!n)throw Tr("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",e,t);if(null===t||ue(t)||""===t)return t;if("string"!=typeof t)throw Tr("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",e);return new n(t)},getTrusted:function(e,t){if(null===t||ue(t)||""===t)return t;var n=i.hasOwnProperty(e)?i[e]:null;if(n&&t instanceof n)return t.$$unwrapTrustedValue();if(e===Vr.RESOURCE_URL){if(function(e){var t,n,r=Ur(e.toString()),i=!1;for(t=0,n=a.length;t<n;t++)if(o(a[t],r)){i=!0;break}if(i)for(t=0,n=s.length;t<n;t++)if(o(s[t],r)){i=!1;break}return i}(t))return t;throw Tr("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",t.toString())}if(e===Vr.HTML)return r(t);throw Tr("unsafe","Attempting to use an unsafe value in a safe context.")},valueOf:function(e){return e instanceof n?e.$$unwrapTrustedValue():e}}}]}function Pr(){var t=!0;this.enabled=function(e){return arguments.length&&(t=!!e),t},this.$get=["$parse","$sceDelegate",function(r,e){if(t&&D<8)throw Tr("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var i=U(Vr);i.isEnabled=function(){return t},i.trustAs=e.trustAs,i.getTrusted=e.getTrusted,i.valueOf=e.valueOf,t||(i.trustAs=i.getTrusted=function(e,t){return t},i.valueOf=se),i.parseAs=function(t,e){var n=r(e);return n.literal&&n.constant?n:r(e,function(e){return i.getTrusted(t,e)})};var o=i.parseAs,a=i.getTrusted,s=i.trustAs;return re(Vr,function(t,e){var n=j(e);i[Xe("parse_as_"+n)]=function(e){return o(t,e)},i[Xe("get_trusted_"+n)]=function(e){return a(t,e)},i[Xe("trust_as_"+n)]=function(e){return s(t,e)}}),i}]}function Dr(){this.$get=["$window","$document",function(e,t){var n,r,i={},o=y((/android (\d+)/.exec(j((e.navigator||{}).userAgent))||[])[1]),a=/Boxee/i.test((e.navigator||{}).userAgent),s=t[0]||{},u=/^(Moz|webkit|ms)(?=[A-Z])/,c=s.body&&s.body.style,l=!1,f=!1;if(c){for(var h in c)if(r=u.exec(h)){n=(n=r[0]).substr(0,1).toUpperCase()+n.substr(1);break}n=n||"WebkitOpacity"in c&&"webkit",l=!!("transition"in c||n+"Transition"in c),f=!!("animation"in c||n+"Animation"in c),!o||l&&f||(l=le(c.webkitTransition),f=le(c.webkitAnimation))}return{history:!(!e.history||!e.history.pushState||o<4||a),hasEvent:function(e){if("input"===e&&D<=11)return!1;if(ue(i[e])){var t=s.createElement("div");i[e]="on"+e in t}return i[e]},csp:B(),vendorPrefix:n,transitions:l,animations:f,android:o}}]}Xt=b("$compile");function Ir(){this.$get=["$templateCache","$http","$q","$sce",function(i,o,a,s){function u(t,n){u.totalPendingRequests++,le(t)&&i.get(t)||(t=s.getTrustedResourceUrl(t));var e=o.defaults&&o.defaults.transformResponse;fe(e)?e=e.filter(function(e){return e!==xn}):e===xn&&(e=null);var r={cache:i,transformResponse:e};return o.get(t,r).finally(function(){u.totalPendingRequests--}).then(function(e){return i.put(t,e.data),e.data},function(e){if(n)return a.reject(e);throw Xt("tpload","Failed to load template: {0} (HTTP status: {1} {2})",t,e.status,e.statusText)})}return u.totalPendingRequests=0,u}]}function Rr(){this.$get=["$rootScope","$browser","$location",function(t,n,r){var e={findBindings:function(e,n,r){var t=e.getElementsByClassName("ng-binding"),i=[];return re(t,function(t){var e=E.element(t).data("$binding");e&&re(e,function(e){r?new RegExp("(^|\\s)"+_(n)+"(\\s|\\||$)").test(e)&&i.push(t):-1!=e.indexOf(n)&&i.push(t)})}),i},findModels:function(e,t,n){for(var r=["ng-","data-ng-","ng\\:"],i=0;i<r.length;++i){var o="["+r[i]+"model"+(n?"=":"*=")+'"'+t+'"]',a=e.querySelectorAll(o);if(a.length)return a}},getLocation:function(){return r.url()},setLocation:function(e){e!==r.url()&&(r.url(e),t.$digest())},whenStable:function(e){n.notifyWhenNoOutstandingRequests(e)}};return e}]}function _r(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(u,c,l,f,h){var p={};function e(e,t,n){he(e)||(n=t,t=e,e=ae);var r,i=ge(arguments,3),o=C(n)&&!n,a=(o?f:l).defer(),s=a.promise;return r=c.defer(function(){try{a.resolve(e.apply(null,i))}catch(e){a.reject(e),h(e)}finally{delete p[s.$$timeoutId]}o||u.$apply()},t),s.$$timeoutId=r,p[r]=a,s}return e.cancel=function(e){return!!(e&&e.$$timeoutId in p)&&(p[e.$$timeoutId].reject("canceled"),delete p[e.$$timeoutId],c.defer.cancel(e.$$timeoutId))},e}]}var qr=ee.createElement("a"),Fr=Ur(u.location.href);function Ur(e){var t=e;return D&&(qr.setAttribute("href",t),t=qr.href),qr.setAttribute("href",t),{href:qr.href,protocol:qr.protocol?qr.protocol.replace(/:$/,""):"",host:qr.host,search:qr.search?qr.search.replace(/^\?/,""):"",hash:qr.hash?qr.hash.replace(/^#/,""):"",hostname:qr.hostname,port:qr.port,pathname:"/"===qr.pathname.charAt(0)?qr.pathname:"/"+qr.pathname}}function Br(e){var t=le(e)?Ur(e):e;return t.protocol===Fr.protocol&&t.host===Fr.host}function Lr(){this.$get=x(u)}function Hr(e){var a=e[0]||{},s={},u="";function c(t){try{return decodeURIComponent(t)}catch(e){return t}}return function(){var e,t,n,r,i,o=a.cookie||"";if(o!==u)for(e=(u=o).split("; "),s={},n=0;n<e.length;n++)0<(r=(t=e[n]).indexOf("="))&&(i=c(t.substring(0,r)),ue(s[i])&&(s[i]=c(t.substring(r+1))));return s}}function zr(){this.$get=Hr}function Wr(r){var i="Filter";function o(e,t){if(ce(e)){var n={};return re(e,function(e,t){n[t]=o(t,e)}),n}return r.factory(e+i,t)}this.register=o,this.$get=["$injector",function(t){return function(e){return t.get(e+i)}}],o("currency",Kr),o("date",ci),o("filter",Gr),o("json",li),o("limitTo",pi),o("lowercase",fi),o("number",Zr),o("orderBy",di),o("uppercase",hi)}function Gr(){return function(e,t,n){if(!I(e)){if(null==e)return e;throw b("filter")("notarray","Expected array but received: {0}",e)}var r,i;switch(Jr(t)){case"function":r=t;break;case"boolean":case"null":case"number":case"string":i=!0;case"object":r=function(t,n,r){var i=ce(t)&&"$"in t;!0===n?n=me:he(n)||(n=function(e,t){return!ue(e)&&(null===e||null===t?e===t:!(ce(t)||ce(e)&&!w(e))&&(e=j(""+e),t=j(""+t),-1!==e.indexOf(t)))});return function(e){return i&&!ce(e)?Yr(e,t.$,n,!1):Yr(e,t,n,r)}}(t,n,i);break;default:return e}return Array.prototype.filter.call(e,r)}}function Yr(e,t,n,r,i){var o=Jr(e),a=Jr(t);if("string"===a&&"!"===t.charAt(0))return!Yr(e,t.substring(1),n,r);if(fe(e))return e.some(function(e){return Yr(e,t,n,r)});switch(o){case"object":var s;if(r){for(s in e)if("$"!==s.charAt(0)&&Yr(e[s],t,n,!0))return!0;return!i&&Yr(e,t,n,!1)}if("object"!==a)return n(e,t);for(s in t){var u=t[s];if(!he(u)&&!ue(u)){var c="$"===s;if(!Yr(c?e:e[s],u,n,c,c))return!1}}return!0;case"function":return!1;default:return n(e,t)}}function Jr(e){return null===e?"null":typeof e}function Kr(e){var r=e.NUMBER_FORMATS;return function(e,t,n){return ue(t)&&(t=r.CURRENCY_SYM),ue(n)&&(n=r.PATTERNS[1].maxFrac),null==e?e:Qr(e,r.PATTERNS[1],r.GROUP_SEP,r.DECIMAL_SEP,n).replace(/\u00A4/g,t)}}function Zr(e){var n=e.NUMBER_FORMATS;return function(e,t){return null==e?e:Qr(e,n.PATTERNS[0],n.GROUP_SEP,n.DECIMAL_SEP,t)}}Hr.$inject=["$document"],Wr.$inject=["$provide"],Kr.$inject=["$locale"],Zr.$inject=["$locale"];var Xr=".";function Qr(e,t,n,r,i){if(ce(e))return"";var o=e<0,a=(e=Math.abs(e))===1/0;if(!a&&!isFinite(e))return"";var s=e+"",u="",c=!1,l=[];if(a&&(u="∞"),!a&&-1!==s.indexOf("e")){var f=s.match(/([\d\.]+)e(-?)(\d+)/);f&&"-"==f[2]&&f[3]>i+1?e=0:(u=s,c=!0)}if(a||c)0<i&&e<1&&(u=e.toFixed(i),e=parseFloat(u),u=u.replace(Xr,r));else{var h=(s.split(Xr)[1]||"").length;ue(i)&&(i=Math.min(Math.max(t.minFrac,h),t.maxFrac));var p=(""+(e=+(Math.round(+(e.toString()+"e"+i)).toString()+"e"+-i))).split(Xr),d=p[0];p=p[1]||"";var $,v=0,m=t.lgSize,g=t.gSize;if(d.length>=m+g)for(v=d.length-m,$=0;$<v;$++)(v-$)%g==0&&0!==$&&(u+=n),u+=d.charAt($);for($=v;$<d.length;$++)(d.length-$)%m==0&&0!==$&&(u+=n),u+=d.charAt($);for(;p.length<i;)p+="0";i&&"0"!==i&&(u+=r+p.substr(0,i))}return 0===e&&(o=!1),l.push(o?t.negPre:t.posPre,u,o?t.negSuf:t.posSuf),l.join("")}function ei(e,t,n){var r="";for(e<0&&(r="-",e=-e),e=""+e;e.length<t;)e="0"+e;return n&&(e=e.substr(e.length-t)),r+e}function ti(n,r,i,o){return i=i||0,function(e){var t=e["get"+n]();return(0<i||-i<t)&&(t+=i),0===t&&-12==i&&(t=12),ei(t,r,o)}}function ni(r,i){return function(e,t){var n=e["get"+r]();return t[l(i?"SHORT"+r:r)][n]}}function ri(e){var t=new Date(e,0,1).getDay();return new Date(e,0,(t<=4?5:12)-t)}function ii(r){return function(e){var t=ri(e.getFullYear()),n=+function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+(4-e.getDay()))}(e)-+t;return ei(1+Math.round(n/6048e5),r)}}function oi(e,t){return e.getFullYear()<=0?t.ERAS[0]:t.ERAS[1]}var ai={yyyy:ti("FullYear",4),yy:ti("FullYear",2,0,!0),y:ti("FullYear",1),MMMM:ni("Month"),MMM:ni("Month",!0),MM:ti("Month",2,1),M:ti("Month",1,1),dd:ti("Date",2),d:ti("Date",1),HH:ti("Hours",2),H:ti("Hours",1),hh:ti("Hours",2,-12),h:ti("Hours",1,-12),mm:ti("Minutes",2),m:ti("Minutes",1),ss:ti("Seconds",2),s:ti("Seconds",1),sss:ti("Milliseconds",3),EEEE:ni("Day"),EEE:ni("Day",!0),a:function(e,t){return e.getHours()<12?t.AMPMS[0]:t.AMPMS[1]},Z:function(e,t,n){var r=-1*n,i=0<=r?"+":"";return i+=ei(Math[0<r?"floor":"ceil"](r/60),2)+ei(Math.abs(r%60),2)},ww:ii(2),w:ii(1),G:oi,GG:oi,GGG:oi,GGGG:function(e,t){return e.getFullYear()<=0?t.ERANAMES[0]:t.ERANAMES[1]}},si=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,ui=/^\-?\d+$/;function ci(u){var f=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(t,e,n){var r,i,o="",a=[];if(e=e||"mediumDate",e=u.DATETIME_FORMATS[e]||e,le(t)&&(t=ui.test(t)?y(t):function(e){var t;if(t=e.match(f)){var n=new Date(0),r=0,i=0,o=t[8]?n.setUTCFullYear:n.setFullYear,a=t[8]?n.setUTCHours:n.setHours;t[9]&&(r=y(t[9]+t[10]),i=y(t[9]+t[11])),o.call(n,y(t[1]),y(t[2])-1,y(t[3]));var s=y(t[4]||0)-r,u=y(t[5]||0)-i,c=y(t[6]||0),l=Math.round(1e3*parseFloat("0."+(t[7]||0)));return a.call(n,s,u,c,l),n}return e}(t)),A(t)&&(t=new Date(t)),!O(t)||!isFinite(t.getTime()))return t;for(;e;)e=(i=si.exec(e))?(a=H(a,i,1)).pop():(a.push(e),null);var s=t.getTimezoneOffset();return n&&(s=J(n,t.getTimezoneOffset()),t=K(t,n,!0)),re(a,function(e){r=ai[e],o+=r?r(t,u.DATETIME_FORMATS,s):e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),o}}function li(){return function(e,t){return ue(t)&&(t=2),G(e,t)}}ci.$inject=["$locale"];var fi=x(j),hi=x(l);function pi(){return function(e,t,n){return t=Math.abs(Number(t))===1/0?Number(t):y(t),isNaN(t)?e:(A(e)&&(e=e.toString()),fe(e)||le(e)?(n=(n=!n||isNaN(n)?0:y(n))<0&&n>=-e.length?e.length+n:n,0<=t?e.slice(n,n+t):0===n?e.slice(t,e.length):e.slice(Math.max(0,n+t),n)):e)}}function di(a){return function(e,t,n){if(!I(e))return e;fe(t)||(t=[t]),0===t.length&&(t=["+"]);var o=function(e,i){return i=i?-1:1,e.map(function(e){var t=1,n=se;if(he(e))n=e;else if(le(e)&&("+"!=e.charAt(0)&&"-"!=e.charAt(0)||(t="-"==e.charAt(0)?-1:1,e=e.substring(1)),""!==e&&(n=a(e)).constant)){var r=n();n=function(e){return e[r]}}return{get:n,descending:t*i}})}(t,n);o.push({get:function(){return{}},descending:n?-1:1});var r=Array.prototype.map.call(e,function(t,n){return{value:t,predicateValues:o.map(function(e){return function(e,t){var n=typeof e;null===e?(n="string",e="null"):"string"===n?e=e.toLowerCase():"object"===n&&(e=function(e,t){if("function"==typeof e.valueOf&&i(e=e.valueOf()))return e;if(w(e)&&i(e=e.toString()))return e;return t}(e,t));return{value:e,type:n}}(e.get(t),n)})}});return r.sort(function(e,t){for(var n=0,r=0,i=o.length;r<i&&!(n=s(e.predicateValues[r],t.predicateValues[r])*o[r].descending);++r);return n}),e=r.map(function(e){return e.value})};function i(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}function s(e,t){var n=0;return e.type===t.type?e.value!==t.value&&(n=e.value<t.value?-1:1):n=e.type<t.type?-1:1,n}}function $i(e){return he(e)&&(e={link:e}),e.restrict=e.restrict||"AC",x(e)}di.$inject=["$parse"];var vi=x({restrict:"E",compile:function(e,t){if(!t.href&&!t.xlinkHref)return function(e,t){if("a"===t[0].nodeName.toLowerCase()){var n="[object SVGAnimatedString]"===f.call(t.prop("href"))?"xlink:href":"href";t.on("click",function(e){t.attr(n)||e.preventDefault()})}}}}),mi={};re(St,function(e,r){if("multiple"!=e){var i=tn("ng-"+r),t=o;"checked"===e&&(t=function(e,t,n){n.ngModel!==n[i]&&o(e,0,n)}),mi[i]=function(){return{restrict:"A",priority:100,link:t}}}function o(e,t,n){e.$watch(n[i],function(e){n.$set(r,!!e)})}}),re(Et,function(e,i){mi[i]=function(){return{priority:100,link:function(e,t,n){if("ngPattern"===i&&"/"==n.ngPattern.charAt(0)){var r=n.ngPattern.match(o);if(r)return void n.$set("ngPattern",new RegExp(r[1],r[2]))}e.$watch(n[i],function(e){n.$set(i,e)})}}}}),re(["src","srcset","href"],function(o){var a=tn("ng-"+o);mi[a]=function(){return{priority:99,link:function(e,t,n){var r=o,i=o;"href"===o&&"[object SVGAnimatedString]"===f.call(t.prop("href"))&&(i="xlinkHref",n.$attr[i]="xlink:href",r=null),n.$observe(a,function(e){e?(n.$set(i,e),D&&r&&t.prop(r,n[i])):"href"===o&&n.$set(i,null)})}}}});var gi={$addControl:ae,$$renameControl:function(e,t){e.$name=t},$removeControl:ae,$setValidity:ae,$setDirty:ae,$setPristine:ae,$setSubmitted:ae},yi="ng-submitted";function bi(e,t,n,r,i){var o=this,a=[];o.$error={},o.$$success={},o.$pending=te,o.$name=i(t.name||t.ngForm||"")(n),o.$dirty=!1,o.$pristine=!0,o.$valid=!0,o.$invalid=!1,o.$submitted=!1,o.$$parentForm=gi,o.$rollbackViewValue=function(){re(a,function(e){e.$rollbackViewValue()})},o.$commitViewValue=function(){re(a,function(e){e.$commitViewValue()})},o.$addControl=function(e){je(e.$name,"input"),a.push(e),e.$name&&(o[e.$name]=e),e.$$parentForm=o},o.$$renameControl=function(e,t){var n=e.$name;o[n]===e&&delete o[n],(o[t]=e).$name=t},o.$removeControl=function(n){n.$name&&o[n.$name]===n&&delete o[n.$name],re(o.$pending,function(e,t){o.$setValidity(t,null,n)}),re(o.$error,function(e,t){o.$setValidity(t,null,n)}),re(o.$$success,function(e,t){o.$setValidity(t,null,n)}),ve(a,n),n.$$parentForm=gi},yo({ctrl:this,$element:e,set:function(e,t,n){var r=e[t];r?-1===r.indexOf(n)&&r.push(n):e[t]=[n]},unset:function(e,t,n){var r=e[t];r&&(ve(r,n),0===r.length&&delete e[t])},$animate:r}),o.$setDirty=function(){r.removeClass(e,co),r.addClass(e,lo),o.$dirty=!0,o.$pristine=!1,o.$$parentForm.$setDirty()},o.$setPristine=function(){r.setClass(e,co,lo+" "+yi),o.$dirty=!1,o.$pristine=!0,o.$submitted=!1,re(a,function(e){e.$setPristine()})},o.$setUntouched=function(){re(a,function(e){e.$setUntouched()})},o.$setSubmitted=function(){r.addClass(e,yi),o.$submitted=!0,o.$$parentForm.$setSubmitted()}}bi.$inject=["$element","$attrs","$scope","$animate","$interpolate"];function xi(n){return["$timeout","$parse",function(u,t){return{name:"form",restrict:n?"EAC":"E",require:["form","^^?form"],controller:bi,compile:function(e,t){e.addClass(co).addClass(so);var s=t.name?"name":!(!n||!t.ngForm)&&"ngForm";return{pre:function(t,e,n,r){var i=r[0];if(!("action"in n)){var o=function(e){t.$apply(function(){i.$commitViewValue(),i.$setSubmitted()}),e.preventDefault()};We(e[0],"submit",o),e.on("$destroy",function(){u(function(){Ge(e[0],"submit",o)},0,!1)})}(r[1]||i.$$parentForm).$addControl(i);var a=s?c(i.$name):ae;s&&(a(t,i),n.$observe(s,function(e){i.$name!==e&&(a(t,te),i.$$parentForm.$$renameControl(i,e),(a=c(i.$name))(t,i))})),e.on("$destroy",function(){i.$$parentForm.$removeControl(i),a(t,te),ie(i,gi)})}}}};function c(e){return""===e?t('this[""]').assign:t(e).assign||ae}}]}var wi=xi(),Si=xi(!0),Ci=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,Ei=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,ki=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Ai=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Oi=/^(\d{4})-(\d{2})-(\d{2})$/,Mi=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ti=/^(\d{4})-W(\d\d)$/,Vi=/^(\d{4})-(\d\d)$/,Ni=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,ji={text:function(e,t,n,r,i,o){Di(e,t,n,r,i,o),Pi(r)},date:Ri("date",Oi,Ii(Oi,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":Ri("datetimelocal",Mi,Ii(Mi,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:Ri("time",Ni,Ii(Ni,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:Ri("week",Ti,function(e,t){if(O(e))return e;if(le(e)){Ti.lastIndex=0;var n=Ti.exec(e);if(n){var r=+n[1],i=+n[2],o=0,a=0,s=0,u=0,c=ri(r),l=7*(i-1);return t&&(o=t.getHours(),a=t.getMinutes(),s=t.getSeconds(),u=t.getMilliseconds()),new Date(r,0,c.getDate()+l,o,a,s,u)}}return NaN},"yyyy-Www"),month:Ri("month",Vi,Ii(Vi,["yyyy","MM"]),"yyyy-MM"),number:function(e,t,n,r,i,o){if(_i(e,t,n,r),Di(e,t,n,r,i,o),r.$$parserName="number",r.$parsers.push(function(e){return r.$isEmpty(e)?null:Ai.test(e)?parseFloat(e):te}),r.$formatters.push(function(e){if(!r.$isEmpty(e)){if(!A(e))throw $o("numfmt","Expected `{0}` to be a number",e);e=e.toString()}return e}),C(n.min)||n.ngMin){var a;r.$validators.min=function(e){return r.$isEmpty(e)||ue(a)||a<=e},n.$observe("min",function(e){C(e)&&!A(e)&&(e=parseFloat(e,10)),a=A(e)&&!isNaN(e)?e:te,r.$validate()})}if(C(n.max)||n.ngMax){var s;r.$validators.max=function(e){return r.$isEmpty(e)||ue(s)||e<=s},n.$observe("max",function(e){C(e)&&!A(e)&&(e=parseFloat(e,10)),s=A(e)&&!isNaN(e)?e:te,r.$validate()})}},url:function(e,t,n,r,i,o){Di(e,t,n,r,i,o),Pi(r),r.$$parserName="url",r.$validators.url=function(e,t){var n=e||t;return r.$isEmpty(n)||Ei.test(n)}},email:function(e,t,n,r,i,o){Di(e,t,n,r,i,o),Pi(r),r.$$parserName="email",r.$validators.email=function(e,t){var n=e||t;return r.$isEmpty(n)||ki.test(n)}},radio:function(e,t,n,r){ue(n.name)&&t.attr("name",k());t.on("click",function(e){t[0].checked&&r.$setViewValue(n.value,e&&e.type)}),r.$render=function(){var e=n.value;t[0].checked=e==r.$viewValue},n.$observe("value",r.$render)},checkbox:function(e,t,n,r,i,o,a,s){var u=qi(s,e,"ngTrueValue",n.ngTrueValue,!0),c=qi(s,e,"ngFalseValue",n.ngFalseValue,!1);t.on("click",function(e){r.$setViewValue(t[0].checked,e&&e.type)}),r.$render=function(){t[0].checked=r.$viewValue},r.$isEmpty=function(e){return!1===e},r.$formatters.push(function(e){return me(e,u)}),r.$parsers.push(function(e){return e?u:c})},hidden:ae,button:ae,submit:ae,reset:ae,file:ae};function Pi(t){t.$formatters.push(function(e){return t.$isEmpty(e)?e:e.toString()})}function Di(e,r,i,o,t,a){var s=j(r[0].type);if(!t.android){var u=!1;r.on("compositionstart",function(e){u=!0}),r.on("compositionend",function(){u=!1,c()})}var c=function(e){if(l&&(a.defer.cancel(l),l=null),!u){var t=r.val(),n=e&&e.type;"password"===s||i.ngTrim&&"false"===i.ngTrim||(t=de(t)),(o.$viewValue!==t||""===t&&o.$$hasNativeValidators)&&o.$setViewValue(t,n)}};if(t.hasEvent("input"))r.on("input",c);else{var l,n=function(e,t,n){l=l||a.defer(function(){l=null,t&&t.value===n||c(e)})};r.on("keydown",function(e){var t=e.keyCode;91===t||15<t&&t<19||37<=t&&t<=40||n(e,this,this.value)}),t.hasEvent("paste")&&r.on("paste cut",n)}r.on("change",c),o.$render=function(){var e=o.$isEmpty(o.$viewValue)?"":o.$viewValue;r.val()!==e&&r.val(e)}}function Ii(i,o){return function(e,t){var n,r;if(O(e))return e;if(le(e)){if('"'==e.charAt(0)&&'"'==e.charAt(e.length-1)&&(e=e.substring(1,e.length-1)),Ci.test(e))return new Date(e);if(i.lastIndex=0,n=i.exec(e))return n.shift(),r=t?{yyyy:t.getFullYear(),MM:t.getMonth()+1,dd:t.getDate(),HH:t.getHours(),mm:t.getMinutes(),ss:t.getSeconds(),sss:t.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},re(n,function(e,t){t<o.length&&(r[o[t]]=+e)}),new Date(r.yyyy,r.MM-1,r.dd,r.HH,r.mm,r.ss||0,1e3*r.sss||0)}return NaN}}function Ri(p,d,$,v){return function(e,t,n,r,i,o,a){_i(e,t,n,r),Di(0,t,n,r,i,o);var s,u,c,l=r&&r.$options&&r.$options.timezone;r.$$parserName=p,r.$parsers.push(function(e){if(r.$isEmpty(e))return null;if(d.test(e)){var t=$(e,s);return l&&(t=K(t,l)),t}return te}),r.$formatters.push(function(e){if(e&&!O(e))throw $o("datefmt","Expected `{0}` to be a date",e);return f(e)?((s=e)&&l&&(s=K(s,l,!0)),a("date")(e,v,l)):(s=null,"")}),(C(n.min)||n.ngMin)&&(r.$validators.min=function(e){return!f(e)||ue(u)||$(e)>=u},n.$observe("min",function(e){u=h(e),r.$validate()}));(C(n.max)||n.ngMax)&&(r.$validators.max=function(e){return!f(e)||ue(c)||$(e)<=c},n.$observe("max",function(e){c=h(e),r.$validate()}));function f(e){return e&&!(e.getTime&&e.getTime()!=e.getTime())}function h(e){return C(e)&&!O(e)?$(e)||te:e}}}function _i(e,n,t,r){var i=n[0];(r.$$hasNativeValidators=ce(i.validity))&&r.$parsers.push(function(e){var t=n.prop(a)||{};return t.badInput&&!t.typeMismatch?te:e})}function qi(e,t,n,r,i){var o;if(C(r)){if(!(o=e(r)).constant)throw $o("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,r);return o(t)}return i}function Fi(){return{restrict:"A",priority:100,compile:function(e,t){return Bi.test(t.ngValue)?function(e,t,n){n.$set("value",e.$eval(n.ngValue))}:function(e,t,n){e.$watch(n.ngValue,function(e){n.$set("value",e)})}}}}var Ui=["$browser","$sniffer","$filter","$parse",function(i,o,a,s){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,t,n,r){r[0]&&(ji[j(n.type)]||ji.text)(e,t,n,r[0],o,i,a,s)}}}}],Bi=/^(true|false|\d+)$/,Li=["$compile",function(r){return{restrict:"AC",compile:function(e){return r.$$addBindingClass(e),function(e,t,n){r.$$addBindingInfo(t,n.ngBind),t=t[0],e.$watch(n.ngBind,function(e){t.textContent=ue(e)?"":e})}}}}],Hi=["$interpolate","$compile",function(i,o){return{compile:function(e){return o.$$addBindingClass(e),function(e,t,n){var r=i(t.attr(n.$attr.ngBindTemplate));o.$$addBindingInfo(t,r.expressions),t=t[0],n.$observe("ngBindTemplate",function(e){t.textContent=ue(e)?"":e})}}}}],zi=["$sce","$parse","$compile",function(o,n,a){return{restrict:"A",compile:function(e,t){var r=n(t.ngBindHtml),i=n(t.ngBindHtml,function(e){return(e||"").toString()});return a.$$addBindingClass(e),function(e,t,n){a.$$addBindingInfo(t,n.ngBindHtml),e.$watch(i,function(){t.html(o.getTrustedHtml(r(e))||"")})}}}}],Wi=x({restrict:"A",require:"ngModel",link:function(e,t,n,r){r.$viewChangeListeners.push(function(){e.$eval(n.ngChange)})}});function Gi(h,p){return h="ngClass"+h,["$animate",function(c){return{restrict:"AC",link:function(i,o,a){var n;function s(e){var t=u(e,1);a.$addClass(t)}function u(e,t){var n=o.data("$classCounts")||Ie(),r=[];return re(e,function(e){(0<t||n[e])&&(n[e]=(n[e]||0)+t,n[e]===+(0<t)&&r.push(e))}),o.data("$classCounts",n),r.join(" ")}function t(e){if(!0===p||i.$index%2===p){var t=f(e||[]);if(n){if(!me(e,n)){!function(e,t){var n=l(t,e),r=l(e,t);n=u(n,1),r=u(r,-1),n&&n.length&&c.addClass(o,n),r&&r.length&&c.removeClass(o,r)}(f(n),t)}}else s(t)}n=U(e)}i.$watch(a[h],t,!0),a.$observe("class",function(e){t(i.$eval(a[h]))}),"ngClass"!==h&&i.$watch("$index",function(e,t){var n=1&e;if(n!=(1&t)){var r=f(i.$eval(a[h]));n===p?s(r):function(e){var t=u(e,-1);a.$removeClass(t)}(r)}})}};function l(e,t){var n=[];e:for(var r=0;r<e.length;r++){for(var i=e[r],o=0;o<t.length;o++)if(i==t[o])continue e;n.push(i)}return n}function f(e){var n=[];return fe(e)?(re(e,function(e){n=n.concat(f(e))}),n):le(e)?e.split(" "):ce(e)?(re(e,function(e,t){e&&(n=n.concat(t.split(" ")))}),n):e}}]}var Yi=Gi("",!0),Ji=Gi("Odd",0),Ki=Gi("Even",1),Zi=$i({compile:function(e,t){t.$set("ngCloak",te),e.removeClass("ng-cloak")}}),Xi=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Qi={},eo={blur:!0,focus:!0};re("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(o){var a=tn("ng-"+o);Qi[a]=["$parse","$rootScope",function(n,i){return{restrict:"A",compile:function(e,t){var r=n(t[a],null,!0);return function(n,e){e.on(o,function(e){function t(){r(n,{$event:e})}eo[o]&&i.$$phase?n.$evalAsync(t):n.$apply(t)})}}}}]});function to(){return{restrict:"A",priority:100,require:"ngModel",link:function(e,t,n,r){var i=t.attr(n.$attr.ngList)||", ",o="false"!==n.ngTrim,a=o?de(i):i;r.$parsers.push(function(e){if(!ue(e)){var t=[];return e&&re(e.split(a),function(e){e&&t.push(o?de(e):e)}),t}}),r.$formatters.push(function(e){return fe(e)?e.join(i):te}),r.$isEmpty=function(e){return!e||!e.length}}}}function no(){return{restrict:"A",controller:["$scope","$attrs",function(e,t){var n=this;this.$options=F(e.$eval(t.ngModelOptions)),C(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=de(this.$options.updateOn.replace(go,function(){return n.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}}var ro=["$animate",function(u){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(e,n,r,t,i){var o,a,s;e.$watch(r.ngIf,function(e){e?a||i(function(e,t){a=t,e[e.length++]=ee.createComment(" end ngIf: "+r.ngIf+" "),o={clone:e},u.enter(e,n.parent(),n)}):(s&&(s.remove(),s=null),a&&(a.$destroy(),a=null),o&&(s=De(o.clone),u.leave(s).then(function(){s=null}),o=null))})}}}],io=["$templateRequest","$anchorScroll","$animate",function(v,m,g){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:E.noop,compile:function(e,t){var n=t.ngInclude||t.src,d=t.onload||"",$=t.autoscroll;return function(a,s,e,u,c){function l(){t&&(t.remove(),t=null),f&&(f.$destroy(),f=null),h&&(g.leave(h).then(function(){t=null}),t=h,h=null)}var f,t,h,p=0;a.$watch(n,function(r){function i(){!C($)||$&&!a.$eval($)||m()}var o=++p;r?(v(r,!0).then(function(e){if(o===p){var t=a.$new();u.template=e;var n=c(t,function(e){l(),g.enter(e,null,s).then(i)});h=n,(f=t).$emit("$includeContentLoaded",r),a.$eval(d)}},function(){o===p&&(l(),a.$emit("$includeContentError",r))}),a.$emit("$includeContentRequested",r)):(l(),u.template=null)})}}}}],oo=["$compile",function(i){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(e,t,n,r){if(/SVG/.test(t[0].toString()))return t.empty(),void i(at(r.template,ee).childNodes)(e,function(e){t.append(e)},{futureParentElement:t});t.html(r.template),i(t.contents())(e)}}}],ao=$i({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),so="ng-valid",uo="ng-invalid",co="ng-pristine",lo="ng-dirty",fo="ng-untouched",ho="ng-touched",po="ng-pending",$o=b("ngModel"),vo=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(o,t,i,a,s,e,u,c,l,n){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=te,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=te,this.$name=n(i.name||"",!1)(o),this.$$parentForm=gi;var f,h=s(i.ngModel),p=h.assign,d=h,$=p,v=null,m=this;this.$$setOptions=function(e){if((m.$options=e)&&e.getterSetter){var n=s(i.ngModel+"()"),r=s(i.ngModel+"($$$p)");d=function(e){var t=h(e);return he(t)&&(t=n(e)),t},$=function(e,t){he(h(e))?r(e,{$$$p:m.$modelValue}):p(e,m.$modelValue)}}else if(!h.assign)throw $o("nonassign","Expression '{0}' is non-assignable. Element: {1}",i.ngModel,ye(a))},this.$render=ae,this.$isEmpty=function(e){return ue(e)||""===e||null===e||e!=e};var g=0;yo({ctrl:this,$element:a,set:function(e,t){e[t]=!0},unset:function(e,t){delete e[t]},$animate:e}),this.$setPristine=function(){m.$dirty=!1,m.$pristine=!0,e.removeClass(a,lo),e.addClass(a,co)},this.$setDirty=function(){m.$dirty=!0,m.$pristine=!1,e.removeClass(a,co),e.addClass(a,lo),m.$$parentForm.$setDirty()},this.$setUntouched=function(){m.$touched=!1,m.$untouched=!0,e.setClass(a,fo,ho)},this.$setTouched=function(){m.$touched=!0,m.$untouched=!1,e.setClass(a,ho,fo)},this.$rollbackViewValue=function(){u.cancel(v),m.$viewValue=m.$$lastCommittedViewValue,m.$render()},this.$validate=function(){if(!A(m.$modelValue)||!isNaN(m.$modelValue)){var e=m.$$lastCommittedViewValue,t=m.$$rawModelValue,n=m.$valid,r=m.$modelValue,i=m.$options&&m.$options.allowInvalid;m.$$runValidators(t,e,function(e){i||n===e||(m.$modelValue=e?t:te,m.$modelValue!==r&&m.$$writeModelToScope())})}},this.$$runValidators=function(r,i,t){var o,a,s,n=++g;(function(){var e=m.$$parserName||"parse";{if(!ue(f))return f||(re(m.$validators,function(e,t){u(t,null)}),re(m.$asyncValidators,function(e,t){u(t,null)})),u(e,f),f;u(e,null)}return!0})()?(o=!0,re(m.$validators,function(e,t){var n=e(r,i);o=o&&n,u(t,n)}),o||(re(m.$asyncValidators,function(e,t){u(t,null)}),0)?(a=[],s=!0,re(m.$asyncValidators,function(e,t){var n=e(r,i);if(!N(n))throw $o("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",n);u(t,te),a.push(n.then(function(){u(t,!0)},function(e){u(t,s=!1)}))}),a.length?l.all(a).then(function(){e(s)},ae):e(!0)):e(!1)):e(!1);function u(e,t){n===g&&m.$setValidity(e,t)}function e(e){n===g&&t(e)}},this.$commitViewValue=function(){var e=m.$viewValue;u.cancel(v),(m.$$lastCommittedViewValue!==e||""===e&&m.$$hasNativeValidators)&&(m.$$lastCommittedViewValue=e,m.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){var t=m.$$lastCommittedViewValue;if(f=!ue(t)||te)for(var e=0;e<m.$parsers.length;e++)if(ue(t=m.$parsers[e](t))){f=!1;break}A(m.$modelValue)&&isNaN(m.$modelValue)&&(m.$modelValue=d(o));var n=m.$modelValue,r=m.$options&&m.$options.allowInvalid;function i(){m.$modelValue!==n&&m.$$writeModelToScope()}m.$$rawModelValue=t,r&&(m.$modelValue=t,i()),m.$$runValidators(t,m.$$lastCommittedViewValue,function(e){r||(m.$modelValue=e?t:te,i())})},this.$$writeModelToScope=function(){$(o,m.$modelValue),re(m.$viewChangeListeners,function(e){try{e()}catch(e){t(e)}})},this.$setViewValue=function(e,t){m.$viewValue=e,m.$options&&!m.$options.updateOnDefault||m.$$debounceViewValueCommit(t)},this.$$debounceViewValueCommit=function(e){var t,n=0,r=m.$options;r&&C(r.debounce)&&(A(t=r.debounce)?n=t:A(t[e])?n=t[e]:A(t.default)&&(n=t.default)),u.cancel(v),n?v=u(function(){m.$commitViewValue()},n):c.$$phase?m.$commitViewValue():o.$apply(function(){m.$commitViewValue()})},o.$watch(function(){var e=d(o);if(e!==m.$modelValue&&(m.$modelValue==m.$modelValue||e==e)){m.$modelValue=m.$$rawModelValue=e,f=te;for(var t=m.$formatters,n=t.length,r=e;n--;)r=t[n](r);m.$viewValue!==r&&(m.$viewValue=m.$$lastCommittedViewValue=r,m.$render(),m.$$runValidators(e,r,ae))}return e})}],mo=["$rootScope",function(o){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:vo,priority:1,compile:function(e){return e.addClass(co).addClass(fo).addClass(so),{pre:function(e,t,n,r){var i=r[0],o=r[1]||i.$$parentForm;i.$$setOptions(r[2]&&r[2].$options),o.$addControl(i),n.$observe("name",function(e){i.$name!==e&&i.$$parentForm.$$renameControl(i,e)}),e.$on("$destroy",function(){i.$$parentForm.$removeControl(i)})},post:function(t,e,n,r){var i=r[0];i.$options&&i.$options.updateOn&&e.on(i.$options.updateOn,function(e){i.$$debounceViewValueCommit(e&&e.type)}),e.on("blur",function(e){i.$touched||(o.$$phase?t.$evalAsync(i.$setTouched):t.$apply(i.$setTouched))})}}}}}],go=/(\s+|^)default(\s+|$)/;function yo(e){var i=e.ctrl,n=e.$element,r={},o=e.set,a=e.unset,s=e.$animate;function u(e,t){t&&!r[e]?(s.addClass(n,e),r[e]=!0):!t&&r[e]&&(s.removeClass(n,e),r[e]=!1)}function c(e,t){e=e?"-"+Oe(e,"-"):"",u(so+e,!0===t),u(uo+e,!1===t)}r[uo]=!(r[so]=n.hasClass(so)),i.$setValidity=function(e,t,n){ue(t)?function(e,t,n){i[e]||(i[e]={});o(i[e],t,n)}("$pending",e,n):function(e,t,n){i[e]&&a(i[e],t,n);bo(i[e])&&(i[e]=te)}("$pending",e,n);V(t)?t?(a(i.$error,e,n),o(i.$$success,e,n)):(o(i.$error,e,n),a(i.$$success,e,n)):(a(i.$error,e,n),a(i.$$success,e,n));i.$pending?(u(po,!0),i.$valid=i.$invalid=te,c("",null)):(u(po,!1),i.$valid=bo(i.$error),i.$invalid=!i.$valid,c("",i.$valid));var r;r=i.$pending&&i.$pending[e]?te:!i.$error[e]&&(!!i.$$success[e]||null);c(e,r),i.$$parentForm.$setValidity(e,r,i)}}function bo(e){if(e)for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function xo(){return{restrict:"E",require:["select","?ngModel"],controller:Go,link:function(e,n,t,r){var i=r[1];if(i){var o=r[0];if((o.ngModelCtrl=i).$render=function(){o.writeValue(i.$viewValue)},n.on("change",function(){e.$apply(function(){i.$setViewValue(o.readValue())})}),t.multiple){o.readValue=function(){var t=[];return re(n.find("option"),function(e){e.selected&&t.push(e.value)}),t},o.writeValue=function(e){var t=new Tt(e);re(n.find("option"),function(e){e.selected=C(t.get(e.value))})};var a,s=NaN;e.$watch(function(){s!==i.$viewValue||me(a,i.$viewValue)||(a=U(i.$viewValue),i.$render()),s=i.$viewValue}),i.$isEmpty=function(e){return!e||0===e.length}}}}}}function wo(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){r&&(n.required=!0,r.$validators.required=function(e,t){return!n.required||!r.$isEmpty(t)},n.$observe("required",function(){r.$validate()}))}}}function So(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i,o=n.ngPattern||n.pattern;n.$observe("pattern",function(e){if(le(e)&&0<e.length&&(e=new RegExp("^"+e+"$")),e&&!e.test)throw b("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",o,e,ye(t));i=e||te,r.$validate()}),r.$validators.pattern=function(e,t){return r.$isEmpty(t)||ue(i)||i.test(t)}}}}}function Co(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=-1;n.$observe("maxlength",function(e){var t=y(e);i=isNaN(t)?-1:t,r.$validate()}),r.$validators.maxlength=function(e,t){return i<0||r.$isEmpty(t)||t.length<=i}}}}}function Eo(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=0;n.$observe("minlength",function(e){i=y(e)||0,r.$validate()}),r.$validators.minlength=function(e,t){return r.$isEmpty(t)||t.length>=i}}}}}var ko,Ao,Oo,Mo,To=$i({terminal:!0,priority:1e3}),Vo=b("ngOptions"),No=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,jo=["$compile","$parse",function(x,C){var w=ee.createElement("option"),S=ee.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:function(e,a,t,n){var r=n[1];if(r){for(var s,u=n[0],i=t.multiple,o=0,c=a.children(),l=c.length;o<l;o++)if(""===c[o].value){s=c.eq(o);break}var f,h=!!s,p=ne(w.cloneNode(!1));p.val("?");var d=function(e,t,h){var l=e.match(No);if(!l)throw Vo("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",e,ye(t));function p(e,t){return v(e,x(e,t))}var n=l[5]||l[7],r=l[6],i=/ as /.test(l[0])&&l[1],d=l[9],o=C(l[2]?l[1]:n),$=i&&C(i)||o,a=d&&C(d),v=d?function(e,t){return a(h,t)}:function(e){return Mt(e)},m=C(l[2]||l[1]),g=C(l[3]||""),y=C(l[4]||""),b=C(l[8]),s={},x=r?function(e,t){return s[r]=t,s[n]=e,s}:function(e){return s[n]=e,s};function w(e,t,n,r,i){this.selectValue=e,this.viewValue=t,this.label=n,this.group=r,this.disabled=i}function S(e){var t;if(!r&&I(e))t=e;else for(var n in t=[],e)e.hasOwnProperty(n)&&"$"!==n.charAt(0)&&t.push(n);return t}return{trackBy:d,getTrackByValue:p,getWatchables:C(b,function(e){for(var t=[],n=S(e=e||[]),r=n.length,i=0;i<r;i++){var o=e===n?i:n[i],a=(e[o],x(e[o],o)),s=v(e[o],a);if(t.push(s),l[2]||l[1]){var u=m(h,a);t.push(u)}if(l[4]){var c=y(h,a);t.push(c)}}return t}),getOptions:function(){for(var e=[],t={},n=b(h)||[],r=S(n),i=r.length,o=0;o<i;o++){var a=n===r?o:r[o],s=n[a],u=x(s,a),c=$(h,u),l=v(c,u),f=new w(l,c,m(h,u),g(h,u),y(h,u));e.push(f),t[l]=f}return{items:e,selectValueMap:t,getOptionFromViewValue:function(e){return t[p(e)]},getViewValueFromOption:function(e){return d?E.copy(e.viewValue):e.viewValue}}}}}(t.ngOptions,a,e),$=function(){h||s.remove()},v=function(){p.remove()};i?(r.$isEmpty=function(e){return!e||0===e.length},u.writeValue=function(e){f.items.forEach(function(e){e.element.selected=!1}),e&&e.forEach(function(e){var t=f.getOptionFromViewValue(e);t&&!t.disabled&&(t.element.selected=!0)})},u.readValue=function(){var e=a.val()||[],n=[];return re(e,function(e){var t=f.selectValueMap[e];t&&!t.disabled&&n.push(f.getViewValueFromOption(t))}),n},d.trackBy&&e.$watchCollection(function(){if(fe(r.$viewValue))return r.$viewValue.map(function(e){return d.getTrackByValue(e)})},function(){r.$render()})):(u.writeValue=function(e){var t=f.getOptionFromViewValue(e);t&&!t.disabled?a[0].value!==t.selectValue&&(v(),$(),a[0].value=t.selectValue,t.element.selected=!0,t.element.setAttribute("selected","selected")):null===e||h?(v(),h||a.prepend(s),a.val(""),s.prop("selected",!0),s.attr("selected",!0)):($(),a.prepend(p),a.val("?"),p.prop("selected",!0),p.attr("selected",!0))},u.readValue=function(){var e=f.selectValueMap[a.val()];return e&&!e.disabled?($(),v(),f.getViewValueFromOption(e)):null},d.trackBy&&e.$watch(function(){return d.getTrackByValue(r.$viewValue)},function(){r.$render()})),h?(s.remove(),x(s)(e),s.removeClass("ng-scope")):s=ne(w.cloneNode(!1)),b(),e.$watchCollection(d.getWatchables,b)}function m(e,t){(e.element=t).disabled=e.disabled,e.label!==t.label&&(t.label=e.label,t.textContent=e.label),e.value!==t.value&&(t.value=e.selectValue)}function g(e,t,n,r){var i;return t&&j(t.nodeName)===n?i=t:(i=r.cloneNode(!1),t?e.insertBefore(i,t):e.appendChild(i)),i}function y(e){for(var t;e;)t=e.nextSibling,xt(e),e=t}function b(){var e=f&&u.readValue();f=d.getOptions();var i={},o=a[0].firstChild;if(h&&a.prepend(s),o=function(e){var t=s&&s[0],n=p&&p[0];if(t||n)for(;e&&(e===t||e===n||t&&t.nodeType===qe);)e=e.nextSibling;return e}(o),f.items.forEach(function(e){var t,n,r;e.group?((t=i[e.group])||(n=g(a[0],o,"optgroup",S),o=n.nextSibling,n.label=e.group,t=i[e.group]={groupElement:n,currentOptionElement:n.firstChild}),m(e,r=g(t.groupElement,t.currentOptionElement,"option",w)),t.currentOptionElement=r.nextSibling):(m(e,r=g(a[0],o,"option",w)),o=r.nextSibling)}),Object.keys(i).forEach(function(e){y(i[e].currentOptionElement)}),y(o),r.$render(),!r.$isEmpty(e)){var t=u.readValue();(d.trackBy?me(e,t):e===t)||(r.$setViewValue(t),r.$render())}}}}}],Po=["$locale","$interpolate","$log",function(d,$,v){var m=/{}/g,g=/^when(Minus)?(.+)$/;return{link:function(i,o,a){var s,e=a.count,u=a.$attr.when&&o.attr(a.$attr.when),c=a.offset||0,l=i.$eval(u)||{},f={},t=$.startSymbol(),n=$.endSymbol(),r=t+e+"-"+c+n,h=E.noop;function p(e){o.text(e||"")}re(a,function(e,t){var n=g.exec(t);if(n){var r=(n[1]?"-":"")+j(n[2]);l[r]=o.attr(a.$attr[t])}}),re(l,function(e,t){f[t]=$(e.replace(m,r))}),i.$watch(e,function(e){var t=parseFloat(e),n=isNaN(t);if(n||t in l||(t=d.pluralCat(t-c)),t!==s&&!(n&&A(s)&&isNaN(s))){h();var r=f[t];ue(r)?(null!=e&&v.debug("ngPluralize: no rule defined for '"+t+"' in "+u),h=ae,p()):h=i.$watch(r,p),s=t}})}}}],Do=["$parse","$animate",function(u,T){function V(e,t,n,r,i,o,a){e[n]=r,i&&(e[i]=o),e.$index=t,e.$first=0===t,e.$last=t===a-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=0==(1&t))}var N="$$NG_REMOVED",j=b("ngRepeat");return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(e,t){var w=t.ngRepeat,S=ee.createComment(" end ngRepeat: "+w+" "),n=w.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!n)throw j("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",w);var r=n[1],i=n[2],C=n[3],o=n[4];if(!(n=r.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/)))throw j("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",r);var a,E,k,A,O=n[3]||n[1],M=n[2];if(C&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(C)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(C)))throw j("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",C);var s={$id:Mt};return o?a=u(o):(k=function(e,t){return Mt(t)},A=function(e){return e}),function(g,y,e,t,b){a&&(E=function(e,t,n){return M&&(s[M]=e),s[O]=t,s.$index=n,a(g,s)});var x=Ie();g.$watchCollection(i,function(e){var r,t,n,i,o,a,s,u,c,l,f,h,p,d=y[0],$=Ie();if(C&&(g[C]=e),I(e))c=e,u=E||k;else for(var v in u=E||A,c=[],e)P.call(e,v)&&"$"!==v.charAt(0)&&c.push(v);for(i=c.length,f=new Array(i),r=0;r<i;r++)if(o=e===c?r:c[r],a=e[o],s=u(o,a,r),x[s])l=x[s],delete x[s],$[s]=l,f[r]=l;else{if($[s])throw re(f,function(e){e&&e.scope&&(x[e.id]=e)}),j("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",w,s,a);f[r]={id:s,scope:te,clone:te},$[s]=!0}for(var m in x){if(h=De((l=x[m]).clone),T.leave(h),h[0].parentNode)for(r=0,t=h.length;r<t;r++)h[r][N]=!0;l.scope.$destroy()}for(r=0;r<i;r++)if(o=e===c?r:c[r],a=e[o],(l=f[r]).scope){for(n=d;(n=n.nextSibling)&&n[N];);l.clone[0]!=n&&T.move(De(l.clone),null,ne(d)),d=(p=l).clone[p.clone.length-1],V(l.scope,r,O,a,M,o,i)}else b(function(e,t){l.scope=t;var n=S.cloneNode(!1);e[e.length++]=n,T.enter(e,null,ne(d)),d=n,l.clone=e,$[l.id]=l,V(l.scope,r,O,a,M,o,i)});x=$})}}}}],Io="ng-hide",Ro="ng-hide-animate",_o=["$animate",function(r){return{restrict:"A",multiElement:!0,link:function(e,t,n){e.$watch(n.ngShow,function(e){r[e?"removeClass":"addClass"](t,Io,{tempClasses:Ro})})}}}],qo=["$animate",function(r){return{restrict:"A",multiElement:!0,link:function(e,t,n){e.$watch(n.ngHide,function(e){r[e?"addClass":"removeClass"](t,Io,{tempClasses:Ro})})}}}],Fo=$i(function(e,n,t){e.$watch(t.ngStyle,function(e,t){t&&e!==t&&re(t,function(e,t){n.css(t,"")}),e&&n.css(e)},!0)}),Uo=["$animate",function(l){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(e,t,n,i){function o(e,t){return function(){e.splice(t,1)}}var r=n.ngSwitch||n.on,a=[],s=[],u=[],c=[];e.$watch(r,function(e){var t,n;for(t=0,n=u.length;t<n;++t)l.cancel(u[t]);for(t=u.length=0,n=c.length;t<n;++t){var r=De(s[t].clone);c[t].$destroy(),(u[t]=l.leave(r)).then(o(u,t))}s.length=0,c.length=0,(a=i.cases["!"+e]||i.cases["?"])&&re(a,function(i){i.transclude(function(e,t){c.push(t);var n=i.element;e[e.length++]=ee.createComment(" end ngSwitchWhen: ");var r={clone:e};s.push(r),l.enter(e,n.parent(),n)})})})}}}],Bo=$i({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["!"+n.ngSwitchWhen]=r.cases["!"+n.ngSwitchWhen]||[],r.cases["!"+n.ngSwitchWhen].push({transclude:i,element:t})}}),Lo=$i({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:t})}}),Ho=$i({restrict:"EAC",link:function(e,t,n,r,i){if(!i)throw b("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",ye(t));i(function(e){t.empty(),t.append(e)})}}),zo=["$templateCache",function(i){return{restrict:"E",terminal:!0,compile:function(e,t){if("text/ng-template"==t.type){var n=t.id,r=e[0].text;i.put(n,r)}}}}],Wo={$setViewValue:ae,$render:ae},Go=["$element","$scope","$attrs",function(n,e,t){var r=this,i=new Tt;r.ngModelCtrl=Wo,r.unknownOption=ne(ee.createElement("option")),r.renderUnknownOption=function(e){var t="? "+Mt(e)+" ?";r.unknownOption.val(t),n.prepend(r.unknownOption),n.val(t)},e.$on("$destroy",function(){r.renderUnknownOption=ae}),r.removeUnknownOption=function(){r.unknownOption.parent()&&r.unknownOption.remove()},r.readValue=function(){return r.removeUnknownOption(),n.val()},r.writeValue=function(e){r.hasOption(e)?(r.removeUnknownOption(),n.val(e),""===e&&r.emptyOption.prop("selected",!0)):null==e&&r.emptyOption?(r.removeUnknownOption(),n.val("")):r.renderUnknownOption(e)},r.addOption=function(e,t){je(e,'"option value"'),""===e&&(r.emptyOption=t);var n=i.get(e)||0;i.put(e,n+1)},r.removeOption=function(e){var t=i.get(e);t&&(1===t?(i.remove(e),""===e&&(r.emptyOption=te)):i.put(e,t-1))},r.hasOption=function(e){return!!i.get(e)}}],Yo=["$interpolate",function(n){return{restrict:"E",priority:100,compile:function(e,t){if(C(t.value))var u=n(t.value,!0);else{var c=n(e.text(),!0);c||t.$set("value",e.text())}return function(e,t,n){var r="$selectController",i=t.parent(),o=i.data(r)||i.parent().data(r);function a(e){o.addOption(e,t),o.ngModelCtrl.$render(),function(e){e[0].hasAttribute("selected")&&(e[0].selected=!0)}(t)}if(o&&o.ngModelCtrl){var s;if(u)n.$observe("value",function(e){C(s)&&o.removeOption(s),a(s=e)});else c?e.$watch(c,function(e,t){n.$set("value",e),t!==e&&o.removeOption(t),a(e)}):a(n.value);t.on("$destroy",function(){o.removeOption(n.value),o.ngModelCtrl.$render()})}}}}}],Jo=x({restrict:"E",terminal:!1});u.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):(function(){var i;if(!Te){var e=L();(v=ue(e)?u.jQuery:e?u[e]:te)&&v.fn.on?(ie((ne=v).fn,{scope:wt.scope,isolateScope:wt.isolateScope,controller:wt.controller,injector:wt.injector,inheritedData:wt.inheritedData}),i=v.cleanData,v.cleanData=function(e){var t;if(Me)Me=!1;else for(var n,r=0;null!=(n=e[r]);r++)(t=v._data(n,"events"))&&t.$destroy&&v(n).triggerHandler("$destroy");i(e)}):ne=st,E.element=ne,Te=!0}}(),ie(E,{bootstrap:Ce,copy:F,extend:ie,merge:r,equals:me,element:ne,forEach:re,injector:Rt,noop:ae,bind:z,toJson:G,fromJson:Y,identity:se,isUndefined:ue,isDefined:C,isString:le,isFunction:he,isObject:ce,isNumber:A,isElement:q,isArray:fe,version:Le,isDate:O,lowercase:j,uppercase:l,callbacks:{counter:0},getTestability:ke,$$minErr:b,$$csp:B,reloadWithDebugInfo:Ee}),ko=u,Ao=b("$injector"),Oo=b("ng"),(Mo=Ko(ko,"angular",Object)).$$minErr=Mo.$$minErr||b,(d=Ko(Mo,"module",function(){var e={};return function(s,u,c){return function(e,t){if("hasOwnProperty"===e)throw Oo("badname","hasOwnProperty is not a valid {0} name",t)}(s,"module"),u&&e.hasOwnProperty(s)&&(e[s]=null),Ko(e,s,function(){if(!u)throw Ao("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",s);var i=[],e=[],t=[],n=r("$injector","invoke","push",e),o={_invokeQueue:i,_configBlocks:e,_runBlocks:t,requires:u,name:s,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:r("$provide","value"),constant:r("$provide","constant","unshift"),decorator:a("$provide","decorator"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:n,run:function(e){return t.push(e),this}};return c&&n(c),o;function r(e,t,n,r){return r=r||i,function(){return r[n||"push"]([e,t,arguments]),o}}function a(n,r){return function(e,t){return t&&he(t)&&(t.$$moduleName=s),i.push([n,r,arguments]),o}}})}}))("ng",["ngLocale"],["$provide",function(e){e.provider({$$sanitizeUri:Mr}),e.provider("$compile",Qt).directive({a:vi,input:Ui,textarea:Ui,form:wi,script:zo,select:xo,style:Jo,option:Yo,ngBind:Li,ngBindHtml:zi,ngBindTemplate:Hi,ngClass:Yi,ngClassEven:Ki,ngClassOdd:Ji,ngCloak:Zi,ngController:Xi,ngForm:Si,ngHide:qo,ngIf:ro,ngInclude:io,ngInit:ao,ngNonBindable:To,ngPluralize:Po,ngRepeat:Do,ngShow:_o,ngStyle:Fo,ngSwitch:Uo,ngSwitchWhen:Bo,ngSwitchDefault:Lo,ngOptions:jo,ngTransclude:Ho,ngModel:mo,ngList:to,ngChange:Wi,pattern:So,ngPattern:So,required:wo,ngRequired:wo,minlength:Eo,ngMinlength:Eo,maxlength:Co,ngMaxlength:Co,ngValue:Fi,ngModelOptions:no}).directive({ngInclude:oo}).directive(mi).directive(Qi),e.provider({$anchorScroll:_t,$animate:Gt,$animateCss:Wt,$$animateQueue:zt,$$AnimateRunner:Ht,$browser:Jt,$cacheFactory:Kt,$controller:sn,$document:un,$exceptionHandler:cn,$filter:Wr,$$forceReflow:ln,$interpolate:Tn,$interval:Vn,$http:kn,$httpParamSerializer:yn,$httpParamSerializerJQLike:bn,$httpBackend:On,$xhrFactory:An,$location:Gn,$log:Yn,$parse:Sr,$rootScope:Or,$q:Cr,$$q:Er,$sce:Pr,$sceDelegate:jr,$sniffer:Dr,$templateCache:Zt,$templateRequest:Ir,$$testability:Rr,$timeout:_r,$window:Lr,$$rAF:Ar,$$jqLite:Ot,$$HashMap:Vt,$$cookieReader:zr})}]),E.module("ngLocale",[],["$provide",function(e){var i="one",o="other";e.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a",short:"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",pluralCat:function(e,t){var n=0|e,r=function(e,t){var n=t;te===n&&(n=Math.min(function(e){var t=(e+="").indexOf(".");return-1==t?0:e.length-t-1}(e),3));var r=Math.pow(10,n);return{v:n,f:(e*r|0)%r}}(e,t);return 1==n&&0==r.v?i:o}})}]),ne(ee).ready(function(){Se(ee,Ce)}));function Ko(e,t,n){return e[t]||(e[t]=n())}}(window,document),window.angular.$$csp().noInlineStyle||window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>');;
// C:\code\oanda-performances\client\src\bower_components\angular\angular-messages.min.js (pre-minified)
//-------------------------------
/*
AngularJS v1.4.8
(c) 2010-2015 Google, Inc. http://angularjs.org
License: MIT
*/
(function(z,h,A){'use strict';function m(h){return["$animate",function(r){return{restrict:"AE",transclude:"element",terminal:!0,require:"^^ngMessages",link:function(n,f,a,g,l){var c=f[0],p,h=a.ngMessage||a.when;a=a.ngMessageExp||a.whenExp;var k=function(b){p=b?v(b)?b:b.split(/[\s,]+/):null;g.reRender()};a?(k(n.$eval(a)),n.$watchCollection(a,k)):k(h);var e,q;g.register(c,q={test:function(b){var a=p;b=a?v(a)?0<=a.indexOf(b):a.hasOwnProperty(b):void 0;return b},attach:function(){e||l(n,function(b){r.enter(b,
null,f);e=b;var a=e.$$attachId=g.getAttachId();e.on("$destroy",function(){e&&e.$$attachId===a&&(g.deregister(c),q.detach())})})},detach:function(){if(e){var b=e;e=null;r.leave(b)}}})}}}]}var v=h.isArray,w=h.forEach,x=h.isString,y=h.element;h.module("ngMessages",[]).directive("ngMessages",["$animate",function(h){function r(f,a){return x(a)&&0===a.length||n(f.$eval(a))}function n(f){return x(f)?f.length:!!f}return{require:"ngMessages",restrict:"AE",controller:["$element","$scope","$attrs",function(f,
a,g){function l(b,a){for(var d=a,f=[];d&&d!==b;){var c=d.$$ngMessageNode;if(c&&c.length)return k[c];d.childNodes.length&&-1==f.indexOf(d)?(f.push(d),d=d.childNodes[d.childNodes.length-1]):d=d.previousSibling||d.parentNode}}var c=this,p=0,m=0;this.getAttachId=function(){return m++};var k=this.messages={},e,q;this.render=function(b){b=b||{};e=!1;q=b;for(var p=r(a,g.ngMessagesMultiple)||r(a,g.multiple),d=[],k={},s=c.head,l=!1,m=0;null!=s;){m++;var t=s.message,u=!1;l||w(b,function(a,b){!u&&n(a)&&t.test(b)&&
!k[b]&&(u=k[b]=!0,t.attach())});u?l=!p:d.push(t);s=s.next}w(d,function(b){b.detach()});d.length!==m?h.setClass(f,"ng-active","ng-inactive"):h.setClass(f,"ng-inactive","ng-active")};a.$watchCollection(g.ngMessages||g["for"],c.render);this.reRender=function(){e||(e=!0,a.$evalAsync(function(){e&&q&&c.render(q)}))};this.register=function(b,a){var d=p.toString();k[d]={message:a};var e=f[0],g=k[d];c.head?(e=l(e,b))?(g.next=e.next,e.next=g):(g.next=c.head,c.head=g):c.head=g;b.$$ngMessageNode=d;p++;c.reRender()};
this.deregister=function(b){var a=b.$$ngMessageNode;delete b.$$ngMessageNode;var d=k[a];(b=l(f[0],b))?b.next=d.next:c.head=d.next;delete k[a];c.reRender()}}]}}]).directive("ngMessagesInclude",["$templateRequest","$document","$compile",function(h,m,n){return{restrict:"AE",require:"^^ngMessages",link:function(f,a,g){var l=g.ngMessagesInclude||g.src;h(l).then(function(c){n(c)(f,function(c){a.after(c);c=y(m[0].createComment(" ngMessagesInclude: "+l+" "));a.after(c);a.remove()})})}}}]).directive("ngMessage",
m("AE")).directive("ngMessageExp",m("A"))})(window,window.angular);
//# sourceMappingURL=angular-messages.min.js.map
;
// C:\code\oanda-performances\client\src\bower_components\angular\angular-animate.js
//-------------------------------
!function(n,r){"use strict";var nn,tn,en,an,rn=r.noop,s=r.extend,M=r.element,on=r.forEach,sn=r.isArray,R=r.isString,_=r.isObject,E=r.isUndefined,q=r.isDefined,$=r.isFunction,u=r.isElement,L=1,un="-add",ln="-remove",cn="ng-",D="ng-animate",H="$$ngAnimateChildren";tn=E(n.ontransitionend)&&q(n.onwebkittransitionend)?("-webkit-",nn="WebkitTransition","webkitTransitionEnd transitionend"):(nn="transition","transitionend"),an=E(n.onanimationend)&&q(n.onwebkitanimationend)?("-webkit-",en="WebkitAnimation","webkitAnimationEnd animationend"):(en="animation","animationend");var i="Duration",fn="Property",t="Delay",mn="TimingFunction",o="PlayState",e=en+t,vn=en+i,a=nn+t,l=nn+i;function c(n,t,e){if(!n)throw ngMinErr("areq","Argument '{0}' is {1}",t||"?",e||"required");return n}function b(n,t){return n||t?n?t?(sn(n)&&(n=n.join(" ")),sn(t)&&(t=t.join(" ")),n+" "+t):n:t:""}function dn(n,e,a){var r="";return n=sn(n)?n:n&&R(n)&&n.length?n.split(/\s+/):[],on(n,function(n,t){n&&0<n.length&&(r+=0<t?" ":"",r+=a?e+n:n+e)}),r}function B(n){if(!n[0])return n;for(var t=0;t<n.length;t++){var e=n[t];if(e.nodeType==L)return e}}function pn(e){return function(n,t){t.addClass&&(function(t,n,e){on(n,function(n){t.addClass(n,e)})}(e,n,t.addClass),t.addClass=null),t.removeClass&&(function(t,n,e){on(n,function(n){t.removeClass(n,e)})}(e,n,t.removeClass),t.removeClass=null)}}function hn(n){if(!(n=n||{}).$$prepared){var t=n.domOperation||rn;n.domOperation=function(){n.$$domOperationFired=!0,t(),t=rn},n.$$prepared=!0}return n}function gn(n,t){$n(n,t),Cn(n,t)}function $n(n,t){t.from&&(n.css(t.from),t.from=null)}function Cn(n,t){t.to&&(n.css(t.to),t.to=null)}function J(n,t,e){var a=(t.addClass||"")+" "+(e.addClass||""),r=(t.removeClass||"")+" "+(e.removeClass||""),i=function(r,n,t){var e={};r=a(r),n=a(n),on(n,function(n,t){e[t]=1}),t=a(t),on(t,function(n,t){e[t]=1===e[t]?null:-1});var i={addClass:"",removeClass:""};function a(n){R(n)&&(n=n.split(" "));var t={};return on(n,function(n){n.length&&(t[n]=!0)}),t}return on(e,function(n,t){var e,a;1===n?(e="addClass",a=!r[t]):-1===n&&(e="removeClass",a=r[t]),a&&(i[e].length&&(i[e]+=" "),i[e]+=t)}),i}(n.attr("class"),a,r);e.preparationClasses&&(t.preparationClasses=K(e.preparationClasses,t.preparationClasses),delete e.preparationClasses);var o=t.domOperation!==rn?t.domOperation:null;return s(t,e),o&&(t.domOperation=o),i.addClass?t.addClass=i.addClass:t.addClass=null,i.removeClass?t.removeClass=i.removeClass:t.removeClass=null,t}function yn(n){return n instanceof r.element?n[0]:n}function Dn(n,t){var e=t?"-"+t+"s":"";return An(n,[a,e]),[a,e]}function bn(n,t){var e=t?"paused":"",a=en+o;return An(n,[a,e]),[a,e]}function An(n,t){var e=t[0],a=t[1];n.style[e]=a}function K(n,t){return n?t?n+" "+t:n:t}var f=[function(){return function(n,t,e){var a=e.ngAnimateChildren;r.isString(a)&&0===a.length?t.data(H,!0):e.$observe("ngAnimateChildren",function(n){n="on"===n||"true"===n,t.data(H,n)})}}],kn="$$animateCss",m={transitionDuration:l,transitionDelay:a,transitionProperty:nn+fn,animationDuration:vn,animationDelay:e,animationIterationCount:en+"IterationCount"},wn={transitionDuration:l,transitionDelay:a,animationDuration:vn,animationDelay:e};function Tn(n,t){return[t?e:a,n+"s"]}function Sn(n,t,e){var r=Object.create(null),i=n.getComputedStyle(t)||{};return on(e,function(n,t){var e=i[n];if(e){var a=e.charAt(0);("-"===a||"+"===a||0<=a)&&(e=function(n){var t=0,e=n.split(/\s*,\s*/);return on(e,function(n){"s"==n.charAt(n.length-1)&&(n=n.substring(0,n.length-1)),n=parseFloat(n)||0,t=t?Math.max(n,t):n}),t}(e)),0===e&&(e=null),r[t]=e}}),r}function jn(n){return 0===n||null!=n}function xn(n,t){var e=nn,a=n+"s";return t?e+=i:a+=" linear all",[e,a]}function v(){var e=Object.create(null);return{flush:function(){e=Object.create(null)},count:function(n){var t=e[n];return t?t.total:0},get:function(n){var t=e[n];return t&&t.value},put:function(n,t){e[n]?e[n].total++:e[n]={total:1,value:t}}}}function On(t,e,n){on(n,function(n){t[n]=q(t[n])?t[n]:e.style.getPropertyValue(n)})}var d=["$animateProvider",function(n){var Y=v(),Z=v();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$animate",function(B,J,K,U,e,Q,t,W){var V=pn(J),r=0;function z(n,t){var e="$$ngAnimateParentKey",a=n.parentNode;return(a[e]||(a[e]=++r))+"-"+n.getAttribute("class")+"-"+t}var a=[];function G(n){a.push(n),t.waitUntilQuiet(function(){Y.flush(),Z.flush();for(var n=e(),t=0;t<a.length;t++)a[t](n);a.length=0})}function X(n,t,e){var a=function(n,t,e,a){var r=Y.get(e);return r||"infinite"===(r=Sn(B,n,a)).animationIterationCount&&(r.animationIterationCount=1),Y.put(e,r),r}(n,0,e,m),r=a.animationDelay,i=a.transitionDelay;return a.maxDelay=r&&i?Math.max(r,i):r||i,a.maxDuration=Math.max(a.animationDuration*a.animationIterationCount,a.transitionDuration),a}return function(m,v){var d={},p=yn(m);if(!p||!p.parentNode||!W.enabled())return L();v=hn(v);var h,a,r,t,i,g,$,C,y,D=[],n=m.attr("class"),e=function(n){var t={};return n&&(n.to||n.from)&&(t.to=n.to,t.from=n.from),t}(v);if(0===v.duration||!Q.animations&&!Q.transitions)return L();var o=v.event&&sn(v.event)?v.event.join(" "):v.event,s="",u="";o&&v.structural?s=dn(o,cn,!0):o&&(s=o),v.addClass&&(u+=dn(v.addClass,un)),v.removeClass&&(u.length&&(u+=" "),u+=dn(v.removeClass,ln)),v.applyClassesEarly&&u.length&&V(m,v);var b,A,l,k=[s,u].join(" ").trim(),w=n+" "+k,T=dn(k,"-active"),c=e.to&&0<Object.keys(e.to).length;if(!(0<(v.keyframeStyle||"").length)&&!c&&!k)return L();if(0<v.stagger){var f=parseFloat(v.stagger);A={transitionDelay:f,animationDelay:f,transitionDuration:0,animationDuration:0}}else b=z(p,w),A=function(n,t,e,a){var r;if(0<Y.count(e)&&!(r=Z.get(e))){var i=dn(t,"-stagger");J.addClass(n,i),(r=Sn(B,n,a)).animationDuration=Math.max(r.animationDuration,0),r.transitionDuration=Math.max(r.transitionDuration,0),J.removeClass(n,i),Z.put(e,r)}return r||{}}(p,k,b,wn);if(v.$$skipPreparationClasses||J.addClass(m,k),v.transitionStyle){var S=[nn,v.transitionStyle];An(p,S),D.push(S)}if(0<=v.duration){l=0<p.style[nn].length;var j=xn(v.duration,l);An(p,j),D.push(j)}if(v.keyframeStyle){var x=[en,v.keyframeStyle];An(p,x),D.push(x)}var O=A?0<=v.staggerIndex?v.staggerIndex:Y.count(b):0,P=0===O;P&&!v.skipBlocking&&Dn(p,9999);var F=X(p,0,b),N=F.maxDelay;g=Math.max(N,0),C=F.maxDuration;var I={};if(I.hasTransitions=0<F.transitionDuration,I.hasAnimations=0<F.animationDuration,I.hasTransitionAll=I.hasTransitions&&"all"==F.transitionProperty,I.applyTransitionDuration=c&&(I.hasTransitions&&!I.hasTransitionAll||I.hasAnimations&&!I.hasTransitions),I.applyAnimationDuration=v.duration&&I.hasAnimations,I.applyTransitionDelay=jn(v.delay)&&(I.applyTransitionDuration||I.hasTransitions),I.applyAnimationDelay=jn(v.delay)&&I.hasAnimations,I.recalculateTimingStyles=0<u.length,(I.applyTransitionDuration||I.applyAnimationDuration)&&(C=v.duration?parseFloat(v.duration):C,I.applyTransitionDuration&&(I.hasTransitions=!0,F.transitionDuration=C,l=0<p.style[nn+fn].length,D.push(xn(C,l))),I.applyAnimationDuration&&(I.hasAnimations=!0,F.animationDuration=C,D.push(function(n){return[vn,n+"s"]}(C)))),0===C&&!I.recalculateTimingStyles)return L();if(null!=v.delay){var M=parseFloat(v.delay);I.applyTransitionDelay&&D.push(Tn(M)),I.applyAnimationDelay&&D.push(Tn(M,!0))}return null==v.duration&&0<F.transitionDuration&&(I.recalculateTimingStyles=I.recalculateTimingStyles||P),$=1e3*g,y=1e3*C,v.skipBlocking||(I.blockTransition=0<F.transitionDuration,I.blockKeyframeAnimation=0<F.animationDuration&&0<A.animationDelay&&0===A.animationDuration),v.from&&(v.cleanupStyles&&On(d,p,Object.keys(v.from)),$n(m,v)),I.blockTransition||I.blockKeyframeAnimation?q(C):v.skipBlocking||Dn(p,!1),{$$willAnimate:!0,end:R,start:function(){if(!h)return t=new K(i={end:R,cancel:_,resume:null,pause:null}),G(H),t}};function R(){E()}function _(){E(!0)}function E(n){h||r&&a||(a=!(h=!0),v.$$skipPreparationClasses||J.removeClass(m,k),J.removeClass(m,T),bn(p,!1),Dn(p,!1),on(D,function(n){p.style[n[0]]=""}),V(m,v),gn(m,v),Object.keys(d).length&&on(d,function(n,t){n?p.style.setProperty(t,n):p.style.removeProperty(t)}),v.onDone&&v.onDone(),t&&t.complete(!n))}function q(n){I.blockTransition&&Dn(p,n),I.blockKeyframeAnimation&&bn(p,!!n)}function L(){return t=new K({end:R,cancel:_}),G(rn),E(),{$$willAnimate:!1,start:function(){return t},end:R}}function H(){if(!h)if(p.parentNode){var u,l=[],n=function(n){if(r)a&&n&&(a=!1,E());else if(a=!n,F.animationDuration){var t=bn(p,a);a?D.push(t):function(n,t){var e=n.indexOf(t);0<=t&&n.splice(e,1)}(D,t)}},t=0<O&&(F.transitionDuration&&0===A.transitionDuration||F.animationDuration&&0===A.animationDuration)&&Math.max(A.animationDelay,A.transitionDelay);t?U(e,Math.floor(t*O*1e3),!1):e(),i.resume=function(){n(!0)},i.pause=function(){n(!1)}}else E();function e(){if(!h){if(q(!1),on(D,function(n){var t=n[0],e=n[1];p.style[t]=e}),V(m,v),J.addClass(m,T),I.recalculateTimingStyles){if(w=p.className+" "+k,b=z(p,w),F=X(p,0,b),N=F.maxDelay,g=Math.max(N,0),0===(C=F.maxDuration))return void E();I.hasTransitions=0<F.transitionDuration,I.hasAnimations=0<F.animationDuration}if(I.applyAnimationDelay&&(N="boolean"!=typeof v.delay&&jn(v.delay)?parseFloat(v.delay):N,g=Math.max(N,0),F.animationDelay=N,M=Tn(N,!0),D.push(M),p.style[M[0]]=M[1]),$=1e3*g,y=1e3*C,v.easing){var n,t=v.easing;I.hasTransitions&&(n=nn+mn,D.push([n,t]),p.style[n]=t),I.hasAnimations&&(n=en+mn,D.push([n,t]),p.style[n]=t)}F.transitionDuration&&l.push(tn),F.animationDuration&&l.push(an),u=Date.now();var e=$+1.5*y,a=u+e,r=m.data(kn)||[],i=!0;if(r.length){var o=r[0];(i=a>o.expectedEndTime)?U.cancel(o.timer):r.push(E)}if(i){var s=U(c,e,!1);r[0]={timer:s,expectedEndTime:a},r.push(E),m.data(kn,r)}m.on(l.join(" "),f),v.to&&(v.cleanupStyles&&On(d,p,Object.keys(v.to)),Cn(m,v))}}function c(){var n=m.data(kn);if(n){for(var t=1;t<n.length;t++)n[t]();m.removeData(kn)}}function f(n){n.stopPropagation();var t=n.originalEvent||n,e=t.$manualTimeStamp||t.timeStamp||Date.now(),a=parseFloat(t.elapsedTime.toFixed(3));Math.max(e-u,0)>=$&&C<=a&&(r=!0,E())}}}}]}],p=["$$animationProvider",function(n){n.drivers.push("$$animateCssDriver");var $="ng-animate-shim",C="ng-anchor-out";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(m,n,v,t,e,a,r){if(!e.animations&&!e.transitions)return rn;var d=r[0].body,i=yn(t),p=M(function(n){return n.parentNode&&11===n.parentNode.nodeType}(i)||d.contains(i)?i:d);pn(a);return function(n){return n.from&&n.to?function(n,t,e,a){var r=s(n),i=s(t),o=[];if(on(a,function(n){var t=function(n,t,r){var i=M(yn(t).cloneNode(!0)),o=h(l(i));t.addClass($),r.addClass($),i.addClass("ng-anchor"),p.append(i);var a,e=function(){var n=m(i,{addClass:C,delay:!0,from:u(t)});return n.$$willAnimate?n:null}();if(!e&&!(a=c()))return f();var s=e||a;return{start:function(){var n,t=s.start();return t.done(function(){if(t=null,!a&&(a=c()))return(t=a.start()).done(function(){t=null,f(),n.complete()}),t;f(),n.complete()}),n=new v({end:e,cancel:e});function e(){t&&t.end()}}};function u(n){var e={},a=yn(n).getBoundingClientRect();return on(["width","height","top","left"],function(n){var t=a[n];switch(n){case"top":t+=d.scrollTop;break;case"left":t+=d.scrollLeft}e[n]=Math.floor(t)+"px"}),e}function l(n){return n.attr("class")||""}function c(){var n=h(l(r)),t=g(n,o),e=g(o,n),a=m(i,{to:u(r),addClass:"ng-anchor-in "+t,removeClass:C+" "+e,delay:!0});return a.$$willAnimate?a:null}function f(){i.remove(),t.removeClass($),r.removeClass($)}}(0,n.out,n.in);t&&o.push(t)}),!r&&!i&&0===o.length)return;return{start:function(){var t=[];r&&t.push(r.start()),i&&t.push(i.start()),on(o,function(n){t.push(n.start())});var e=new v({end:n,cancel:n});return v.all(t,function(n){e.complete(n)}),e;function n(){on(t,function(n){n.end()})}}}}(n.from,n.to,n.classes,n.anchors):s(n)};function h(n){return n.replace(/\bng-\S+\b/g,"")}function g(n,t){return R(n)&&(n=n.split(" ")),R(t)&&(t=t.split(" ")),n.filter(function(n){return-1===t.indexOf(n)}).join(" ")}function s(n){var t=n.element,e=n.options||{};n.structural&&(e.event=n.event,e.structural=!0,e.applyClassesEarly=!0,"leave"===n.event&&(e.onDone=e.domOperation)),e.preparationClasses&&(e.event=K(e.event,e.preparationClasses));var a=m(t,e);return a.$$willAnimate?a:null}}]}],h=["$animateProvider",function(g){this.$get=["$injector","$$AnimateRunner","$$jqLite",function(d,p,n){var h=pn(n);return function(o,n,t,s){3===arguments.length&&_(t)&&(s=t,t=null),s=hn(s),t||(t=o.attr("class")||"",s.addClass&&(t+=" "+s.addClass),s.removeClass&&(t+=" "+s.removeClass));var u,l,e,a,c=s.addClass,f=s.removeClass,r=function(n){n=sn(n)?n:n.split(" ");for(var t=[],e={},a=0;a<n.length;a++){var r=n[a],i=g.$$registeredAnimations[r];i&&!e[r]&&(t.push(d.get(i)),e[r]=!0)}return t}(t);r.length&&(e="leave"==n?(a="leave","afterLeave"):(a="before"+n.charAt(0).toUpperCase()+n.substr(1),n),"enter"!==n&&"move"!==n&&(u=i(o,n,s,r,a)),l=i(o,n,s,r,e));if(u||l)return{start:function(){var t,n=[];u&&n.push(function(n){t=u(n)}),n.length?n.push(function(n){m(),n(!0)}):m(),l&&n.push(function(n){t=l(n)});var e=!1,a=new p({end:function(){i()},cancel:function(){i(!0)}});return p.chain(n,r),a;function r(n){e=!0,m(),gn(o,s),a.complete(n)}function i(n){e||((t||rn)(n),r(n))}}};function m(){s.domOperation(),h(o,s)}function v(o,s,u,n,t){var e=[];return on(n,function(n){var i=n[t];i&&e.push(function(){function t(n){r||(r=!0,(a||rn)(n),e.complete(!n))}var e,a,r=!1;return e=new p({end:function(){t()},cancel:function(){t(!0)}}),a=function(n,t,e,a,r){var i;switch(e){case"animate":i=[t,a.from,a.to,r];break;case"setClass":i=[t,c,f,r];break;case"addClass":i=[t,c,r];break;case"removeClass":i=[t,f,r];break;default:i=[t,r]}i.push(a);var o=n.apply(n,i);if(o)if($(o.start)&&(o=o.start()),o instanceof p)o.done(r);else if($(o))return o;return rn}(i,o,s,u,function(n){t(!1===n)}),e})}),e}function i(n,t,e,a,r){var i,o,s=v(n,t,e,a,r);0===s.length&&("beforeSetClass"===r?(i=v(n,"removeClass",e,a,"beforeRemoveClass"),o=v(n,"addClass",e,a,"beforeAddClass")):"setClass"===r&&(i=v(n,"removeClass",e,a,"removeClass"),o=v(n,"addClass",e,a,"addClass")),i&&(s=s.concat(i)),o&&(s=s.concat(o)));if(0!==s.length)return function(n){var e=[];return s.length&&on(s,function(n){e.push(n())}),e.length?p.all(e,n):n(),function(t){on(e,function(n){t?n.cancel():n.end()})}}}}}]}],g=["$$animationProvider",function(n){n.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function(i,o){return function(n){if(n.from&&n.to){var a=t(n.from),r=t(n.to);if(!a&&!r)return;return{start:function(){var n=[];a&&n.push(a.start()),r&&n.push(r.start()),o.all(n,function(n){t.complete(n)});var t=new o({end:e(),cancel:e()});return t;function e(){return function(){on(n,function(n){n.end()})}}}}}return t(n)};function t(n){var t=n.element,e=n.event,a=n.options,r=n.classes;return i(t,e,r,a)}}]}],U="data-ng-animate",Q="$ngAnimatePin",C=["$animateProvider",function(o){var r=this.rules={skip:[],cancel:[],join:[]};function N(n,t,e,a){return r[n].some(function(n){return n(t,e,a)})}function I(n,t){var e=0<((n=n||{}).addClass||"").length,a=0<(n.removeClass||"").length;return t?e&&a:e||a}r.join.push(function(n,t,e){return!t.structural&&I(t.options)}),r.skip.push(function(n,t,e){return!t.structural&&!I(t.options)}),r.skip.push(function(n,t,e){return"leave"==e.event&&t.structural}),r.skip.push(function(n,t,e){return e.structural&&2===e.state&&!t.structural}),r.cancel.push(function(n,t,e){return e.structural&&t.structural}),r.cancel.push(function(n,t,e){return 2===e.state&&t.structural}),r.cancel.push(function(n,t,e){var a=t.options,r=e.options;return a.addClass&&a.addClass===r.removeClass||a.removeClass&&a.removeClass===r.addClass}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function(g,$,C,y,n,D,b,t,e,a){var A=new n,k=new n,w=null;var r=$.$watch(function(){return 0===t.totalPendingRequests},function(n){n&&(r(),$.$$postDigest(function(){$.$$postDigest(function(){null===w&&(w=!0)})}))}),T={},i=o.classNameFilter(),S=i?function(n){return i.test(n)}:function(){return!0},j=pn(e);function x(n,t){return J(n,t,{})}return{on:function(n,t,e){var a=B(t);T[n]=T[n]||[],T[n].push({node:a,callback:e})},off:function(n,t,e){var a,r,i,o=T[n];o&&(T[n]=1===arguments.length?null:(a=o,r=e,i=B(t),a.filter(function(n){return!(n.node===i&&(!r||n.callback===r))})))},pin:function(n,t){c(u(n),"element","not an element"),c(u(t),"parentElement","not an element"),n.data(Q,t)},push:function(n,t,e,a){return(e=e||{}).domOperation=a,function(r,i,o){var s,n;(r=function(n){if(n instanceof M)switch(n.length){case 0:return[];case 1:if(n[0].nodeType===L)return n;break;default:return M(B(n))}if(n.nodeType===L)return M(n)}(r))&&(s=yn(r),n=r.parent());o=hn(o);var u=new b,l=function(){var t=!1;return function(n){t?n():$.$$postDigest(function(){t=!0,n()})}}();sn(o.addClass)&&(o.addClass=o.addClass.join(" "));o.addClass&&!R(o.addClass)&&(o.addClass=null);sn(o.removeClass)&&(o.removeClass=o.removeClass.join(" "));o.removeClass&&!R(o.removeClass)&&(o.removeClass=null);o.from&&!_(o.from)&&(o.from=null);o.to&&!_(o.to)&&(o.to=null);if(!s)return h(),u;var t=[s.className,o.addClass,o.removeClass].join(" ");if(!S(t))return h(),u;var c=0<=["enter","move","leave"].indexOf(i),e=!w||k.get(s),a=!e&&A.get(s)||{},f=!!a.state;e||f&&1==a.state||(e=!function(n,t){var e,a=M(y[0].body),r=P(n,a)||"HTML"===n[0].nodeName,i=P(n,C),o=!1,s=n.data(Q);s&&(t=s);for(;t&&t.length;){i=i||P(t,C);var u=t[0];if(u.nodeType!==L)break;var l=A.get(u)||{};if(o=o||(l.structural||k.get(u)),E(e)||!0===e){var c=t.data(H);q(c)&&(e=c)}if(o&&!1===e)break;(i=i||P(t,C))||(s=t.data(Q))&&(t=s),r=r||P(t,a),t=t.parent()}return(!o||e)&&i&&r}(r,n));if(e)return h(),u;c&&function(n){var t=yn(n).querySelectorAll("["+U+"]");on(t,function(n){var t=parseInt(n.getAttribute(U)),e=A.get(n);switch(t){case 2:e.runner.end();case 1:e&&A.remove(n)}})}(r);var m={structural:c,element:r,event:i,close:h,options:o,runner:u};if(f){if(N("skip",r,m,a))return 2===a.state?(h(),u):(J(r,a.options,o),a.runner);if(N("cancel",r,m,a))if(2===a.state)a.runner.end();else{if(!a.structural)return J(r,a.options,m.options),a.runner;a.close()}else if(N("join",r,m,a)){if(2!==a.state)return function(n,t,e){var a="";t&&(a=dn(t,cn,!0)),e.addClass&&(a=K(a,dn(e.addClass,un))),e.removeClass&&(a=K(a,dn(e.removeClass,ln))),a.length&&(e.preparationClasses=a,n.addClass(a))}(r,c?i:null,o),i=m.event=a.event,o=J(r,a.options,m.options),a.runner;x(r,o)}}else x(r,o);var v=m.structural;v=v||("animate"===m.event&&0<Object.keys(m.options.to||{}).length||I(m.options));if(!v)return h(),O(r),u;var d=(a.counter||0)+1;return m.counter=d,F(r,1,m),$.$$postDigest(function(){var n=A.get(s),t=!n;n=n||{};var e=0<(r.parent()||[]).length&&("animate"===n.event||n.structural||I(n.options));if(t||n.counter!==d||!e)return t&&(j(r,o),gn(r,o)),(t||c&&n.event!==i)&&(o.domOperation(),u.end()),void(e||O(r));i=!n.structural&&I(n.options,!0)?"setClass":n.event,F(r,2);var a=D(r,i,n.options);a.done(function(n){h(!n);var t=A.get(s);t&&t.counter===d&&O(yn(r)),p(u,i,"close",{})}),u.setHost(a),p(u,i,"start",{})}),u;function p(n,t,e,a){l(function(){var n=function(n,t){var e=yn(n),a=[],r=T[t];return r&&on(r,function(n){n.node.contains(e)&&a.push(n.callback)}),a}(r,t);n.length&&g(function(){on(n,function(n){n(r,e,a)})})}),n.progress(t,e,a)}function h(n){!function(n,t){t.preparationClasses&&(n.removeClass(t.preparationClasses),t.preparationClasses=null),t.activeClasses&&(n.removeClass(t.activeClasses),t.activeClasses=null)}(r,o),j(r,o),gn(r,o),o.domOperation(),u.complete(!n)}}(n,t,e)},enabled:function(n,t){var e=arguments.length;if(0===e)t=!!w;else if(u(n)){var a=yn(n),r=k.get(a);1===e?t=!r:(t=!!t)?r&&k.remove(a):k.put(a,!0)}else t=w=!!n;return t}};function O(n){var t=yn(n);t.removeAttribute(U),A.remove(t)}function P(n,t){return yn(n)===yn(t)}function F(n,t,e){(e=e||{}).state=t;var a=yn(n);a.setAttribute(U,t);var r=A.get(a),i=r?s(r,e):e;A.put(a,i)}}]}],y=["$q","$sniffer","$$animateAsyncRun",function(t,n,e){function a(n){this.setHost(n),this._doneCallbacks=[],this._runInAnimationFrame=e(),this._state=0}return a.chain=function(n,e){var a=0;!function t(){if(a===n.length)return void e(!0);n[a](function(n){!1!==n?(a++,t()):e(!1)})}()},a.all=function(t,e){var a=0,r=!0;function i(n){r=r&&n,++a===t.length&&e(r)}on(t,function(n){n.done(i)})},a.prototype={setHost:function(n){this.host=n||{}},done:function(n){2===this._state?n():this._doneCallbacks.push(n)},progress:rn,getPromise:function(){if(!this.promise){var n=this;this.promise=t(function(t,e){n.done(function(n){!1===n?e():t()})})}return this.promise},then:function(n,t){return this.getPromise().then(n,t)},catch:function(n){return this.getPromise().catch(n)},finally:function(n){return this.getPromise().finally(n)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(n){var t=this;0===t._state&&(t._state=1,t._runInAnimationFrame(function(){t._resolve(n)}))},_resolve:function(t){2!==this._state&&(on(this._doneCallbacks,function(n){n(t)}),this._doneCallbacks.length=0,this._state=2)}},a}],A=["$animateProvider",function(n){var g="ng-animate-ref",$=this.drivers=[],C="$$animationRunner";function y(n){return n.data(C)}this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(l,c,f,m,v,d){var p=[],h=pn(l);return function(t,e,a){a=hn(a);var n=0<=["enter","move","leave"].indexOf(e),r=new m({end:function(){u()},cancel:function(){u(!0)}});if(!$.length)return u(),r;!function(n,t){n.data(C,t)}(t,r);var i=b(t.attr("class"),b(a.addClass,a.removeClass)),o=a.tempClasses;return o&&(i+=" "+o,a.tempClasses=null),p.push({element:t,classes:i,event:e,structural:n,options:a,beforeStart:function(){t.addClass(D),o&&l.addClass(t,o)},close:u}),t.on("$destroy",s),1<p.length||c.$$postDigest(function(){var t=[];on(p,function(n){y(n.element)?t.push(n):n.close()}),p.length=0;var n=function(c){var f=[],s={};on(c,function(n,e){var t=yn(n.element),a=n.event,r=0<=["enter","move"].indexOf(a),i=n.structural?function(n){var t=n.hasAttribute(g)?[n]:n.querySelectorAll("[ng-animate-ref]"),e=[];return on(t,function(n){var t=n.getAttribute(g);t&&t.length&&e.push(n)}),e}(t):[];if(i.length){var o=r?"to":"from";on(i,function(n){var t=n.getAttribute(g);s[t]=s[t]||{},s[t][o]={animationID:e,element:M(n)}})}else f.push(n)});var m={},v={};return on(s,function(n,t){var e=n.from,a=n.to;if(e&&a){var r=c[e.animationID],i=c[a.animationID],o=e.animationID.toString();if(!v[o]){var s=v[o]={structural:!0,beforeStart:function(){r.beforeStart(),i.beforeStart()},close:function(){r.close(),i.close()},classes:function(n,t){n=n.split(" "),t=t.split(" ");for(var e=[],a=0;a<n.length;a++){var r=n[a];if("ng-"!==r.substring(0,3))for(var i=0;i<t.length;i++)if(r===t[i]){e.push(r);break}}return e.join(" ")}(r.classes,i.classes),from:r,to:i,anchors:[]};s.classes.length?f.push(s):(f.push(r),f.push(i))}v[o].anchors.push({out:e.element,in:a.element})}else{var u=e?e.animationID:a.animationID,l=u.toString();m[l]||(m[l]=!0,f.push(c[u]))}}),f}(t),e=[];on(n,function(r){e.push({domNode:yn(r.from?r.from.element:r.element),fn:function(){r.beforeStart();var n,t=r.close;if(y(r.anchors?r.from.element||r.to.element:r.element)){var e=function(n){for(var t=$.length-1;0<=t;t--){var e=$[t];if(f.has(e)){var a=f.get(e)(n);if(a)return a}}}(r);e&&(n=e.start)}if(n){var a=n();a.done(function(n){t(!n)}),function(n,t){n.from&&n.to?(e(n.from.element),e(n.to.element)):e(n.element);function e(n){y(n).setHost(t)}}(r,a)}else t()}})}),d(function(n){var t,r={children:[]},i=new v;for(t=0;t<n.length;t++){var e=n[t];i.put(e.domNode,n[t]={domNode:e.domNode,fn:e.fn,children:[]})}for(t=0;t<n.length;t++)o(n[t]);return function(n){var t,e=[],a=[];for(t=0;t<n.children.length;t++)a.push(n.children[t]);var r=a.length,i=0,o=[];for(t=0;t<a.length;t++){var s=a[t];r<=0&&(r=i,i=0,e.push(o),o=[]),o.push(s.fn),s.children.forEach(function(n){i++,a.push(n)}),r--}o.length&&e.push(o);return e}(r);function o(n){if(n.processed)return n;n.processed=!0;var t,e=n.domNode,a=e.parentNode;for(i.put(e,n);a;){if(t=i.get(a)){t.processed||(t=o(t));break}a=a.parentNode}return(t||r).children.push(n),n}}(e))}),r;function s(){var n=y(t);!n||"leave"===e&&a.$$domOperationFired||n.end()}function u(n){t.off("$destroy",s),function(n){n.removeData(C)}(t),h(t,a),gn(t,a),a.domOperation(),o&&l.removeClass(t,o),t.removeClass(D),r.complete(!n)}}}]}];r.module("ngAnimate",[]).directive("ngAnimateChildren",f).factory("$$rAFScheduler",["$$rAF",function(e){var a,r;function n(n){a=a.concat(n),i()}return a=n.queue=[],n.waitUntilQuiet=function(n){r&&r(),r=e(function(){r=null,n(),i()})},n;function i(){if(a.length){for(var n=a.shift(),t=0;t<n.length;t++)n[t]();r||e(function(){r||i()})}}}]).factory("$$AnimateRunner",y).factory("$$animateAsyncRun",["$$rAF",function(t){var e=[];function a(n){e.push(n),1<e.length||t(function(){for(var n=0;n<e.length;n++)e[n]();e=[]})}return function(){var t=!1;return a(function(){t=!0}),function(n){t?n():a(n)}}}]).provider("$$animateQueue",C).provider("$$animation",A).provider("$animateCss",d).provider("$$animateCssDriver",p).provider("$$animateJs",h).provider("$$animateJsDriver",g)}(window,window.angular);;
// C:\code\oanda-performances\client\src\bower_components\underscore\underscore.js
//-------------------------------
!function(){function r(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},t=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,a=Array.isArray,l=Object.keys,f=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.1";function v(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,t,r){return u.call(i,n,t,r)};case 4:return function(n,t,r,e){return u.call(i,n,t,r,e)}}return function(){return u.apply(i,arguments)}}function y(n,t,r){return h.iteratee!==d?h.iteratee(n,t):null==n?h.identity:h.isFunction(n)?v(n,t,r):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var d;h.iteratee=d=function(n,t){return y(n,t,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),t=Array(n),r=0;r<n;r++)t[r]=arguments[r+i];switch(i){case 0:return u.call(this,t);case 1:return u.call(this,arguments[0],t);case 2:return u.call(this,arguments[0],arguments[1],t)}var e=Array(i+1);for(r=0;r<i;r++)e[r]=arguments[r];return e[i]=t,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(f)return f(n);r.prototype=n;var t=new r;return r.prototype=null,t}function b(t){return function(n){return null==n?void 0:n[t]}}function j(n,t){return null!=n&&i.call(n,t)}function x(n,t){for(var r=t.length,e=0;e<r;e++){if(null==n)return;n=n[t[e]]}return r?n:void 0}function _(n){var t=w(n);return"number"==typeof t&&0<=t&&t<=A}var A=Math.pow(2,53)-1,w=b("length");h.each=h.forEach=function(n,t,r){var e,u;if(t=v(t,r),_(n))for(e=0,u=n.length;e<u;e++)t(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)t(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,t,r){t=y(t,r);for(var e=!_(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i};function O(c){return function(n,t,r,e){var u=3<=arguments.length;return function(n,t,r,e){var u=!_(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(r=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;r=t(r,n[a],a,n)}return r}(n,v(t,e,4),r,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,t,r){var e=(_(n)?h.findIndex:h.findKey)(n,t,r);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,t){var u=[];return e=y(e,t),h.each(n,function(n,t,r){e(n,t,r)&&u.push(n)}),u},h.reject=function(n,t,r){return h.filter(n,h.negate(y(t)),r)},h.every=h.all=function(n,t,r){t=y(t,r);for(var e=!_(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},h.some=h.any=function(n,t,r){t=y(t,r);for(var e=!_(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,t,r,e){return _(n)||(n=h.values(n)),"number"==typeof r&&!e||(r=0),0<=h.indexOf(n,t,r)},h.invoke=g(function(n,r,e){var u,i;return h.isFunction(r)?i=r:h.isArray(r)&&(u=r.slice(0,-1),r=r[r.length-1]),h.map(n,function(n){var t=i;if(!t){if(u&&u.length&&(n=x(n,u)),null==n)return;t=n[r]}return null==t?t:t.apply(n,e)})}),h.pluck=function(n,t){return h.map(n,h.property(t))},h.where=function(n,t){return h.filter(n,h.matcher(t))},h.findWhere=function(n,t){return h.find(n,h.matcher(t))},h.max=function(n,e,t){var r,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=_(n)?n:h.values(n)).length;a<c;a++)null!=(r=n[a])&&i<r&&(i=r);else e=y(e,t),h.each(n,function(n,t,r){u=e(n,t,r),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,t){var r,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=_(n)?n:h.values(n)).length;a<c;a++)null!=(r=n[a])&&r<i&&(i=r);else e=y(e,t),h.each(n,function(n,t,r){((u=e(n,t,r))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,t,r){if(null==t||r)return _(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=_(n)?h.clone(n):h.values(n),u=w(e);t=Math.max(Math.min(t,u),0);for(var i=u-1,o=0;o<t;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,t)},h.sortBy=function(n,e,t){var u=0;return e=y(e,t),h.pluck(h.map(n,function(n,t,r){return{value:n,index:u++,criteria:e(n,t,r)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(e<r||void 0===r)return 1;if(r<e||void 0===e)return-1}return n.index-t.index}),"value")};function k(o,t){return function(e,u,n){var i=t?[[],[]]:{};return u=y(u,n),h.each(e,function(n,t){var r=u(n,t,e);o(i,n,r)}),i}}h.groupBy=k(function(n,t,r){j(n,r)?n[r].push(t):n[r]=[t]}),h.indexBy=k(function(n,t,r){n[r]=t}),h.countBy=k(function(n,t,r){j(n,r)?n[r]++:n[r]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):_(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:_(n)?n.length:h.keys(n).length},h.partition=k(function(n,t,r){n[r?0:1].push(t)},!0),h.first=h.head=h.take=function(n,t,r){return null==n||n.length<1?null==t?void 0:[]:null==t||r?n[0]:h.initial(n,n.length-t)},h.initial=function(n,t,r){return c.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},h.last=function(n,t,r){return null==n||n.length<1?null==t?void 0:[]:null==t||r?n[n.length-1]:h.rest(n,Math.max(0,n.length-t))},h.rest=h.tail=h.drop=function(n,t,r){return c.call(n,null==t||r?1:t)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,t,r,e){for(var u=(e=e||[]).length,i=0,o=w(n);i<o;i++){var a=n[i];if(_(a)&&(h.isArray(a)||h.isArguments(a)))if(t)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,t,r,e),u=e.length;else r||(e[u++]=a)}return e};h.flatten=function(n,t){return M(n,t,!1)},h.without=g(function(n,t){return h.difference(n,t)}),h.uniq=h.unique=function(n,t,r,e){h.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=y(r,e));for(var u=[],i=[],o=0,a=w(n);o<a;o++){var c=n[o],l=r?r(c,o,n):c;t&&!r?(o&&i===l||u.push(c),i=l):r?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=w(n);e<u;e++){var i=n[e];if(!h.contains(t,i)){var o;for(o=1;o<r&&h.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},h.difference=g(function(n,t){return t=M(t,!0,!0),h.filter(n,function(n){return!h.contains(t,n)})}),h.unzip=function(n){for(var t=n&&h.max(n,w).length||0,r=Array(t),e=0;e<t;e++)r[e]=h.pluck(n,e);return r},h.zip=g(h.unzip),h.object=function(n,t){for(var r={},e=0,u=w(n);e<u;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r};function F(i){return function(n,t,r){t=y(t,r);for(var e=w(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(t(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,t,r,e){for(var u=(r=y(r,e,1))(t),i=0,o=w(n);i<o;){var a=Math.floor((i+o)/2);r(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,t,r){var e=0,u=w(n);if("number"==typeof r)0<i?e=0<=r?r:Math.max(r+u,e):u=0<=r?Math.min(r+1,u):r+u+1;else if(a&&r&&u)return n[r=a(n,t)]===t?r:-1;if(t!=t)return 0<=(r=o(c.call(n,e,u),h.isNaN))?r+e:-1;for(r=0<i?e:u-1;0<=r&&r<u;r+=i)if(n[r]===t)return r;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,t,r){null==t&&(t=n||0,n=0),r=r||(t<n?-1:1);for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;i<e;i++,n+=r)u[i]=n;return u},h.chunk=function(n,t){if(null==t||t<1)return[];for(var r=[],e=0,u=n.length;e<u;)r.push(c.call(n,e,e+=t));return r};function N(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(t,r,e){if(!h.isFunction(t))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(t,u,r,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,t=i.length,r=Array(t),e=0;e<t;e++)r[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)r.push(arguments[n++]);return N(u,a,this,this,r)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,t){var r=(t=M(t,!1,!1)).length;if(r<1)throw new Error("bindAll must be passed function names");for(;r--;){var e=t[r];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var t=i.cache,r=""+(u?u.apply(this,arguments):n);return j(t,r)||(t[r]=e.apply(this,arguments)),t[r]};return i.cache={},i},h.delay=g(function(n,t,r){return setTimeout(function(){return n.apply(null,r)},t)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(r,e,u){var i,o,a,c,l=0;u=u||{};function f(){l=!1===u.leading?0:h.now(),i=null,c=r.apply(o,a),i||(o=a=null)}function n(){var n=h.now();l||!1!==u.leading||(l=n);var t=e-(n-l);return o=this,a=arguments,t<=0||e<t?(i&&(clearTimeout(i),i=null),l=n,c=r.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,t)),c}return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(r,e,u){function i(n,t){o=null,t&&(a=r.apply(n,t))}var o,a,n=g(function(n){if(o&&clearTimeout(o),u){var t=!o;o=setTimeout(i,e),t&&(a=r.apply(this,n))}else o=h.delay(i,e,this,n);return a});return n.cancel=function(){clearTimeout(o),o=null},n},h.wrap=function(n,t){return h.partial(t,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var r=arguments,e=r.length-1;return function(){for(var n=e,t=r[e].apply(this,arguments);n--;)t=r[n].call(this,t);return t}},h.after=function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},h.before=function(n,t){var r;return function(){return 0<--n&&(r=t.apply(this,arguments)),n<=1&&(t=null),r}},h.once=h.partial(h.before,2),h.restArguments=g;function I(n,t){var r=B.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(t,i)&&t.push(i);r--;)(i=B[r])in n&&n[i]!==u[i]&&!h.contains(t,i)&&t.push(i)}var T=!{toString:null}.propertyIsEnumerable("toString"),B=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(l)return l(n);var t=[];for(var r in n)j(n,r)&&t.push(r);return T&&I(n,t),t},h.allKeys=function(n){if(!h.isObject(n))return[];var t=[];for(var r in n)t.push(r);return T&&I(n,t),t},h.values=function(n){for(var t=h.keys(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=n[t[u]];return e},h.mapObject=function(n,t,r){t=y(t,r);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=t(n[a],a,n)}return i},h.pairs=function(n){for(var t=h.keys(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=[t[u],n[t[u]]];return e},h.invert=function(n){for(var t={},r=h.keys(n),e=0,u=r.length;e<u;e++)t[n[r[e]]]=r[e];return t},h.functions=h.methods=function(n){var t=[];for(var r in n)h.isFunction(n[r])&&t.push(r);return t.sort()};function R(c,l){return function(n){var t=arguments.length;if(l&&(n=Object(n)),t<2||null==n)return n;for(var r=1;r<t;r++)for(var e=arguments[r],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,t,r){t=y(t,r);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(t(n[e=u[i]],e,n))return e};function q(n,t,r){return t in r}var K,z;h.pick=g(function(n,t){var r={},e=t[0];if(null==n)return r;h.isFunction(e)?(1<t.length&&(e=v(e,t[1])),t=h.allKeys(n)):(e=q,t=M(t,!1,!1),n=Object(n));for(var u=0,i=t.length;u<i;u++){var o=t[u],a=n[o];e(a,o,n)&&(r[o]=a)}return r}),h.omit=g(function(n,r){var t,e=r[0];return h.isFunction(e)?(e=h.negate(e),1<r.length&&(t=r[1])):(r=h.map(M(r,!1,!1),String),e=function(n,t){return!h.contains(r,t)}),h.pick(n,e,t)}),h.defaults=R(h.allKeys,!0),h.create=function(n,t){var r=m(n);return t&&h.extendOwn(r,t),r},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,t){return t(n),n},h.isMatch=function(n,t){var r=h.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0},K=function(n,t,r,e){if(n===t)return 0!==n||1/n==1/t;if(null==n||null==t)return!1;if(n!=n)return t!=t;var u=typeof n;return("function"==u||"object"==u||"object"==typeof t)&&z(n,t,r,e)},z=function(n,t,r,e){n instanceof h&&(n=n._wrapped),t instanceof h&&(t=t._wrapped);var u=p.call(n);if(u!==p.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!=+n?+t!=+t:0==+n?1/+n==1/t:+n==+t;case"[object Date]":case"[object Boolean]":return+n==+t;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(t)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}e=e||[];for(var c=(r=r||[]).length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if((c=n.length)!==t.length)return!1;for(;c--;)if(!K(n[c],t[c],r,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(t).length!==c)return!1;for(;c--;)if(l=f[c],!j(t,l)||!K(n[l],t[l],r,e))return!1}return r.pop(),e.pop(),!0},h.isEqual=function(n,t){return K(n,t)},h.isEmpty=function(n){return null==n||(_(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=a||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var t=typeof n;return"function"==t||"object"==t&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(t){h["is"+t]=function(n){return p.call(n)==="[object "+t+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,t){if(!h.isArray(t))return j(n,t);for(var r=t.length,e=0;e<r;e++){var u=t[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!r},h.noConflict=function(){return n._=t,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(t){return h.isArray(t)?function(n){return x(n,t)}:b(t)},h.propertyOf=function(t){return null==t?function(){}:function(n){return h.isArray(n)?x(t,n):t[n]}},h.matcher=h.matches=function(t){return t=h.extendOwn({},t),function(n){return h.isMatch(n,t)}},h.times=function(n,t,r){var e=Array(Math.max(0,n));t=v(t,r,1);for(var u=0;u<n;u++)e[u]=t(u);return e},h.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function L(t){function r(n){return t[n]}var n="(?:"+h.keys(t).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,r):n}}var P={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},W=h.invert(P);h.escape=L(P),h.unescape=L(W),h.result=function(n,t,r){h.isArray(t)||(t=[t]);var e=t.length;if(!e)return h.isFunction(r)?r.call(n):r;for(var u=0;u<e;u++){var i=null==n?void 0:n[t[u]];void 0===i&&(i=r,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var t=++C+"";return n?n+t:t},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function J(n){return"\\"+V[n]}var U=/(.)^/,V={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},$=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,t){!n&&t&&(n=t),n=h.defaults({},n,h.templateSettings);var r,e=RegExp([(n.escape||U).source,(n.interpolate||U).source,(n.evaluate||U).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,t,r,e,u){return a+=i.slice(o,u).replace($,J),o=u+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{r=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return r.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var t=h(n);return t._chain=!0,t};function G(n,t){return n._chain?h(t).chain():t}h.mixin=function(r){return h.each(h.functions(r),function(n){var t=h[n]=r[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,t.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var r=e[t];h.prototype[t]=function(){var n=this._wrapped;return r.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var t=e[n];h.prototype[n]=function(){return G(this,t.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}();;
// C:\code\oanda-performances\client\src\bower_components\pstack\pstack.js
//-------------------------------
!function(t){function s(t){this.options=_.extend({async:!1,progress:!1},t),this.reset()}s.prototype.reset=function(){this.stack=[],this.count=0},s.prototype.add=function(t,s){this.stack.push({fn:t,params:s}),this.count++},s.prototype.start=function(t){this.process(t)},s.prototype.process=function(s){var o=this;if(0==this.stack.length)return s(),!1;if(this.options.async){var t;for(t=0;t<this.stack.length;t++)this.stack[t].fn(function(){o.count--,0==o.count&&s(),!1!==o.options.progress&&o.bar.tick()},this.stack[t].params)}else{if(0==this.stack.length)return s(),!0;this.stack[0].fn(function(t){!1===t?(!(o.stack=[])!==o.options.progress&&console.log(" - stack aborted."),s()):(o.stack.shift(),0==o.stack.length?s():o.process(s))},this.stack[0].params)}},t.pstack=s}(window);;
// C:\code\oanda-performances\client\src\bower_components\ftl-framework\ftl.js
//-------------------------------
!function(){function t(){var t=this;window._csconf&&!_.isObject(window._csconf)&&(window._csconf=this.b64hexdecrypt(window._csconf,"fleetwit")),this.addons={},this.timers={},this.plugins={"ajax-before":[],"ajax-after":[],"ajax-replace":[],"before-exit":[]},this._jsonPrefix="__JSON__",this.dataStore={},window.onbeforeunload=function(){var n=!1,o=!1;if(_.each(t.plugins["before-exit"],function(t){var e=t();e&&(n=!0,o=e)}),n)return o},this.tagUser()}t.prototype.b64hexdecrypt=function(t,e){for(var n="";e.length<t.length/2;)e+=e;e=e.toString(),t=t.toString();for(var o=0;o<t.length;o+=2){var r=parseInt(t.substr(o,2),16)^e[o/2].charCodeAt(0);n+=String.fromCharCode(r)}return JSON.parse(window.atob(n))},t.prototype.tagUser=function(){var t=this.qs(),e="utm_ref";return this.getCookie(e)||(t.utm_source||t.utm_campaign||t.utm_media||t.utm_content)&&this.setCookie(e,t,365),!0},t.prototype.jpath=function(t,e){var n=t.split("."),o=JSON.parse(JSON.stringify(e));return _.each(n,function(t,e){return o.hasOwnProperty(t)?(o=o[t],!0):null}),o},t.prototype.data=function(t,e){return _.isNull(e)||_.isUndefined(e)?this.dataStore[t]:(this.dataStore[t]=e,!0)},t.prototype.timer=function(t,e){var n=this,o=_.uniqueId("timer-");return this.timers[t]||(this.timers[t]={timer:!1,callbacks:{}},this.timers[t].timer=setInterval(function(){_.each(n.timers,function(t,e){_.each(n.timers[e].callbacks,function(t,e){t()})})},t)),this.timers[t].callbacks[o]=e,{stop:function(){delete n.timers[t].callbacks[o]},start:function(){n.timers[t].callbacks[o]=e}}},t.prototype.addon=function(t,e){return _.isNull(e)||_.isUndefined(e)?this.addons[t]:(this.addons[t]=e(),!0)},t.prototype.plugin=function(t,e){return!!this.plugins.hasOwnProperty(t)&&(this.plugins[t].push(e),!0)},t.prototype.clone=function(t){try{return JSON.parse(JSON.stringify(t))}catch(t){return{}}},t.prototype.apicall=function(o,t){var r=this;(o=_.extend({params:{},url:"/",resend:!1,callback:function(){}},o))&&o.params&&(o.params=JSON.parse(JSON.stringify(o.params)));var e=new window.pstack({async:!1});e.add(function(t){var e=new pstack;_.each(r.plugins["ajax-before"],function(n){e.add(function(e){var t=n(o,function(t){o=t,e()});t&&(o=t,e())})}),e.start(t)}),e.start(function(){var t,e=r.plugins["ajax-replace"].length,n=!1;for(t=0;t<e;t++){if(r.plugins["ajax-replace"][t](o)){n=!0;break}}n||r._ajax(o)})},t.prototype._ajax=function(o){var n=this,t={url:(o=_.extend({onError:function(){}},o)).url,dataType:"json",type:"POST",data:o.params,success:function(t,e){t.error?o.callback(t,e):n._ajax_after(t,o,e)},error:function(t,e,n){o.onError({error:!0,message:n})}};o.headers=_.extend({env:window._csconf.env},o.headers),o.headers&&(t.beforeSend=function(n){_.each(o.headers,function(t,e){n.setRequestHeader(e,t)})}),o.json&&(t.data=JSON.stringify(t.data)),o.crossDomain&&(t.crossDomain=!0,t.contentType="application/json"),$.ajax(t)},t.prototype._ajax_after=function(e,n,o){_.each(this.plugins["ajax-after"],function(t){e=t(e,n,o)}),n.callback(e,o)},t.prototype.getScope=function(){return this.$scope},t.prototype.qs=function(){function t(t){return decodeURIComponent(t.replace(o," "))}var e,n,o=/\+/g,r=/([^&=]+)=?([^&]*)/g,i=window.location.search.substring(1);for(e={};n=r.exec(i);)e[t(n[1])]=t(n[2]);return e},t.prototype._setCookie=function(t,e,n){if("string"!=typeof e&&"number"!=typeof e&&(e=this._jsonPrefix+JSON.stringify(e)),n){var o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3);var r="; expires="+o.toGMTString()}else r="";return document.cookie=t+"="+e+r+"; path=/;",!0},t.prototype.setCookie=function(t,e,n){return this._setCookie(t,e,n),this._setCookie(t+"_created",(new Date).getTime(),n),!0},t.prototype.getCookie=function(e){try{for(var t=e+"=",n=document.cookie.split(";"),o=0;o<n.length;o++){for(var r=n[o];" "==r.charAt(0);)r=r.substring(1,r.length);if(0==r.indexOf(t)){var i=r.substring(t.length,r.length);return i.substr(0,this._jsonPrefix.length)==this._jsonPrefix?i=JSON.parse(i.substr(this._jsonPrefix.length)):null}}}catch(t){return console.log("Invalid Json Cookie:",e,i),null}return!1},t.prototype.getCookies=function(){var t={};if(document.cookie&&""!=document.cookie)for(var e=document.cookie.split(";"),n=0;n<e.length;n++){var o=e[n].split("=");o[0]=o[0].replace(/^ /,""),t[decodeURIComponent(o[0])]=decodeURIComponent(o[1]),t[decodeURIComponent(o[0])].substr(0,this._jsonPrefix.length)==this._jsonPrefix&&(t[decodeURIComponent(o[0])]=JSON.parse(t[decodeURIComponent(o[0])].substr(this._jsonPrefix.length)))}return t},t.prototype.cookieAge=function(t){var e=this.getCookie(t+"_created");if(!e)return!1;var n=new Date(parseInt(e)).getTime();return(new Date).getTime()-n},t.prototype.start=function(t,e){var n=this;this.options=_.extend({modules:[]},t),this.ng=angular.module("ftl",this.options.modules),this.ng.config(["$sceDelegateProvider","$compileProvider",function(t,e){t.resourceUrlWhitelist(["self",window._csconf.allowDomain]),e.debugInfoEnabled(!1)}]),this.ng.config(["$compileProvider",function(t){t.debugInfoEnabled(!1)}]),this.ng.controller("ftl",["$scope",function(t){t._version="1.2.7",t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.ftl=n.addons,n.$scope=t,e(t)}]),angular.element(document).ready(function(){angular.bootstrap(document,["ftl"])})},t.prototype.sid=function(){return"xxxxxx4xxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0;return("x"==t?e:3&e|8).toString(16)})},t.prototype.lid=function(){return"xxxxxx4xxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0;return("x"==t?e:3&e|8).toString(16)})},window.ftl=new t}();;
// C:\code\oanda-performances\client\src\bower_components\validator\validator.js
//-------------------------------
!function(t,e){"undefined"!=typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&"object"==typeof define.amd?define(e):this.validator=e()}(0,function(f){"use strict";function c(t,e){for(var r in t=t||{},e)void 0===t[r]&&(t[r]=e[r]);return t}var g=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i,p=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i,F=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i,d=/^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i,_=/^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i,s=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,a=/^[A-Z]{2}[0-9A-Z]{9}[0-9]$/,u=/^(?:[0-9]{9}X|[0-9]{10})$/,l=/^(?:[0-9]{13})$/,x=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/,h=/^[0-9A-F]{1,4}$/i,n={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i},e=/^[A-Z]+$/i,r=/^[0-9A-Z]+$/i,i=/^[-+]?[0-9]+$/,o=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,v=/^(?:[-+]?(?:[0-9]+))?(?:\.[0-9]*)?(?:[eE][\+\-]?(?:[0-9]+))?$/,A=/^[0-9A-F]+$/i,$=/^[-+]?([0-9]+|\.[0-9]+|[0-9]+\.[0-9]+)$/,m=/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i,w=/^[\x00-\x7F]+$/,b=/[^\x00-\x7F]/,D=/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/,y=/[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/,E=/[\uD800-\uDBFF][\uDC00-\uDFFF]/,I=/^(?:[A-Z0-9+\/]{4})*(?:[A-Z0-9+\/]{2}==|[A-Z0-9+\/]{3}=|[A-Z0-9+\/]{4})$/i,O={"zh-CN":/^(\+?0?86\-?)?1[345789]\d{9}$/,"en-ZA":/^(\+?27|0)\d{9}$/,"en-AU":/^(\+?61|0)4\d{8}$/,"en-HK":/^(\+?852\-?)?[569]\d{3}\-?\d{4}$/,"fr-FR":/^(\+?33|0)[67]\d{8}$/,"pt-PT":/^(\+351)?9[1236]\d{7}$/,"el-GR":/^(\+30)?((2\d{9})|(69\d{8}))$/,"en-GB":/^(\+?44|0)7\d{9}$/,"en-US":/^(\+?1)?[2-9]\d{2}[2-9](?!11)\d{6}$/,"en-ZM":/^(\+26)?09[567]\d{7}$/,"ru-RU":/^(\+?7|8)?9\d{9}$/},C=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;(f={version:"4.0.5"}).extend=function(t,e){f[t]=function(){var t=Array.prototype.slice.call(arguments);return t[0]=f.toString(t[0]),e.apply(f,t)}},f.init=function(){for(var t in f)"function"==typeof f[t]&&"toString"!==t&&"toDate"!==t&&"extend"!==t&&"init"!==t&&f.extend(t,f[t])},f.toString=function(t){return"object"==typeof t&&null!==t&&t.toString?t=t.toString():null==t||isNaN(t)&&!t.length?t="":"string"!=typeof t&&(t+=""),t},f.toDate=function(t){return"[object Date]"===Object.prototype.toString.call(t)?t:(t=Date.parse(t),isNaN(t)?null:new Date(t))},f.toFloat=function(t){return parseFloat(t)},f.toInt=function(t,e){return parseInt(t,e||10)},f.toBoolean=function(t,e){return e?"1"===t||"true"===t:"0"!==t&&"false"!==t&&""!==t},f.equals=function(t,e){return t===f.toString(e)},f.contains=function(t,e){return 0<=t.indexOf(f.toString(e))};var S={allow_display_name:!(f.matches=function(t,e,r){return"[object RegExp]"!==Object.prototype.toString.call(e)&&(e=new RegExp(e,r)),e.test(t)}),allow_utf8_local_part:!0,require_tld:!0},N={protocols:["http","https","ftp"],require_tld:!0,require_protocol:!(f.isEmail=function(t,e){if((e=c(e,S)).allow_display_name){var r=t.match(_);r&&(t=r[1])}var n=t.split("@"),i=n.pop(),o=n.join("@"),u=i.toLowerCase();if("gmail.com"!==u&&"googlemail.com"!==u||(o=o.replace(/\./g,"").toLowerCase()),!f.isByteLength(o,0,64)||!f.isByteLength(i,0,256))return!1;if(!f.isFQDN(i,{require_tld:e.require_tld}))return!1;if('"'===o[0])return o=o.slice(1,o.length-1),e.allow_utf8_local_part?d.test(o):p.test(o);for(var s=e.allow_utf8_local_part?F:g,a=o.split("."),l=0;l<a.length;l++)if(!s.test(a[l]))return!1;return!0}),require_valid_protocol:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_protocol_relative_urls:!1};f.isURL=function(t,e){if(!t||2083<=t.length||/\s/.test(t))return!1;if(0===t.indexOf("mailto:"))return!1;var r,n,i,o,u,s;if(e=c(e,N),1<(s=t.split("://")).length){if(r=s.shift(),e.require_valid_protocol&&-1===e.protocols.indexOf(r))return!1}else{if(e.require_protocol)return!1;e.allow_protocol_relative_urls&&"//"===t.substr(0,2)&&(s[0]=t.substr(2))}return!(1<(s=(t=(s=(t=(s=(t=(s=(t=s.join("://")).split("#")).shift()).split("?")).shift()).split("/")).shift()).split("@")).length&&(0<=(n=s.shift()).indexOf(":")&&2<n.split(":").length))&&(i=(s=s.join("@").split(":")).shift(),!(s.length&&(u=s.join(":"),o=parseInt(u,10),!/^[0-9]+$/.test(u)||o<=0||65535<o))&&(!(!f.isIP(i)&&!f.isFQDN(i,e)&&"localhost"!==i)&&((!e.host_whitelist||-1!==e.host_whitelist.indexOf(i))&&(!e.host_blacklist||-1===e.host_blacklist.indexOf(i)))))};var B={require_tld:!0,allow_underscores:!(f.isIP=function(t,e){if(!(e=f.toString(e)))return f.isIP(t,4)||f.isIP(t,6);if("4"===e)return!!x.test(t)&&t.split(".").sort(function(t,e){return t-e})[3]<=255;if("6"!==e)return!1;var r=t.split(":"),n=!1,i=f.isIP(r[r.length-1],4),o=i?7:8;if(r.length>o)return!1;if("::"===t)return!0;"::"===t.substr(0,2)?(r.shift(),r.shift(),n=!0):"::"===t.substr(t.length-2)&&(r.pop(),r.pop(),n=!0);for(var u=0;u<r.length;++u)if(""===r[u]&&0<u&&u<r.length-1){if(n)return!1;n=!0}else if(i&&u==r.length-1);else if(!h.test(r[u]))return!1;return n?1<=r.length:r.length===o}),allow_trailing_dot:!1};f.isFQDN=function(t,e){(e=c(e,B)).allow_trailing_dot&&"."===t[t.length-1]&&(t=t.substring(0,t.length-1));var r=t.split(".");if(e.require_tld){var n=r.pop();if(!r.length||!/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(n))return!1}for(var i,o=0;o<r.length;o++){if(i=r[o],e.allow_underscores){if(0<=i.indexOf("__"))return!1;i=i.replace(/_/g,"")}if(!/^[a-z\u00a1-\uffff0-9-]+$/i.test(i))return!1;if(/[\uff01-\uff5e]/.test(i))return!1;if("-"===i[0]||"-"===i[i.length-1]||0<=i.indexOf("---"))return!1}return!0},f.isBoolean=function(t){return 0<=["true","false","1","0"].indexOf(t)},f.isAlpha=function(t){return e.test(t)},f.isAlphanumeric=function(t){return r.test(t)},f.isNumeric=function(t){return i.test(t)},f.isDecimal=function(t){return""!==t&&$.test(t)},f.isHexadecimal=function(t){return A.test(t)},f.isHexColor=function(t){return m.test(t)},f.isLowercase=function(t){return t===t.toLowerCase()},f.isUppercase=function(t){return t===t.toUpperCase()},f.isInt=function(t,e){return e=e||{},o.test(t)&&(!e.hasOwnProperty("min")||t>=e.min)&&(!e.hasOwnProperty("max")||t<=e.max)},f.isFloat=function(t,e){return e=e||{},""!==t&&v.test(t)&&(!e.hasOwnProperty("min")||t>=e.min)&&(!e.hasOwnProperty("max")||t<=e.max)},f.isDivisibleBy=function(t,e){return f.toFloat(t)%f.toInt(e)==0},f.isNull=function(t){return 0===t.length},f.isLength=function(t,e,r){var n=t.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)||[],i=t.length-n.length;return e<=i&&(void 0===r||i<=r)},f.isByteLength=function(t,e,r){var n=encodeURI(t).split(/%..|./).length-1;return e<=n&&(void 0===r||n<=r)},f.isUUID=function(t,e){var r=n[e||"all"];return r&&r.test(t)},f.isDate=function(t){return!isNaN(Date.parse(t))},f.isAfter=function(t,e){var r=f.toDate(e||new Date),n=f.toDate(t);return!!(n&&r&&r<n)},f.isBefore=function(t,e){var r=f.toDate(e||new Date),n=f.toDate(t);return n&&r&&n<r},f.isIn=function(t,e){var r;if("[object Array]"!==Object.prototype.toString.call(e))return"object"==typeof e?e.hasOwnProperty(t):!(!e||"function"!=typeof e.indexOf)&&0<=e.indexOf(t);var n=[];for(r in e)n[r]=f.toString(e[r]);return 0<=n.indexOf(t)},f.isCreditCard=function(t){var e=t.replace(/[^0-9]+/g,"");if(!s.test(e))return!1;for(var r,n,i,o=0,u=e.length-1;0<=u;u--)r=e.substring(u,u+1),n=parseInt(r,10),i?o+=10<=(n*=2)?n%10+1:n:o+=n,i=!i;return!(o%10!=0||!e)},f.isISIN=function(t){if(!a.test(t))return!1;for(var e,r,n=t.replace(/[A-Z]/g,function(t){return parseInt(t,36)}),i=0,o=!0,u=n.length-2;0<=u;u--)e=n.substring(u,u+1),r=parseInt(e,10),o?i+=10<=(r*=2)?r+1:r:i+=r,o=!o;return parseInt(t.substr(t.length-1),10)===(1e4-i)%10},f.isISBN=function(t,e){if(!(e=f.toString(e)))return f.isISBN(t,10)||f.isISBN(t,13);var r,n=t.replace(/[\s-]+/g,""),i=0;if("10"===e){if(!u.test(n))return!1;for(r=0;r<9;r++)i+=(r+1)*n.charAt(r);if((i+="X"===n.charAt(9)?100:10*n.charAt(9))%11==0)return!!n}else if("13"===e){if(!l.test(n))return!1;var o=[1,3];for(r=0;r<12;r++)i+=o[r%2]*n.charAt(r);if(n.charAt(12)-(10-i%10)%10==0)return!!n}return!1};var j={symbol:"$",require_symbol:!(f.isMobilePhone=function(t,e){return e in O&&O[e].test(t)}),allow_space_after_symbol:!1,symbol_after_digits:!1,allow_negatives:!0,parens_for_negatives:!1,negative_sign_before_digits:!1,negative_sign_after_digits:!1,allow_negative_sign_placeholder:!1,thousands_separator:",",decimal_separator:".",allow_space_after_digits:!1};f.isCurrency=function(t,e){return function(t){var e="(\\"+t.symbol.replace(/\./g,"\\.")+")"+(t.require_symbol?"":"?"),r="-?",n="("+["0","[1-9]\\d*","[1-9]\\d{0,2}(\\"+t.thousands_separator+"\\d{3})*"].join("|")+")?"+("(\\"+t.decimal_separator+"\\d{2})?");return t.allow_negatives&&!t.parens_for_negatives&&(t.negative_sign_after_digits?n+=r:t.negative_sign_before_digits&&(n=r+n)),t.allow_negative_sign_placeholder?n="( (?!\\-))?"+n:t.allow_space_after_symbol?n=" ?"+n:t.allow_space_after_digits&&(n+="( (?!$))?"),t.symbol_after_digits?n+=e:n=e+n,t.allow_negatives&&(t.parens_for_negatives?n="(\\("+n+"\\)|"+n+")":t.negative_sign_before_digits||t.negative_sign_after_digits||(n=r+n)),new RegExp("^(?!-? )(?=.*\\d)"+n+"$")}(e=c(e,j)).test(t)},f.isJSON=function(t){try{var e=JSON.parse(t);return!!e&&"object"==typeof e}catch(t){}return!1},f.isMultibyte=function(t){return b.test(t)},f.isAscii=function(t){return w.test(t)},f.isFullWidth=function(t){return D.test(t)},f.isHalfWidth=function(t){return y.test(t)},f.isVariableWidth=function(t){return D.test(t)&&y.test(t)},f.isSurrogatePair=function(t){return E.test(t)},f.isBase64=function(t){return I.test(t)},f.isMongoId=function(t){return f.isHexadecimal(t)&&24===t.length},f.isISO8601=function(t){return C.test(t)},f.ltrim=function(t,e){var r=e?new RegExp("^["+e+"]+","g"):/^\s+/g;return t.replace(r,"")},f.rtrim=function(t,e){var r=e?new RegExp("["+e+"]+$","g"):/\s+$/g;return t.replace(r,"")},f.trim=function(t,e){var r=e?new RegExp("^["+e+"]+|["+e+"]+$","g"):/^\s+|\s+$/g;return t.replace(r,"")},f.escape=function(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/\//g,"/").replace(/\`/g,"`")},f.stripLow=function(t,e){var r=e?"\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F":"\\x00-\\x1F\\x7F";return f.blacklist(t,r)},f.whitelist=function(t,e){return t.replace(new RegExp("[^"+e+"]+","g"),"")},f.blacklist=function(t,e){return t.replace(new RegExp("["+e+"]+","g"),"")};var q={lowercase:!0};return f.normalizeEmail=function(t,e){if(e=c(e,q),!f.isEmail(t))return!1;var r=t.split("@",2);if(r[1]=r[1].toLowerCase(),"gmail.com"===r[1]||"googlemail.com"===r[1]){if(r[0]=r[0].toLowerCase().replace(/\./g,""),"+"===r[0][0])return!1;r[0]=r[0].split("+")[0],r[1]="gmail.com"}else e.lowercase&&(r[0]=r[0].toLowerCase());return r.join("@")},f.init(),f});;
// C:\code\oanda-performances\client\src\bower_components\ftl-ng-auth\directives.js
//-------------------------------
angular.module("ftl-ng-auth",[]).directive("ftlAuth",function(){return{link:function(e,o,a){e.safeApply=function(e){var o=this.$root.$$phase;"$apply"==o||"$digest"==o?e&&"function"==typeof e&&e():this.$apply(e)},e.auth=window.ftl.addon("auth"),e.cdn=window._csconf.cdn?window._csconf.cdn:"",e.mobile=window._csconf.mobile,e.$watch("auth.showAuthDialog",function(){e.auth.showAuthDialog&&e.safeApply(function(){})}),e.auth.onAuth(function(){e.safeApply(function(){e.auth.showAuthDialog=!1,window.ftl.getCookie("loginas_origin")&&(e.loggedinAs=!0,e.originalProfile=window.ftl.getCookie("loginas_origin"))})},!0),e.logoutAs=function(){window.ftl.setCookie("user",window.ftl.getCookie("loginas_origin"),365),window.ftl.setCookie("loginas_origin",null,-1),document.location.href="/admin"}},replace:!1,scope:{},templateUrl:"/ftl-ng-auth/views/auth.html"}}).directive("ftlAuthForm",function(){return{link:function(o,e,a){o.safeApply=function(e){var o=this.$root.$$phase;"$apply"==o||"$digest"==o?e&&"function"==typeof e&&e():this.$apply(e)},o.auth=window.ftl.addon("auth"),o.cdn=window._csconf.cdn?window._csconf.cdn:"",o.type=a.type,o.type||(o.type="regular"),o.close=function(){o.safeApply(function(){o.auth.showAuthDialog=!1})},o.noClose=a.noclose,o.display=a.display||"login",o.show=function(e){o.safeApply(function(){o.display=e})},o.error={email:!1,password:!1,message:!1},o.form={email:"",password:"",firstname:"",lastname:"",rememberme:!0,optin:!0},o.login=function(){o.error={email:!1,password:!1,message:!1},validator.isEmail(o.form.email)&&5<=o.form.password.length?o.auth.login(o.form,function(e){e.error&&o.safeApply(function(){o.error.message=e.message})}):(validator.isEmail(o.form.email)||o.safeApply(function(){o.error.email="Please enter a valid email address"}),o.form.password.length<5&&o.safeApply(function(){o.error.password="Your password is too short. 5 chars min."}))},o.register=function(){o.error={email:!1,password:!1,firstname:!1,lastname:!1,message:!1},validator.isEmail(o.form.email)&&5<=o.form.password.length?o.auth.register(o.form,function(e){e.error&&o.safeApply(function(){o.error.message=e.message})}):(validator.isEmail(o.form.email)||o.safeApply(function(){o.error.email="Please enter a valid email address"}),o.form.password.length<5&&o.safeApply(function(){o.error.password="Your password is too short. 5 chars min."}),o.form.firstname.length<2&&o.safeApply(function(){o.error.firstname="Please enter your first name"}),o.form.lastname.length<2&&o.safeApply(function(){o.error.lastname="Please enter your last name"}))},o.pwdreset=function(){o.resetError={email:!1,message:!1},validator.isEmail(o.form.email)?o.auth.resetpwd(o.form,function(e){console.log("resetpwd()",e),e.error?o.error.message=e.message:o.show("pwdreset-confirm")}):o.safeApply(function(){o.resetError.email="Please enter a valid email address"})}},replace:!1,scope:{},templateUrl:"/ftl-ng-auth/views/auth-form.html"}});;
// C:\code\oanda-performances\client\src\bower_components\ftl-ng-auth\ftl-ng-auth.js
//-------------------------------
window.ftl.plugin("ajax-before",function(t){if(t.auth){var e=window.ftl.addon("auth");e.authenticated&&(t.params.uuid=e.data.uuid,t.params.secret=e.data.secret),e.authenticated&&(t.headers||(t.headers={}),t.headers.uuid=e.data.uuid,t.headers.secret=e.data.secret)}return window._params&&(t.params.fw_country=window._params.fw_country),t.params.fw_country||(t.params.fw_country="US"),t}),window.ftl.addon("auth",function(){function t(){var e=this;this.data=!1,this.dyn={},this.authenticated=!1,this.showAuthDialog=!1,this.afterAuth=!1,this.cookieTTL=12e4,this.abtest=window.ftl.addon("abtest"),this.callbacks={onAuth:[],onRefresh:[]};var t=ftl.qs();if(t&&t.overwrite_uuid&&t.overwrite_secret)return this.logout(),this.login({uuid:t.overwrite_uuid,secret:t.overwrite_secret},function(){setTimeout(function(){console.log("Logged in.. redirecting..."),document.location.href="/"},5e3)}),!1;t&&t.utm_source&&new RegExp("[a-z0-9]{32}","gmi").test(t.utm_source)&&window.ftl.setCookie("fw_referral",t.utm_source,365),this.onAuth(function(){var t={uuid:e.data.uuid};e.data.profile&&(e.data.profile.gender&&(t.gender=e.data.profile.gender),e.data.profile.age&&(t.age=(new Date).getFullYear()-new Date(e.data.profile.birthdate).getFullYear()),t.$first_name=e.data.profile.firstname,t.$last_name=e.data.profile.lastname,t.$email=e.data.profile.email,t.$distinct_id=e.data.uuid,e.data.profile.phone&&(t.$phone=e.data.profile.phone),e.data.notifications&&e.data.notifications.none&&(t.$unsubscribed=!0)),e.data.utm&&(t.utm_source=e.data.utm.utm_source,t.utm_medium=e.data.utm.utm_medium,t.utm_content=e.data.utm.utm_content,t.utm_campaign=e.data.utm.utm_campaign,t.utm_type=e.data.utm.type),t.registered=e.data.created?new Date(e.data.created).toISOString():(new Date).toISOString(),setTimeout(function(){ga("set",{client:"website",uuid:e.data.uuid})},500)},this)}return t.prototype.onAuth=function(t,e){return this.callbacks.onAuth.push(t),e&&this.authenticated&&t(),this},t.prototype.age=function(){var t=this;return!!(t.data&&t.data.profile&&t.data.profile.birthdate)&&(new Date).getFullYear()-new Date(t.data.profile.birthdate).getFullYear()},t.prototype.onRefresh=function(t){return this.callbacks.onRefresh.push(t),this},t.prototype.changeStatus=function(t,e){this.data._status||(this.data._status={}),this.data._status[t]=new Date;var a={};a[t]=this.data._status[t],window.ftl.apicall({url:"/api/auth/setStatus",auth:!0,params:{status:a},callback:function(t){e&&e(t)}})},t.prototype.setStatus=function(t,e){var a=this;this.data._status||(this.data._status={}),this.data._status=_.extend({},this.data._status,t),window.ftl.apicall({url:"/api/auth/setStatus",auth:!0,params:{payload:t},callback:function(t){e&&e(t),a.refresh()}})},t.prototype.hasRight=function(t){return!!this.authenticated&&(!!this.data.perms&&(!!this.data.perms[t]&&this.data.perms[t]))},t.prototype.isTooYoung=function(){return!this.authenticated||(!this.data.profile||!this.data.profile.birthdate||moment(new Date(this.data.profile.birthdate)).add(13,"years").toDate().getTime()>(new Date).getTime())},t.prototype.isMinor=function(){return!this.authenticated||(!this.data.profile||!this.data.profile.birthdate||moment(new Date(this.data.profile.birthdate)).add(18,"years").toDate().getTime()>(new Date).getTime())},t.prototype.noGambling=function(){return!!this.authenticated&&(!!(this.data.location&&this.data.location.state&&this.data.location.state.name)&&(!!_.contains(["Arizona","Arkansas","Delaware","Florida","Louisiana","Montana","South Carolina","Tennessee","Nebraska","New Mexico"],this.data.location.state.name)||void 0))},t.prototype.execCallback=function(t){return _.each(this.callbacks[t],function(t){t()}),this},t.prototype.cleanup=function(t){if(!_.isObject(t))return console.log("BAD DATA",t),{};delete t._id,t.profile,delete t.stats,delete t.extra,delete t.devices,delete t.cash,delete t.userData,delete t._survey,t.location&&(delete t.location.gps,delete t.location.geojson,delete t.location.timezone);var e={};return t.profile&&(e={birthdate:t.profile.birthdate,dob_month:t.profile.birthdate_month,dob_day:t.profile.birthdate_day,dob_year:t.profile.birthdate_year,firstname:t.profile.firstname,lastname:t.profile.lastname,email:t.profile.email,username:t.profile.username}),{uuid:t.uuid,secret:t.secret,profile:e,perms:t.perms,settings:t.settings}},t.prototype.OTA=function(t,e){var a=this;window.ftl.apicall({url:"/api/auth",params:{uuid:t.uuid,secret:t.secret},callback:function(t){t.error?alert("This link is invalid.\n\n-----------------\nTEMP DEBUG:\n"+JSON.stringify(t.error,null,4)):(delete t.stats,delete t.notifications,t=a.cleanup(t),window.ftl.setCookie("user",t,365),a.data=t,a.authenticated=!0,a.execCallback("onAuth"),console.log("OTA AUTH!!"),e&&e(t))}})},t.prototype.auth=function(e){var a=this,t=window.ftl.getCookie("user");window._csconf&&window._csconf.publicUser?t=t||window._csconf.publicUser:window._params&&window._params.uuid&&window._params.secret?(t={uuid:window._params.uuid,secret:window._params.secret},window._params.___guest=!0):t&&t.isTestUser&&(t=!1),window._params&&window._params.uuid&&window._params.secret||t&&(!window.ftl.cookieAge("user")||window.ftl.cookieAge("user")>=this.cookieTTL)?window.ftl.apicall({url:"/api/auth",headers:{hello:"world"},params:{uuid:t.uuid,secret:t.secret,utm:window.ftl.getCookie("utm_ref")},callback:function(t){t.error?a.logout():(delete t.stats,delete t.notifications,t=a.cleanup(t),window._csconf&&window._csconf.publicUser&&(t.isTestUser=!0),window.ftl.setCookie("user",a.cleanup(t),365),a.data=t,a.authenticated=!0,a.execCallback("onAuth")),e(t)}}):t&&window.ftl.cookieAge("user")&&window.ftl.cookieAge("user")<this.cookieTTL?(a.authenticated=!0,a.data=t,a.execCallback("onAuth"),e(t)):e(!1)},t.prototype.signUp=function(t,a){t.utm=window.ftl.getCookie("utm_ref"),t.utm=_.extend({},t.utm,this.abtest?this.abtest.data:{});var i=this;window.ftl.apicall({url:"/api/user/sign-up",auth:!0,params:{data:t},callback:function(t){if(t&&!t.error){window.ftl.setCookie("user",i.cleanup(t),365),ga("send",{hitType:"event",eventCategory:"auth",eventAction:"User Registation",eventLabel:"email"}),fbq("track","CompleteRegistration"),i.data=t,i.data.justSignedUp=!0,i.authenticated=!0,i.execCallback("onAuth"),i.showAuthDialog=!1,i.afterAuth&&(i.afterAuth(),i.afterAuth=null),branch&&branch.track("signup",{uuid:t.uuid,method:"email"}),a&&a(t);var e=!!window._csconf.abtest&&window._csconf.abtest;setTimeout(function(){e&&e.redirect&&(window.location.href=e.redirect)},250)}}})},t.prototype.signIn=function(t,a){var i=this;window.ftl.apicall({url:"/api/user/sign-in",auth:!0,params:{data:t},callback:function(t){if(a&&a(t),t&&!t.error){window.ftl.setCookie("user",i.cleanup(t),365),i.data=t,i.authenticated=!0,i.execCallback("onAuth"),i.showAuthDialog=!1,i.afterAuth&&(i.afterAuth(),i.afterAuth=null),a(t);var e=!!window._csconf.abtest&&window._csconf.abtest;setTimeout(function(){e&&e.redirect&&(window.location.href=e.redirect)},250)}}})},t.prototype.dataAuth=function(t,e){var a=this;window.ftl.setCookie("user",a.cleanup(t),365),a.data=t,a.authenticated=!0,a.execCallback("onAuth"),a.showAuthDialog=!1,a.afterAuth&&(a.afterAuth(),a.afterAuth=null),e(t);var i=!!window._csconf.abtest&&window._csconf.abtest;setTimeout(function(){i&&i.redirect&&(window.location.href=i.redirect)},250)},t.prototype.register=function(t,e){var a=this;if(!e)e=function(){};t.utm=window.ftl.getCookie("utm_ref"),t.utm=_.extend({},t.utm,this.abtest.data),window.ftl.apicall({url:"/api/auth/register",params:t,callback:function(t){t.error?e(t):(delete t.stats,delete t.notifications,window.ftl.setCookie("user",a.cleanup(t),365),ga("send",{hitType:"event",eventCategory:"auth",eventAction:"User Registation",eventLabel:"email"}),fbq("track","CompleteRegistration"),a.data=t,a.authenticated=!0,a.execCallback("onAuth"),a.showAuthDialog=!1,a.afterAuth&&(a.afterAuth(),a.afterAuth=null),branch&&branch.track("signup",{uuid:t.uuid,method:"email"}),e(t),setTimeout(function(){var t=!!window._csconf.abtest&&window._csconf.abtest;setTimeout(function(){t&&t.redirect&&(window.location.href=t.redirect)},250)},250))}})},t.prototype.loginas=function(t,e){this.data=this.cleanup(this.data),window.ftl.setCookie("loginas_origin",this.cleanup(this.data),365),window.ftl.setCookie("user",this.cleanup(t),365),window.ftl.setCookie("anonauth",null,-1),window.ftl.debug.refresh(!0),setTimeout(function(){document.location.href="/account"},1e3)},t.prototype.login=function(t,e){var a=this;if(!e)e=function(){};t.utm=window.ftl.getCookie("utm_ref"),t.utm=_.extend({},t.utm,this.abtest.data),window.ftl.apicall({url:"/api/auth/login",params:t,callback:function(t){t.error?e(t):(delete t.stats,delete t.notifications,window.ftl.setCookie("user",a.cleanup(t),365),a.data=t,a.authenticated=!0,a.execCallback("onAuth"),a.showAuthDialog=!1,a.afterAuth&&(a.afterAuth(),a.afterAuth=null),e(t),setTimeout(function(){var t=!!window._csconf.abtest&&window._csconf.abtest;setTimeout(function(){t&&t.redirect&&(window.location.href=t.redirect)},250)},250))}})},t.prototype.fblogin=function(a){var i=this,o=window.ftl.addon("fleetwit");o.log("auth"," fblogin()"),FB.getLoginStatus(function(t){o.log("auth"," getLoginStatus",t),"connected"==t.status&&t.authResponse&&(t.authResponse.utm=window.ftl.getCookie("utm_ref"),t.authResponse.utm=_.extend({},t.authResponse.utm,i.abtest.data),window.ftl.apicall({url:"/api/auth/fblogin",params:t.authResponse,callback:function(t){if(t.error)alert(t.message);else if(o.log("auth"," success",t),delete t.stats,delete t.notifications,window.ftl.setCookie("user",i.cleanup(t),365),i.data=t,o.log("auth"," Erasing the local cache"),o.estorage.local={},t.isNewAccount&&(ga("send",{hitType:"event",eventCategory:"auth",eventAction:"User Registation",eventLabel:"facebook"}),fbq("track","CompleteRegistration")),i.authenticated=!0,i.execCallback("onAuth"),i.showAuthDialog=!1,i.afterAuth&&(i.afterAuth(),i.afterAuth=null),branch&&branch.track("signup",{uuid:t.uuid,method:"facebook"}),a)a();else{var e=!!window._csconf.abtest&&window._csconf.abtest;setTimeout(function(){e&&e.redirect&&(window.location.href=e.redirect)},250)}}}))})},t.prototype.requireAuth=function(t,e){this.authenticated?t&&t():(this.afterAuth=function(t){},this.requireAuthSignupAllowed=!e,e?window.Arbiter.inform("modern.auth.sign-in",{}):window.Arbiter.inform("modern.auth.sign-up",{}))},t.prototype.requireAuth_old=function(t){this.authenticated?t&&t():(this.showAuthDialog=!0,this.afterAuth=t)},t.prototype.logout=function(){window.ftl.setCookie("user",!1,-1),this.authenticated=!1,this.data=!1,branch&&branch.logout();var t=document.location.hash.split("/");!t||"profile"!=t[1]&&"settings"!=t[1]||(document.location.hash="#/games"),this.execCallback("onRefresh"),setTimeout(function(){location.reload()},500)},t.prototype.save=function(t,e,a){var i=this;if(!a)a=function(){};window.ftl.apicall({url:"/api/auth/save",auth:!0,encrypt:!0,params:{namespace:t,value:e},callback:function(t){t.error||(delete t.stats,delete t.notifications,window.ftl.setCookie("user",i.cleanup(t),365),i.data=t,i.execCallback("onRefresh")),a(t)}})},t.prototype.saveGroup=function(t,e){var a=this;if(!e)e=function(){};window.ftl.apicall({url:"/api/auth/saveGroup",auth:!0,encrypt:!0,params:{namespaces:t},callback:function(t){t.error||(delete t.stats,delete t.notifications,a.refresh()),e(t)}})},t.prototype.refresh=function(e){var a=this;if(!e)e=function(){};window.ftl.apicall({url:"/api/auth/profile",auth:!0,encrypt:!0,params:{},callback:function(t){t.error||(delete t.stats,delete t.notifications,window.ftl.setCookie("user",a.cleanup(t),365),a.data=t,a.execCallback("onRefresh"),window.Arbiter.inform("auth.refreshed",{})),e&&e(t)}})},t.prototype.localSave=function(){window.ftl.setCookie("user",this.cleanup(this.data),365),this.execCallback("onRefresh")},t.prototype.resetpwd=function(t,e){if(!e)e=function(){};window.ftl.apicall({url:"/api/auth/resetpwd",auth:!1,encrypt:!1,params:{email:t.email},callback:function(t){t.error,e&&e(t)}})},t.prototype.reset=function(t,e){var a=this;if(!e)e=function(){};window.ftl.apicall({url:"/api/auth/reset",auth:!1,encrypt:!1,params:t,callback:function(t){t.error||(delete t.stats,delete t.notifications,window.ftl.setCookie("user",a.cleanup(t),365),a.data=t,a.authenticated=!0,a.execCallback("onAuth")),e(t)}})},new t});;
// C:\code\oanda-performances\client\src\bower_components\prizeout-widget-sdk\prizeout-widget-sdk.js
//-------------------------------
!function(n){function t(){this.data={},this.loaded=!1,this.listener=null,this.callbacks={}}t.prototype.init=function(t){var e=this;switch(console.log("Widget SDK init()",t),"localhost"==document.location.hostname&&(this.env="dev"),this.env){case"dev":this.publisherDomain="http://localhost:8120/";break;default:case"prod":this.publisherDomain="https://d2pwr6a40lvu5l.cloudfront.net/"}e.listener&&n.removeEventListener("message",e.listener),e.listener=n.addEventListener("message",function(t){e.handleIncomingMessage(t)}),this.url=n.location.hash;var s=this.url.split("/");3==s.length&&"s"==s[1]?(this.encodedSettings=s[2],this.settings=JSON.parse(n.atob(this.encodedSettings)),n.location.hash="/"):this.settings={}},t.prototype.close=function(){this.send("close",{})},t.prototype.checkForBalance=function(){this.send("close",{})},t.prototype.handleIncomingMessage=function(e){try{var s=JSON.parse(e.data)}catch(t){s=e.data}var t=s.type;s.payload;console.log("Widget received:",s)},t.prototype.send=function(t,e){console.log("Widget Send:",t,e),n.parent.postMessage({type:t,payload:e},this.publisherDomain)},n.prizeoutSDK=new t}(window);;
// C:\code\oanda-performances\client\src\bower_components\app\app.js
//-------------------------------
window.sharedData={},window.apiServer="http://localhost:8080",window.dialog={visible:!0,front:"",status:{},payload:{},open:function(i,o){window.dialog.status[i]=!0,window.dialog.payload[i]=o,window.dialog.front=i,window.Arbiter.inform("dialog.opened",{id:i,payload:o})},close:function(i){window.dialog.status[i]=!1,window.dialog.front=null,delete window.dialog.payload[i],window.Arbiter.inform("dialog.closed",{id:i})},hide:function(){window.dialog.visible=!1,$(".app-dialog").hide(),window.Arbiter.inform("dialog.hidden",{})},show:function(){window.dialog.visible=!0,$(".app-dialog").show(),window.Arbiter.inform("dialog.shown",{})}},window.ftl.start({modules:["ftl-ng-auth","directives"]},function(i){});;
// C:\code\oanda-performances\client\src\bower_components\Arbiter\arbiter.js
//-------------------------------
!function(t){function e(){this.data={},this.events=new Object,this.retroactiveEvents=new Object,this.offers=new Object}e.prototype.subscribe=function(t,e,n){this.retroactiveEvents.hasOwnProperty(t)&&n&&(e(this.retroactiveEvents[t]),delete this.retroactiveEvents[t]),null==this.events[t]&&(this.events[t]=new Array);var r=Math.round(1e5*Math.random())+"-"+Math.round(1e5*Math.random());return this.events[t].push({callback:e,token:r}),r},e.prototype.unsubscribe=function(t){for(var e in this.events)for(var n=0;n<this.events[e].length;n++)if(this.events[e][n].token==t)return this.events[e].splice(n,1),!0;return!1},e.prototype.unsubscribeAll=function(t){return delete this.events[t],!0},e.prototype.inform=function(t,e){if(null==this.events[t])return this.retroactiveEvents[t]=e,!1;for(var n=0;n<this.events[t].length;n++)this.events[t][n].callback(e);return this.events[t].length},e.prototype.offer=function(t,e){null==this.offers[t]&&(this.offers[t]=new Object);var n=Math.round(1e5*Math.random())+"-"+Math.round(1e5*Math.random());return this.offers[t]={data:e,token:n},n},e.prototype.request=function(t,e){return null!=e&&e(this.offers[t].data),!!this.offers[t]&&this.offers[t].data},t.Arbiter||(t.Arbiter=new e),t.ArbiterClass=e}(window);;
// C:\code\oanda-performances\client\src\bower_components\moment\moment.js
//-------------------------------
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,i;function c(){return e.apply(null,arguments)}function a(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function o(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function r(e){return void 0===e}function u(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function s(e,t){var n,s=[];for(n=0;n<e.length;++n)s.push(t(e[n],n));return s}function f(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function d(e,t){for(var n in t)f(t,n)&&(e[n]=t[n]);return f(t,"toString")&&(e.toString=t.toString),f(t,"valueOf")&&(e.valueOf=t.valueOf),e}function h(e,t,n,s){return Ot(e,t,n,s,!0).utc()}function m(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function _(e){if(null==e._isValid){var t=m(e),n=i.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function y(e){var t=h(NaN);return null!=e?d(m(t),e):m(t).userInvalidated=!0,t}i=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var g=c.momentProperties=[];function p(e,t){var n,s,i;if(r(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),r(t._i)||(e._i=t._i),r(t._f)||(e._f=t._f),r(t._l)||(e._l=t._l),r(t._strict)||(e._strict=t._strict),r(t._tzm)||(e._tzm=t._tzm),r(t._isUTC)||(e._isUTC=t._isUTC),r(t._offset)||(e._offset=t._offset),r(t._pf)||(e._pf=m(t)),r(t._locale)||(e._locale=t._locale),0<g.length)for(n=0;n<g.length;n++)r(i=t[s=g[n]])||(e[s]=i);return e}var t=!1;function v(e){p(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===t&&(t=!0,c.updateOffset(this),t=!1)}function w(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function M(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function S(e){var t=+e,n=0;return 0!=t&&isFinite(t)&&(n=M(t)),n}function D(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s<i;s++)(n&&e[s]!==t[s]||!n&&S(e[s])!==S(t[s]))&&a++;return a+r}function k(e){!1===c.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function n(i,r){var a=!0;return d(function(){if(null!=c.deprecationHandler&&c.deprecationHandler(null,i),a){for(var e,t=[],n=0;n<arguments.length;n++){if(e="","object"==typeof arguments[n]){for(var s in e+="\n["+n+"] ",arguments[0])e+=s+": "+arguments[0][s]+", ";e=e.slice(0,-2)}else e=arguments[n];t.push(e)}k(i+"\nArguments: "+Array.prototype.slice.call(t).join("")+"\n"+(new Error).stack),a=!1}return r.apply(this,arguments)},r)}var Y,O={};function T(e,t){null!=c.deprecationHandler&&c.deprecationHandler(e,t),O[e]||(k(t),O[e]=!0)}function x(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function b(e,t){var n,s=d({},e);for(n in t)f(t,n)&&(o(e[n])&&o(t[n])?(s[n]={},d(s[n],e[n]),d(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)f(e,n)&&!f(t,n)&&o(e[n])&&(s[n]=d({},s[n]));return s}function P(e){null!=e&&this.set(e)}c.suppressDeprecationWarnings=!1,c.deprecationHandler=null,Y=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)f(e,t)&&n.push(t);return n};var W={};function H(e,t){var n=e.toLowerCase();W[n]=W[n+"s"]=W[t]=e}function R(e){return"string"==typeof e?W[e]||W[e.toLowerCase()]:void 0}function C(e){var t,n,s={};for(n in e)f(e,n)&&(t=R(n))&&(s[t]=e[n]);return s}var F={};function L(e,t){F[e]=t}function U(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,G=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,V={},E={};function I(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(E[e]=i),t&&(E[t[0]]=function(){return U(i.apply(this,arguments),t[1],t[2])}),n&&(E[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function A(e,t){return e.isValid()?(t=j(t,e.localeData()),V[t]=V[t]||function(s){var e,i,t,r=s.match(N);for(e=0,i=r.length;e<i;e++)E[r[e]]?r[e]=E[r[e]]:r[e]=(t=r[e]).match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"");return function(e){var t,n="";for(t=0;t<i;t++)n+=x(r[t])?r[t].call(e,s):r[t];return n}}(t),V[t](e)):e.localeData().invalidDate()}function j(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(G.lastIndex=0;0<=n&&G.test(e);)e=e.replace(G,s),G.lastIndex=0,n-=1;return e}var Z=/\d/,z=/\d\d/,$=/\d{3}/,q=/\d{4}/,J=/[+-]?\d{6}/,B=/\d\d?/,Q=/\d\d\d\d?/,X=/\d\d\d\d\d\d?/,K=/\d{1,3}/,ee=/\d{1,4}/,te=/[+-]?\d{1,6}/,ne=/\d+/,se=/[+-]?\d+/,ie=/Z|[+-]\d\d:?\d\d/gi,re=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,oe={};function ue(e,n,s){oe[e]=x(n)?n:function(e,t){return e&&s?s:n}}function le(e,t){return f(oe,e)?oe[e](t._strict,t._locale):new RegExp(function(e){return de(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i}))}(e))}function de(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var he={};function ce(e,n){var t,s=n;for("string"==typeof e&&(e=[e]),u(n)&&(s=function(e,t){t[n]=S(e)}),t=0;t<e.length;t++)he[e[t]]=s}function fe(e,i){ce(e,function(e,t,n,s){n._w=n._w||{},i(e,n._w,n,s)})}var me=0,_e=1,ye=2,ge=3,pe=4,ve=5,we=6,Me=7,Se=8;function De(e){return ke(e)?366:365}function ke(e){return e%4==0&&e%100!=0||e%400==0}I("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),H("year","y"),L("year",1),ue("Y",se),ue("YY",B,z),ue("YYYY",ee,q),ue("YYYYY",te,J),ue("YYYYYY",te,J),ce(["YYYYY","YYYYYY"],me),ce("YYYY",function(e,t){t[me]=2===e.length?c.parseTwoDigitYear(e):S(e)}),ce("YY",function(e,t){t[me]=c.parseTwoDigitYear(e)}),ce("Y",function(e,t){t[me]=parseInt(e,10)}),c.parseTwoDigitYear=function(e){return S(e)+(68<S(e)?1900:2e3)};var Ye,Oe=Te("FullYear",!0);function Te(t,n){return function(e){return null!=e?(be(this,t,e),c.updateOffset(this,n),this):xe(this,t)}}function xe(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function be(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&ke(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Pe(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Pe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=function(e,t){return(e%t+t)%t}(t,12);return e+=(t-n)/12,1===n?ke(e)?29:28:31-n%7%2}Ye=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),I("MMMM",0,0,function(e){return this.localeData().months(this,e)}),H("month","M"),L("month",8),ue("M",B),ue("MM",B,z),ue("MMM",function(e,t){return t.monthsShortRegex(e)}),ue("MMMM",function(e,t){return t.monthsRegex(e)}),ce(["M","MM"],function(e,t){t[_e]=S(e)-1}),ce(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[_e]=i:m(n).invalidMonth=e});var We=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,He="January_February_March_April_May_June_July_August_September_October_November_December".split("_");var Re="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Ce(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=S(t);else if(!u(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),Pe(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Fe(e){return null!=e?(Ce(this,e),c.updateOffset(this,!0),this):xe(this,"Month")}var Le=ae;var Ue=ae;function Ne(){function e(e,t){return t.length-e.length}var t,n,s=[],i=[],r=[];for(t=0;t<12;t++)n=h([2e3,t]),s.push(this.monthsShort(n,"")),i.push(this.months(n,"")),r.push(this.months(n,"")),r.push(this.monthsShort(n,""));for(s.sort(e),i.sort(e),r.sort(e),t=0;t<12;t++)s[t]=de(s[t]),i[t]=de(i[t]);for(t=0;t<24;t++)r[t]=de(r[t]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Ge(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&0<=e&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Ve(e,t,n){var s=7+t-n;return s-(7+Ge(e,0,s).getUTCDay()-t)%7-1}function Ee(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+Ve(e,s,i);return a=o<=0?De(r=e-1)+o:o>De(e)?(r=e+1,o-De(e)):(r=e,o),{year:r,dayOfYear:a}}function Ie(e,t,n){var s,i,r=Ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+Ae(i=e.year()-1,t,n):a>Ae(e.year(),t,n)?(s=a-Ae(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function Ae(e,t,n){var s=Ve(e,t,n),i=Ve(e+1,t,n);return(De(e)-s+i)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),H("week","w"),H("isoWeek","W"),L("week",5),L("isoWeek",5),ue("w",B),ue("ww",B,z),ue("W",B),ue("WW",B,z),fe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=S(e)});I("d",0,"do","day"),I("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),I("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),I("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),H("day","d"),H("weekday","e"),H("isoWeekday","E"),L("day",11),L("weekday",11),L("isoWeekday",11),ue("d",B),ue("e",B),ue("E",B),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),fe(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:m(n).invalidWeekday=e}),fe(["d","e","E"],function(e,t,n,s){t[s]=S(e)});var je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var Ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var ze="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var $e=ae;var qe=ae;var Je=ae;function Be(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=de(o[t]),u[t]=de(u[t]),l[t]=de(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Qe(){return this.hours()%12||12}function Xe(e,t){I(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ke(e,t){return t._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,Qe),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+Qe.apply(this)+U(this.minutes(),2)}),I("hmmss",0,0,function(){return""+Qe.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Xe("a",!0),Xe("A",!1),H("hour","h"),L("hour",13),ue("a",Ke),ue("A",Ke),ue("H",B),ue("h",B),ue("k",B),ue("HH",B,z),ue("hh",B,z),ue("kk",B,z),ue("hmm",Q),ue("hmmss",X),ue("Hmm",Q),ue("Hmmss",X),ce(["H","HH"],ge),ce(["k","kk"],function(e,t,n){var s=S(e);t[ge]=24===s?0:s}),ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce(["h","hh"],function(e,t,n){t[ge]=S(e),m(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ge]=S(e.substr(0,s)),t[pe]=S(e.substr(s)),m(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=S(e.substr(0,s)),t[pe]=S(e.substr(s,2)),t[ve]=S(e.substr(i)),m(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ge]=S(e.substr(0,s)),t[pe]=S(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=S(e.substr(0,s)),t[pe]=S(e.substr(s,2)),t[ve]=S(e.substr(i))});var et,tt=Te("Hours",!0),nt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:He,monthsShort:Re,week:{dow:0,doy:6},weekdays:je,weekdaysMin:ze,weekdaysShort:Ze,meridiemParse:/[ap]\.?m?\.?/i},st={},it={};function rt(e){return e?e.toLowerCase().replace("_","-"):e}function at(e){var t=null;if(!st[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=et._abbr,require("./locale/"+e),ot(t)}catch(e){}return st[e]}function ot(e,t){var n;return e&&((n=r(t)?lt(e):ut(e,t))?et=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),et._abbr}function ut(e,t){if(null===t)return delete st[e],null;var n,s=nt;if(t.abbr=e,null!=st[e])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=st[e]._config;else if(null!=t.parentLocale)if(null!=st[t.parentLocale])s=st[t.parentLocale]._config;else{if(null==(n=at(t.parentLocale)))return it[t.parentLocale]||(it[t.parentLocale]=[]),it[t.parentLocale].push({name:e,config:t}),null;s=n._config}return st[e]=new P(b(s,t)),it[e]&&it[e].forEach(function(e){ut(e.name,e.config)}),ot(e),st[e]}function lt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return et;if(!a(e)){if(t=at(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=rt(e[r]).split("-")).length,n=(n=rt(e[r+1]))?n.split("-"):null;0<t;){if(s=at(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&D(i,n,!0)>=t-1)break;t--}r++}return et}(e)}function dt(e){var t,n=e._a;return n&&-2===m(e).overflow&&(t=n[_e]<0||11<n[_e]?_e:n[ye]<1||n[ye]>Pe(n[me],n[_e])?ye:n[ge]<0||24<n[ge]||24===n[ge]&&(0!==n[pe]||0!==n[ve]||0!==n[we])?ge:n[pe]<0||59<n[pe]?pe:n[ve]<0||59<n[ve]?ve:n[we]<0||999<n[we]?we:-1,m(e)._overflowDayOfYear&&(t<me||ye<t)&&(t=ye),m(e)._overflowWeeks&&-1===t&&(t=Me),m(e)._overflowWeekday&&-1===t&&(t=Se),m(e).overflow=t),e}function ht(e,t,n){return null!=e?e:null!=t?t:n}function ct(e){var t,n,s,i,r,a=[];if(!e._d){for(s=function(e){var t=new Date(c.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[ye]&&null==e._a[_e]&&function(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=ht(t.GG,e._a[me],Ie(Tt(),1,4).year),s=ht(t.W,1),((i=ht(t.E,1))<1||7<i)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var l=Ie(Tt(),r,a);n=ht(t.gg,e._a[me],l.year),s=ht(t.w,l.week),null!=t.d?((i=t.d)<0||6<i)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||6<t.e)&&(u=!0)):i=r}s<1||s>Ae(n,r,a)?m(e)._overflowWeeks=!0:null!=u?m(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=ht(e._a[me],s[me]),(e._dayOfYear>De(r)||0===e._dayOfYear)&&(m(e)._overflowDayOfYear=!0),n=Ge(r,0,e._dayOfYear),e._a[_e]=n.getUTCMonth(),e._a[ye]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=s[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[pe]&&0===e._a[ve]&&0===e._a[we]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?Ge:function(e,t,n,s,i,r,a){var o=new Date(e,t,n,s,i,r,a);return e<100&&0<=e&&isFinite(o.getFullYear())&&o.setFullYear(e),o}).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(m(e).weekdayMismatch=!0)}}var ft=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,mt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],gt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pt=/^\/?Date\((\-?\d+)/i;function vt(e){var t,n,s,i,r,a,o=e._i,u=ft.exec(o)||mt.exec(o);if(u){for(m(e).iso=!0,t=0,n=yt.length;t<n;t++)if(yt[t][1].exec(u[1])){i=yt[t][0],s=!1!==yt[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=gt.length;t<n;t++)if(gt[t][1].exec(u[3])){r=(u[2]||" ")+gt[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!_t.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),kt(e)}else e._isValid=!1}var wt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function Mt(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),Re.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}var St={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Dt(e){var t=wt.exec(function(e){return e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}(e._i));if(t){var n=Mt(t[4],t[3],t[2],t[5],t[6],t[7]);if(!function(e,t,n){return!e||Ze.indexOf(e)===new Date(t[0],t[1],t[2]).getDay()||(m(n).weekdayMismatch=!0,n._isValid=!1)}(t[1],n,e))return;e._a=n,e._tzm=function(e,t,n){if(e)return St[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return 60*((s-i)/100)+i}(t[8],t[9],t[10]),e._d=Ge.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),m(e).rfc2822=!0}else e._isValid=!1}function kt(e){if(e._f!==c.ISO_8601)if(e._f!==c.RFC_2822){e._a=[],m(e).empty=!0;var t,n,s,i,r,a,o,u,l=""+e._i,d=l.length,h=0;for(s=j(e._f,e._locale).match(N)||[],t=0;t<s.length;t++)i=s[t],(n=(l.match(le(i,e))||[])[0])&&(0<(r=l.substr(0,l.indexOf(n))).length&&m(e).unusedInput.push(r),l=l.slice(l.indexOf(n)+n.length),h+=n.length),E[i]?(n?m(e).empty=!1:m(e).unusedTokens.push(i),a=i,u=e,null!=(o=n)&&f(he,a)&&he[a](o,u._a,u,a)):e._strict&&!n&&m(e).unusedTokens.push(i);m(e).charsLeftOver=d-h,0<l.length&&m(e).unusedInput.push(l),e._a[ge]<=12&&!0===m(e).bigHour&&0<e._a[ge]&&(m(e).bigHour=void 0),m(e).parsedDateParts=e._a.slice(0),m(e).meridiem=e._meridiem,e._a[ge]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):(null!=e.isPM&&((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0)),t)}(e._locale,e._a[ge],e._meridiem),ct(e),dt(e)}else Dt(e);else vt(e)}function Yt(e){var t=e._i,n=e._f;return e._locale=e._locale||lt(e._l),null===t||void 0===n&&""===t?y({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),w(t)?new v(dt(t)):(l(t)?e._d=t:a(n)?function(e){var t,n,s,i,r;if(0===e._f.length)return m(e).invalidFormat=!0,e._d=new Date(NaN);for(i=0;i<e._f.length;i++)r=0,t=p({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],kt(t),_(t)&&(r+=m(t).charsLeftOver,r+=10*m(t).unusedTokens.length,m(t).score=r,(null==s||r<s)&&(s=r,n=t));d(e,n||t)}(e):n?kt(e):function(e){var t=e._i;r(t)?e._d=new Date(c.now()):l(t)?e._d=new Date(t.valueOf()):"string"==typeof t?function(e){var t=pt.exec(e._i);null===t?(vt(e),!1===e._isValid&&(delete e._isValid,Dt(e),!1===e._isValid&&(delete e._isValid,c.createFromInputFallback(e)))):e._d=new Date(+t[1])}(e):a(t)?(e._a=s(t.slice(0),function(e){return parseInt(e,10)}),ct(e)):o(t)?function(e){if(!e._d){var t=C(e._i);e._a=s([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),ct(e)}}(e):u(t)?e._d=new Date(t):c.createFromInputFallback(e)}(e),_(e)||(e._d=null),e))}function Ot(e,t,n,s,i){var r={};return!0!==n&&!1!==n||(s=n,n=void 0),(o(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||a(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=i,r._l=n,r._i=e,r._f=t,r._strict=s,function(e){var t=new v(dt(Yt(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}(r)}function Tt(e,t,n,s){return Ot(e,t,n,s,!1)}c.createFromInputFallback=n("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),c.ISO_8601=function(){},c.RFC_2822=function(){};var xt=n("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:y()}),bt=n("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:y()});function Pt(e,t){var n,s;if(1===t.length&&a(t[0])&&(t=t[0]),!t.length)return Tt();for(n=t[0],s=1;s<t.length;++s)t[s].isValid()&&!t[s][e](n)||(n=t[s]);return n}var Wt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ht(e){var t=C(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,d=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===Ye.call(Wt,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,s=0;s<Wt.length;++s)if(e[Wt[s]]){if(n)return!1;parseFloat(e[Wt[s]])!==S(e[Wt[s]])&&(n=!0)}return!0}(t),this._milliseconds=+d+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=lt(),this._bubble()}function Rt(e){return e instanceof Ht}function Ct(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ft(e,n){I(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+U(~~(e/60),2)+n+U(~~e%60,2)})}Ft("Z",":"),Ft("ZZ",""),ue("Z",re),ue("ZZ",re),ce(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Ut(re,e)});var Lt=/([\+\-]|\d\d)/gi;function Ut(e,t){var n=(t||"").match(e);if(null===n)return null;var s=((n[n.length-1]||[])+"").match(Lt)||["-",0,0],i=60*s[1]+S(s[2]);return 0===i?0:"+"===s[0]?i:-i}function Nt(e,t){var n,s;return t._isUTC?(n=t.clone(),s=(w(e)||l(e)?e.valueOf():Tt(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+s),c.updateOffset(n,!1),n):Tt(e).local()}function Gt(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Vt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}c.updateOffset=function(){};var Et=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,It=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function At(e,t){var n,s,i,r=e,a=null;return Rt(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:u(e)?(r={},t?r[t]=e:r.milliseconds=e):(a=Et.exec(e))?(n="-"===a[1]?-1:1,r={y:0,d:S(a[ye])*n,h:S(a[ge])*n,m:S(a[pe])*n,s:S(a[ve])*n,ms:S(Ct(1e3*a[we]))*n}):(a=It.exec(e))?(n="-"===a[1]?-1:(a[1],1),r={y:jt(a[2],n),M:jt(a[3],n),w:jt(a[4],n),d:jt(a[5],n),h:jt(a[6],n),m:jt(a[7],n),s:jt(a[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(i=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Nt(t,e),e.isBefore(t)?n=Zt(e,t):((n=Zt(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(Tt(r.from),Tt(r.to)),(r={}).ms=i.milliseconds,r.M=i.months),s=new Ht(r),Rt(e)&&f(e,"_locale")&&(s._locale=e._locale),s}function jt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Zt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function zt(s,i){return function(e,t){var n;return null===t||isNaN(+t)||(T(i,"moment()."+i+"(period, number) is deprecated. Please use moment()."+i+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=e,e=t,t=n),$t(this,At(e="string"==typeof e?+e:e,t),s),this}}function $t(e,t,n,s){var i=t._milliseconds,r=Ct(t._days),a=Ct(t._months);e.isValid()&&(s=null==s||s,a&&Ce(e,xe(e,"Month")+a*n),r&&be(e,"Date",xe(e,"Date")+r*n),i&&e._d.setTime(e._d.valueOf()+i*n),s&&c.updateOffset(e,r||a))}At.fn=Ht.prototype,At.invalid=function(){return At(NaN)};var qt=zt(1,"add"),Jt=zt(-1,"subtract");function Bt(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months");return-(n+(t-s<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(1+n,"months")-s)))||0}function Qt(e){var t;return void 0===e?this._locale._abbr:(null!=(t=lt(e))&&(this._locale=t),this)}c.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",c.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xt=n("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function Kt(){return this._locale}function en(e,t){I(0,[e,e.length],0,t)}function tn(e,t,n,s,i){var r;return null==e?Ie(this,s,i).year:((r=Ae(e,s,i))<t&&(t=r),function(e,t,n,s,i){var r=Ee(e,t,n,s,i),a=Ge(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),en("gggg","weekYear"),en("ggggg","weekYear"),en("GGGG","isoWeekYear"),en("GGGGG","isoWeekYear"),H("weekYear","gg"),H("isoWeekYear","GG"),L("weekYear",1),L("isoWeekYear",1),ue("G",se),ue("g",se),ue("GG",B,z),ue("gg",B,z),ue("GGGG",ee,q),ue("gggg",ee,q),ue("GGGGG",te,J),ue("ggggg",te,J),fe(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=S(e)}),fe(["gg","GG"],function(e,t,n,s){t[s]=c.parseTwoDigitYear(e)}),I("Q",0,"Qo","quarter"),H("quarter","Q"),L("quarter",7),ue("Q",Z),ce("Q",function(e,t){t[_e]=3*(S(e)-1)}),I("D",["DD",2],"Do","date"),H("date","D"),L("date",9),ue("D",B),ue("DD",B,z),ue("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ce(["D","DD"],ye),ce("Do",function(e,t){t[ye]=S(e.match(B)[0])});var nn=Te("Date",!0);I("DDD",["DDDD",3],"DDDo","dayOfYear"),H("dayOfYear","DDD"),L("dayOfYear",4),ue("DDD",K),ue("DDDD",$),ce(["DDD","DDDD"],function(e,t,n){n._dayOfYear=S(e)}),I("m",["mm",2],0,"minute"),H("minute","m"),L("minute",14),ue("m",B),ue("mm",B,z),ce(["m","mm"],pe);var sn=Te("Minutes",!1);I("s",["ss",2],0,"second"),H("second","s"),L("second",15),ue("s",B),ue("ss",B,z),ce(["s","ss"],ve);var rn,an=Te("Seconds",!1);for(I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),I(0,["SSS",3],0,"millisecond"),I(0,["SSSS",4],0,function(){return 10*this.millisecond()}),I(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),I(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),I(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),I(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),I(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),H("millisecond","ms"),L("millisecond",16),ue("S",K,Z),ue("SS",K,z),ue("SSS",K,$),rn="SSSS";rn.length<=9;rn+="S")ue(rn,ne);function on(e,t){t[we]=S(1e3*("0."+e))}for(rn="S";rn.length<=9;rn+="S")ce(rn,on);var un=Te("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var ln=v.prototype;function dn(e){return e}ln.add=qt,ln.calendar=function(e,t){var n=e||Tt(),s=Nt(n,this).startOf("day"),i=c.calendarFormat(this,s)||"sameElse",r=t&&(x(t[i])?t[i].call(this,n):t[i]);return this.format(r||this.localeData().calendar(i,this,Tt(n)))},ln.clone=function(){return new v(this)},ln.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Nt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=R(t)){case"year":r=Bt(this,s)/12;break;case"month":r=Bt(this,s);break;case"quarter":r=Bt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:M(r)},ln.endOf=function(e){return void 0===(e=R(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},ln.format=function(e){e=e||(this.isUtc()?c.defaultFormatUtc:c.defaultFormat);var t=A(this,e);return this.localeData().postformat(t)},ln.from=function(e,t){return this.isValid()&&(w(e)&&e.isValid()||Tt(e).isValid())?At({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},ln.fromNow=function(e){return this.from(Tt(),e)},ln.to=function(e,t){return this.isValid()&&(w(e)&&e.isValid()||Tt(e).isValid())?At({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},ln.toNow=function(e){return this.to(Tt(),e)},ln.get=function(e){return x(this[e=R(e)])?this[e]():this},ln.invalidAt=function(){return m(this).overflow},ln.isAfter=function(e,t){var n=w(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=R(r(t)?"millisecond":t))?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},ln.isBefore=function(e,t){var n=w(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=R(r(t)?"millisecond":t))?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},ln.isBetween=function(e,t,n,s){return("("===(s=s||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n))},ln.isSame=function(e,t){var n,s=w(e)?e:Tt(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=R(t||"millisecond"))?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},ln.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},ln.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},ln.isValid=function(){return _(this)},ln.lang=Xt,ln.locale=Qt,ln.localeData=Kt,ln.max=bt,ln.min=xt,ln.parsingFlags=function(){return d({},m(this))},ln.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:F[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}(e=C(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(x(this[e=R(e)]))return this[e](t);return this},ln.startOf=function(e){switch(e=R(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.weekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this},ln.subtract=Jt,ln.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},ln.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},ln.toDate=function(){return new Date(this.valueOf())},ln.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||9999<n.year()?A(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):x(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",A(n,"Z")):A(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},ln.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},ln.toJSON=function(){return this.isValid()?this.toISOString():null},ln.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},ln.unix=function(){return Math.floor(this.valueOf()/1e3)},ln.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},ln.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},ln.year=Oe,ln.isLeapYear=function(){return ke(this.year())},ln.weekYear=function(e){return tn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},ln.isoWeekYear=function(e){return tn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},ln.quarter=ln.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},ln.month=Fe,ln.daysInMonth=function(){return Pe(this.year(),this.month())},ln.week=ln.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},ln.isoWeek=ln.isoWeeks=function(e){var t=Ie(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},ln.weeksInYear=function(){var e=this.localeData()._week;return Ae(this.year(),e.dow,e.doy)},ln.isoWeeksInYear=function(){return Ae(this.year(),1,4)},ln.date=nn,ln.day=ln.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},ln.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},ln.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)},ln.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},ln.hour=ln.hours=tt,ln.minute=ln.minutes=sn,ln.second=ln.seconds=an,ln.millisecond=ln.milliseconds=un,ln.utcOffset=function(e,t,n){var s,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?i:Gt(this);if("string"==typeof e){if(null===(e=Ut(re,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(s=Gt(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?$t(this,At(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this},ln.utc=function(e){return this.utcOffset(0,e)},ln.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Gt(this),"m")),this},ln.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Ut(ie,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},ln.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Tt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},ln.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},ln.isLocal=function(){return!!this.isValid()&&!this._isUTC},ln.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},ln.isUtc=Vt,ln.isUTC=Vt,ln.zoneAbbr=function(){return this._isUTC?"UTC":""},ln.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},ln.dates=n("dates accessor is deprecated. Use date instead.",nn),ln.months=n("months accessor is deprecated. Use month instead",Fe),ln.years=n("years accessor is deprecated. Use year instead",Oe),ln.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),ln.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e={};if(p(e,this),(e=Yt(e))._a){var t=e._isUTC?h(e._a):Tt(e._a);this._isDSTShifted=this.isValid()&&0<D(e._a,t.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted});var hn=P.prototype;function cn(e,t,n,s){var i=lt(),r=h().set(s,t);return i[n](r,e)}function fn(e,t,n){if(u(e)&&(t=e,e=void 0),e=e||"",null!=t)return cn(e,t,n,"month");var s,i=[];for(s=0;s<12;s++)i[s]=cn(e,s,n,"month");return i}function mn(e,t,n,s){t=("boolean"==typeof e?u(t)&&(n=t,t=void 0):(t=e,e=!1,u(n=t)&&(n=t,t=void 0)),t||"");var i,r=lt(),a=e?r._week.dow:0;if(null!=n)return cn(t,(n+a)%7,s,"day");var o=[];for(i=0;i<7;i++)o[i]=cn(t,(i+a)%7,s,"day");return o}hn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return x(s)?s.call(t,n):s},hn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},hn.invalidDate=function(){return this._invalidDate},hn.ordinal=function(e){return this._ordinal.replace("%d",e)},hn.preparse=dn,hn.postformat=dn,hn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return x(i)?i(e,t,n,s):i.replace(/%d/i,e)},hn.pastFuture=function(e,t){var n=this._relativeTime[0<e?"future":"past"];return x(n)?n(t):n.replace(/%s/i,t)},hn.set=function(e){var t,n;for(n in e)x(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},hn.months=function(e,t){return e?a(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||We).test(t)?"format":"standalone"][e.month()]:a(this._months)?this._months:this._months.standalone},hn.monthsShort=function(e,t){return e?a(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[We.test(t)?"format":"standalone"][e.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},hn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=h([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=Ye.call(this._shortMonthsParse,a))?i:null:-1!==(i=Ye.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=Ye.call(this._shortMonthsParse,a))?i:-1!==(i=Ye.call(this._longMonthsParse,a))?i:null:-1!==(i=Ye.call(this._longMonthsParse,a))?i:-1!==(i=Ye.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=h([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},hn.monthsRegex=function(e){return this._monthsParseExact?(f(this,"_monthsRegex")||Ne.call(this),e?this._monthsStrictRegex:this._monthsRegex):(f(this,"_monthsRegex")||(this._monthsRegex=Ue),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},hn.monthsShortRegex=function(e){return this._monthsParseExact?(f(this,"_monthsRegex")||Ne.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(f(this,"_monthsShortRegex")||(this._monthsShortRegex=Le),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},hn.week=function(e){return Ie(e,this._week.dow,this._week.doy).week},hn.firstDayOfYear=function(){return this._week.doy},hn.firstDayOfWeek=function(){return this._week.dow},hn.weekdays=function(e,t){return e?a(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:a(this._weekdays)?this._weekdays:this._weekdays.standalone},hn.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},hn.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},hn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=h([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Ye.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=h([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},hn.weekdaysRegex=function(e){return this._weekdaysParseExact?(f(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(f(this,"_weekdaysRegex")||(this._weekdaysRegex=$e),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},hn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(f(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(f(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=qe),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},hn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(f(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(f(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Je),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},hn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},hn.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},ot("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===S(e%100/10)?"th":1==t?"st":2==t?"nd":3==t?"rd":"th")}}),c.lang=n("moment.lang is deprecated. Use moment.locale instead.",ot),c.langData=n("moment.langData is deprecated. Use moment.localeData instead.",lt);var _n=Math.abs;function yn(e,t,n,s){var i=At(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function gn(e){return e<0?Math.floor(e):Math.ceil(e)}function pn(e){return 4800*e/146097}function vn(e){return 146097*e/4800}function wn(e){return function(){return this.as(e)}}var Mn=wn("ms"),Sn=wn("s"),Dn=wn("m"),kn=wn("h"),Yn=wn("d"),On=wn("w"),Tn=wn("M"),xn=wn("y");function bn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Pn=bn("milliseconds"),Wn=bn("seconds"),Hn=bn("minutes"),Rn=bn("hours"),Cn=bn("days"),Fn=bn("months"),Ln=bn("years");var Un=Math.round,Nn={ss:44,s:45,m:45,h:22,d:26,M:11};var Gn=Math.abs;function Vn(e){return(0<e)-(e<0)||+e}function En(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Gn(this._milliseconds)/1e3,s=Gn(this._days),i=Gn(this._months);t=M((e=M(n/60))/60),n%=60,e%=60;var r=M(i/12),a=i%=12,o=s,u=t,l=e,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",h=this.asSeconds();if(!h)return"P0D";var c=h<0?"-":"",f=Vn(this._months)!==Vn(h)?"-":"",m=Vn(this._days)!==Vn(h)?"-":"",_=Vn(this._milliseconds)!==Vn(h)?"-":"";return c+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(o?m+o+"D":"")+(u||l||d?"T":"")+(u?_+u+"H":"")+(l?_+l+"M":"")+(d?_+d+"S":"")}var In=Ht.prototype;return In.isValid=function(){return this._isValid},In.abs=function(){var e=this._data;return this._milliseconds=_n(this._milliseconds),this._days=_n(this._days),this._months=_n(this._months),e.milliseconds=_n(e.milliseconds),e.seconds=_n(e.seconds),e.minutes=_n(e.minutes),e.hours=_n(e.hours),e.months=_n(e.months),e.years=_n(e.years),this},In.add=function(e,t){return yn(this,e,t,1)},In.subtract=function(e,t){return yn(this,e,t,-1)},In.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=R(e))||"year"===e)return t=this._days+s/864e5,n=this._months+pn(t),"month"===e?n:n/12;switch(t=this._days+Math.round(vn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},In.asMilliseconds=Mn,In.asSeconds=Sn,In.asMinutes=Dn,In.asHours=kn,In.asDays=Yn,In.asWeeks=On,In.asMonths=Tn,In.asYears=xn,In.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*S(this._months/12):NaN},In._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return 0<=r&&0<=a&&0<=o||r<=0&&a<=0&&o<=0||(r+=864e5*gn(vn(o)+a),o=a=0),u.milliseconds=r%1e3,e=M(r/1e3),u.seconds=e%60,t=M(e/60),u.minutes=t%60,n=M(t/60),u.hours=n%24,o+=i=M(pn(a+=M(n/24))),a-=gn(vn(i)),s=M(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},In.clone=function(){return At(this)},In.get=function(e){return e=R(e),this.isValid()?this[e+"s"]():NaN},In.milliseconds=Pn,In.seconds=Wn,In.minutes=Hn,In.hours=Rn,In.days=Cn,In.weeks=function(){return M(this.days()/7)},In.months=Fn,In.years=Ln,In.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var s=At(e).abs(),i=Un(s.as("s")),r=Un(s.as("m")),a=Un(s.as("h")),o=Un(s.as("d")),u=Un(s.as("M")),l=Un(s.as("y")),d=i<=Nn.ss&&["s",i]||i<Nn.s&&["ss",i]||r<=1&&["m"]||r<Nn.m&&["mm",r]||a<=1&&["h"]||a<Nn.h&&["hh",a]||o<=1&&["d"]||o<Nn.d&&["dd",o]||u<=1&&["M"]||u<Nn.M&&["MM",u]||l<=1&&["y"]||["yy",l];return d[2]=t,d[3]=0<+e,d[4]=n,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,d)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},In.toISOString=En,In.toString=En,In.toJSON=En,In.locale=Qt,In.localeData=Kt,In.toIsoString=n("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",En),In.lang=Xt,I("X",0,0,"unix"),I("x",0,0,"valueOf"),ue("x",se),ue("X",/[+-]?\d+(\.\d{1,3})?/),ce("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),ce("x",function(e,t,n){n._d=new Date(S(e))}),c.version="2.22.2",e=Tt,c.fn=ln,c.min=function(){return Pt("isBefore",[].slice.call(arguments,0))},c.max=function(){return Pt("isAfter",[].slice.call(arguments,0))},c.now=function(){return Date.now?Date.now():+new Date},c.utc=h,c.unix=function(e){return Tt(1e3*e)},c.months=function(e,t){return fn(e,t,"months")},c.isDate=l,c.locale=ot,c.invalid=y,c.duration=At,c.isMoment=w,c.weekdays=function(e,t,n){return mn(e,t,n,"weekdays")},c.parseZone=function(){return Tt.apply(null,arguments).parseZone()},c.localeData=lt,c.isDuration=Rt,c.monthsShort=function(e,t){return fn(e,t,"monthsShort")},c.weekdaysMin=function(e,t,n){return mn(e,t,n,"weekdaysMin")},c.defineLocale=ut,c.updateLocale=function(e,t){if(null!=t){var n,s,i=nt;null!=(s=at(e))&&(i=s._config),(n=new P(t=b(i,t))).parentLocale=st[e],st[e]=n,ot(e)}else null!=st[e]&&(null!=st[e].parentLocale?st[e]=st[e].parentLocale:null!=st[e]&&delete st[e]);return st[e]},c.locales=function(){return Y(st)},c.weekdaysShort=function(e,t,n){return mn(e,t,n,"weekdaysShort")},c.normalizeUnits=R,c.relativeTimeRounding=function(e){return void 0===e?Un:"function"==typeof e&&(Un=e,!0)},c.relativeTimeThreshold=function(e,t){return void 0!==Nn[e]&&(void 0===t?Nn[e]:(Nn[e]=t,"s"===e&&(Nn.ss=t-1),!0))},c.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},c.prototype=ln,c.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},c});;
// C:\code\oanda-performances\client\src\bower_components\md5\md5.js
//-------------------------------
window.MD5=function(r){function i(r,n){return r<<n|r>>>32-n}function a(r,n){var t,o,e,u,f;return e=2147483648&r,u=2147483648&n,f=(1073741823&r)+(1073741823&n),(t=1073741824&r)&(o=1073741824&n)?2147483648^f^e^u:t|o?1073741824&f?3221225472^f^e^u:1073741824^f^e^u:f^e^u}function n(r,n,t,o,e,u,f){return a(i(r=a(r,a(a(function(r,n,t){return r&n|~r&t}(n,t,o),e),f)),u),n)}function t(r,n,t,o,e,u,f){return a(i(r=a(r,a(a(function(r,n,t){return r&t|n&~t}(n,t,o),e),f)),u),n)}function o(r,n,t,o,e,u,f){return a(i(r=a(r,a(a(function(r,n,t){return r^n^t}(n,t,o),e),f)),u),n)}function e(r,n,t,o,e,u,f){return a(i(r=a(r,a(a(function(r,n,t){return n^(r|~t)}(n,t,o),e),f)),u),n)}function u(r){var n,t="",o="";for(n=0;n<=3;n++)t+=(o="0"+(r>>>8*n&255).toString(16)).substr(o.length-2,2);return t}var f,c,C,g,h,d,v,S,l,m=Array();for(m=function(r){for(var n,t=r.length,o=t+8,e=16*(1+(o-o%64)/64),u=Array(e-1),f=0,i=0;i<t;)f=i%4*8,u[n=(i-i%4)/4]=u[n]|r.charCodeAt(i)<<f,i++;return f=i%4*8,u[n=(i-i%4)/4]=u[n]|128<<f,u[e-2]=t<<3,u[e-1]=t>>>29,u}(r=function(r){r=r.replace(/\r\n/g,"\n");for(var n="",t=0;t<r.length;t++){var o=r.charCodeAt(t);o<128?n+=String.fromCharCode(o):(127<o&&o<2048?n+=String.fromCharCode(o>>6|192):(n+=String.fromCharCode(o>>12|224),n+=String.fromCharCode(o>>6&63|128)),n+=String.fromCharCode(63&o|128))}return n}(r)),d=1732584193,v=4023233417,S=2562383102,l=271733878,f=0;f<m.length;f+=16)v=e(v=e(v=e(v=e(v=o(v=o(v=o(v=o(v=t(v=t(v=t(v=t(v=n(v=n(v=n(v=n(C=v,S=n(g=S,l=n(h=l,d=n(c=d,v,S,l,m[f+0],7,3614090360),v,S,m[f+1],12,3905402710),d,v,m[f+2],17,606105819),l,d,m[f+3],22,3250441966),S=n(S,l=n(l,d=n(d,v,S,l,m[f+4],7,4118548399),v,S,m[f+5],12,1200080426),d,v,m[f+6],17,2821735955),l,d,m[f+7],22,4249261313),S=n(S,l=n(l,d=n(d,v,S,l,m[f+8],7,1770035416),v,S,m[f+9],12,2336552879),d,v,m[f+10],17,4294925233),l,d,m[f+11],22,2304563134),S=n(S,l=n(l,d=n(d,v,S,l,m[f+12],7,1804603682),v,S,m[f+13],12,4254626195),d,v,m[f+14],17,2792965006),l,d,m[f+15],22,1236535329),S=t(S,l=t(l,d=t(d,v,S,l,m[f+1],5,4129170786),v,S,m[f+6],9,3225465664),d,v,m[f+11],14,643717713),l,d,m[f+0],20,3921069994),S=t(S,l=t(l,d=t(d,v,S,l,m[f+5],5,3593408605),v,S,m[f+10],9,38016083),d,v,m[f+15],14,3634488961),l,d,m[f+4],20,3889429448),S=t(S,l=t(l,d=t(d,v,S,l,m[f+9],5,568446438),v,S,m[f+14],9,3275163606),d,v,m[f+3],14,4107603335),l,d,m[f+8],20,1163531501),S=t(S,l=t(l,d=t(d,v,S,l,m[f+13],5,2850285829),v,S,m[f+2],9,4243563512),d,v,m[f+7],14,1735328473),l,d,m[f+12],20,2368359562),S=o(S,l=o(l,d=o(d,v,S,l,m[f+5],4,4294588738),v,S,m[f+8],11,2272392833),d,v,m[f+11],16,1839030562),l,d,m[f+14],23,4259657740),S=o(S,l=o(l,d=o(d,v,S,l,m[f+1],4,2763975236),v,S,m[f+4],11,1272893353),d,v,m[f+7],16,4139469664),l,d,m[f+10],23,3200236656),S=o(S,l=o(l,d=o(d,v,S,l,m[f+13],4,681279174),v,S,m[f+0],11,3936430074),d,v,m[f+3],16,3572445317),l,d,m[f+6],23,76029189),S=o(S,l=o(l,d=o(d,v,S,l,m[f+9],4,3654602809),v,S,m[f+12],11,3873151461),d,v,m[f+15],16,530742520),l,d,m[f+2],23,3299628645),S=e(S,l=e(l,d=e(d,v,S,l,m[f+0],6,4096336452),v,S,m[f+7],10,1126891415),d,v,m[f+14],15,2878612391),l,d,m[f+5],21,4237533241),S=e(S,l=e(l,d=e(d,v,S,l,m[f+12],6,1700485571),v,S,m[f+3],10,2399980690),d,v,m[f+10],15,4293915773),l,d,m[f+1],21,2240044497),S=e(S,l=e(l,d=e(d,v,S,l,m[f+8],6,1873313359),v,S,m[f+15],10,4264355552),d,v,m[f+6],15,2734768916),l,d,m[f+13],21,1309151649),S=e(S,l=e(l,d=e(d,v,S,l,m[f+4],6,4149444226),v,S,m[f+11],10,3174756917),d,v,m[f+2],15,718787259),l,d,m[f+9],21,3951481745),d=a(d,c),v=a(v,C),S=a(S,g),l=a(l,h);return(u(d)+u(v)+u(S)+u(l)).toLowerCase()};;
// C:\code\oanda-performances\client\src\bower_components\SHA-1\sha1.js
//-------------------------------
(function(){function x(n,e,t,r){return n<20?e&t|~e&r:n<40?e^t^r:n<60?e&t|e&r|t&r:e^t^r}function m(n,e){var t=(65535&n)+(65535&e);return(n>>16)+(e>>16)+(t>>16)<<16|65535&t}function v(n,e){return n<<e|n>>>32-e}function n(n){return function(n){var e,t="0123456789abcdef",r="";for(e=0;e<4*n.length;e++)r+=t.charAt(n[e>>2]>>8*(3-e%4)+4&15)+t.charAt(n[e>>2]>>8*(3-e%4)&15);return r}(function(n){var e,t,r,o,f,u,i,c,d,a=[],h=1732584193,l=4023233417,s=2562383102,p=271733878,g=3285377520;for(i=0;i<n.length;i+=16){for(e=h,t=l,r=s,o=p,f=g,c=0;c<80;c++)a[c]=c<16?n[i+c]:v(a[c-3]^a[c-8]^a[c-14]^a[c-16],1),u=m(m(v(h,5),x(c,l,s,p)),m(m(g,a[c]),(d=c)<20?1518500249:d<40?1859775393:d<60?2400959708:3395469782)),g=p,p=s,s=v(l,30),l=h,h=u;h=m(h,e),l=m(l,t),s=m(s,r),p=m(p,o),g=m(g,f)}return[h,l,s,p,g]}(function(n){var e,t=1+(n.length+8>>6),r=[];for(e=0;e<16*t;e++)r[e]=0;for(e=0;e<n.length;e++)r[e>>2]|=n.charCodeAt(e)<<24-8*(3&e);return r[e>>2]|=128<<24-8*(3&e),r[16*t-1]=8*n.length,r}(n)))}"function"==typeof define&&(define.amd,1)?define(function(){return n}):"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=n),exports.sha1=n):this.sha1=n}).call(this);;
// C:\code\oanda-performances\client\src\bower_components\marked\marked.js
//-------------------------------
(function(){var c={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:t,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:t,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:t,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};function a(e){this.tokens=[],this.tokens.links={},this.options=e||f.defaults,this.rules=c.normal,this.options.gfm&&(this.options.tables?this.rules=c.tables:this.rules=c.gfm)}c.bullet=/(?:[*+-]|\d+\.)/,c.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,c.item=e(c.item,"gm")(/bull/g,c.bullet)(),c.list=e(c.list)(/bull/g,c.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+c.def.source+")")(),c.blockquote=e(c.blockquote)("def",c.def)(),c._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",c.html=e(c.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,c._tag)(),c.paragraph=e(c.paragraph)("hr",c.hr)("heading",c.heading)("lheading",c.lheading)("blockquote",c.blockquote)("tag","<"+c._tag)("def",c.def)(),c.normal=g({},c),c.gfm=g({},c.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),c.gfm.paragraph=e(c.paragraph)("(?!","(?!"+c.gfm.fences.source.replace("\\1","\\2")+"|"+c.list.source.replace("\\1","\\3")+"|")(),c.tables=g({},c.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),a.rules=c,a.lex=function(e,t){return new a(t).lex(e)},a.prototype.lex=function(e){return e=(e=e.replace(/\n{2}/g,"<br />")).replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},a.prototype.token=function(e,t,n){var r,s,i,l,o,h,a,p,u;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),1<i[0].length&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2],text:i[3]});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=this.rules.nptable.exec(e))){for(e=e.substring(i[0].length),h={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},p=0;p<h.align.length;p++)/^ *-+: *$/.test(h.align[p])?h.align[p]="right":/^ *:-+: *$/.test(h.align[p])?h.align[p]="center":/^ *:-+ *$/.test(h.align[p])?h.align[p]="left":h.align[p]=null;for(p=0;p<h.cells.length;p++)h.cells[p]=h.cells[p].split(/ *\| */);this.tokens.push(h)}else if(i=this.rules.lheading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:"="===i[2]?1:2,text:i[1]});else if(i=this.rules.hr.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"hr"});else if(i=this.rules.blockquote.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"blockquote_start"}),i=i[0].replace(/^ *> ?/gm,""),this.token(i,t,!0),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),l=i[2],this.tokens.push({type:"list_start",ordered:1<l.length}),r=!1,u=(i=i[0].match(this.rules.item)).length,p=0;p<u;p++)a=(h=i[p]).length,~(h=h.replace(/^ *([*+-]|\d+\.) +/,"")).indexOf("\n ")&&(a-=h.length,h=this.options.pedantic?h.replace(/^ {1,4}/gm,""):h.replace(new RegExp("^ {1,"+a+"}","gm"),"")),this.options.smartLists&&p!==u-1&&(l===(o=c.bullet.exec(i[p+1])[0])||1<l.length&&1<o.length||(e=i.slice(p+1).join("\n")+e,p=u-1)),s=r||/\n\n(?!\s*$)/.test(h),p!==u-1&&(r="\n"===h.charAt(h.length-1),s=s||r),this.tokens.push({type:s?"loose_item_start":"list_item_start"}),this.token(h,!1,n),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(i=this.rules.html.exec(e))e=e.substring(i[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=this.rules.def.exec(e)))e=e.substring(i[0].length),this.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=this.rules.table.exec(e))){for(e=e.substring(i[0].length),h={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/(?: *\| *)?\n$/,"").split("\n")},p=0;p<h.align.length;p++)/^ *-+: *$/.test(h.align[p])?h.align[p]="right":/^ *:-+: *$/.test(h.align[p])?h.align[p]="center":/^ *:-+ *$/.test(h.align[p])?h.align[p]="left":h.align[p]=null;for(p=0;p<h.cells.length;p++)h.cells[p]=h.cells[p].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */);this.tokens.push(h)}else if(t&&(i=this.rules.paragraph.exec(e)))e=e.substring(i[0].length),this.tokens.push({type:"paragraph",text:"\n"===i[1].charAt(i[1].length-1)?i[1].slice(0,-1):i[1]});else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"text",text:i[0]});else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0));return this.tokens};var n={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:t,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:t,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/};function r(e,t){if(this.options=t||f.defaults,this.links=e,this.rules=n.normal,this.renderer=this.options.renderer||new s,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=n.breaks:this.rules=n.gfm:this.options.pedantic&&(this.rules=n.pedantic)}function s(e){this.options=e||{}}function p(e){this.tokens=[],this.token=null,this.options=e||f.defaults,this.options.renderer=this.options.renderer||new s,this.renderer=this.options.renderer,this.renderer.options=this.options}function u(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\n{2}/g,"<br />").replace(/\"/g,""").replace(/'/g,"'")}function e(r,s){return r=r.source,s=s||"",function e(t,n){return t?(n=(n=n.source||n).replace(/(^|[^\[])\^/g,"$1"),r=r.replace(t,n),e):new RegExp(r,s)}}function t(){}function g(e){for(var t,n,r=1;r<arguments.length;r++)for(n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}function f(e,n,r){if(r||"function"==typeof n){r||(r=n,n=null);var s,i,l=(n=g({},f.defaults,n||{})).highlight,t=0;try{s=a.lex(e,n)}catch(e){return r(e)}i=s.length;function o(t){if(t)return n.highlight=l,r(t);var e;try{e=p.parse(s,n)}catch(e){t=e}return n.highlight=l,t?r(t):r(null,e)}if(!l||l.length<3)return o();if(delete n.highlight,!i)return o();for(;t<s.length;t++)!function(n){"code"!==n.type?--i||o():l(n.text,n.lang,function(e,t){return e?o(e):null==t||t===n.text?--i||o():(n.text=t,n.escaped=!0,void(--i||o()))})}(s[t])}else try{n=n&&g({},f.defaults,n);var h=a.lex(e,n);return p.parse(h,n)}catch(e){if(e.message+="\nPlease report this to https://github.com/chjj/marked.",(n||f.defaults).silent)return"<p>An error occured:</p><pre>"+u(e.message+"",!0)+"</pre>";throw e}}n._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/,n._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/,n.link=e(n.link)("inside",n._inside)("href",n._href)(),n.reflink=e(n.reflink)("inside",n._inside)(),n.normal=g({},n),n.pedantic=g({},n.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),n.gfm=g({},n.normal,{escape:e(n.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:e(n.text)("]|","~]|")("|","|https?://|")()}),n.breaks=g({},n.gfm,{br:e(n.br)("{2,}","*")(),text:e(n.gfm.text)("{2,}","*")()}),r.rules=n,r.output=function(e,t,n){return new r(t,n).output(e)},r.prototype.output=function(e){for(var t,n,r,s,i="";e;)if(s=this.rules.escape.exec(e))e=e.substring(s[0].length),i+=s[1];else if(s=this.rules.autolink.exec(e))e=e.substring(s[0].length),r="@"===s[2]?(n=":"===s[1].charAt(6)?this.mangle(s[1].substring(7)):this.mangle(s[1]),this.mangle("mailto:")+n):n=u(s[1]),i+=this.renderer.link(r,null,n);else if(this.inLink||!(s=this.rules.url.exec(e))){if(s=this.rules.tag.exec(e))!this.inLink&&/^<a /i.test(s[0])?this.inLink=!0:this.inLink&&/^<\/a>/i.test(s[0])&&(this.inLink=!1),e=e.substring(s[0].length),i+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):u(s[0]):s[0];else if(s=this.rules.link.exec(e))e=e.substring(s[0].length),this.inLink=!0,i+=this.outputLink(s,{href:s[2],title:s[3]}),this.inLink=!1;else if((s=this.rules.reflink.exec(e))||(s=this.rules.nolink.exec(e))){if(e=e.substring(s[0].length),t=(s[2]||s[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){i+=s[0].charAt(0),e=s[0].substring(1)+e;continue}this.inLink=!0,i+=this.outputLink(s,t),this.inLink=!1}else if(s=this.rules.strong.exec(e))e=e.substring(s[0].length),i+=this.renderer.strong(this.output(s[2]||s[1]));else if(s=this.rules.em.exec(e))e=e.substring(s[0].length),i+=this.renderer.em(this.output(s[2]||s[1]));else if(s=this.rules.code.exec(e))e=e.substring(s[0].length),i+=this.renderer.codespan(u(s[2],!0));else if(s=this.rules.br.exec(e))e=e.substring(s[0].length),i+=this.renderer.br();else if(s=this.rules.del.exec(e))e=e.substring(s[0].length),i+=this.renderer.del(this.output(s[1]));else if(s=this.rules.text.exec(e))e=e.substring(s[0].length),i+=this.renderer.text(u(this.smartypants(s[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(s[0].length),r=n=u(s[1]),i+=this.renderer.link(r,null,n);return i},r.prototype.outputLink=function(e,t){var n=u(t.href),r=t.title?u(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,u(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/\"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,s=0;s<r;s++)t=e.charCodeAt(s),.5<Math.random()&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},s.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?'<pre><code class="'+this.options.langPrefix+u(t,!0)+'">'+(n?e:u(e,!0))+"\n</code></pre>\n":"<pre><code>"+(n?e:u(e,!0))+"\n</code></pre>"},s.prototype.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},s.prototype.html=function(e){return e},s.prototype.heading=function(e,t,n){return"<h"+t+' id="'+this.options.headerPrefix+n.toLowerCase().replace(/[^\w]+/g,"-")+'">'+e+"</h"+t+">\n"},s.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},s.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+"</"+n+">\n"},s.prototype.listitem=function(e){return"<li>"+e+"</li>\n"},s.prototype.paragraph=function(e){return"<p>"+e+"</p>\n"},s.prototype.table=function(e,t){return"<table>\n<thead>\n"+e+"</thead>\n<tbody>\n"+t+"</tbody>\n</table>\n"},s.prototype.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},s.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"},s.prototype.strong=function(e){return"<strong>"+e+"</strong>"},s.prototype.em=function(e){return"<em>"+e+"</em>"},s.prototype.codespan=function(e){return"<code>"+e+"</code>"},s.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"},s.prototype.del=function(e){return"<del>"+e+"</del>"},s.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent(function(e){return e.replace(/&([#\w]+);/g,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:"))return""}var s='<a target="_blank" href="'+e+'"';return t&&(s+=' title="'+t+'"'),s+=">"+n+"</a>"},s.prototype.image=function(e,t,n){var r='<img src="'+e+'" alt="'+n+'"';return t&&(r+=' title="'+t+'"'),r+=this.options.xhtml?"/>":">"},s.prototype.text=function(e){return e},p.parse=function(e,t,n){return new p(t,n).parse(e)},p.prototype.parse=function(e){this.inline=new r(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},p.prototype.next=function(){return this.token=this.tokens.pop()},p.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},p.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},p.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,s="",i="";for(n="",e=0;e<this.token.header.length;e++)({header:!0,align:this.token.align[e]}),n+=this.renderer.tablecell(this.inline.output(this.token.header[e]),{header:!0,align:this.token.align[e]});for(s+=this.renderer.tablerow(n),e=0;e<this.token.cells.length;e++){for(t=this.token.cells[e],n="",r=0;r<t.length;r++)n+=this.renderer.tablecell(this.inline.output(t[r]),{header:!1,align:this.token.align[r]});i+=this.renderer.tablerow(n)}return this.renderer.table(s,i);case"blockquote_start":for(i="";"blockquote_end"!==this.next().type;)i+=this.tok();return this.renderer.blockquote(i);case"list_start":i="";for(var l=this.token.ordered;"list_end"!==this.next().type;)i+=this.tok();return this.renderer.list(i,l);case"list_item_start":for(i="";"list_item_end"!==this.next().type;)i+="text"===this.token.type?this.parseText():this.tok();return this.renderer.listitem(i);case"loose_item_start":for(i="";"list_item_end"!==this.next().type;)i+=this.tok();return this.renderer.listitem(i);case"html":var o=this.token.pre||this.options.pedantic?this.token.text:this.inline.output(this.token.text);return this.renderer.html(o);case"paragraph":return this.renderer.paragraph(this.inline.output(this.token.text));case"text":return this.renderer.paragraph(this.parseText())}},t.exec=t,f.options=f.setOptions=function(e){return g(f.defaults,e),f},f.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new s,xhtml:!1},f.Parser=p,f.parser=p.parse,f.Renderer=s,f.Lexer=a,f.lexer=a.lex,f.InlineLexer=r,f.inlineLexer=r.output,f.parse=f,"undefined"!=typeof module&&"object"==typeof exports?module.exports=f:"function"==typeof define&&define.amd?define(function(){return f}):this.marked=f}).call(function(){return this||("undefined"!=typeof window?window:global)}());;
// C:\code\oanda-performances\client\src\bower_components\gradient\gradient.js
//-------------------------------
function ColorGradient(t){var r;this._colors=[],this._buffer=[],this._colorStrToIntArray=function(t){return 4!=t.length&&7!=t.length||(t=t.substr(1)),3==t.length?[parseInt(t.substr(0,1)+t.substr(0,1),16),parseInt(t.substr(1,1)+t.substr(1,1),16),parseInt(t.substr(2,1)+t.substr(2,1),16)]:6==t.length&&[parseInt(t.substr(0,2),16),parseInt(t.substr(2,2),16),parseInt(t.substr(4,2),16)]},this._calculateBufferSteps=function(){var t,r;if(this._buffer=[],1!=this._colors.length){function s(t,r,s,o){return t+Math.round(s/o*(r-t))}var o=100/(this._colors.length-1);for(t=0;t<this._colors.length-1;t++){var e=this._colors[t],n=this._colors[t+1];for(r=0;r<o;r++){var i=[0,0,0];i[0]=s(e[0],n[0],r,o),i[1]=s(e[1],n[1],r,o),i[2]=s(e[2],n[2],r,o),this._buffer.push(i)}}}else for(t=0;t<100;t++)this._buffer.push(this._colors[0])};for(var s=0;s<t.length;s++)(r=this._colorStrToIntArray(t[s]))&&this._colors.push(r);this._calculateBufferSteps()}ColorGradient.prototype.getColorAtPercent=function(t){return t=Math.floor(t),t=Math.min(t,100),t=Math.max(t,1),this._buffer[t-1]},ColorGradient.prototype.getHexColorAtPercent=function(t){var r=this.getColorAtPercent(t);return"#"+("0"+r[0].toString(16)).slice(-2)+("0"+r[1].toString(16)).slice(-2)+("0"+r[2].toString(16)).slice(-2)};;
// C:\code\oanda-performances\client\src\bower_components\sparklines\jquery.sparkline.js
//-------------------------------
!function(S,z,N){var t;t=function(L){"use strict";var t,e,m,A,C,F,B,O,g,b,i,n,p,V,u,s,r,q,X,h,a,o,l,w,c,d,f,v,x,y={},R=0;t=function(){return{common:{type:"line",lineColor:"#00f",fillColor:"#cdf",defaultPixelsPerValue:3,width:"auto",height:"auto",composite:!1,tagValuesAttribute:"values",tagOptionsPrefix:"spark",enableTagOptions:!1,enableHighlight:!0,highlightLighten:1.4,tooltipSkipNull:!0,tooltipPrefix:"",tooltipSuffix:"",disableHiddenCheck:!1,numberFormatter:!1,numberDigitGroupCount:3,numberDigitGroupSep:",",numberDecimalMark:".",disableTooltips:!1,disableInteraction:!1},line:{spotColor:"#f80",highlightSpotColor:"#5f5",highlightLineColor:"#f22",spotRadius:1.5,minSpotColor:"#f80",maxSpotColor:"#f80",lineWidth:1,normalRangeMin:N,normalRangeMax:N,normalRangeColor:"#ccc",drawNormalOnTop:!1,chartRangeMin:N,chartRangeMax:N,chartRangeMinX:N,chartRangeMaxX:N,tooltipFormat:new m('<span style="color: {{color}}">●</span> {{prefix}}{{y}}{{suffix}}')},bar:{barColor:"#3366cc",negBarColor:"#f44",stackedBarColor:["#3366cc","#dc3912","#ff9900","#109618","#66aa00","#dd4477","#0099c6","#990099"],zeroColor:N,nullColor:N,zeroAxis:!0,barWidth:4,barSpacing:1,chartRangeMax:N,chartRangeMin:N,chartRangeClip:!1,colorMap:N,tooltipFormat:new m('<span style="color: {{color}}">●</span> {{prefix}}{{value}}{{suffix}}')},tristate:{barWidth:4,barSpacing:1,posBarColor:"#6f6",negBarColor:"#f44",zeroBarColor:"#999",colorMap:{},tooltipFormat:new m('<span style="color: {{color}}">●</span> {{value:map}}'),tooltipValueLookups:{map:{"-1":"Loss",0:"Draw",1:"Win"}}},discrete:{lineHeight:"auto",thresholdColor:N,thresholdValue:0,chartRangeMax:N,chartRangeMin:N,chartRangeClip:!1,tooltipFormat:new m("{{prefix}}{{value}}{{suffix}}")},bullet:{targetColor:"#f33",targetWidth:3,performanceColor:"#33f",rangeColors:["#d3dafe","#a8b6ff","#7f94ff"],base:N,tooltipFormat:new m("{{fieldkey:fields}} - {{value}}"),tooltipValueLookups:{fields:{r:"Range",p:"Performance",t:"Target"}}},pie:{offset:0,sliceColors:["#3366cc","#dc3912","#ff9900","#109618","#66aa00","#dd4477","#0099c6","#990099"],borderWidth:0,borderColor:"#000",tooltipFormat:new m('<span style="color: {{color}}">●</span> {{value}} ({{percent.1}}%)')},box:{raw:!1,boxLineColor:"#000",boxFillColor:"#cdf",whiskerColor:"#000",outlierLineColor:"#333",outlierFillColor:"#fff",medianColor:"#f00",showOutliers:!0,outlierIQR:1.5,spotRadius:1.5,target:N,targetColor:"#4a2",chartRangeMax:N,chartRangeMin:N,tooltipFormat:new m("{{field:fields}}: {{value}}"),tooltipFormatFieldlistKey:"field",tooltipValueLookups:{fields:{lq:"Lower Quartile",med:"Median",uq:"Upper Quartile",lo:"Left Outlier",ro:"Right Outlier",lw:"Left Whisker",rw:"Right Whisker"}}}}},e=function(){var t,e;return t=function(){this.init.apply(this,arguments)},1<arguments.length?(arguments[0]?(t.prototype=L.extend(new arguments[0],arguments[arguments.length-1]),t._super=arguments[0].prototype):t.prototype=arguments[arguments.length-1],2<arguments.length&&((e=Array.prototype.slice.call(arguments,1,-1)).unshift(t.prototype),L.extend.apply(L,e))):t.prototype=arguments[0],t.prototype.cls=t},L.SPFormatClass=m=e({fre:/\{\{([\w.]+?)(:(.+?))?\}\}/g,precre:/(\w+)\.(\d+)/,init:function(t,e){this.format=t,this.fclass=e},render:function(t,e,i){var s,r,n,a,h,o=this,l=t;return this.format.replace(this.fre,function(){return r=arguments[1],n=arguments[3],(s=o.precre.exec(r))?(h=s[2],r=s[1]):h=!1,(a=l[r])===N?"":n&&e&&e[n]?e[n].get?e[n].get(a)||a:e[n][a]||a:(g(a)&&(a=i.get("numberFormatter")?i.get("numberFormatter")(a):p(a,h,i.get("numberDigitGroupCount"),i.get("numberDigitGroupSep"),i.get("numberDecimalMark"))),a)})}}),L.spformat=function(t,e){return new m(t,e)},A=function(t,e,i){return t<e?e:i<t?i:t},C=function(t,e){var i;return 2===e?(i=z.floor(t.length/2),t.length%2?t[i]:(t[i-1]+t[i])/2):t.length%2?(i=(t.length*e+e)/4)%1?(t[z.floor(i)]+t[z.floor(i)-1])/2:t[i-1]:(i=(t.length*e+2)/4)%1?(t[z.floor(i)]+t[z.floor(i)-1])/2:t[i-1]},F=function(t){var e;switch(t){case"undefined":t=N;break;case"null":t=null;break;case"true":t=!0;break;case"false":t=!1;break;default:t==(e=parseFloat(t))&&(t=e)}return t},B=function(t){var e,i=[];for(e=t.length;e--;)i[e]=F(t[e]);return i},O=function(t,e){var i,s,r=[];for(i=0,s=t.length;i<s;i++)t[i]!==e&&r.push(t[i]);return r},g=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},p=function(t,e,i,s,r){var n,a;for(t=(!1===e?parseFloat(t).toString():t.toFixed(e)).split(""),(n=(n=L.inArray(".",t))<0?t.length:n)<t.length&&(t[n]=r),a=n-i;0<a;a-=i)t.splice(a,0,s);return t.join("")},b=function(t,e,i){var s;for(s=e.length;s--;)if((!i||null!==e[s])&&e[s]!==t)return!1;return!0},n=function(t){return L.isArray(t)?t:[t]},i=function(t){var e;S.createStyleSheet?S.createStyleSheet().cssText=t:((e=S.createElement("style")).type="text/css",S.getElementsByTagName("head")[0].appendChild(e),e["string"==typeof S.body.style.WebkitAppearance?"innerText":"innerHTML"]=t)},L.fn.simpledraw=function(t,e,i,s){var r,n;if(i&&(r=this.data("_jqs_vcanvas")))return r;if(!1===L.fn.sparkline.canvas)return!1;if(L.fn.sparkline.canvas===N){var a=S.createElement("canvas");if(a.getContext&&a.getContext("2d"))L.fn.sparkline.canvas=function(t,e,i,s){return new f(t,e,i,s)};else{if(!S.namespaces||S.namespaces.v)return L.fn.sparkline.canvas=!1;S.namespaces.add("v","urn:schemas-microsoft-com:vml","#default#VML"),L.fn.sparkline.canvas=function(t,e,i,s){return new v(t,e,i)}}}return t===N&&(t=L(this).innerWidth()),e===N&&(e=L(this).innerHeight()),r=L.fn.sparkline.canvas(t,e,this,s),(n=L(this).data("_jqs_mhandler"))&&n.registerCanvas(r),r},L.fn.cleardraw=function(){var t=this.data("_jqs_vcanvas");t&&t.reset()},L.RangeMapClass=V=e({init:function(t){var e,i,s=[];for(e in t)t.hasOwnProperty(e)&&"string"==typeof e&&-1<e.indexOf(":")&&((i=e.split(":"))[0]=0===i[0].length?-1/0:parseFloat(i[0]),i[1]=0===i[1].length?1/0:parseFloat(i[1]),i[2]=t[e],s.push(i));this.map=t,this.rangelist=s||!1},get:function(t){var e,i,s,r=this.rangelist;if((s=this.map[t])!==N)return s;if(r)for(e=r.length;e--;)if((i=r[e])[0]<=t&&i[1]>=t)return i[2];return N}}),L.range_map=function(t){return new V(t)},u=e({init:function(t,e){var i=L(t);this.$el=i,this.options=e,this.currentPageX=0,this.currentPageY=0,this.el=t,this.splist=[],this.tooltip=null,this.over=!1,this.displayTooltips=!e.get("disableTooltips"),this.highlightEnabled=!e.get("disableHighlight")},registerSparkline:function(t){this.splist.push(t),this.over&&this.updateDisplay()},registerCanvas:function(t){var e=L(t.canvas);this.canvas=t,(this.$canvas=e).mouseenter(L.proxy(this.mouseenter,this)),e.mouseleave(L.proxy(this.mouseleave,this)),e.click(L.proxy(this.mouseclick,this))},reset:function(t){this.splist=[],this.tooltip&&t&&(this.tooltip.remove(),this.tooltip=N)},mouseclick:function(t){var e=L.Event("sparklineClick");e.originalEvent=t,e.sparklines=this.splist,this.$el.trigger(e)},mouseenter:function(t){L(S.body).unbind("mousemove.jqs"),L(S.body).bind("mousemove.jqs",L.proxy(this.mousemove,this)),this.over=!0,this.currentPageX=t.pageX,this.currentPageY=t.pageY,this.currentEl=t.target,!this.tooltip&&this.displayTooltips&&(this.tooltip=new s(this.options),this.tooltip.updatePosition(t.pageX,t.pageY)),this.updateDisplay()},mouseleave:function(){L(S.body).unbind("mousemove.jqs");var t,e=this.splist,i=e.length,s=!1;for(this.over=!1,this.currentEl=null,this.tooltip&&(this.tooltip.remove(),this.tooltip=null),t=0;t<i;t++)e[t].clearRegionHighlight()&&(s=!0);s&&this.canvas.render()},mousemove:function(t){this.currentPageX=t.pageX,this.currentPageY=t.pageY,this.currentEl=t.target,this.tooltip&&this.tooltip.updatePosition(t.pageX,t.pageY),this.updateDisplay()},updateDisplay:function(){var t,e,i,s,r=this.splist,n=r.length,a=!1,h=this.$canvas.offset(),o=this.currentPageX-h.left,l=this.currentPageY-h.top;if(this.over){for(e=0;e<n;e++)(i=r[e].setRegionHighlight(this.currentEl,o,l))&&(a=!0);if(a){if((s=L.Event("sparklineRegionChange")).sparklines=this.splist,this.$el.trigger(s),this.tooltip){for(t="",e=0;e<n;e++)t+=r[e].getCurrentRegionTooltip();this.tooltip.setContent(t)}this.disableHighlight||this.canvas.render()}null===i&&this.mouseleave()}}}),s=e({sizeStyle:"position: static !important;display: block !important;visibility: hidden !important;float: left !important;",init:function(t){var e,i=t.get("tooltipClassname","jqstooltip"),s=this.sizeStyle;this.container=t.get("tooltipContainer")||S.body,this.tooltipOffsetX=t.get("tooltipOffsetX",10),this.tooltipOffsetY=t.get("tooltipOffsetY",12),L("#jqssizetip").remove(),L("#jqstooltip").remove(),this.sizetip=L("<div/>",{id:"jqssizetip",style:s,class:i}),this.tooltip=L("<div/>",{id:"jqstooltip",class:i}).appendTo(this.container),e=this.tooltip.offset(),this.offsetLeft=e.left,this.offsetTop=e.top,this.hidden=!0,L(window).unbind("resize.jqs scroll.jqs"),L(window).bind("resize.jqs scroll.jqs",L.proxy(this.updateWindowDims,this)),this.updateWindowDims()},updateWindowDims:function(){this.scrollTop=L(window).scrollTop(),this.scrollLeft=L(window).scrollLeft(),this.scrollRight=this.scrollLeft+L(window).width(),this.updatePosition()},getSize:function(t){this.sizetip.html(t).appendTo(this.container),this.width=this.sizetip.width()+1,this.height=this.sizetip.height(),this.sizetip.remove()},setContent:function(t){if(!t)return this.tooltip.css("visibility","hidden"),void(this.hidden=!0);this.getSize(t),this.tooltip.html(t).css({width:this.width,height:this.height,visibility:"visible"}),this.hidden&&(this.hidden=!1,this.updatePosition())},updatePosition:function(t,e){if(t===N){if(this.mousex===N)return;t=this.mousex-this.offsetLeft,e=this.mousey-this.offsetTop}else this.mousex=t-=this.offsetLeft,this.mousey=e-=this.offsetTop;this.height&&this.width&&!this.hidden&&(e-=this.height+this.tooltipOffsetY,t+=this.tooltipOffsetX,e<this.scrollTop&&(e=this.scrollTop),t<this.scrollLeft?t=this.scrollLeft:t+this.width>this.scrollRight&&(t=this.scrollRight-this.width),this.tooltip.css({left:t,top:e}))},remove:function(){this.tooltip.remove(),this.sizetip.remove(),this.sizetip=this.tooltip=N,L(window).unbind("resize.jqs scroll.jqs")}}),L(function(){i('.jqstooltip { position: absolute;left: 0px;top: 0px;visibility: hidden;background: rgb(0, 0, 0) transparent;background-color: rgba(0,0,0,0.6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";color: white;font: 10px arial, san serif;text-align: left;white-space: nowrap;padding: 5px;border: 1px solid white;z-index: 10000;}.jqsfield { color: white;font: 10px arial, san serif;text-align: left;}')}),x=[],L.fn.sparkline=function(l,i){return this.each(function(){var t,e,h=new L.fn.sparkline.options(this,i),o=L(this);if(t=function(){var t,e,i,s,r,n,a;t="html"===l||l===N?((a=this.getAttribute(h.get("tagValuesAttribute")))!==N&&null!==a||(a=o.html()),a.replace(/(^\s*<!--)|(-->\s*$)|\s+/g,"").split(",")):l,e="auto"===h.get("width")?t.length*h.get("defaultPixelsPerValue"):h.get("width"),"auto"===h.get("height")?h.get("composite")&&L.data(this,"_jqs_vcanvas")||((s=S.createElement("span")).innerHTML="a",o.html(s),i=L(s).innerHeight()||L(s).height(),L(s).remove(),s=null):i=h.get("height"),h.get("disableInteraction")?r=!1:(r=L.data(this,"_jqs_mhandler"))?h.get("composite")||r.reset():(r=new u(this,h),L.data(this,"_jqs_mhandler",r)),!h.get("composite")||L.data(this,"_jqs_vcanvas")?((n=new(L.fn.sparkline[h.get("type")])(this,t,h,e,i)).render(),r&&r.registerSparkline(n)):L.data(this,"_jqs_errnotify")||(alert("Attempted to attach a composite sparkline to an element with no existing sparkline"),L.data(this,"_jqs_errnotify",!0))},L(this).html()&&!h.get("disableHiddenCheck")&&L(this).is(":hidden")||!L(this).parents("body").length){if(!h.get("composite")&&L.data(this,"_jqs_pending"))for(e=x.length;e;e--)x[e-1][0]==this&&x.splice(e-1,1);x.push([this,t]),L.data(this,"_jqs_pending",!0)}else t.call(this)})},L.fn.sparkline.defaults=t(),L.sparkline_display_visible=function(){var t,e,i,s=[];for(e=0,i=x.length;e<i;e++)t=x[e][0],L(t).is(":visible")&&!L(t).parents().is(":hidden")?(x[e][1].call(t),L.data(x[e][0],"_jqs_pending",!1),s.push(e)):L(t).closest("html").length||L.data(t,"_jqs_pending")||(L.data(x[e][0],"_jqs_pending",!1),s.push(e));for(e=s.length;e;e--)x.splice(s[e-1],1)},L.fn.sparkline.options=e({init:function(t,e){var i,s,r,n;this.userOptions=e=e||{},this.tag=t,this.tagValCache={},r=(s=L.fn.sparkline.defaults).common,this.tagOptionsPrefix=e.enableTagOptions&&(e.tagOptionsPrefix||r.tagOptionsPrefix),i=(n=this.getTagSetting("type"))===y?s[e.type||r.type]:s[n],this.mergedOptions=L.extend({},r,i,e)},getTagSetting:function(t){var e,i,s,r,n=this.tagOptionsPrefix;if(!1===n||n===N)return y;if(this.tagValCache.hasOwnProperty(t))e=this.tagValCache.key;else{if((e=this.tag.getAttribute(n+t))===N||null===e)e=y;else if("["===e.substr(0,1))for(i=(e=e.substr(1,e.length-2).split(",")).length;i--;)e[i]=F(e[i].replace(/(^\s*)|(\s*$)/g,""));else if("{"===e.substr(0,1))for(s=e.substr(1,e.length-2).split(","),e={},i=s.length;i--;)e[(r=s[i].split(":",2))[0].replace(/(^\s*)|(\s*$)/g,"")]=F(r[1].replace(/(^\s*)|(\s*$)/g,""));else e=F(e);this.tagValCache.key=e}return e},get:function(t,e){var i,s=this.getTagSetting(t);return s!==y?s:(i=this.mergedOptions[t])===N?e:i}}),L.fn.sparkline._base=e({disabled:!1,init:function(t,e,i,s,r){this.el=t,this.$el=L(t),this.values=e,this.options=i,this.width=s,this.height=r,this.currentRegion=N},initTarget:function(){var t=!this.options.get("disableInteraction");(this.target=this.$el.simpledraw(this.width,this.height,this.options.get("composite"),t))?(this.canvasWidth=this.target.pixelWidth,this.canvasHeight=this.target.pixelHeight):this.disabled=!0},render:function(){return!this.disabled||(this.el.innerHTML="",!1)},getRegion:function(t,e){},setRegionHighlight:function(t,e,i){var s,r=this.currentRegion,n=!this.options.get("disableHighlight");return e>this.canvasWidth||i>this.canvasHeight||e<0||i<0?null:r!==(s=this.getRegion(t,e,i))&&(r!==N&&n&&this.removeHighlight(),(this.currentRegion=s)!==N&&n&&this.renderHighlight(),!0)},clearRegionHighlight:function(){return this.currentRegion!==N&&(this.removeHighlight(),!(this.currentRegion=N))},renderHighlight:function(){this.changeHighlight(!0)},removeHighlight:function(){this.changeHighlight(!1)},changeHighlight:function(t){},getCurrentRegionTooltip:function(){var t,e,i,s,r,n,a,h,o,l,g,p,u,c,d=this.options,f="",v=[];if(this.currentRegion===N)return"";if(t=this.getCurrentRegionFields(),g=d.get("tooltipFormatter"))return g(this,d,t);if(d.get("tooltipChartTitle")&&(f+='<div class="jqs jqstitle">'+d.get("tooltipChartTitle")+"</div>\n"),!(e=this.options.get("tooltipFormat")))return"";if(L.isArray(e)||(e=[e]),L.isArray(t)||(t=[t]),a=this.options.get("tooltipFormatFieldlist"),h=this.options.get("tooltipFormatFieldlistKey"),a&&h){for(o=[],n=t.length;n--;)l=t[n][h],-1!=(c=L.inArray(l,a))&&(o[c]=t[n]);t=o}for(i=e.length,u=t.length,n=0;n<i;n++)for("string"==typeof(p=e[n])&&(p=new m(p)),s=p.fclass||"jqsfield",c=0;c<u;c++)t[c].isNull&&d.get("tooltipSkipNull")||(L.extend(t[c],{prefix:d.get("tooltipPrefix"),suffix:d.get("tooltipSuffix")}),r=p.render(t[c],d.get("tooltipValueLookups"),d),v.push('<div class="'+s+'">'+r+"</div>"));return v.length?f+v.join("\n"):""},getCurrentRegionFields:function(){},calcHighlightColor:function(t,e){var i,s,r,n,a=e.get("highlightColor"),h=e.get("highlightLighten");if(a)return a;if(h&&(i=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(t)||/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(t))){for(r=[],s=4===t.length?16:1,n=0;n<3;n++)r[n]=A(z.round(parseInt(i[n+1],16)*s*h),0,255);return"rgb("+r.join(",")+")"}return t}}),r={changeHighlight:function(t){var e,i=this.currentRegion,s=this.target,r=this.regionShapes[i];r&&(e=this.renderRegion(i,t),L.isArray(e)||L.isArray(r)?(s.replaceWithShapes(r,e),this.regionShapes[i]=L.map(e,function(t){return t.id})):(s.replaceWithShape(r,e),this.regionShapes[i]=e.id))},render:function(){var t,e,i,s,r=this.values,n=this.target,a=this.regionShapes;if(this.cls._super.render.call(this)){for(i=r.length;i--;)if(t=this.renderRegion(i))if(L.isArray(t)){for(e=[],s=t.length;s--;)t[s].append(),e.push(t[s].id);a[i]=e}else t.append(),a[i]=t.id;else a[i]=null;n.render()}}},L.fn.sparkline.line=q=e(L.fn.sparkline._base,{type:"line",init:function(t,e,i,s,r){q._super.init.call(this,t,e,i,s,r),this.vertices=[],this.regionMap=[],this.xvalues=[],this.yvalues=[],this.yminmax=[],this.hightlightSpotId=null,this.lastShapeId=null,this.initTarget()},getRegion:function(t,e,i){var s,r=this.regionMap;for(s=r.length;s--;)if(null!==r[s]&&e>=r[s][0]&&e<=r[s][1])return r[s][2];return N},getCurrentRegionFields:function(){var t=this.currentRegion;return{isNull:null===this.yvalues[t],x:this.xvalues[t],y:this.yvalues[t],color:this.options.get("lineColor"),fillColor:this.options.get("fillColor"),offset:t}},renderHighlight:function(){var t,e,i=this.currentRegion,s=this.target,r=this.vertices[i],n=this.options,a=n.get("spotRadius"),h=n.get("highlightSpotColor"),o=n.get("highlightLineColor");r&&(a&&h&&(t=s.drawCircle(r[0],r[1],a,N,h),this.highlightSpotId=t.id,s.insertAfterShape(this.lastShapeId,t)),o&&(e=s.drawLine(r[0],this.canvasTop,r[0],this.canvasTop+this.canvasHeight,o),this.highlightLineId=e.id,s.insertAfterShape(this.lastShapeId,e)))},removeHighlight:function(){var t=this.target;this.highlightSpotId&&(t.removeShapeId(this.highlightSpotId),this.highlightSpotId=null),this.highlightLineId&&(t.removeShapeId(this.highlightLineId),this.highlightLineId=null)},scanValues:function(){var t,e,i,s,r,n=this.values,a=n.length,h=this.xvalues,o=this.yvalues,l=this.yminmax;for(t=0;t<a;t++)e=n[t],i="string"==typeof n[t],s="object"==typeof n[t]&&n[t]instanceof Array,r=i&&n[t].split(":"),i&&2===r.length?(h.push(Number(r[0])),o.push(Number(r[1])),l.push(Number(r[1]))):s?(h.push(e[0]),o.push(e[1]),l.push(e[1])):(h.push(t),null===n[t]||"null"===n[t]?o.push(null):(o.push(Number(e)),l.push(Number(e))));this.options.get("xvalues")&&(h=this.options.get("xvalues")),this.maxy=this.maxyorg=z.max.apply(z,l),this.miny=this.minyorg=z.min.apply(z,l),this.maxx=z.max.apply(z,h),this.minx=z.min.apply(z,h),this.xvalues=h,this.yvalues=o,this.yminmax=l},processRangeOptions:function(){var t=this.options,e=t.get("normalRangeMin"),i=t.get("normalRangeMax");e!==N&&(e<this.miny&&(this.miny=e),i>this.maxy&&(this.maxy=i)),t.get("chartRangeMin")!==N&&(t.get("chartRangeClip")||t.get("chartRangeMin")<this.miny)&&(this.miny=t.get("chartRangeMin")),t.get("chartRangeMax")!==N&&(t.get("chartRangeClip")||t.get("chartRangeMax")>this.maxy)&&(this.maxy=t.get("chartRangeMax")),t.get("chartRangeMinX")!==N&&(t.get("chartRangeClipX")||t.get("chartRangeMinX")<this.minx)&&(this.minx=t.get("chartRangeMinX")),t.get("chartRangeMaxX")!==N&&(t.get("chartRangeClipX")||t.get("chartRangeMaxX")>this.maxx)&&(this.maxx=t.get("chartRangeMaxX"))},drawNormalRange:function(t,e,i,s,r){var n=this.options.get("normalRangeMin"),a=this.options.get("normalRangeMax"),h=e+z.round(i-i*((a-this.miny)/r)),o=z.round(i*(a-n)/r);this.target.drawRect(t,h,s,o,N,this.options.get("normalRangeColor")).append()},render:function(){var t,e,i,s,r,n,a,h,o,l,g,p,u,c,d,f,v,m,x,y,C,w,b,R,S=this.options,k=this.target,M=this.canvasWidth,_=this.canvasHeight,H=this.vertices,W=S.get("spotRadius"),T=this.regionMap;if(q._super.render.call(this)&&(this.scanValues(),this.processRangeOptions(),w=this.xvalues,b=this.yvalues,this.yminmax.length&&!(this.yvalues.length<2))){for(s=r=0,t=this.maxx-this.minx==0?1:this.maxx-this.minx,e=this.maxy-this.miny==0?1:this.maxy-this.miny,i=this.yvalues.length-1,W&&(M<4*W||_<4*W)&&(W=0),W&&(((y=S.get("highlightSpotColor")&&!S.get("disableInteraction"))||S.get("minSpotColor")||S.get("spotColor")&&b[i]===this.miny)&&(_-=z.ceil(W)),(y||S.get("maxSpotColor")||S.get("spotColor")&&b[i]===this.maxy)&&(_-=z.ceil(W),s+=z.ceil(W)),!y&&(!S.get("minSpotColor")&&!S.get("maxSpotColor")||b[0]!==this.miny&&b[0]!==this.maxy)||(r+=z.ceil(W),M-=z.ceil(W)),(y||S.get("spotColor")||S.get("minSpotColor")||S.get("maxSpotColor")&&(b[i]===this.miny||b[i]===this.maxy))&&(M-=z.ceil(W))),_--,S.get("normalRangeMin")===N||S.get("drawNormalOnTop")||this.drawNormalRange(r,s,_,M,e),h=[a=[]],u=c=null,d=b.length,R=0;R<d;R++)o=w[R],g=w[R+1],l=b[R],c=(p=r+z.round((o-this.minx)*(M/t)))+((R<d-1?r+z.round((g-this.minx)*(M/t)):M)-p)/2,T[R]=[u||0,c,R],u=c,null===l?R&&(null!==b[R-1]&&(a=[],h.push(a)),H.push(null)):(l<this.miny&&(l=this.miny),l>this.maxy&&(l=this.maxy),a.length||a.push([p,s+_]),n=[p,s+z.round(_-_*((l-this.miny)/e))],a.push(n),H.push(n));for(f=[],v=[],m=h.length,R=0;R<m;R++)(a=h[R]).length&&(S.get("fillColor")&&(a.push([a[a.length-1][0],s+_]),v.push(a.slice(0)),a.pop()),2<a.length&&(a[0]=[a[0][0],a[1][1]]),f.push(a));for(m=v.length,R=0;R<m;R++)k.drawShape(v[R],S.get("fillColor"),S.get("fillColor")).append();for(S.get("normalRangeMin")!==N&&S.get("drawNormalOnTop")&&this.drawNormalRange(r,s,_,M,e),m=f.length,R=0;R<m;R++)k.drawShape(f[R],S.get("lineColor"),N,S.get("lineWidth")).append();if(W&&S.get("valueSpots"))for((x=S.get("valueSpots")).get===N&&(x=new V(x)),R=0;R<d;R++)(C=x.get(b[R]))&&k.drawCircle(r+z.round((w[R]-this.minx)*(M/t)),s+z.round(_-_*((b[R]-this.miny)/e)),W,N,C).append();W&&S.get("spotColor")&&null!==b[i]&&k.drawCircle(r+z.round((w[w.length-1]-this.minx)*(M/t)),s+z.round(_-_*((b[i]-this.miny)/e)),W,N,S.get("spotColor")).append(),this.maxy!==this.minyorg&&(W&&S.get("minSpotColor")&&(o=w[L.inArray(this.minyorg,b)],k.drawCircle(r+z.round((o-this.minx)*(M/t)),s+z.round(_-_*((this.minyorg-this.miny)/e)),W,N,S.get("minSpotColor")).append()),W&&S.get("maxSpotColor")&&(o=w[L.inArray(this.maxyorg,b)],k.drawCircle(r+z.round((o-this.minx)*(M/t)),s+z.round(_-_*((this.maxyorg-this.miny)/e)),W,N,S.get("maxSpotColor")).append())),this.lastShapeId=k.getLastShapeId(),this.canvasTop=s,k.render()}}}),L.fn.sparkline.bar=X=e(L.fn.sparkline._base,r,{type:"bar",init:function(t,e,i,s,r){var n,a,h,o,l,g,p,u,c,d,f,v,m,x,y,C,w,b,R,S,k,M=parseInt(i.get("barWidth"),10),_=parseInt(i.get("barSpacing"),10),H=i.get("chartRangeMin"),W=i.get("chartRangeMax"),T=i.get("chartRangeClip"),q=1/0,I=-1/0;for(X._super.init.call(this,t,e,i,s,r),g=0,p=e.length;g<p;g++)((n="string"==typeof(S=e[g])&&-1<S.indexOf(":"))||L.isArray(S))&&(y=!0,n&&(S=e[g]=B(S.split(":"))),S=O(S,null),(a=z.min.apply(z,S))<q&&(q=a),I<(h=z.max.apply(z,S))&&(I=h));this.stacked=y,this.regionShapes={},this.barWidth=M,this.barSpacing=_,this.totalBarWidth=M+_,this.width=s=e.length*M+(e.length-1)*_,this.initTarget(),T&&(m=H===N?-1/0:H,x=W===N?1/0:W),l=[],o=y?[]:l;var j=[],P=[];for(g=0,p=e.length;g<p;g++)if(y)for(C=e[g],e[g]=R=[],j[g]=0,o[g]=P[g]=0,w=0,b=C.length;w<b;w++)null!==(S=R[w]=T?A(C[w],m,x):C[w])&&(0<S&&(j[g]+=S),q<0&&0<I?S<0?P[g]+=z.abs(S):o[g]+=S:o[g]+=z.abs(S-(S<0?I:q)),l.push(S));else S=T?A(e[g],m,x):e[g],null!==(S=e[g]=F(S))&&l.push(S);this.max=v=z.max.apply(z,l),this.min=f=z.min.apply(z,l),this.stackMax=I=y?z.max.apply(z,j):v,this.stackMin=q=y?z.min.apply(z,l):f,i.get("chartRangeMin")!==N&&(i.get("chartRangeClip")||i.get("chartRangeMin")<f)&&(f=i.get("chartRangeMin")),i.get("chartRangeMax")!==N&&(i.get("chartRangeClip")||i.get("chartRangeMax")>v)&&(v=i.get("chartRangeMax")),this.zeroAxis=c=i.get("zeroAxis",!0),d=f<=0&&0<=v&&c?0:0==c?f:0<f?f:v,this.xaxisOffset=d,u=y?z.max.apply(z,o)+z.max.apply(z,P):v-f,this.canvasHeightEf=c&&f<0?this.canvasHeight-2:this.canvasHeight-1,f<d?(k=((y&&0<=v?I:v)-d)/u*this.canvasHeight)!==z.ceil(k)&&(this.canvasHeightEf-=2,k=z.ceil(k)):k=this.canvasHeight,this.yoffset=k,L.isArray(i.get("colorMap"))?(this.colorMapByIndex=i.get("colorMap"),this.colorMapByValue=null):(this.colorMapByIndex=null,this.colorMapByValue=i.get("colorMap"),this.colorMapByValue&&this.colorMapByValue.get===N&&(this.colorMapByValue=new V(this.colorMapByValue))),this.range=u},getRegion:function(t,e,i){var s=z.floor(e/this.totalBarWidth);return s<0||s>=this.values.length?N:s},getCurrentRegionFields:function(){var t,e,i=this.currentRegion,s=n(this.values[i]),r=[];for(e=s.length;e--;)t=s[e],r.push({isNull:null===t,value:t,color:this.calcColor(e,t,i),offset:i});return r},calcColor:function(t,e,i){var s,r,n=this.colorMapByIndex,a=this.colorMapByValue,h=this.options;return s=this.stacked?h.get("stackedBarColor"):e<0?h.get("negBarColor"):h.get("barColor"),0===e&&h.get("zeroColor")!==N&&(s=h.get("zeroColor")),a&&(r=a.get(e))?s=r:n&&n.length>i&&(s=n[i]),L.isArray(s)?s[t%s.length]:s},renderRegion:function(t,e){var i,s,r,n,a,h,o,l,g,p,u=this.values[t],c=this.options,d=this.xaxisOffset,f=[],v=this.range,m=this.stacked,x=this.target,y=t*this.totalBarWidth,C=this.canvasHeightEf,w=this.yoffset;if(o=(u=L.isArray(u)?u:[u]).length,l=u[0],n=b(null,u),p=b(d,u,!0),n)return c.get("nullColor")?(r=e?c.get("nullColor"):this.calcHighlightColor(c.get("nullColor"),c),i=0<w?w-1:w,x.drawRect(y,i,this.barWidth-1,0,r,r)):N;for(a=w,h=0;h<o;h++){if(l=u[h],m&&l===d){if(!p||g)continue;g=!0}s=0<v?z.floor(C*(z.abs(l-d)/v))+1:1,l<d||l===d&&0===w?(i=a,a+=s):(i=w-s,w-=s),r=this.calcColor(h,l,t),e&&(r=this.calcHighlightColor(r,c)),f.push(x.drawRect(y,i,this.barWidth-1,s-1,r,r))}return 1===f.length?f[0]:f}}),L.fn.sparkline.tristate=h=e(L.fn.sparkline._base,r,{type:"tristate",init:function(t,e,i,s,r){var n=parseInt(i.get("barWidth"),10),a=parseInt(i.get("barSpacing"),10);h._super.init.call(this,t,e,i,s,r),this.regionShapes={},this.barWidth=n,this.barSpacing=a,this.totalBarWidth=n+a,this.values=L.map(e,Number),this.width=s=e.length*n+(e.length-1)*a,L.isArray(i.get("colorMap"))?(this.colorMapByIndex=i.get("colorMap"),this.colorMapByValue=null):(this.colorMapByIndex=null,this.colorMapByValue=i.get("colorMap"),this.colorMapByValue&&this.colorMapByValue.get===N&&(this.colorMapByValue=new V(this.colorMapByValue))),this.initTarget()},getRegion:function(t,e,i){return z.floor(e/this.totalBarWidth)},getCurrentRegionFields:function(){var t=this.currentRegion;return{isNull:this.values[t]===N,value:this.values[t],color:this.calcColor(this.values[t],t),offset:t}},calcColor:function(t,e){var i,s=this.values,r=this.options,n=this.colorMapByIndex,a=this.colorMapByValue;return a&&(i=a.get(t))?i:n&&n.length>e?n[e]:s[e]<0?r.get("negBarColor"):0<s[e]?r.get("posBarColor"):r.get("zeroBarColor")},renderRegion:function(t,e){var i,s,r,n,a,h,o=this.values,l=this.options,g=this.target;if(i=g.pixelHeight,r=z.round(i/2),n=t*this.totalBarWidth,s=o[t]<0?(a=r)-1:0<o[t]?(a=0,r-1):(a=r-1,2),null!==(h=this.calcColor(o[t],t)))return e&&(h=this.calcHighlightColor(h,l)),g.drawRect(n,a,this.barWidth-1,s-1,h,h)}}),L.fn.sparkline.discrete=a=e(L.fn.sparkline._base,r,{type:"discrete",init:function(t,e,i,s,r){a._super.init.call(this,t,e,i,s,r),this.regionShapes={},this.values=e=L.map(e,Number),this.min=z.min.apply(z,e),this.max=z.max.apply(z,e),this.range=this.max-this.min,this.width=s="auto"===i.get("width")?2*e.length:this.width,this.interval=z.floor(s/e.length),this.itemWidth=s/e.length,i.get("chartRangeMin")!==N&&(i.get("chartRangeClip")||i.get("chartRangeMin")<this.min)&&(this.min=i.get("chartRangeMin")),i.get("chartRangeMax")!==N&&(i.get("chartRangeClip")||i.get("chartRangeMax")>this.max)&&(this.max=i.get("chartRangeMax")),this.initTarget(),this.target&&(this.lineHeight="auto"===i.get("lineHeight")?z.round(.3*this.canvasHeight):i.get("lineHeight"))},getRegion:function(t,e,i){return z.floor(e/this.itemWidth)},getCurrentRegionFields:function(){var t=this.currentRegion;return{isNull:this.values[t]===N,value:this.values[t],offset:t}},renderRegion:function(t,e){var i,s,r,n,a=this.values,h=this.options,o=this.min,l=this.max,g=this.range,p=this.interval,u=this.target,c=this.canvasHeight,d=this.lineHeight,f=c-d;return s=A(a[t],o,l),n=t*p,i=z.round(f-(s-o)/g*f),r=h.get("thresholdColor")&&s<h.get("thresholdValue")?h.get("thresholdColor"):h.get("lineColor"),e&&(r=this.calcHighlightColor(r,h)),u.drawLine(n,i,n,i+d,r)}}),L.fn.sparkline.bullet=o=e(L.fn.sparkline._base,{type:"bullet",init:function(t,e,i,s,r){var n,a,h;o._super.init.call(this,t,e,i,s,r),this.values=e=B(e),(h=e.slice())[0]=null===h[0]?h[2]:h[0],h[1]=null===e[1]?h[2]:h[1],n=z.min.apply(z,e),a=z.max.apply(z,e),n=i.get("base")===N?n<0?n:0:i.get("base"),this.min=n,this.max=a,this.range=a-n,this.shapes={},this.valueShapes={},this.regiondata={},this.width=s="auto"===i.get("width")?"4.0em":s,this.target=this.$el.simpledraw(s,r,i.get("composite")),e.length||(this.disabled=!0),this.initTarget()},getRegion:function(t,e,i){var s=this.target.getShapeAt(t,e,i);return s!==N&&this.shapes[s]!==N?this.shapes[s]:N},getCurrentRegionFields:function(){var t=this.currentRegion;return{fieldkey:t.substr(0,1),value:this.values[t.substr(1)],region:t}},changeHighlight:function(t){var e,i=this.currentRegion,s=this.valueShapes[i];switch(delete this.shapes[s],i.substr(0,1)){case"r":e=this.renderRange(i.substr(1),t);break;case"p":e=this.renderPerformance(t);break;case"t":e=this.renderTarget(t)}this.valueShapes[i]=e.id,this.shapes[e.id]=i,this.target.replaceWithShape(s,e)},renderRange:function(t,e){var i=this.values[t],s=z.round(this.canvasWidth*((i-this.min)/this.range)),r=this.options.get("rangeColors")[t-2];return e&&(r=this.calcHighlightColor(r,this.options)),this.target.drawRect(0,0,s-1,this.canvasHeight-1,r,r)},renderPerformance:function(t){var e=this.values[1],i=z.round(this.canvasWidth*((e-this.min)/this.range)),s=this.options.get("performanceColor");return t&&(s=this.calcHighlightColor(s,this.options)),this.target.drawRect(0,z.round(.3*this.canvasHeight),i-1,z.round(.4*this.canvasHeight)-1,s,s)},renderTarget:function(t){var e=this.values[0],i=z.round(this.canvasWidth*((e-this.min)/this.range)-this.options.get("targetWidth")/2),s=z.round(.1*this.canvasHeight),r=this.canvasHeight-2*s,n=this.options.get("targetColor");return t&&(n=this.calcHighlightColor(n,this.options)),this.target.drawRect(i,s,this.options.get("targetWidth")-1,r-1,n,n)},render:function(){var t,e,i=this.values.length,s=this.target;if(o._super.render.call(this)){for(t=2;t<i;t++)e=this.renderRange(t).append(),this.shapes[e.id]="r"+t,this.valueShapes["r"+t]=e.id;null!==this.values[1]&&(e=this.renderPerformance().append(),this.shapes[e.id]="p1",this.valueShapes.p1=e.id),null!==this.values[0]&&(e=this.renderTarget().append(),this.shapes[e.id]="t0",this.valueShapes.t0=e.id),s.render()}}}),L.fn.sparkline.pie=l=e(L.fn.sparkline._base,{type:"pie",init:function(t,e,i,s,r){var n,a=0;if(l._super.init.call(this,t,e,i,s,r),this.shapes={},this.valueShapes={},this.values=e=L.map(e,Number),"auto"===i.get("width")&&(this.width=this.height),0<e.length)for(n=e.length;n--;)a+=e[n];this.total=a,this.initTarget(),this.radius=z.floor(z.min(this.canvasWidth,this.canvasHeight)/2)},getRegion:function(t,e,i){var s=this.target.getShapeAt(t,e,i);return s!==N&&this.shapes[s]!==N?this.shapes[s]:N},getCurrentRegionFields:function(){var t=this.currentRegion;return{isNull:this.values[t]===N,value:this.values[t],percent:this.values[t]/this.total*100,color:this.options.get("sliceColors")[t%this.options.get("sliceColors").length],offset:t}},changeHighlight:function(t){var e=this.currentRegion,i=this.renderSlice(e,t),s=this.valueShapes[e];delete this.shapes[s],this.target.replaceWithShape(s,i),this.valueShapes[e]=i.id,this.shapes[i.id]=e},renderSlice:function(t,e){var i,s,r,n,a,h=this.target,o=this.options,l=this.radius,g=o.get("borderWidth"),p=o.get("offset"),u=2*z.PI,c=this.values,d=this.total,f=p?2*z.PI*(p/360):0;for(n=c.length,r=0;r<n;r++){if(s=i=f,0<d&&(s=f+u*(c[r]/d)),t===r)return a=o.get("sliceColors")[r%o.get("sliceColors").length],e&&(a=this.calcHighlightColor(a,o)),h.drawPieSlice(l,l,l-g,i,s,N,a);f=s}},render:function(){var t,e,i=this.target,s=this.values,r=this.options,n=this.radius,a=r.get("borderWidth");if(l._super.render.call(this)){for(a&&i.drawCircle(n,n,z.floor(n-a/2),r.get("borderColor"),N,a).append(),e=s.length;e--;)s[e]&&(t=this.renderSlice(e).append(),this.valueShapes[e]=t.id,this.shapes[t.id]=e);i.render()}}}),L.fn.sparkline.box=w=e(L.fn.sparkline._base,{type:"box",init:function(t,e,i,s,r){w._super.init.call(this,t,e,i,s,r),this.values=L.map(e,Number),this.width="auto"===i.get("width")?"4.0em":s,this.initTarget(),this.values.length||(this.disabled=1)},getRegion:function(){return 1},getCurrentRegionFields:function(){var t=[{field:"lq",value:this.quartiles[0]},{field:"med",value:this.quartiles[1]},{field:"uq",value:this.quartiles[2]}];return this.loutlier!==N&&t.push({field:"lo",value:this.loutlier}),this.routlier!==N&&t.push({field:"ro",value:this.routlier}),this.lwhisker!==N&&t.push({field:"lw",value:this.lwhisker}),this.rwhisker!==N&&t.push({field:"rw",value:this.rwhisker}),t},render:function(){var t,e,i,s,r,n,a,h,o,l,g,p=this.target,u=this.values,c=u.length,d=this.options,f=this.canvasWidth,v=this.canvasHeight,m=d.get("chartRangeMin")===N?z.min.apply(z,u):d.get("chartRangeMin"),x=d.get("chartRangeMax")===N?z.max.apply(z,u):d.get("chartRangeMax"),y=0;if(w._super.render.call(this)){if(d.get("raw"))d.get("showOutliers")&&5<u.length?(e=u[0],t=u[1],s=u[2],r=u[3],n=u[4],a=u[5],h=u[6]):(t=u[0],s=u[1],r=u[2],n=u[3],a=u[4]);else if(u.sort(function(t,e){return t-e}),s=C(u,1),r=C(u,2),i=(n=C(u,3))-s,d.get("showOutliers")){for(t=a=N,o=0;o<c;o++)t===N&&u[o]>s-i*d.get("outlierIQR")&&(t=u[o]),u[o]<n+i*d.get("outlierIQR")&&(a=u[o]);e=u[0],h=u[c-1]}else t=u[0],a=u[c-1];this.quartiles=[s,r,n],this.lwhisker=t,this.rwhisker=a,this.loutlier=e,this.routlier=h,g=f/(x-m+1),d.get("showOutliers")&&(y=z.ceil(d.get("spotRadius")),g=(f-=2*z.ceil(d.get("spotRadius")))/(x-m+1),e<t&&p.drawCircle((e-m)*g+y,v/2,d.get("spotRadius"),d.get("outlierLineColor"),d.get("outlierFillColor")).append(),a<h&&p.drawCircle((h-m)*g+y,v/2,d.get("spotRadius"),d.get("outlierLineColor"),d.get("outlierFillColor")).append()),p.drawRect(z.round((s-m)*g+y),z.round(.1*v),z.round((n-s)*g),z.round(.8*v),d.get("boxLineColor"),d.get("boxFillColor")).append(),p.drawLine(z.round((t-m)*g+y),z.round(v/2),z.round((s-m)*g+y),z.round(v/2),d.get("lineColor")).append(),p.drawLine(z.round((t-m)*g+y),z.round(v/4),z.round((t-m)*g+y),z.round(v-v/4),d.get("whiskerColor")).append(),p.drawLine(z.round((a-m)*g+y),z.round(v/2),z.round((n-m)*g+y),z.round(v/2),d.get("lineColor")).append(),p.drawLine(z.round((a-m)*g+y),z.round(v/4),z.round((a-m)*g+y),z.round(v-v/4),d.get("whiskerColor")).append(),p.drawLine(z.round((r-m)*g+y),z.round(.1*v),z.round((r-m)*g+y),z.round(.9*v),d.get("medianColor")).append(),d.get("target")&&(l=z.ceil(d.get("spotRadius")),p.drawLine(z.round((d.get("target")-m)*g+y),z.round(v/2-l),z.round((d.get("target")-m)*g+y),z.round(v/2+l),d.get("targetColor")).append(),p.drawLine(z.round((d.get("target")-m)*g+y-l),z.round(v/2),z.round((d.get("target")-m)*g+y+l),z.round(v/2),d.get("targetColor")).append()),p.render()}}}),c=e({init:function(t,e,i,s){this.target=t,this.id=e,this.type=i,this.args=s},append:function(){return this.target.appendShape(this),this}}),d=e({_pxregex:/(\d+)(px)?\s*$/i,init:function(t,e,i){t&&(this.width=t,this.height=e,this.target=i,this.lastShapeId=null,i[0]&&(i=i[0]),L.data(i,"_jqs_vcanvas",this))},drawLine:function(t,e,i,s,r,n){return this.drawShape([[t,e],[i,s]],r,n)},drawShape:function(t,e,i,s){return this._genShape("Shape",[t,e,i,s])},drawCircle:function(t,e,i,s,r,n){return this._genShape("Circle",[t,e,i,s,r,n])},drawPieSlice:function(t,e,i,s,r,n,a){return this._genShape("PieSlice",[t,e,i,s,r,n,a])},drawRect:function(t,e,i,s,r,n){return this._genShape("Rect",[t,e,i,s,r,n])},getElement:function(){return this.canvas},getLastShapeId:function(){return this.lastShapeId},reset:function(){alert("reset not implemented")},_insert:function(t,e){L(e).html(t)},_calculatePixelDims:function(t,e,i){var s;s=this._pxregex.exec(e),this.pixelHeight=s?s[1]:L(i).height(),s=this._pxregex.exec(t),this.pixelWidth=s?s[1]:L(i).width()},_genShape:function(t,e){var i=R++;return e.unshift(i),new c(this,i,t,e)},appendShape:function(t){alert("appendShape not implemented")},replaceWithShape:function(t,e){alert("replaceWithShape not implemented")},insertAfterShape:function(t,e){alert("insertAfterShape not implemented")},removeShapeId:function(t){alert("removeShapeId not implemented")},getShapeAt:function(t,e,i){alert("getShapeAt not implemented")},render:function(){alert("render not implemented")}}),f=e(d,{init:function(t,e,i,s){f._super.init.call(this,t,e,i),this.canvas=S.createElement("canvas"),i[0]&&(i=i[0]),L.data(i,"_jqs_vcanvas",this),L(this.canvas).css({display:"inline-block",width:t,height:e,verticalAlign:"top"}),this._insert(this.canvas,i),this._calculatePixelDims(t,e,this.canvas),this.canvas.width=this.pixelWidth,this.canvas.height=this.pixelHeight,this.interact=s,this.shapes={},this.shapeseq=[],this.currentTargetShapeId=N,L(this.canvas).css({width:this.pixelWidth,height:this.pixelHeight})},_getContext:function(t,e,i){var s=this.canvas.getContext("2d");return t!==N&&(s.strokeStyle=t),s.lineWidth=i===N?1:i,e!==N&&(s.fillStyle=e),s},reset:function(){this._getContext().clearRect(0,0,this.pixelWidth,this.pixelHeight),this.shapes={},this.shapeseq=[],this.currentTargetShapeId=N},_drawShape:function(t,e,i,s,r){var n,a,h=this._getContext(i,s,r);for(h.beginPath(),h.moveTo(e[0][0]+.5,e[0][1]+.5),n=1,a=e.length;n<a;n++)h.lineTo(e[n][0]+.5,e[n][1]+.5);i!==N&&h.stroke(),s!==N&&h.fill(),this.targetX!==N&&this.targetY!==N&&h.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=t)},_drawCircle:function(t,e,i,s,r,n,a){var h=this._getContext(r,n,a);h.beginPath(),h.arc(e,i,s,0,2*z.PI,!1),this.targetX!==N&&this.targetY!==N&&h.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=t),r!==N&&h.stroke(),n!==N&&h.fill()},_drawPieSlice:function(t,e,i,s,r,n,a,h){var o=this._getContext(a,h);o.beginPath(),o.moveTo(e,i),o.arc(e,i,s,r,n,!1),o.lineTo(e,i),o.closePath(),a!==N&&o.stroke(),h&&o.fill(),this.targetX!==N&&this.targetY!==N&&o.isPointInPath(this.targetX,this.targetY)&&(this.currentTargetShapeId=t)},_drawRect:function(t,e,i,s,r,n,a){return this._drawShape(t,[[e,i],[e+s,i],[e+s,i+r],[e,i+r],[e,i]],n,a)},appendShape:function(t){return this.shapes[t.id]=t,this.shapeseq.push(t.id),this.lastShapeId=t.id,t.id},replaceWithShape:function(t,e){var i,s=this.shapeseq;for(this.shapes[e.id]=e,i=s.length;i--;)s[i]==t&&(s[i]=e.id);delete this.shapes[t]},replaceWithShapes:function(t,e){var i,s,r,n=this.shapeseq,a={};for(s=t.length;s--;)a[t[s]]=!0;for(s=n.length;s--;)a[i=n[s]]&&(n.splice(s,1),delete this.shapes[i],r=s);for(s=e.length;s--;)n.splice(r,0,e[s].id),this.shapes[e[s].id]=e[s]},insertAfterShape:function(t,e){var i,s=this.shapeseq;for(i=s.length;i--;)if(s[i]===t)return s.splice(i+1,0,e.id),void(this.shapes[e.id]=e)},removeShapeId:function(t){var e,i=this.shapeseq;for(e=i.length;e--;)if(i[e]===t){i.splice(e,1);break}delete this.shapes[t]},getShapeAt:function(t,e,i){return this.targetX=e,this.targetY=i,this.render(),this.currentTargetShapeId},render:function(){var t,e,i=this.shapeseq,s=this.shapes,r=i.length;for(this._getContext().clearRect(0,0,this.pixelWidth,this.pixelHeight),e=0;e<r;e++)this["_draw"+(t=s[i[e]]).type].apply(this,t.args);this.interact||(this.shapes={},this.shapeseq=[])}}),v=e(d,{init:function(t,e,i){var s;v._super.init.call(this,t,e,i),i[0]&&(i=i[0]),L.data(i,"_jqs_vcanvas",this),this.canvas=S.createElement("span"),L(this.canvas).css({display:"inline-block",position:"relative",overflow:"hidden",width:t,height:e,margin:"0px",padding:"0px",verticalAlign:"top"}),this._insert(this.canvas,i),this._calculatePixelDims(t,e,this.canvas),this.canvas.width=this.pixelWidth,this.canvas.height=this.pixelHeight,s='<v:group coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'" style="position:absolute;top:0;left:0;width:'+this.pixelWidth+"px;height="+this.pixelHeight+'px;"></v:group>',this.canvas.insertAdjacentHTML("beforeEnd",s),this.group=L(this.canvas).children()[0],this.rendered=!1,this.prerender=""},_drawShape:function(t,e,i,s,r){var n,a,h,o,l,g,p=[];for(g=0,l=e.length;g<l;g++)p[g]=e[g][0]+","+e[g][1];return n=p.splice(0,1),r=r===N?1:r,a=i===N?' stroked="false" ':' strokeWeight="'+r+'px" strokeColor="'+i+'" ',h=s===N?' filled="false"':' fillColor="'+s+'" filled="true" ',o=p[0]===p[p.length-1]?"x ":"",'<v:shape coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'" id="jqsshape'+t+'" '+a+h+' style="position:absolute;left:0px;top:0px;height:'+this.pixelHeight+"px;width:"+this.pixelWidth+'px;padding:0px;margin:0px;" path="m '+n+" l "+p.join(", ")+" "+o+'e"> </v:shape>'},_drawCircle:function(t,e,i,s,r,n,a){return'<v:oval id="jqsshape'+t+'" '+(r===N?' stroked="false" ':' strokeWeight="'+a+'px" strokeColor="'+r+'" ')+(n===N?' filled="false"':' fillColor="'+n+'" filled="true" ')+' style="position:absolute;top:'+(i-=s)+"px; left:"+(e-=s)+"px; width:"+2*s+"px; height:"+2*s+'px"></v:oval>'},_drawPieSlice:function(t,e,i,s,r,n,a,h){var o,l,g,p,u,c,d;if(r===n)return"";if(n-r==2*z.PI&&(r=0,n=2*z.PI),l=e+z.round(z.cos(r)*s),g=i+z.round(z.sin(r)*s),p=e+z.round(z.cos(n)*s),u=i+z.round(z.sin(n)*s),l===p&&g===u){if(n-r<z.PI)return"";l=p=e+s,g=u=i}return l===p&&g===u&&n-r<z.PI?"":(o=[e-s,i-s,e+s,i+s,l,g,p,u],c=a===N?' stroked="false" ':' strokeWeight="1px" strokeColor="'+a+'" ',d=h===N?' filled="false"':' fillColor="'+h+'" filled="true" ','<v:shape coordorigin="0 0" coordsize="'+this.pixelWidth+" "+this.pixelHeight+'" id="jqsshape'+t+'" '+c+d+' style="position:absolute;left:0px;top:0px;height:'+this.pixelHeight+"px;width:"+this.pixelWidth+'px;padding:0px;margin:0px;" path="m '+e+","+i+" wa "+o.join(", ")+' x e"> </v:shape>')},_drawRect:function(t,e,i,s,r,n,a){return this._drawShape(t,[[e,i],[e,i+r],[e+s,i+r],[e+s,i],[e,i]],n,a)},reset:function(){this.group.innerHTML=""},appendShape:function(t){var e=this["_draw"+t.type].apply(this,t.args);return this.rendered?this.group.insertAdjacentHTML("beforeEnd",e):this.prerender+=e,this.lastShapeId=t.id,t.id},replaceWithShape:function(t,e){var i=L("#jqsshape"+t),s=this["_draw"+e.type].apply(this,e.args);i[0].outerHTML=s},replaceWithShapes:function(t,e){var i,s=L("#jqsshape"+t[0]),r="",n=e.length;for(i=0;i<n;i++)r+=this["_draw"+e[i].type].apply(this,e[i].args);for(s[0].outerHTML=r,i=1;i<t.length;i++)L("#jqsshape"+t[i]).remove()},insertAfterShape:function(t,e){var i=L("#jqsshape"+t),s=this["_draw"+e.type].apply(this,e.args);i[0].insertAdjacentHTML("afterEnd",s)},removeShapeId:function(t){var e=L("#jqsshape"+t);this.group.removeChild(e[0])},getShapeAt:function(t,e,i){return t.id.substr(8)},render:function(){this.rendered||(this.group.innerHTML=this.prerender,this.rendered=!0)}})},"function"==typeof define&&define.amd?define(["jquery"],t):jQuery&&!jQuery.fn.sparkline&&t(jQuery)}(document,Math);;
// C:\code\oanda-performances\client\src\bower_components\apex\apex.js
//-------------------------------
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).ApexCharts=e()}(this,function(){"use strict";function w(t){return(w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var i=0;i<e.length;i++){var s=e[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function t(t,e,i){return e&&s(t.prototype,e),i&&s(t,i),t}function n(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function ot(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{},s=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(i).filter(function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable}))),s.forEach(function(t){n(e,t,i[t])})}return e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}function r(t){return(r=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function o(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function S(t){return function(t){if(Array.isArray(t)){for(var e=0,i=new Array(t.length);e<t.length;e++)i[e]=t[e];return i}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var lt=(t(d,[{key:"shadeRGBColor",value:function(t,e){var i=e.split(","),s=t<0?0:255,a=t<0?-1*t:t,n=parseInt(i[0].slice(4)),r=parseInt(i[1]),o=parseInt(i[2]);return"rgb("+(Math.round((s-n)*a)+n)+","+(Math.round((s-r)*a)+r)+","+(Math.round((s-o)*a)+o)+")"}},{key:"shadeHexColor",value:function(t,e){var i=parseInt(e.slice(1),16),s=t<0?0:255,a=t<0?-1*t:t,n=i>>16,r=i>>8&255,o=255&i;return"#"+(16777216+65536*(Math.round((s-n)*a)+n)+256*(Math.round((s-r)*a)+r)+(Math.round((s-o)*a)+o)).toString(16).slice(1)}},{key:"shadeColor",value:function(t,e){return 7<e.length?this.shadeRGBColor(t,e):this.shadeHexColor(t,e)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===w(t)&&!Array.isArray(t)&&null!=t}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;e<t.length;e++)i[e]=t[e];return i}},{key:"extend",value:function(e,i){var s=this;"function"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var s=arguments[i];if(null!=s)for(var a in s)s.hasOwnProperty(a)&&(e[a]=s[a])}return e});var a=Object.assign({},e);return this.isObject(e)&&this.isObject(i)&&Object.keys(i).forEach(function(t){s.isObject(i[t])&&t in e?a[t]=s.extend(e[t],i[t]):Object.assign(a,n({},t,i[t]))}),a}},{key:"extendArray",value:function(t,e){var i=[];return t.map(function(t){i.push(d.extend(e,t))}),i}},{key:"monthMod",value:function(t){return t%12}},{key:"addProps",value:function(t,e,i){"string"==typeof e&&(e=e.split(".")),t[e[0]]=t[e[0]]||{};var s=t[e[0]];return 1<e.length?(e.shift(),this.addProps(s,e,i)):t[e[0]]=i,t}},{key:"clone",value:function(t){if("[object Array]"===Object.prototype.toString.call(t)){for(var e=[],i=0;i<t.length;i++)e[i]=this.clone(t[i]);return e}if("object"!==w(t))return t;var s={};for(var a in t)t.hasOwnProperty(a)&&(s[a]=this.clone(t[a]));return s}},{key:"log10",value:function(t){return Math.log(t)/Math.LN10}},{key:"roundToBase10",value:function(t){return Math.pow(10,Math.floor(Math.log10(t)))}},{key:"roundToBase",value:function(t,e){return Math.pow(e,Math.floor(Math.log(t)/Math.log(e)))}},{key:"parseNumber",value:function(t){return null===t?t:parseFloat(t)}},{key:"noExponents",value:function(t){var e=String(t).split(/[eE]/);if(1==e.length)return e[0];var i="",s=t<0?"-":"",a=e[0].replace(".",""),n=Number(e[1])+1;if(n<0){for(i=s+"0.";n++;)i+="0";return i+a.replace(/^\-/,"")}for(n-=a.length;n--;)i+="0";return a+i}},{key:"getDimensions",value:function(t){var e=getComputedStyle(t),i=[],s=t.clientHeight,a=t.clientWidth;return s-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i.push(a),i.push(s),i}},{key:"getBoundingClientRect",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height,x:e.x,y:e.y}}},{key:"hexToRgba",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"#999999",e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var s=0;s<i.length;s++)i[s]=parseInt(1===i[s].length?i[s]+i[s]:i[s],16);return void 0!==e&&i.push(e),"rgba("+i.join(",")+")"}},{key:"getOpacityFromRGBA",value:function(t){return(t=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))[3]}},{key:"rgb2hex",value:function(t){return(t=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===t.length?"#"+("0"+parseInt(t[1],10).toString(16)).slice(-2)+("0"+parseInt(t[2],10).toString(16)).slice(-2)+("0"+parseInt(t[3],10).toString(16)).slice(-2):""}},{key:"isColorHex",value:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}},{key:"polarToCartesian",value:function(t,e,i,s){var a=(s-90)*Math.PI/180;return{x:t+i*Math.cos(a),y:e+i*Math.sin(a)}}},{key:"escapeString",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i.replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var s=i-t.length+1;s--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d\.]*/g,""))}},{key:"randomString",value:function(t){for(var e="",i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",s=0;s<t;s++)e+=i.charAt(Math.floor(Math.random()*i.length));return e}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return-1<navigator.userAgent.toLowerCase().indexOf("firefox")}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||-1<window.navigator.appVersion.indexOf("Trident/"))return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(0<e)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(0<t.indexOf("Trident/")){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var s=t.indexOf("Edge/");return 0<s&&parseInt(t.substring(s+5,t.indexOf(".",s)),10)}}]),d),T=(t(c,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size("120%","180%","-5%","-40%"),"none"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addNormalFilter",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addLightenFilter",value:function(t,i,e){var s=this,a=this.w,n=e.intensity;if(!lt.isFirefox()){t.unfilter(!0);var r=new window.SVG.Filter;r.size("120%","180%","-5%","-40%"),t.filter(function(t){var e=a.config.chart.dropShadow;(r=e.enabled?s.addShadow(t,i,e):t).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:n}})}),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse")}}},{key:"addDarkenFilter",value:function(t,i,e){var s=this,a=this.w,n=e.intensity;if(!lt.isFirefox()){t.unfilter(!0);var r=new window.SVG.Filter;r.size("120%","180%","-5%","-40%"),t.filter(function(t){var e=a.config.chart.dropShadow;(r=e.enabled?s.addShadow(t,i,e):t).componentTransfer({rgb:{type:"linear",slope:n}})}),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse")}}},{key:"applyFilter",value:function(t,e,i){var s=3<arguments.length&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:s});break;case"darken":this.addDarkenFilter(t,e,{intensity:s})}}},{key:"addShadow",value:function(t,e,i){var s=i.blur,a=i.top,n=i.left,r=i.color,o=i.opacity,l=t.flood(Array.isArray(r)?r[e]:r,o).composite(t.sourceAlpha,"in").offset(n,a).gaussianBlur(s).merge(t.source);return t.blend(t.source,l)}},{key:"dropShadow",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,s=e.top,a=e.left,n=e.blur,r=e.color,o=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),lt.isIE()&&"radialBar"===h.config.chart.type||(r=Array.isArray(r)?r[i]:r,(new window.SVG.Filter).size("120%","180%","-5%","-40%"),t.filter(function(t){var e;e=lt.isSafari()||lt.isFirefox()||lt.isIE()?t.flood(r,o).composite(t.sourceAlpha,"in").offset(a,s).gaussianBlur(n):t.flood(r,o).composite(t.sourceAlpha,"in").offset(a,s).gaussianBlur(n).merge(t.source),t.blend(t.source,e)}),l||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse")),t}},{key:"setSelectionFilter",value:function(t,e,i){var s=this.w;if(void 0!==s.globals.selectedDataPoints[e]&&-1<s.globals.selectedDataPoints[e].indexOf(i)){t.node.setAttribute("selected",!0);var a=s.config.states.active.filter;"none"!==a&&this.applyFilter(t,e,a.type,a.value)}}}]),c),X=(t(h,[{key:"setEasingFunctions",value:function(){var t;switch(this.w.config.chart.animations.easing){case"linear":t="-";break;case"easein":t="<";break;case"easeout":t=">";break;case"easeinout":t="<>";break;case"swing":t=function(t){return(t-=1)*t*(2.70158*t+1.70158)+1};break;case"bounce":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1};break;default:t="<>"}this.w.globals.easing=t}},{key:"animateLine",value:function(t,e,i,s){t.attr(e).animate(s).attr(i)}},{key:"animateCircleRadius",value:function(t,e,i,s,a){e=e||0,t.attr({r:e}).animate(s,a).attr({r:i})}},{key:"animateCircle",value:function(t,e,i,s,a){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(s,a).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:"animateRect",value:function(t,e,i,s,a){t.attr(e).animate(s).attr(i).afterAll(function(){a()})}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.j,s=t.pathFrom,a=t.pathTo,n=t.speed,r=t.delay,o=t.strokeWidth,l=this.w,h=0;l.config.chart.animations.animateGradually.enabled&&(h=l.config.chart.animations.animateGradually.delay),l.config.chart.animations.dynamicAnimation.enabled&&l.globals.dataChanged&&(h=0),this.morphSVG(e,i,s,a,n,o,r*h)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach(function(t){t.el.classList.remove("hidden")})}},{key:"morphSVG",value:function(t,e,i,s,a,n,r){var o=this,l=this.w;i=i||t.attr("pathFrom"),s=s||t.attr("pathTo"),(!i||-1<i.indexOf("undefined")||-1<i.indexOf("NaN"))&&(i="M 0 ".concat(l.globals.gridHeight),a=1),(-1<s.indexOf("undefined")||-1<s.indexOf("NaN"))&&(s="M 0 ".concat(l.globals.gridHeight),a=1),l.globals.shouldAnimate||(a=1),t.plot(i).animate(1,l.globals.easing,r).plot(i).animate(a,l.globals.easing,r).plot(s).afterAll(function(){lt.isNumber(e)?e===l.globals.series[l.globals.maxValsInArrayIndex].length-2&&l.globals.shouldAnimate&&(l.globals.animationEnded=!0):l.globals.shouldAnimate&&(l.globals.animationEnded=!0,"function"==typeof l.config.chart.events.animationEnd&&l.config.chart.events.animationEnd(o.ctx,l)),o.showDelayedElements()})}}]),h),ht=(t(l,[{key:"drawLine",value:function(t,e,i,s){var a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",n=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0,r=6<arguments.length&&void 0!==arguments[6]?arguments[6]:null;return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:s,stroke:a,"stroke-dasharray":n,"stroke-width":r})}},{key:"drawRect",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,s=3<arguments.length&&void 0!==arguments[3]?arguments[3]:0,a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,n=5<arguments.length&&void 0!==arguments[5]?arguments[5]:"#fefefe",r=6<arguments.length&&void 0!==arguments[6]?arguments[6]:1,o=7<arguments.length&&void 0!==arguments[7]?arguments[7]:null,l=8<arguments.length&&void 0!==arguments[8]?arguments[8]:null,h=9<arguments.length&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:0<i?i:0,height:0<s?s:0,rx:a,ry:a,fill:n,opacity:r,"stroke-width":null!==o?o:0,stroke:null!==l?l:"none","stroke-dasharray":h}),c}},{key:"drawPolygon",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"none";return this.w.globals.dom.Paper.polygon(t).attr({fill:i,stroke:e})}},{key:"drawCircle",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,s=t.stroke,a=void 0===s?"#a8a8a8":s,n=t.strokeWidth,r=void 0===n?1:n,o=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,u=t.classes,g=t.strokeLinecap,f=void 0===g?null:g,p=t.strokeDashArray,x=void 0===p?0:p,b=this.w;return null===f&&(f=b.config.stroke.lineCap),(-1<i.indexOf("undefined")||-1<i.indexOf("NaN"))&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:o,"fill-opacity":h,stroke:a,"stroke-opacity":d,"stroke-linecap":f,"stroke-width":r,"stroke-dasharray":x,class:u})}},{key:"group",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:"move",value:function(t,e){return["M",t,e].join(" ")}},{key:"line",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,s=null;return null===i?s=["L",t,e].join(" "):"H"===i?s=["H",t].join(" "):"V"===i&&(s=["V",e].join(" ")),s}},{key:"curve",value:function(t,e,i,s,a,n){return["C",t,e,i,s,a,n].join(" ")}},{key:"quadraticCurve",value:function(t,e,i,s){return["Q",t,e,i,s].join(" ")}},{key:"arc",value:function(t,e,i,s,a,n,r){var o="A";return 7<arguments.length&&void 0!==arguments[7]&&arguments[7]&&(o="a"),[o,t,e,i,s,a,n,r].join(" ")}},{key:"renderPaths",value:function(t){var e,i=t.j,s=t.realIndex,a=t.pathFrom,n=t.pathTo,r=t.stroke,o=t.strokeWidth,l=t.strokeLinecap,h=t.fill,c=t.animationDelay,d=t.initialSpeed,u=t.dataChangeSpeed,g=t.className,f=t.shouldClipToGrid,p=void 0===f||f,x=t.bindEventsOnPaths,b=void 0===x||x,m=t.drawShadow,v=void 0===m||m,y=this.w,w=new T(this.ctx),k=new X(this.ctx),A=this.w.config.chart.animations.enabled,S=A&&this.w.config.chart.animations.dynamicAnimation.enabled,C=!!(A&&!y.globals.resized||S&&y.globals.dataChanged&&y.globals.shouldAnimate);C?e=a:(e=n,this.w.globals.animationEnded=!0);var L,z=y.config.stroke.dashArray;L=Array.isArray(z)?z[s]:y.config.stroke.dashArray;var P=this.drawPath({d:e,stroke:r,strokeWidth:o,fill:h,fillOpacity:1,classes:g,strokeLinecap:l,strokeDashArray:L});if(P.attr("index",s),p&&P.attr({"clip-path":"url(#gridRectMask".concat(y.globals.cuid,")")}),"none"!==y.config.states.normal.filter.type)w.getDefaultFilter(P,s);else if(y.config.chart.dropShadow.enabled&&v&&(!y.config.chart.dropShadow.enabledSeries||y.config.chart.dropShadow.enabledSeries&&-1!==y.config.chart.dropShadow.enabledSeries.indexOf(s))){var E=y.config.chart.dropShadow;w.dropShadow(P,E,s)}b&&(P.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,P)),P.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,P)),P.node.addEventListener("mousedown",this.pathMouseDown.bind(this,P))),P.attr({pathTo:n,pathFrom:a});var M={el:P,j:i,pathFrom:a,pathTo:n,strokeWidth:o};return!A||y.globals.resized||y.globals.dataChanged?!y.globals.resized&&y.globals.dataChanged||k.showDelayedElements():k.animatePathsGradually(ot({},M,{speed:d,delay:c})),y.globals.dataChanged&&S&&C&&k.animatePathsGradually(ot({},M,{speed:u})),P}},{key:"drawPattern",value:function(e,i,s){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",n=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(i,s,function(t){"horizontalLines"===e?t.line(0,0,s,0).stroke({color:a,width:n+1}):"verticalLines"===e?t.line(0,0,0,i).stroke({color:a,width:n+1}):"slantedLines"===e?t.line(0,0,i,s).stroke({color:a,width:n}):"squares"===e?t.rect(i,s).fill("none").stroke({color:a,width:n}):"circles"===e&&t.circle(i).fill("none").stroke({color:a,width:n})})}},{key:"drawGradient",value:function(t,e,i,s,a){var n,r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:null,o=6<arguments.length&&void 0!==arguments[6]?arguments[6]:null,l=7<arguments.length&&void 0!==arguments[7]?arguments[7]:null,h=8<arguments.length&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e=lt.hexToRgba(e,s),i=lt.hexToRgba(i,a);var d=0,u=1,g=1,f=null;null!==o&&(d=void 0!==o[0]?o[0]/100:0,u=void 0!==o[1]?o[1]/100:1,g=void 0!==o[2]?o[2]/100:1,f=void 0!==o[3]?o[3]/100:null);var p=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(n=null===l||0===l.length?c.globals.dom.Paper.gradient(p?"radial":"linear",function(t){t.at(d,e,s),t.at(u,i,a),t.at(g,i,a),null!==f&&t.at(f,e,s)}):c.globals.dom.Paper.gradient(p?"radial":"linear",function(e){(Array.isArray(l[h])?l[h]:l).forEach(function(t){e.at(t.offset/100,t.color,t.opacity)})}),p){var x=c.globals.gridWidth/2,b=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?n.attr({gradientUnits:"userSpaceOnUse",cx:x,cy:b,r:r}):n.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?n.from(0,0).to(0,1):"diagonal"===t?n.from(0,0).to(1,1):"horizontal"===t?n.from(0,1).to(1,1):"diagonal2"===t&&n.from(0,1).to(2,2);return n}},{key:"drawText",value:function(t){var e,i=this.w,s=t.x,a=t.y,n=t.text,r=t.textAnchor,o=t.fontSize,l=t.fontFamily,h=t.foreColor,c=t.opacity;return void 0===n&&(n=""),r=r||"start",h=h||i.config.chart.foreColor,l=l||i.config.chart.fontFamily,(e=Array.isArray(n)?i.globals.dom.Paper.text(function(t){for(var e=0;e<n.length;e++)t.tspan(n[e])}):i.globals.dom.Paper.plain(n)).attr({x:s,y:a,"text-anchor":r,"dominant-baseline":"auto","font-size":o,"font-family":l,fill:h,class:(t.cssClass,t.cssClass)}),e.node.style.fontFamily=l,e.node.style.opacity=c,e}},{key:"addTspan",value:function(t,e,i){var s=t.tspan(e);i=i||this.w.config.chart.fontFamily,s.node.style.fontFamily=i}},{key:"drawMarker",value:function(t,e,i){t=t||0;var s=i.pSize||0,a=null;if("square"===i.shape){var n=void 0===i.pRadius?s/2:i.pRadius;null===e&&(n=s=0);var r=1.2*s+n,o=this.drawRect(r,r,r,r,n);o.attr({x:t-r/2,y:e-r/2,cx:t,cy:e,class:i.class?i.class:"",fill:i.pointFillColor,"fill-opacity":i.pointFillOpacity?i.pointFillOpacity:1,stroke:i.pointStrokeColor,"stroke-width":i.pWidth?i.pWidth:0,"stroke-opacity":i.pointStrokeOpacity?i.pointStrokeOpacity:1}),a=o}else"circle"===i.shape&&(lt.isNumber(e)||(e=s=0),a=this.drawCircle(s,{cx:t,cy:e,class:i.class?i.class:"",stroke:i.pointStrokeColor,fill:i.pointFillColor,"fill-opacity":i.pointFillOpacity?i.pointFillOpacity:1,"stroke-width":i.pWidth?i.pWidth:0,"stroke-opacity":i.pointStrokeOpacity?i.pointStrokeOpacity:1}));return a}},{key:"pathMouseEnter",value:function(t,e){var i=this.w,s=new T(this.ctx),a=parseInt(t.node.getAttribute("index")),n=parseInt(t.node.getAttribute("j"));if("function"==typeof i.config.chart.events.dataPointMouseEnter&&i.config.chart.events.dataPointMouseEnter(e,this.ctx,{seriesIndex:a,dataPointIndex:n,w:i}),this.ctx.fireEvent("dataPointMouseEnter",[e,this.ctx,{seriesIndex:a,dataPointIndex:n,w:i}]),("none"===i.config.states.active.filter.type||"true"!==t.node.getAttribute("selected"))&&"none"!==i.config.states.hover.filter.type&&"none"!==i.config.states.active.filter.type&&!i.globals.isTouchDevice){var r=i.config.states.hover.filter;s.applyFilter(t,a,r.type,r.value)}}},{key:"pathMouseLeave",value:function(t,e){var i=this.w,s=new T(this.ctx),a=parseInt(t.node.getAttribute("index")),n=parseInt(t.node.getAttribute("j"));"function"==typeof i.config.chart.events.dataPointMouseLeave&&i.config.chart.events.dataPointMouseLeave(e,this.ctx,{seriesIndex:a,dataPointIndex:n,w:i}),this.ctx.fireEvent("dataPointMouseLeave",[e,this.ctx,{seriesIndex:a,dataPointIndex:n,w:i}]),"none"!==i.config.states.active.filter.type&&"true"===t.node.getAttribute("selected")||"none"!==i.config.states.hover.filter.type&&s.getDefaultFilter(t,a)}},{key:"pathMouseDown",value:function(t,e){var i=this.w,s=new T(this.ctx),a=parseInt(t.node.getAttribute("index")),n=parseInt(t.node.getAttribute("j")),r="false";if("true"===t.node.getAttribute("selected")){if(t.node.setAttribute("selected","false"),-1<i.globals.selectedDataPoints[a].indexOf(n)){var o=i.globals.selectedDataPoints[a].indexOf(n);i.globals.selectedDataPoints[a].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&0<i.globals.selectedDataPoints.length){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members;l.forEach(function(t){t.node.setAttribute("selected","false"),s.getDefaultFilter(t,a)}),h.forEach(function(t){t.node.setAttribute("selected","false"),s.getDefaultFilter(t,a)})}t.node.setAttribute("selected","true"),r="true",void 0===i.globals.selectedDataPoints[a]&&(i.globals.selectedDataPoints[a]=[]),i.globals.selectedDataPoints[a].push(n)}if("true"===r){var c=i.config.states.active.filter;"none"!==c&&s.applyFilter(t,a,c.type,c.value)}else"none"!==i.config.states.active.filter.type&&s.getDefaultFilter(t,a);"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:a,dataPointIndex:n,w:i}),e&&this.ctx.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:a,dataPointIndex:n,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e=t.getBBox();return{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,s){var a=!(4<arguments.length&&void 0!==arguments[4])||arguments[4],n=this.w,r=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});s&&r.attr("transform",s),n.globals.dom.Paper.add(r);var o=r.bbox();return a||(o=r.node.getBoundingClientRect()),r.remove(),{width:o.width,height:o.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if(0<(t.textContent=e).length&&t.getComputedTextLength()>=i){for(var s=e.length-3;0<s;s-=3)if(t.getSubStringLength(0,s)<=i)return void(t.textContent=e.substring(0,s)+"...");t.textContent="..."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),l);function l(t){a(this,l),this.ctx=t,this.w=t.w}function h(t){a(this,h),this.ctx=t,this.w=t.w,this.setEasingFunctions()}function c(t){a(this,c),this.ctx=t,this.w=t.w}function d(){a(this,d)}var u={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},p=(t(Tt,[{key:"init",value:function(){return{annotations:{position:"front",yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"transparent",locales:[u],defaultLocale:"en",dropShadow:{enabled:!1,enabledSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,zoomed:void 0,scrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:"normal",toolbar:{show:!0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,endingShape:"flat",colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1},dataLabels:{maxItems:100,hideOverflowingLabels:!0,position:"top"}},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!0,distributed:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{size:void 0,inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,color:void 0,offsetY:0},value:{show:!0,fontSize:"14px",fontFamily:void 0,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce(function(t,e){return t+e},0)/t.globals.series.length+"%"}}}},rangeBar:{},pie:{size:void 0,customScale:1,offsetX:0,offsetY:0,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,color:void 0,offsetY:-10},value:{show:!0,fontSize:"20px",fontFamily:void 0,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,label:"Total",color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce(function(t,e){return t+e},0)}}}}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,colors:void 0},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"sqaures",width:6,height:6,strokeWidth:2}},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1,animate:!1}},yaxis:{lines:{show:!0,animate:!1}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",fontSize:"12px",fontFamily:void 0,width:void 0,height:void 0,formatter:void 0,offsetX:-20,offsetY:0,labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,strokeColor:"#fff",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:0,vertical:5},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,fillOpacity:1,shape:"circle",radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.15}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.65}}},title:{text:void 0,align:"left",margin:10,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:10,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],offsetX:0,offsetY:0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!0,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss"}},axisBorder:{show:!0,color:"#78909C",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#78909C",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"light",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),Tt),g=(t(Mt,[{key:"drawAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.drawYAxisAnnotations(),i=this.drawXAxisAnnotations(),s=this.drawPointAnnotations(),a=t.config.chart.animations.enabled,n=[e,i,s],r=[i.node,e.node,s.node],o=0;o<3;o++)t.globals.dom.elGraphical.add(n[o]),!a||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&r[o].classList.add("hidden"),t.globals.delayedElements.push({el:r[o],index:0});this.annotationsBackground()}}},{key:"getStringX",value:function(t){var e=this.w,i=t,s=e.globals.labels.indexOf(t),a=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(s+1)+")");return a&&(i=parseFloat(a.getAttribute("x"))),i}},{key:"addXaxisAnnotation",value:function(t,e,i){var s=this.w,a=this.invertAxis?s.globals.minY:s.globals.minX,n=this.invertAxis?s.globals.yRange[0]:s.globals.xRange,r=(t.x-a)/(n/s.globals.gridWidth),o=t.label.text;"category"!==s.config.xaxis.type&&!s.config.xaxis.convertedCatToNumeric||this.invertAxis||s.globals.isXNumeric||(r=this.getStringX(t.x));var l=t.strokeDashArray;if(!(r<0||r>s.globals.gridWidth)){if(null===t.x2){var h=this.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,l);e.appendChild(h.node)}else{var c=(t.x2-a)/(n/s.globals.gridWidth);if("category"!==s.config.xaxis.type&&!s.config.xaxis.convertedCatToNumeric||this.invertAxis||s.globals.isXNumeric||(c=this.getStringX(t.x2)),c<r){var d=r;r=c,c=d}if(o){var u=this.graphics.drawRect(r+t.offsetX,0+t.offsetY,c-r,s.globals.gridHeight+t.offsetY,0,t.fillColor,t.opacity,1,t.borderColor,l);e.appendChild(u.node)}}var g="top"===t.label.position?-3:s.globals.gridHeight,f=this.graphics.drawText({x:r+t.label.offsetX,y:g+t.label.offsetY,text:o,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,foreColor:t.label.style.color,cssClass:"apexcharts-xaxis-annotation-label "+t.label.style.cssClass});f.attr({rel:i}),e.appendChild(f.node),this.setOrientations(t,i)}}},{key:"drawXAxisAnnotations",value:function(){var i=this,t=this.w,s=this.graphics.group({class:"apexcharts-xaxis-annotations"});return t.config.annotations.xaxis.map(function(t,e){i.addXaxisAnnotation(t,s.node,e)}),s}},{key:"addYaxisAnnotation",value:function(t,e,i){var s,a,n=this.w,r=t.strokeDashArray;if(this.invertAxis){var o=n.globals.labels.indexOf(t.y),l=n.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(o+1)+")");l&&(s=parseFloat(l.getAttribute("y")))}else s=n.globals.gridHeight-(t.y-n.globals.minYArr[t.yAxisIndex])/(n.globals.yRange[t.yAxisIndex]/n.globals.gridHeight),n.config.yaxis[t.yAxisIndex]&&n.config.yaxis[t.yAxisIndex].reversed&&(s=(t.y-n.globals.minYArr[t.yAxisIndex])/(n.globals.yRange[t.yAxisIndex]/n.globals.gridHeight));var h=t.label.text;if(null===t.y2){var c=this.graphics.drawLine(0+t.offsetX,s+t.offsetY,n.globals.gridWidth+t.offsetX,s+t.offsetY,t.borderColor,r);e.appendChild(c.node)}else{if(this.invertAxis){var d=n.globals.labels.indexOf(t.y2),u=n.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(d+1)+")");u&&(a=parseFloat(u.getAttribute("y")))}else a=n.globals.gridHeight-(t.y2-n.globals.minYArr[t.yAxisIndex])/(n.globals.yRange[t.yAxisIndex]/n.globals.gridHeight),n.config.yaxis[t.yAxisIndex]&&n.config.yaxis[t.yAxisIndex].reversed&&(a=(t.y2-n.globals.minYArr[t.yAxisIndex])/(n.globals.yRange[t.yAxisIndex]/n.globals.gridHeight));if(s<a){var g=s;s=a,a=g}if(h){var f=this.graphics.drawRect(0+t.offsetX,a+t.offsetY,n.globals.gridWidth+t.offsetX,s-a,0,t.fillColor,t.opacity,1,t.borderColor,r);e.appendChild(f.node)}}var p="right"===t.label.position?n.globals.gridWidth:0,x=this.graphics.drawText({x:p+t.label.offsetX,y:(a||s)+t.label.offsetY-3,text:h,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label "+t.label.style.cssClass});x.attr({rel:i}),e.appendChild(x.node)}},{key:"drawYAxisAnnotations",value:function(){var i=this,t=this.w,s=this.graphics.group({class:"apexcharts-yaxis-annotations"});return t.config.annotations.yaxis.map(function(t,e){i.addYaxisAnnotation(t,s.node,e)}),s}},{key:"clearAnnotations",value:function(t){var e=t.w.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");(e=lt.listToArray(e)).forEach(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)})}},{key:"addPointAnnotation",value:function(t,e,i){var s=this.w,a=0,n=0,r=0;if(this.invertAxis&&console.warn("Point annotation is not supported in horizontal bar charts."),"string"==typeof t.x){var o=s.globals.labels.indexOf(t.x),l=s.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(o+1)+")");a=parseFloat(l.getAttribute("x"));var h=t.y;null===t.y&&(h=s.globals.series[t.seriesIndex][o]),n=s.globals.gridHeight-(h-s.globals.minYArr[t.yAxisIndex])/(s.globals.yRange[t.yAxisIndex]/s.globals.gridHeight)-parseInt(t.label.style.fontSize)-t.marker.size,r=s.globals.gridHeight-(h-s.globals.minYArr[t.yAxisIndex])/(s.globals.yRange[t.yAxisIndex]/s.globals.gridHeight),s.config.yaxis[t.yAxisIndex]&&s.config.yaxis[t.yAxisIndex].reversed&&(n=(h-s.globals.minYArr[t.yAxisIndex])/(s.globals.yRange[t.yAxisIndex]/s.globals.gridHeight)+parseInt(t.label.style.fontSize)+t.marker.size,r=(h-s.globals.minYArr[t.yAxisIndex])/(s.globals.yRange[t.yAxisIndex]/s.globals.gridHeight))}else a=(t.x-s.globals.minX)/(s.globals.xRange/s.globals.gridWidth),n=s.globals.gridHeight-(parseFloat(t.y)-s.globals.minYArr[t.yAxisIndex])/(s.globals.yRange[t.yAxisIndex]/s.globals.gridHeight)-parseInt(t.label.style.fontSize)-t.marker.size,r=s.globals.gridHeight-(t.y-s.globals.minYArr[t.yAxisIndex])/(s.globals.yRange[t.yAxisIndex]/s.globals.gridHeight),s.config.yaxis[t.yAxisIndex]&&s.config.yaxis[t.yAxisIndex].reversed&&(n=(parseFloat(t.y)-s.globals.minYArr[t.yAxisIndex])/(s.globals.yRange[t.yAxisIndex]/s.globals.gridHeight)-parseInt(t.label.style.fontSize)-t.marker.size,r=(t.y-s.globals.minYArr[t.yAxisIndex])/(s.globals.yRange[t.yAxisIndex]/s.globals.gridHeight));if(!(a<0||a>s.globals.gridWidth)){var c={pSize:t.marker.size,pWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,radius:t.marker.radius,class:"apexcharts-point-annotation-marker "+t.marker.cssClass},d=this.graphics.drawMarker(a+t.marker.offsetX,r+t.marker.offsetY,c);e.appendChild(d.node);var u=t.label.text?t.label.text:"",g=this.graphics.drawText({x:a+t.label.offsetX,y:n+t.label.offsetY,text:u,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label "+t.label.style.cssClass});if(g.attr({rel:i}),e.appendChild(g.node),t.customSVG.SVG){var f=this.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});f.attr({transform:"translate(".concat(a+t.customSVG.offsetX,", ").concat(n+t.customSVG.offsetY,")")}),f.node.innerHTML=t.customSVG.SVG,e.appendChild(f.node)}}}},{key:"drawPointAnnotations",value:function(){var i=this,t=this.w,s=this.graphics.group({class:"apexcharts-point-annotations"});return t.config.annotations.points.map(function(t,e){i.addPointAnnotation(t,s.node,e)}),s}},{key:"setOrientations",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var s=null!==e?e:0,a=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(s,"']"));if(null!==a){var n=a.getBoundingClientRect();a.setAttribute("x",parseFloat(a.getAttribute("x"))-n.height+4),"top"===t.label.position?a.setAttribute("y",parseFloat(a.getAttribute("y"))+n.width):a.setAttribute("y",parseFloat(a.getAttribute("y"))-n.width);var r=this.graphics.rotateAroundCenter(a),o=r.x,l=r.y;a.setAttribute("transform","rotate(-90 ".concat(o," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!e.label.text||e.label.text&&!e.label.text.trim())return null;var s=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),a=t.getBoundingClientRect(),n=e.label.style.padding.left,r=e.label.style.padding.right,o=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(o=e.label.style.padding.left,l=e.label.style.padding.right,n=e.label.style.padding.top,r=e.label.style.padding.bottom);var h=a.left-s.left-n,c=a.top-s.top-o;return this.graphics.drawRect(h,c,a.width+n+r,a.height+o+l,0,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0)}},{key:"annotationsBackground",value:function(){function i(t,e,i){var s=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(i,"-annotations .apexcharts-").concat(i,"-annotation-label[rel='").concat(e,"']"));if(s){var a=s.parentNode,n=r.addBackgroundToAnno(s,t);n&&a.insertBefore(n.node,s)}}var r=this,o=this.w;o.config.annotations.xaxis.map(function(t,e){i(t,e,"xaxis")}),o.config.annotations.yaxis.map(function(t,e){i(t,e,"yaxis")}),o.config.annotations.points.map(function(t,e){i(t,e,"point")})}},{key:"addText",value:function(t,e,i){var s=t.x,a=t.y,n=t.text,r=t.textAnchor,o=t.appendTo,l=void 0===o?".apexcharts-inner":o,h=t.foreColor,c=t.fontSize,d=t.fontFamily,u=t.cssClass,g=t.backgroundColor,f=t.borderWidth,p=t.strokeDashArray,x=t.radius,b=t.borderColor,m=t.paddingLeft,v=void 0===m?4:m,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=i,z=L.w,P=z.globals.dom.baseEl.querySelector(l),E=this.graphics.drawText({x:s,y:a,text:n,textAnchor:r||"start",fontSize:c||"12px",fontFamily:d||z.config.chart.fontFamily,foreColor:h||z.config.chart.foreColor,cssClass:u});P.appendChild(E.node);var M=E.bbox();if(n){var T=this.graphics.drawRect(M.x-v,M.y-C,M.width+v+w,M.height+A+C,x,g,1,f,b,p);E.before(T)}return e&&z.globals.memory.methodsToExec.push({context:L,method:L.addText,params:{x:s,y:a,text:n,textAnchor:r,appendTo:l,foreColor:h,fontSize:c,cssClass:u,backgroundColor:g,borderWidth:f,strokeDashArray:p,radius:x,borderColor:b,paddingLeft:v,paddingRight:w,paddingBottom:A,paddingTop:C}}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,s=t.context,a=t.type,n=t.contextMethod,r=s,o=r.w,l=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(a,"-annotations")),h=l.childNodes.length+1,c=new p,d=Object.assign({},"xaxis"===a?c.xAxisAnnotation:"yaxis"===a?c.yAxisAnnotation:c.pointAnnotation),u=lt.extend(d,e);switch(a){case"xaxis":this.addXaxisAnnotation(u,l,h);break;case"yaxis":this.addYaxisAnnotation(u,l,h);break;case"point":this.addPointAnnotation(u,l,h)}var g=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(a,"-annotations .apexcharts-").concat(a,"-annotation-label[rel='").concat(h,"']")),f=this.addBackgroundToAnno(g,u);return f&&l.insertBefore(f.node,g),i&&o.globals.memory.methodsToExec.push({context:r,method:n,params:e}),s}}]),Mt),k=(t(Et,[{key:"isValidDate",value:function(t){return!isNaN(this.parseDate(t))}},{key:"getUTCTimeStamp",value:function(t){return Date.parse(t)?new Date(new Date(t).toISOString().substr(0,25)).getTime():t}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getUTCTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return this.getUTCTimeStamp(i)}},{key:"treatAsUtc",value:function(t){var e=new Date(t);return e.setMinutes(e.getMinutes()-e.getTimezoneOffset()),e}},{key:"formatDate",value:function(t,e){var i=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],s=!(3<arguments.length&&void 0!==arguments[3])||arguments[3],a=this.w.globals.locale,n=["\0"].concat(S(a.months)),r=[""].concat(S(a.shortMonths)),o=[""].concat(S(a.days)),l=[""].concat(S(a.shortDays));function h(t,e){var i=t+"";for(e=e||2;i.length<e;)i="0"+i;return i}s&&(t=this.treatAsUtc(t));var c=i?t.getUTCFullYear():t.getFullYear();e=(e=(e=e.replace(/(^|[^\\])yyyy+/g,"$1"+c)).replace(/(^|[^\\])yy/g,"$1"+c.toString().substr(2,2))).replace(/(^|[^\\])y/g,"$1"+c);var d=(i?t.getUTCMonth():t.getMonth())+1;e=(e=(e=(e=e.replace(/(^|[^\\])MMMM+/g,"$1"+n[0])).replace(/(^|[^\\])MMM/g,"$1"+r[0])).replace(/(^|[^\\])MM/g,"$1"+h(d))).replace(/(^|[^\\])M/g,"$1"+d);var u=i?t.getUTCDate():t.getDate();e=(e=(e=(e=e.replace(/(^|[^\\])dddd+/g,"$1"+o[0])).replace(/(^|[^\\])ddd/g,"$1"+l[0])).replace(/(^|[^\\])dd/g,"$1"+h(u))).replace(/(^|[^\\])d/g,"$1"+u);var g=i?t.getUTCHours():t.getHours(),f=12<g?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+h(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+h(f))).replace(/(^|[^\\])h/g,"$1"+f);var p=i?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+h(p))).replace(/(^|[^\\])m/g,"$1"+p);var x=i?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+h(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=i?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+h(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+h(b)),b=Math.round(b/10);var m=g<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+m)).replace(/(^|[^\\])T/g,"$1"+m.charAt(0));var v=m.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+v)).replace(/(^|[^\\])t/g,"$1"+v.charAt(0));var y=-t.getTimezoneOffset(),w=i||!y?"Z":0<y?"+":"-";if(!i){var k=(y=Math.abs(y))%60;w+=h(Math.floor(y/60))+":"+h(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(i?t.getUTCDay():t.getDay())+1;return(e=(e=(e=(e=e.replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(l[0],"g"),l[A])).replace(new RegExp(n[0],"g"),n[d])).replace(new RegExp(r[0],"g"),r[d])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e){var i=this.w;void 0!==i.config.xaxis.min&&(t=i.config.xaxis.min),void 0!==i.config.xaxis.max&&(e=i.config.xaxis.max);var s=new Date(t).getFullYear(),a=new Date(e).getFullYear(),n=new Date(t).getMonth(),r=new Date(e).getMonth(),o=new Date(t).getDate(),l=new Date(e).getDate(),h=new Date(t).getHours(),c=new Date(e).getHours();return{minMinute:new Date(t).getMinutes(),maxMinute:new Date(e).getMinutes(),minHour:h,maxHour:c,minDate:o,maxDate:l,minMonth:n,maxMonth:r,minYear:s,maxYear:a}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var s=this.daysCntOfYear[e]+i;return 1<e&&this.isLeapYear()&&s++,s}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=lt.monthMod(t),!0){case-1<this.months30.indexOf(t):2===t&&(i=this.isLeapYear(e)?29:28);break;case-1<this.months31.indexOf(t):default:i=31}return i}}]),Et),f=(t(Pt,[{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){return this.opts.yaxis[0].labels.show=!1,this.opts.yaxis[0].floating=!0,lt.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]}},stroke:{width:0},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1},xaxis:{tooltip:{enabled:!1},crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"candlestick",value:function(){return{stroke:{width:1,colors:["#333"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var e=t.seriesIndex,i=t.dataPointIndex,s=t.w;return'<div class="apexcharts-tooltip-candlestick"><div>Open: <span class="value">'+s.globals.seriesCandleO[e][i]+'</span></div><div>High: <span class="value">'+s.globals.seriesCandleH[e][i]+'</span></div><div>Low: <span class="value">'+s.globals.seriesCandleL[e][i]+'</span></div><div>Close: <span class="value">'+s.globals.seriesCandleC[e][i]+"</span></div></div>"}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{stroke:{width:0},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,s=e.dataPointIndex,a=e.w,n=a.globals.seriesRangeStart[i][s];return a.globals.seriesRangeEnd[i][s]-n},style:{colors:["#fff"]}},tooltip:{shared:!1,followCursor:!0,custom:function(t){var e=t.ctx,i=t.seriesIndex,s=t.dataPointIndex,a=t.w,n=a.globals.seriesRangeStart[i][s],r=a.globals.seriesRangeEnd[i][s],o="",l="",h=a.globals.colors[i];if(void 0===a.config.tooltip.x.formatter)if("datetime"===a.config.xaxis.type){var c=new k(e);o=c.formatDate(new Date(n),a.config.tooltip.x.format,!0,!0),l=c.formatDate(new Date(r),a.config.tooltip.x.format,!0,!0)}else o=n,l=r;else o=a.config.tooltip.x.formatter(n),l=a.config.tooltip.x.formatter(r);var d=a.globals.labels[s];return'<div class="apexcharts-tooltip-rangebar"><div> <span class="series-name" style="color: '+h+'">'+(a.config.series[i].name?a.config.series[i].name:"")+'</span></div><div> <span class="category">'+d+': </span> <span class="value start-value">'+o+'</span> <span class="separator">-</span> <span class="value end-value">'+l+"</span></div></div>"}},xaxis:{tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"area",value:function(){return{stroke:{width:4},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"brush",value:function(t){return lt.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(){var i=this;this.opts.dataLabels=this.opts.dataLabels||{},this.opts.dataLabels.formatter=this.opts.dataLabels.formatter||void 0;var t=this.opts.dataLabels.formatter;this.opts.yaxis.forEach(function(t,e){i.opts.yaxis[e].min=0,i.opts.yaxis[e].max=100}),"bar"===this.opts.chart.type&&(this.opts.dataLabels.formatter=t||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t})}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:2,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1,zoom:{enabled:!1}},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"dark",shadeIntensity:.35,inverseColors:!1,stops:[0,100,100]}},padding:{right:0,left:0},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"vertical",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},padding:{right:0,left:0},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.style.fontSize="13px",{dataLabels:{enabled:!0,style:{colors:["#a8a8a8"],fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!(this.opts.yaxis[0].labels.offsetY=6),intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},padding:{right:0,left:0},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}}],[{key:"convertCatToNumeric",value:function(t){t.xaxis.type="numeric",t.xaxis.convertedCatToNumeric=!0,t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return t},t.chart=t.chart||{},t.chart.zoom=t.chart.zoom||window.Apex.chart&&window.Apex.chart.zoom||{};var e=t.xaxis.labels.formatter,i=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(t.xaxis.labels.formatter=function(t){return e(i[t-1])}),t.xaxis.categories=[],t.labels=[],t.chart.zoom.enabled=t.chart.zoom.enabled||!1,t}}]),Pt),ct=(t(zt,[{key:"getStackedSeriesTotals",value:function(){var t=this.w,e=[];if(0===t.globals.series.length)return e;for(var i=0;i<t.globals.series[t.globals.maxValsInArrayIndex].length;i++){for(var s=0,a=0;a<t.globals.series.length;a++)s+=t.globals.series[a][i];e.push(s)}return t.globals.stackedSeriesTotals=e}},{key:"getSeriesTotalByIndex",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce(function(t,e){return t+e},0):this.w.globals.series[t].reduce(function(t,e){return t+e},0)}},{key:"isSeriesNull",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter(function(t){return null!==t}):this.w.globals.series[t].filter(function(t){return null!==t})).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every(function(t,e,i){return t===i[0]})}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map(function(t){return t.length}).indexOf(Math.max.apply(Math,t.globals.series.map(function(t){return t.length})))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach(function(t){e=Math.max(e,t)}),t.globals.markers.largestSize=e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map(function(t,e){var i=0;if(Array.isArray(t))for(var s=0;s<t.length;s++)i+=t[s];else i+=t;return i})}},{key:"getSeriesTotalsXRange",value:function(a,n){var r=this.w;return r.globals.series.map(function(t,e){for(var i=0,s=0;s<t.length;s++)r.globals.seriesX[e][s]>a&&r.globals.seriesX[e][s]<n&&(i+=t[s]);return i})}},{key:"getPercentSeries",value:function(){var o=this.w;o.globals.seriesPercent=o.globals.series.map(function(t,e){var i=[];if(Array.isArray(t))for(var s=0;s<t.length;s++){var a=o.globals.stackedSeriesTotals[s],n=0;a&&(n=100*t[s]/a),i.push(n)}else{var r=100*t/o.globals.seriesTotals.reduce(function(t,e){return t+e},0);i.push(r)}return i})}},{key:"getCalculatedRatios",value:function(){var t,e,i,s,a,n=this.w.globals,r=[],o=[],l=.1,h=0;if(n.yRange=[],n.isMultipleYAxis)for(var c=0;c<n.minYArr.length;c++)n.yRange.push(Math.abs(n.minYArr[c]-n.maxYArr[c])),o.push(0);else n.yRange.push(Math.abs(n.minY-n.maxY));n.xRange=Math.abs(n.maxX-n.minX),n.zRange=Math.abs(n.maxZ-n.minZ);for(var d=0;d<n.yRange.length;d++)r.push(n.yRange[d]/n.gridHeight);if(e=n.xRange/n.gridWidth,i=Math.abs(n.initialmaxX-n.initialminX)/n.gridWidth,t=n.yRange/n.gridWidth,s=n.xRange/n.gridHeight,a=n.zRange/n.gridHeight*16,n.minY!==Number.MIN_VALUE&&0!==Math.abs(n.minY)&&(n.hasNegs=!0),n.isMultipleYAxis){o=[];for(var u=0;u<r.length;u++)o.push(-n.minYArr[u]/r[u])}else o.push(-n.minY/r[0]),n.minY!==Number.MIN_VALUE&&0!==Math.abs(n.minY)&&(l=-n.minY/t,h=n.minX/e);return{yRatio:r,invertedYRatio:t,zRatio:a,xRatio:e,initialXRatio:i,invertedXRatio:s,baseLineInvertedY:l,baseLineY:o,baseLineX:h}}},{key:"getLogSeries",value:function(t){var i=this.w;return i.globals.seriesLog=t.map(function(t,e){return i.config.yaxis[e]&&i.config.yaxis[e].logarithmic?t.map(function(t){return null===t?null:(Math.log(t)-Math.log(i.globals.minYArr[e]))/(Math.log(i.globals.maxYArr[e])-Math.log(i.globals.minYArr[e]))}):t}),i.globals.seriesLog}},{key:"getLogYRatios",value:function(t){var n=this,r=this.w,o=this.w.globals;return o.yLogRatio=t.slice(),o.logYRange=o.yRange.map(function(t,e){if(r.config.yaxis[e]&&n.w.config.yaxis[e].logarithmic){var i,s=-Number.MAX_VALUE,a=Number.MIN_VALUE;return o.seriesLog.forEach(function(t,e){t.forEach(function(t){r.config.yaxis[e]&&r.config.yaxis[e].logarithmic&&(s=Math.max(t,s),a=Math.min(t,a))})}),i=Math.pow(o.yRange[e],Math.abs(a-s)/o.yRange[e]),o.yLogRatio[e]=i/o.gridHeight,i}}),o.yLogRatio}}],[{key:"checkComboSeries",value:function(t){var e=!1,i=!1;return t.length&&void 0!==t[0].type&&(e=!0,t.forEach(function(t){"bar"!==t.type&&"column"!==t.type||(i=!0)})),{comboCharts:e,comboChartsHasBars:i}}},{key:"extendArrayProps",value:function(t,e){return e.yaxis&&(e=t.extendYAxis(e)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),zt),x=(t(Lt,[{key:"init",value:function(){var t=this.opts,e=new p,i=new f(t);this.chartType=t.chart.type,"histogram"===this.chartType&&(t.chart.type="bar",t=lt.extend({plotOptions:{bar:{columnWidth:"99.99%"}}},t)),t=this.extendYAxis(t),t=this.extendAnnotations(t);var s=e.init(),a={};if(t&&"object"===w(t)){var n={};switch(this.chartType){case"line":n=i.line();break;case"area":n=i.area();break;case"bar":n=i.bar();break;case"candlestick":n=i.candlestick();break;case"rangeBar":n=i.rangeBar();break;case"histogram":n=i.bar();break;case"bubble":n=i.bubble();break;case"scatter":n=i.scatter();break;case"heatmap":n=i.heatmap();break;case"pie":n=i.pie();break;case"donut":n=i.donut();break;case"radar":n=i.radar();break;case"radialBar":n=i.radialBar();break;default:n=i.line()}t.chart.brush&&t.chart.brush.enabled&&(n=i.brush(n)),t.chart.stacked&&"100%"===t.chart.stackType&&i.stacked100(),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(t),t.xaxis=t.xaxis||window.Apex.xaxis||{};var r=ct.checkComboSeries(t.series);"line"!==t.chart.type&&"area"!==t.chart.type&&"scatter"!==t.chart.type||r.comboChartsHasBars||"datetime"===t.xaxis.type||"numeric"===t.xaxis.type||"between"===t.xaxis.tickPlacement||(t=f.convertCatToNumeric(t)),(t.chart.sparkline&&t.chart.sparkline.enabled||window.Apex.chart&&window.Apex.chart.sparkline&&window.Apex.chart.sparkline.enabled)&&(n=i.sparkline(n)),a=lt.extend(s,n)}var o=lt.extend(a,window.Apex);return s=lt.extend(o,t),this.handleUserInputErrors(s)}},{key:"extendYAxis",value:function(t){var e=new p;return void 0===t.yaxis&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=lt.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[lt.extend(e.yAxis,t.yaxis)]:t.yaxis=lt.extendArray(t.yaxis,e.yAxis),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new p;return t.annotations.yaxis=lt.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new p;return t.annotations.xaxis=lt.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new p;return t.annotations.points=lt.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if(e.chart.scroller&&console.warn("Scroller has been deprecated since v2.0.0. Please remove the configuration for chart.scroller"),("bar"===e.chart.type||"rangeBar"===e.chart.type)&&e.plotOptions.bar.horizontal){if(1<e.yaxis.length)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&("barWidth"===e.xaxis.crosshairs.width&&1<e.series.length&&(console.warn('crosshairs.width = "barWidth" is only supported in single series, not in a multi-series barChart.'),e.xaxis.crosshairs.width="tickWidth"),e.plotOptions.bar.horizontal&&(e.states.hover.type="none",e.tooltip.shared=!1),e.tooltip.followCursor||(console.warn("followCursor option in shared columns cannot be turned off. Please set %ctooltip.followCursor: true","color: blue;"),e.tooltip.followCursor=!0)),"candlestick"===e.chart.type&&e.yaxis[0].reversed&&(console.warn("Reversed y-axis in candlestick chart is not supported."),e.yaxis[0].reversed=!1),e.chart.group&&0===e.yaxis[0].labels.minWidth&&console.warn("It looks like you have multiple charts in synchronization. You must provide yaxis.labels.minWidth which must be EQUAL for all grouped charts to prevent incorrect behaviour."),Array.isArray(e.stroke.width)&&"line"!==e.chart.type&&"area"!==e.chart.type&&(console.warn("stroke.width option accepts array only for line and area charts. Reverted back to Number"),e.stroke.width=e.stroke.width[0]),e}}]),Lt),b=(t(Ct,[{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,lastXAxis:[],lastYAxis:[],series:[],seriesRangeStart:[],seriesRangeEnd:[],seriesPercent:[],seriesTotals:[],stackedSeriesTotals:[],seriesX:[],seriesZ:[],labels:[],timelineLabels:[],invertedTimelineLabels:[],seriesNames:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,selectedDataPoints:[],ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],padHorizontal:0,maxValsInArrayIndex:0,radialSize:0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,minY:Number.MIN_VALUE,maxY:-Number.MAX_VALUE,minYArr:[],maxYArr:[],maxX:-Number.MAX_VALUE,initialmaxX:-Number.MAX_VALUE,minX:Number.MIN_VALUE,initialminX:Number.MIN_VALUE,minZ:Number.MIN_VALUE,maxZ:-Number.MAX_VALUE,minXDiff:Number.MAX_VALUE,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yRange:[],zRange:0,xRange:0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,delayedElements:[],axisCharts:!0,isXNumeric:!1,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,comboChartsHasBars:!1,dataChanged:!1,previousPaths:[],seriesXvalues:[],seriesYvalues:[],seriesCandleO:[],seriesCandleH:[],seriesCandleL:[],seriesCandleC:[],allSeriesHasEqualX:!0,dataPoints:0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,yAxisScale:[],xAxisScale:null,xAxisTicksPositions:[],timescaleTicks:[],rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yLabelsCoords:[],yTitleCoords:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,tooltipOpts:null}}},{key:"init",value:function(t){var e=this.globalVars(t);return e.initialConfig=lt.extend({},t),e.initialSeries=JSON.parse(JSON.stringify(e.initialConfig.series)),e.lastXAxis=JSON.parse(JSON.stringify(e.initialConfig.xaxis)),e.lastYAxis=JSON.parse(JSON.stringify(e.initialConfig.yaxis)),e}}]),Ct),m=(t(St,[{key:"init",value:function(){var t=new x(this.opts).init();return{config:t,globals:(new b).init(t)}}}]),St),dt=(t(At,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,s=parseInt(e.globals.gridWidth),a=parseInt(e.globals.gridHeight),n=a<s?s:a,r=t.image,o=0,l=0;l=void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(o=i.fill.image.width+1,i.fill.image.height):(o=n+1,n):(o=t.width,t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");ht.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:o+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS("http://www.w3.org/1999/xlink","href",r),ht.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:o+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w;return"bar"===e.config.chart.type&&e.config.plotOptions.bar.distributed||"heatmap"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,s,a,n=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var r=this.getFillColors()[this.seriesIndex];"function"==typeof r&&(r=r({seriesIndex:this.seriesIndex,value:t.value,w:e}));var o=this.getFillType(this.seriesIndex),l=Array.isArray(n.fill.opacity)?n.fill.opacity[this.seriesIndex]:n.fill.opacity,h=r;return t.color&&(r=t.color),-1===r.indexOf("rgb")?h=lt.hexToRgba(r,l):-1<r.indexOf("rgba")&&(l="0."+lt.getOpacityFromRGBA(r)),"pattern"===o&&(s=this.handlePatternFill(s,r,l,h)),"gradient"===o&&(a=this.handleGradientFill(a,r,l,this.seriesIndex)),i=0<n.fill.image.src.length&&"image"===o?t.seriesNumber<n.fill.image.src.length?(this.clippedImgArea({opacity:l,image:n.fill.image.src[t.seriesNumber],patternUnits:t.patternUnits,patternID:"pattern".concat(e.globals.cuid).concat(t.seriesNumber+1)}),"url(#pattern".concat(e.globals.cuid).concat(t.seriesNumber+1,")")):h:"gradient"===o?a:"pattern"===o?s:h,t.solid&&(i=h),i}},{key:"getFillType",value:function(t){var e=this.w;return Array.isArray(e.config.fill.type)?e.config.fill.type[t]:e.config.fill.type}},{key:"getFillColors",value:function(){var t=this.w,e=t.config,i=this.opts,s=[];return t.globals.comboCharts?"line"===t.config.series[this.seriesIndex].type?t.globals.stroke.colors instanceof Array?s=t.globals.stroke.colors:s.push(t.globals.stroke.colors):t.globals.fill.colors instanceof Array?s=t.globals.fill.colors:s.push(t.globals.fill.colors):"line"===e.chart.type?t.globals.stroke.colors instanceof Array?s=t.globals.stroke.colors:s.push(t.globals.stroke.colors):t.globals.fill.colors instanceof Array?s=t.globals.fill.colors:s.push(t.globals.fill.colors),void 0!==i.fillColors&&(s=[],i.fillColors instanceof Array?s=i.fillColors.slice():s.push(i.fillColors)),s}},{key:"handlePatternFill",value:function(t,e,i,s){var a=this.w.config,n=this.opts,r=new ht(this.ctx),o=void 0===a.fill.pattern.strokeWidth?Array.isArray(a.stroke.width)?a.stroke.width[this.seriesIndex]:a.stroke.width:Array.isArray(a.fill.pattern.strokeWidth)?a.fill.pattern.strokeWidth[this.seriesIndex]:a.fill.pattern.strokeWidth,l=e;return a.fill.pattern.style instanceof Array?void 0!==a.fill.pattern.style[n.seriesNumber]?r.drawPattern(a.fill.pattern.style[n.seriesNumber],a.fill.pattern.width,a.fill.pattern.height,l,o,i):s:r.drawPattern(a.fill.pattern.style,a.fill.pattern.width,a.fill.pattern.height,l,o,i)}},{key:"handleGradientFill",value:function(t,e,i,s){var a,n,r=this.w.config,o=this.opts,l=new ht(this.ctx),h=new lt,c=r.fill.gradient.type,d=void 0===r.fill.gradient.opacityFrom?i:Array.isArray(r.fill.gradient.opacityFrom)?r.fill.gradient.opacityFrom[s]:r.fill.gradient.opacityFrom,u=void 0===r.fill.gradient.opacityTo?i:Array.isArray(r.fill.gradient.opacityTo)?r.fill.gradient.opacityTo[s]:r.fill.gradient.opacityTo;if(a=e,n=void 0===r.fill.gradient.gradientToColors||0===r.fill.gradient.gradientToColors.length?"dark"===r.fill.gradient.shade?h.shadeColor(-1*parseFloat(r.fill.gradient.shadeIntensity),e):h.shadeColor(parseFloat(r.fill.gradient.shadeIntensity),e):r.fill.gradient.gradientToColors[o.seriesNumber],r.fill.gradient.inverseColors){var g=a;a=n,n=g}return l.drawGradient(c,a,n,d,u,o.size,r.fill.gradient.stops,r.fill.gradient.colorStops,s)}}]),At),ut=(t(kt,[{key:"setGlobalMarkerSize",value:function(){var e=this.w;if(e.globals.markers.size=Array.isArray(e.config.markers.size)?e.config.markers.size:[e.config.markers.size],0<e.globals.markers.size.length){if(e.globals.markers.size.length<e.globals.series.length+1)for(var t=0;t<=e.globals.series.length;t++)void 0===e.globals.markers.size[t]&&e.globals.markers.size.push(e.globals.markers.size[0])}else e.globals.markers.size=e.config.series.map(function(t){return e.config.markers.size})}},{key:"plotChartMarkers",value:function(t,e,i){var s,a=this.w,n=e,r=t,o=null,l=new ht(this.ctx);if(0<a.globals.markers.size[e]&&(o=l.group({class:"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),r.x instanceof Array)for(var h=0;h<r.x.length;h++){var c=i;1===i&&0===h&&(c=0),1===i&&1===h&&(c=1);var d="apexcharts-marker";if("line"!==a.config.chart.type&&"area"!==a.config.chart.type||a.globals.comboCharts||a.config.tooltip.intersect||(d+=" no-pointer-events"),Array.isArray(a.config.markers.size)?0<a.globals.markers.size[e]:0<a.config.markers.size){lt.isNumber(r.y[h])?d+=" w".concat((Math.random()+1).toString(36).substring(4)):d="apexcharts-nullpoint";var u=this.getMarkerConfig(d,e,c);a.config.series[n].data[i]&&(a.config.series[n].data[i].fillColor&&(u.pointFillColor=a.config.series[n].data[i].fillColor),a.config.series[n].data[i].strokeColor&&(u.pointStrokeColor=a.config.series[n].data[i].strokeColor)),(s=l.drawMarker(r.x[h],r.y[h],u)).attr("rel",c),s.attr("j",c),s.attr("index",e),s.node.setAttribute("default-marker-size",u.pSize),new T(this.ctx).setSelectionFilter(s,e,c),this.addEvents(s),o&&o.add(s)}else void 0===a.globals.pointsArray[e]&&(a.globals.pointsArray[e]=[]),a.globals.pointsArray[e].push([r.x[h],r.y[h]])}return o}},{key:"getMarkerConfig",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,s=this.w,a=this.getMarkerStyle(e),n=s.globals.markers.size[e];return null!==i&&s.config.markers.discrete.length&&s.config.markers.discrete.map(function(t){t.seriesIndex===e&&t.dataPointIndex===i&&(a.pointStrokeColor=t.strokeColor,a.pointFillColor=t.fillColor,n=t.size)}),{pSize:n,pRadius:s.config.markers.radius,pWidth:s.config.markers.strokeWidth,pointStrokeColor:a.pointStrokeColor,pointFillColor:a.pointFillColor,shape:s.config.markers.shape instanceof Array?s.config.markers.shape[e]:s.config.markers.shape,class:t,pointStrokeOpacity:s.config.markers.strokeOpacity,pointFillOpacity:s.config.markers.fillOpacity,seriesIndex:e}}},{key:"addEvents",value:function(t){var e=this.w,i=new ht(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,s=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:s instanceof Array?s[t]:s,pointFillColor:i instanceof Array?i[t]:i}}}]),kt),v=(t(wt,[{key:"draw",value:function(t,e,i){var s=this.w,a=new ht(this.ctx),n=i.realIndex,r=i.pointsPos,o=i.zRatio,l=i.elParent,h=a.group({class:"apexcharts-series-markers apexcharts-series-".concat(s.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(s.globals.cuid,")")),r.x instanceof Array)for(var c=0;c<r.x.length;c++){var d=e+1,u=!0;0===e&&0===c&&(d=0),0===e&&1===c&&(d=1);var g=0,f=s.globals.markers.size[n];o!==1/0&&(f=s.globals.seriesZ[n][d]/o,void 0===this.radiusSizes[n]&&this.radiusSizes.push([]),this.radiusSizes[n].push(f)),s.config.chart.animations.enabled||(g=f);var p=r.x[c],x=r.y[c];if(g=g||0,(0===p&&0===x||null===x||void 0===s.globals.series[n][d])&&(u=!1),u){var b=this.drawPoint(p,x,g,f,n,d,e);h.add(b)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,s,a,n,r){var o=this.w,l=a,h=new X(this.ctx),c=new T(this.ctx),d=new dt(this.ctx),u=new ut(this.ctx),g=new ht(this.ctx),f=u.getMarkerConfig("apexcharts-marker",l),p=d.fillPath({seriesNumber:a,patternUnits:"objectBoundingBox",value:o.globals.series[a][r]}),x=g.drawCircle(i);if(o.config.series[l].data[n]&&o.config.series[l].data[n].fillColor&&(p=o.config.series[l].data[n].fillColor),x.attr({cx:t,cy:e,fill:p,stroke:f.pointStrokeColor,strokeWidth:f.pWidth}),o.config.chart.dropShadow.enabled){var b=o.config.chart.dropShadow;c.dropShadow(x,b,a)}if(this.initialAnim&&!o.globals.dataChanged){var m=1;o.globals.resized||(m=o.config.chart.animations.speed),h.animateCircleRadius(x,0,s,m,o.globals.easing)}if(o.globals.dataChanged)if(this.dynamicAnim){var v,y,w,k,A=o.config.chart.animations.dynamicAnimation.speed;null!=(k=o.globals.previousPaths[a]&&o.globals.previousPaths[a][r])&&(v=k.x,y=k.y,w=void 0!==k.r?k.r:s);for(var S=0;S<o.globals.collapsedSeries.length;S++)o.globals.collapsedSeries[S].index===a&&(A=1,s=0);0===t&&0===e&&(s=0),h.animateCircle(x,{cx:v,cy:y,r:w},{cx:t,cy:e,r:s},A,o.globals.easing)}else x.attr({r:s});return x.attr({rel:n,j:n,index:a,"default-marker-size":s}),c.setSelectionFilter(x,a,n),u.addEvents(x),x.node.classList.add("apexcharts-marker"),x}},{key:"centerTextInBubble",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize)/4}}}]),wt),gt=(t(yt,[{key:"dataLabelsCorrection",value:function(t,e,i,s,a,n,r){var o=this.w,l=!1,h=new ht(this.ctx).getTextRects(i,r),c=h.width,d=h.height;void 0===o.globals.dataLabelsRects[s]&&(o.globals.dataLabelsRects[s]=[]),o.globals.dataLabelsRects[s].push({x:t,y:e,width:c,height:d});var u=o.globals.dataLabelsRects[s].length-2,g=void 0!==o.globals.lastDrawnDataLabelsIndexes[s]?o.globals.lastDrawnDataLabelsIndexes[s][o.globals.lastDrawnDataLabelsIndexes[s].length-1]:0;if(void 0!==o.globals.dataLabelsRects[s][u]){var f=o.globals.dataLabelsRects[s][g];(t>f.x+f.width+2||e>f.y+f.height+2||t+c<f.x)&&(l=!0)}return 0!==a&&!n||(l=!0),{x:t,y:e,textRects:h,drawnextLabel:l}}},{key:"drawDataLabel",value:function(t,e,i){var s=4<arguments.length&&void 0!==arguments[4]?arguments[4]:"top",a=this.w,n=new ht(this.ctx),r=a.config.dataLabels,o=0,l=0,h=i,c=null;if(!r.enabled||t.x instanceof Array!=1)return c;c=n.group({class:"apexcharts-data-labels"});for(var d=0;d<t.x.length;d++)if(o=t.x[d]+r.offsetX,l=t.y[d]+r.offsetY-a.globals.markers.size[e]-5,"bottom"===s&&(l=l+2*a.globals.markers.size[e]+1.4*parseInt(r.style.fontSize)),!isNaN(o)){1===i&&0===d&&(h=0),1===i&&1===d&&(h=1);var u=a.globals.series[e][h],g="";"bubble"===a.config.chart.type?(g=a.globals.seriesZ[e][h],l=t.y[d]+a.config.dataLabels.offsetY,l=new v(this.ctx).centerTextInBubble(l,e,h).y):void 0!==u&&(g=a.config.dataLabels.formatter(u,{ctx:this.ctx,seriesIndex:e,dataPointIndex:h,w:a})),this.plotDataLabelsText({x:o,y:l,text:g,i:e,j:h,parent:c,offsetCorrection:!0,dataLabelsConfig:a.config.dataLabels})}return c}},{key:"plotDataLabelsText",value:function(t){var e=this.w,i=new ht(this.ctx),s=t.x,a=t.y,n=t.i,r=t.j,o=t.text,l=t.textAnchor,h=t.parent,c=t.dataLabelsConfig,d=t.alwaysDrawDataLabel,u=t.offsetCorrection;if(!(Array.isArray(e.config.dataLabels.enabledOnSeries)&&-1<e.config.dataLabels.enabledOnSeries.indexOf(n))){var g={x:s,y:a,drawnextLabel:!0};if(u&&(g=this.dataLabelsCorrection(s,a,o,n,r,d,parseInt(c.style.fontSize))),e.globals.zoomed||(s=g.x,a=g.y),g.textRects&&(s+g.textRects.width<10||s>e.globals.gridWidth+10)&&(o=""),g.drawnextLabel){var f=i.drawText({width:100,height:parseInt(c.style.fontSize),x:s,y:a,foreColor:e.globals.dataLabels.style.colors[n],textAnchor:l||c.textAnchor,text:o,fontSize:c.style.fontSize,fontFamily:c.style.fontFamily});if(f.attr({class:"apexcharts-datalabel",cx:s,cy:a}),c.dropShadow.enabled){var p=c.dropShadow;new T(this.ctx).dropShadow(f,p)}h.add(f),void 0===e.globals.lastDrawnDataLabelsIndexes[n]&&(e.globals.lastDrawnDataLabelsIndexes[n]=[]),e.globals.lastDrawnDataLabelsIndexes[n].push(r)}}}}]),yt),P=(t(vt,[{key:"draw",value:function(t,e){var i=this.w,s=new ht(this.ctx),a=new ct(this.ctx,i);t=a.getLogSeries(t),this.series=t,this.yRatio=a.getLogYRatios(this.yRatio),this.initVariables(t);var n=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>i.config.plotOptions.bar.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.");for(var r=0,o=0;r<t.length;r++,o++){var l,h,c,d,u=void 0,g=void 0,f=void 0,p=void 0,x=[],b=[],m=i.globals.comboCharts?e[r]:r,v=s.group({class:"apexcharts-series",rel:r+1,seriesName:lt.escapeString(i.globals.seriesNames[m]),"data:realIndex":m});this.ctx.series.addCollapsedClassToSeries(v,m),0<t[r].length&&(this.visibleI=this.visibleI+1);var y=0,w=0,k=0;1<this.yRatio.length&&(this.yaxisIndex=m),this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var A=this.initialPositions();p=A.y,w=A.barHeight,h=A.yDivision,d=A.zeroW,f=A.x,k=A.barWidth,l=A.xDivision,c=A.zeroH,this.horizontal||b.push(f+k/2);var S=s.group({class:"apexcharts-datalabels"}),C=0;for(i.globals.dataPoints;C<i.globals.dataPoints;C++){void 0===this.series[r][C]||null===t[r][C]?this.isNullValue=!0:this.isNullValue=!1,i.config.stroke.show&&(y=this.isNullValue?0:Array.isArray(this.strokeWidth)?this.strokeWidth[m]:this.strokeWidth);var L=null;this.isHorizontal?(L=this.drawBarPaths({indexes:{i:r,j:C,realIndex:m,bc:o},barHeight:w,strokeWidth:y,pathTo:u,pathFrom:g,zeroW:d,x:f,y:p,yDivision:h,elSeries:v}),k=this.series[r][C]/this.invertedYRatio):(L=this.drawColumnPaths({indexes:{i:r,j:C,realIndex:m,bc:o},x:f,y:p,xDivision:l,pathTo:u,pathFrom:g,barWidth:k,zeroH:c,strokeWidth:y,elSeries:v}),w=this.series[r][C]/this.yRatio[this.yaxisIndex]),u=L.pathTo,g=L.pathFrom,p=L.y,f=L.x,0<C&&b.push(f+k/2),x.push(p);var z=this.getPathFillColor(t,r,C,m);v=this.renderSeries({realIndex:m,pathFill:z,j:C,i:r,pathFrom:g,pathTo:u,strokeWidth:y,elSeries:v,x:f,y:p,series:t,barHeight:w,barWidth:k,elDataLabelsWrap:S,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[m]=b,i.globals.seriesYvalues[m]=x,n.add(v)}return n}},{key:"getPathFillColor",value:function(e,i,s,t){var a=this.w,n=new dt(this.ctx),r=null,o=this.barOptions.distributed?s:i;return 0<this.barOptions.colors.ranges.length&&this.barOptions.colors.ranges.map(function(t){e[i][s]>=t.from&&e[i][s]<=t.to&&(r=t.color)}),a.config.series[i].data[s]&&a.config.series[i].data[s].fillColor&&(r=a.config.series[i].data[s].fillColor),n.fillPath({seriesNumber:this.barOptions.distributed?o:t,color:r,value:e[i][s]})}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,s=t.lineFill,a=t.j,n=t.i,r=t.pathFrom,o=t.pathTo,l=t.strokeWidth,h=t.elSeries,c=t.x,d=t.y,u=t.series,g=t.barHeight,f=t.barWidth,p=t.elDataLabelsWrap,x=t.visibleSeries,b=t.type,m=this.w,v=new ht(this.ctx);s=s||(this.barOptions.distributed?m.globals.stroke.colors[a]:m.globals.stroke.colors[e]),m.config.series[n].data[a]&&m.config.series[n].data[a].strokeColor&&(s=m.config.series[n].data[a].strokeColor),this.isNullValue&&(i="none");var y=a/m.config.chart.animations.animateGradually.delay*(m.config.chart.animations.speed/m.globals.dataPoints)/2.4,w=v.renderPaths({i:n,j:a,realIndex:e,pathFrom:r,pathTo:o,stroke:s,strokeWidth:l,strokeLineCap:m.config.stroke.lineCap,fill:i,animationDelay:y,initialSpeed:m.config.chart.animations.speed,dataChangeSpeed:m.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(b,"-area")});w.attr("clip-path","url(#gridRectMask".concat(m.globals.cuid,")")),new T(this.ctx).setSelectionFilter(w,e,a),h.add(w);var k=this.calculateDataLabelsPos({x:c,y:d,i:n,j:a,series:u,realIndex:e,barHeight:g,barWidth:f,renderedPath:w,visibleSeries:x});return null!==k&&p.add(k),h.add(p),h}},{key:"initVariables",value:function(t){var e=this.w;this.series=t,this.totalItems=0,this.seriesLen=0,this.visibleI=-1,this.visibleItems=1;for(var i=0;i<t.length;i++)if(0<t[i].length&&(this.seriesLen=this.seriesLen+1,this.totalItems+=t[i].length),e.globals.isXNumeric)for(var s=0;s<t[i].length;s++)e.globals.seriesX[i][s]>e.globals.minX&&e.globals.seriesX[i][s]<e.globals.maxX&&this.visibleItems++;else this.visibleItems=e.globals.dataPoints;0===this.seriesLen&&(this.seriesLen=1)}},{key:"initialPositions",value:function(){var t,e,i,s,a,n,r,o,l=this.w;return this.isHorizontal?(a=(i=l.globals.gridHeight/l.globals.dataPoints)/this.seriesLen,l.globals.isXNumeric&&(a=(i=l.globals.gridHeight/this.totalItems)/this.seriesLen),a=a*parseInt(this.barOptions.barHeight)/100,o=this.baseLineInvertedY+l.globals.padHorizontal+(this.isReversed?l.globals.gridWidth:0)-(this.isReversed?2*this.baseLineInvertedY:0),e=(i-a*this.seriesLen)/2):(n=(s=l.globals.gridWidth/this.visibleItems)/this.seriesLen*parseInt(this.barOptions.columnWidth)/100,l.globals.isXNumeric&&(n=(s=l.globals.minXDiff/this.xRatio)/this.seriesLen*parseInt(this.barOptions.columnWidth)/100),r=l.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?l.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=l.globals.padHorizontal+(s-n*this.seriesLen)/2),{x:t,y:e,yDivision:i,xDivision:s,barHeight:a,barWidth:n,zeroH:r,zeroW:o}}},{key:"drawBarPaths",value:function(t){var e=t.indexes,i=t.barHeight,s=t.strokeWidth,a=t.pathTo,n=t.pathFrom,r=t.zeroW,o=t.x,l=t.y,h=t.yDivision,c=t.elSeries,d=this.w,u=new ht(this.ctx),g=e.i,f=e.j,p=e.realIndex,x=e.bc;d.globals.isXNumeric&&(l=(d.globals.seriesX[g][f]-d.globals.minX)/this.invertedXRatio-i);var b=l+i*this.visibleI;a=u.move(r,b),n=u.move(r,b),0<d.globals.previousPaths.length&&(n=this.getPathFrom(p,f));var m={barHeight:i,strokeWidth:s,barYPosition:b,x:o=void 0===this.series[g][f]||null===this.series[g][f]?r:r+this.series[g][f]/this.invertedYRatio-2*(this.isReversed?this.series[g][f]/this.invertedYRatio:0),zeroW:r},v=this.barEndingShape(d,m,this.series,g,f);if(a=a+u.line(v.newX,b)+v.path+u.line(r,b+i-s)+u.line(r,b),n=n+u.line(r,b)+v.ending_p_from+u.line(r,b+i-s)+u.line(r,b+i-s)+u.line(r,b),d.globals.isXNumeric||(l+=h),0<this.barOptions.colors.backgroundBarColors.length&&0===g){x>=this.barOptions.colors.backgroundBarColors.length&&(x=0);var y=this.barOptions.colors.backgroundBarColors[x],w=u.drawRect(0,b-i*this.visibleI,d.globals.gridWidth,i*this.seriesLen,0,y,this.barOptions.colors.backgroundBarOpacity);c.add(w),w.node.classList.add("apexcharts-backgroundBar")}return{pathTo:a,pathFrom:n,x:o,y:l,barYPosition:b}}},{key:"drawColumnPaths",value:function(t){var e=t.indexes,i=t.x,s=t.y,a=t.xDivision,n=t.pathTo,r=t.pathFrom,o=t.barWidth,l=t.zeroH,h=t.strokeWidth,c=t.elSeries,d=this.w,u=new ht(this.ctx),g=e.i,f=e.j,p=e.realIndex,x=e.bc;d.globals.isXNumeric&&(i=(d.globals.seriesX[g][f]-d.globals.minX)/this.xRatio-o/2);var b=i+o*this.visibleI;n=u.move(b,l),r=u.move(b,l),0<d.globals.previousPaths.length&&(r=this.getPathFrom(p,f));var m={barWidth:o,strokeWidth:h,barXPosition:b,y:s=void 0===this.series[g][f]||null===this.series[g][f]?l:l-this.series[g][f]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[g][f]/this.yRatio[this.yaxisIndex]:0),zeroH:l},v=this.barEndingShape(d,m,this.series,g,f);if(n=n+u.line(b,v.newY)+v.path+u.line(b+o-h,l)+u.line(b-h/2,l),r=r+u.line(b,l)+v.ending_p_from+u.line(b+o-h,l)+u.line(b+o-h,l)+u.line(b-h/2,l),d.globals.isXNumeric||(i+=a),0<this.barOptions.colors.backgroundBarColors.length&&0===g){x>=this.barOptions.colors.backgroundBarColors.length&&(x=0);var y=this.barOptions.colors.backgroundBarColors[x],w=u.drawRect(b-o*this.visibleI,0,o*this.seriesLen,d.globals.gridHeight,0,y,this.barOptions.colors.backgroundBarOpacity);c.add(w),w.node.classList.add("apexcharts-backgroundBar")}return{pathTo:n,pathFrom:r,x:i,y:s,barXPosition:b}}},{key:"getPathFrom",value:function(t,e){for(var i,s=this.w,a=0;a<s.globals.previousPaths.length;a++){var n=s.globals.previousPaths[a];0<n.paths.length&&parseInt(n.realIndex)===parseInt(t)&&void 0!==s.globals.previousPaths[a].paths[e]&&(i=s.globals.previousPaths[a].paths[e].d)}return i}},{key:"calculateDataLabelsPos",value:function(t){var e=t.x,i=t.y,s=t.i,a=t.j,n=t.realIndex,r=t.series,o=t.barHeight,l=t.barWidth,h=t.visibleSeries,c=t.renderedPath,d=this.w,u=new ht(this.ctx),g=Array.isArray(this.strokeWidth)?this.strokeWidth[n]:this.strokeWidth,f=e+parseFloat(l*h),p=i+parseFloat(o*h);d.globals.isXNumeric&&!d.globals.isBarHorizontal&&(f=e+parseFloat(l*(h+1))-g,p=i+parseFloat(o*(h+1))-g);var x,b=e,m=i,v=d.config.dataLabels,y=this.barOptions.dataLabels,w=v.offsetX,k=v.offsetY,A={width:0,height:0};return d.config.dataLabels.enabled&&(A=u.getTextRects(d.globals.yLabelFormatters[0](d.globals.maxY),parseInt(v.style.fontSize))),x=this.isHorizontal?this.calculateBarsDataLabelsPosition({x:e,y:i,i:s,j:a,renderedPath:c,bcy:p,barHeight:o,barWidth:l,textRects:A,strokeWidth:g,dataLabelsX:b,dataLabelsY:m,barDataLabelsConfig:y,offX:w,offY:k}):this.calculateColumnsDataLabelsPosition({x:e,y:i,i:s,j:a,renderedPath:c,realIndex:n,bcx:f,bcy:p,barHeight:o,barWidth:l,textRects:A,strokeWidth:g,dataLabelsY:m,barDataLabelsConfig:y,offX:w,offY:k}),c.attr({cy:x.bcy,cx:x.bcx,j:a,val:r[s][a],barHeight:o,barWidth:l}),this.drawCalculatedDataLabels({x:x.dataLabelsX,y:x.dataLabelsY,val:r[s][a],i:n,j:a,barWidth:l,barHeight:o,textRects:A,dataLabelsConfig:v})}},{key:"calculateColumnsDataLabelsPosition",value:function(t){var e,i=this.w,s=t.i,a=t.j,n=t.y,r=t.bcx,o=t.barWidth,l=t.barHeight,h=t.textRects,c=t.dataLabelsY,d=t.barDataLabelsConfig,u=t.strokeWidth,g=t.offX,f=t.offY,p=i.globals.gridWidth/i.globals.dataPoints;r-=u/2,e=i.globals.isXNumeric?r-o/2+g:r-p+o/2+g;var x=this.series[s][a]<=0;switch(this.isReversed&&(n-=l),d.position){case"center":c=x?n+l/2+h.height/2+f:n+l/2+h.height/2-f;break;case"bottom":c=x?n+l+h.height+u+f:n+l-h.height/2+u-f;break;case"top":c=x?n-h.height/2-f:n+h.height+f}return i.config.chart.stacked||(c<0?c=0+u:c+h.height/3>i.globals.gridHeight&&(c=i.globals.gridHeight-u)),{bcx:r,bcy:n,dataLabelsX:e,dataLabelsY:c}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,s=t.i,a=t.j,n=t.bcy,r=t.barHeight,o=t.barWidth,l=t.textRects,h=t.dataLabelsX,c=t.strokeWidth,d=t.barDataLabelsConfig,u=t.offX,g=t.offY,f=n-e.globals.gridHeight/e.globals.dataPoints+r/2+l.height/2+g-3,p=this.series[s][a]<=0;switch(this.isReversed&&(i+=o),d.position){case"center":h=p?i-o/2-u:i-o/2+u;break;case"bottom":h=p?i-o-c-Math.round(l.width/2)-u:i-o+c+Math.round(l.width/2)+u;break;case"top":h=p?i-c+Math.round(l.width/2)-u:i-c-Math.round(l.width/2)+u}return e.config.chart.stacked||(h<0?h=h+l.width+c:h+l.width/2>e.globals.gridWidth&&(h=e.globals.gridWidth-l.width-c)),{bcx:i,bcy:n,dataLabelsX:h,dataLabelsY:f}}},{key:"drawCalculatedDataLabels",value:function(t){var e=t.x,i=t.y,s=t.val,a=t.i,n=t.j,r=t.textRects,o=t.barHeight,l=t.barWidth,h=t.dataLabelsConfig,c=this.w,d=new gt(this.ctx),u=new ht(this.ctx),g=h.formatter,f=null,p=-1<c.globals.collapsedSeriesIndices.indexOf(a);if(h.enabled&&!p){f=u.group({class:"apexcharts-data-labels"});var x="";void 0!==s&&(x=g(s,{seriesIndex:a,dataPointIndex:n,w:c})),0===s&&c.config.chart.stacked&&(x=""),c.config.chart.stacked&&this.barOptions.dataLabels.hideOverflowingLabels&&(this.isHorizontal?(0<(l=this.series[a][n]/this.yRatio[this.yaxisIndex])&&r.width/1.6>l||l<0&&r.width/1.6<l)&&(x=""):(o=this.series[a][n]/this.yRatio[this.yaxisIndex],r.height/1.6>o&&(x="")));var b=ot({},h);this.isHorizontal&&s<0&&("start"===h.textAnchor?b.textAnchor="end":"end"===h.textAnchor&&(b.textAnchor="start")),d.plotDataLabelsText({x:e,y:i,text:x,i:a,j:n,parent:f,dataLabelsConfig:b,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return f}},{key:"barEndingShape",value:function(t,e,i,s,a){var n=new ht(this.ctx);if(this.isHorizontal){var r=null,o=e.x;if(void 0!==i[s][a]||null!==i[s][a]){var l=i[s][a]<0,h=e.barHeight/2-e.strokeWidth;switch(l&&(h=-e.barHeight/2-e.strokeWidth),t.config.chart.stacked||"rounded"===this.barOptions.endingShape&&(o=e.x-h/2),this.barOptions.endingShape){case"flat":r=n.line(o,e.barYPosition+e.barHeight-e.strokeWidth);break;case"rounded":r=n.quadraticCurve(o+h,e.barYPosition+(e.barHeight-e.strokeWidth)/2,o,e.barYPosition+e.barHeight-e.strokeWidth)}}return{path:r,ending_p_from:"",newX:o}}var c=null,d=e.y;if(void 0!==i[s][a]||null!==i[s][a]){var u=i[s][a]<0,g=e.barWidth/2-e.strokeWidth;switch(u&&(g=-e.barWidth/2-e.strokeWidth),t.config.chart.stacked||"rounded"===this.barOptions.endingShape&&(d+=g/2),this.barOptions.endingShape){case"flat":c=n.line(e.barXPosition+e.barWidth-e.strokeWidth,d);break;case"rounded":c=n.quadraticCurve(e.barXPosition+(e.barWidth-e.strokeWidth)/2,d-g,e.barXPosition+e.barWidth-e.strokeWidth,d)}}return{path:c,ending_p_from:"",newY:d}}}]),vt),y=(e(mt,P),t(mt,[{key:"draw",value:function(t,e){var i=this.w;this.graphics=new ht(this.ctx),this.fill=new dt(this.ctx),this.bar=new P(this.ctx,this.xyRatios);var s=new ct(this.ctx,i);t=s.getLogSeries(t),this.yRatio=s.getLogYRatios(this.yRatio),this.initVariables(t),"100%"===i.config.chart.stackType&&(t=i.globals.seriesPercent.slice()),this.series=t,this.totalItems=0,this.prevY=[],this.prevX=[],this.prevYF=[],this.prevXF=[],this.prevYVal=[],this.prevXVal=[],this.xArrj=[],this.xArrjF=[],this.xArrjVal=[],this.yArrj=[],this.yArrjF=[],this.yArrjVal=[];for(var a=0;a<t.length;a++)0<t[a].length&&(this.totalItems+=t[a].length);for(var n=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),r=0,o=0,l=0,h=0;l<t.length;l++,h++){var c=void 0,d=void 0,u=void 0,g=void 0,f=void 0,p=void 0,x=[],b=[],m=i.globals.comboCharts?e[l]:l;1<this.yRatio.length&&(this.yaxisIndex=m),this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var v=this.graphics.group({class:"apexcharts-series",seriesName:lt.escapeString(i.globals.seriesNames[m]),rel:l+1,"data:realIndex":m}),y=this.graphics.group({class:"apexcharts-datalabels"}),w=0,k=0,A=0,S=this.initialPositions(r,o,u,g,f,p);o=S.y,k=S.barHeight,g=S.yDivision,p=S.zeroW,r=S.x,A=S.barWidth,u=S.xDivision,f=S.zeroH,this.yArrj=[],this.yArrjF=[],this.yArrjVal=[],this.xArrj=[],this.xArrjF=[],this.xArrjVal=[];for(var C=0;C<i.globals.dataPoints;C++){i.config.stroke.show&&(w=this.isNullValue?0:Array.isArray(this.strokeWidth)?this.strokeWidth[m]:this.strokeWidth);var L=null;this.isHorizontal?(L=this.drawBarPaths({indexes:{i:l,j:C,realIndex:m,bc:h},barHeight:k,strokeWidth:w,pathTo:c,pathFrom:d,zeroW:p,x:r,y:o,yDivision:g,elSeries:v}),A=this.series[l][C]/this.invertedYRatio):(L=this.drawColumnPaths({indexes:{i:l,j:C,realIndex:m,bc:h},x:r,y:o,xDivision:u,pathTo:c,pathFrom:d,barWidth:A,zeroH:f,strokeWidth:w,elSeries:v}),k=this.series[l][C]/this.yRatio[this.yaxisIndex]),c=L.pathTo,d=L.pathFrom,o=L.y,r=L.x,x.push(r),b.push(o);var z=this.bar.getPathFillColor(t,l,C,m);v=this.renderSeries({realIndex:m,pathFill:z,j:C,i:l,pathFrom:d,pathTo:c,strokeWidth:w,elSeries:v,x:r,y:o,series:t,barHeight:k,barWidth:A,elDataLabelsWrap:y,type:"bar",visibleSeries:0})}i.globals.seriesXvalues[m]=x,i.globals.seriesYvalues[m]=b,this.prevY.push(this.yArrj),this.prevYF.push(this.yArrjF),this.prevYVal.push(this.yArrjVal),this.prevX.push(this.xArrj),this.prevXF.push(this.xArrjF),this.prevXVal.push(this.xArrjVal),n.add(v)}return n}},{key:"initialPositions",value:function(t,e,i,s,a,n){var r,o,l=this.w;return this.isHorizontal?(r=(r=s=l.globals.gridHeight/l.globals.dataPoints)*parseInt(l.config.plotOptions.bar.barHeight)/100,n=this.baseLineInvertedY+l.globals.padHorizontal+(this.isReversed?l.globals.gridWidth:0)-(this.isReversed?2*this.baseLineInvertedY:0),e=(s-r)/2):(o=i=l.globals.gridWidth/l.globals.dataPoints,o=l.globals.isXNumeric?(i=l.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth)/100:o*parseInt(l.config.plotOptions.bar.columnWidth)/100,a=this.baseLineY[this.yaxisIndex]+(this.isReversed?l.globals.gridHeight:0)-(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=l.globals.padHorizontal+(i-o)/2),{x:t,y:e,yDivision:s,xDivision:i,barHeight:r,barWidth:o,zeroH:a,zeroW:n}}},{key:"drawBarPaths",value:function(t){for(var e,i=t.indexes,s=t.barHeight,a=t.strokeWidth,n=t.pathTo,r=t.pathFrom,o=t.zeroW,l=t.x,h=t.y,c=t.yDivision,d=t.elSeries,u=this.w,g=h,f=i.i,p=i.j,x=i.realIndex,b=i.bc,m=0,v=0;v<this.prevXF.length;v++)m+=this.prevXF[v][p];if(0<f){var y=o;this.prevXVal[f-1][p]<0?y=0<=this.series[f][p]?this.prevX[f-1][p]+m-2*(this.isReversed?m:0):this.prevX[f-1][p]:0<=this.prevXVal[f-1][p]&&(y=0<=this.series[f][p]?this.prevX[f-1][p]:this.prevX[f-1][p]-m+2*(this.isReversed?m:0)),e=y}else e=o;l=null===this.series[f][p]?e:e+this.series[f][p]/this.invertedYRatio-2*(this.isReversed?this.series[f][p]/this.invertedYRatio:0);var w={barHeight:s,strokeWidth:a,invertedYRatio:this.invertedYRatio,barYPosition:g,x:l},k=this.bar.barEndingShape(u,w,this.series,f,p);if(1<this.series.length&&f!==this.endingShapeOnSeriesNumber&&(k.path=this.graphics.line(k.newX,g+s-a)),this.xArrj.push(k.newX),this.xArrjF.push(Math.abs(e-k.newX)),this.xArrjVal.push(this.series[f][p]),n=this.graphics.move(e,g),r=this.graphics.move(e,g),0<u.globals.previousPaths.length&&(r=this.bar.getPathFrom(x,p,!1)),n=n+this.graphics.line(k.newX,g)+k.path+this.graphics.line(e,g+s-a)+this.graphics.line(e,g),r=r+this.graphics.line(e,g)+this.graphics.line(e,g+s-a)+this.graphics.line(e,g+s-a)+this.graphics.line(e,g+s-a)+this.graphics.line(e,g),0<u.config.plotOptions.bar.colors.backgroundBarColors.length&&0===f){b>=u.config.plotOptions.bar.colors.backgroundBarColors.length&&(b=0);var A=u.config.plotOptions.bar.colors.backgroundBarColors[b],S=this.graphics.drawRect(0,g,u.globals.gridWidth,s,0,A,u.config.plotOptions.bar.colors.backgroundBarOpacity);d.add(S),S.node.classList.add("apexcharts-backgroundBar")}return{pathTo:n,pathFrom:r,x:l,y:h+=c}}},{key:"drawColumnPaths",value:function(t){var e=t.indexes,i=t.x,s=t.y,a=t.xDivision,n=t.pathTo,r=t.pathFrom,o=t.barWidth,l=t.zeroH,h=t.strokeWidth,c=t.elSeries,d=this.w,u=e.i,g=e.j,f=e.realIndex,p=e.bc;if(d.globals.isXNumeric){var x=d.globals.seriesX[u][g];i=((x=x||0)-d.globals.minX)/this.xRatio-o/2}for(var b,m=i,v=0,y=0;y<this.prevYF.length;y++)v+=this.prevYF[y][g];if(0<u&&!d.globals.isXNumeric||0<u&&d.globals.isXNumeric&&d.globals.seriesX[u-1][g]===d.globals.seriesX[u][g]){var w=this.prevY[u-1][g];b=this.prevYVal[u-1][g]<0?0<=this.series[u][g]?w-v+2*(this.isReversed?v:0):w:0<=this.series[u][g]?w:w+v-2*(this.isReversed?v:0)}else b=d.globals.gridHeight-l;s=b-this.series[u][g]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[u][g]/this.yRatio[this.yaxisIndex]:0);var k={barWidth:o,strokeWidth:h,yRatio:this.yRatio[this.yaxisIndex],barXPosition:m,y:s},A=this.bar.barEndingShape(d,k,this.series,u,g);if(this.yArrj.push(A.newY),this.yArrjF.push(Math.abs(b-A.newY)),this.yArrjVal.push(this.series[u][g]),n=this.graphics.move(m,b),r=this.graphics.move(m,b),0<d.globals.previousPaths.length&&(r=this.bar.getPathFrom(f,g,!1)),n=n+this.graphics.line(m,A.newY)+A.path+this.graphics.line(m+o-h,b)+this.graphics.line(m-h/2,b),r=r+this.graphics.line(m,b)+this.graphics.line(m+o-h,b)+this.graphics.line(m+o-h,b)+this.graphics.line(m+o-h,b)+this.graphics.line(m-h/2,b),0<d.config.plotOptions.bar.colors.backgroundBarColors.length&&0===u){p>=d.config.plotOptions.bar.colors.backgroundBarColors.length&&(p=0);var S=d.config.plotOptions.bar.colors.backgroundBarColors[p],C=this.graphics.drawRect(m,0,o,d.globals.gridHeight,0,S,d.config.plotOptions.bar.colors.backgroundBarOpacity);c.add(C),C.node.classList.add("apexcharts-backgroundBar")}return i+=a,{pathTo:n,pathFrom:r,x:d.globals.isXNumeric?i-a:i,y:s}}},{key:"checkZeroSeries",value:function(t){for(var e=t.series,i=this.w,s=0;s<e.length;s++){for(var a=0,n=0;n<e[i.globals.maxValsInArrayIndex].length;n++)a+=e[s][n];0===a&&this.zeroSerieses.push(s)}for(var r=e.length-1;0<=r;r--)-1<this.zeroSerieses.indexOf(r)&&r===this.endingShapeOnSeriesNumber&&(this.endingShapeOnSeriesNumber-=1)}}]),mt),A=(e(bt,P),t(bt,[{key:"draw",value:function(t,e){var i=this.w,s=new ht(this.ctx),a=new dt(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick;var n=new ct(this.ctx,i);t=n.getLogSeries(t),this.series=t,this.yRatio=n.getLogYRatios(this.yRatio),this.initVariables(t);for(var r=s.group({class:"apexcharts-candlestick-series apexcharts-plot-series"}),o=0,l=0;o<t.length;o++,l++){var h,c,d=void 0,u=void 0,g=void 0,f=void 0,p=[],x=[],b=i.globals.comboCharts?e[o]:o,m=s.group({class:"apexcharts-series",seriesName:lt.escapeString(i.globals.seriesNames[b]),rel:o+1,"data:realIndex":b});0<t[o].length&&(this.visibleI=this.visibleI+1);var v,y,w=0;1<this.yRatio.length&&(this.yaxisIndex=b);var k=this.initialPositions();f=k.y,v=k.barHeight,g=k.x,y=k.barWidth,h=k.xDivision,c=k.zeroH,x.push(g+y/2);var A=s.group({class:"apexcharts-datalabels"}),S=0;for(i.globals.dataPoints;S<i.globals.dataPoints;S++){void 0===this.series[o][S]||null===t[o][S]?this.isNullValue=!0:this.isNullValue=!1,i.config.stroke.show&&(w=this.isNullValue?0:Array.isArray(this.strokeWidth)?this.strokeWidth[b]:this.strokeWidth);var C,L=this.drawCandleStickPaths({indexes:{i:o,j:S,realIndex:b,bc:l},x:g,y:f,xDivision:h,pathTo:d,pathFrom:u,barWidth:y,zeroH:c,strokeWidth:w,elSeries:m});d=L.pathTo,u=L.pathFrom,f=L.y,g=L.x,C=L.color,0<S&&x.push(g+y/2),p.push(f);var z=a.fillPath({seriesNumber:b,color:C,value:t[o][S]}),P=this.candlestickOptions.wick.useFillColor?C:void 0;m=this.renderSeries({realIndex:b,pathFill:z,lineFill:P,j:S,i:o,pathFrom:u,pathTo:d,strokeWidth:w,elSeries:m,x:g,y:f,series:t,barHeight:v,barWidth:y,elDataLabelsWrap:A,visibleSeries:this.visibleI,type:"candlestick"})}i.globals.seriesXvalues[b]=x,i.globals.seriesYvalues[b]=p,r.add(m)}return r}},{key:"drawCandleStickPaths",value:function(t){var e=t.indexes,i=t.x,s=(t.y,t.xDivision),a=t.pathTo,n=t.pathFrom,r=t.barWidth,o=t.zeroH,l=t.strokeWidth,h=this.w,c=new ht(this.ctx),d=e.i,u=e.j,g=!0,f=h.config.plotOptions.candlestick.colors.upward,p=h.config.plotOptions.candlestick.colors.downward,x=this.yRatio[this.yaxisIndex],b=e.realIndex,m=this.getOHLCValue(b,u),v=o,y=o;m.o>m.c&&(g=!1);var w=Math.min(m.o,m.c),k=Math.max(m.o,m.c);h.globals.isXNumeric&&(i=(h.globals.seriesX[d][u]-h.globals.minX)/this.xRatio-r/2);var A=i+r*this.visibleI;return void 0===this.series[d][u]||null===this.series[d][u]?w=o:(w=o-w/x,k=o-k/x,v=o-m.h/x,y=o-m.l/x),c.move(A,o),n=c.move(A,w),0<h.globals.previousPaths.length&&(n=this.getPathFrom(b,u,!0)),a=c.move(A,k)+c.line(A+r/2,k)+c.line(A+r/2,v)+c.line(A+r/2,k)+c.line(A+r,k)+c.line(A+r,w)+c.line(A+r/2,w)+c.line(A+r/2,y)+c.line(A+r/2,w)+c.line(A,w)+c.line(A,k-l/2),n+=c.move(A,w),h.globals.isXNumeric||(i+=s),{pathTo:a,pathFrom:n,x:i,y:k,barXPosition:A,color:g?f:p}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:i.globals.seriesCandleO[t][e],h:i.globals.seriesCandleH[t][e],l:i.globals.seriesCandleL[t][e],c:i.globals.seriesCandleC[t][e]}}}]),bt),C=(t(xt,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new ht(this.ctx),i=new T(this.ctx),s=t.config.xaxis.crosshairs.fill.gradient,a=t.config.xaxis.crosshairs.dropShadow,n=t.config.xaxis.crosshairs.fill.type,r=s.colorFrom,o=s.colorTo,l=s.opacityFrom,h=s.opacityTo,c=s.stops,d=a.enabled,u=a.left,g=a.top,f=a.blur,p=a.color,x=a.opacity,b=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===n&&(b=e.drawGradient("vertical",r,o,l,h,null,c,null));var m=e.drawRect();1===t.config.xaxis.crosshairs.width&&(m=e.drawLine()),m.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:t.globals.gridHeight,width:lt.isNumber(t.config.xaxis.crosshairs.width)?t.config.xaxis.crosshairs.width:0,height:t.globals.gridHeight,fill:b,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(m=i.dropShadow(m,{left:u,top:g,blur:f,color:p,opacity:x})),t.globals.dom.elGraphical.add(m)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new ht(this.ctx),i=t.config.yaxis[0].crosshairs;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(0,0,t.globals.gridWidth,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var a=e.drawLine(0,0,t.globals.gridWidth,0,i.stroke.color,0,0);a.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(a)}}]),xt),L=(t(pt,[{key:"draw",value:function(t){var e=this.w,i=new ht(this.ctx),s=i.group({class:"apexcharts-heatmap"});s.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var a=e.globals.gridWidth/e.globals.dataPoints,n=e.globals.gridHeight/e.globals.series.length,r=0,o=!1;this.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(o=!0,l.reverse());for(var h=o?0:l.length-1;o?h<l.length:0<=h;o?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:lt.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new T(this.ctx).dropShadow(c,d,h)}for(var u=0,g=0;g<l[h].length;g++){var f=1,p=this.determineHeatColor(h,g);if(e.globals.hasNegs||this.negRange){var x=e.config.plotOptions.heatmap.shadeIntensity;f=e.config.plotOptions.heatmap.reverseNegativeShade?p.percent<0?p.percent/100*(1.25*x):(1-p.percent/100)*(1.25*x):p.percent<0?1-(1+p.percent/100)*x:(1-p.percent/100)*x}else f=1-p.percent/100;var b=p.color;if(e.config.plotOptions.heatmap.enableShades){var m=new lt;b=lt.hexToRgba(m.shadeColor(f,p.color),e.config.fill.opacity)}var v=this.rectRadius,y=i.drawRect(u,r,a,n,v);if(y.attr({cx:u,cy:r}),y.node.classList.add("apexcharts-heatmap-rect"),c.add(y),y.attr({fill:b,i:h,index:h,j:g,val:l[h][g],"stroke-width":this.strokeWidth,stroke:e.globals.stroke.colors[0],color:b}),y.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this,y)),y.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this,y)),y.node.addEventListener("mousedown",i.pathMouseDown.bind(this,y)),e.config.chart.animations.enabled&&!e.globals.dataChanged){var w=1;e.globals.resized||(w=e.config.chart.animations.speed),this.animateHeatMap(y,u,r,a,n,w)}if(e.globals.dataChanged){var k=1;if(this.dynamicAnim.enabled&&e.globals.shouldAnimate){k=this.dynamicAnim.speed;var A=e.globals.previousPaths[h]&&e.globals.previousPaths[h][g]&&e.globals.previousPaths[h][g].color;A=A||"rgba(255, 255, 255, 0)",this.animateHeatColor(y,lt.isColorHex(A)?A:lt.rgb2hex(A),lt.isColorHex(b)?b:lt.rgb2hex(b),k)}}var S=this.calculateHeatmapDataLabels({x:u,y:r,i:h,j:g,series:l,rectHeight:n,rectWidth:a});null!==S&&c.add(S),u+=a}r+=n,s.add(c)}var C=e.globals.yAxisScale[0].result.slice();e.config.yaxis[0].reversed?C.unshift(""):C.push(""),e.globals.yAxisScale[0].result=C;var L=e.globals.gridHeight/e.globals.series.length;return e.config.yaxis[0].labels.offsetY=-L/2,s}},{key:"checkColorRange",value:function(){var i=this,t=this.w.config.plotOptions.heatmap;0<t.colorScale.ranges.length&&t.colorScale.ranges.map(function(t,e){t.from<0&&(i.negRange=!0)})}},{key:"determineHeatColor",value:function(t,e){var i=this.w,s=i.globals.series[t][e],a=i.config.plotOptions.heatmap,n=a.colorScale.inverse?e:t,r=i.globals.colors[n],o=Math.min.apply(Math,S(i.globals.series[t])),l=Math.max.apply(Math,S(i.globals.series[t]));a.distributed||(o=i.globals.minY,l=i.globals.maxY),void 0!==a.colorScale.min&&(o=a.colorScale.min<i.globals.minY?a.colorScale.min:i.globals.minY,l=a.colorScale.max>i.globals.maxY?a.colorScale.max:i.globals.maxY);var h=Math.abs(l)+Math.abs(o),c=100*s/(0===h?h-1e-6:h);return 0<a.colorScale.ranges.length&&a.colorScale.ranges.map(function(t,e){if(s>=t.from&&s<=t.to){r=t.color,o=t.from,l=t.to;var i=Math.abs(l)+Math.abs(o);c=100*s/(0===i?i-1e-6:i)}}),{color:r,percent:c}}},{key:"calculateHeatmapDataLabels",value:function(t){var e=t.x,i=t.y,s=t.i,a=t.j,n=(t.series,t.rectHeight),r=t.rectWidth,o=this.w,l=o.config.dataLabels,h=new ht(this.ctx),c=new gt(this.ctx),d=l.formatter,u=null;if(l.enabled){u=h.group({class:"apexcharts-data-labels"});var g=l.offsetX,f=l.offsetY,p=e+r/2+g,x=i+n/2+parseInt(l.style.fontSize)/3+f,b=d(o.globals.series[s][a],{seriesIndex:s,dataPointIndex:a,w:o});c.plotDataLabelsText({x:p,y:x,text:b,i:s,j:a,parent:u,dataLabelsConfig:l})}return u}},{key:"animateHeatMap",value:function(t,e,i,s,a,n){var r=this;new X(this.ctx).animateRect(t,{x:e+s/2,y:i+a/2,width:0,height:0},{x:e,y:i,width:s,height:a},n,function(){r.w.globals.animationEnded=!0})}},{key:"animateHeatColor",value:function(t,e,i,s){t.attr({fill:e}).animate(s).attr({fill:i})}}]),pt),z=(t(ft,[{key:"draw",value:function(t){var e=this.w,i=new ht(this.ctx),s=i.group({class:"apexcharts-pie"});if(e.globals.noData)return s;for(var a=0,n=0;n<t.length;n++)a+=lt.negToZero(t[n]);var r=[],o=i.group();0===a&&(a=1e-5);for(var l=0;l<t.length;l++){var h=this.fullAngle*lt.negToZero(t[l])/a;r.push(h)}if(e.globals.dataChanged){for(var c,d=0,u=0;u<e.globals.previousPaths.length;u++)d+=lt.negToZero(e.globals.previousPaths[u]);for(var g=0;g<e.globals.previousPaths.length;g++)c=this.fullAngle*lt.negToZero(e.globals.previousPaths[g])/d,this.prevSectorAngleArr.push(c)}e.globals.radialSize=this.defaultSize/2.05-e.config.stroke.width-e.config.chart.dropShadow.blur,void 0!==e.config.plotOptions.pie.size&&(e.globals.radialSize=e.config.plotOptions.pie.size),this.donutSize=e.globals.radialSize*parseInt(e.config.plotOptions.pie.donut.size)/100,this.donutSize<0&&(this.donutSize=0);var f=e.config.plotOptions.pie.customScale,p=e.globals.gridWidth/2,x=e.globals.gridHeight/2,b=p-e.globals.gridWidth/2*f,m=x-e.globals.gridHeight/2*f;if(this.donutDataLabels.show){var v=this.renderInnerDataLabels(this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show,translateX:b,translateY:m});s.add(v)}if("donut"===e.config.chart.type){var y=i.drawCircle(this.donutSize);y.attr({cx:this.centerX,cy:this.centerY,fill:e.config.plotOptions.pie.donut.background}),o.add(y)}var w=this.drawArcs(r,t);return this.sliceLabels.forEach(function(t){w.add(t)}),o.attr({transform:"translate(".concat(b,", ").concat(m-5,") scale(").concat(f,")")}),s.attr({"data:innerTranslateX":b,"data:innerTranslateY":m-25}),o.add(w),s.add(o),s}},{key:"drawArcs",value:function(t,e){var i=this.w,s=new T(this.ctx),a=new ht(this.ctx),n=new dt(this.ctx),r=a.group({class:"apexcharts-slices"}),o=0,l=0,h=0,c=0;this.strokeWidth=i.config.stroke.show?i.config.stroke.width:0;for(var d=0;d<t.length;d++){var u=a.group({class:"apexcharts-series apexcharts-pie-series",seriesName:lt.escapeString(i.globals.seriesNames[d]),rel:d+1,"data:realIndex":d});r.add(u),l=c,h=(o=h)+t[d],c=l+this.prevSectorAngleArr[d];var g=h-o,f=n.fillPath({seriesNumber:d,size:i.globals.radialSize,value:e[d]}),p=this.getChangedPath(l,c),x=a.drawPath({d:p,stroke:this.lineColorArr instanceof Array?this.lineColorArr[d]:this.lineColorArr,strokeWidth:this.strokeWidth,fill:f,fillOpacity:i.config.fill.opacity,classes:"apexcharts-pie-area apexcharts-".concat(i.config.chart.type,"-slice-").concat(d)});if(x.attr({index:0,j:d}),i.config.chart.dropShadow.enabled){var b=i.config.chart.dropShadow;s.dropShadow(x,b,d)}this.addListeners(x,this.donutDataLabels),ht.setAttrs(x.node,{"data:angle":g,"data:startAngle":o,"data:strokeWidth":this.strokeWidth,"data:value":e[d]});var m={x:0,y:0};"pie"===i.config.chart.type?m=lt.polarToCartesian(this.centerX,this.centerY,i.globals.radialSize/1.25+i.config.plotOptions.pie.dataLabels.offset,o+(h-o)/2):"donut"===i.config.chart.type&&(m=lt.polarToCartesian(this.centerX,this.centerY,(i.globals.radialSize+this.donutSize)/2+i.config.plotOptions.pie.dataLabels.offset,o+(h-o)/2)),u.add(x);var v=0;if(!this.initialAnim||i.globals.resized||i.globals.dataChanged?this.animBeginArr.push(0):(v=(h-o)/this.fullAngle*i.config.chart.animations.speed,this.animDur=v+this.animDur,this.animBeginArr.push(this.animDur)),this.dynamicAnim&&i.globals.dataChanged?this.animatePaths(x,{size:i.globals.radialSize,endAngle:h,startAngle:o,prevStartAngle:l,prevEndAngle:c,animateStartingPos:!0,i:d,animBeginArr:this.animBeginArr,dur:i.config.chart.animations.dynamicAnimation.speed}):this.animatePaths(x,{size:i.globals.radialSize,endAngle:h,startAngle:o,i:d,totalItems:t.length-1,animBeginArr:this.animBeginArr,dur:v}),i.config.plotOptions.pie.expandOnClick&&x.click(this.pieClicked.bind(this,d)),i.config.dataLabels.enabled){var y=m.x,w=m.y,k=100*(h-o)/360+"%";if(0!=g&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabel<t[d]){var A=i.config.dataLabels.formatter;void 0!==A&&(k=A(i.globals.seriesPercent[d][0],{seriesIndex:d,w:i}));var S=i.globals.dataLabels.style.colors[d],C=a.drawText({x:y,y:w,text:k,textAnchor:"middle",fontSize:i.config.dataLabels.style.fontSize,fontFamily:i.config.dataLabels.style.fontFamily,foreColor:S});if(i.config.dataLabels.dropShadow.enabled){var L=i.config.dataLabels.dropShadow;new T(this.ctx).dropShadow(C,L)}C.node.classList.add("apexcharts-pie-label"),i.config.chart.animations.animate&&!1===i.globals.resized&&(C.node.classList.add("apexcharts-pie-label-delay"),C.node.style.animationDelay=i.config.chart.animations.speed/940+"s"),this.sliceLabels.push(C)}}}return r}},{key:"addListeners",value:function(t,e){var i=new ht(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseenter",this.printDataLabelsInner.bind(this,t.node,e)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this,t)),t.node.addEventListener("mouseleave",this.revertDataLabelsInner.bind(this,t.node,e)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this,t)),t.node.addEventListener("mousedown",this.printDataLabelsInner.bind(this,t.node,e))}},{key:"animatePaths",value:function(t,e){var i=this.w,s=e.endAngle-e.startAngle,a=s,n=e.startAngle,r=e.startAngle;void 0!==e.prevStartAngle&&void 0!==e.prevEndAngle&&(n=e.prevEndAngle,a=e.prevEndAngle-e.prevStartAngle),e.i===i.config.series.length-1&&(s+r>this.fullAngle?e.endAngle=e.endAngle-(s+r):s+r<this.fullAngle&&(e.endAngle=e.endAngle+(this.fullAngle-(s+r)))),s===this.fullAngle&&(s=this.fullAngle-.01),this.animateArc(t,n,r,s,a,e)}},{key:"animateArc",value:function(e,i,s,a,n,r){var o,l=this,t=this.w,h=r.size;(isNaN(i)||isNaN(n))&&(i=s,n=a,r.dur=0);var c=a,d=s,u=i-s;t.globals.dataChanged&&r.shouldSetPrevPaths&&(o=l.getPiePath({me:l,startAngle:d,angle:n,size:h}),e.attr({d:o})),0!==r.dur?e.animate(r.dur,t.globals.easing,r.animBeginArr[r.i]).afterAll(function(){"pie"!==t.config.chart.type&&"donut"!==t.config.chart.type||this.animate(300).attr({"stroke-width":t.config.stroke.width}),t.globals.animationEnded=!0}).during(function(t){c=u+(a-u)*t,r.animateStartingPos&&(c=n+(a-n)*t,d=i-n+(s-(i-n))*t),o=l.getPiePath({me:l,startAngle:d,angle:c,size:h}),e.node.setAttribute("data:pathOrig",o),e.attr({d:o})}):(o=l.getPiePath({me:l,startAngle:d,angle:a,size:h}),r.isTrack||(t.globals.animationEnded=!0),e.node.setAttribute("data:pathOrig",o),e.attr({d:o}))}},{key:"pieClicked",value:function(t){var e,i=this.w,s=this.w.globals.radialSize+4,a=i.globals.dom.Paper.select(".apexcharts-".concat(i.config.chart.type.toLowerCase(),"-slice-").concat(t)).members[0],n=a.attr("d");if("true"!==a.attr("data:pieClicked")){var r=i.globals.dom.baseEl.querySelectorAll(".apexcharts-pie-area");Array.prototype.forEach.call(r,function(t){t.setAttribute("data:pieClicked","false");var e=t.getAttribute("data:pathOrig");t.setAttribute("d",e)}),a.attr("data:pieClicked","true");var o=parseInt(a.attr("data:startAngle")),l=parseInt(a.attr("data:angle"));e=this.getPiePath({me:this,startAngle:o,angle:l,size:s}),360!==l&&a.plot(e).animate(1).plot(n).animate(100).plot(e)}else{a.attr({"data:pieClicked":"false"}),this.revertDataLabelsInner(a.node,this.donutDataLabels);var h=a.attr("data:pathOrig");a.attr({d:h})}}},{key:"getChangedPath",value:function(t,e){var i="";return this.dynamicAnim&&this.w.globals.dataChanged&&(i=this.getPiePath({me:this,startAngle:t,angle:e-t,size:this.size})),i}},{key:"getPiePath",value:function(t){var e=t.me,i=t.startAngle,s=t.angle,a=t.size,n=this.w,r=i,o=Math.PI*(r-90)/180,l=s+i;360<=Math.ceil(l)&&(l=359.99);var h=Math.PI*(l-90)/180,c=e.centerX+a*Math.cos(o),d=e.centerY+a*Math.sin(o),u=e.centerX+a*Math.cos(h),g=e.centerY+a*Math.sin(h),f=lt.polarToCartesian(e.centerX,e.centerY,e.donutSize,l),p=lt.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),x=180<s?1:0;return"donut"===n.config.chart.type?["M",c,d,"A",a,a,0,x,1,u,g,"L",f.x,f.y,"A",e.donutSize,e.donutSize,0,x,0,p.x,p.y,"L",c,d,"z"].join(" "):"pie"===n.config.chart.type?["M",c,d,"A",a,a,0,x,1,u,g,"L",e.centerX,e.centerY,"L",c,d].join(" "):["M",c,d,"A",a,a,0,x,1,u,g].join(" ")}},{key:"renderInnerDataLabels",value:function(t,e){var i=this.w,s=new ht(this.ctx),a=s.group({class:"apexcharts-datalabels-group",transform:"translate(".concat(e.translateX?e.translateX:0,", ").concat(e.translateY?e.translateY:0,")")}),n=t.total.show;a.node.style.opacity=e.opacity;var r,o,l=e.centerX,h=e.centerY;r=void 0===t.name.color?i.globals.colors[0]:t.name.color,o=void 0===t.value.color?i.config.chart.foreColor:t.value.color;var c=t.value.formatter,d="",u="";if(n?(r=t.total.color,u=t.total.label,d=t.total.formatter(i)):1===i.globals.series.length&&(d=c(i.globals.series[0],i),u=i.globals.seriesNames[0]),t.name.show){var g=s.drawText({x:l,y:h+parseInt(t.name.offsetY),text:u,textAnchor:"middle",foreColor:r,fontSize:t.name.fontSize,fontFamily:t.name.fontFamily});g.node.classList.add("apexcharts-datalabel-label"),a.add(g)}if(t.value.show){var f=t.name.show?parseInt(t.value.offsetY)+16:t.value.offsetY,p=s.drawText({x:l,y:h+f,text:d,textAnchor:"middle",foreColor:o,fontSize:t.value.fontSize,fontFamily:t.value.fontFamily});p.node.classList.add("apexcharts-datalabel-value"),a.add(p)}return a}},{key:"printInnerLabels",value:function(t,e,i,s){var a,n=this.w;s?a=void 0===t.name.color?n.globals.colors[parseInt(s.parentNode.getAttribute("rel"))-1]:t.name.color:1<n.globals.series.length&&t.total.show&&(a=t.total.color);var r=n.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),o=n.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,n),s||"function"!=typeof t.total.formatter||(i=t.total.formatter(n)),null!==r&&(r.textContent=e),null!==o&&(o.textContent=i),null!==r&&(r.style.fill=a)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,s=t.getAttribute("data:value"),a=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"))-1];1<i.globals.series.length&&this.printInnerLabels(e,a,s,t);var n=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==n&&(n.style.opacity=1)}},{key:"revertDataLabelsInner",value:function(t,e,i){var s=this,a=this.w,n=a.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");if(e.total.show&&1<a.globals.series.length)new ft(this.ctx).printInnerLabels(e,e.total.label,e.total.formatter(a));else{var r=document.querySelectorAll(".apexcharts-pie-area"),o=!1;if(Array.prototype.forEach.call(r,function(t){"true"===t.getAttribute("data:pieClicked")&&(o=!0,s.printDataLabelsInner(t,e))}),!o)if(a.globals.selectedDataPoints.length&&1<a.globals.series.length)if(0<a.globals.selectedDataPoints[0].length){var l=a.globals.selectedDataPoints[0],h=a.globals.dom.baseEl.querySelector(".apexcharts-".concat(a.config.chart.type.toLowerCase(),"-slice-").concat(l));this.printDataLabelsInner(h,e)}else n&&a.globals.selectedDataPoints.length&&0===a.globals.selectedDataPoints[0].length&&(n.style.opacity=0);else n&&1<a.globals.series.length&&(n.style.opacity=0)}}}]),ft),E=(t(rt,[{key:"draw",value:function(t){var u=this,g=this.w,f=new dt(this.ctx),p=[];t.length&&(this.dataPointsLen=t[g.globals.maxValsInArrayIndex].length),this.disAngle=2*Math.PI/this.dataPointsLen;var e=g.globals.gridWidth/2,i=g.globals.gridHeight/2,s=this.graphics.group({class:"apexcharts-radar-series","data:innerTranslateX":e,"data:innerTranslateY":i-25,transform:"translate(".concat(e||0,", ").concat(i||0,")")}),x=[],b=null;if(this.yaxisLabels=this.graphics.group({class:"apexcharts-yaxis"}),t.forEach(function(t,n){var r=u.graphics.group().attr({class:"apexcharts-series",seriesName:lt.escapeString(g.globals.seriesNames[n]),rel:n+1,"data:realIndex":n});u.dataRadiusOfPercent[n]=[],u.dataRadius[n]=[],u.angleArr[n]=[],t.forEach(function(t,e){u.dataRadiusOfPercent[n][e]=t/u.maxValue,u.dataRadius[n][e]=u.dataRadiusOfPercent[n][e]*u.size,u.angleArr[n][e]=e*u.disAngle}),x=u.getDataPointsPos(u.dataRadius[n],u.angleArr[n]);var e=u.createPaths(x,{x:0,y:0});b=u.graphics.group({class:"apexcharts-series-markers-wrap hidden"}),g.globals.delayedElements.push({el:b.node,index:n});var i={i:n,realIndex:n,animationDelay:n,initialSpeed:g.config.chart.animations.speed,dataChangeSpeed:g.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-radar",shouldClipToGrid:!1,bindEventsOnPaths:!1,stroke:g.globals.stroke.colors[n],strokeLineCap:g.config.stroke.lineCap},s=null;0<g.globals.previousPaths.length&&(s=u.getPathFrom(n));for(var a=0;a<e.linePathsTo.length;a++){var o=u.graphics.renderPaths(ot({},i,{pathFrom:null===s?e.linePathsFrom[a]:s,pathTo:e.linePathsTo[a],strokeWidth:Array.isArray(g.config.stroke.width)?g.config.stroke.width[n]:g.config.stroke.width,fill:"none",drawShadow:!1}));r.add(o);var l=f.fillPath({seriesNumber:n}),h=u.graphics.renderPaths(ot({},i,{pathFrom:null===s?e.areaPathsFrom[a]:s,pathTo:e.areaPathsTo[a],strokeWidth:0,fill:l,drawShadow:!1}));if(g.config.chart.dropShadow.enabled){var c=new T(u.ctx),d=g.config.chart.dropShadow;c.dropShadow(h,Object.assign({},d,{noUserSpaceOnUse:!0}),n)}r.add(h)}t.forEach(function(t,e){var i=new ut(u.ctx).getMarkerConfig("apexcharts-marker",n,e),s=u.graphics.drawMarker(x[e].x,x[e].y,i);s.attr("rel",e),s.attr("j",e),s.attr("index",n),s.node.setAttribute("default-marker-size",i.pSize);var a=u.graphics.group({class:"apexcharts-series-markers"});a&&a.add(s),b.add(a),r.add(b)}),p.push(r)}),this.drawPolygons({parent:s}),g.config.dataLabels.enabled){var a=this.drawLabels();s.add(a)}return s.add(this.yaxisLabels),p.forEach(function(t){s.add(t)}),s}},{key:"drawPolygons",value:function(t){for(var n=this,a=this.w,r=t.parent,s=a.globals.yAxisScale[0].result.reverse(),e=s.length,i=[],o=this.size/(e-1),l=0;l<e;l++)i[l]=o*l;i.reverse();var h=[],c=[];i.forEach(function(t,s){var e=n.getPolygonPos(t),a="";e.forEach(function(t,e){if(0===s){var i=n.graphics.drawLine(t.x,t.y,0,0,Array.isArray(n.polygons.connectorColors)?n.polygons.connectorColors[e]:n.polygons.connectorColors);c.push(i)}0===e&&n.yaxisLabelsTextsPos.push({x:t.x,y:t.y}),a+=t.x+","+t.y+" "}),h.push(a)}),h.forEach(function(t,e){var i=n.polygons.strokeColors,s=n.graphics.drawPolygon(t,Array.isArray(i)?i[e]:i,a.globals.radarPolygons.fill.colors[e]);r.add(s)}),c.forEach(function(t){r.add(t)}),a.config.yaxis[0].show&&this.yaxisLabelsTextsPos.forEach(function(t,e){var i=n.drawYAxisText(t.x,t.y,e,s[e]);n.yaxisLabels.add(i)})}},{key:"drawYAxisText",value:function(t,e,i,s){var a=this.w,n=a.config.yaxis[0],r=a.globals.yLabelFormatters[0];return this.graphics.drawText({x:t+n.labels.offsetX,y:e+n.labels.offsetY,text:r(s,i),textAnchor:"middle",fontSize:n.labels.style.fontSize,fontFamily:n.labels.style.fontFamily,foreColor:n.labels.style.color})}},{key:"drawLabels",value:function(){var n=this,r=this.w,o="middle",l=r.config.dataLabels,h=this.graphics.group({class:"apexcharts-datalabels"}),c=this.getPolygonPos(this.size),d=0,u=0;return r.globals.labels.forEach(function(t,e){var i=l.formatter,s=new gt(n.ctx);if(c[e]){d=c[e].x,u=c[e].y,10<=Math.abs(c[e].x)?0<c[e].x?(o="start",d+=10):c[e].x<0&&(o="end",d-=10):o="middle",Math.abs(c[e].y)>=n.size-10&&(c[e].y<0?u-=10:0<c[e].y&&(u+=10));var a=i(t,{seriesIndex:-1,dataPointIndex:e,w:r});s.plotDataLabelsText({x:d,y:u,text:a,textAnchor:o,i:e,j:e,parent:h,dataLabelsConfig:l,offsetCorrection:!1})}}),h}},{key:"createPaths",value:function(i,t){var s=this,e=[],a=[],n=[],r=[];if(i.length){a=[this.graphics.move(t.x,t.y)],r=[this.graphics.move(t.x,t.y)];var o=this.graphics.move(i[0].x,i[0].y),l=this.graphics.move(i[0].x,i[0].y);i.forEach(function(t,e){o+=s.graphics.line(t.x,t.y),l+=s.graphics.line(t.x,t.y),e===i.length-1&&(o+="Z",l+="Z")}),e.push(o),n.push(l)}return{linePathsFrom:a,linePathsTo:e,areaPathsFrom:r,areaPathsTo:n}}},{key:"getPathFrom",value:function(t){for(var e=this.w,i=null,s=0;s<e.globals.previousPaths.length;s++){var a=e.globals.previousPaths[s];0<a.paths.length&&parseInt(a.realIndex)===parseInt(t)&&void 0!==e.globals.previousPaths[s].paths[0]&&(i=e.globals.previousPaths[s].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var s=[],a=0;a<i;a++){var n={};n.x=t[a]*Math.sin(e[a]),n.y=-t[a]*Math.cos(e[a]),s.push(n)}return s}},{key:"getPolygonPos",value:function(t){for(var e=[],i=2*Math.PI/this.dataPointsLen,s=0;s<this.dataPointsLen;s++){var a={};a.x=t*Math.sin(s*i),a.y=-t*Math.cos(s*i),e.push(a)}return e}}]),rt),M=(e(nt,z),t(nt,[{key:"draw",value:function(t){var e=this.w,i=new ht(this.ctx),s=i.group({class:"apexcharts-radialbar"});if(e.globals.noData)return s;var a=i.group(),n=this.defaultSize/2,r=e.globals.gridWidth/2,o=this.defaultSize/2.05-e.config.stroke.width-e.config.chart.dropShadow.blur;void 0!==e.config.plotOptions.radialBar.size&&(o=e.config.plotOptions.radialBar.size);var l=e.globals.fill.colors;if(e.config.plotOptions.radialBar.track.show){var h=this.drawTracks({size:o,centerX:r,centerY:n,colorArr:l,series:t});a.add(h)}var c=this.drawArcs({size:o,centerX:r,centerY:n,colorArr:l,series:t}),d=360;return e.config.plotOptions.radialBar.startAngle<0&&(d=Math.abs(e.config.plotOptions.radialBar.endAngle-e.config.plotOptions.radialBar.startAngle)),e.globals.radialSize=o-o/(360/(360-d))+10,a.add(c.g),"front"===e.config.plotOptions.radialBar.hollow.position&&(c.g.add(c.elHollow),c.dataLabels&&c.g.add(c.dataLabels)),s.add(a),s}},{key:"drawTracks",value:function(t){var e=this.w,i=new ht(this.ctx),s=i.group({class:"apexcharts-tracks"}),a=new T(this.ctx),n=new dt(this.ctx),r=this.getStrokeWidth(t);t.size=t.size-r/2;for(var o=0;o<t.series.length;o++){var l=i.group({class:"apexcharts-radialbar-track apexcharts-track"});s.add(l),l.attr({rel:o+1}),t.size=t.size-r-this.margin;var h=e.config.plotOptions.radialBar.track,c=n.fillPath({seriesNumber:0,size:t.size,fillColors:Array.isArray(h.background)?h.background[o]:h.background,solid:!0}),d=this.trackStartAngle,u=this.trackEndAngle;360<=Math.abs(u)+Math.abs(d)&&(u=360-Math.abs(this.startAngle)-.1);var g=i.drawPath({d:"",stroke:c,strokeWidth:r*parseInt(h.strokeWidth)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var f=h.dropShadow;a.dropShadow(g,f)}l.add(g),g.attr("id","apexcharts-radialbarTrack-"+o),this.animatePaths(g,{centerX:t.centerX,centerY:t.centerY,endAngle:u,startAngle:d,size:t.size,i:o,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return s}},{key:"drawArcs",value:function(t){var e=this.w,i=new ht(this.ctx),s=new dt(this.ctx),a=new T(this.ctx),n=i.group(),r=this.getStrokeWidth(t);t.size=t.size-r/2;var o=e.config.plotOptions.radialBar.hollow.background,l=t.size-r*t.series.length-this.margin*t.series.length-r*parseInt(e.config.plotOptions.radialBar.track.strokeWidth)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(o=this.drawHollowImage(t,n,l,o));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:o});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;a.dropShadow(c,d)}var u=1;!this.radialDataLabels.total.show&&1<e.globals.series.length&&(u=0);var g=null;this.radialDataLabels.show&&(g=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:u})),"back"===e.config.plotOptions.radialBar.hollow.position&&(n.add(c),g&&n.add(g));var f=!1;e.config.plotOptions.radialBar.inverseOrder&&(f=!0);for(var p=f?t.series.length-1:0;f?0<=p:p<t.series.length;f?p--:p++){var x=i.group({class:"apexcharts-series apexcharts-radial-series",seriesName:lt.escapeString(e.globals.seriesNames[p])});n.add(x),x.attr({rel:p+1,"data:realIndex":p}),this.ctx.series.addCollapsedClassToSeries(x,p),t.size=t.size-r-this.margin;var b=s.fillPath({seriesNumber:p,size:t.size,value:t.series[p]}),m=this.startAngle,v=void 0,y=Math.abs(e.config.plotOptions.radialBar.endAngle-e.config.plotOptions.radialBar.startAngle),w=lt.negToZero(100<t.series[p]?100:t.series[p])/100,k=Math.round(y*w)+this.startAngle,A=void 0;e.globals.dataChanged&&(v=this.startAngle,A=Math.round(y*lt.negToZero(e.globals.previousPaths[p])/100)+v),360<=Math.abs(k)+Math.abs(m)&&(k-=.01),360<=Math.abs(A)+Math.abs(v)&&(A-=.01);var S=k-m,C=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[p]:e.config.stroke.dashArray,L=i.drawPath({d:"",stroke:b,strokeWidth:r,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+p,strokeDashArray:C});if(ht.setAttrs(L.node,{"data:angle":S,"data:value":t.series[p]}),e.config.chart.dropShadow.enabled){var z=e.config.chart.dropShadow;a.dropShadow(L,z,p)}this.addListeners(L,this.radialDataLabels),x.add(L),L.attr({index:0,j:p});var P=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(P=(k-m)/360*e.config.chart.animations.speed,this.animDur=P/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur)),e.globals.dataChanged&&(P=(k-m)/360*e.config.chart.animations.dynamicAnimation.speed,this.animDur=P/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur)),this.animatePaths(L,{centerX:t.centerX,centerY:t.centerY,endAngle:k,startAngle:m,prevEndAngle:A,prevStartAngle:v,size:t.size,i:p,totalItems:2,animBeginArr:this.animBeginArr,dur:P,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:n,elHollow:c,dataLabels:g}}},{key:"drawHollow",value:function(t){var e=new ht(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(e,t,i,s){var a=this.w,n=new dt(this.ctx),r=(Math.random()+1).toString(36).substring(4),o=a.config.plotOptions.radialBar.hollow.image;if(a.config.plotOptions.radialBar.hollow.imageClipped)n.clippedImgArea({width:i,height:i,image:o,patternID:"pattern".concat(a.globals.cuid).concat(r)}),s="url(#pattern".concat(a.globals.cuid).concat(r,")");else{var l=a.config.plotOptions.radialBar.hollow.imageWidth,h=a.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=a.globals.dom.Paper.image(o).loaded(function(t){this.move(e.centerX-t.width/2+a.config.plotOptions.radialBar.hollow.imageOffsetX,e.centerY-t.height/2+a.config.plotOptions.radialBar.hollow.imageOffsetY)});t.add(c)}else{var d=a.globals.dom.Paper.image(o).loaded(function(t){this.move(e.centerX-l/2+a.config.plotOptions.radialBar.hollow.imageOffsetX,e.centerY-h/2+a.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)});t.add(d)}}return s}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size))/100/(t.series.length+1)-this.margin}}]),nt),I=(e(at,P),t(at,[{key:"draw",value:function(t,e){var i=this.w,s=new ht(this.ctx),a=new dt(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.initVariables(t);for(var n=s.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),r=0,o=0;r<t.length;r++,o++){var l,h,c,d,u=void 0,g=void 0,f=void 0,p=void 0,x=[],b=[],m=i.globals.comboCharts?e[r]:r,v=s.group({class:"apexcharts-series",seriesName:lt.escapeString(i.globals.seriesNames[m]),rel:r+1,"data:realIndex":m});0<t[r].length&&(this.visibleI=this.visibleI+1);var y=0,w=0,k=0;1<this.yRatio.length&&(this.yaxisIndex=m);var A=this.initialPositions();p=A.y,h=A.yDivision,w=A.barHeight,d=A.zeroW,f=A.x,k=A.barWidth,l=A.xDivision,c=A.zeroH,b.push(f+k/2);var S=s.group({class:"apexcharts-datalabels"}),C=0;for(i.globals.dataPoints;C<i.globals.dataPoints;C++){void 0===this.series[r][C]||null===t[r][C]?this.isNullValue=!0:this.isNullValue=!1,i.config.stroke.show&&(y=this.isNullValue?0:Array.isArray(this.strokeWidth)?this.strokeWidth[m]:this.strokeWidth);var L=null;this.isHorizontal?k=(L=this.drawRangeBarPaths({indexes:{i:r,j:C,realIndex:m,bc:o},barHeight:w,strokeWidth:y,pathTo:u,pathFrom:g,zeroW:d,x:f,y:p,yDivision:h,elSeries:v})).barWidth:w=(L=this.drawRangeColumnPaths({indexes:{i:r,j:C,realIndex:m,bc:o},x:f,y:p,xDivision:l,pathTo:u,pathFrom:g,barWidth:k,zeroH:c,strokeWidth:y,elSeries:v})).barHeight,u=L.pathTo,g=L.pathFrom,p=L.y,f=L.x,0<C&&b.push(f+k/2),x.push(p);var z=a.fillPath({seriesNumber:m}),P=i.globals.stroke.colors[m];v=this.renderSeries({realIndex:m,pathFill:z,lineFill:P,j:C,i:r,pathFrom:g,pathTo:u,strokeWidth:y,elSeries:v,x:f,y:p,series:t,barHeight:w,barWidth:k,elDataLabelsWrap:S,visibleSeries:this.visibleI,type:"rangebar"})}i.globals.seriesXvalues[m]=b,i.globals.seriesYvalues[m]=x,n.add(v)}return n}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x,s=(t.y,t.strokeWidth),a=t.xDivision,n=t.pathTo,r=t.pathFrom,o=t.barWidth,l=t.zeroH,h=this.w,c=new ht(this.ctx),d=e.i,u=e.j,g=this.yRatio[this.yaxisIndex],f=e.realIndex,p=this.getRangeValue(f,u),x=Math.min(p.start,p.end),b=Math.max(p.start,p.end);h.globals.isXNumeric&&(i=(h.globals.seriesX[d][u]-h.globals.minX)/this.xRatio-o/2);var m=i+o*this.visibleI;void 0===this.series[d][u]||null===this.series[d][u]?x=l:(x=l-x/g,b=l-b/g);var v=Math.abs(b-x);return c.move(m,l),r=c.move(m,x),0<h.globals.previousPaths.length&&(r=this.getPathFrom(f,u,!0)),n=c.move(m,b)+c.line(m+o,b)+c.line(m+o,x)+c.line(m,x)+c.line(m,b-s/2),r=r+c.move(m,x)+c.line(m+o,x)+c.line(m+o,x)+c.line(m,x),h.globals.isXNumeric||(i+=a),{pathTo:n,pathFrom:r,barHeight:v,x:i,y:b,barXPosition:m}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=(t.x,t.y),s=t.yDivision,a=t.pathTo,n=t.pathFrom,r=t.barHeight,o=t.zeroW,l=this.w,h=new ht(this.ctx),c=e.i,d=e.j,u=e.realIndex,g=o,f=o;l.globals.isXNumeric&&(i=(l.globals.seriesX[c][d]-l.globals.minX)/this.invertedXRatio-r);var p=i+r*this.visibleI;void 0!==this.series[c][d]&&null!==this.series[c][d]&&(g=o+this.seriesRangeStart[c][d]/this.invertedYRatio,f=o+this.seriesRangeEnd[c][d]/this.invertedYRatio),h.move(o,p),n=h.move(o,p),0<l.globals.previousPaths.length&&(n=this.getPathFrom(u,d));var x=Math.abs(f-g);return a=h.move(g,p)+h.line(f,p)+h.line(f,p+r)+h.line(g,p+r)+h.line(g,p),n=n+h.line(g,p)+h.line(g,p+r)+h.line(g,p+r)+h.line(g,p),l.globals.isXNumeric||(i+=s),{pathTo:a,pathFrom:n,barWidth:x,x:f,y:i,barYPosition:p}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),at),Y=(t(st,[{key:"xLabelFormat",value:function(t,e,i){var s=this.w;return"datetime"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter?new k(this.ctx).formatDate(new Date(e),s.config.tooltip.x.format,!0,!0):t(e,i)}},{key:"setLabelFormatters",value:function(){var s=this.w;return s.globals.xLabelFormatter=function(t){return t},s.globals.xaxisTooltipFormatter=function(t){return t},s.globals.ttKeyFormatter=function(t){return t},s.globals.ttZFormatter=function(t){return t},s.globals.legendFormatter=function(t){return t},void 0!==s.config.xaxis.labels.formatter?s.globals.xLabelFormatter=s.config.xaxis.labels.formatter:s.globals.xLabelFormatter=function(t){return lt.isNumber(t)?"numeric"===s.config.xaxis.type&&s.globals.dataPoints<50?t.toFixed(1):t.toFixed(0):t},"function"==typeof s.config.tooltip.x.formatter?s.globals.ttKeyFormatter=s.config.tooltip.x.formatter:s.globals.ttKeyFormatter=s.globals.xLabelFormatter,"function"==typeof s.config.xaxis.tooltip.formatter&&(s.globals.xaxisTooltipFormatter=s.config.xaxis.tooltip.formatter),Array.isArray(s.config.tooltip.y)?s.globals.ttVal=s.config.tooltip.y:void 0!==s.config.tooltip.y.formatter&&(s.globals.ttVal=s.config.tooltip.y),void 0!==s.config.tooltip.z.formatter&&(s.globals.ttZFormatter=s.config.tooltip.z.formatter),void 0!==s.config.legend.formatter&&(s.globals.legendFormatter=s.config.legend.formatter),s.config.yaxis.forEach(function(e,i){void 0!==e.labels.formatter?s.globals.yLabelFormatters[i]=e.labels.formatter:s.globals.yLabelFormatters[i]=function(t){return lt.isNumber(t)?0!==s.globals.yValueDecimal?t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:s.globals.yValueDecimal):s.globals.maxYArr[i]-s.globals.minYArr[i]<10?t.toFixed(1):t.toFixed(0):t}}),s.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce(function(t,e){return t.length>e.length?t:e},0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),st),F=(t(it,[{key:"getLabel",value:function(t,e,i,s){var a,n=4<arguments.length&&void 0!==arguments[4]?arguments[4]:[],r=this.w,o=void 0===t[s]?"":t[s],l=r.globals.xLabelFormatter,h=r.config.xaxis.labels.formatter,c=o;return a=new Y(this.ctx).xLabelFormat(l,o,c),void 0!==h&&(a=h(o,t[s],s)),0<e.length?(i=e[s].position,a=e[s].value):"datetime"===r.config.xaxis.type&&void 0===h&&(a=""),void 0===a&&(a=""),(0===(a=a.toString()).indexOf("NaN")||0===a.toLowerCase().indexOf("invalid")||0<=a.toLowerCase().indexOf("infinity")||0<=n.indexOf(a)&&!r.config.xaxis.labels.showDuplicates)&&(a=""),{x:i,text:a}}},{key:"drawYAxisTicks",value:function(t,e,i,s,a,n,r){var o=this.w,l=new ht(this.ctx),h=o.globals.translateY;if(s.show){!0===o.config.yaxis[a].opposite&&(t+=s.width);for(var c=e;0<=c;c--){var d=h+e/10+o.config.yaxis[a].labels.offsetY-1;o.globals.isBarHorizontal&&(d=n*c);var u=l.drawLine(t+i.offsetX-s.width+s.offsetX,d+s.offsetY,t+i.offsetX+s.offsetX,d+s.offsetY,i.color);r.add(u),h+=n}}}}]),it),R=(t(et,[{key:"drawYaxis",value:function(t){var e=this.w,i=new ht(this.ctx),s=e.config.yaxis[t].labels.style.fontSize,a=e.config.yaxis[t].labels.style.fontFamily,n=i.group({class:"apexcharts-yaxis",rel:t,transform:"translate("+e.globals.translateYAxisX[t]+", 0)"});if(!e.config.yaxis[t].show)return n;var r=i.group({class:"apexcharts-yaxis-texts-g"});n.add(r);var o=e.globals.yAxisScale[t].result.length-1,l=e.globals.gridHeight/o+.1,h=e.globals.translateY,c=e.globals.yLabelFormatters[t],d=e.globals.yAxisScale[t].result.slice();if(e.config.yaxis[t]&&e.config.yaxis[t].reversed&&d.reverse(),e.config.yaxis[t].labels.show)for(var u=o;0<=u;u--){var g=d[u];g=c(g,u);var f=e.config.yaxis[t].labels.padding;e.config.yaxis[t].opposite&&0!==e.config.yaxis.length&&(f*=-1);var p=i.drawText({x:f,y:h+o/10+e.config.yaxis[t].labels.offsetY+1,text:g,textAnchor:e.config.yaxis[t].opposite?"start":"end",fontSize:s,fontFamily:a,foreColor:e.config.yaxis[t].labels.style.color,cssClass:"apexcharts-yaxis-label "+e.config.yaxis[t].labels.style.cssClass});r.add(p);var x=i.rotateAroundCenter(p.node);0!==e.config.yaxis[t].labels.rotate&&p.node.setAttribute("transform","rotate(".concat(e.config.yaxis[t].labels.rotate," ").concat(x.x," ").concat(x.y,")")),h+=l}if(void 0!==e.config.yaxis[t].title.text){var b=i.group({class:"apexcharts-yaxis-title"}),m=0;e.config.yaxis[t].opposite&&(m=e.globals.translateYAxisX[t]);var v=i.drawText({x:m,y:e.globals.gridHeight/2+e.globals.translateY,text:e.config.yaxis[t].title.text,textAnchor:"end",foreColor:e.config.yaxis[t].title.style.color,fontSize:e.config.yaxis[t].title.style.fontSize,fontFamily:e.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+e.config.yaxis[t].title.style.cssClass});b.add(v),n.add(b)}var y=e.config.yaxis[t].axisBorder;if(y.show){var w=31+y.offsetX;e.config.yaxis[t].opposite&&(w=-31-y.offsetX);var k=i.drawLine(w,e.globals.translateY+y.offsetY-2,w,e.globals.gridHeight+e.globals.translateY+y.offsetY+2,y.color);n.add(k),this.axesUtils.drawYAxisTicks(w,o,y,e.config.yaxis[t].axisTicks,t,l,n)}return n}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new ht(this.ctx),s=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),a=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});s.add(a);var n=e.globals.yAxisScale[t].result.length-1,r=e.globals.gridWidth/n+.1,o=r+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.invertedTimelineLabels;0<c.length&&(this.xaxisLabels=c.slice(),n=(h=c.slice()).length),e.config.yaxis[t]&&e.config.yaxis[t].reversed&&h.reverse();var d=c.length;if(e.config.xaxis.labels.show)for(var u=d?0:n;d?u<d-1:0<=u;d?u++:u--){var g=h[u];g=l(g,u);var f=e.globals.gridWidth+e.globals.padHorizontal-(o-r+e.config.xaxis.labels.offsetX);if(c.length){var p=this.axesUtils.getLabel(h,c,f,u,this.drawnLabels);f=p.x,g=p.text,this.drawnLabels.push(p.text)}var x=i.drawText({x:f,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30,text:"",textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});a.add(x),x.tspan(g);var b=document.createElementNS(e.globals.SVGNS,"title");b.textContent=g,x.node.appendChild(b),o+=r}if(void 0!==e.config.xaxis.title.text){var m=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),v=i.drawText({x:e.globals.gridWidth/2,y:this.xAxisoffX+parseInt(this.xaxisFontSize)+parseInt(e.config.xaxis.title.style.fontSize)+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});m.add(v),s.add(m)}var y=e.config.yaxis[t].axisBorder;if(y.show){var w=i.drawLine(e.globals.padHorizontal+y.offsetX,1+y.offsetY,e.globals.padHorizontal+y.offsetX,e.globals.gridHeight+y.offsetY,y.color);s.add(w)}return s}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,s=new ht(this.ctx),a={width:0,height:0},n={width:0,height:0},r=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==r&&(a=r.getBoundingClientRect());var o=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==o&&(n=o.getBoundingClientRect()),null!==o){var l=this.xPaddingForYAxisTitle(t,a,n,e);o.setAttribute("x",l.xPos-(e?10:0))}if(null!==o){var h=s.rotateAroundCenter(o);e?o.setAttribute("transform","rotate(".concat(i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")")):o.setAttribute("transform","rotate(-".concat(i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,s){var a=this.w,n=0,r=10;return void 0===a.config.yaxis[t].title.text||t<0?{xPos:n,padd:0}:(s?n=e.width+a.config.yaxis[t].title.offsetX+i.width/2+r/2:(n=-1*e.width+a.config.yaxis[t].title.offsetX+r/2+i.width/2,a.globals.isBarHorizontal&&(r=25,n=-1*e.width-a.config.yaxis[t].title.offsetX-r)),{xPos:n,padd:r})}},{key:"setYAxisXPosition",value:function(a,n){var r=this.w,o=0,l=0,h=21,c=1;1<r.config.yaxis.length&&(this.multipleYs=!0),r.config.yaxis.map(function(t,e){var i=-1<r.globals.ignoreYAxisIndexes.indexOf(e)||!t.show||t.floating||0===a[e].width,s=a[e].width+n[e].width;t.opposite?r.globals.isBarHorizontal?(l=r.globals.gridWidth+r.globals.translateX-1,r.globals.translateYAxisX[e]=l-t.labels.offsetX):(l=r.globals.gridWidth+r.globals.translateX+c,i||(c=c+s+20),r.globals.translateYAxisX[e]=l-t.labels.offsetX+20):(o=r.globals.translateX-h,i||(h=h+s+20),r.globals.translateYAxisX[e]=o+t.labels.offsetX)})}},{key:"setYAxisTextAlignments",value:function(){var r=this.w,t=r.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis");(t=lt.listToArray(t)).forEach(function(t,e){var i=r.config.yaxis[e];if(void 0!==i.labels.align){var s=r.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-texts-g")),a=r.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(e,"'] .apexcharts-yaxis-label"));a=lt.listToArray(a);var n=s.getBoundingClientRect();"left"===i.labels.align?(a.forEach(function(t,e){t.setAttribute("text-anchor","start")}),i.opposite||s.setAttribute("transform","translate(-".concat(n.width,", 0)"))):"center"===i.labels.align?(a.forEach(function(t,e){t.setAttribute("text-anchor","middle")}),s.setAttribute("transform","translate(".concat(n.width/2*(i.opposite?1:-1),", 0)"))):"right"===i.labels.align&&(a.forEach(function(t,e){t.setAttribute("text-anchor","end")}),i.opposite&&s.setAttribute("transform","translate(".concat(n.width,", 0)")))}})}}]),et),D=(t(tt,[{key:"plotCoords",value:function(){var t=this.w,e=t.globals,i=this.getLegendsRect();e.axisCharts?this.setGridCoordsForAxisCharts(i):this.setGridCoordsForNonAxisCharts(i),this.titleSubtitleOffset(),e.gridHeight=e.gridHeight-t.config.grid.padding.top-t.config.grid.padding.bottom,e.gridWidth=e.gridWidth-t.config.grid.padding.left-t.config.grid.padding.right-this.xPadRight-this.xPadLeft,e.translateX=e.translateX+t.config.grid.padding.left+this.xPadLeft,e.translateY=e.translateY+t.config.grid.padding.top}},{key:"conditionalChecksForAxisCoords",value:function(t,e){var i=this.w;this.xAxisHeight=(t.height+e.height)*i.globals.LINE_HEIGHT_RATIO+15,this.xAxisWidth=t.width,this.xAxisHeight-e.height>i.config.xaxis.labels.maxHeight&&(this.xAxisHeight=i.config.xaxis.labels.maxHeight),i.config.xaxis.labels.minHeight&&this.xAxisHeight<i.config.xaxis.labels.minHeight&&(this.xAxisHeight=i.config.xaxis.labels.minHeight),i.config.xaxis.floating&&(this.xAxisHeight=0),i.globals.isBarHorizontal?this.yAxisWidth=i.globals.yLabelsCoords[0].width+i.globals.yTitleCoords[0].width+15:this.yAxisWidth=this.getTotalYAxisWidth();var s=0,a=0;i.config.yaxis.forEach(function(t){s+=t.labels.minWidth,a+=t.labels.maxWidth}),this.yAxisWidth<s&&(this.yAxisWidth=s),this.yAxisWidth>a&&(this.yAxisWidth=a)}},{key:"setGridCoordsForAxisCharts",value:function(t){var i=this.w,e=i.globals,s=this.getyAxisLabelsCoords(),a=this.getxAxisLabelsCoords(),n=this.getyAxisTitleCoords(),r=this.getxAxisTitleCoords();i.globals.yLabelsCoords=[],i.globals.yTitleCoords=[],i.config.yaxis.map(function(t,e){i.globals.yLabelsCoords.push({width:s[e].width,index:e}),i.globals.yTitleCoords.push({width:n[e].width,index:e})}),this.conditionalChecksForAxisCoords(a,r),e.translateXAxisY=i.globals.rotateXLabels?this.xAxisHeight/8:-4,e.translateXAxisX=i.globals.rotateXLabels&&i.globals.isXNumeric&&i.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,i.globals.isBarHorizontal&&(e.rotateXLabels=!1,e.translateXAxisY=parseInt(i.config.xaxis.labels.style.fontSize)/1.5*-1),e.translateXAxisY=e.translateXAxisY+i.config.xaxis.labels.offsetY,e.translateXAxisX=e.translateXAxisX+i.config.xaxis.labels.offsetX;var o=this.yAxisWidth,l=this.xAxisHeight;e.xAxisLabelsHeight=this.xAxisHeight,e.xAxisHeight=this.xAxisHeight;var h=10;switch(i.config.grid.show&&"radar"!==i.config.chart.type||(o=0,l=35),this.isSparkline&&(t={height:0,width:0},h=o=l=0),this.additionalPaddingXLabels(a),i.config.legend.position){case"bottom":e.translateY=h,e.translateX=o,e.gridHeight=e.svgHeight-t.height-l-(this.isSparkline?0:i.globals.rotateXLabels?10:15),e.gridWidth=e.svgWidth-o;break;case"top":e.translateY=t.height+h,e.translateX=o,e.gridHeight=e.svgHeight-t.height-l-(this.isSparkline?0:i.globals.rotateXLabels?10:15),e.gridWidth=e.svgWidth-o;break;case"left":e.translateY=h,e.translateX=t.width+o,e.gridHeight=e.svgHeight-l-12,e.gridWidth=e.svgWidth-t.width-o;break;case"right":e.translateY=h,e.translateX=o,e.gridHeight=e.svgHeight-l-12,e.gridWidth=e.svgWidth-t.width-o-5;break;default:throw new Error("Legend position not supported")}this.setGridXPosForDualYAxis(n,s),new R(this.ctx).setYAxisXPosition(s,n)}},{key:"setGridCoordsForNonAxisCharts",value:function(t){var e=this.w,i=e.globals,s=0;e.config.legend.show&&!e.config.legend.floating&&(s=20);var a=10,n=0;if("pie"===e.config.chart.type||"donut"===e.config.chart.type?(a+=e.config.plotOptions.pie.offsetY,n+=e.config.plotOptions.pie.offsetX):"radialBar"===e.config.chart.type&&(a+=e.config.plotOptions.radialBar.offsetY,n+=e.config.plotOptions.radialBar.offsetX),!e.config.legend.show)return i.gridHeight=i.svgHeight-35,i.gridWidth=i.gridHeight,i.translateY=a-10,void(i.translateX=n+(i.svgWidth-i.gridWidth)/2);switch(e.config.legend.position){case"bottom":i.gridHeight=i.svgHeight-t.height-35,i.gridWidth=i.gridHeight,i.translateY=a-20,i.translateX=n+(i.svgWidth-i.gridWidth)/2;break;case"top":i.gridHeight=i.svgHeight-t.height-35,i.gridWidth=i.gridHeight,i.translateY=t.height+a+10,i.translateX=n+(i.svgWidth-i.gridWidth)/2;break;case"left":i.gridWidth=i.svgWidth-t.width-s,i.gridHeight=i.gridWidth,i.translateY=a,i.translateX=n+t.width+s;break;case"right":i.gridWidth=i.svgWidth-t.width-s-5,i.gridHeight=i.gridWidth,i.translateY=a,i.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"setGridXPosForDualYAxis",value:function(i,s){var a=this.w;a.config.yaxis.map(function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&!a.config.yaxis[e].floating&&a.config.yaxis[e].show&&t.opposite&&(a.globals.translateX=a.globals.translateX-(s[e].width+i[e].width)-parseInt(a.config.yaxis[e].labels.style.fontSize)/1.2-12)})}},{key:"additionalPaddingXLabels",value:function(a){var n=this,r=this.w;if("category"===r.config.xaxis.type&&r.globals.isBarHorizontal||"numeric"===r.config.xaxis.type||"datetime"===r.config.xaxis.type){var o=r.globals.isXNumeric;r.config.yaxis.forEach(function(t,e){var i,s;(!t.show||t.floating||-1!==r.globals.collapsedSeriesIndices.indexOf(e)||o||t.opposite&&r.globals.isBarHorizontal)&&((o&&r.globals.isMultipleYAxis&&-1!==r.globals.collapsedSeriesIndices.indexOf(e)||r.globals.isBarHorizontal&&t.opposite)&&(i=a,r.config.grid.padding.left<i.width&&(n.xPadLeft=i.width/2+1)),(!r.globals.isBarHorizontal&&t.opposite&&-1!==r.globals.collapsedSeriesIndices.indexOf(e)||o&&!r.globals.isMultipleYAxis)&&(s=a,n.timescaleLabels?n.timescaleLabels[n.timescaleLabels.length-1].position+s.width>r.globals.gridWidth?r.globals.skipLastTimelinelabel=!0:r.globals.skipLastTimelinelabel=!1:"datetime"===r.config.xaxis.type?r.config.grid.padding.right<s.width&&(r.globals.skipLastTimelinelabel=!0):"datetime"!==r.config.xaxis.type&&r.config.grid.padding.right<s.width&&(n.xPadRight=s.width/2+1)))})}}},{key:"titleSubtitleOffset",value:function(){var t=this.w,e=t.globals,i=this.isSparkline||!t.globals.axisCharts?0:10;void 0!==t.config.title.text?i+=t.config.title.margin:i+=this.isSparkline||!t.globals.axisCharts?0:5,void 0!==t.config.subtitle.text?i+=t.config.subtitle.margin:i+=this.isSparkline||!t.globals.axisCharts?0:5,t.config.legend.show&&"bottom"===t.config.legend.position&&!t.config.legend.floating&&(1<t.config.series.length||!t.globals.axisCharts||t.config.legend.showForSingleSeries)&&(i+=10);var s=this.getTitleSubtitleCoords("title"),a=this.getTitleSubtitleCoords("subtitle");e.gridHeight=e.gridHeight-s.height-a.height-i,e.translateY=e.translateY+s.height+a.height+i}},{key:"getTotalYAxisWidth",value:function(){function s(t){return-1<a.globals.ignoreYAxisIndexes.indexOf(t)}var a=this.w,n=0,r=10;return a.globals.yLabelsCoords.map(function(t,e){var i=a.config.yaxis[e].floating;0<t.width&&!i?(n=n+t.width+r,s(e)&&(n=n-t.width-r)):n+=i||!a.config.yaxis[e].show?0:5}),a.globals.yTitleCoords.map(function(t,e){var i=a.config.yaxis[e].floating;r=parseInt(a.config.yaxis[e].title.style.fontSize),0<t.width&&!i?(n=n+t.width+r,s(e)&&(n=n-t.width-r)):n+=i||!a.config.yaxis[e].show?0:5}),n}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.timescaleLabels=e.globals.timelineLabels.slice(),e.globals.isBarHorizontal&&"datetime"===e.config.xaxis.type&&(this.timescaleLabels=e.globals.invertedTimelineLabels.slice());var i=this.timescaleLabels.map(function(t){return t.value}),s=i.reduce(function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e},0);return 1.05*(t=new ht(this.ctx).getTextRects(s,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(0<e.globals.timelineLabels.length){var s=this.getxAxisTimeScaleLabelsCoords();t={width:s.width,height:s.height}}else{var a="left"!==e.config.legend.position||"right"!==e.config.legend.position||e.config.legend.floating?0:this.lgRect.width,n=e.globals.xLabelFormatter,r=i.reduce(function(t,e){return t.length>e.length?t:e},0);e.globals.isBarHorizontal&&(r=e.globals.yAxisScale[0].result.reduce(function(t,e){return t.length>e.length?t:e},0));var o=r;r=new Y(this.ctx).xLabelFormat(n,r,o);var l=new ht(this.ctx),h=l.getTextRects(r,e.config.xaxis.labels.style.fontSize);(t={width:h.width,height:h.height}).width*i.length>e.globals.svgWidth-a-this.yAxisWidth&&0!==e.config.xaxis.labels.rotate?e.globals.isBarHorizontal||(e.globals.rotateXLabels=!0,h=l.getTextRects(r,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1),t.height=h.height/1.66):e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getyAxisLabelsCoords",value:function(){var n=this,r=this.w,o=[],l=10;return r.config.yaxis.map(function(t,e){if(t.show&&t.labels.show&&r.globals.yAxisScale[e].result.length){var i=r.globals.yLabelFormatters[e],s=i(r.globals.yAxisScale[e].niceMax,-1);void 0!==s&&0!==s.length||(s=r.globals.yAxisScale[e].niceMax),r.globals.isBarHorizontal&&(l=0,s=i(s=r.globals.labels.slice().reduce(function(t,e){return t.length>e.length?t:e},0),-1));var a=new ht(n.ctx).getTextRects(s,t.labels.style.fontSize);o.push({width:a.width+l,height:a.height})}else o.push({width:0,height:0})}),o}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var s=new ht(this.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=s.width,i=s.height}return{width:e,height:i}}},{key:"getyAxisTitleCoords",value:function(){var s=this,t=this.w,a=[];return t.config.yaxis.map(function(t,e){if(t.show&&void 0!==t.title.text){var i=new ht(s.ctx).getTextRects(t.title.text,t.title.style.fontSize,t.title.style.fontFamily,"rotate(-90 0 0)",!1);a.push({width:i.width,height:i.height})}else a.push({width:0,height:0})}),a}},{key:"getTitleSubtitleCoords",value:function(t){var e=this.w,i=0,s=0,a="title"===t?e.config.title.floating:e.config.subtitle.floating,n=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(t,"-text"));if(null!==n&&!a){var r=n.getBoundingClientRect();i=r.width,s=e.globals.axisCharts?r.height+5:r.height}return{width:i,height:s}}},{key:"getLegendsRect",value:function(){var t=this.w,e=t.globals.dom.baseEl.querySelector(".apexcharts-legend"),i=Object.assign({},lt.getBoundingClientRect(e));return null!==e&&!t.config.legend.floating&&t.config.legend.show?this.lgRect={x:i.x,y:i.y,height:i.height,width:0===i.height?0:i.width}:this.lgRect={x:0,y:0,height:0,width:0},this.lgRect}}]),tt),N=(t(K,[{key:"getAllSeriesEls",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series")}},{key:"getSeriesByName",value:function(t){return this.w.globals.dom.baseEl.querySelector("[seriesName='".concat(lt.escapeString(t),"']"))}},{key:"addCollapsedClassToSeries",value:function(i,s){var t=this.w;function e(t){for(var e=0;e<t.length;e++)t[e].index===s&&i.node.classList.add("apexcharts-series-collapsed")}e(t.globals.collapsedSeries),e(t.globals.ancillaryCollapsedSeries)}},{key:"resetSeries",value:function(){var t=!(0<arguments.length&&void 0!==arguments[0])||arguments[0],e=this.w,i=e.globals.initialSeries.slice();e.config.series=i,e.globals.collapsedSeries=[],e.globals.ancillaryCollapsedSeries=[],e.globals.collapsedSeriesIndices=[],e.globals.ancillaryCollapsedSeriesIndices=[],e.globals.previousPaths=[],t&&this.ctx._updateSeries(i,e.config.chart.animations.dynamicAnimation.enabled)}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w,s=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series");if("mousemove"===t.type){var a=parseInt(e.getAttribute("rel"))-1,n=null;n=i.globals.axisCharts||"radialBar"===i.config.chart.type?i.globals.axisCharts?i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(a,"']")):i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(1+a,"']")):i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(1+a,"'] path"));for(var r=0;r<s.length;r++)s[r].classList.add("legend-mouseover-inactive");null!==n&&(i.globals.axisCharts||n.parentNode.classList.remove("legend-mouseover-inactive"),n.classList.remove("legend-mouseover-inactive"))}else if("mouseout"===t.type)for(var o=0;o<s.length;o++)s[o].classList.remove("legend-mouseover-inactive")}},{key:"highlightRangeInSeries",value:function(t,e){function i(){for(var t=0;t<a.length;t++)a[t].classList.remove("legend-mouseover-inactive")}var s=this.w,a=s.globals.dom.baseEl.querySelectorAll(".apexcharts-heatmap-rect");if("mousemove"===t.type){var n=parseInt(e.getAttribute("rel"))-1;i(),function(){for(var t=0;t<a.length;t++)a[t].classList.add("legend-mouseover-inactive")}(),function(t){for(var e=0;e<a.length;e++){var i=parseInt(a[e].getAttribute("val"));i>=t.from&&i<=t.to&&a[e].classList.remove("legend-mouseover-inactive")}}(s.config.plotOptions.heatmap.colorScale.ranges[n])}else"mouseout"===t.type&&i()}},{key:"getActiveSeriesIndex",value:function(){var i=this.w,t=0;if(1<i.globals.series.length)for(var e=i.globals.series.map(function(t,e){return 0<t.length&&"bar"!==i.config.series[e].type&&"column"!==i.config.series[e].type?e:-1}),s=0;s<e.length;s++)if(-1!==e[s]){t=e[s];break}return t}},{key:"getActiveConfigSeriesIndex",value:function(){var t=this.w,e=0;if(1<t.config.series.length)for(var i=t.config.series.map(function(t,e){return t.data&&0<t.data.length?e:-1}),s=0;s<i.length;s++)if(-1!==i[s]){e=i[s];break}return e}},{key:"getPreviousPaths",value:function(){var o=this.w;function t(t,e,i){for(var s=t[e].childNodes,a={type:i,paths:[],realIndex:t[e].getAttribute("data:realIndex")},n=0;n<s.length;n++)if(s[n].hasAttribute("pathTo")){var r=s[n].getAttribute("pathTo");a.paths.push({d:r})}o.globals.previousPaths.push(a)}o.globals.previousPaths=[];var e=o.globals.dom.baseEl.querySelectorAll(".apexcharts-line-series .apexcharts-series");if(0<e.length)for(var i=e.length-1;0<=i;i--)t(e,i,"line");var s=o.globals.dom.baseEl.querySelectorAll(".apexcharts-area-series .apexcharts-series");if(0<s.length)for(var a=s.length-1;0<=a;a--)t(s,a,"area");var n=o.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series .apexcharts-series");if(0<n.length)for(var r=0;r<n.length;r++)t(n,r,"bar");var l=o.globals.dom.baseEl.querySelectorAll(".apexcharts-candlestick-series .apexcharts-series");if(0<l.length)for(var h=0;h<l.length;h++)t(l,h,"candlestick");var c=o.globals.dom.baseEl.querySelectorAll(".apexcharts-radar-series .apexcharts-series");if(0<c.length)for(var d=0;d<c.length;d++)t(c,d,"radar");var u=o.globals.dom.baseEl.querySelectorAll(".apexcharts-bubble-series .apexcharts-series");if(0<u.length)for(var g=0;g<u.length;g++){for(var f=o.globals.dom.baseEl.querySelectorAll(".apexcharts-bubble-series .apexcharts-series[data\\:realIndex='".concat(g,"'] circle")),p=[],x=0;x<f.length;x++)p.push({x:f[x].getAttribute("cx"),y:f[x].getAttribute("cy"),r:f[x].getAttribute("r")});o.globals.previousPaths.push(p)}var b=o.globals.dom.baseEl.querySelectorAll(".apexcharts-scatter-series .apexcharts-series");if(0<b.length)for(var m=0;m<b.length;m++){for(var v=o.globals.dom.baseEl.querySelectorAll(".apexcharts-scatter-series .apexcharts-series[data\\:realIndex='".concat(m,"'] circle")),y=[],w=0;w<v.length;w++)y.push({x:v[w].getAttribute("cx"),y:v[w].getAttribute("cy"),r:v[w].getAttribute("r")});o.globals.previousPaths.push(y)}var k=o.globals.dom.baseEl.querySelectorAll(".apexcharts-heatmap .apexcharts-series");if(0<k.length)for(var A=0;A<k.length;A++){for(var S=o.globals.dom.baseEl.querySelectorAll(".apexcharts-heatmap .apexcharts-series[data\\:realIndex='".concat(A,"'] rect")),C=[],L=0;L<S.length;L++)C.push({color:S[L].getAttribute("color")});o.globals.previousPaths.push(C)}o.globals.axisCharts||(o.globals.previousPaths=o.globals.series)}},{key:"handleNoData",value:function(){var t=this.w,e=t.config.noData,i=new ht(this.ctx),s=t.globals.svgWidth/2,a=t.globals.svgHeight/2,n="middle";if(t.globals.noData=!0,t.globals.animationEnded=!0,"left"===e.align?(s=10,n="start"):"right"===e.align&&(s=t.globals.svgWidth-10,n="end"),"top"===e.verticalAlign?a=50:"bottom"===e.verticalAlign&&(a=t.globals.svgHeight-50),s+=e.offsetX,a=a+parseInt(e.style.fontSize)+2,void 0!==e.text&&""!==e.text){var r=i.drawText({x:s,y:a,text:e.text,textAnchor:n,fontSize:e.style.fontSize,fontFamily:e.style.fontFamily,foreColor:e.style.color,opacity:1,class:"apexcharts-text-nodata"});r.node.setAttribute("class","apexcharts-title-text"),t.globals.dom.Paper.add(r)}}},{key:"setNullSeriesToZeroValues",value:function(t){for(var e=this.w,i=0;i<t.length;i++)if(0===t[i].length)for(var s=0;s<t[e.globals.maxValsInArrayIndex].length;s++)t[i].push(0);return t}},{key:"hasAllSeriesEqualX",value:function(){for(var t=!0,e=this.w,i=this.filteredSeriesX(),s=0;s<i.length-1;s++)if(i[s][0]!==i[s+1][0]){t=!1;break}return e.globals.allSeriesHasEqualX=t}},{key:"filteredSeriesX",value:function(){return this.w.globals.seriesX.map(function(t,e){return 0<t.length?t:[]})}}]),K),O=(t(Q,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||1<e.series.length||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),lt.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.getLegendStyles()):this.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"appendToForeignObject",value:function(){var t=this.w.globals;t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject");var e=t.dom.elLegendForeign;e.setAttribute("x",0),e.setAttribute("y",0),e.setAttribute("width",t.svgWidth),e.setAttribute("height",t.svgHeight),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),e.appendChild(t.dom.elLegendWrap),e.appendChild(this.getLegendStyles()),t.dom.Paper.node.insertBefore(e,t.dom.elGraphical.node)}},{key:"drawLegends",value:function(){var t=this.w,e=t.config.legend.fontFamily,i=t.globals.seriesNames,s=t.globals.colors.slice();if("heatmap"===t.config.chart.type){var a=t.config.plotOptions.heatmap.colorScale.ranges;i=a.map(function(t){return t.name?t.name:t.from+" - "+t.to}),s=a.map(function(t){return t.color})}for(var n=t.globals.legendFormatter,r=0;r<=i.length-1;r++){var o=n(i[r],{seriesIndex:r,w:t}),l=!1,h=!1;if(0<t.globals.collapsedSeries.length)for(var c=0;c<t.globals.collapsedSeries.length;c++)t.globals.collapsedSeries[c].index===r&&(l=!0);if(0<t.globals.ancillaryCollapsedSeriesIndices.length)for(var d=0;d<t.globals.ancillaryCollapsedSeriesIndices.length;d++)t.globals.ancillaryCollapsedSeriesIndices[d]===r&&(h=!0);var u=document.createElement("span");u.classList.add("apexcharts-legend-marker");var g=t.config.legend.markers.offsetX,f=t.config.legend.markers.offsetY,p=t.config.legend.markers.height,x=t.config.legend.markers.width,b=t.config.legend.markers.strokeWidth,m=t.config.legend.markers.strokeColor,v=t.config.legend.markers.radius,y=u.style;y.background=s[r],y.color=s[r],y.height=Array.isArray(p)?parseFloat(p[r])+"px":parseFloat(p)+"px",y.width=Array.isArray(x)?parseFloat(x[r])+"px":parseFloat(x)+"px",y.left=Array.isArray(g)?g[r]:g,y.top=Array.isArray(f)?f[r]:f,y.borderWidth=Array.isArray(b)?b[r]:b,y.borderColor=Array.isArray(m)?m[r]:m,y.borderRadius=Array.isArray(v)?parseFloat(v[r])+"px":parseFloat(v)+"px",t.config.legend.markers.customHTML&&(Array.isArray(t.config.legend.markers.customHTML)?u.innerHTML=t.config.legend.markers.customHTML[r]():u.innerHTML=t.config.legend.markers.customHTML()),ht.setAttrs(u,{rel:r+1,"data:collapsed":l||h}),(l||h)&&u.classList.add("inactive-legend");var w=document.createElement("div"),k=document.createElement("span");k.classList.add("apexcharts-legend-text"),k.innerHTML=o;var A=t.config.legend.labels.useSeriesColors?t.globals.colors[r]:t.config.legend.labels.colors;A=A||t.config.chart.foreColor,k.style.color=A,k.style.fontSize=parseFloat(t.config.legend.fontSize)+"px",k.style.fontFamily=e||t.config.chart.fontFamily,ht.setAttrs(k,{rel:r+1,"data:collapsed":l||h}),w.appendChild(u),w.appendChild(k);var S=new ct(this.ctx);t.config.legend.showForZeroSeries||0===S.getSeriesTotalByIndex(r)&&S.seriesHaveSameValues(r)&&!S.isSeriesNull(r)&&-1===t.globals.collapsedSeriesIndices.indexOf(r)&&-1===t.globals.ancillaryCollapsedSeriesIndices.indexOf(r)&&w.classList.add("apexcharts-hidden-zero-series"),t.config.legend.showForNullSeries||S.isSeriesNull(r)&&-1===t.globals.collapsedSeriesIndices.indexOf(r)&&-1===t.globals.ancillaryCollapsedSeriesIndices.indexOf(r)&&w.classList.add("apexcharts-hidden-null-series"),t.globals.dom.elLegendWrap.appendChild(w),t.globals.dom.elLegendWrap.classList.add(t.config.legend.horizontalAlign),t.globals.dom.elLegendWrap.classList.add("position-"+t.config.legend.position),w.classList.add("apexcharts-legend-series"),w.style.margin="".concat(t.config.legend.itemMargin.horizontal,"px ").concat(t.config.legend.itemMargin.vertical,"px"),t.globals.dom.elLegendWrap.style.width=t.config.legend.width?t.config.legend.width+"px":"",t.globals.dom.elLegendWrap.style.height=t.config.legend.height?t.config.legend.height+"px":"",ht.setAttrs(w,{rel:r+1,"data:collapsed":l||h}),(l||h)&&w.classList.add("inactive-legend"),t.config.legend.onItemClick.toggleDataSeries||w.classList.add("no-click")}"heatmap"!==t.config.chart.type&&t.config.legend.onItemClick.toggleDataSeries&&t.globals.dom.elWrap.addEventListener("click",this.onLegendClick,!0),t.config.legend.onItemHover.highlightDataSeries&&(t.globals.dom.elWrap.addEventListener("mousemove",this.onLegendHovered,!0),t.globals.dom.elWrap.addEventListener("mouseout",this.onLegendHovered,!0))}},{key:"getLegendBBox",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"setLegendWrapXY",value:function(t,e){var i=this.w,s=i.globals.dom.baseEl.querySelector(".apexcharts-legend"),a=s.getBoundingClientRect(),n=0,r=0;if("bottom"===i.config.legend.position)r+=i.globals.svgHeight-a.height/2;else if("top"===i.config.legend.position){var o=new D(this.ctx),l=o.getTitleSubtitleCoords("title").height,h=o.getTitleSubtitleCoords("subtitle").height;r=r+(0<l?l-10:0)+(0<h?h-10:0)}s.style.position="absolute",n=n+t+i.config.legend.offsetX,r=r+e+i.config.legend.offsetY,s.style.left=n+"px",s.style.top=r+"px","bottom"===i.config.legend.position?(s.style.top="auto",s.style.bottom=10+i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(s.style.left="auto",s.style.right=25+i.config.legend.offsetX+"px"),s.style.width&&(s.style.width=parseInt(i.config.legend.width)+"px"),s.style.height&&(s.style.height=parseInt(i.config.legend.height)+"px")}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(".apexcharts-legend").style.right=0;var e=this.getLegendBBox(),i=new D(this.ctx),s=i.getTitleSubtitleCoords("title"),a=i.getTitleSubtitleCoords("subtitle"),n=0;"bottom"===t.config.legend.position?n=-e.clwh/1.8:"top"===t.config.legend.position&&(n=s.height+a.height+t.config.title.margin+t.config.subtitle.margin-15),this.setLegendWrapXY(20,n)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"!==e.config.chart.type)!t.target.classList.contains("inactive-legend")&&i&&new N(this.ctx).toggleSeriesOnHover(t,t.target);else if(i){var s=parseInt(t.target.getAttribute("rel"))-1;this.ctx.fireEvent("legendHover",[this.ctx,s,this.w]),new N(this.ctx).highlightRangeInSeries(t,t.target)}}},{key:"onLegendClick",value:function(t){if(t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker")){var e=parseInt(t.target.getAttribute("rel"))-1,i="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,e,this.w),this.ctx.fireEvent("legendClick",[this.ctx,e,this.w]);var a=this.w.config.legend.markers.onClick;"function"==typeof a&&t.target.classList.contains("apexcharts-legend-marker")&&(a(this.ctx,e,this.w),this.ctx.fireEvent("legendMarkerClick",[this.ctx,e,this.w])),this.toggleDataSeries(e,i)}}},{key:"getLegendStyles",value:function(){var t=document.createElement("style");t.setAttribute("type","text/css");var e=document.createTextNode("\n \n .apexcharts-legend {\n display: flex;\n overflow: auto;\n padding: 0 10px;\n }\n\n .apexcharts-legend.position-bottom, .apexcharts-legend.position-top {\n flex-wrap: wrap\n }\n .apexcharts-legend.position-right, .apexcharts-legend.position-left {\n flex-direction: column;\n bottom: 0;\n }\n\n .apexcharts-legend.position-bottom.left, .apexcharts-legend.position-top.left, .apexcharts-legend.position-right, .apexcharts-legend.position-left {\n justify-content: flex-start;\n }\n\n .apexcharts-legend.position-bottom.center, .apexcharts-legend.position-top.center {\n justify-content: center; \n }\n\n .apexcharts-legend.position-bottom.right, .apexcharts-legend.position-top.right {\n justify-content: flex-end;\n }\n\n .apexcharts-legend-series {\n cursor: pointer;\n line-height: normal;\n }\n\n .apexcharts-legend.position-bottom .apexcharts-legend-series, .apexcharts-legend.position-top .apexcharts-legend-series{\n display: flex;\n align-items: center;\n }\n\n .apexcharts-legend-text {\n position: relative;\n font-size: 14px;\n }\n\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\n pointer-events: none;\n }\n\n .apexcharts-legend-marker {\n position: relative;\n display: inline-block;\n cursor: pointer;\n margin-right: 3px;\n }\n \n .apexcharts-legend.right .apexcharts-legend-series, .apexcharts-legend.left .apexcharts-legend-series{\n display: inline-block;\n }\n\n .apexcharts-legend-series.no-click {\n cursor: auto;\n }\n\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\n display: none !important;\n }\n\n .inactive-legend {\n opacity: 0.45;\n }");return t.appendChild(e),t}},{key:"toggleDataSeries",value:function(t,e){var i=this.w;if(i.globals.axisCharts||"radialBar"===i.config.chart.type){i.globals.resized=!0;var s=null,a=null;if(i.globals.risingSeries=[],a=i.globals.axisCharts?(s=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),parseInt(s.getAttribute("data:realIndex"))):(s=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),parseInt(s.getAttribute("rel"))-1),e)this.riseCollapsedSeries(i.globals.collapsedSeries,i.globals.collapsedSeriesIndices,a),this.riseCollapsedSeries(i.globals.ancillaryCollapsedSeries,i.globals.ancillaryCollapsedSeriesIndices,a);else{if(i.globals.axisCharts){var n=!1;if(i.config.yaxis[a]&&i.config.yaxis[a].show&&i.config.yaxis[a].showAlways&&(n=!0,i.globals.ancillaryCollapsedSeriesIndices.indexOf(a)<0&&(i.globals.ancillaryCollapsedSeries.push({index:a,data:i.config.series[a].data.slice(),type:s.parentNode.className.baseVal.split("-")[1]}),i.globals.ancillaryCollapsedSeriesIndices.push(a))),!n){i.globals.collapsedSeries.push({index:a,data:i.config.series[a].data.slice(),type:s.parentNode.className.baseVal.split("-")[1]}),i.globals.collapsedSeriesIndices.push(a);var r=i.globals.risingSeries.indexOf(a);i.globals.risingSeries.splice(r,1)}i.config.series[a].data=[]}else i.globals.collapsedSeries.push({index:a,data:i.config.series[a]}),i.globals.collapsedSeriesIndices.push(a),i.config.series[a]=0;for(var o=s.childNodes,l=0;l<o.length;l++)o[l].classList.contains("apexcharts-series-markers-wrap")&&(o[l].classList.contains("apexcharts-hide")?o[l].classList.remove("apexcharts-hide"):o[l].classList.add("apexcharts-hide"));i.globals.allSeriesCollapsed=i.globals.collapsedSeries.length===i.globals.series.length,this.ctx._updateSeries(i.config.series,i.config.chart.animations.dynamicAnimation.enabled)}}else{var h=i.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(t+1,"'] path")),c=i.config.chart.type;if("pie"===c||"donut"===c){var d=i.config.plotOptions.pie.donut.labels,u=new ht(this.ctx),g=new z(this.ctx);u.pathMouseDown(h.members[0],null),g.printDataLabelsInner(h.members[0].node,d)}h.fire("click")}}},{key:"riseCollapsedSeries",value:function(t,e,i){var s=this.w;if(0<t.length)for(var a=0;a<t.length;a++)t[a].index===i&&(s.globals.axisCharts?s.config.series[i].data=t[a].data.slice():s.config.series[i]=t[a].data,t.splice(a,1),e.splice(a,1),s.globals.risingSeries.push(i),this.ctx._updateSeries(s.config.series,s.config.chart.animations.dynamicAnimation.enabled))}}]),Q),H=(t(J,[{key:"draw",value:function(t,e,i){var s=this.w,a=new ht(this.ctx),n=new dt(this.ctx),r=s.globals.comboCharts?e:s.config.chart.type,o=a.group({class:"apexcharts-".concat(r,"-series apexcharts-plot-series")}),l=new ct(this.ctx,s);t=l.getLogSeries(t);var h=this.xyRatios.yRatio;h=l.getLogYRatios(h);for(var c=this.xyRatios.zRatio,d=this.xyRatios.xRatio,u=this.xyRatios.baseLineY,g=[],f=[],p=0,x=0;x<t.length;x++){if("line"===r&&("gradient"===s.config.fill.type||"gradient"===s.config.fill.type[x])&&l.seriesHaveSameValues(x)){var b=t[x].slice();b[b.length-1]=b[b.length-1]+1e-6,t[x]=b}var m=s.globals.gridWidth/s.globals.dataPoints,v=s.globals.comboCharts?i[x]:x;1<h.length&&(this.yaxisIndex=v),this.isReversed=s.config.yaxis[this.yaxisIndex]&&s.config.yaxis[this.yaxisIndex].reversed;var y=[],w=[],k=s.globals.gridHeight-u[this.yaxisIndex]-(this.isReversed?s.globals.gridHeight:0)+(this.isReversed?2*u[this.yaxisIndex]:0),A=k;k>s.globals.gridHeight&&(A=s.globals.gridHeight),p=m/2;var S=s.globals.padHorizontal+p,C=1;s.globals.isXNumeric&&0<s.globals.seriesX.length&&(S=(s.globals.seriesX[v][0]-s.globals.minX)/d),w.push(S);var L=void 0,z=void 0,P=void 0,E=void 0,M=[],T=[],X=a.group({class:"apexcharts-series",seriesName:lt.escapeString(s.globals.seriesNames[v])}),I=a.group({class:"apexcharts-series-markers-wrap"}),Y=a.group({class:"apexcharts-datalabels"});this.ctx.series.addCollapsedClassToSeries(X,v);var F=t[x].length===s.globals.dataPoints;X.attr({"data:longestSeries":F,rel:x+1,"data:realIndex":v}),this.appendPathFrom=!0;var R=S,D=void 0,N=R,O=k,H=0;if(O=this.determineFirstPrevY({i:x,series:t,yRatio:h[this.yaxisIndex],zeroY:k,prevY:O,prevSeriesY:f,lineYPosition:H}).prevY,y.push(O),D=O,null===t[x][0]){for(var W=0;W<t[x].length;W++)if(null!==t[x][W]){N=m*W,O=k-t[x][W]/h[this.yaxisIndex],L=a.move(N,O),z=a.move(N,A);break}}else L=a.move(N,O),z=a.move(N,A)+a.line(N,O);if(P=a.move(-1,k)+a.line(-1,k),E=a.move(-1,k)+a.line(-1,k),0<s.globals.previousPaths.length){var B=this.checkPreviousPaths({pathFromLine:P,pathFromArea:E,realIndex:v});P=B.pathFromLine,E=B.pathFromArea}for(var V=1<s.globals.dataPoints?s.globals.dataPoints-1:s.globals.dataPoints,G=0;G<V;G++){if(s.globals.isXNumeric){var _=s.globals.seriesX[v][G+1];void 0===s.globals.seriesX[v][G+1]&&(_=s.globals.seriesX[v][V-1]),S=(_-s.globals.minX)/d}else S+=m;var j=lt.isNumber(s.globals.minYArr[v])?s.globals.minYArr[v]:s.globals.minY;C=s.config.chart.stacked?(H=0<x&&s.globals.collapsedSeries.length<s.config.series.length-1?f[x-1][G+1]:k,void 0===t[x][G+1]||null===t[x][G+1]?H-j/h[this.yaxisIndex]+2*(this.isReversed?j/h[this.yaxisIndex]:0):H-t[x][G+1]/h[this.yaxisIndex]+2*(this.isReversed?t[x][G+1]/h[this.yaxisIndex]:0)):void 0===t[x][G+1]||null===t[x][G+1]?k-j/h[this.yaxisIndex]+2*(this.isReversed?j/h[this.yaxisIndex]:0):k-t[x][G+1]/h[this.yaxisIndex]+2*(this.isReversed?t[x][G+1]/h[this.yaxisIndex]:0),w.push(S),y.push(C);var U=this.createPaths({series:t,i:x,j:G,x:S,y:C,xDivision:m,pX:R,pY:D,areaBottomY:A,linePath:L,areaPath:z,linePaths:M,areaPaths:T,seriesIndex:i});T=U.areaPaths,M=U.linePaths,R=U.pX,D=U.pY,z=U.areaPath,L=U.linePath,this.appendPathFrom&&(P+=a.line(S,k),E+=a.line(S,k));var q=this.calculatePoints({series:t,x:S,y:C,realIndex:v,i:x,j:G,prevY:O,categoryAxisCorrection:p,xRatio:d});if(this.pointsChart)this.scatter.draw(X,G,{realIndex:v,pointsPos:q,zRatio:c,elParent:I});else{var Z=new ut(this.ctx);1<s.globals.dataPoints&&I.node.classList.add("hidden");var $=Z.plotChartMarkers(q,v,G+1);null!==$&&I.add($)}var J=!t[x][G+1]||t[x][G+1]>t[x][G]?"top":"bottom",Q=new gt(this.ctx).drawDataLabel(q,v,G+1,null,J);null!==Q&&Y.add(Q)}f.push(y),s.globals.seriesXvalues[v]=w,s.globals.seriesYvalues[v]=y,this.pointsChart||s.globals.delayedElements.push({el:I.node,index:v});var K={i:x,realIndex:v,animationDelay:x,initialSpeed:s.config.chart.animations.speed,dataChangeSpeed:s.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(r)};if("area"===r)for(var tt=n.fillPath({seriesNumber:v}),et=0;et<T.length;et++){var it=a.renderPaths(ot({},K,{pathFrom:E,pathTo:T[et],stroke:"none",strokeWidth:0,strokeLineCap:null,fill:tt}));X.add(it)}if(s.config.stroke.show&&!this.pointsChart){var st;st="line"===r?n.fillPath({seriesNumber:v,i:x}):s.globals.stroke.colors[v];for(var at=0;at<M.length;at++){var nt=a.renderPaths(ot({},K,{pathFrom:P,pathTo:M[at],stroke:st,strokeWidth:Array.isArray(s.config.stroke.width)?s.config.stroke.width[v]:s.config.stroke.width,strokeLineCap:s.config.stroke.lineCap,fill:"none"}));X.add(nt)}}X.add(I),X.add(Y),g.push(X)}for(var rt=g.length;0<rt;rt--)o.add(g[rt-1]);return o}},{key:"createPaths",value:function(t){var e=t.series,i=t.i,s=t.j,a=t.x,n=t.y,r=t.pX,o=t.pY,l=t.xDivision,h=t.areaBottomY,c=t.linePath,d=t.areaPath,u=t.linePaths,g=t.areaPaths,f=t.seriesIndex,p=this.w,x=new ht(this.ctx),b=p.config.stroke.curve;if(Array.isArray(p.config.stroke.curve)&&(b=Array.isArray(f)?p.config.stroke.curve[f[i]]:p.config.stroke.curve[i]),"smooth"===b){var m=.35*(a-r);p.globals.hasNullValues?(null!==e[i][s]&&(d=null!==e[i][s+1]?(c=x.move(r,o)+x.curve(r+m,o,a-m,n,a+1,n),x.move(r+1,o)+x.curve(r+m,o,a-m,n,a+1,n)+x.line(a,h)+x.line(r,h)+"z"):(c=x.move(r,o),x.move(r,o)+"z")),u.push(c),g.push(d)):(c+=x.curve(r+m,o,a-m,n,a,n),d+=x.curve(r+m,o,a-m,n,a,n)),r=a,o=n,s===e[i].length-2&&(d=d+x.curve(r,o,a,n,a,h)+x.move(a,n)+"z",p.globals.hasNullValues||(u.push(c),g.push(d)))}else null===e[i][s+1]&&(c+=x.move(a,n),d=d+x.line(a-l,h)+x.move(a,n)),null===e[i][s]&&(c+=x.move(a,n),d+=x.move(a,h)),"stepline"===b?(c=c+x.line(a,null,"H")+x.line(null,n,"V"),d=d+x.line(a,null,"H")+x.line(null,n,"V")):"straight"===b&&(c+=x.line(a,n),d+=x.line(a,n)),s===e[i].length-2&&(d=d+x.line(a,h)+x.move(a,n)+"z",u.push(c),g.push(d));return{linePaths:u,areaPaths:g,pX:r,pY:o,linePath:c,areaPath:d}}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,s=t.x,a=t.y,n=t.i,r=t.j,o=t.prevY,l=t.categoryAxisCorrection,h=t.xRatio,c=this.w,d=[],u=[];if(0===r){var g=l+c.config.markers.offsetX;c.globals.isXNumeric&&(g=(c.globals.seriesX[i][0]-c.globals.minX)/h+c.config.markers.offsetX),d.push(g),u.push(lt.isNumber(e[n][0])?o+c.config.markers.offsetY:null),d.push(s+c.config.markers.offsetX),u.push(lt.isNumber(e[n][r+1])?a+c.config.markers.offsetY:null)}else d.push(s+c.config.markers.offsetX),u.push(lt.isNumber(e[n][r+1])?a+c.config.markers.offsetY:null);return{x:d,y:u}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,s=t.realIndex,a=this.w,n=0;n<a.globals.previousPaths.length;n++){var r=a.globals.previousPaths[n];("line"===r.type||"area"===r.type)&&0<r.paths.length&&parseInt(r.realIndex)===parseInt(s)&&("line"===r.type?(this.appendPathFrom=!1,e=a.globals.previousPaths[n].paths[0].d):"area"===r.type&&(this.appendPathFrom=!1,i=a.globals.previousPaths[n].paths[0].d,a.config.stroke.show&&(e=a.globals.previousPaths[n].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e=t.i,i=t.series,s=t.yRatio,a=t.zeroY,n=t.prevY,r=t.prevSeriesY,o=t.lineYPosition,l=this.w;if(void 0!==i[e][0])n=l.config.chart.stacked?(o=0<e?r[e-1][0]:a)-i[e][0]/s+2*(this.isReversed?i[e][0]/s:0):a-i[e][0]/s+2*(this.isReversed?i[e][0]/s:0);else if(l.config.chart.stacked&&0<e&&void 0===i[e][0])for(var h=e-1;0<=h;h--)if(null!==i[h][0]&&void 0!==i[h][0]){n=o=r[h][0];break}return{prevY:n,lineYPosition:o}}}]),J),W=(t($,[{key:"drawXaxis",value:function(){var t,e=this.w,i=new ht(this.ctx),s=i.group({class:"apexcharts-xaxis",transform:"translate(".concat(e.config.xaxis.offsetX,", ").concat(e.config.xaxis.offsetY,")")}),a=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});s.add(a);for(var n=e.globals.padHorizontal,r=[],o=0;o<this.xaxisLabels.length;o++)r.push(this.xaxisLabels[o]);n=e.globals.isXNumeric?n+(t=e.globals.gridWidth/(r.length-1))/2+e.config.xaxis.labels.offsetX:n+(t=e.globals.gridWidth/r.length)+e.config.xaxis.labels.offsetX;var l=r.length;if(e.config.xaxis.labels.show)for(var h=0;h<=l-1;h++){var c=n-t/2+e.config.xaxis.labels.offsetX,d=this.axesUtils.getLabel(r,e.globals.timelineLabels,c,h,this.drawnLabels);this.drawnLabels.push(d.text);var u=28;e.globals.rotateXLabels&&(u=22);var g=i.drawText({x:d.x,y:this.offY+e.config.xaxis.labels.offsetY+u,text:"",textAnchor:"middle",fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[h]:this.xaxisForeColors,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});h===l-1&&e.globals.skipLastTimelinelabel&&(d.text=""),a.add(g),i.addTspan(g,d.text,this.xaxisFontFamily);var f=document.createElementNS(e.globals.SVGNS,"title");f.textContent=d.text,g.node.appendChild(f),n+=t}if(void 0!==e.config.xaxis.title.text){var p=i.group({class:"apexcharts-xaxis-title"}),x=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.offY-parseInt(this.xaxisFontSize)+e.globals.xAxisLabelsHeight+e.config.xaxis.title.offsetY,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});p.add(x),s.add(p)}if(e.config.xaxis.axisBorder.show){var b=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(b-=15);var m=i.drawLine(e.globals.padHorizontal+b+e.config.xaxis.axisBorder.offsetX,this.offY,this.xaxisBorderWidth,this.offY,e.config.xaxis.axisBorder.color,0,this.xaxisBorderHeight);s.add(m)}return s}},{key:"drawXaxisInversed",value:function(t){var e,i,s=this.w,a=new ht(this.ctx),n=s.config.yaxis[0].opposite?s.globals.translateYAxisX[t]:0,r=a.group({class:"apexcharts-yaxis apexcharts-xaxis-inversed",rel:t}),o=a.group({class:"apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g",transform:"translate("+n+", 0)"});r.add(o);for(var l=[],h=0;h<this.xaxisLabels.length;h++)l.push(this.xaxisLabels[h]);i=-(e=s.globals.gridHeight/l.length)/2.2;var c=s.globals.yLabelFormatters[0],d=s.config.yaxis[0].labels;if(d.show)for(var u=0;u<=l.length-1;u++){var g=void 0===l[u]?"":l[u];g=c(g);var f=a.drawText({x:d.offsetX-15,y:i+e+d.offsetY,text:g,textAnchor:this.yaxis.opposite?"start":"end",foreColor:d.style.color?d.style.color:d.style.colors[u],fontSize:d.style.fontSize,fontFamily:d.style.fontFamily,cssClass:"apexcharts-yaxis-label "+d.style.cssClass});if(o.add(f),0!==s.config.yaxis[t].labels.rotate){var p=a.rotateAroundCenter(f.node);f.node.setAttribute("transform","rotate(".concat(s.config.yaxis[t].labels.rotate," ").concat(p.x," ").concat(p.y,")"))}i+=e}if(void 0!==s.config.yaxis[0].title.text){var x=a.group({class:"apexcharts-yaxis-title apexcharts-xaxis-title-inversed",transform:"translate("+n+", 0)"}),b=a.drawText({x:0,y:s.globals.gridHeight/2,text:s.config.yaxis[0].title.text,textAnchor:"middle",foreColor:s.config.yaxis[0].title.style.color,fontSize:s.config.yaxis[0].title.style.fontSize,fontFamily:s.config.yaxis[0].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+s.config.yaxis[0].title.style.cssClass});x.add(b),r.add(x)}if(s.config.xaxis.axisBorder.show){var m=a.drawLine(s.globals.padHorizontal+s.config.xaxis.axisBorder.offsetX,this.offY,this.xaxisBorderWidth,this.offY,this.yaxis.axisBorder.color,0,this.xaxisBorderHeight);r.add(m),this.axesUtils.drawYAxisTicks(0,l.length,s.config.yaxis[0].axisBorder,s.config.yaxis[0].axisTicks,0,e,r)}return r}},{key:"drawXaxisTicks",value:function(t,e){var i=this.w,s=t;if(!(t<0||t>i.globals.gridWidth)){var a=this.offY+i.config.xaxis.axisTicks.offsetY,n=a+i.config.xaxis.axisTicks.height;if(i.config.xaxis.axisTicks.show){var r=new ht(this.ctx).drawLine(t+i.config.xaxis.axisTicks.offsetX,a+i.config.xaxis.offsetY,s+i.config.xaxis.axisTicks.offsetX,n+i.config.xaxis.offsetY,i.config.xaxis.axisTicks.color);e.add(r),r.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,s=t.globals.padHorizontal;if(0<t.globals.timelineLabels.length)for(var a=0;a<i;a++)s=this.xaxisLabels[a].position,e.push(s);else for(var n=i,r=0;r<n;r++){var o=n;t.globals.isXNumeric&&"bar"!==t.config.chart.type&&(o-=1),s+=t.globals.gridWidth/o,e.push(s)}return e}},{key:"xAxisLabelCorrections",value:function(){var t=this.w,e=new ht(this.ctx),i=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g"),s=t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-texts-g text"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-inversed text"),n=t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-inversed-texts-g text");if(t.globals.rotateXLabels||t.config.xaxis.labels.rotateAlways)for(var r=0;r<s.length;r++){var o=e.rotateAroundCenter(s[r]);o.y=o.y-1,o.x=o.x+1,s[r].setAttribute("transform","rotate(".concat(t.config.xaxis.labels.rotate," ").concat(o.x," ").concat(o.y,")")),s[r].setAttribute("text-anchor","end"),i.setAttribute("transform","translate(0, ".concat(-10,")"));var l=s[r].childNodes;t.config.xaxis.labels.trim&&e.placeTextWithEllipsis(l[0],l[0].textContent,t.config.xaxis.labels.maxHeight-40)}else for(var h=t.globals.gridWidth/t.globals.labels.length,c=0;c<s.length;c++){var d=s[c].childNodes;t.config.xaxis.labels.trim&&"datetime"!==t.config.xaxis.type&&e.placeTextWithEllipsis(d[0],d[0].textContent,h)}if(0<a.length){var u=a[a.length-1].getBBox(),g=a[0].getBBox();u.x<-20&&a[a.length-1].parentNode.removeChild(a[a.length-1]),g.x+g.width>t.globals.gridWidth&&a[0].parentNode.removeChild(a[0]);for(var f=0;f<n.length;f++)e.placeTextWithEllipsis(n[f],n[f].textContent,t.config.yaxis[0].labels.maxWidth-2*parseInt(t.config.yaxis[0].title.style.fontSize)-20)}}}]),$),B=(t(Z,[{key:"niceScale",value:function(t,e,i){var s=3<arguments.length&&void 0!==arguments[3]?arguments[3]:0,a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:10,n=this.w,r=void 0===this.w.config.yaxis[s].max&&void 0===this.w.config.yaxis[s].min||this.w.config.yaxis[s].forceNiceScale;if(t===Number.MIN_VALUE&&0===e||!lt.isNumber(t)&&!lt.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)return t=0,e=a,this.linearScale(t,e,a);e<t?(console.warn("yaxis.min cannot be greater than yaxis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var o=[],l=Math.abs(e-t);l<1&&r&&("candlestick"===n.config.chart.type||"candlestick"===n.config.series[s].type||n.globals.isRangeData)&&(e*=1.01);var h=a+1;h<2?h=2:2<h&&(h-=2);var c=l/h,d=Math.floor(lt.log10(c)),u=Math.pow(10,d),g=parseInt(c/u)*u,f=g*Math.floor(t/g),p=g*Math.ceil(e/g),x=f;if(r&&6<i){for(;o.push(x),!((x+=g)>p););return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}var b=t;(o=[]).push(b);for(var m=Math.abs(e-t)/a,v=0;v<=a;v++)b+=m,o.push(b);return o[o.length-2]>=e&&o.pop(),{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:"linearScale",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:10,s=Math.abs(e-t)/i;i===Number.MAX_VALUE&&(i=10,s=1);for(var a=[],n=t;0<=i;)a.push(n),n+=s,i-=1;return{result:a,niceMin:a[0],niceMax:a[a.length-1]}}},{key:"logarithmicScale",value:function(t,a,n,e){(a<0||a===Number.MIN_VALUE)&&(a=.01);for(var r=Math.log(a)/Math.log(10),o=Math.log(n)/Math.log(10),i=Math.abs(n-a)/e,s=[],l=a;0<=e;)s.push(l),l+=i,e-=1;var h=s.map(function(t,e){t<=0&&(t=.01);var i=(o-r)/(n-a),s=Math.pow(10,r+i*(t-r));return Math.round(s/lt.roundToBase(s,10))*lt.roundToBase(s,10)});return 0===h[0]&&(h[0]=1),{result:h,niceMin:h[0],niceMax:h[h.length-1]}}},{key:"setYScaleForIndex",value:function(t,e,i){var s=this.w.globals,a=this.w.config,n=s.isBarHorizontal?a.xaxis:a.yaxis[t];if(void 0===s.yAxisScale[t]&&(s.yAxisScale[t]=[]),n.logarithmic)s.allSeriesCollapsed=!1,s.yAxisScale[t]=this.logarithmicScale(t,e,i,n.tickAmount?n.tickAmount:Math.floor(Math.log10(i)));else if(i!==-Number.MAX_VALUE&<.isNumber(i))if(s.allSeriesCollapsed=!1,void 0===n.min&&void 0===n.max||n.forceNiceScale){var r=Math.abs(i-e);s.yAxisScale[t]=this.niceScale(e,i,r,t,n.tickAmount?n.tickAmount:r<5&&1<r?r+1:5)}else s.yAxisScale[t]=this.linearScale(e,i,n.tickAmount);else s.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setMultipleYScales",value:function(){var n=this,r=this.w.globals,o=this.w.config,l=r.minYArr.concat([]),h=r.maxYArr.concat([]),c=[];o.yaxis.forEach(function(i,s){var a=s;o.series.forEach(function(t,e){t.name===i.seriesName&&-1===r.collapsedSeriesIndices.indexOf(e)&&(s!==(a=e)?c.push({index:e,similarIndex:s,alreadyExists:!0}):c.push({index:e}))});var t=l[a],e=h[a];n.setYScaleForIndex(s,t,e)}),this.sameScaleInMultipleAxes(l,h,c)}},{key:"sameScaleInMultipleAxes",value:function(t,a,e){var o=this,l=this.w.config,h=this.w.globals,n=[];e.forEach(function(t){t.alreadyExists&&(void 0===n[t.index]&&(n[t.index]=[]),n[t.index].push(t.index),n[t.index].push(t.similarIndex))}),(h.yAxisSameScaleIndices=n).forEach(function(s,a){n.forEach(function(t,e){var i;a!==e&&0<(i=t,s.filter(function(t){return-1!==i.indexOf(t)})).length&&(n[a]=n[a].concat(n[e]))})});var i=n.map(function(i){return i.filter(function(t,e){return i.indexOf(t)===e})}).map(function(t){return t.sort()});n=n.filter(function(t){return!!t});var r=i.slice(),s=r.map(function(t){return JSON.stringify(t)});r=r.filter(function(t,e){return s.indexOf(JSON.stringify(t))===e});var c=[],d=[];t.forEach(function(i,s){r.forEach(function(t,e){-1<t.indexOf(s)&&(void 0===c[e]&&(c[e]=[],d[e]=[]),c[e].push({key:s,value:i}),d[e].push({key:s,value:a[s]}))})});var u=Array.apply(null,Array(r.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),g=Array.apply(null,Array(r.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach(function(t,i){t.forEach(function(t,e){u[i]=Math.min(t.value,u[i])})}),d.forEach(function(t,i){t.forEach(function(t,e){g[i]=Math.max(t.value,g[i])})}),t.forEach(function(t,r){d.forEach(function(i,s){var a=u[s],n=g[s];l.chart.stacked&&(n=0,i.forEach(function(t,e){n+=t.value,a!==Number.MIN_VALUE&&(a+=c[s][e].value)})),i.forEach(function(t,e){i[e].key===r&&(void 0!==l.yaxis[r].min&&(a="function"==typeof l.yaxis[r].min?l.yaxis[r].min(h.minY):l.yaxis[r].min),void 0!==l.yaxis[r].max&&(n="function"==typeof l.yaxis[r].max?l.yaxis[r].max(h.maxY):l.yaxis[r].max),o.setYScaleForIndex(r,a,n))})})})}},{key:"autoScaleY",value:function(t,c,d){var u=(t=t||this).w;if(u.globals.isMultipleYAxis)return c;var g=u.globals.seriesX[0],f=u.config.chart.stacked;return c.forEach(function(s,t){for(var a=0,e=0;e<g.length;e++)if(g[e]>=d.xaxis.min){a=e;break}var r,o,n=u.globals.minYArr[t],l=u.globals.maxYArr[t],h=u.globals.stackedSeriesTotals;u.globals.series.forEach(function(i,t){var e=i[a];f?(e=h[a],r=o=e,h.forEach(function(t,e){g[e]<=d.xaxis.max&&g[e]>=d.xaxis.min&&(o<t&&null!==t&&(o=t),i[e]<r&&null!==i[e]&&(r=i[e]))})):(r=o=e,i.forEach(function(i,s){if(g[s]<=d.xaxis.max&&g[s]>=d.xaxis.min){var a=i,n=i;u.globals.series.forEach(function(t,e){null!==i&&(a=Math.min(t[s],a),n=Math.max(t[s],n))}),o<n&&null!==n&&(o=n),a<r&&null!==a&&(r=a)}})),void 0===r&&void 0===o&&(r=n,o=l),(o*=o<0?.9:1.1)<0&&o<l&&(o=l),(r*=r<0?1.1:.9)<0&&n<r&&(r=n),1<c.length?(c[t].min=void 0===s.min?r:s.min,c[t].max=void 0===s.max?o:s.max):(c[0].min=void 0===s.min?r:s.min,c[0].max=void 0===s.max?o:s.max)})}),c}}]),Z),V=(t(q,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,s=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,a=this.w.globals,n=-Number.MAX_VALUE,r=Number.MIN_VALUE;null===s&&(s=t+1);var o=a.series,l=o,h=o;"candlestick"===this.w.config.chart.type?(l=a.seriesCandleL,h=a.seriesCandleH):a.isRangeData&&(l=a.seriesRangeStart,h=a.seriesRangeEnd);for(var c=t;c<s;c++){a.dataPoints=Math.max(a.dataPoints,o[c].length);for(var d=0;d<a.series[c].length;d++){var u=o[c][d];null!==u&<.isNumber(u)?(n=Math.max(n,h[c][d]),e=Math.min(e,l[c][d]),i=Math.max(i,l[c][d]),"candlestick"===this.w.config.chart.type&&(n=Math.max(n,a.seriesCandleO[c][d]),n=Math.max(n,a.seriesCandleH[c][d]),n=Math.max(n,a.seriesCandleL[c][d]),i=n=Math.max(n,a.seriesCandleC[c][d])),lt.isFloat(u)&&(u=lt.noExponents(u),a.yValueDecimal=Math.max(a.yValueDecimal,u.toString().split(".")[1].length)),r>l[c][d]&&l[c][d]<0&&(r=l[c][d])):a.hasNullValues=!0}}return{minY:r,maxY:n,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var i=this.w.globals,t=this.w.config;i.maxY=-Number.MAX_VALUE,i.minY=Number.MIN_VALUE;var e=Number.MAX_VALUE;if(i.isMultipleYAxis)for(var s=0;s<i.series.length;s++){var a=this.getMinYMaxY(s,e,null,s+1);i.minYArr.push(a.minY),i.maxYArr.push(a.maxY),e=a.lowestY}var n=this.getMinYMaxY(0,e,null,i.series.length);if(i.minY=n.minY,i.maxY=n.maxY,e=n.lowestY,t.chart.stacked){var r=[],o=[];if(i.series.length)for(var l=0;l<i.series[i.maxValsInArrayIndex].length;l++)for(var h=0,c=0,d=0;d<i.series.length;d++)null!==i.series[d][l]&<.isNumber(i.series[d][l])&&(0<i.series[d][l]?h=h+parseFloat(i.series[d][l])+1e-4:c+=parseFloat(i.series[d][l])),d===i.series.length-1&&(r.push(h),o.push(c));for(var u=0;u<r.length;u++)i.maxY=Math.max(i.maxY,r[u]),i.minY=Math.min(i.minY,o[u])}if(("line"===t.chart.type||"area"===t.chart.type||"candlestick"===t.chart.type)&&i.minY===Number.MIN_VALUE&&e!==-Number.MAX_VALUE&&e!==i.maxY){var g=i.maxY-e;0<=e&&e<=10&&(g=0),i.minY=e-5*g/100,i.maxY=i.maxY+5*g/100}return t.yaxis.map(function(t,e){void 0!==t.max&&("number"==typeof t.max?i.maxYArr[e]=t.max:"function"==typeof t.max&&(i.maxYArr[e]=t.max(i.maxY)),i.maxY=i.maxYArr[e]),void 0!==t.min&&("number"==typeof t.min?i.minYArr[e]=t.min:"function"==typeof t.min&&(i.minYArr[e]=t.min(i.minY)),i.minY=i.minYArr[e])}),i.isBarHorizontal&&(void 0!==t.xaxis.min&&"number"==typeof t.xaxis.min&&(i.minY=t.xaxis.min),void 0!==t.xaxis.max&&"number"==typeof t.xaxis.max&&(i.maxY=t.xaxis.max)),i.isMultipleYAxis?(this.scales.setMultipleYScales(),i.minY=e,i.yAxisScale.forEach(function(t,e){i.minYArr[e]=t.niceMin,i.maxYArr[e]=t.niceMax})):(this.scales.setYScaleForIndex(0,i.minY,i.maxY),i.minY=i.yAxisScale[0].niceMin,i.maxY=i.yAxisScale[0].niceMax,i.minYArr[0]=i.yAxisScale[0].niceMin,i.maxYArr[0]=i.yAxisScale[0].niceMax),{minY:i.minY,maxY:i.maxY,minYArr:i.minYArr,maxYArr:i.maxYArr}}},{key:"setXRange",value:function(){var t,a=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!a.noLabelsProvided||a.noLabelsProvided||a.isXNumeric;if(a.isXNumeric)for(var s=0;s<a.series.length;s++)if(a.labels[s])for(var n=0;n<a.labels[s].length;n++)null!==a.labels[s][n]&<.isNumber(a.labels[s][n])&&(a.maxX=Math.max(a.maxX,a.labels[s][n]),a.initialmaxX=Math.max(a.maxX,a.labels[s][n]),a.minX=Math.min(a.minX,a.labels[s][n]),a.initialminX=Math.min(a.minX,a.labels[s][n]));if(a.noLabelsProvided&&0===e.xaxis.categories.length&&(a.maxX=a.labels[a.labels.length-1],a.initialmaxX=a.labels[a.labels.length-1],a.minX=1,a.initialminX=1),(a.comboChartsHasBars||"candlestick"===e.chart.type||"bar"===e.chart.type&&a.isXNumeric)&&("category"!==e.xaxis.type||a.isXNumeric)){var r=a.svgWidth/a.dataPoints*(Math.abs(a.maxX-a.minX)/a.svgWidth),o=a.minX-r/2;a.minX=o,a.initialminX=o;var l=a.maxX+r/((a.series.length+1)/a.series.length);a.maxX=l,a.initialmaxX=l}if(!a.isXNumeric&&!a.noLabelsProvided||e.xaxis.convertedCatToNumeric&&!a.dataFormatXNumeric||(void 0===e.xaxis.tickAmount?(t=Math.round(a.svgWidth/150),"numeric"===e.xaxis.type&&a.dataPoints<20&&(t=a.dataPoints-1),t>a.dataPoints&&0!==a.dataPoints&&(t=a.dataPoints-1)):t="dataPoints"===e.xaxis.tickAmount?a.series[a.maxValsInArrayIndex].length-1:e.xaxis.tickAmount,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(a.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(a.minX=e.xaxis.min),void 0!==e.xaxis.range&&(a.minX=a.maxX-e.xaxis.range),a.minX!==Number.MAX_VALUE&&a.maxX!==-Number.MAX_VALUE?a.xAxisScale=this.scales.linearScale(a.minX,a.maxX,t):(a.xAxisScale=this.scales.linearScale(1,t,t),a.noLabelsProvided&&0<a.labels.length&&(a.xAxisScale=this.scales.linearScale(1,a.labels.length,t-1),a.seriesX=a.labels.slice())),i&&(a.labels=a.xAxisScale.result.slice())),a.minX===a.maxX)if("datetime"===e.xaxis.type){var h=new Date(a.minX);h.setDate(h.getDate()-2),a.minX=new Date(h).getTime();var c=new Date(a.maxX);c.setDate(c.getDate()+2),a.maxX=new Date(c).getTime()}else"numeric"!==e.xaxis.type&&("category"!==e.xaxis.type||a.noLabelsProvided)||(a.minX=a.minX-2,a.maxX=a.maxX+2);return a.isXNumeric&&(a.seriesX.forEach(function(t,s){t.forEach(function(t,e){if(0<e){var i=t-a.seriesX[s][e-1];a.minXDiff=Math.min(i,a.minXDiff)}})}),this.calcMinXDiffForTinySeries()),{minX:a.minX,maxX:a.maxX}}},{key:"calcMinXDiffForTinySeries",value:function(){var t=this.w,e=t.globals.labels.length;return 1===t.globals.labels.length?t.globals.minXDiff=(t.globals.maxX-t.globals.minX)/e/3:t.globals.minXDiff===Number.MAX_VALUE&&(0<t.globals.timelineLabels.length&&(e=t.globals.timelineLabels.length),e<3&&(e=3),t.globals.minXDiff=(t.globals.maxX-t.globals.minX)/e),t.globals.minXDiff}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e<t.series.length;e++)if(void 0!==t.seriesZ[e])for(var i=0;i<t.seriesZ[e].length;i++)null!==t.seriesZ[e][i]&<.isNumber(t.seriesZ[e][i])&&(t.maxZ=Math.max(t.maxZ,t.seriesZ[e][i]),t.minZ=Math.min(t.minZ,t.seriesZ[e][i]))}}]),q),G=(t(U,[{key:"calculateTimeScaleTicks",value:function(t,e){var r=this,o=this.w;if(o.globals.allSeriesCollapsed)return o.globals.labels=[],o.globals.timelineLabels=[],[];var i=new k(this.ctx),s=(e-t)/864e5;this.determineInterval(s),o.globals.disableZoomIn=!1,o.globals.disableZoomOut=!1,s<.005?o.globals.disableZoomIn=!0:5e4<s&&(o.globals.disableZoomOut=!0);var a=i.getTimeUnitsfromTimestamp(t,e),n=o.globals.gridWidth/s,l=n/24,h=l/60,c=Math.floor(24*s),d=Math.floor(24*s*60),u=Math.floor(s),g=Math.floor(s/30),f=Math.floor(s/365),p={minMinute:a.minMinute,minHour:a.minHour,minDate:a.minDate,minMonth:a.minMonth,minYear:a.minYear},x={firstVal:p,currentMinute:p.minMinute,currentHour:p.minHour,currentMonthDate:p.minDate,currentDate:p.minDate,currentMonth:p.minMonth,currentYear:p.minYear,daysWidthOnXAxis:n,hoursWidthOnXAxis:l,minutesWidthOnXAxis:h,numberOfMinutes:d,numberOfHours:c,numberOfDays:u,numberOfMonths:g,numberOfYears:f};switch(this.tickInterval){case"years":this.generateYearScale(x);break;case"months":case"half_year":this.generateMonthScale(x);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(x);break;case"hours":this.generateHourScale(x);break;case"minutes":this.generateMinuteScale(x)}var b=this.timeScaleArray.map(function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?ot({},e,{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?ot({},e,{value:t.value}):"minute"===t.unit?ot({},e,{value:t.value,minute:t.value}):t});return b.filter(function(t){var e=1,i=Math.ceil(o.globals.gridWidth/120),s=t.value;void 0!==o.config.xaxis.tickAmount&&(i=o.config.xaxis.tickAmount),b.length>i&&(e=Math.floor(b.length/i));var a=!1,n=!1;switch(r.tickInterval){case"half_year":e=7,"year"===t.unit&&(a=!0);break;case"months":e=1,"year"===t.unit&&(a=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(a=!0),30===s&&(n=!0);break;case"months_days":e=10,"month"===t.unit&&(a=!0),30===s&&(n=!0);break;case"week_days":e=8,"month"===t.unit&&(a=!0);break;case"days":e=1,"month"===t.unit&&(a=!0);break;case"hours":"day"===t.unit&&(a=!0);break;case"minutes":s%5!=0&&(n=!0)}if("minutes"===r.tickInterval||"hours"===r.tickInterval){if(!n)return!0}else if((s%e==0||a)&&!n)return!0})}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,s=this.formatDates(t),a=this.removeOverlappingTS(s);e?i.globals.invertedTimelineLabels=a.slice():i.globals.timelineLabels=a.slice(),new D(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){switch(!0){case 1825<t:this.tickInterval="years";break;case 800<t&&t<=1825:this.tickInterval="half_year";break;case 180<t&&t<=800:this.tickInterval="months";break;case 90<t&&t<=180:this.tickInterval="months_fortnight";break;case 60<t&&t<=90:this.tickInterval="months_days";break;case 30<t&&t<=60:this.tickInterval="week_days";break;case 2<t&&t<=30:this.tickInterval="days";break;case.1<t&&t<=2:this.tickInterval="hours";break;case t<.1:this.tickInterval="minutes";break;default:this.tickInterval="days"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,s=t.currentYear,a=t.daysWidthOnXAxis,n=t.numberOfYears,r=e.minYear,o=0,l=new k(this.ctx);if(1<e.minDate&&0<e.minMonth){var h=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);o=(l.determineDaysOfYear(e.minYear)-h+1)*a,r=e.minYear+1,this.timeScaleArray.push({position:o,value:r,unit:"year",year:r,month:lt.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:o,value:r,unit:"year",year:s,month:lt.monthMod(i+1)});for(var c=r,d=o,u=0;u<n;u++)c++,d=l.determineDaysOfYear(c-1)*a+d,this.timeScaleArray.push({position:d,value:c,unit:"year",year:c,month:1})}},{key:"generateMonthScale",value:function(t){var e=t.firstVal,i=t.currentMonthDate,s=t.currentMonth,a=t.currentYear,n=t.daysWidthOnXAxis,r=t.numberOfMonths,o=s,l=0,h=new k(this.ctx),c="month",d=0;if(1<e.minDate){l=(h.determineDaysOfMonths(s+1,e.minYear)-i+1)*n,o=lt.monthMod(s+1);var u=a+d,g=lt.monthMod(o),f=o;0===o&&(c="year",f=u,u+=d+=g=1),this.timeScaleArray.push({position:l,value:f,unit:c,year:u,month:g})}else this.timeScaleArray.push({position:l,value:o,unit:c,year:a,month:lt.monthMod(s)});for(var p=o+1,x=l,b=0;b<r;b++){0===(p=lt.monthMod(p))?(c="year",d+=1):c="month";var m=a+Math.floor(p/12)+d;x=h.determineDaysOfMonths(p,m)*n+x;var v=0===p?m:p;this.timeScaleArray.push({position:x,value:v,unit:c,year:m,month:0===p?1:p}),p++}}},{key:"generateDayScale",value:function(t){function e(t,e,i){return t>o.determineDaysOfMonths(e+1,i)&&(l="month",d=e+=u=1),e}var i=t.firstVal,s=t.currentMonth,a=t.currentYear,n=t.hoursWidthOnXAxis,r=t.numberOfDays,o=new k(this.ctx),l="day",h=(24-i.minHour)*n,c=i.minDate+1,d=c,u=c,g=e(u,s,a);this.timeScaleArray.push({position:h,value:d,unit:l,year:a,month:lt.monthMod(g),day:u});for(var f=h,p=0;p<r;p++){l="day",g=e(u+=1,g,a+Math.floor(g/12)+0);var x=a+Math.floor(g/12)+0;f=24*n+f;var b=1===u?lt.monthMod(g):u;this.timeScaleArray.push({position:f,value:b,unit:l,year:x,month:lt.monthMod(g),day:b})}}},{key:"generateHourScale",value:function(t){function e(t,e){return t>l.determineDaysOfMonths(e+1,n)?e+=1:e}var i=t.firstVal,s=t.currentDate,a=t.currentMonth,n=t.currentYear,r=t.minutesWidthOnXAxis,o=t.numberOfHours,l=new k(this.ctx),h="hour",c=60-i.minMinute,d=c*r,u=i.minHour+1,g=u+1;60==c&&(d=0,g=(u=i.minHour)+1);var f,p,x=s,b=e(x,a);this.timeScaleArray.push({position:d,value:u,unit:h,day:x,hour:g,year:n,month:lt.monthMod(b)});for(var m=d,v=0;v<o;v++){h="hour",24<=g&&(g=0,h="day",b=(f=x+=1,p=b,f>l.determineDaysOfMonths(p+1,n)&&(p+=x=1),{month:p,date:x}).month,b=e(x,b));var y=n+Math.floor(b/12)+0;m=0===g&&0===v?c*r:60*r+m;var w=0===g?x:g;this.timeScaleArray.push({position:m,value:w,unit:h,hour:g,day:x,year:y,month:lt.monthMod(b)}),g++}}},{key:"generateMinuteScale",value:function(t){var e=t.firstVal,i=t.currentMinute,s=t.currentHour,a=t.currentDate,n=t.currentMonth,r=t.currentYear,o=t.minutesWidthOnXAxis,l=t.numberOfMinutes,h=o-(i-e.minMinute),c=e.minMinute+1,d=c+1,u=a,g=n,f=r,p=s;this.timeScaleArray.push({position:h,value:c,unit:"minute",day:u,hour:p,minute:d,year:f,month:lt.monthMod(g)});for(var x=h,b=0;b<l;b++){60<=d&&(d=0,24===(p+=1)&&(p=0));var m=r+Math.floor(g/12)+0;x=o+x;var v=d;this.timeScaleArray.push({position:x,value:v,unit:"minute",hour:p,minute:d,day:u,year:m,month:lt.monthMod(g)}),d++}}},{key:"createRawDateString",value:function(t,e){var i=t.year;return i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),i+("minute"===t.unit?":"+("0"+e).slice(-2)+":00.000Z":":00:00.000Z")}},{key:"formatDates",value:function(t){var o=this,l=this.w;return t.map(function(t){var e=t.value.toString(),i=new k(o.ctx),s=o.createRawDateString(t,e),a=new Date(Date.parse(s));if(void 0===l.config.xaxis.labels.format){var n="dd MMM",r=l.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(n=r.year),"month"===t.unit&&(n=r.month),"day"===t.unit&&(n=r.day),"hour"===t.unit&&(n=r.hour),"minute"===t.unit&&(n=r.minute),e=i.formatDate(a,n,!0,!1)}else e=i.formatDate(a,l.config.xaxis.labels.format);return{dateString:s,position:t.position,value:e,unit:t.unit,year:t.year,month:t.month}})}},{key:"removeOverlappingTS",value:function(a){var n=this,r=new ht(this.ctx),o=0,t=a.map(function(t,e){if(0<e&&n.w.config.xaxis.labels.hideOverlappingLabels){var i=r.getTextRects(a[o].value).width,s=a[o].position;return t.position>s+i+10?(o=e,t):null}return t});return t.filter(function(t){return null!==t})}}]),U),_=(t(j,[{key:"setupElements",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=-1<["line","area","bar","rangeBar","candlestick","radar","scatter","bubble","heatmap"].indexOf(i),t.xyCharts=-1<["line","area","bar","rangeBar","candlestick","scatter","bubble"].indexOf(i),t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.cuid,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),ht.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elWrap.appendChild(t.dom.elLegendWrap),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(i,t){var s=this.w,e=s.config,a=s.globals,n={series:[],i:[]},r={series:[],i:[]},o={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]};a.series.map(function(t,e){void 0!==i[e].type?("column"===i[e].type||"bar"===i[e].type?(s.config.plotOptions.bar.horizontal=!1,l.series.push(t),l.i.push(e)):"area"===i[e].type?(r.series.push(t),r.i.push(e)):"line"===i[e].type?(n.series.push(t),n.i.push(e)):"scatter"===i[e].type?(o.series.push(t),o.i.push(e)):"bubble"===i[e].type||("candlestick"===i[e].type?(h.series.push(t),h.i.push(e)):console.warn("You have specified an unrecognized chart type. Available types for this propery are line/area/column/bar/scatter/bubble")),a.comboCharts=!0):(n.series.push(t),n.i.push(e))});var c=new H(this.ctx,t),d=new A(this.ctx,t),u=new z(this.ctx),g=new M(this.ctx),f=new I(this.ctx,t),p=new E(this.ctx),x=[];if(a.comboCharts){if(0<r.series.length&&x.push(c.draw(r.series,"area",r.i)),0<l.series.length)if(s.config.chart.stacked){var b=new y(this.ctx,t);x.push(b.draw(l.series,l.i))}else{var m=new P(this.ctx,t);x.push(m.draw(l.series,l.i))}if(0<n.series.length&&x.push(c.draw(n.series,"line",n.i)),0<h.series.length&&x.push(d.draw(h.series,h.i)),0<o.series.length){var v=new H(this.ctx,t,!0);x.push(v.draw(o.series,"scatter",o.i))}}else switch(e.chart.type){case"line":x=c.draw(a.series,"line");break;case"area":x=c.draw(a.series,"area");break;case"bar":x=e.chart.stacked?new y(this.ctx,t).draw(a.series):new P(this.ctx,t).draw(a.series);break;case"candlestick":x=new A(this.ctx,t).draw(a.series);break;case"rangeBar":x=f.draw(a.series);break;case"heatmap":x=new L(this.ctx,t).draw(a.series);break;case"pie":case"donut":x=u.draw(a.series);break;case"radialBar":x=g.draw(a.series);break;case"radar":x=p.draw(a.series);break;default:x=c.draw(a.series)}return x}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=lt.getDimensions(this.el),s=e.chart.width.toString().split(/[0-9]+/g).pop();if("%"===s?lt.isNumber(i[0])&&(0===i[0].width&&(i=lt.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width)/100):"px"!==s&&""!==s||(t.svgWidth=parseInt(e.chart.width)),"auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===e.chart.height.toString().split(/[0-9]+/g).pop()){var a=lt.getDimensions(this.el.parentNode);t.svgHeight=a[1]*parseInt(e.chart.height)/100}else t.svgHeight=parseInt(e.chart.height);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth;t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),ht.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight});var n=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+n+"px",t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};ht.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0;"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||(i=new O(this.ctx).getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar"),a=2*t.globals.radialSize;s&&-90!==t.config.plotOptions.radialBar.startAngle&&(a=lt.getBoundingClientRect(s).height);var n=Math.max(a,2*t.globals.radialSize)+e.translateY+i+20;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",n),e.dom.elWrap.style.height=n+"px",ht.setAttrs(e.dom.Paper.node,{height:n}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=n+"px"}},{key:"coreCalculations",value:function(){new V(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this.w.globals;t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesPercent=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.stackedSeriesTotals=[],t.labels=[],t.timelineLabels=[],t.noLabelsProvided=!1,t.timescaleTicks=[],t.resizeTimer=null,t.selectionResizeTimer=null,t.seriesXvalues=this.w.config.series.map(function(t){return[]}),t.seriesYvalues=this.w.config.series.map(function(t){return[]}),t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.isDataXYZ=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialmaxX=-Number.MAX_VALUE,t.initialminX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&1<this.w.config.yaxis.length)return this.w.globals.isMultipleYAxis=!0}},{key:"excludeCollapsedSeriesInYAxis",value:function(){var i=this,t=this.w;t.globals.ignoreYAxisIndexes=t.globals.collapsedSeries.map(function(t,e){if(i.w.globals.isMultipleYAxis)return t.index})}},{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new N(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&0<t[this.activeSeriesIndex].data.length&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new N(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&0<t[this.activeSeriesIndex].data.length&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,s=this.w.globals,a=0;a<t[e].data.length;a++)if(void 0!==t[e].data[a][1]&&(Array.isArray(t[e].data[a][1])&&4===t[e].data[a][1].length?this.twoDSeries.push(lt.parseNumber(t[e].data[a][1][3])):this.twoDSeries.push(lt.parseNumber(t[e].data[a][1])),s.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var n=new Date(t[e].data[a][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(t[e].data[a][0]);for(var r=0;r<t[e].data.length;r++)void 0!==t[e].data[r][2]&&(this.threeDSeries.push(t[e].data[r][2]),s.isDataXYZ=!0)}},{key:"handleFormatXY",value:function(t,e){var i=this.w.config,s=this.w.globals,a=new k(this.ctx),n=e;-1<s.collapsedSeriesIndices.indexOf(e)&&(n=this.activeSeriesIndex);for(var r=0;r<t[e].data.length;r++)void 0!==t[e].data[r].y&&(Array.isArray(t[e].data[r].y)?this.twoDSeries.push(lt.parseNumber(t[e].data[r].y[t[e].data[r].y.length-1])):this.twoDSeries.push(lt.parseNumber(t[e].data[r].y)));for(var o=0;o<t[n].data.length;o++){var l="string"==typeof t[n].data[o].x,h=!!a.isValidDate(t[n].data[o].x.toString());l||h?l?"datetime"!==i.xaxis.type||s.isRangeData?(this.fallbackToCategory=!0,this.twoDSeriesX.push(t[n].data[o].x)):this.twoDSeriesX.push(a.parseDate(t[n].data[o].x)):"datetime"===i.xaxis.type?this.twoDSeriesX.push(a.parseDate(t[n].data[o].x.toString())):(s.dataFormatXNumeric=!0,s.isXNumeric=!0,this.twoDSeriesX.push(parseFloat(t[n].data[o].x))):(s.isXNumeric=!0,s.dataFormatXNumeric=!0,this.twoDSeriesX.push(t[n].data[o].x))}if(t[e].data[0]&&void 0!==t[e].data[0].z){for(var c=0;c<t[e].data.length;c++)this.threeDSeries.push(t[e].data[c].z);s.isDataXYZ=!0}}},{key:"handleRangeData",value:function(t,e){var i=this.w.globals,s={};return this.isFormat2DArray()?s=this.handleRangeDataFormat("array",t,e):this.isFormatXY()&&(s=this.handleRangeDataFormat("xy",t,e)),i.seriesRangeStart.push(s.start),i.seriesRangeEnd.push(s.end),s}},{key:"handleCandleStickData",value:function(t,e){var i=this.w.globals,s={};return this.isFormat2DArray()?s=this.handleCandleStickDataFormat("array",t,e):this.isFormatXY()&&(s=this.handleCandleStickDataFormat("xy",t,e)),i.seriesCandleO.push(s.o),i.seriesCandleH.push(s.h),i.seriesCandleL.push(s.l),i.seriesCandleC.push(s.c),s}},{key:"handleRangeDataFormat",value:function(t,e,i){var s=[],a=[],n="Please provide [Start, End] values in valid format. Read more https://apexcharts.com/docs/series/#rangecharts",r=new N(this.ctx).getActiveConfigSeriesIndex();if("array"===t){if(2!==e[r].data[0][1].length)throw new Error(n);for(var o=0;o<e[i].data.length;o++)s.push(e[i].data[o][1][0]),a.push(e[i].data[o][1][1])}else if("xy"===t){if(2!==e[r].data[0].y.length)throw new Error(n);for(var l=0;l<e[i].data.length;l++)s.push(e[i].data[l].y[0]),a.push(e[i].data[l].y[1])}return{start:s,end:a}}},{key:"handleCandleStickDataFormat",value:function(t,e,i){var s=[],a=[],n=[],r=[],o="Please provide [Open, High, Low and Close] values in valid format. Read more https://apexcharts.com/docs/series/#candlestick";if("array"===t){if(4!==e[i].data[0][1].length)throw new Error(o);for(var l=0;l<e[i].data.length;l++)s.push(e[i].data[l][1][0]),a.push(e[i].data[l][1][1]),n.push(e[i].data[l][1][2]),r.push(e[i].data[l][1][3])}else if("xy"===t){if(4!==e[i].data[0].y.length)throw new Error(o);for(var h=0;h<e[i].data.length;h++)s.push(e[i].data[h].y[0]),a.push(e[i].data[h].y[1]),n.push(e[i].data[h].y[2]),r.push(e[i].data[h].y[3])}return{o:s,h:a,l:n,c:r}}},{key:"parseDataAxisCharts",value:function(t){for(var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.ctx,i=this.w.config,s=this.w.globals,a=new k(e),n=0;n<t.length;n++){if(this.twoDSeries=[],this.twoDSeriesX=[],this.threeDSeries=[],void 0===t[n].data)return void console.error("It is a possibility that you may have not included 'data' property in series.");if("rangeBar"!==i.chart.type&&"rangeArea"!==i.chart.type&&"rangeBar"!==t[n].type&&"rangeArea"!==t[n].type||(s.isRangeData=!0,this.handleRangeData(t,n)),this.isMultiFormat())this.isFormat2DArray()?this.handleFormat2DArray(t,n):this.isFormatXY()&&this.handleFormatXY(t,n),"candlestick"!==i.chart.type&&"candlestick"!==t[n].type||this.handleCandleStickData(t,n),s.series.push(this.twoDSeries),s.labels.push(this.twoDSeriesX),s.seriesX.push(this.twoDSeriesX),this.fallbackToCategory||(s.isXNumeric=!0);else{if("datetime"===i.xaxis.type){s.isXNumeric=!0;for(var r=0<i.labels.length?i.labels.slice():i.xaxis.categories.slice(),o=0;o<r.length;o++)if("string"==typeof r[o]){if(!a.isValidDate(r[o]))throw new Error("You have provided invalid Date format. Please provide a valid JavaScript Date");this.twoDSeriesX.push(a.parseDate(r[o]))}else{if(13!==String(r[o]).length)throw new Error("Please provide a valid JavaScript timestamp");this.twoDSeriesX.push(r[o])}s.seriesX.push(this.twoDSeriesX)}else if("numeric"===i.xaxis.type){s.isXNumeric=!0;var l=0<i.labels.length?i.labels.slice():i.xaxis.categories.slice();0<l.length&&(this.twoDSeriesX=l,s.seriesX.push(this.twoDSeriesX))}s.labels.push(this.twoDSeriesX);var h=t[n].data.map(function(t){return lt.parseNumber(t)});s.series.push(h)}s.seriesZ.push(this.threeDSeries),void 0!==t[n].name?s.seriesNames.push(t[n].name):s.seriesNames.push("series-"+parseInt(n+1))}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var s=0;s<e.series.length;s++)void 0===e.seriesNames[s]&&e.seriesNames.push("series-"+(s+1));return this.w}},{key:"handleExternalLabelsData",value:function(t){var e=this.w.config,i=this.w.globals;if(0<e.xaxis.categories.length)i.labels=e.xaxis.categories;else if(0<e.labels.length)i.labels=e.labels.slice();else if(this.fallbackToCategory)i.labels=i.labels[0];else{var s=[];if(i.axisCharts){if(0<i.series.length)for(var a=0;a<i.series[i.maxValsInArrayIndex].length;a++)s.push(a+1);for(var n=0;n<t.length;n++)i.seriesX.push(s);i.isXNumeric=!0}if(0===s.length){s=[0,10];for(var r=0;r<t.length;r++)i.seriesX.push(s)}i.labels=s,i.noLabelsProvided=!0}}},{key:"parseData",value:function(t){var e=this.w,i=e.config,s=e.globals;if(this.excludeCollapsedSeriesInYAxis(),this.fallbackToCategory=!1,this.resetGlobals(),this.isMultipleY(),s.axisCharts?this.parseDataAxisCharts(t):this.parseDataNonAxisCharts(t),this.coreUtils.getLargestSeries(),"bar"===i.chart.type&&i.chart.stacked){var a=new N(this.ctx);s.series=a.setNullSeriesToZeroValues(s.series)}this.coreUtils.getSeriesTotals(),s.axisCharts&&this.coreUtils.getStackedSeriesTotals(),this.coreUtils.getPercentSeries(),s.dataFormatXNumeric||s.isXNumeric&&("numeric"!==i.xaxis.type||0!==i.labels.length||0!==i.xaxis.categories.length)||this.handleExternalLabelsData(t)}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts&&("back"===e.config.xaxis.crosshairs.position&&new C(this.ctx).drawXCrosshairs(),"back"===e.config.yaxis[0].crosshairs.position&&new C(this.ctx).drawYCrosshairs(),t=this.coreUtils.getCalculatedRatios(),"datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter)){var i,s=new G(this.ctx);isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?(i=s.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX),s.recalcDimensionsBasedOnFormat(i,!1)):e.globals.isBarHorizontal&&(i=s.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY),s.recalcDimensionsBasedOnFormat(i,!0))}return t}},{key:"drawAxis",value:function(t,e){var i,s,a=this.w.globals,n=this.w.config,r=new W(this.ctx),o=new R(this.ctx);a.axisCharts&&"radar"!==t&&(a.isBarHorizontal?(s=o.drawYaxisInversed(0),i=r.drawXaxisInversed(0),a.dom.elGraphical.add(i),a.dom.elGraphical.add(s)):(i=r.drawXaxis(),a.dom.elGraphical.add(i),n.yaxis.map(function(t,e){-1===a.ignoreYAxisIndexes.indexOf(e)&&(s=o.drawYaxis(e),a.dom.Paper.add(s))}))),n.yaxis.map(function(t,e){-1===a.ignoreYAxisIndexes.indexOf(e)&&o.yAxisTitleRotate(e,t.opposite)})}},{key:"setupBrushHandler",value:function(){var s=this,a=this.w;if(a.config.chart.brush.enabled&&"function"!=typeof a.config.chart.events.selection){var e=a.config.chart.brush.targets||[a.config.chart.brush.target];e.forEach(function(t){var e=ApexCharts.getChartByID(t);function i(){s.ctx._updateOptions({chart:{selection:{xaxis:{min:e.w.globals.minX,max:e.w.globals.maxX}}}},!1,!1)}e.w.globals.brushSource=s.ctx,"function"!=typeof e.w.config.chart.events.zoomed&&(e.w.config.chart.events.zoomed=function(){i()}),"function"!=typeof e.w.config.chart.events.scrolled&&(e.w.config.chart.events.scrolled=function(){i()})}),a.config.chart.events.selection=function(t,s){e.forEach(function(t){var e=ApexCharts.getChartByID(t),i=lt.clone(a.config.yaxis);a.config.chart.brush.autoScaleYaxis&&(i=new B(e).autoScaleY(e,i,s)),e._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:i},!1,!1,!1,!1)})}}}}]),j);function j(t,e){a(this,j),this.ctx=e,this.w=e.w,this.el=t,this.coreUtils=new ct(this.ctx),this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[]}function U(t){a(this,U),this.ctx=t,this.w=t.w,this.timeScaleArray=[]}function q(t){a(this,q),this.ctx=t,this.w=t.w,this.scales=new B(t)}function Z(t){a(this,Z),this.ctx=t,this.w=t.w}function $(t){a(this,$),this.ctx=t,this.w=t.w;var e=this.w;this.xaxisLabels=e.globals.labels.slice(),0<e.globals.timelineLabels.length&&(this.xaxisLabels=e.globals.timelineLabels.slice()),this.drawnLabels=[],"top"===e.config.xaxis.position?this.offY=0:this.offY=e.globals.gridHeight+1,this.offY=this.offY+e.config.xaxis.axisBorder.offsetY,this.xaxisFontSize=e.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=e.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=e.config.xaxis.labels.style.colors,this.xaxisBorderWidth=e.config.xaxis.axisBorder.width,-1<this.xaxisBorderWidth.indexOf("%")?this.xaxisBorderWidth=e.globals.gridWidth*parseInt(this.xaxisBorderWidth)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth),this.xaxisBorderHeight=e.config.xaxis.axisBorder.height,this.yaxis=e.config.yaxis[0],this.axesUtils=new F(t)}function J(t,e,i){a(this,J),this.ctx=t,this.w=t.w,this.xyRatios=e,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||i,this.scatter=new v(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.yaxisIndex=0}function Q(t,e){a(this,Q),this.ctx=t,this.w=t.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this)}function K(t){a(this,K),this.ctx=t,this.w=t.w}function tt(t){a(this,tt),this.ctx=t,this.w=t.w,this.lgRect={},this.yAxisWidth=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.xPadRight=0,this.xPadLeft=0}function et(t){a(this,et),this.ctx=t,this.w=t.w;var e=this.w;this.xaxisFontSize=e.config.xaxis.labels.style.fontSize,this.axisFontFamily=e.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=e.config.xaxis.labels.style.colors,this.xAxisoffX=0,"bottom"===e.config.xaxis.position&&(this.xAxisoffX=e.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new F(t)}function it(t){a(this,it),this.ctx=t,this.w=t.w}function st(t){a(this,st),this.ctx=t,this.w=t.w,this.tooltipKeyFormat="dd MMM"}function at(){return a(this,at),o(this,r(at).apply(this,arguments))}function nt(t){var e;a(this,nt),(e=o(this,r(nt).call(this,t))).ctx=t,e.w=t.w,e.animBeginArr=[0],e.animDur=0;var i=e.w;return e.startAngle=i.config.plotOptions.radialBar.startAngle,e.endAngle=i.config.plotOptions.radialBar.endAngle,e.trackStartAngle=i.config.plotOptions.radialBar.track.startAngle,e.trackEndAngle=i.config.plotOptions.radialBar.track.endAngle,e.radialDataLabels=i.config.plotOptions.radialBar.dataLabels,e.trackStartAngle||(e.trackStartAngle=e.startAngle),e.trackEndAngle||(e.trackEndAngle=e.endAngle),360===e.endAngle&&(e.endAngle=359.99),e.fullAngle=360-i.config.plotOptions.radialBar.endAngle-i.config.plotOptions.radialBar.startAngle,e.margin=parseInt(i.config.plotOptions.radialBar.track.margin),e}function rt(t){a(this,rt),this.ctx=t,this.w=t.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var e=this.w;this.graphics=new ht(this.ctx),this.lineColorArr=void 0!==e.globals.stroke.colors?e.globals.stroke.colors:e.globals.colors,this.defaultSize=e.globals.svgHeight<e.globals.svgWidth?e.globals.svgHeight-35:e.globals.gridWidth,this.maxValue=this.w.globals.maxY,this.polygons=e.config.plotOptions.radar.polygons,this.maxLabelWidth=20;var i=e.globals.labels.slice().sort(function(t,e){return e.length-t.length})[0],s=this.graphics.getTextRects(i,e.config.dataLabels.style.fontSize);this.size=this.defaultSize/2.1-e.config.stroke.width-e.config.chart.dropShadow.blur-s.width/1.75,void 0!==e.config.plotOptions.radar.size&&(this.size=e.config.plotOptions.radar.size),this.dataRadiusOfPercent=[],this.dataRadius=[],this.angleArr=[],this.yaxisLabelsTextsPos=[]}function ft(t){a(this,ft),this.ctx=t,this.w=t.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels;var e=this.w;this.lineColorArr=void 0!==e.globals.stroke.colors?e.globals.stroke.colors:e.globals.colors,this.defaultSize=e.globals.svgHeight<e.globals.svgWidth?e.globals.svgHeight-35:e.globals.gridWidth,this.centerY=this.defaultSize/2,this.centerX=e.globals.gridWidth/2,this.fullAngle=360,this.donutSize=0,this.sliceLabels=[],this.prevSectorAngleArr=[]}function pt(t,e){a(this,pt),this.ctx=t,this.w=t.w,this.xRatio=e.xRatio,this.yRatio=e.yRatio,this.negRange=!1,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.width}function xt(t){a(this,xt),this.ctx=t,this.w=t.w}function bt(){return a(this,bt),o(this,r(bt).apply(this,arguments))}function mt(){return a(this,mt),o(this,r(mt).apply(this,arguments))}function vt(t,e){a(this,vt),this.ctx=t,this.w=t.w;var i=this.w;this.barOptions=i.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=i.config.stroke.width,this.isNullValue=!1,this.xyRatios=e,null!==this.xyRatios&&(this.xRatio=e.xRatio,this.yRatio=e.yRatio,this.invertedXRatio=e.invertedXRatio,this.invertedYRatio=e.invertedYRatio,this.baseLineY=e.baseLineY,this.baseLineInvertedY=e.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0}function yt(t){a(this,yt),this.ctx=t,this.w=t.w}function wt(t){a(this,wt),this.ctx=t,this.w=t.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.radiusSizes=[]}function kt(t,e){a(this,kt),this.ctx=t,this.w=t.w}function At(t){a(this,At),this.ctx=t,this.w=t.w,this.opts=null,this.seriesIndex=0}function St(t){a(this,St),this.opts=t}function Ct(){a(this,Ct)}function Lt(t){a(this,Lt),this.opts=t}function zt(t){a(this,zt),this.ctx=t,this.w=t.w}function Pt(t){a(this,Pt),this.opts=t}function Et(t){a(this,Et),this.ctx=t,this.w=t.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}function Mt(t){a(this,Mt),this.ctx=t,this.w=t.w,this.graphics=new ht(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}function Tt(){a(this,Tt),this.yAxis={show:!0,showAlways:!1,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#78909C",offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#78909C",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.xAxisAnnotation={x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.yAxisAnnotation={y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",opacity:.3,offsetX:0,offsetY:0,yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,cssClass:"",padding:{left:5,right:5,top:0,bottom:2}}}},this.pointAnnotation={x:0,y:null,yAxisIndex:0,seriesIndex:0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,radius:2,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,text:void 0,textAnchor:"middle",offsetX:0,offsetY:-15,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,cssClass:"",padding:{left:5,right:5,top:0,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0}}}var Xt=setTimeout;function It(){}function Yt(t){if(!(this instanceof Yt))throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],Ht(t,this)}function Ft(i,s){for(;3===i._state;)i=i._value;0!==i._state?(i._handled=!0,Yt._immediateFn(function(){var t=1===i._state?s.onFulfilled:s.onRejected;if(null!==t){var e;try{e=t(i._value)}catch(t){return void Dt(s.promise,t)}Rt(s.promise,e)}else(1===i._state?Rt:Dt)(s.promise,i._value)})):i._deferreds.push(s)}function Rt(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var i=e.then;if(e instanceof Yt)return t._state=3,t._value=e,void Nt(t);if("function"==typeof i)return void Ht((s=i,a=e,function(){s.apply(a,arguments)}),t)}t._state=1,t._value=e,Nt(t)}catch(e){Dt(t,e)}var s,a}function Dt(t,e){t._state=2,t._value=e,Nt(t)}function Nt(t){2===t._state&&0===t._deferreds.length&&Yt._immediateFn(function(){t._handled||Yt._unhandledRejectionFn(t._value)});for(var e=0,i=t._deferreds.length;e<i;e++)Ft(t,t._deferreds[e]);t._deferreds=null}function Ot(t,e,i){this.onFulfilled="function"==typeof t?t:null,this.onRejected="function"==typeof e?e:null,this.promise=i}function Ht(t,e){var i=!1;try{t(function(t){i||(i=!0,Rt(e,t))},function(t){i||(i=!0,Dt(e,t))})}catch(t){if(i)return;i=!0,Dt(e,t)}}Yt.prototype.catch=function(t){return this.then(null,t)},Yt.prototype.then=function(t,e){var i=new this.constructor(It);return Ft(this,new Ot(t,e,i)),i},Yt.prototype.finally=function(e){var i=this.constructor;return this.then(function(t){return i.resolve(e()).then(function(){return t})},function(t){return i.resolve(e()).then(function(){return i.reject(t)})})},Yt.all=function(e){return new Yt(function(s,a){if(!e||void 0===e.length)throw new TypeError("Promise.all accepts an array");var n=Array.prototype.slice.call(e);if(0===n.length)return s([]);var r=n.length;function o(e,t){try{if(t&&("object"==typeof t||"function"==typeof t)){var i=t.then;if("function"==typeof i)return void i.call(t,function(t){o(e,t)},a)}n[e]=t,0==--r&&s(n)}catch(e){a(e)}}for(var t=0;t<n.length;t++)o(t,n[t])})},Yt.resolve=function(e){return e&&"object"==typeof e&&e.constructor===Yt?e:new Yt(function(t){t(e)})},Yt.reject=function(i){return new Yt(function(t,e){e(i)})},Yt.race=function(a){return new Yt(function(t,e){for(var i=0,s=a.length;i<s;i++)a[i].then(t,e)})},Yt._immediateFn="function"==typeof setImmediate&&function(t){setImmediate(t)}||function(t){Xt(t,0)},Yt._unhandledRejectionFn=function(t){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",t)};var Wt,Bt,Vt=(t(xe,[{key:"getSvgString",value:function(){return this.w.globals.dom.Paper.svg()}},{key:"cleanup",value:function(){var t=this.w,e=t.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs"),i=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs");e&&e.setAttribute("x",-500),i&&(i.setAttribute("y1",-100),i.setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(e)}},{key:"dataURI",value:function(){var h=this;return new Yt(function(e){var t=h.w;h.cleanup();var i=document.createElement("canvas");i.width=t.globals.svgWidth,i.height=t.globals.svgHeight;var s="transparent"===t.config.chart.background?"#fff":t.config.chart.background,a=i.getContext("2d");a.fillStyle=s,a.fillRect(0,0,i.width,i.height);var n=window.URL||window.webkitURL||window,r=new Image;r.crossOrigin="anonymous";var o=h.getSvgString(),l="data:image/svg+xml,"+encodeURIComponent(o);r.onload=function(){a.drawImage(r,0,0),n.revokeObjectURL(l);var t=i.toDataURL("image/png");e(t)},r.src=l})}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),".svg")}},{key:"exportToPng",value:function(){var e=this;this.dataURI().then(function(t){e.triggerDownload(t,".png")})}},{key:"triggerDownload",value:function(t,e){var i=document.createElement("a");i.href=t,i.download=this.w.globals.chartID+e,document.body.appendChild(i),i.click(),document.body.removeChild(i)}}]),xe),Gt=(t(pe,[{key:"drawGridArea",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new ht(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var s=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),a=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(a),t.add(s),t}},{key:"drawGrid",value:function(){var t=this.w,e=new W(this.ctx),i=new R(this.ctx),s=this.w.globals,a=null;if(s.axisCharts){if(t.config.grid.show)a=this.renderGrid(),s.dom.elGraphical.add(a.el),this.drawGridArea(a.el);else{var n=this.drawGridArea();s.dom.elGraphical.add(n)}null!==a&&e.xAxisLabelCorrections(a.xAxisTickWidth),i.setYAxisTextAlignments()}}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new ht(this.ctx),s=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var a=0;t.config.stroke.width.forEach(function(t){a=Math.max(a,t)}),s=a}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elGridRect=i.drawRect(-s/2,-s/2,e.gridWidth+s,e.gridHeight+s,0,"#fff"),new ct(this).getLargestMarkerSize();var n=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(-n,-n,e.gridWidth+2*n,e.gridHeight+2*n,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var r=e.dom.baseEl.querySelector("defs");r.appendChild(e.dom.elGridRectMask),r.appendChild(e.dom.elGridRectMarkerMask)}},{key:"renderGrid",value:function(){var t=this.w,e=new ht(this.ctx),i=t.config.grid.strokeDashArray,s=e.group({class:"apexcharts-grid"}),a=e.group({class:"apexcharts-gridlines-horizontal"}),n=e.group({class:"apexcharts-gridlines-vertical"});s.add(a),s.add(n);for(var r,o=8,l=0;l<t.globals.series.length&&(void 0!==t.globals.yAxisScale[l]&&(o=t.globals.yAxisScale[l].result.length-1),!(2<o));l++);if(t.globals.isBarHorizontal){if(r=o,t.config.grid.xaxis.lines.show||t.config.xaxis.axisTicks.show)for(var h,c=t.globals.padHorizontal,d=t.globals.gridHeight,u=0;u<r+1&&(h=c=c+t.globals.gridWidth/r+.3,u!==r-1);u++){if(t.config.grid.xaxis.lines.show){var g=e.drawLine(c,0,h,d,t.config.grid.borderColor,i);g.node.classList.add("apexcharts-gridline"),n.add(g),this.animX&&this.animateLine(g,{x1:0,x2:0},{x1:c,x2:h})}new W(this.ctx).drawXaxisTicks(c,s)}if(t.config.grid.yaxis.lines.show)for(var f=0,p=0,x=t.globals.gridWidth,b=0;b<t.globals.dataPoints+1;b++){var m=e.drawLine(0,f,x,p,t.config.grid.borderColor,i);a.add(m),m.node.classList.add("apexcharts-gridline"),this.animY&&this.animateLine(m,{y1:f+20,y2:p+20},{y1:f,y2:p}),p=f+=t.globals.gridHeight/t.globals.dataPoints}}else{if(r=this.xaxisLabels.length,t.config.grid.xaxis.lines.show||t.config.xaxis.axisTicks.show){var v,y=t.globals.padHorizontal,w=t.globals.gridHeight;if(0<t.globals.timelineLabels.length)for(var k=0;k<r;k++){if(y=this.xaxisLabels[k].position,v=this.xaxisLabels[k].position,t.config.grid.xaxis.lines.show&&0<y&&y<t.globals.gridWidth){var A=e.drawLine(y,0,v,w,t.config.grid.borderColor,i);A.node.classList.add("apexcharts-gridline"),n.add(A),this.animX&&this.animateLine(A,{x1:0,x2:0},{x1:y,x2:v})}var S=new W(this.ctx);k===r-1&&t.globals.skipLastTimelinelabel||S.drawXaxisTicks(y,s)}else for(var C=r,L=0;L<C;L++){var z=C;if(t.globals.isXNumeric&&"bar"!==t.config.chart.type&&(z-=1),v=y+=t.globals.gridWidth/z,L===z-1)break;if(t.config.grid.xaxis.lines.show){var P=e.drawLine(y,0,v,w,t.config.grid.borderColor,i);P.node.classList.add("apexcharts-gridline"),n.add(P),this.animX&&this.animateLine(P,{x1:0,x2:0},{x1:y,x2:v})}new W(this.ctx).drawXaxisTicks(y,s)}}if(t.config.grid.yaxis.lines.show)for(var E=0,M=0,T=t.globals.gridWidth,X=0;X<o+1;X++){var I=e.drawLine(0,E,T,M,t.config.grid.borderColor,i);a.add(I),I.node.classList.add("apexcharts-gridline"),this.animY&&this.animateLine(I,{y1:E+20,y2:M+20},{y1:E,y2:M}),M=E+=t.globals.gridHeight/o}}return this.drawGridBands(s,r,o),{el:s,xAxisTickWidth:t.globals.gridWidth/r}}},{key:"drawGridBands",value:function(t,e,i){var s=this.w,a=new ht(this.ctx);if(void 0!==s.config.grid.row.colors&&0<s.config.grid.row.colors.length)for(var n=0,r=s.globals.gridHeight/i,o=s.globals.gridWidth,l=0,h=0;l<i;l++,h++){h>=s.config.grid.row.colors.length&&(h=0);var c=s.config.grid.row.colors[h],d=a.drawRect(0,n,o,r,0,c,s.config.grid.row.opacity);t.add(d),d.node.classList.add("apexcharts-gridRow"),n+=s.globals.gridHeight/i}if(void 0!==s.config.grid.column.colors&&0<s.config.grid.column.colors.length)for(var u=s.globals.padHorizontal,g=s.globals.padHorizontal+s.globals.gridWidth/e,f=s.globals.gridHeight,p=0,x=0;p<e;p++,x++){x>=s.config.grid.column.colors.length&&(x=0);var b=s.config.grid.column.colors[x],m=a.drawRect(u,0,g,f,0,b,s.config.grid.column.opacity);m.node.classList.add("apexcharts-gridColumn"),t.add(m),u+=s.globals.gridWidth/e}}},{key:"animateLine",value:function(t,e,i){var s=this.w,a=s.config.chart.animations;if(a&&!s.globals.resized&&!s.globals.dataChanged){var n=a.speed;this.anim.animateLine(t,e,i,n)}}}]),pe),_t=(t(fe,[{key:"checkResponsiveConfig",value:function(t){var n=this,r=this.w,e=r.config;if(0!==e.responsive.length){var o=e.responsive.slice();o.sort(function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0}).reverse();var l=new x({}),i=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=o[0].breakpoint,i=0<window.innerWidth?window.innerWidth:screen.width;if(e<i){var s=ct.extendArrayProps(l,r.globals.initialConfig);t=lt.extend(s,t),t=lt.extend(r.config,t),n.overrideResponsiveOptions(t)}else for(var a=0;a<o.length;a++)i<o[a].breakpoint&&(t=ct.extendArrayProps(l,o[a].options),t=lt.extend(r.config,t),n.overrideResponsiveOptions(t))};if(t){var s=ct.extendArrayProps(l,t);s=lt.extend(r.config,s),i(s=lt.extend(s,t))}else i({})}}},{key:"overrideResponsiveOptions",value:function(t){var e=new x(t).init();this.w.config=e}}]),fe),jt=(t(ge,[{key:"init",value:function(){this.setDefaultColors()}},{key:"setDefaultColors",value:function(){var t=this.w,e=new lt;if(t.globals.dom.elWrap.classList.add(t.config.theme.mode),void 0===t.config.colors?t.globals.colors=this.predefined():t.globals.colors=t.config.colors,t.config.theme.monochrome.enabled){var i=[],s=t.globals.series.length;t.config.plotOptions.bar.distributed&&"bar"===t.config.chart.type&&(s=t.globals.series[0].length*t.globals.series.length);for(var a=t.config.theme.monochrome.color,n=1/(s/t.config.theme.monochrome.shadeIntensity),r=t.config.theme.monochrome.shadeTo,o=0,l=0;l<s;l++){var h=void 0;h="dark"===r?e.shadeColor(-1*o,a):e.shadeColor(o,a),o+=n,i.push(h)}t.globals.colors=i.slice()}var c=t.globals.colors.slice();this.pushExtraColors(t.globals.colors),void 0===t.config.stroke.colors?t.globals.stroke.colors=c:t.globals.stroke.colors=t.config.stroke.colors,this.pushExtraColors(t.globals.stroke.colors),void 0===t.config.fill.colors?t.globals.fill.colors=c:t.globals.fill.colors=t.config.fill.colors,this.pushExtraColors(t.globals.fill.colors),void 0===t.config.dataLabels.style.colors?t.globals.dataLabels.style.colors=c:t.globals.dataLabels.style.colors=t.config.dataLabels.style.colors,this.pushExtraColors(t.globals.dataLabels.style.colors,50),void 0===t.config.plotOptions.radar.polygons.fill.colors?t.globals.radarPolygons.fill.colors=["dark"===t.config.theme.mode?"#202D48":"#fff"]:t.globals.radarPolygons.fill.colors=t.config.plotOptions.radar.polygons.fill.colors,this.pushExtraColors(t.globals.radarPolygons.fill.colors,20),void 0===t.config.markers.colors?t.globals.markers.colors=c:t.globals.markers.colors=t.config.markers.colors,this.pushExtraColors(t.globals.markers.colors)}},{key:"pushExtraColors",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,s=this.w,a=e||s.globals.series.length;if(null===i&&(i="bar"===s.config.chart.type&&s.config.plotOptions.bar.distributed||"heatmap"===s.config.chart.type&&s.config.plotOptions.heatmap.colorScale.inverse),i&&(a=s.globals.series[0].length*s.globals.series.length),t.length<a)for(var n=a-t.length,r=0;r<n;r++)t.push(t[r])}},{key:"updateThemeOptions",value:function(t){t.chart=t.chart||{},t.tooltip=t.tooltip||{};var e=t.theme.mode||"light",i=t.theme.palette?t.theme.palette:"dark"===e?"palette4":"palette1",s=t.chart.foreColor?t.chart.foreColor:"dark"===e?"#f6f7f8":"#373d3f";return t.tooltip.theme=e,t.chart.foreColor=s,t.theme.palette=i,t}},{key:"predefined",value:function(){switch(this.w.config.theme.palette){case"palette1":this.colors=["#008FFB","#00E396","#FEB019","#FF4560","#775DD0"];break;case"palette2":this.colors=["#3f51b5","#03a9f4","#4caf50","#f9ce1d","#FF9800"];break;case"palette3":this.colors=["#33b2df","#546E7A","#d4526e","#13d8aa","#A5978B"];break;case"palette4":this.colors=["#4ecdc4","#c7f464","#81D4FA","#fd6a6a","#546E7A"];break;case"palette5":this.colors=["#2b908f","#f9a3a4","#90ee7e","#fa4443","#69d2e7"];break;case"palette6":this.colors=["#449DD1","#F86624","#EA3546","#662E9B","#C5D86D"];break;case"palette7":this.colors=["#D7263D","#1B998B","#2E294E","#F46036","#E2C044"];break;case"palette8":this.colors=["#662E9B","#F86624","#F9C80E","#EA3546","#43BCCD"];break;case"palette9":this.colors=["#5C4742","#A5978B","#8D5B4C","#5A2A27","#C4BBAF"];break;case"palette10":this.colors=["#A300D6","#7D02EB","#5653FE","#2983FF","#00B1F2"];break;default:this.colors=["#008FFB","#00E396","#FEB019","#FF4560","#775DD0"]}return this.colors}}]),ge),Ut=(t(ue,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,s=t.clientX,a=t.clientY,n=t.hasBars,r=this.w,o=r.globals.gridWidth,l=o/(r.globals.dataPoints-1),h=i.getBoundingClientRect();(n&&r.globals.comboCharts||n)&&(l=o/r.globals.dataPoints);var c=s-h.left,d=a-h.top;c<0||d<0||c>r.globals.gridWidth||d>r.globals.gridHeight?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var u=Math.round(c/l);n&&(u=Math.ceil(c/l),u-=1);for(var g,f=null,p=null,x=[],b=0;b<r.globals.seriesXvalues.length;b++)x.push([r.globals.seriesXvalues[b][0]-1e-6].concat(r.globals.seriesXvalues[b]));return x=x.map(function(t){return t.filter(function(t){return t})}),g=r.globals.seriesYvalues.map(function(t){return t.filter(function(t){return t})}),r.globals.isXNumeric&&(f=(p=this.closestInMultiArray(c,d,x,g)).index,u=p.j,null!==f&&(x=r.globals.seriesXvalues[f],u=(p=this.closestInArray(c,x)).index)),(!u||u<1)&&(u=0),{capturedSeries:f,j:u,hoverX:c,hoverY:d}}},{key:"closestInMultiArray",value:function(r,o,l,h){var t=this.w,e=0,c=null,d=-1;1<t.globals.series.length?e=this.getFirstActiveXArray(l):c=0;var i=h[e][0],s=l[e][0],u=Math.abs(r-s),g=Math.abs(o-i),f=g+u;return h.map(function(t,n){t.map(function(t,e){var i=Math.abs(o-h[n][e]),s=Math.abs(r-l[n][e]),a=s+i;a<f&&(f=a,u=s,g=i,c=n,d=e)})}),{index:c,j:d}}},{key:"getFirstActiveXArray",value:function(t){for(var e=0,i=new ct(this.ctx),s=t.map(function(t,e){return 0<t.length?e:-1}),a=0;a<s.length;a++){var n=i.getSeriesTotalByIndex(a);if(-1!==s[a]&&0!==n&&!i.seriesHaveSameValues(a)){e=s[a];break}}return e}},{key:"closestInArray",value:function(t,e){for(var i=e[0],s=null,a=Math.abs(t-i),n=0;n<e.length;n++){var r=Math.abs(t-e[n]);r<a&&(a=r,i=e[n],s=n)}return{index:s}}},{key:"isXoverlap",value:function(t){var e=[],i=this.w.globals.seriesX.filter(function(t){return void 0!==t[0]});if(0<i.length)for(var s=0;s<i.length-1;s++)void 0!==i[s][t]&&void 0!==i[s+1][t]&&i[s][t]!==i[s+1][t]&&e.push("unEqual");return 0===e.length}},{key:"isinitialSeriesSameLen",value:function(){for(var t=!0,e=this.w.globals.initialSeries,i=0;i<e.length-1;i++)if(e[i].data.length!==e[i+1].data.length){t=!1;break}return t}},{key:"getBarsHeight",value:function(t){return S(t).reduce(function(t,e){return t+e.getBBox().height},0)}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var s=i.allTooltipSeriesGroups,a=0;a<s.length;a++)"enable"===t?(s[a].classList.add("active"),s[a].style.display=e.config.tooltip.items.display):(s[a].classList.remove("active"),s[a].style.display="none")}}]),ue),qt=(t(de,[{key:"drawSeriesTexts",value:function(t){var e=t.shared,i=void 0===e||e,s=t.ttItems,a=t.i,n=void 0===a?0:a,r=t.j,o=void 0===r?null:r;void 0!==this.w.config.tooltip.custom?this.handleCustomTooltip({i:n,j:o}):this.toggleActiveInactiveSeries(i);var l=this.getValuesToPrint({i:n,j:o});this.printLabels({i:n,j:o,values:l,ttItems:s,shared:i});var h=this.ttCtx.getElTooltip();this.ttCtx.tooltipRect.ttWidth=h.getBoundingClientRect().width,this.ttCtx.tooltipRect.ttHeight=h.getBoundingClientRect().height}},{key:"printLabels",value:function(t){var e,i=t.i,s=t.j,a=t.values,n=t.ttItems,r=t.shared,o=this.w,l=a.xVal,h=a.zVal,c=a.xAxisTTVal,d="",u=o.globals.colors[i];null!==s&&o.config.plotOptions.bar.distributed&&(u=o.globals.colors[s]);for(var g=0,f=o.globals.series.length-1;g<o.globals.series.length;g++,f--){var p=this.getFormatters(i);if(d=this.getSeriesName({fn:p.yLbTitleFormatter,index:i,seriesIndex:i,j:s}),r){var x=o.config.tooltip.inverseOrder?f:g;p=this.getFormatters(x),d=this.getSeriesName({fn:p.yLbTitleFormatter,index:x,seriesIndex:i,j:s}),u=o.globals.colors[x],e=p.yLbFormatter(o.globals.series[x][s],{series:o.globals.series,seriesIndex:x,dataPointIndex:s,w:o}),(this.ttCtx.hasBars()&&o.config.chart.stacked&&0===o.globals.series[x][s]||void 0===o.globals.series[x][s])&&(e=void 0)}else e=p.yLbFormatter(o.globals.series[i][s],{series:o.globals.series,seriesIndex:i,dataPointIndex:s,w:o});null===s&&(e=p.yLbFormatter(o.globals.series[i],o)),this.DOMHandling({t:g,ttItems:n,values:{val:e,xVal:l,xAxisTTVal:c,zVal:h},seriesName:d,shared:r,pColor:u})}}},{key:"getFormatters",value:function(t){var e,i=this.w,s=i.globals.yLabelFormatters[t];return void 0!==i.globals.ttVal?Array.isArray(i.globals.ttVal)?(s=i.globals.ttVal[t]&&i.globals.ttVal[t].formatter,e=i.globals.ttVal[t]&&i.globals.ttVal[t].title&&i.globals.ttVal[t].title.formatter):(s=i.globals.ttVal.formatter,"function"==typeof i.globals.ttVal.title.formatter&&(e=i.globals.ttVal.title.formatter)):e=i.config.tooltip.y.title.formatter,"function"!=typeof s&&(s=i.globals.yLabelFormatters[0]?i.globals.yLabelFormatters[0]:function(t){return t}),"function"!=typeof e&&(e=function(t){return t}),{yLbFormatter:s,yLbTitleFormatter:e}}},{key:"getSeriesName",value:function(t){var e=t.fn,i=t.index,s=t.seriesIndex,a=t.j,n=this.w;return e(String(n.globals.seriesNames[i]),{series:n.globals.series,seriesIndex:s,dataPointIndex:a,w:n})}},{key:"DOMHandling",value:function(t){var e=t.t,i=t.ttItems,s=t.values,a=t.seriesName,n=t.shared,r=t.pColor,o=this.w,l=this.ttCtx,h=s.val,c=s.xVal,d=s.xAxisTTVal,u=s.zVal,g=null;g=i[e].children,o.config.tooltip.fillSeriesColor&&(i[e].style.backgroundColor=r,g[0].style.display="none"),l.showTooltipTitle&&(null===l.tooltipTitle&&(l.tooltipTitle=o.globals.dom.baseEl.querySelector(".apexcharts-tooltip-title")),l.tooltipTitle.innerHTML=c),l.blxaxisTooltip&&(l.xaxisTooltipText.innerHTML=""!==d?d:c);var f=i[e].querySelector(".apexcharts-tooltip-text-label");f&&(f.innerHTML=a?a+": ":"");var p=i[e].querySelector(".apexcharts-tooltip-text-value");p&&(p.innerHTML=h),g[0]&&g[0].classList.contains("apexcharts-tooltip-marker")&&(g[0].style.backgroundColor=r),o.config.tooltip.marker.show||(g[0].style.display="none"),null!==u&&(i[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=o.config.tooltip.z.title,i[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=u),n&&g[0]&&(null==h||-1<o.globals.collapsedSeriesIndices.indexOf(e)?g[0].parentNode.style.display="none":g[0].parentNode.style.display=o.config.tooltip.items.display)}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,s=this.w,a=this.ctx.series.filteredSeriesX(),n="",r=null,o=null,l={series:s.globals.series,seriesIndex:e,dataPointIndex:i,w:s},h=s.globals.ttZFormatter;null===i?o=s.globals.series[e]:s.globals.isXNumeric?(n=a[e][i],0===a[e].length&&(n=a[this.tooltipUtil.getFirstActiveXArray(a)][i])):n=void 0!==s.globals.labels[i]?s.globals.labels[i]:"";var c=n;return s.globals.isXNumeric&&"datetime"===s.config.xaxis.type?n=new Y(this.ctx).xLabelFormat(s.globals.ttKeyFormatter,c,c):s.globals.isBarHorizontal||(n=s.globals.xLabelFormatter(c,l)),void 0!==s.config.tooltip.x.formatter&&(n=s.globals.ttKeyFormatter(c,l)),0<s.globals.seriesZ.length&&0<s.globals.seriesZ[0].length&&(r=h(s.globals.seriesZ[e][i],s)),{val:o,xVal:n,xAxisTTVal:"function"==typeof s.config.xaxis.tooltip.formatter?s.globals.xaxisTooltipFormatter(c,l):n,zVal:r}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,s=this.w;this.ttCtx.getElTooltip().innerHTML=s.config.tooltip.custom({ctx:this.ctx,series:s.globals.series,seriesIndex:e,dataPointIndex:i,w:s})}}]),de),Zt=(t(ce,[{key:"moveXCrosshairs",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,s=this.w,a=i.getElXCrosshairs(),n=t-i.xcrosshairsWidth/2,r=s.globals.labels.slice().length;if(null!==e&&(n=s.globals.gridWidth/r*e),"tickWidth"===s.config.xaxis.crosshairs.width||"barWidth"===s.config.xaxis.crosshairs.width?n+i.xcrosshairsWidth>s.globals.gridWidth&&(n=s.globals.gridWidth-i.xcrosshairsWidth):null!==e&&(n+=s.globals.gridWidth/r/2),n<0&&(n=0),n>s.globals.gridWidth&&(n=s.globals.gridWidth),null!==a&&(a.setAttribute("x",n),a.setAttribute("x1",n),a.setAttribute("x2",n),a.setAttribute("y2",s.globals.gridHeight),a.classList.add("active")),i.blxaxisTooltip){var o=n;"tickWidth"!==s.config.xaxis.crosshairs.width&&"barWidth"!==s.config.xaxis.crosshairs.width||(o=n+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&(ht.setAttrs(e.ycrosshairs,{y1:t,y2:t}),ht.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t}))}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip){i.xaxisTooltip.classList.add("active");var s,a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;t-=i.xaxisTooltip.getBoundingClientRect().width/2,isNaN(t)||(t+=e.globals.translateX,s=new ht(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px")}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var s=parseInt(i.ycrosshairsHidden.getAttribute("y1")),a=e.globals.translateY+s,n=i.yaxisTTEls[t].getBoundingClientRect().height,r=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(r-=26),a-=n/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("active"),i.yaxisTTEls[t].style.top=a+"px",i.yaxisTTEls[t].style.left=r+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("active")}},{key:"moveTooltip",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,s=this.w,a=this.ttCtx,n=a.getElTooltip(),r=a.tooltipRect,o=null!==i?parseInt(i):1,l=parseInt(t)+o+5,h=parseInt(e)+o/2;if(l>s.globals.gridWidth/2&&(l=l-r.ttWidth-o-15),l>s.globals.gridWidth-r.ttWidth-10&&(l=s.globals.gridWidth-r.ttWidth),l<-20&&(l=-20),s.config.tooltip.followCursor){var c=a.getElGrid().getBoundingClientRect();h=a.e.clientY+s.globals.translateY-c.top-r.ttHeight/2}var d=this.positionChecks(r,l,h);l=d.x,h=d.y,isNaN(l)||(l+=s.globals.translateX,n.style.left=l+"px",n.style.top=h+"px")}},{key:"positionChecks",value:function(t,e,i){var s=this.w;return t.ttHeight+i>s.globals.gridHeight&&(i=s.globals.gridHeight-t.ttHeight+s.globals.translateY),i<0&&(i=0),{x:e,y:i}}},{key:"moveMarkers",value:function(t,e){var i=this.w,s=this.ttCtx;if(0<i.globals.markers.size[t])for(var a=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),n=0;n<a.length;n++)parseInt(a[n].getAttribute("rel"))===e&&(s.marker.resetPointsSize(),s.marker.enlargeCurrentPoint(e,a[n]));else s.marker.resetPointsSize(),this.moveDynamicPointOnHover(e,t)}},{key:"moveDynamicPointOnHover",value:function(t,e){var i,s,a=this.w,n=this.ttCtx,r=a.globals.pointsArray,o=a.config.markers.hover.size;void 0===o&&(o=a.globals.markers.size[e]+a.config.markers.hover.sizeOffset),i=r[e][t][0],s=r[e][t][1]?r[e][t][1]:0;var l=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-series-markers circle"));l&&(l.setAttribute("r",o),l.setAttribute("cx",i),l.setAttribute("cy",s)),this.moveXCrosshairs(i),n.fixedTooltip||this.moveTooltip(i,s,o)}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,s=i.w,a=0,n=0,r=s.globals.pointsArray;e=new N(this.ctx).getActiveSeriesIndex();var o=s.config.markers.hover.size;void 0===o&&(o=s.globals.markers.size[e]+s.config.markers.hover.sizeOffset),r[e]&&(a=r[e][t][0],n=r[e][t][1]);var l=null,h=i.getAllMarkers();if(null!==(l=null!==h?h:s.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers circle")))for(var c=0;c<l.length;c++){var d=r[c];if(d&&d.length){var u=r[c][t][1];l[c].setAttribute("cx",a);var g=parseInt(l[c].parentNode.parentNode.parentNode.getAttribute("data:realIndex"));null!==u?(l[g]&&l[g].setAttribute("r",o),l[g]&&l[g].setAttribute("cy",u)):l[g]&&l[g].setAttribute("r",0)}}if(this.moveXCrosshairs(a),!i.fixedTooltip){var f=n||s.globals.gridHeight;this.moveTooltip(a,f,o)}}},{key:"moveStickyTooltipOverBars",value:function(t){var e,i=this.w,s=this.ttCtx,a=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='1'] path[j='".concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='1'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='1'] path[j='").concat(t,"']")),n=a?parseFloat(a.getAttribute("cx")):0,r=a?parseFloat(a.getAttribute("barWidth")):0;i.globals.isXNumeric?n-=r/2:(n=s.xAxisTicksPositions[t-1]+s.dataPointsDividedWidth/2,isNaN(n)&&(n=s.xAxisTicksPositions[t]-s.dataPointsDividedWidth/2));var o=s.getElGrid().getBoundingClientRect();if(e=s.e.clientY-o.top-s.tooltipRect.ttHeight/2,this.moveXCrosshairs(n),!s.fixedTooltip){var l=e||i.globals.gridHeight;this.moveTooltip(n,l)}}}]),ce),$t=(t(he,[{key:"drawDynamicPoints",value:function(){for(var t=this.w,e=new ht(this.ctx),i=new ut(this.ctx),s=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series"),a=0;a<s.length;a++){var n=parseInt(s[a].getAttribute("data:realIndex")),r=t.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(n,"'] .apexcharts-series-markers-wrap"));if(null!==r){var o=void 0,l="apexcharts-marker w".concat((Math.random()+1).toString(36).substring(4));"line"!==t.config.chart.type&&"area"!==t.config.chart.type||t.globals.comboCharts||t.config.tooltip.intersect||(l+=" no-pointer-events");var h=i.getMarkerConfig(l,n);(o=e.drawMarker(0,0,h)).node.setAttribute("default-marker-size",0);var c=document.createElementNS(t.globals.SVGNS,"g");c.classList.add("apexcharts-series-markers"),c.appendChild(o.node),r.appendChild(c)}}}},{key:"enlargeCurrentPoint",value:function(t,e){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,s=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,a=this.w;"bubble"!==a.config.chart.type&&this.newPointSize(t,e);var n=e.getAttribute("cx"),r=e.getAttribute("cy");if(null!==i&&null!==s&&(n=i,r=s),this.tooltipPosition.moveXCrosshairs(n),!this.fixedTooltip){if("radar"===a.config.chart.type){var o=this.ttCtx.getElGrid().getBoundingClientRect();n=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(n,r,a.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this.ttCtx,s=t,a=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=e.config.markers.hover.size,r=0;r<a.length;r++){var o=a[r].getAttribute("rel"),l=a[r].getAttribute("index");if(void 0===n&&(n=e.globals.markers.size[l]+e.config.markers.hover.sizeOffset),s===parseInt(o)){this.newPointSize(s,a[r]);var h=a[r].getAttribute("cx"),c=a[r].getAttribute("cy");this.tooltipPosition.moveXCrosshairs(h),i.fixedTooltip||this.tooltipPosition.moveTooltip(h,c,n)}else this.oldPointSize(a[r])}}},{key:"newPointSize",value:function(t,e){var i=this.w,s=i.config.markers.hover.size,a=null;a=0===t?e.parentNode.firstChild:e.parentNode.lastChild;var n=parseInt(a.getAttribute("index"));void 0===s&&(s=i.globals.markers.size[n]+i.config.markers.hover.sizeOffset),a.setAttribute("r",s)}},{key:"oldPointSize",value:function(t){var e=parseInt(t.getAttribute("default-marker-size"));t.setAttribute("r",e)}},{key:"resetPointsSize",value:function(){for(var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),e=0;e<t.length;e++){var i=parseInt(t[e].getAttribute("default-marker-size"));lt.isNumber(i)?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}]),he),Jt=(t(le,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTooltip",value:function(t){var e=t.e,i=t.opt,s=t.x,a=t.y,n=this.ttCtx,r=this.w;if(e.target.classList.contains("apexcharts-heatmap-rect")){var o=this.getAttr(e,"i"),l=this.getAttr(e,"j"),h=this.getAttr(e,"cx"),c=this.getAttr(e,"cy"),d=this.getAttr(e,"width"),u=this.getAttr(e,"height");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:o,j:l,shared:!1}),s=h+n.tooltipRect.ttWidth/2+d,a=c+n.tooltipRect.ttHeight/2-u/2,n.tooltipPosition.moveXCrosshairs(h+d/2),s>r.globals.gridWidth/2&&(s=h-n.tooltipRect.ttWidth/2+d),n.w.config.tooltip.followCursor){var g=n.getElGrid().getBoundingClientRect();a=n.e.clientY-g.top+r.globals.translateY/2-10}}return{x:s,y:a}}},{key:"handleMarkerTooltip",value:function(t){var e,i,s=t.e,a=t.opt,n=t.x,r=t.y,o=this.w,l=this.ttCtx;if(s.target.classList.contains("apexcharts-marker")){var h=parseInt(a.paths.getAttribute("cx")),c=parseInt(a.paths.getAttribute("cy")),d=parseFloat(a.paths.getAttribute("val"));if(i=parseInt(a.paths.getAttribute("rel")),e=parseInt(a.paths.parentNode.parentNode.parentNode.getAttribute("rel"))-1,l.intersect){var u=lt.findAncestor(a.paths,"apexcharts-series");u&&(e=parseInt(u.getAttribute("data:realIndex")))}if(l.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:e,j:i,shared:!l.showOnIntersect&&o.config.tooltip.shared}),"mouseup"===s.type&&l.markerClick(s,e,i),n=h,r=c+o.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var g=l.getElGrid().getBoundingClientRect();r=l.e.clientY+o.globals.translateY-g.top}d<0&&(r=c),l.marker.enlargeCurrentPoint(i,a.paths,n,r)}return{x:n,y:r}}},{key:"handleBarTooltip",value:function(t){var e,i,s=t.e,a=t.opt,n=this.w,r=this.ttCtx,o=r.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:s,opt:a});e=d.i;var u=d.barHeight,g=d.j;if(n.globals.isBarHorizontal&&r.hasBars()||!n.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(n.config.stroke.width)?n.config.stroke.width[e]:n.config.stroke.width,l=h):n.globals.comboCharts||n.config.tooltip.shared||(l/=2),isNaN(c)&&(c=n.globals.svgHeight-r.tooltipRect.ttHeight),h+r.tooltipRect.ttWidth>n.globals.gridWidth?h-=r.tooltipRect.ttWidth:h<0&&(h+=r.tooltipRect.ttWidth),r.w.config.tooltip.followCursor){var f=r.getElGrid().getBoundingClientRect();c=r.e.clientY-f.top}if(null===r.tooltip&&(r.tooltip=n.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),n.config.tooltip.shared||(n.globals.comboChartsHasBars?r.tooltipPosition.moveXCrosshairs(l+i/2):r.tooltipPosition.moveXCrosshairs(l)),!r.fixedTooltip&&(!n.config.tooltip.shared||n.globals.isBarHorizontal&&r.hasBars())){x&&(h=n.globals.gridWidth-h),o.style.left=h+n.globals.translateX+"px";var p=parseInt(a.paths.parentNode.getAttribute("data:realIndex")),x=n.globals.isMultipleYAxis?n.config.yaxis[p]&&n.config.yaxis[p].reversed:n.config.yaxis[0].reversed;!x||n.globals.isBarHorizontal&&r.hasBars()||(c=c+u-2*(n.globals.series[e][g]<0?u:0)),r.tooltipRect.ttHeight+c>n.globals.gridHeight?(c=n.globals.gridHeight-r.tooltipRect.ttHeight+n.globals.translateY,o.style.top=c+"px"):o.style.top=c+n.globals.translateY-r.tooltipRect.ttHeight/2+"px"}}},{key:"getBarTooltipXY",value:function(t){var e=t.e,i=t.opt,s=this.w,a=null,n=this.ttCtx,r=0,o=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains("apexcharts-bar-area")||d.contains("apexcharts-candlestick-area")||d.contains("apexcharts-rangebar-area")){var u=e.target,g=u.getBoundingClientRect(),f=i.elGrid.getBoundingClientRect(),p=g.height;c=g.height;var x=g.width,b=parseInt(u.getAttribute("cx")),m=parseInt(u.getAttribute("cy"));h=parseFloat(u.getAttribute("barWidth"));var v="touchmove"===e.type?e.touches[0].clientX:e.clientX;a=parseInt(u.getAttribute("j")),r=parseInt(u.parentNode.getAttribute("rel"))-1,s.globals.comboCharts&&(r=parseInt(u.parentNode.getAttribute("data:realIndex"))),n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:r,j:a,shared:!n.showOnIntersect&&s.config.tooltip.shared}),l=s.config.tooltip.followCursor?s.globals.isBarHorizontal?(o=v-f.left+15,m-n.dataPointsDividedHeight+p/2-n.tooltipRect.ttHeight/2):(o=s.globals.isXNumeric?b-x/2:b-n.dataPointsDividedWidth+x/2,e.clientY-f.top-n.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((o=b)<n.xyRatios.baseLineInvertedY&&(o=b-n.tooltipRect.ttWidth),m-n.dataPointsDividedHeight+p/2-n.tooltipRect.ttHeight/2):(o=s.globals.isXNumeric?b-x/2:b-n.dataPointsDividedWidth+x/2,m)}return{x:o,y:l,barHeight:c,barWidth:h,i:r,j:a}}}]),le),Qt=(t(oe,[{key:"drawXaxisTooltip",value:function(){var t=this.w,e=this.ttCtx,i="bottom"===t.config.xaxis.position;e.xaxisOffY=i?t.globals.gridHeight+1:1;var s=i?"apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom":"apexcharts-xaxistooltip apexcharts-xaxistooltip-top",a=t.globals.dom.elWrap;e.blxaxisTooltip&&null===t.globals.dom.baseEl.querySelector(".apexcharts-xaxistooltip")&&(e.xaxisTooltip=document.createElement("div"),e.xaxisTooltip.setAttribute("class",s+" "+t.config.tooltip.theme),a.appendChild(e.xaxisTooltip),e.xaxisTooltipText=document.createElement("div"),e.xaxisTooltipText.classList.add("apexcharts-xaxistooltip-text"),e.xaxisTooltipText.style.fontFamily=t.config.xaxis.tooltip.style.fontFamily||t.config.chart.fontFamily,e.xaxisTooltipText.style.fontSize=t.config.xaxis.tooltip.style.fontSize,e.xaxisTooltip.appendChild(e.xaxisTooltipText))}},{key:"drawYaxisTooltip",value:function(){for(var a=this.w,n=this.ttCtx,t=function(i){var t=a.config.yaxis[i].opposite||a.config.yaxis[i].crosshairs.opposite;n.yaxisOffX=t?a.globals.gridWidth+1:1;var s="apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i,t?" apexcharts-yaxistooltip-right":" apexcharts-yaxistooltip-left");a.globals.yAxisSameScaleIndices.map(function(t,e){t.map(function(t,e){e===i&&(s+=a.config.yaxis[e].show?" ":" apexcharts-yaxistooltip-hidden")})});var e=a.globals.dom.elWrap;n.blyaxisTooltip&&null===a.globals.dom.baseEl.querySelector(".apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i))&&(n.yaxisTooltip=document.createElement("div"),n.yaxisTooltip.setAttribute("class",s+" "+a.config.tooltip.theme),e.appendChild(n.yaxisTooltip),0===i&&(n.yaxisTooltipText=[]),n.yaxisTooltipText.push(document.createElement("div")),n.yaxisTooltipText[i].classList.add("apexcharts-yaxistooltip-text"),n.yaxisTooltip.appendChild(n.yaxisTooltipText[i]))},e=0;e<a.config.yaxis.length;e++)t(e)}},{key:"setXCrosshairWidth",value:function(){var t=this.w,e=this.ttCtx,i=e.getElXCrosshairs();if(e.xcrosshairsWidth=parseInt(t.config.xaxis.crosshairs.width),t.globals.comboCharts){var s=t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");if(null!==s&&"barWidth"===t.config.xaxis.crosshairs.width){var a=parseFloat(s.getAttribute("barWidth"));e.xcrosshairsWidth=a}else if("tickWidth"===t.config.xaxis.crosshairs.width){var n=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/n}}else if("tickWidth"===t.config.xaxis.crosshairs.width){var r=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/r}else if("barWidth"===t.config.xaxis.crosshairs.width){var o=t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");if(null!==o){var l=parseFloat(o.getAttribute("barWidth"));e.xcrosshairsWidth=l}else e.xcrosshairsWidth=1}t.globals.isBarHorizontal&&(e.xcrosshairsWidth=0),null!==i&&0<e.xcrosshairsWidth&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var s=this.ttCtx,a=this.w,n=a.globals.yLabelFormatters[t];if(s.blyaxisTooltip){var r=s.getElGrid().getBoundingClientRect(),o=(e-r.top)*i.yRatio[t],l=a.globals.maxYArr[t]-a.globals.minYArr[t],h=a.globals.minYArr[t]+(l-o);s.tooltipPosition.moveYCrosshairs(e-r.top),s.yaxisTooltipText[t].innerHTML=n(h),s.tooltipPosition.moveYAxisTooltip(t)}}}]),oe),Kt=(t(re,[{key:"getElTooltip",value:function(t){return(t=t||this).w.globals.dom.baseEl.querySelector(".apexcharts-tooltip")}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.blxaxisTooltip=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.blyaxisTooltip=e.config.yaxis[0].tooltip.enabled&&e.globals.axisCharts,this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),i.classList.add(this.tConfig.theme),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var s=new W(this.ctx);this.xAxisTicksPositions=s.getXAxisTicksPositions()}if((e.globals.comboCharts&&!this.tConfig.shared||this.tConfig.intersect&&!this.tConfig.shared||("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&!this.tConfig.shared)&&(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var a=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(a=this.showOnIntersect?1:e.globals.series.length),this.ttItems=this.createTTElements(a),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this.w,i=[],s=this.getElTooltip(),a=0;a<t;a++){var n=document.createElement("div");n.classList.add("apexcharts-tooltip-series-group"),this.tConfig.shared&&this.tConfig.enabledOnSeries&&Array.isArray(this.tConfig.enabledOnSeries)&&this.tConfig.enabledOnSeries.indexOf(a)<0&&n.classList.add("apexcharts-tooltip-series-group-hidden");var r=document.createElement("span");r.classList.add("apexcharts-tooltip-marker"),r.style.backgroundColor=e.globals.colors[a],n.appendChild(r);var o=document.createElement("div");o.classList.add("apexcharts-tooltip-text"),o.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,o.style.fontSize=this.tConfig.style.fontSize;var l=document.createElement("div");l.classList.add("apexcharts-tooltip-y-group");var h=document.createElement("span");h.classList.add("apexcharts-tooltip-text-label"),l.appendChild(h);var c=document.createElement("span");c.classList.add("apexcharts-tooltip-text-value"),l.appendChild(c);var d=document.createElement("div");d.classList.add("apexcharts-tooltip-z-group");var u=document.createElement("span");u.classList.add("apexcharts-tooltip-text-z-label"),d.appendChild(u);var g=document.createElement("span");g.classList.add("apexcharts-tooltip-text-z-value"),d.appendChild(g),o.appendChild(l),o.appendChild(d),n.appendChild(o),s.appendChild(n),i.push(n)}return i}},{key:"addSVGEvents",value:function(){var t=this.w,e=t.config.chart.type,i=this.getElTooltip(),s=!("bar"!==e&&"candlestick"!==e&&"rangeBar"!==e),a=t.globals.dom.Paper.node,n=this.getElGrid();n&&(this.seriesBound=n.getBoundingClientRect());var r,o=[],l=[],h={hoverArea:a,elGrid:n,tooltipEl:i,tooltipY:o,tooltipX:l,ttItems:this.ttItems};if(t.globals.axisCharts&&("area"===e||"line"===e||"scatter"===e||"bubble"===e?r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker"):s?r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-rangebar-area"):"heatmap"===e?r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-heatmap"):"radar"===e&&(r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-marker")),r&&r.length))for(var c=0;c<r.length;c++)o.push(r[c].getAttribute("cy")),l.push(r[c].getAttribute("cx"));if(t.globals.xyCharts&&!this.showOnIntersect||t.globals.comboCharts&&!this.showOnIntersect||s&&this.hasBars()&&this.tConfig.shared)this.addPathsEventListeners([a],h);else if(s&&!t.globals.comboCharts)this.addBarsEventListeners(h);else if("bubble"===e||"scatter"===e||"radar"===e||this.showOnIntersect&&("area"===e||"line"===e))this.addPointsEventsListeners(h);else if(!t.globals.axisCharts||"heatmap"===e){var d=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");this.addPathsEventListeners(d,h)}if(this.showOnIntersect){var u=t.globals.dom.baseEl.querySelectorAll(".apexcharts-line-series .apexcharts-marker");0<u.length&&this.addPathsEventListeners(u,h);var g=t.globals.dom.baseEl.querySelectorAll(".apexcharts-area-series .apexcharts-marker");0<g.length&&this.addPathsEventListeners(g,h),this.hasBars()&&!this.tConfig.shared&&this.addBarsEventListeners(h)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),s=i.width+10,a=i.height+10,n=this.tConfig.fixed.offsetX,r=this.tConfig.fixed.offsetY;return-1<this.tConfig.fixed.position.toLowerCase().indexOf("right")&&(n=n+t.globals.svgWidth-s+10),-1<this.tConfig.fixed.position.toLowerCase().indexOf("bottom")&&(r=r+t.globals.svgHeight-a-10),e.style.left=n+"px",e.style.top=r+"px",{x:n,y:r,ttWidth:s,ttHeight:a}}},{key:"addPointsEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker");this.addPathsEventListeners(e,t)}},{key:"addBarsEventListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(s,t){for(var a=this,n=this,e=function(e){var i={paths:s[e],tooltipEl:t.tooltipEl,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:t.ttItems};a.w.globals.tooltipOpts=i,["mousemove","mouseup","touchmove","mouseout","touchend"].map(function(t){return s[e].addEventListener(t,n.seriesHover.bind(n,i),{capture:!1,passive:!0})})},i=0;i<s.length;i++)e(i)}},{key:"seriesHover",value:function(s,a){var n=this,t=[],e=this.w;e.config.chart.group&&(t=this.ctx.getGroupedCharts()),e.globals.axisCharts&&(e.globals.minX===-1/0&&e.globals.maxX===1/0||0===e.globals.dataPoints)||(t.length?t.forEach(function(t){var e=n.getElTooltip(t),i={paths:s.paths,tooltipEl:e,tooltipY:s.tooltipY,tooltipX:s.tooltipX,elGrid:s.elGrid,hoverArea:s.hoverArea,ttItems:t.w.globals.tooltip.ttItems};t.w.globals.minX===n.w.globals.minX&&t.w.globals.maxX===n.w.globals.maxX&&t.w.globals.tooltip.seriesHoverByContext({chartCtx:t,ttCtx:t.w.globals.tooltip,opt:i,e:a})}):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:s,e:a}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,s=t.opt,a=t.e,n=e.w,r=this.getElTooltip();i.tooltipRect={x:0,y:0,ttWidth:r.getBoundingClientRect().width,ttHeight:r.getBoundingClientRect().height},i.e=a,!i.hasBars()||n.globals.comboCharts||i.isBarShared||this.tConfig.onDatasetHover.highlightDataSeries&&new N(e).toggleSeriesOnHover(a,a.target.parentNode),i.fixedTooltip&&i.drawFixedTooltipRect(),n.globals.axisCharts?i.axisChartsTooltips({e:a,opt:s,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:a,opt:s,tooltipRect:i.tooltipRect})}},{key:"axisChartsTooltips",value:function(t){var e,i,s,a=t.e,n=t.opt,r=this.w,o=null,l=n.elGrid.getBoundingClientRect(),h="touchmove"===a.type?a.touches[0].clientX:a.clientX,c="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=c,this.clientX=h,c<l.top||c>l.top+l.height)this.handleMouseOut(n);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var d=parseInt(n.paths.getAttribute("index"));if(this.tConfig.enabledOnSeries.indexOf(d)<0)return void this.handleMouseOut(n)}var u=this.getElTooltip(),g=this.getElXCrosshairs(),f=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.hasBars;if(r.globals.isBarHorizontal&&this.hasBars()&&(f=!1),"mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(null!==g&&g.classList.add("active"),null!==this.ycrosshairs&&this.blyaxisTooltip&&this.ycrosshairs.classList.add("active"),f&&!this.showOnIntersect){e=(o=this.tooltipUtil.getNearestValues({context:this,hoverArea:n.hoverArea,elGrid:n.elGrid,clientX:h,clientY:c,hasBars:this.hasBars})).j;var p=o.capturedSeries;if(o.hoverX<0||o.hoverX>r.globals.gridWidth)return void this.handleMouseOut(n);if(null!==p){if(null===r.globals.series[p][e])return void n.tooltipEl.classList.remove("active");void 0!==r.globals.series[p][e]?this.tConfig.shared&&this.tooltipUtil.isXoverlap(e)&&this.tooltipUtil.isinitialSeriesSameLen()?this.create(a,this,p,e,n.ttItems):this.create(a,this,p,e,n.ttItems,!1):this.tooltipUtil.isXoverlap(e)&&this.create(a,this,0,e,n.ttItems)}else this.tooltipUtil.isXoverlap(e)&&this.create(a,this,0,e,n.ttItems)}else if("heatmap"===r.config.chart.type){var x=this.intersect.handleHeatTooltip({e:a,opt:n,x:i,y:s});i=x.x,s=x.y,u.style.left=i+"px",u.style.top=s+"px"}else this.hasBars&&this.intersect.handleBarTooltip({e:a,opt:n}),this.hasMarkers&&this.intersect.handleMarkerTooltip({e:a,opt:n,x:i,y:s});if(this.blyaxisTooltip)for(var b=0;b<r.config.yaxis.length;b++)this.axesTooltip.drawYaxisTooltipText(b,c,this.xyRatios);n.tooltipEl.classList.add("active")}else"mouseout"!==a.type&&"touchend"!==a.type||this.handleMouseOut(n)}}},{key:"nonAxisChartsTooltips",value:function(t){var e=t.e,i=t.opt,s=t.tooltipRect,a=this.w,n=i.paths.getAttribute("rel"),r=this.getElTooltip(),o=a.globals.dom.elWrap.getBoundingClientRect();if("mousemove"===e.type||"touchmove"===e.type){r.classList.add("active"),this.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:parseInt(n)-1,shared:!1});var l=a.globals.clientX-o.left-s.ttWidth/2,h=a.globals.clientY-o.top-s.ttHeight-10;r.style.left=l+"px",r.style.top=h+"px"}else"mouseout"!==e.type&&"touchend"!==e.type||r.classList.remove("active")}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new ht(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),s=0;s<i.length;s++)e.pathMouseLeave(i[s])}},{key:"handleMouseOut",value:function(t){var e=this.w,i=this.getElXCrosshairs();if(t.tooltipEl.classList.remove("active"),this.deactivateHoverFilter(),"bubble"!==e.config.chart.type&&this.marker.resetPointsSize(),null!==i&&i.classList.remove("active"),null!==this.ycrosshairs&&this.ycrosshairs.classList.remove("active"),this.blxaxisTooltip&&this.xaxisTooltip.classList.remove("active"),this.blyaxisTooltip){null===this.yaxisTTEls&&(this.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));for(var s=0;s<this.yaxisTTEls.length;s++)this.yaxisTTEls[s].classList.remove("active")}}},{key:"getElMarkers",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(" .apexcharts-series-markers")}},{key:"getAllMarkers",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker")}},{key:"hasMarkers",value:function(){return 0<this.getElMarkers().length}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return 0<this.getElBars().length}},{key:"markerClick",value:function(t,e,i){var s=this.w;"function"==typeof s.config.chart.events.markerClick&&s.config.chart.events.markerClick(t,this.ctx,{seriesIndex:e,dataPointIndex:i,w:s}),this.ctx.fireEvent("markerClick",[t,this.ctx,{seriesIndex:e,dataPointIndex:i,w:s}])}},{key:"create",value:function(t,e,i,s,a){var n=5<arguments.length&&void 0!==arguments[5]?arguments[5]:null,r=this.w,o=e;"mouseup"===t.type&&this.markerClick(t,i,s),null===n&&(n=this.tConfig.shared);var l=this.hasMarkers(),h=this.getElBars();if(n){if(o.tooltipLabels.drawSeriesTexts({ttItems:a,i:i,j:s,shared:!this.showOnIntersect&&this.tConfig.shared}),l&&(0<r.globals.markers.largestSize?o.marker.enlargePoints(s):o.tooltipPosition.moveDynamicPointsOnHover(s)),this.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(h),0<this.barSeriesHeight)){var c=new ht(this.ctx),d=r.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(s,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s);for(var u=0;u<d.length;u++)c.pathMouseEnter(d[u])}}else o.tooltipLabels.drawSeriesTexts({shared:!1,ttItems:a,i:i,j:s}),this.hasBars()&&o.tooltipPosition.moveStickyTooltipOverBars(s),l&&o.tooltipPosition.moveMarkers(i,s)}}]),re),te=(t(ne,[{key:"createToolbar",value:function(){var t=this.w,e=document.createElement("div");if(e.setAttribute("class","apexcharts-toolbar"),t.globals.dom.elWrap.appendChild(e),this.elZoom=document.createElement("div"),this.elZoomIn=document.createElement("div"),this.elZoomOut=document.createElement("div"),this.elPan=document.createElement("div"),this.elSelection=document.createElement("div"),this.elZoomReset=document.createElement("div"),this.elMenuIcon=document.createElement("div"),this.elMenu=document.createElement("div"),this.elCustomIcons=[],this.t=t.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var i=0;i<this.t.customIcons.length;i++)this.elCustomIcons.push(document.createElement("div"));this.elMenuItems=[];var s=[];this.t.zoomin&&t.config.chart.zoom.enabled&&s.push({el:this.elZoomIn,icon:"string"==typeof this.t.zoomin?this.t.zoomin:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n',title:this.localeValues.zoomIn,class:"apexcharts-zoom-in-icon"}),this.t.zoomout&&t.config.chart.zoom.enabled&&s.push({el:this.elZoomOut,icon:"string"==typeof this.t.zoomout?this.t.zoomout:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n',title:this.localeValues.zoomOut,class:"apexcharts-zoom-out-icon"}),this.t.zoom&&t.config.chart.zoom.enabled&&s.push({el:this.elZoom,icon:"string"==typeof this.t.zoom?this.t.zoom:'<svg xmlns="http://www.w3.org/2000/svg" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>\n <path d="M0 0h24v24H0V0z" fill="none"/>\n <path d="M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"/>\n</svg>',title:this.localeValues.selectionZoom,class:t.globals.isTouchDevice?"hidden":"apexcharts-zoom-icon"}),this.t.selection&&t.config.chart.selection.enabled&&s.push({el:this.elSelection,icon:"string"==typeof this.t.selection?this.t.selection:'<svg fill="#6E8192" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z"/>\n</svg>',title:this.localeValues.selection,class:t.globals.isTouchDevice?"hidden":"apexcharts-selection-icon"}),this.t.pan&&t.config.chart.zoom.enabled&&s.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n <defs>\n <path d="M0 0h24v24H0z" id="a"/>\n </defs>\n <clipPath id="b">\n <use overflow="visible" xlink:href="#a"/>\n </clipPath>\n <path clip-path="url(#b)" d="M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z"/>\n</svg>',title:this.localeValues.pan,class:t.globals.isTouchDevice?"hidden":"apexcharts-pan-icon"}),this.t.reset&&t.config.chart.zoom.enabled&&s.push({el:this.elZoomReset,icon:"string"==typeof this.t.reset?this.t.reset:'<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>\n <path d="M0 0h24v24H0z" fill="none"/>\n</svg>',title:this.localeValues.reset,class:"apexcharts-reset-zoom-icon"}),this.t.download&&s.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var a=0;a<this.elCustomIcons.length;a++)s.push({el:this.elCustomIcons[a],icon:this.t.customIcons[a].icon,title:this.t.customIcons[a].title,index:this.t.customIcons[a].index,class:"apexcharts-toolbar-custom-icon "+this.t.customIcons[a].class});s.forEach(function(t,e){t.index&<.moveIndexInArray(s,e,t.index)});for(var n=0;n<s.length;n++)ht.setAttrs(s[n].el,{class:s[n].class,title:s[n].title}),s[n].el.innerHTML=s[n].icon,e.appendChild(s[n].el);e.appendChild(this.elMenu),ht.setAttrs(this.elMenu,{class:"apexcharts-menu"});for(var r=[{name:"exportSVG",title:this.localeValues.exportToSVG},{name:"exportPNG",title:this.localeValues.exportToPNG}],o=0;o<r.length;o++)this.elMenuItems.push(document.createElement("div")),this.elMenuItems[o].innerHTML=r[o].title,ht.setAttrs(this.elMenuItems[o],{class:"apexcharts-menu-item ".concat(r[o].name),title:r[o].title}),this.elMenu.appendChild(this.elMenuItems[o]);t.globals.zoomEnabled?this.elZoom.classList.add("selected"):t.globals.panEnabled?this.elPan.classList.add("selected"):t.globals.selectionEnabled&&this.elSelection.classList.add("selected"),this.addToolbarEventListeners()}},{key:"addToolbarEventListeners",value:function(){var e=this;this.elZoomReset.addEventListener("click",this.handleZoomReset.bind(this)),this.elSelection.addEventListener("click",this.toggleSelection.bind(this)),this.elZoom.addEventListener("click",this.toggleZooming.bind(this)),this.elZoomIn.addEventListener("click",this.handleZoomIn.bind(this)),this.elZoomOut.addEventListener("click",this.handleZoomOut.bind(this)),this.elPan.addEventListener("click",this.togglePanning.bind(this)),this.elMenuIcon.addEventListener("click",this.toggleMenu.bind(this)),this.elMenuItems.forEach(function(t){t.classList.contains("exportSVG")?t.addEventListener("click",e.downloadSVG.bind(e)):t.classList.contains("exportPNG")&&t.addEventListener("click",e.downloadPNG.bind(e))});for(var t=0;t<this.t.customIcons.length;t++)this.elCustomIcons[t].addEventListener("click",this.t.customIcons[t].click)}},{key:"toggleSelection",value:function(){this.toggleOtherControls(),this.w.globals.selectionEnabled=!this.w.globals.selectionEnabled,this.elSelection.classList.contains("selected")?this.elSelection.classList.remove("selected"):this.elSelection.classList.add("selected")}},{key:"toggleZooming",value:function(){this.toggleOtherControls(),this.w.globals.zoomEnabled=!this.w.globals.zoomEnabled,this.elZoom.classList.contains("selected")?this.elZoom.classList.remove("selected"):this.elZoom.classList.add("selected")}},{key:"getToolbarIconsReference",value:function(){var t=this.w;this.elZoom||(this.elZoom=t.globals.dom.baseEl.querySelector(".apexcharts-zoom-icon")),this.elPan||(this.elPan=t.globals.dom.baseEl.querySelector(".apexcharts-pan-icon")),this.elSelection||(this.elSelection=t.globals.dom.baseEl.querySelector(".apexcharts-selection-icon"))}},{key:"enableZooming",value:function(){this.toggleOtherControls(),this.w.globals.zoomEnabled=!0,this.elZoom&&this.elZoom.classList.add("selected"),this.elPan&&this.elPan.classList.remove("selected")}},{key:"enablePanning",value:function(){this.toggleOtherControls(),this.w.globals.panEnabled=!0,this.elPan&&this.elPan.classList.add("selected"),this.elZoom&&this.elZoom.classList.remove("selected")}},{key:"togglePanning",value:function(){this.toggleOtherControls(),this.w.globals.panEnabled=!this.w.globals.panEnabled,this.elPan.classList.contains("selected")?this.elPan.classList.remove("selected"):this.elPan.classList.add("selected")}},{key:"toggleOtherControls",value:function(){var t=this.w;t.globals.panEnabled=!1,t.globals.zoomEnabled=!1,t.globals.selectionEnabled=!1,this.getToolbarIconsReference(),this.elPan&&this.elPan.classList.remove("selected"),this.elSelection&&this.elSelection.classList.remove("selected"),this.elZoom&&this.elZoom.classList.remove("selected")}},{key:"handleZoomIn",value:function(){var t=this.w,e=(t.globals.minX+t.globals.maxX)/2,i=(t.globals.minX+e)/2,s=(t.globals.maxX+e)/2;t.globals.disableZoomIn||this.zoomUpdateOptions(i,s)}},{key:"handleZoomOut",value:function(){var t=this.w;if(!("datetime"===t.config.xaxis.type&&new Date(t.globals.minX).getUTCFullYear()<1e3)){var e=(t.globals.minX+t.globals.maxX)/2,i=t.globals.minX-(e-t.globals.minX),s=t.globals.maxX-(e-t.globals.maxX);t.globals.disableZoomOut||this.zoomUpdateOptions(i,s)}}},{key:"zoomUpdateOptions",value:function(t,e){var i={min:t,max:e},s=this.getBeforeZoomRange(i);s&&(i=s.xaxis),this.w.globals.zoomed=!0,this.ctx._updateOptions({xaxis:i},!1,this.w.config.chart.animations.dynamicAnimation.enabled),this.zoomCallback(i)}},{key:"zoomCallback",value:function(t,e){"function"==typeof this.ev.zoomed&&this.ev.zoomed(this.ctx,{xaxis:t,yaxis:e})}},{key:"getBeforeZoomRange",value:function(t,e){var i=null;return"function"==typeof this.ev.beforeZoom&&(i=this.ev.beforeZoom(this,{xaxis:t,yaxis:e})),i}},{key:"toggleMenu",value:function(){this.elMenu.classList.contains("open")?this.elMenu.classList.remove("open"):this.elMenu.classList.add("open")}},{key:"downloadPNG",value:function(){new Vt(this.ctx).exportToPng(this.ctx),this.toggleMenu()}},{key:"downloadSVG",value:function(){new Vt(this.ctx).exportToSVG(),this.toggleMenu()}},{key:"handleZoomReset",value:function(t){var i=this;this.ctx.getSyncedCharts().forEach(function(t){var e=t.w;e.globals.minX!==e.globals.initialminX&&e.globals.maxX!==e.globals.initialmaxX&&(t.revertDefaultAxisMinMax(),"function"==typeof e.config.chart.events.zoomed&&i.zoomCallback({min:e.config.xaxis.min,max:e.config.xaxis.max}),e.globals.zoomed=!1,t._updateSeries(e.globals.initialSeries,e.config.chart.animations.dynamicAnimation.enabled))})}},{key:"destroy",value:function(){this.elZoom=null,this.elZoomIn=null,this.elZoomOut=null,this.elPan=null,this.elSelection=null,this.elZoomReset=null,this.elMenuIcon=null}}]),ne),ee=(e(ae,te),t(ae,[{key:"init",value:function(t){var e=this,i=t.xyRatios,s=this.w,a=this;this.xyRatios=i,this.zoomRect=this.graphics.drawRect(0,0,0,0),this.selectionRect=this.graphics.drawRect(0,0,0,0),this.gridRect=s.globals.dom.baseEl.querySelector(".apexcharts-grid"),this.zoomRect.node.classList.add("apexcharts-zoom-rect"),this.selectionRect.node.classList.add("apexcharts-selection-rect"),s.globals.dom.elGraphical.add(this.zoomRect),s.globals.dom.elGraphical.add(this.selectionRect),"x"===s.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,minY:0,maxX:s.globals.gridWidth,maxY:s.globals.gridHeight}).on("dragmove",this.selectionDragging.bind(this,"dragging")):"y"===s.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,maxX:s.globals.gridWidth}).on("dragmove",this.selectionDragging.bind(this,"dragging")):this.slDraggableRect=this.selectionRect.draggable().on("dragmove",this.selectionDragging.bind(this,"dragging")),this.preselectedSelection(),this.hoverArea=s.globals.dom.baseEl.querySelector(s.globals.chartClass),this.hoverArea.classList.add("zoomable"),this.eventList.forEach(function(t){e.hoverArea.addEventListener(t,a.svgMouseEvents.bind(a,i),{capture:!1,passive:!0})})}},{key:"destroy",value:function(){this.slDraggableRect&&(this.slDraggableRect.draggable(!1),this.slDraggableRect.off(),this.selectionRect.off()),this.selectionRect=null,this.zoomRect=null,this.gridRect=null}},{key:"svgMouseEvents",value:function(t,e){var i=this.w,s=this,a=this.ctx.toolbar,n=i.globals.zoomEnabled?i.config.chart.zoom.type:i.config.chart.selection.type;if(e.shiftKey?(this.shiftWasPressed=!0,a.enablePanning()):this.shiftWasPressed&&(a.enableZooming(),this.shiftWasPressed=!1),!e.target.classList.contains("apexcharts-selection-rect")&&!e.target.parentNode.classList.contains("apexcharts-toolbar")){if(s.clientX="touchmove"===e.type||"touchstart"===e.type?e.touches[0].clientX:"touchend"===e.type?e.changedTouches[0].clientX:e.clientX,s.clientY="touchmove"===e.type||"touchstart"===e.type?e.touches[0].clientY:"touchend"===e.type?e.changedTouches[0].clientY:e.clientY,"mousedown"===e.type&&1===e.which){var r=s.gridRect.getBoundingClientRect();s.startX=s.clientX-r.left,s.startY=s.clientY-r.top,s.dragged=!1,s.w.globals.mousedown=!0}if(("mousemove"===e.type&&1===e.which||"touchmove"===e.type)&&(s.dragged=!0,i.globals.panEnabled?(i.globals.selection=null,s.w.globals.mousedown&&s.panDragging({context:s,zoomtype:n,xyRatios:t})):(s.w.globals.mousedown&&i.globals.zoomEnabled||s.w.globals.mousedown&&i.globals.selectionEnabled)&&(s.selection=s.selectionDrawing({context:s,zoomtype:n}))),"mouseup"===e.type||"touchend"===e.type||"mouseleave"===e.type){var o=s.gridRect.getBoundingClientRect();s.w.globals.mousedown&&(s.endX=s.clientX-o.left,s.endY=s.clientY-o.top,s.dragX=Math.abs(s.endX-s.startX),s.dragY=Math.abs(s.endY-s.startY),(i.globals.zoomEnabled||i.globals.selectionEnabled)&&s.selectionDrawn({context:s,zoomtype:n})),i.globals.zoomEnabled&&s.hideSelectionRect(this.selectionRect),s.dragged=!1,s.w.globals.mousedown=!1}this.makeSelectionRectDraggable()}}},{key:"makeSelectionRectDraggable",value:function(){var t=this.w;if(this.selectionRect){var e=this.selectionRect.node.getBoundingClientRect();0<e.width&&0<e.height&&this.slDraggableRect.selectize().resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,s={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,s=t.width,a=t.height,n=t.translateX,r=t.translateY,o=this.w,l=this.zoomRect,h=this.selectionRect;if(this.dragged||null!==o.globals.selection){var c={transform:"translate("+n+", "+r+")"};o.globals.zoomEnabled&&this.dragged&&(l.attr({x:e,y:i,width:s,height:a,fill:o.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":o.config.chart.zoom.zoomedArea.fill.opacity,stroke:o.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":o.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":o.config.chart.zoom.zoomedArea.stroke.opacity}),ht.setAttrs(l.node,c)),o.globals.selectionEnabled&&(h.attr({x:e,y:i,width:0<s?s:0,height:0<a?a:0,fill:o.config.chart.selection.fill.color,"fill-opacity":o.config.chart.selection.fill.opacity,stroke:o.config.chart.selection.stroke.color,"stroke-width":o.config.chart.selection.stroke.width,"stroke-dasharray":o.config.chart.selection.stroke.dashArray,"stroke-opacity":o.config.chart.selection.stroke.opacity}),ht.setAttrs(h.node,c))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e,i=t.context,s=t.zoomtype,a=this.w,n=i,r=this.gridRect.getBoundingClientRect(),o=n.startX-1,l=n.startY,h=n.clientX-r.left-o,c=n.clientY-r.top-l,d=0,u=0;return Math.abs(h+o)>a.globals.gridWidth?h=a.globals.gridWidth-o:n.clientX-r.left<0&&(h=o),o>n.clientX-r.left&&(d=-(h=Math.abs(h))),l>n.clientY-r.top&&(u=-(c=Math.abs(c))),e="x"===s?{x:o,y:0,width:h,height:a.globals.gridHeight,translateX:d,translateY:0}:"y"===s?{x:0,y:l,width:a.globals.gridWidth,height:c,translateX:0,translateY:u}:{x:o,y:l,width:h,height:c,translateX:d,translateY:u},n.drawSelectionRect(e),n.selectionDragging("resizing"),e}},{key:"selectionDragging",value:function(t,e){var r=this,o=this.w,l=this.xyRatios,h=this.selectionRect,i=0;"resizing"===t&&(i=30),"function"==typeof o.config.chart.events.selection&&o.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout(function(){var t=r.gridRect.getBoundingClientRect(),e=h.node.getBoundingClientRect(),i=o.globals.xAxisScale.niceMin+(e.left-t.left)*l.xRatio,s=o.globals.xAxisScale.niceMin+(e.right-t.left)*l.xRatio,a=o.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*l.yRatio[0],n=o.globals.yAxisScale[0].niceMax-(e.top-t.top)*l.yRatio[0];o.config.chart.events.selection(r.ctx,{xaxis:{min:i,max:s},yaxis:{min:a,max:n}})},i))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,s=this.w,a=e,n=this.xyRatios,r=this.ctx.toolbar;if(a.startX>a.endX){var o=a.startX;a.startX=a.endX,a.endX=o}if(a.startY>a.endY){var l=a.startY;a.startY=a.endY,a.endY=l}var h=s.globals.xAxisScale.niceMin+a.startX*n.xRatio,c=s.globals.xAxisScale.niceMin+a.endX*n.xRatio,d=[],u=[];if(s.config.yaxis.forEach(function(t,e){d.push(Math.floor(s.globals.yAxisScale[e].niceMax-n.yRatio[e]*a.startY)),u.push(Math.floor(s.globals.yAxisScale[e].niceMax-n.yRatio[e]*a.endY))}),a.dragged&&(10<a.dragX||10<a.dragY)&&h!==c)if(s.globals.zoomEnabled){var g=lt.clone(s.globals.initialConfig.yaxis);s.globals.zoomed||(s.globals.lastXAxis=lt.clone(s.config.xaxis),s.globals.lastYAxis=lt.clone(s.config.yaxis));var f={min:h,max:c};if("xy"!==i&&"y"!==i||g.forEach(function(t,e){g[e].min=u[e],g[e].max=d[e]}),s.config.chart.zoom.autoScaleYaxis){var p=new B(a.ctx);g=p.autoScaleY(a.ctx,g,{xaxis:f})}if(r){var x=r.getBeforeZoomRange(f,g);x&&(f=x.xaxis?x.xaxis:f,g=x.yaxis?x.yaxe:g)}var b={xaxis:f};s.config.chart.group||(b[g]=g),a.ctx._updateOptions(b,!1,a.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof s.config.chart.events.zoomed&&r.zoomCallback(f,g),s.globals.zoomed=!0}else if(s.globals.selectionEnabled){var m,v=null;m={min:h,max:c},"xy"!==i&&"y"!==i||(v=lt.clone(s.config.yaxis)).forEach(function(t,e){v[e].min=u[e],v[e].max=d[e]}),s.globals.selection=a.selection,"function"==typeof s.config.chart.events.selection&&s.config.chart.events.selection(a.ctx,{xaxis:m,yaxis:v})}}},{key:"panDragging",value:function(t){var e,i=t.context,s=this.w,a=i;if(void 0!==s.globals.lastClientPosition.x){var n=s.globals.lastClientPosition.x-a.clientX,r=s.globals.lastClientPosition.y-a.clientY;Math.abs(n)>Math.abs(r)&&0<n?e="left":Math.abs(n)>Math.abs(r)&&n<0?e="right":Math.abs(r)>Math.abs(n)&&0<r?e="up":Math.abs(r)>Math.abs(n)&&r<0&&(e="down")}s.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=s.globals.minX,l=s.globals.maxX;a.panScrolled(e,o,l)}},{key:"panScrolled",value:function(t,e,i){var s=this.w,a=this.xyRatios,n=lt.clone(s.globals.initialConfig.yaxis);"left"===t?(e=s.globals.minX+s.globals.gridWidth/15*a.xRatio,i=s.globals.maxX+s.globals.gridWidth/15*a.xRatio):"right"===t&&(e=s.globals.minX-s.globals.gridWidth/15*a.xRatio,i=s.globals.maxX-s.globals.gridWidth/15*a.xRatio),(e<s.globals.initialminX||i>s.globals.initialmaxX)&&(e=s.globals.minX,i=s.globals.maxX);var r={min:e,max:i};s.config.chart.zoom.autoScaleYaxis&&(n=new B(this.ctx).autoScaleY(this.ctx,n,{xaxis:r}));var o={xaxis:{min:e,max:i}};s.config.chart.group||(o[n]=n),this.ctx._updateOptions(o,!1,!1),"function"==typeof s.config.chart.events.scrolled&&s.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),ae),ie=(t(se,[{key:"draw",value:function(){this.drawTitleSubtitle("title"),this.drawTitleSubtitle("subtitle")}},{key:"drawTitleSubtitle",value:function(t){var e=this.w,i="title"===t?e.config.title:e.config.subtitle,s=e.globals.svgWidth/2,a=i.offsetY,n="middle";if("left"===i.align?(s=10,n="start"):"right"===i.align&&(s=e.globals.svgWidth-10,n="end"),s+=i.offsetX,a=a+parseInt(i.style.fontSize)+2,void 0!==i.text){var r=new ht(this.ctx).drawText({x:s,y:a,text:i.text,textAnchor:n,fontSize:i.style.fontSize,fontFamily:i.style.fontFamily,foreColor:i.style.color,opacity:1});r.node.setAttribute("class","apexcharts-".concat(t,"-text")),e.globals.dom.Paper.add(r)}}}]),se);function se(t){a(this,se),this.ctx=t,this.w=t.w}function ae(t){var e;return a(this,ae),(e=o(this,r(ae).call(this,t))).ctx=t,e.w=t.w,e.dragged=!1,e.graphics=new ht(e.ctx),e.eventList=["mousedown","mouseleave","mousemove","touchstart","touchmove","mouseup","touchend"],e.clientX=0,e.clientY=0,e.startX=0,e.endX=0,e.dragX=0,e.startY=0,e.endY=0,e.dragY=0,e}function ne(t){a(this,ne),this.ctx=t,this.w=t.w,this.ev=this.w.config.chart.events,this.localeValues=this.w.globals.locale.toolbar}function re(t){a(this,re),this.ctx=t,this.w=t.w;var e=this.w;this.tConfig=e.config.tooltip,this.tooltipUtil=new Ut(this),this.tooltipLabels=new qt(this),this.tooltipPosition=new Zt(this),this.marker=new $t(this),this.intersect=new Jt(this),this.axesTooltip=new Qt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!e.globals.isBarHorizontal&&this.tConfig.shared}function oe(t){a(this,oe),this.w=t.w,this.ttCtx=t}function le(t){a(this,le),this.w=t.w,this.ttCtx=t}function he(t){a(this,he),this.w=t.w,this.ttCtx=t,this.ctx=t.ctx,this.tooltipPosition=new Zt(t)}function ce(t){a(this,ce),this.ttCtx=t,this.ctx=t.ctx,this.w=t.w}function de(t){a(this,de),this.w=t.w,this.ctx=t.ctx,this.ttCtx=t,this.tooltipUtil=new Ut(t)}function ue(t){a(this,ue),this.w=t.w,this.ttCtx=t,this.ctx=t.ctx}function ge(t){a(this,ge),this.ctx=t,this.w=t.w,this.colors=[]}function fe(t){a(this,fe),this.ctx=t,this.w=t.w}function pe(t){a(this,pe),this.ctx=t,this.w=t.w;var e=this.w;this.anim=new X(this.ctx),this.xaxisLabels=e.globals.labels.slice(),this.animX=e.config.grid.xaxis.lines.animate&&e.config.chart.animations.enabled,this.animY=e.config.grid.yaxis.lines.animate&&e.config.chart.animations.enabled,0<e.globals.timelineLabels.length&&(this.xaxisLabels=e.globals.timelineLabels.slice())}function xe(t){a(this,xe),this.ctx=t,this.w=t.w}function be(t){(this.el=t).remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1}}function me(t,e,i,s,a,n,r){for(var o=t.slice(e,i||r),l=s.slice(a,n||r),h=0,c={pos:[0,0],start:[0,0]},d={pos:[0,0],start:[0,0]};o[h]=ve.call(c,o[h]),l[h]=ve.call(d,l[h]),o[h][0]!=l[h][0]||"M"==o[h][0]||"A"==o[h][0]&&(o[h][4]!=l[h][4]||o[h][5]!=l[h][5])?(Array.prototype.splice.apply(o,[h,1].concat(we.call(c,o[h]))),Array.prototype.splice.apply(l,[h,1].concat(we.call(d,l[h])))):(o[h]=ye.call(c,o[h]),l[h]=ye.call(d,l[h])),++h!=o.length||h!=l.length;)h==o.length&&o.push(["C",c.pos[0],c.pos[1],c.pos[0],c.pos[1],c.pos[0],c.pos[1]]),h==l.length&&l.push(["C",d.pos[0],d.pos[1],d.pos[0],d.pos[1],d.pos[0],d.pos[1]]);return{start:o,dest:l}}function ve(t){switch(t[0]){case"z":case"Z":t[0]="L",t[1]=this.start[0],t[2]=this.start[1];break;case"H":t[0]="L",t[2]=this.pos[1];break;case"V":t[0]="L",t[2]=t[1],t[1]=this.pos[0];break;case"T":t[0]="Q",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case"S":t[0]="C",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function ye(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!="SCQT".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function we(t){var e=[t];switch(t[0]){case"M":return this.pos=this.start=[t[1],t[2]],e;case"L":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case"Q":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case"A":t=(e=function(t,e){var i,s,a,n,r,o,l,h,c,d,u,g,f,p,x,b,m,v,y,w,k,A,S,C,L,z,P=Math.abs(e[1]),E=Math.abs(e[2]),M=e[3]%360,T=e[4],X=e[5],I=e[6],Y=e[7],F=new SVG.Point(t),R=new SVG.Point(I,Y),D=[];if(0===P||0===E||F.x===R.x&&F.y===R.y)return[["C",F.x,F.y,R.x,R.y,R.x,R.y]];for(1<(s=(i=new SVG.Point((F.x-R.x)/2,(F.y-R.y)/2).transform((new SVG.Matrix).rotate(M))).x*i.x/(P*P)+i.y*i.y/(E*E))&&(P*=s=Math.sqrt(s),E*=s),a=(new SVG.Matrix).rotate(M).scale(1/P,1/E).rotate(-M),F=F.transform(a),o=(n=[(R=R.transform(a)).x-F.x,R.y-F.y])[0]*n[0]+n[1]*n[1],r=Math.sqrt(o),n[0]/=r,n[1]/=r,l=o<4?Math.sqrt(1-o/4):0,T===X&&(l*=-1),h=new SVG.Point((R.x+F.x)/2+l*-n[1],(R.y+F.y)/2+l*n[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),u=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(u*=-1),g=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(g*=-1),X&&g<u&&(g+=2*Math.PI),!X&&u<g&&(g-=2*Math.PI),b=[],f=(g-(m=u))/(p=Math.ceil(2*Math.abs(u-g)/Math.PI)),x=4*Math.tan(f/4)/3,k=0;k<=p;k++)y=Math.cos(m),v=Math.sin(m),w=new SVG.Point(h.x+y,h.y+v),b[k]=[new SVG.Point(w.x+x*v,w.y-x*y),w,new SVG.Point(w.x-x*v,w.y+x*y)],m+=f;for(b[0][0]=b[0][1].clone(),b[b.length-1][2]=b[b.length-1][1].clone(),a=(new SVG.Matrix).rotate(M).scale(P,E).rotate(-M),k=0,A=b.length;k<A;k++)b[k][0]=b[k][0].transform(a),b[k][1]=b[k][1].transform(a),b[k][2]=b[k][2].transform(a);for(k=1,A=b.length;k<A;k++)S=(w=b[k-1][2]).x,C=w.y,L=(w=b[k][0]).x,z=w.y,I=(w=b[k][1]).x,Y=w.y,D.push(["C",S,C,L,z,I,Y]);return D}(this.pos,t))[0]}return t[0]="C",this.pos=[t[5],t[6]],this.reflection=[2*t[5]-t[3],2*t[6]-t[4]],e}function ke(t,e){if(!1===e)return!1;for(var i=e,s=t.length;i<s;++i)if("M"==t[i][0])return i;return!1}return Wt="undefined"!=typeof window?window:void 0,Bt=function(r,a){var d=(void 0!==this?this:r).SVG=function(t){if(d.supported)return t=new d.Doc(t),d.parser.draw||d.prepare(),t};if(d.ns="http://www.w3.org/2000/svg",d.xmlns="http://www.w3.org/2000/xmlns/",d.xlink="http://www.w3.org/1999/xlink",d.svgjs="http://svgjs.com/svgjs",d.supported=!0,!d.supported)return!1;d.did=1e3,d.eid=function(t){return"Svgjs"+o(t)+d.did++},d.create=function(t){var e=a.createElementNS(this.ns,t);return e.setAttribute("id",this.eid(t)),e},d.extend=function(){var t,e,i,s;for(e=(t=[].slice.call(arguments)).pop(),s=t.length-1;0<=s;s--)if(t[s])for(i in e)t[s].prototype[i]=e[i];d.Set&&d.Set.inherit&&d.Set.inherit()},d.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,d.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&d.extend(e,t.extend),t.construct&&d.extend(t.parent||d.Container,t.construct),e},d.adopt=function(t){return t?t.instance?t.instance:((e="svg"==t.nodeName?t.parentNode instanceof r.SVGElement?new d.Nested:new d.Doc:"linearGradient"==t.nodeName?new d.Gradient("linear"):"radialGradient"==t.nodeName?new d.Gradient("radial"):d[o(t.nodeName)]?new(d[o(t.nodeName)]):new d.Element(t)).type=t.nodeName,((e.node=t).instance=e)instanceof d.Doc&&e.namespace().defs(),e.setData(JSON.parse(t.getAttribute("svgjs:data"))||{}),e):null;var e},d.prepare=function(){var t=a.getElementsByTagName("body")[0],e=(t?new d.Doc(t):d.adopt(a.documentElement).nested()).size(2,0);d.parser={body:t||a.documentElement,draw:e.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:e.polyline().node,path:e.path().node,native:d.create("svg")}},d.parser={native:d.create("svg")},a.addEventListener("DOMContentLoaded",function(){d.parser.draw||d.prepare()},!1),d.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},d.utils={map:function(t,e){var i,s=t.length,a=[];for(i=0;i<s;i++)a.push(e(t[i]));return a},filter:function(t,e){var i,s=t.length,a=[];for(i=0;i<s;i++)e(t[i])&&a.push(t[i]);return a},radians:function(t){return t%360*Math.PI/180},degrees:function(t){return 180*t/Math.PI%360},filterSVGElements:function(t){return this.filter(t,function(t){return t instanceof r.SVGElement})}},d.defaults={attrs:{"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":"miter","stroke-linecap":"butt",fill:"#000000",stroke:"#000000",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":"#000000","font-size":16,"font-family":"Helvetica, Arial, sans-serif","text-anchor":"start"}},d.Color=function(t){var e,i;this.r=0,this.g=0,this.b=0,t&&("string"==typeof t?d.regex.isRgb.test(t)?(e=d.regex.rgb.exec(t.replace(d.regex.whitespace,"")),this.r=parseInt(e[1]),this.g=parseInt(e[2]),this.b=parseInt(e[3])):d.regex.isHex.test(t)&&(e=d.regex.hex.exec(4==(i=t).length?["#",i.substring(1,2),i.substring(1,2),i.substring(2,3),i.substring(2,3),i.substring(3,4),i.substring(3,4)].join(""):i),this.r=parseInt(e[1],16),this.g=parseInt(e[2],16),this.b=parseInt(e[3],16)):"object"===w(t)&&(this.r=t.r,this.g=t.g,this.b=t.b))},d.extend(d.Color,{toString:function(){return this.toHex()},toHex:function(){return"#"+c(this.r)+c(this.g)+c(this.b)},toRgb:function(){return"rgb("+[this.r,this.g,this.b].join()+")"},brightness:function(){return this.r/255*.3+this.g/255*.59+this.b/255*.11},morph:function(t){return this.destination=new d.Color(t),this},at:function(t){return this.destination?(t=t<0?0:1<t?1:t,new d.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),d.Color.test=function(t){return t+="",d.regex.isHex.test(t)||d.regex.isRgb.test(t)},d.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},d.Color.isColor=function(t){return d.Color.isRgb(t)||d.Color.test(t)},d.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},d.extend(d.Array,{morph:function(t){if(this.destination=this.parse(t),this.value.length!=this.destination.length){for(var e=this.value[this.value.length-1],i=this.destination[this.destination.length-1];this.value.length>this.destination.length;)this.destination.push(i);for(;this.value.length<this.destination.length;)this.value.push(e)}return this},settle:function(){for(var t=0,e=this.value.length,i=[];t<e;t++)-1==i.indexOf(this.value[t])&&i.push(this.value[t]);return this.value=i},at:function(t){if(!this.destination)return this;for(var e=0,i=this.value.length,s=[];e<i;e++)s.push(this.value[e]+(this.destination[e]-this.value[e])*t);return new d.Array(s)},toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)},split:function(t){return t.trim().split(d.regex.delimiter).map(parseFloat)},reverse:function(){return this.value.reverse(),this},clone:function(){var t=new this.constructor;return t.value=function t(e){for(var i=e.slice(0),s=i.length;s--;)Array.isArray(i[s])&&(i[s]=t(i[s]));return i}(this.value),t}}),d.PointArray=function(t,e){d.Array.call(this,t,e||[[0,0]])},d.PointArray.prototype=new d.Array,d.PointArray.prototype.constructor=d.PointArray,d.extend(d.PointArray,{toString:function(){for(var t=0,e=this.value.length,i=[];t<e;t++)i.push(this.value[t].join(","));return i.join(" ")},toLine:function(){return{x1:this.value[0][0],y1:this.value[0][1],x2:this.value[1][0],y2:this.value[1][1]}},at:function(t){if(!this.destination)return this;for(var e=0,i=this.value.length,s=[];e<i;e++)s.push([this.value[e][0]+(this.destination[e][0]-this.value[e][0])*t,this.value[e][1]+(this.destination[e][1]-this.value[e][1])*t]);return new d.PointArray(s)},parse:function(t){var e=[];if(t=t.valueOf(),Array.isArray(t)){if(Array.isArray(t[0]))return t.map(function(t){return t.slice()});if(null!=t[0].x)return t.map(function(t){return[t.x,t.y]})}else t=t.trim().split(d.regex.delimiter).map(parseFloat);t.length%2!=0&&t.pop();for(var i=0,s=t.length;i<s;i+=2)e.push([t[i],t[i+1]]);return e},move:function(t,e){var i=this.bbox();if(t-=i.x,e-=i.y,!isNaN(t)&&!isNaN(e))for(var s=this.value.length-1;0<=s;s--)this.value[s]=[this.value[s][0]+t,this.value[s][1]+e];return this},size:function(t,e){var i,s=this.bbox();for(i=this.value.length-1;0<=i;i--)s.width&&(this.value[i][0]=(this.value[i][0]-s.x)*t/s.width+s.x),s.height&&(this.value[i][1]=(this.value[i][1]-s.y)*e/s.height+s.y);return this},bbox:function(){return d.parser.draw||d.prepare(),d.parser.poly.setAttribute("points",this.toString()),d.parser.poly.getBBox()}});for(var l={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},S:function(t,e){return e.x=t[2],e.y=t[3],["S",t[0],t[1],t[2],t[3]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},T:function(t,e){return e.x=t[0],e.y=t[1],["T",t[0],t[1]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]},A:function(t,e){return e.x=t[5],e.y=t[6],["A",t[0],t[1],t[2],t[3],t[4],t[5],t[6]]}},t="mlhvqtcsaz".split(""),e=0,i=t.length;e<i;++e)l[t[e]]=function(n){return function(t,e,i){if("H"==n)t[0]=t[0]+e.x;else if("V"==n)t[0]=t[0]+e.y;else if("A"==n)t[5]=t[5]+e.x,t[6]=t[6]+e.y;else for(var s=0,a=t.length;s<a;++s)t[s]=t[s]+(s%2?e.y:e.x);return l[n](t,e,i)}}(t[e].toUpperCase());d.PathArray=function(t,e){d.Array.call(this,t,e||[["M",0,0]])},d.PathArray.prototype=new d.Array,d.PathArray.prototype.constructor=d.PathArray,d.extend(d.PathArray,{toString:function(){return function(t){for(var e=0,i=t.length,s="";e<i;e++)s+=t[e][0],null!=t[e][1]&&(s+=t[e][1],null!=t[e][2]&&(s+=" ",s+=t[e][2],null!=t[e][3]&&(s+=" ",s+=t[e][3],s+=" ",s+=t[e][4],null!=t[e][5]&&(s+=" ",s+=t[e][5],s+=" ",s+=t[e][6],null!=t[e][7]&&(s+=" ",s+=t[e][7])))));return s+" "}(this.value)},move:function(t,e){var i=this.bbox();if(t-=i.x,e-=i.y,!isNaN(t)&&!isNaN(e))for(var s,a=this.value.length-1;0<=a;a--)"M"==(s=this.value[a][0])||"L"==s||"T"==s?(this.value[a][1]+=t,this.value[a][2]+=e):"H"==s?this.value[a][1]+=t:"V"==s?this.value[a][1]+=e:"C"==s||"S"==s||"Q"==s?(this.value[a][1]+=t,this.value[a][2]+=e,this.value[a][3]+=t,this.value[a][4]+=e,"C"==s&&(this.value[a][5]+=t,this.value[a][6]+=e)):"A"==s&&(this.value[a][6]+=t,this.value[a][7]+=e);return this},size:function(t,e){var i,s,a=this.bbox();for(i=this.value.length-1;0<=i;i--)"M"==(s=this.value[i][0])||"L"==s||"T"==s?(this.value[i][1]=(this.value[i][1]-a.x)*t/a.width+a.x,this.value[i][2]=(this.value[i][2]-a.y)*e/a.height+a.y):"H"==s?this.value[i][1]=(this.value[i][1]-a.x)*t/a.width+a.x:"V"==s?this.value[i][1]=(this.value[i][1]-a.y)*e/a.height+a.y:"C"==s||"S"==s||"Q"==s?(this.value[i][1]=(this.value[i][1]-a.x)*t/a.width+a.x,this.value[i][2]=(this.value[i][2]-a.y)*e/a.height+a.y,this.value[i][3]=(this.value[i][3]-a.x)*t/a.width+a.x,this.value[i][4]=(this.value[i][4]-a.y)*e/a.height+a.y,"C"==s&&(this.value[i][5]=(this.value[i][5]-a.x)*t/a.width+a.x,this.value[i][6]=(this.value[i][6]-a.y)*e/a.height+a.y)):"A"==s&&(this.value[i][1]=this.value[i][1]*t/a.width,this.value[i][2]=this.value[i][2]*e/a.height,this.value[i][6]=(this.value[i][6]-a.x)*t/a.width+a.x,this.value[i][7]=(this.value[i][7]-a.y)*e/a.height+a.y);return this},equalCommands:function(t){var e,i,s;for(t=new d.PathArray(t),s=this.value.length===t.value.length,e=0,i=this.value.length;s&&e<i;e++)s=this.value[e][0]===t.value[e][0];return s},morph:function(t){return t=new d.PathArray(t),this.equalCommands(t)?this.destination=t:this.destination=null,this},at:function(t){if(!this.destination)return this;var e,i,s,a,n=this.value,r=this.destination.value,o=[],l=new d.PathArray;for(e=0,i=n.length;e<i;e++){for(o[e]=[n[e][0]],s=1,a=n[e].length;s<a;s++)o[e][s]=n[e][s]+(r[e][s]-n[e][s])*t;"A"===o[e][0]&&(o[e][4]=+(0!=o[e][4]),o[e][5]=+(0!=o[e][5]))}return l.value=o,l},parse:function(t){if(t instanceof d.PathArray)return t.valueOf();var e,i={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0};t="string"==typeof t?t.replace(d.regex.numbersWithDots,h).replace(d.regex.pathLetters," $& ").replace(d.regex.hyphen,"$1 -").trim().split(d.regex.delimiter):t.reduce(function(t,e){return[].concat.call(t,e)},[]);for(var s=[],a=new d.Point,n=new d.Point,r=0,o=t.length;d.regex.isPathLetter.test(t[r])?(e=t[r],++r):"M"==e?e="L":"m"==e&&(e="l"),s.push(l[e].call(null,t.slice(r,r+=i[e.toUpperCase()]).map(parseFloat),a,n)),r<o;);return s},bbox:function(){return d.parser.draw||d.prepare(),d.parser.path.setAttribute("d",this.toString()),d.parser.path.getBBox()}}),d.Number=d.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(d.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof d.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new d.Number(t),new d.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new d.Number(t),new d.Number(this-t,this.unit||t.unit)},times:function(t){return t=new d.Number(t),new d.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new d.Number(t),new d.Number(this/t,this.unit||t.unit)},to:function(t){var e=new d.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new d.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new d.Number(this.destination).minus(this).times(t).plus(this):this}}}),d.Element=d.invent({create:function(t){this._stroke=d.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,(this.node.instance=this)._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=u(this,t,e);return this.width(new d.Number(i.width)).height(new d.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},inside:function(t,e){var i=this.bbox();return t>i.x&&e>i.y&&t<i.x+i.width&&e<i.y+i.height},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(d.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(e){return this.hasClass(e)&&this.attr("class",this.classes().filter(function(t){return t!=e}).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return d.get(this.attr(t))},parent:function(t){var e=this;if(!e.node.parentNode)return null;if(e=d.adopt(e.node.parentNode),!t)return e;for(;e&&e.node instanceof r.SVGElement;){if("string"==typeof t?e.matches(t):e instanceof t)return e;if(!e.node.parentNode||"#document"==e.node.parentNode.nodeName)return null;e=d.adopt(e.node.parentNode)}},doc:function(){return this instanceof d.Doc?this:this.parent(d.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return e=this.node,i=t,(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,i);var e,i},native:function(){return this.node},svg:function(t){var e=a.createElement("svg");if(!(t&&this instanceof d.Parent))return e.appendChild(t=a.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),e.innerHTML.replace(/^<svg>/,"").replace(/<\/svg>$/,"");e.innerHTML="<svg>"+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2></$1>")+"</svg>";for(var i=0,s=e.firstChild.childNodes.length;i<s;i++)this.node.appendChild(e.firstChild.firstChild);return this},writeDataToDom:function(){return(this.each||this.lines)&&(this.each?this:this.lines()).each(function(){this.writeDataToDom()}),this.node.removeAttribute("svgjs:data"),Object.keys(this.dom).length&&this.node.setAttribute("svgjs:data",JSON.stringify(this.dom)),this},setData:function(t){return this.dom=t,this},is:function(t){return this instanceof t}}}),d.easing={"-":function(t){return t},"<>":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},d.morph=function(i){return function(t,e){return new d.MorphObj(t,e).at(i)}},d.Situation=d.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new d.Number(t.duration).valueOf(),this.delay=new d.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),d.FX=d.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,i){"object"===w(t)&&(e=t.ease,i=t.delay,t=t.duration);var s=new d.Situation({duration:t||1e3,delay:i||0,ease:d.easing[e||"-"]||e});return this.queue(s),this},delay:function(t){var e=new d.Situation({duration:t,delay:0,ease:d.easing["-"]});return this.queue(e)},target:function(t){return t&&t instanceof d.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=r.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){r.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof d.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof d.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e,i,s=this.situation;if(s.init)return this;for(t in s.animations)for(i=this.target()[t](),Array.isArray(i)||(i=[i]),Array.isArray(s.animations[t])||(s.animations[t]=[s.animations[t]]),e=i.length;e--;)s.animations[t][e]instanceof d.Number&&(i[e]=new d.Number(i[e])),s.animations[t][e]=i[e].morph(s.animations[t][e]);for(t in s.attrs)s.attrs[t]=new d.MorphObj(this.target().attr(t),s.attrs[t]);for(t in s.styles)s.styles[t]=new d.MorphObj(this.target().style(t),s.styles[t]);return s.initialTransformation=this.target().matrixify(),s.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(i||this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},reset:function(){if(this.situation){var t=this.situation;this.stop(),this.situation=t,this.atStart()}return this},finish:function(){for(this.stop(!0,!1);this.dequeue().situation&&this.stop(!0,!1););return this.clearQueue().clearCurrent(),this},atStart:function(){return this.at(0,!0)},atEnd:function(){return!0===this.situation.loops&&(this.situation.loops=this.situation.loop+1),"number"==typeof this.situation.loops?this.at(this.situation.loops,!0):this.at(1,!0)},at:function(t,e){var i=this.situation.duration/this._speed;return this.absPos=t,e||(this.situation.reversed&&(this.absPos=1-this.absPos),this.absPos+=this.situation.loop),this.situation.start=+new Date-this.absPos*i,this.situation.finish=this.situation.start+i,this.step(!0)},speed:function(t){return 0===t?this.pause():t?(this._speed=t,this.at(this.absPos,!0)):this._speed},loop:function(t,e){var i=this.last();return i.loops=null==t||t,i.loop=0,e&&(i.reversing=!0),this},pause:function(){return this.paused=!0,this.stopAnimFrame(),this},play:function(){return this.paused?(this.paused=!1,this.at(this.absPos,!0)):this},reverse:function(t){var e=this.last();return e.reversed=void 0===t?!e.reversed:t,this},progress:function(t){return t?this.situation.ease(this.pos):this.pos},after:function(i){var s=this.last();return this.target().on("finished.fx",function t(e){e.detail.situation==s&&(i.call(this,s),this.off("finished.fx",t))}),this._callStart()},during:function(e){function t(t){t.detail.situation==i&&e.call(this,t.detail.pos,d.morph(t.detail.pos),t.detail.eased,i)}var i=this.last();return this.target().off("during.fx",t).on("during.fx",t),this.after(function(){this.off("during.fx",t)}),this._callStart()},afterAll:function(e){function i(t){e.call(this),this.off("allfinished.fx",i)}return this.target().off("allfinished.fx",i).on("allfinished.fx",i),this._callStart()},duringAll:function(e){function t(t){e.call(this,t.detail.pos,d.morph(t.detail.pos),t.detail.eased,t.detail.situation)}return this.target().off("during.fx",t).on("during.fx",t),this.afterAll(function(){this.off("during.fx",t)}),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,s;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||i<this.situation.loops?(this.pos=e-i,s=this.situation.loop,this.situation.loop=i):(this.absPos=this.situation.loops,this.pos=1,s=this.situation.loop-1,this.situation.loop=this.situation.loops),this.situation.reversing&&(this.situation.reversed=this.situation.reversed!=Boolean((this.situation.loop-s)%2))):(this.absPos=Math.min(this.absPos,1),this.pos=this.absPos),this.pos<0&&(this.pos=0),this.situation.reversed&&(this.pos=1-this.pos);var a=this.situation.ease(this.pos);for(var n in this.situation.once)n>this.lastPos&&n<=a&&(this.situation.once[n].call(this.target(),this.pos,a),delete this.situation.once[n]);return this.active&&this.target().fire("during",{pos:this.pos,eased:a,fx:this,situation:this.situation}),this.situation&&(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=a),this},eachAt:function(){var t,e,i,s=this,a=this.target(),n=this.situation;for(t in n.animations)i=[].concat(n.animations[t]).map(function(t){return"string"!=typeof t&&t.at?t.at(n.ease(s.pos),s.pos):t}),a[t].apply(a,i);for(t in n.attrs)i=[t].concat(n.attrs[t]).map(function(t){return"string"!=typeof t&&t.at?t.at(n.ease(s.pos),s.pos):t}),a.attr.apply(a,i);for(t in n.styles)i=[t].concat(n.styles[t]).map(function(t){return"string"!=typeof t&&t.at?t.at(n.ease(s.pos),s.pos):t}),a.style.apply(a,i);if(n.transforms.length){for(i=n.initialTransformation,t=0,e=n.transforms.length;t<e;t++){var r=n.transforms[t];i=r instanceof d.Matrix?r.relative?i.multiply((new d.Matrix).morph(r).at(n.ease(this.pos))):i.morph(r).at(n.ease(this.pos)):(r.relative||r.undo(i.extract()),i.multiply(r.at(n.ease(this.pos))))}a.matrix(i)}return this},once:function(t,e,i){var s=this.last();return i||(t=s.ease(t)),s.once[t]=e,this},_callStart:function(){return setTimeout(function(){this.start()}.bind(this),0),this}},parent:d.Element,construct:{animate:function(t,e,i){return(this.fx||(this.fx=new d.FX(this))).animate(t,e,i)},delay:function(t){return(this.fx||(this.fx=new d.FX(this))).delay(t)},stop:function(t,e){return this.fx&&this.fx.stop(t,e),this},finish:function(){return this.fx&&this.fx.finish(),this},pause:function(){return this.fx&&this.fx.pause(),this},play:function(){return this.fx&&this.fx.play(),this},speed:function(t){if(this.fx){if(null==t)return this.fx.speed();this.fx.speed(t)}return this}}}),d.MorphObj=d.invent({create:function(t,e){return d.Color.isColor(e)?new d.Color(t).morph(e):d.regex.delimiter.test(t)?d.regex.pathLetters.test(t)?new d.PathArray(t).morph(e):new d.Array(t).morph(e):d.regex.numberAndUnit.test(e)?new d.Number(t).morph(e):(this.value=t,void(this.destination=e))},extend:{at:function(t,e){return e<1?this.value:this.destination},valueOf:function(){return this.value}}}),d.extend(d.FX,{attr:function(t,e,i){if("object"===w(t))for(var s in t)this.attr(s,t[s]);else this.add(t,e,"attrs");return this},style:function(t,e){if("object"===w(t))for(var i in t)this.style(i,t[i]);else this.add(t,e,"styles");return this},x:function(t,e){if(this.target()instanceof d.G)return this.transform({x:t},e),this;var i=new d.Number(t);return i.relative=e,this.add("x",i)},y:function(t,e){if(this.target()instanceof d.G)return this.transform({y:t},e),this;var i=new d.Number(t);return i.relative=e,this.add("y",i)},cx:function(t){return this.add("cx",new d.Number(t))},cy:function(t){return this.add("cy",new d.Number(t))},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},size:function(t,e){var i;return this.target()instanceof d.Text?this.attr("font-size",t):(t&&e||(i=this.target().bbox()),t=t||i.width/i.height*e,e=e||i.height/i.width*t,this.add("width",new d.Number(t)).add("height",new d.Number(e))),this},width:function(t){return this.add("width",new d.Number(t))},height:function(t){return this.add("height",new d.Number(t))},plot:function(t,e,i,s){return 4==arguments.length?this.plot([t,e,i,s]):this.add("plot",new(this.target().morphArray)(t))},leading:function(t){return this.target().leading?this.add("leading",new d.Number(t)):this},viewbox:function(t,e,i,s){return this.target()instanceof d.Container&&this.add("viewbox",new d.ViewBox(t,e,i,s)),this},update:function(t){if(this.target()instanceof d.Stop){if("number"==typeof t||t instanceof d.Number)return this.update({offset:t,color:arguments[1],opacity:arguments[2]});null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",t.offset)}return this}}),d.Box=d.invent({create:function(t,e,i,s){if(!("object"!==w(t)||t instanceof d.Element))return d.Box.call(this,null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height);4==arguments.length&&(this.x=t,this.y=e,this.width=i,this.height=s),b(this)},extend:{merge:function(t){var e=new this.constructor;return e.x=Math.min(this.x,t.x),e.y=Math.min(this.y,t.y),e.width=Math.max(this.x+this.width,t.x+t.width)-e.x,e.height=Math.max(this.y+this.height,t.y+t.height)-e.y,b(e)},transform:function(e){var t,i=1/0,s=-1/0,a=1/0,n=-1/0;return[new d.Point(this.x,this.y),new d.Point(this.x2,this.y),new d.Point(this.x,this.y2),new d.Point(this.x2,this.y2)].forEach(function(t){t=t.transform(e),i=Math.min(i,t.x),s=Math.max(s,t.x),a=Math.min(a,t.y),n=Math.max(n,t.y)}),(t=new this.constructor).x=i,t.width=s-i,t.y=a,t.height=n-a,b(t),t}}}),d.BBox=d.invent({create:function(e){if(d.Box.apply(this,[].slice.call(arguments)),e instanceof d.Element){var i;try{if(!a.documentElement.contains){for(var t=e.node;t.parentNode;)t=t.parentNode;if(t!=a)throw new Error("Element not in the dom")}i=e.node.getBBox()}catch(t){if(e instanceof d.Shape){d.parser.draw||d.prepare();var s=e.clone(d.parser.draw.instance).show();i=s.node.getBBox(),s.remove()}else i={x:e.node.clientLeft,y:e.node.clientTop,width:e.node.clientWidth,height:e.node.clientHeight}}d.Box.call(this,i)}},inherit:d.Box,parent:d.Element,construct:{bbox:function(){return new d.BBox(this)}}}),d.BBox.prototype.constructor=d.BBox,d.extend(d.Element,{tbox:function(){return console.warn("Use of TBox is deprecated and mapped to RBox. Use .rbox() instead."),this.rbox(this.doc())}}),d.RBox=d.invent({create:function(t){d.Box.apply(this,[].slice.call(arguments)),t instanceof d.Element&&d.Box.call(this,t.node.getBoundingClientRect())},inherit:d.Box,parent:d.Element,extend:{addOffset:function(){return this.x+=r.pageXOffset,this.y+=r.pageYOffset,this}},construct:{rbox:function(t){return t?new d.RBox(this).transform(t.screenCTM().inverse()):new d.RBox(this).addOffset()}}}),d.RBox.prototype.constructor=d.RBox,d.Matrix=d.invent({create:function(t){var e,i=f([1,0,0,1,0,0]);for(t=t instanceof d.Element?t.matrixify():"string"==typeof t?f(t.split(d.regex.delimiter).map(parseFloat)):6==arguments.length?f([].slice.call(arguments)):Array.isArray(t)?f(t):"object"===w(t)?t:i,e=v.length-1;0<=e;--e)this[v[e]]=null!=t[v[e]]?t[v[e]]:i[v[e]]},extend:{extract:function(){var t=g(this,0,1),e=g(this,1,0),i=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(i*Math.PI/180)+this.f*Math.sin(i*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(i*Math.PI/180)+this.e*Math.sin(-i*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),skewX:-i,skewY:180/Math.PI*Math.atan2(e.y,e.x),scaleX:Math.sqrt(this.a*this.a+this.b*this.b),scaleY:Math.sqrt(this.c*this.c+this.d*this.d),rotation:i,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new d.Matrix(this)}},clone:function(){return new d.Matrix(this)},morph:function(t){return this.destination=new d.Matrix(t),this},at:function(t){return this.destination?new d.Matrix({a:this.a+(this.destination.a-this.a)*t,b:this.b+(this.destination.b-this.b)*t,c:this.c+(this.destination.c-this.c)*t,d:this.d+(this.destination.d-this.d)*t,e:this.e+(this.destination.e-this.e)*t,f:this.f+(this.destination.f-this.f)*t}):this},multiply:function(t){return new d.Matrix(this.native().multiply(((e=t)instanceof d.Matrix||(e=new d.Matrix(e)),e).native()));var e},inverse:function(){return new d.Matrix(this.native().inverse())},translate:function(t,e){return new d.Matrix(this.native().translate(t||0,e||0))},scale:function(t,e,i,s){return 1==arguments.length?e=t:3==arguments.length&&(s=i,i=e,e=t),this.around(i,s,new d.Matrix(t,0,0,e,0,0))},rotate:function(t,e,i){return t=d.utils.radians(t),this.around(e,i,new d.Matrix(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0))},flip:function(t,e){return"x"==t?this.scale(-1,1,e,0):"y"==t?this.scale(1,-1,0,e):this.scale(-1,-1,t,null!=e?e:t)},skew:function(t,e,i,s){return 1==arguments.length?e=t:3==arguments.length&&(s=i,i=e,e=t),t=d.utils.radians(t),e=d.utils.radians(e),this.around(i,s,new d.Matrix(1,Math.tan(e),Math.tan(t),1,0,0))},skewX:function(t,e,i){return this.skew(t,0,e,i)},skewY:function(t,e,i){return this.skew(0,t,e,i)},around:function(t,e,i){return this.multiply(new d.Matrix(1,0,0,1,t||0,e||0)).multiply(i).multiply(new d.Matrix(1,0,0,1,-t||0,-e||0))},native:function(){for(var t=d.parser.native.createSVGMatrix(),e=v.length-1;0<=e;e--)t[v[e]]=this[v[e]];return t},toString:function(){return"matrix("+m(this.a)+","+m(this.b)+","+m(this.c)+","+m(this.d)+","+m(this.e)+","+m(this.f)+")"}},parent:d.Element,construct:{ctm:function(){return new d.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof d.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new d.Matrix(e)}return new d.Matrix(this.node.getScreenCTM())}}}),d.Point=d.invent({create:function(t,e){var i;i=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===w(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=i.x,this.y=i.y},extend:{clone:function(){return new d.Point(this)},morph:function(t,e){return this.destination=new d.Point(t,e),this},at:function(t){return this.destination?new d.Point({x:this.x+(this.destination.x-this.x)*t,y:this.y+(this.destination.y-this.y)*t}):this},native:function(){var t=d.parser.native.createSVGPoint();return t.x=this.x,t.y=this.y,t},transform:function(t){return new d.Point(this.native().matrixTransform(t.native()))}}}),d.extend(d.Element,{point:function(t,e){return new d.Point(t,e).transform(this.screenCTM().inverse())}}),d.extend(d.Element,{attr:function(t,e,i){if(null==t){for(t={},i=(e=this.node.attributes).length-1;0<=i;i--)t[e[i].nodeName]=d.regex.isNumber.test(e[i].nodeValue)?parseFloat(e[i].nodeValue):e[i].nodeValue;return t}if("object"===w(t))for(e in t)this.attr(e,t[e]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?d.defaults.attrs[t]:d.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",0<parseFloat(e)?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(d.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof d.Image&&(e=this.doc().defs().pattern(0,0,function(){this.add(e)}))),"number"==typeof e?e=new d.Number(e):d.Color.isColor(e)?e=new d.Color(e):Array.isArray(e)&&(e=new d.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof i?this.node.setAttributeNS(i,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),d.extend(d.Element,{transform:function(t,e){var i,s;if("object"!==w(t))return i=new d.Matrix(this).extract(),"string"==typeof t?i[t]:i;if(i=new d.Matrix(this),e=!!e||!!t.relative,null!=t.a)i=e?i.multiply(new d.Matrix(t)):new d.Matrix(t);else if(null!=t.rotation)p(t,this),i=e?i.rotate(t.rotation,t.cx,t.cy):i.rotate(t.rotation-i.extract().rotation,t.cx,t.cy);else if(null!=t.scale||null!=t.scaleX||null!=t.scaleY){if(p(t,this),t.scaleX=null!=t.scale?t.scale:null!=t.scaleX?t.scaleX:1,t.scaleY=null!=t.scale?t.scale:null!=t.scaleY?t.scaleY:1,!e){var a=i.extract();t.scaleX=1*t.scaleX/a.scaleX,t.scaleY=1*t.scaleY/a.scaleY}i=i.scale(t.scaleX,t.scaleY,t.cx,t.cy)}else null!=t.skew||null!=t.skewX||null!=t.skewY?(p(t,this),t.skewX=null!=t.skew?t.skew:null!=t.skewX?t.skewX:0,t.skewY=null!=t.skew?t.skew:null!=t.skewY?t.skewY:0,e||(a=i.extract(),i=i.multiply((new d.Matrix).skew(a.skewX,a.skewY,t.cx,t.cy).inverse())),i=i.skew(t.skewX,t.skewY,t.cx,t.cy)):t.flip?("x"==t.flip||"y"==t.flip?t.offset=null==t.offset?this.bbox()["c"+t.flip]:t.offset:null==t.offset?(s=this.bbox(),t.flip=s.cx,t.offset=s.cy):t.flip=t.offset,i=(new d.Matrix).flip(t.flip,t.offset)):null==t.x&&null==t.y||(e?i=i.translate(t.x,t.y):(null!=t.x&&(i.e=t.x),null!=t.y&&(i.f=t.y)));return this.attr("transform",i)}}),d.extend(d.FX,{transform:function(t,e){var i,s,a=this.target();return"object"!==w(t)?(i=new d.Matrix(a).extract(),"string"==typeof t?i[t]:i):(e=!!e||!!t.relative,null!=t.a?i=new d.Matrix(t):null!=t.rotation?(p(t,a),i=new d.Rotate(t.rotation,t.cx,t.cy)):null!=t.scale||null!=t.scaleX||null!=t.scaleY?(p(t,a),t.scaleX=null!=t.scale?t.scale:null!=t.scaleX?t.scaleX:1,t.scaleY=null!=t.scale?t.scale:null!=t.scaleY?t.scaleY:1,i=new d.Scale(t.scaleX,t.scaleY,t.cx,t.cy)):null!=t.skewX||null!=t.skewY?(p(t,a),t.skewX=null!=t.skewX?t.skewX:0,t.skewY=null!=t.skewY?t.skewY:0,i=new d.Skew(t.skewX,t.skewY,t.cx,t.cy)):t.flip?("x"==t.flip||"y"==t.flip?t.offset=null==t.offset?a.bbox()["c"+t.flip]:t.offset:null==t.offset?(s=a.bbox(),t.flip=s.cx,t.offset=s.cy):t.flip=t.offset,i=(new d.Matrix).flip(t.flip,t.offset)):null==t.x&&null==t.y||(i=new d.Translate(t.x,t.y)),i?(i.relative=e,this.last().transforms.push(i),this._callStart()):this)}}),d.extend(d.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(d.regex.transforms).slice(0,-1).map(function(t){var e=t.trim().split("(");return[e[0],e[1].split(d.regex.delimiter).map(function(t){return parseFloat(t)})]}).reduce(function(t,e){return"matrix"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])},new d.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),d.Transformation=d.invent({create:function(t,e){if(1<arguments.length&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var i=0,s=this.arguments.length;i<s;++i)this[this.arguments[i]]=t[i];else if("object"===w(t))for(i=0,s=this.arguments.length;i<s;++i)this[this.arguments[i]]=t[this.arguments[i]];!(this.inversed=!1)===e&&(this.inversed=!0)},extend:{arguments:[],method:"",at:function(t){for(var e=[],i=0,s=this.arguments.length;i<s;++i)e.push(this[this.arguments[i]]);var a=this._undo||new d.Matrix;return a=(new d.Matrix).morph(d.Matrix.prototype[this.method].apply(a,e)).at(t),this.inversed?a.inverse():a},undo:function(t){for(var e=0,i=this.arguments.length;e<i;++e)t[this.arguments[e]]=void 0===this[this.arguments[e]]?0:t[this.arguments[e]];return t.cx=this.cx,t.cy=this.cy,this._undo=new(d[o(this.method)])(t,!0).at(1),this}}}),d.Translate=d.invent({parent:d.Matrix,inherit:d.Transformation,create:function(t,e){this.constructor.apply(this,[].slice.call(arguments))},extend:{arguments:["transformedX","transformedY"],method:"translate"}}),d.Rotate=d.invent({parent:d.Matrix,inherit:d.Transformation,create:function(t,e){this.constructor.apply(this,[].slice.call(arguments))},extend:{arguments:["rotation","cx","cy"],method:"rotate",at:function(t){var e=(new d.Matrix).rotate((new d.Number).morph(this.rotation-(this._undo?this._undo.rotation:0)).at(t),this.cx,this.cy);return this.inversed?e.inverse():e},undo:function(t){return this._undo=t,this}}}),d.Scale=d.invent({parent:d.Matrix,inherit:d.Transformation,create:function(t,e){this.constructor.apply(this,[].slice.call(arguments))},extend:{arguments:["scaleX","scaleY","cx","cy"],method:"scale"}}),d.Skew=d.invent({parent:d.Matrix,inherit:d.Transformation,create:function(t,e){this.constructor.apply(this,[].slice.call(arguments))},extend:{arguments:["skewX","skewY","cx","cy"],method:"skew"}}),d.extend(d.Element,{style:function(t,e){if(0==arguments.length)return this.node.style.cssText||"";if(arguments.length<2)if("object"===w(t))for(e in t)this.style(e,t[e]);else{if(!d.regex.isCss.test(t))return this.node.style[n(t)];for(t=t.split(/\s*;\s*/).filter(function(t){return!!t}).map(function(t){return t.split(/\s*:\s*/)});e=t.pop();)this.style(e[0],e[1])}else this.node.style[n(t)]=null===e||d.regex.isBlank.test(e)?"":e;return this}}),d.Parent=d.invent({create:function(t){this.constructor.call(this,t)},inherit:d.Element,extend:{children:function(){return d.utils.map(d.utils.filterSVGElements(this.node.childNodes),function(t){return d.adopt(t)})},add:function(t,e){return null==e?this.node.appendChild(t.node):t.node!=this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this},put:function(t,e){return this.add(t,e),t},has:function(t){return 0<=this.index(t)},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return d.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){var i,s,a=this.children();for(i=0,s=a.length;i<s;i++)a[i]instanceof d.Element&&t.apply(a[i],[i,a]),e&&a[i]instanceof d.Container&&a[i].each(t,e);return this},removeElement:function(t){return this.node.removeChild(t.node),this},clear:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,this},defs:function(){return this.doc().defs()}}}),d.extend(d.Parent,{ungroup:function(t,e){return 0===e||this instanceof d.Defs||this.node==d.parser.draw||(t=t||(this instanceof d.Doc?this:this.parent(d.Parent)),e=e||1/0,this.each(function(){return this instanceof d.Defs?this:this instanceof d.Parent?this.ungroup(t,e-1):this.toParent(t)}),this.node.firstChild||this.remove()),this},flatten:function(t,e){return this.ungroup(t,e)}}),d.Container=d.invent({create:function(t){this.constructor.call(this,t)},inherit:d.Parent}),d.ViewBox=d.invent({create:function(t){var e,i,s,a,n,r,o,l=1,h=1,c=/[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/gi;if(t instanceof d.Element){for(n=((o=r=t).attr("viewBox")||"").match(c),t.bbox,s=new d.Number(t.width()),a=new d.Number(t.height());"%"==s.unit;)l*=s.value,s=new d.Number(r instanceof d.Doc?r.parent().offsetWidth:r.parent().width()),r=r.parent();for(;"%"==a.unit;)h*=a.value,a=new d.Number(o instanceof d.Doc?o.parent().offsetHeight:o.parent().height()),o=o.parent();this.x=0,this.y=0,this.width=s*l,this.height=a*h,this.zoom=1,n&&(e=parseFloat(n[0]),i=parseFloat(n[1]),s=parseFloat(n[2]),a=parseFloat(n[3]),this.zoom=this.width/this.height>s/a?this.height/a:this.width/s,this.x=e,this.y=i,this.width=s,this.height=a)}else t="string"==typeof t?t.match(c).map(function(t){return parseFloat(t)}):Array.isArray(t)?t:"object"===w(t)?[t.x,t.y,t.width,t.height]:4==arguments.length?[].slice.call(arguments):[0,0,0,0],this.x=t[0],this.y=t[1],this.width=t[2],this.height=t[3]},extend:{toString:function(){return this.x+" "+this.y+" "+this.width+" "+this.height},morph:function(t,e,i,s){return this.destination=new d.ViewBox(t,e,i,s),this},at:function(t){return this.destination?new d.ViewBox([this.x+(this.destination.x-this.x)*t,this.y+(this.destination.y-this.y)*t,this.width+(this.destination.width-this.width)*t,this.height+(this.destination.height-this.height)*t]):this}},parent:d.Container,construct:{viewbox:function(t,e,i,s){return 0==arguments.length?new d.ViewBox(this):this.attr("viewBox",new d.ViewBox(t,e,i,s))}}}),["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","touchstart","touchmove","touchleave","touchend","touchcancel"].forEach(function(e){d.Element.prototype[e]=function(t){return d.on(this.node,e,t),this}}),d.listeners=[],d.handlerMap=[],d.listenerId=0,d.on=function(t,e,i,s,a){var n=i.bind(s||t.instance||t),r=(d.handlerMap.indexOf(t)+1||d.handlerMap.push(t))-1,o=e.split(".")[0],l=e.split(".")[1]||"*";d.listeners[r]=d.listeners[r]||{},d.listeners[r][o]=d.listeners[r][o]||{},d.listeners[r][o][l]=d.listeners[r][o][l]||{},i._svgjsListenerId||(i._svgjsListenerId=++d.listenerId),d.listeners[r][o][l][i._svgjsListenerId]=n,t.addEventListener(o,n,a||!1)},d.off=function(t,e,i){var s=d.handlerMap.indexOf(t),a=e&&e.split(".")[0],n=e&&e.split(".")[1],r="";if(-1!=s)if(i){if("function"==typeof i&&(i=i._svgjsListenerId),!i)return;d.listeners[s][a]&&d.listeners[s][a][n||"*"]&&(t.removeEventListener(a,d.listeners[s][a][n||"*"][i],!1),delete d.listeners[s][a][n||"*"][i])}else if(n&&a){if(d.listeners[s][a]&&d.listeners[s][a][n]){for(i in d.listeners[s][a][n])d.off(t,[a,n].join("."),i);delete d.listeners[s][a][n]}}else if(n)for(e in d.listeners[s])for(r in d.listeners[s][e])n===r&&d.off(t,[e,n].join("."));else if(a){if(d.listeners[s][a]){for(r in d.listeners[s][a])d.off(t,[a,r].join("."));delete d.listeners[s][a]}}else{for(e in d.listeners[s])d.off(t,e);delete d.listeners[s],delete d.handlerMap[s]}},d.extend(d.Element,{on:function(t,e,i,s){return d.on(this.node,t,e,i,s),this},off:function(t,e){return d.off(this.node,t,e),this},fire:function(t,e){return t instanceof r.Event?this.node.dispatchEvent(t):this.node.dispatchEvent(t=new d.CustomEvent(t,{detail:e,cancelable:!0})),this._event=t,this},event:function(){return this._event}}),d.Defs=d.invent({create:"defs",inherit:d.Container}),d.G=d.invent({create:"g",inherit:d.Container,extend:{x:function(t){return null==t?this.transform("x"):this.transform({x:t-this.x()},!0)},y:function(t){return null==t?this.transform("y"):this.transform({y:t-this.y()},!0)},cx:function(t){return null==t?this.gbox().cx:this.x(t-this.gbox().width/2)},cy:function(t){return null==t?this.gbox().cy:this.y(t-this.gbox().height/2)},gbox:function(){var t=this.bbox(),e=this.transform();return t.x+=e.x,t.x2+=e.x,t.cx+=e.x,t.y+=e.y,t.y2+=e.y,t.cy+=e.y,t}},construct:{group:function(){return this.put(new d.G)}}}),d.Doc=d.invent({create:function(t){t&&("svg"==(t="string"==typeof t?a.getElementById(t):t).nodeName?this.constructor.call(this,t):(this.constructor.call(this,d.create("svg")),t.appendChild(this.node),this.size("100%","100%")),this.namespace().defs())},inherit:d.Container,extend:{namespace:function(){return this.attr({xmlns:d.ns,version:"1.1"}).attr("xmlns:xlink",d.xlink,d.xmlns).attr("xmlns:svgjs",d.svgjs,d.xmlns)},defs:function(){var t;return this._defs||((t=this.node.getElementsByTagName("defs")[0])?this._defs=d.adopt(t):this._defs=new d.Defs,this.node.appendChild(this._defs.node)),this._defs},parent:function(){return this.node.parentNode&&"#document"!=this.node.parentNode.nodeName?this.node.parentNode:null},spof:function(){var t=this.node.getScreenCTM();return t&&this.style("left",-t.e%1+"px").style("top",-t.f%1+"px"),this},remove:function(){return this.parent()&&this.parent().removeChild(this.node),this},clear:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,d.parser.draw&&!d.parser.draw.parentNode&&this.node.appendChild(d.parser.draw),this},clone:function(t){this.writeDataToDom();var e=this.node,i=x(e.cloneNode(!0));return t?(t.node||t).appendChild(i.node):e.parentNode.insertBefore(i.node,e.nextSibling),i}}}),d.extend(d.Element,{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},previous:function(){return this.siblings()[this.position()-1]},forward:function(){var t=this.position()+1,e=this.parent();return e.removeElement(this).add(this,t),e instanceof d.Doc&&e.node.appendChild(e.defs().node),this},backward:function(){var t=this.position();return 0<t&&this.parent().removeElement(this).add(this,t-1),this},front:function(){var t=this.parent();return t.node.appendChild(this.node),t instanceof d.Doc&&t.node.appendChild(t.defs().node),this},back:function(){return 0<this.position()&&this.parent().removeElement(this).add(this,0),this},before:function(t){t.remove();var e=this.position();return this.parent().add(t,e),this},after:function(t){t.remove();var e=this.position();return this.parent().add(t,e+1),this}}),d.Mask=d.invent({create:function(){this.constructor.call(this,d.create("mask")),this.targets=[]},inherit:d.Container,extend:{remove:function(){for(var t=this.targets.length-1;0<=t;t--)this.targets[t]&&this.targets[t].unmask();return this.targets=[],d.Element.prototype.remove.call(this),this}},construct:{mask:function(){return this.defs().put(new d.Mask)}}}),d.extend(d.Element,{maskWith:function(t){return this.masker=t instanceof d.Mask?t:this.parent().mask().add(t),this.masker.targets.push(this),this.attr("mask",'url("#'+this.masker.attr("id")+'")')},unmask:function(){return delete this.masker,this.attr("mask",null)}}),d.ClipPath=d.invent({create:function(){this.constructor.call(this,d.create("clipPath")),this.targets=[]},inherit:d.Container,extend:{remove:function(){for(var t=this.targets.length-1;0<=t;t--)this.targets[t]&&this.targets[t].unclip();return this.targets=[],this.parent().removeElement(this),this}},construct:{clip:function(){return this.defs().put(new d.ClipPath)}}}),d.extend(d.Element,{clipWith:function(t){return this.clipper=t instanceof d.ClipPath?t:this.parent().clip().add(t),this.clipper.targets.push(this),this.attr("clip-path",'url("#'+this.clipper.attr("id")+'")')},unclip:function(){return delete this.clipper,this.attr("clip-path",null)}}),d.Gradient=d.invent({create:function(t){this.constructor.call(this,d.create(t+"Gradient")),this.type=t},inherit:d.Container,extend:{at:function(t,e,i){return this.put(new d.Stop).update(t,e,i)},update:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this},fill:function(){return"url(#"+this.id()+")"},toString:function(){return this.fill()},attr:function(t,e,i){return"transform"==t&&(t="gradientTransform"),d.Container.prototype.attr.call(this,t,e,i)}},construct:{gradient:function(t,e){return this.defs().gradient(t,e)}}}),d.extend(d.Gradient,d.FX,{from:function(t,e){return"radial"==(this._target||this).type?this.attr({fx:new d.Number(t),fy:new d.Number(e)}):this.attr({x1:new d.Number(t),y1:new d.Number(e)})},to:function(t,e){return"radial"==(this._target||this).type?this.attr({cx:new d.Number(t),cy:new d.Number(e)}):this.attr({x2:new d.Number(t),y2:new d.Number(e)})}}),d.extend(d.Defs,{gradient:function(t,e){return this.put(new d.Gradient(t)).update(e)}}),d.Stop=d.invent({create:"stop",inherit:d.Element,extend:{update:function(t){return("number"==typeof t||t instanceof d.Number)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",new d.Number(t.offset)),this}}}),d.Pattern=d.invent({create:"pattern",inherit:d.Container,extend:{fill:function(){return"url(#"+this.id()+")"},update:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this},toString:function(){return this.fill()},attr:function(t,e,i){return"transform"==t&&(t="patternTransform"),d.Container.prototype.attr.call(this,t,e,i)}},construct:{pattern:function(t,e,i){return this.defs().pattern(t,e,i)}}}),d.extend(d.Defs,{pattern:function(t,e,i){return this.put(new d.Pattern).update(i).attr({x:0,y:0,width:t,height:e,patternUnits:"userSpaceOnUse"})}}),d.Shape=d.invent({create:function(t){this.constructor.call(this,t)},inherit:d.Element}),d.Bare=d.invent({create:function(t,e){if(this.constructor.call(this,d.create(t)),e)for(var i in e.prototype)"function"==typeof e.prototype[i]&&(this[i]=e.prototype[i])},inherit:d.Element,extend:{words:function(t){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this.node.appendChild(a.createTextNode(t)),this}}}),d.extend(d.Parent,{element:function(t,e){return this.put(new d.Bare(t,e))}}),d.Symbol=d.invent({create:"symbol",inherit:d.Container,construct:{symbol:function(){return this.put(new d.Symbol)}}}),d.Use=d.invent({create:"use",inherit:d.Shape,extend:{element:function(t,e){return this.attr("href",(e||"")+"#"+t,d.xlink)}},construct:{use:function(t,e){return this.put(new d.Use).element(t,e)}}}),d.Rect=d.invent({create:"rect",inherit:d.Shape,construct:{rect:function(t,e){return this.put(new d.Rect).size(t,e)}}}),d.Circle=d.invent({create:"circle",inherit:d.Shape,construct:{circle:function(t){return this.put(new d.Circle).rx(new d.Number(t).divide(2)).move(0,0)}}}),d.extend(d.Circle,d.FX,{rx:function(t){return this.attr("r",t)},ry:function(t){return this.rx(t)}}),d.Ellipse=d.invent({create:"ellipse",inherit:d.Shape,construct:{ellipse:function(t,e){return this.put(new d.Ellipse).size(t,e).move(0,0)}}}),d.extend(d.Ellipse,d.Rect,d.FX,{rx:function(t){return this.attr("rx",t)},ry:function(t){return this.attr("ry",t)}}),d.extend(d.Circle,d.Ellipse,{x:function(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())},y:function(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())},cx:function(t){return null==t?this.attr("cx"):this.attr("cx",t)},cy:function(t){return null==t?this.attr("cy"):this.attr("cy",t)},width:function(t){return null==t?2*this.rx():this.rx(new d.Number(t).divide(2))},height:function(t){return null==t?2*this.ry():this.ry(new d.Number(t).divide(2))},size:function(t,e){var i=u(this,t,e);return this.rx(new d.Number(i.width).divide(2)).ry(new d.Number(i.height).divide(2))}}),d.Line=d.invent({create:"line",inherit:d.Shape,extend:{array:function(){return new d.PointArray([[this.attr("x1"),this.attr("y1")],[this.attr("x2"),this.attr("y2")]])},plot:function(t,e,i,s){return null==t?this.array():(t=void 0!==e?{x1:t,y1:e,x2:i,y2:s}:new d.PointArray(t).toLine(),this.attr(t))},move:function(t,e){return this.attr(this.array().move(t,e).toLine())},size:function(t,e){var i=u(this,t,e);return this.attr(this.array().size(i.width,i.height).toLine())}},construct:{line:function(t,e,i,s){return d.Line.prototype.plot.apply(this.put(new d.Line),null!=t?[t,e,i,s]:[0,0,0,0])}}}),d.Polyline=d.invent({create:"polyline",inherit:d.Shape,construct:{polyline:function(t){return this.put(new d.Polyline).plot(t||new d.PointArray)}}}),d.Polygon=d.invent({create:"polygon",inherit:d.Shape,construct:{polygon:function(t){return this.put(new d.Polygon).plot(t||new d.PointArray)}}}),d.extend(d.Polyline,d.Polygon,{array:function(){return this._array||(this._array=new d.PointArray(this.attr("points")))},plot:function(t){return null==t?this.array():this.clear().attr("points","string"==typeof t?t:this._array=new d.PointArray(t))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr("points",this.array().move(t,e))},size:function(t,e){var i=u(this,t,e);return this.attr("points",this.array().size(i.width,i.height))}}),d.extend(d.Line,d.Polyline,d.Polygon,{morphArray:d.PointArray,x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)},width:function(t){var e=this.bbox();return null==t?e.width:this.size(t,e.height)},height:function(t){var e=this.bbox();return null==t?e.height:this.size(e.width,t)}}),d.Path=d.invent({create:"path",inherit:d.Shape,extend:{morphArray:d.PathArray,array:function(){return this._array||(this._array=new d.PathArray(this.attr("d")))},plot:function(t){return null==t?this.array():this.clear().attr("d","string"==typeof t?t:this._array=new d.PathArray(t))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr("d",this.array().move(t,e))},x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)},size:function(t,e){var i=u(this,t,e);return this.attr("d",this.array().size(i.width,i.height))},width:function(t){return null==t?this.bbox().width:this.size(t,this.bbox().height)},height:function(t){return null==t?this.bbox().height:this.size(this.bbox().width,t)}},construct:{path:function(t){return this.put(new d.Path).plot(t||new d.PathArray)}}}),d.Image=d.invent({create:"image",inherit:d.Shape,extend:{load:function(e){if(!e)return this;var i=this,s=new r.Image;return d.on(s,"load",function(){d.off(s);var t=i.parent(d.Pattern);null!==t&&(0==i.width()&&0==i.height()&&i.size(s.width,s.height),t&&0==t.width()&&0==t.height()&&t.size(i.width(),i.height()),"function"==typeof i._loaded&&i._loaded.call(i,{width:s.width,height:s.height,ratio:s.width/s.height,url:e}))}),d.on(s,"error",function(t){d.off(s),"function"==typeof i._error&&i._error.call(i,t)}),this.attr("href",s.src=this.src=e,d.xlink)},loaded:function(t){return this._loaded=t,this},error:function(t){return this._error=t,this}},construct:{image:function(t,e,i){return this.put(new d.Image).load(t).size(e||0,i||e||0)}}}),d.Text=d.invent({create:function(){this.constructor.call(this,d.create("text")),this.dom.leading=new d.Number(1.3),this._rebuild=!0,this._build=!1,this.attr("font-family",d.defaults.attrs["font-family"])},inherit:d.Shape,extend:{x:function(t){return null==t?this.attr("x"):this.attr("x",t)},y:function(t){var e=this.attr("y"),i="number"==typeof e?e-this.bbox().y:0;return null==t?"number"==typeof e?e-i:e:this.attr("y","number"==typeof t.valueOf()?t+i:t)},cx:function(t){return null==t?this.bbox().cx:this.x(t-this.bbox().width/2)},cy:function(t){return null==t?this.bbox().cy:this.y(t-this.bbox().height/2)},text:function(t){if(void 0===t){t="";for(var e=this.node.childNodes,i=0,s=e.length;i<s;++i)0!=i&&3!=e[i].nodeType&&1==d.adopt(e[i]).dom.newLined&&(t+="\n"),t+=e[i].textContent;return t}if(this.clear().build(!0),"function"==typeof t)t.call(this,this);else{i=0;for(var a=(t=t.split("\n")).length;i<a;i++)this.tspan(t[i]).newLine()}return this.build(!1).rebuild()},size:function(t){return this.attr("font-size",t).rebuild()},leading:function(t){return null==t?this.dom.leading:(this.dom.leading=new d.Number(t),this.rebuild())},lines:function(){var t=(this.textPath&&this.textPath()||this).node,e=d.utils.map(d.utils.filterSVGElements(t.childNodes),function(t){return d.adopt(t)});return new d.Set(e)},rebuild:function(t){if("boolean"==typeof t&&(this._rebuild=t),this._rebuild){var e=this,i=0,s=this.dom.leading*new d.Number(this.attr("font-size"));this.lines().each(function(){this.dom.newLined&&(e.textPath()||this.attr("x",e.attr("x")),"\n"==this.text()?i+=s:(this.attr("dy",s+i),i=0))}),this.fire("rebuild")}return this},build:function(t){return this._build=!!t,this},setData:function(t){return this.dom=t,this.dom.leading=new d.Number(t.leading||1.3),this}},construct:{text:function(t){return this.put(new d.Text).text(t)},plain:function(t){return this.put(new d.Text).plain(t)}}}),d.Tspan=d.invent({create:"tspan",inherit:d.Shape,extend:{text:function(t){return null==t?this.node.textContent+(this.dom.newLined?"\n":""):("function"==typeof t?t.call(this,this):this.plain(t),this)},dx:function(t){return this.attr("dx",t)},dy:function(t){return this.attr("dy",t)},newLine:function(){var t=this.parent(d.Text);return this.dom.newLined=!0,this.dy(t.dom.leading*t.attr("font-size")).attr("x",t.x())}}}),d.extend(d.Text,d.Tspan,{plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(a.createTextNode(t)),this},tspan:function(t){var e=(this.textPath&&this.textPath()||this).node,i=new d.Tspan;return!1===this._build&&this.clear(),e.appendChild(i.node),i.text(t)},clear:function(){for(var t=(this.textPath&&this.textPath()||this).node;t.hasChildNodes();)t.removeChild(t.lastChild);return this},length:function(){return this.node.getComputedTextLength()}}),d.TextPath=d.invent({create:"textPath",inherit:d.Parent,parent:d.Text,construct:{morphArray:d.PathArray,path:function(t){for(var e=new d.TextPath,i=this.doc().defs().path(t);this.node.hasChildNodes();)e.node.appendChild(this.node.firstChild);return this.node.appendChild(e.node),e.attr("href","#"+i,d.xlink),this},array:function(){var t=this.track();return t?t.array():null},plot:function(t){var e=this.track(),i=null;return e&&(i=e.plot(t)),null==t?i:this},track:function(){var t=this.textPath();if(t)return t.reference("href")},textPath:function(){if(this.node.firstChild&&"textPath"==this.node.firstChild.nodeName)return d.adopt(this.node.firstChild)}}}),d.Nested=d.invent({create:function(){this.constructor.call(this,d.create("svg")),this.style("overflow","visible")},inherit:d.Container,construct:{nested:function(){return this.put(new d.Nested)}}}),d.A=d.invent({create:"a",inherit:d.Container,extend:{to:function(t){return this.attr("href",t,d.xlink)},show:function(t){return this.attr("show",t,d.xlink)},target:function(t){return this.attr("target",t)}},construct:{link:function(t){return this.put(new d.A).to(t)}}}),d.extend(d.Element,{linkTo:function(t){var e=new d.A;return"function"==typeof t?t.call(e,e):e.to(t),this.parent().put(e).put(this)}}),d.Marker=d.invent({create:"marker",inherit:d.Container,extend:{width:function(t){return this.attr("markerWidth",t)},height:function(t){return this.attr("markerHeight",t)},ref:function(t,e){return this.attr("refX",t).attr("refY",e)},update:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this},toString:function(){return"url(#"+this.id()+")"}},construct:{marker:function(t,e,i){return this.defs().marker(t,e,i)}}}),d.extend(d.Defs,{marker:function(t,e,i){return this.put(new d.Marker).size(t,e).ref(t/2,e/2).viewbox(0,0,t,e).attr("orient","auto").update(i)}}),d.extend(d.Line,d.Polyline,d.Polygon,d.Path,{marker:function(t,e,i,s){var a=["marker"];return"all"!=t&&a.push(t),a=a.join("-"),t=e instanceof d.Marker?e:this.doc().marker(e,i,s),this.attr(a,t)}});var s={stroke:["color","width","opacity","linecap","linejoin","miterlimit","dasharray","dashoffset"],fill:["color","opacity","rule"],prefix:function(t,e){return"color"==e?t:t+"-"+e}};function h(t,e,i,s){return i+s.replace(d.regex.dots," .")}function n(t){return t.toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()})}function o(t){return t.charAt(0).toUpperCase()+t.slice(1)}function c(t){var e=t.toString(16);return 1==e.length?"0"+e:e}function u(t,e,i){if(null==e||null==i){var s=t.bbox();null==e?e=s.width/s.height*i:null==i&&(i=s.height/s.width*e)}return{width:e,height:i}}function g(t,e,i){return{x:e*t.a+i*t.c+0,y:e*t.b+i*t.d+0}}function f(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}function p(t,e){t.cx=null==t.cx?e.bbox().cx:t.cx,t.cy=null==t.cy?e.bbox().cy:t.cy}function x(t){for(var e=t.childNodes.length-1;0<=e;e--)t.childNodes[e]instanceof r.SVGElement&&x(t.childNodes[e]);return d.adopt(t).id(d.eid(t.nodeName))}function b(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function m(t){return 1e-37<Math.abs(t)?t:0}["fill","stroke"].forEach(function(e){var i,t={};t[e]=function(t){if(void 0===t)return this;if("string"==typeof t||d.Color.isRgb(t)||t&&"function"==typeof t.fill)this.attr(e,t);else for(i=s[e].length-1;0<=i;i--)null!=t[s[e][i]]&&this.attr(s.prefix(e,s[e][i]),t[s[e][i]]);return this},d.extend(d.Element,d.FX,t)}),d.extend(d.Element,d.FX,{rotate:function(t,e,i){return this.transform({rotation:t,cx:e,cy:i})},skew:function(t,e,i,s){return 1==arguments.length||3==arguments.length?this.transform({skew:t,cx:e,cy:i}):this.transform({skewX:t,skewY:e,cx:i,cy:s})},scale:function(t,e,i,s){return 1==arguments.length||3==arguments.length?this.transform({scale:t,cx:e,cy:i}):this.transform({scaleX:t,scaleY:e,cx:i,cy:s})},translate:function(t,e){return this.transform({x:t,y:e})},flip:function(t,e){return e="number"==typeof t?t:e,this.transform({flip:t||"both",offset:e})},matrix:function(t){return this.attr("transform",new d.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new d.Number(t).plus(this instanceof d.FX?0:this.x()),!0)},dy:function(t){return this.y(new d.Number(t).plus(this instanceof d.FX?0:this.y()),!0)},dmove:function(t,e){return this.dx(t).dy(e)}}),d.extend(d.Rect,d.Ellipse,d.Circle,d.Gradient,d.FX,{radius:function(t,e){var i=(this._target||this).type;return"radial"==i||"circle"==i?this.attr("r",new d.Number(t)):this.rx(t).ry(null==e?t:e)}}),d.extend(d.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),d.extend(d.Parent,d.Text,d.Tspan,d.FX,{font:function(t,e){if("object"===w(t))for(e in t)this.font(e,t[e]);return"leading"==t?this.leading(e):"anchor"==t?this.attr("text-anchor",e):"size"==t||"family"==t||"weight"==t||"stretch"==t||"variant"==t||"style"==t?this.attr("font-"+t,e):this.attr(t,e)}}),d.Set=d.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){var t,e,i=[].slice.call(arguments);for(t=0,e=i.length;t<e;t++)this.members.push(i[t]);return this},remove:function(t){var e=this.index(t);return-1<e&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e<i;e++)t.apply(this.members[e],[e,this.members]);return this},clear:function(){return this.members=[],this},length:function(){return this.members.length},has:function(t){return 0<=this.index(t)},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members},bbox:function(){if(0==this.members.length)return new d.RBox;var t=this.members[0].rbox(this.members[0].doc());return this.each(function(){t=t.merge(this.rbox(this.doc()))}),t}},construct:{set:function(t){return new d.Set(t)}}}),d.FX.Set=d.invent({create:function(t){this.set=t}}),d.Set.inherit=function(){var t=[];for(var e in d.Shape.prototype)"function"==typeof d.Shape.prototype[e]&&"function"!=typeof d.Set.prototype[e]&&t.push(e);for(var e in t.forEach(function(i){d.Set.prototype[i]=function(){for(var t=0,e=this.members.length;t<e;t++)this.members[t]&&"function"==typeof this.members[t][i]&&this.members[t][i].apply(this.members[t],arguments);return"animate"==i?this.fx||(this.fx=new d.FX.Set(this)):this}}),t=[],d.FX.prototype)"function"==typeof d.FX.prototype[e]&&"function"!=typeof d.FX.Set.prototype[e]&&t.push(e);t.forEach(function(i){d.FX.Set.prototype[i]=function(){for(var t=0,e=this.set.members.length;t<e;t++)this.set.members[t].fx[i].apply(this.set.members[t].fx,arguments);return this}})},d.extend(d.Element,{data:function(e,t,i){if("object"===w(e))for(t in e)this.data(t,e[t]);else if(arguments.length<2)try{return JSON.parse(this.attr("data-"+e))}catch(t){return this.attr("data-"+e)}else this.attr("data-"+e,null===t?null:!0===i||"string"==typeof t||"number"==typeof t?t:JSON.stringify(t));return this}}),d.extend(d.Element,{remember:function(t,e){if("object"===w(t))for(var e in t)this.remember(e,t[e]);else{if(1==arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0==arguments.length)this._memory={};else for(var t=arguments.length-1;0<=t;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),d.get=function(e){var t=a.getElementById(function(){var t=(e||"").toString().match(d.regex.reference);if(t)return t[1]}()||e);return d.adopt(t)},d.select=function(t,e){return new d.Set(d.utils.map((e||a).querySelectorAll(t),function(t){return d.adopt(t)}))},d.extend(d.Parent,{select:function(t){return d.select(t,this.node)}});var v="abcdef".split("");if("function"!=typeof r.CustomEvent){var y=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var i=a.createEvent("CustomEvent");return i.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),i};y.prototype=r.Event.prototype,d.CustomEvent=y}else d.CustomEvent=r.CustomEvent;return function(a){for(var n=0,t=["moz","webkit"],e=0;e<t.length&&!r.requestAnimationFrame;++e)a.requestAnimationFrame=a[t[e]+"RequestAnimationFrame"],a.cancelAnimationFrame=a[t[e]+"CancelAnimationFrame"]||a[t[e]+"CancelRequestAnimationFrame"];a.requestAnimationFrame=a.requestAnimationFrame||function(t){var e=(new Date).getTime(),i=Math.max(0,16-(e-n)),s=a.setTimeout(function(){t(e+i)},i);return n=e+i,s},a.cancelAnimationFrame=a.cancelAnimationFrame||a.clearTimeout}(r),d},"function"==typeof define&&define.amd?define(function(){return Bt(Wt,Wt.document)}):"object"===("undefined"==typeof exports?"undefined":w(exports))&&"undefined"!=typeof module?module.exports=Wt.document?Bt(Wt,Wt.document):function(t){return Bt(t,t.document)}:Wt.SVG=Bt(Wt,Wt.document),function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,s,a){return this.put(new SVG.DisplacementMapEffect(t,e,i,s,a))},specularLighting:function(t,e,i,s){return this.put(new SVG.SpecularLightingEffect(t,e,i,s))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,s,a){return this.put(new SVG.TurbulenceEffect(t,e,i,s,a))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,s){return this.parent()&&this.parent().displacementMap(this,t,e,i,s)},specularLighting:function(t,e,i,s){return this.parent()&&this.parent().specularLighting(t,e,i,s).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,s,a){return this.parent()&&this.parent().turbulence(t,e,i,s,a).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=a(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=a(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,s,a){this.attr({in:t,in2:e,scale:i,xChannelSelector:s,yChannelSelector:a})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,s=[];e<i;e++)s.push(t[e]);return s.join(" ")}(Array.prototype.slice.call(arguments))):this.attr("stdDeviation","0 0")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,s,a){this.attr({numOctaves:e,seed:i,stitchTiles:s,baseFrequency:t,type:a})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each(function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))})}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i<t.length;i++)t[i]instanceof SVG.MergeNode?this.put(t[i]):this.put(new SVG.MergeNode(t[i]))}},componentTransfer:function(e){if(this.rgb=new SVG.Set,["r","g","b","a"].forEach(function(t){this[t]=new(SVG["Func"+t.toUpperCase()])("identity"),this.rgb.add(this[t]),this.node.appendChild(this[t].node)}.bind(this)),e)for(var t in e.rgb&&(["r","g","b"].forEach(function(t){this[t].attr(e.rgb)}.bind(this)),delete e.rgb),e)this[t].attr(e[t])},diffuseLighting:function(t,e,i){this.attr({surfaceScale:t,diffuseConstant:e,kernelUnitLength:i})},specularLighting:function(t,e,i,s){this.attr({surfaceScale:t,diffuseConstant:e,specularExponent:i,kernelUnitLength:s})}},s={distantLight:function(t,e){this.attr({azimuth:t,elevation:e})},pointLight:function(t,e,i){this.attr({x:t,y:e,z:i})},spotLight:function(t,e,i,s,a,n){this.attr({x:t,y:e,z:i,pointsAtX:s,pointsAtY:a,pointsAtZ:n})},mergeNode:function(t){this.attr("in",t)}};function a(t){return Array.isArray(t)&&(t=new SVG.Array(t)),t.toString().replace(/^\s+/,"").replace(/\s+$/,"").replace(/\s+/g," ")}function n(){var t=function(){};for(var e in"function"==typeof arguments[arguments.length-1]&&(t=arguments[arguments.length-1],Array.prototype.splice.call(arguments,arguments.length-1,1)),arguments)for(var i in arguments[e])t(arguments[e][i],i,arguments[e])}["r","g","b","a"].forEach(function(t){s["Func"+t.toUpperCase()]=function(t){switch(this.attr("type",t),t){case"table":this.attr("tableValues",arguments[1]);break;case"linear":this.attr("slope",arguments[1]),this.attr("intercept",arguments[2]);break;case"gamma":this.attr("amplitude",arguments[1]),this.attr("exponent",arguments[2]),this.attr("offset",arguments[2])}}}),n(e,function(t,e){var i=e.charAt(0).toUpperCase()+e.slice(1);SVG[i+"Effect"]=SVG.invent({create:function(){this.constructor.call(this,SVG.create("fe"+i)),t.apply(this,arguments),this.result(this.attr("id")+"Out")},inherit:SVG.Effect,extend:{}})}),n(i,function(t,e){var i=e.charAt(0).toUpperCase()+e.slice(1);SVG[i+"Effect"]=SVG.invent({create:function(){this.constructor.call(this,SVG.create("fe"+i)),t.apply(this,arguments),this.result(this.attr("id")+"Out")},inherit:SVG.ParentEffect,extend:{}})}),n(s,function(t,e){var i=e.charAt(0).toUpperCase()+e.slice(1);SVG[i]=SVG.invent({create:function(){this.constructor.call(this,SVG.create("fe"+i)),t.apply(this,arguments)},inherit:SVG.ChildEffect,extend:{}})}),SVG.extend(SVG.MergeEffect,{in:function(t){return t instanceof SVG.MergeNode?this.add(t,0):this.add(new SVG.MergeNode(t),0),this}}),SVG.extend(SVG.CompositeEffect,SVG.BlendEffect,SVG.DisplacementMapEffect,{in2:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in2")+'"]').get(0)||this.attr("in2"):this.attr("in2",t)}}),SVG.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]}}.call(void 0),SVG.extend(SVG.PathArray,{morph:function(t){for(var e=this.value,i=this.parse(t),s=0,a=0,n=!1,r=!1;!1!==s||!1!==a;){var o;n=ke(e,!1!==s&&s+1),r=ke(i,!1!==a&&a+1),!1===s&&(s=0==(o=new SVG.PathArray(l.start).bbox()).height||0==o.width?e.push(e[0])-1:e.push(["M",o.x+o.width/2,o.y+o.height/2])-1),!1===a&&(a=0==(o=new SVG.PathArray(l.dest).bbox()).height||0==o.width?i.push(i[0])-1:i.push(["M",o.x+o.width/2,o.y+o.height/2])-1);var l=me(e,s,n,i,a,r);e=e.slice(0,s).concat(l.start,!1===n?[]:e.slice(n)),i=i.slice(0,a).concat(l.dest,!1===r?[]:i.slice(r)),s=!1!==n&&s+l.start.length,a=!1!==r&&a+l.dest.length}return this.value=e,this.destination=new SVG.PathArray,this.destination.value=i,this}}),function(){function s(t){t.remember("_draggable",this),this.el=t}s.prototype.init=function(t,e){var i=this;this.constraint=t,this.value=e,this.el.on("mousedown.drag",function(t){i.start(t)}),this.el.on("touchstart.drag",function(t){i.start(t)})},s.prototype.transformPoint=function(t,e){var i=(t=t||window.event).changedTouches&&t.changedTouches[0]||t;return this.p.x=i.clientX-(e||0),this.p.y=i.clientY,this.p.matrixTransform(this.m)},s.prototype.getBBox=function(){var t=this.el.bbox();return this.el instanceof SVG.Nested&&(t=this.el.rbox()),(this.el instanceof SVG.G||this.el instanceof SVG.Use||this.el instanceof SVG.Nested)&&(t.x=this.el.x(),t.y=this.el.y()),t},s.prototype.start=function(t){if("click"!=t.type&&"mousedown"!=t.type&&"mousemove"!=t.type||1==(t.which||t.buttons)){var e=this;if(this.el.fire("beforedrag",{event:t,handler:this}),!this.el.event().defaultPrevented){t.preventDefault(),t.stopPropagation(),this.parent=this.parent||this.el.parent(SVG.Nested)||this.el.parent(SVG.Doc),this.p=this.parent.node.createSVGPoint(),this.m=this.el.node.getScreenCTM().inverse();var i,s=this.getBBox();if(this.el instanceof SVG.Text)switch(i=this.el.node.getComputedTextLength(),this.el.attr("text-anchor")){case"middle":i/=2;break;case"start":i=0}this.startPoints={point:this.transformPoint(t,i),box:s,transform:this.el.transform()},SVG.on(window,"mousemove.drag",function(t){e.drag(t)}),SVG.on(window,"touchmove.drag",function(t){e.drag(t)}),SVG.on(window,"mouseup.drag",function(t){e.end(t)}),SVG.on(window,"touchend.drag",function(t){e.end(t)}),this.el.fire("dragstart",{event:t,p:this.startPoints.point,m:this.m,handler:this})}}},s.prototype.drag=function(t){var e=this.getBBox(),i=this.transformPoint(t),s=this.startPoints.box.x+i.x-this.startPoints.point.x,a=this.startPoints.box.y+i.y-this.startPoints.point.y,n=this.constraint,r=i.x-this.startPoints.point.x,o=i.y-this.startPoints.point.y;if(this.el.fire("dragmove",{event:t,p:i,m:this.m,handler:this}),this.el.event().defaultPrevented)return i;if("function"==typeof n){var l=n.call(this.el,s,a,this.m);"boolean"==typeof l&&(l={x:l,y:l}),!0===l.x?this.el.x(s):!1!==l.x&&this.el.x(l.x),!0===l.y?this.el.y(a):!1!==l.y&&this.el.y(l.y)}else"object"==typeof n&&(null!=n.minX&&s<n.minX?r=(s=n.minX)-this.startPoints.box.x:null!=n.maxX&&s>n.maxX-e.width&&(r=(s=n.maxX-e.width)-this.startPoints.box.x),null!=n.minY&&a<n.minY?o=(a=n.minY)-this.startPoints.box.y:null!=n.maxY&&a>n.maxY-e.height&&(o=(a=n.maxY-e.height)-this.startPoints.box.y),null!=n.snapToGrid&&(s-=s%n.snapToGrid,a-=a%n.snapToGrid,r-=r%n.snapToGrid,o-=o%n.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:r,y:o},!0):this.el.move(s,a));return i},s.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(t,e){"function"!=typeof t&&"object"!=typeof t||(e=t,t=!0);var i=this.remember("_draggable")||new s(this);return(t=void 0===t||t)?i.init(e||{},t):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),be.prototype.init=function(t,e){var i=this.el.bbox();for(var s in this.options={},this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},be.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawCircles()),this},be.prototype.getPointArray=function(){var e=this.el.bbox();return this.el.array().valueOf().map(function(t){return[t[0]-e.x,t[1]-e.y]})},be.prototype.drawCircles=function(){for(var a=this,t=this.getPointArray(),e=0,i=t.length;e<i;++e){var s=function(s){return function(t){(t=t||window.event).preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation();var e=t.pageX||t.touches[0].pageX,i=t.pageY||t.touches[0].pageY;a.el.fire("point",{x:e,y:i,i:s,event:t})}}(e);this.pointSelection.set.add(this.nested.circle(this.options.radius).center(t[e][0],t[e][1]).addClass(this.options.classPoints).addClass(this.options.classPoints+"_point").on("touchstart",s).on("mousedown",s))}},be.prototype.updatePointSelection=function(){var e=this.getPointArray();this.pointSelection.set.each(function(t){this.cx()===e[t][0]&&this.cy()===e[t][1]||this.center(e[t][0],e[t][1])})},be.prototype.updateRectSelection=function(){var t=this.el.bbox();this.rectSelection.set.get(0).attr({width:t.width,height:t.height}),this.options.points&&(this.rectSelection.set.get(2).center(t.width,0),this.rectSelection.set.get(3).center(t.width,t.height),this.rectSelection.set.get(4).center(0,t.height),this.rectSelection.set.get(5).center(t.width/2,0),this.rectSelection.set.get(6).center(t.width,t.height/2),this.rectSelection.set.get(7).center(t.width/2,t.height),this.rectSelection.set.get(8).center(0,t.height/2)),this.options.rotationPoint&&(this.options.points?this.rectSelection.set.get(9).center(t.width/2,20):this.rectSelection.set.get(1).center(t.width/2,20))},be.prototype.selectRect=function(t){var a=this,e=this.el.bbox();function i(s){return function(t){(t=t||window.event).preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation();var e=t.pageX||t.touches[0].pageX,i=t.pageY||t.touches[0].pageY;a.el.fire(s,{x:e,y:i,event:t})}}if(this.rectSelection.isSelected=t,this.rectSelection.set=this.rectSelection.set||this.parent.set(),this.rectSelection.set.get(0)||this.rectSelection.set.add(this.nested.rect(e.width,e.height).addClass(this.options.classRect)),this.options.points&&!this.rectSelection.set.get(1)){var s="touchstart",n="mousedown";this.rectSelection.set.add(this.nested.circle(this.options.radius).center(0,0).attr("class",this.options.classPoints+"_lt").on(n,i("lt")).on(s,i("lt"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(e.width,0).attr("class",this.options.classPoints+"_rt").on(n,i("rt")).on(s,i("rt"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(e.width,e.height).attr("class",this.options.classPoints+"_rb").on(n,i("rb")).on(s,i("rb"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(0,e.height).attr("class",this.options.classPoints+"_lb").on(n,i("lb")).on(s,i("lb"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(e.width/2,0).attr("class",this.options.classPoints+"_t").on(n,i("t")).on(s,i("t"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(e.width,e.height/2).attr("class",this.options.classPoints+"_r").on(n,i("r")).on(s,i("r"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(e.width/2,e.height).attr("class",this.options.classPoints+"_b").on(n,i("b")).on(s,i("b"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(0,e.height/2).attr("class",this.options.classPoints+"_l").on(n,i("l")).on(s,i("l"))),this.rectSelection.set.each(function(){this.addClass(a.options.classPoints)})}if(this.options.rotationPoint&&(this.options.points&&!this.rectSelection.set.get(9)||!this.options.points&&!this.rectSelection.set.get(1))){var r=function(t){(t=t||window.event).preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation();var e=t.pageX||t.touches[0].pageX,i=t.pageY||t.touches[0].pageY;a.el.fire("rot",{x:e,y:i,event:t})};this.rectSelection.set.add(this.nested.circle(this.options.radius).center(e.width/2,20).attr("class",this.options.classPoints+"_rot").on("touchstart",r).on("mousedown",r))}},be.prototype.handler=function(){var t=this.el.bbox();this.nested.matrix(new SVG.Matrix(this.el).translate(t.x,t.y)),this.rectSelection.isSelected&&this.updateRectSelection(),this.pointSelection.isSelected&&this.updatePointSelection()},be.prototype.observe=function(){var t=this;if(MutationObserver)if(this.rectSelection.isSelected||this.pointSelection.isSelected)this.observerInst=this.observerInst||new MutationObserver(function(){t.handler()}),this.observerInst.observe(this.el.node,{attributes:!0});else try{this.observerInst.disconnect(),delete this.observerInst}catch(t){}else this.el.off("DOMAttrModified.select"),(this.rectSelection.isSelected||this.pointSelection.isSelected)&&this.el.on("DOMAttrModified.select",function(){t.handler()})},be.prototype.cleanup=function(){!this.rectSelection.isSelected&&this.rectSelection.set&&(this.rectSelection.set.each(function(){this.remove()}),this.rectSelection.set.clear(),delete this.rectSelection.set),!this.pointSelection.isSelected&&this.pointSelection.set&&(this.pointSelection.set.each(function(){this.remove()}),this.pointSelection.set.clear(),delete this.pointSelection.set),this.pointSelection.isSelected||this.rectSelection.isSelected||(this.nested.remove(),delete this.nested)},SVG.extend(SVG.Element,{selectize:function(t,e){return"object"==typeof t&&(e=t,t=!0),(this.remember("_selectHandler")||new be(this)).init(void 0===t||t,e||{}),this}}),SVG.Element.prototype.selectize.defaults={points:!0,classRect:"svg_select_boundingRect",classPoints:"svg_select_points",radius:7,rotationPoint:!0,deepSelect:!1},function(){(function(){function e(t){t.remember("_resizeHandler",this),this.el=t,this.parameters={},this.lastUpdateCall=null,this.p=t.doc().node.createSVGPoint()}e.prototype.transformPoint=function(t,e,i){return this.p.x=t-(this.offset.x-window.pageXOffset),this.p.y=e-(this.offset.y-window.pageYOffset),this.p.matrixTransform(i||this.m)},e.prototype._extractPosition=function(t){return{x:null!=t.clientX?t.clientX:t.touches[0].clientX,y:null!=t.clientY?t.clientY:t.touches[0].clientY}},e.prototype.init=function(t){var e=this;if(this.stop(),"stop"!==t){for(var i in this.options={},this.el.resize.defaults)this.options[i]=this.el.resize.defaults[i],void 0!==t[i]&&(this.options[i]=t[i]);this.el.on("lt.resize",function(t){e.resize(t||window.event)}),this.el.on("rt.resize",function(t){e.resize(t||window.event)}),this.el.on("rb.resize",function(t){e.resize(t||window.event)}),this.el.on("lb.resize",function(t){e.resize(t||window.event)}),this.el.on("t.resize",function(t){e.resize(t||window.event)}),this.el.on("r.resize",function(t){e.resize(t||window.event)}),this.el.on("b.resize",function(t){e.resize(t||window.event)}),this.el.on("l.resize",function(t){e.resize(t||window.event)}),this.el.on("rot.resize",function(t){e.resize(t||window.event)}),this.el.on("point.resize",function(t){e.resize(t||window.event)}),this.update()}},e.prototype.stop=function(){return this.el.off("lt.resize"),this.el.off("rt.resize"),this.el.off("rb.resize"),this.el.off("lb.resize"),this.el.off("t.resize"),this.el.off("r.resize"),this.el.off("b.resize"),this.el.off("l.resize"),this.el.off("rot.resize"),this.el.off("point.resize"),this},e.prototype.resize=function(t){var e=this;this.m=this.el.node.getScreenCTM().inverse(),this.offset={x:window.pageXOffset,y:window.pageYOffset};var i=this._extractPosition(t.detail.event);if(this.parameters={type:this.el.type,p:this.transformPoint(i.x,i.y),x:t.detail.x,y:t.detail.y,box:this.el.bbox(),rotation:this.el.transform().rotation},"text"===this.el.type&&(this.parameters.fontSize=this.el.attr()["font-size"]),void 0!==t.detail.i){var s=this.el.array().valueOf();this.parameters.i=t.detail.i,this.parameters.pointCoords=[s[t.detail.i][0],s[t.detail.i][1]]}switch(t.type){case"lt":this.calc=function(t,e){var i=this.snapToGrid(t,e);if(0<this.parameters.box.width-i[0]&&0<this.parameters.box.height-i[1]){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(0<this.parameters.box.width+i[0]&&0<this.parameters.box.height-i[1]){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(0<this.parameters.box.width+i[0]&&0<this.parameters.box.height+i[1]){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(0<this.parameters.box.width-i[0]&&0<this.parameters.box.height+i[1]){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(0<this.parameters.box.height-i[1]){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(0<this.parameters.box.width+i[0]){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(0<this.parameters.box.height+i[1]){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(0<this.parameters.box.width-i[0]){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,s=e+this.parameters.p.y,a=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),n=Math.atan2(s-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),r=this.parameters.rotation+180*(n-a)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(r-r%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),s=this.el.array().valueOf();s[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],s[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(s)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",function(t){e.update(t||window.event)}),SVG.on(window,"touchend.resize",function(){e.done()}),SVG.on(window,"mousemove.resize",function(t){e.update(t||window.event)}),SVG.on(window,"mouseup.resize",function(){e.done()})},e.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),s=i.x-this.parameters.p.x,a=i.y-this.parameters.p.y;this.lastUpdateCall=[s,a],this.calc(s,a),this.el.fire("resizing",{dx:s,dy:a,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},e.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},e.prototype.snapToGrid=function(t,e,i,s){var a;return a=void 0!==s?[(i+t)%this.options.snapToGrid,(s+e)%this.options.snapToGrid]:(i=null==i?3:i,[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(a[0]-=this.options.snapToGrid),e<0&&(a[1]-=this.options.snapToGrid),t-=Math.abs(a[0])<this.options.snapToGrid/2?a[0]:a[0]-(t<0?-this.options.snapToGrid:this.options.snapToGrid),e-=Math.abs(a[1])<this.options.snapToGrid/2?a[1]:a[1]-(e<0?-this.options.snapToGrid:this.options.snapToGrid),this.constraintToBox(t,e,i,s)},e.prototype.constraintToBox=function(t,e,i,s){var a,n,r=this.options.constraint||{};return n=void 0!==s?(a=i,s):(a=this.parameters.box.x+(1&i?0:this.parameters.box.width),this.parameters.box.y+(2&i?0:this.parameters.box.height)),void 0!==r.minX&&a+t<r.minX&&(t=r.minX-a),void 0!==r.maxX&&a+t>r.maxX&&(t=r.maxX-a),void 0!==r.minY&&n+e<r.minY&&(e=r.minY-n),void 0!==r.maxY&&n+e>r.maxY&&(e=r.maxY-n),[t,e]},e.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),s=this.parameters.box.width/this.parameters.box.height,a=this.parameters.box.width+t[0],n=this.parameters.box.height-t[1],r=a/n;return r<s?(i[1]=a/s-this.parameters.box.height,e&&(i[1]=-i[1])):s<r&&(i[0]=this.parameters.box.width-n*s,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(t){return(this.remember("_resizeHandler")||new e(this)).init(t||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),function(t,e){void 0===e&&(e={});var i=e.insertAt;if("undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===i&&s.firstChild?s.insertBefore(a,s.firstChild):s.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}}('.apexcharts-canvas {\n position: relative;\n user-select: none;\n /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\n}\n\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px;\n}\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n box-shadow: 0 0 1px rgba(255,255,255,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);\n}\n.apexcharts-canvas.dark {\n background: #343F57;\n}\n\n.apexcharts-inner {\n position: relative;\n}\n\n.legend-mouseover-inactive {\n transition: 0.15s ease all;\n opacity: 0.20;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0;\n}\n\n.apexcharts-gridline, .apexcharts-text {\n pointer-events: none;\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: 0.15s ease all;\n}\n.apexcharts-tooltip.light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, 0.96);\n}\n.apexcharts-tooltip.dark {\n color: #fff;\n background: rgba(30,30,30, 0.8);\n}\n.apexcharts-tooltip * {\n font-family: inherit;\n}\n\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-line {\n pointer-events: none;\n}\n\n.apexcharts-tooltip.active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px;\n}\n.apexcharts-tooltip.light .apexcharts-tooltip-title {\n background: #ECEFF1;\n border-bottom: 1px solid #ddd;\n}\n.apexcharts-tooltip.dark .apexcharts-tooltip-title {\n background: rgba(0, 0, 0, 0.7);\n border-bottom: 1px solid #333;\n}\n\n.apexcharts-tooltip-text-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n font-weight: 600;\n margin-left: 5px;\n}\n\n.apexcharts-tooltip-text-z-label:empty,\n.apexcharts-tooltip-text-z-value:empty {\n display: none;\n}\n\n.apexcharts-tooltip-text-value, \n.apexcharts-tooltip-text-z-value {\n font-weight: 600;\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0px;\n margin-right: 10px;\n border-radius: 50%;\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center;\n}\n\n.apexcharts-tooltip-series-group.active .apexcharts-tooltip-marker {\n opacity: 1;\n}\n.apexcharts-tooltip-series-group.active, .apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px;\n}\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0 !important;\n}\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px;\n}\n.apexcharts-tooltip-candlestick {\n padding: 4px 8px;\n}\n.apexcharts-tooltip-candlestick > div {\n margin: 4px 0;\n}\n.apexcharts-tooltip-candlestick span.value {\n font-weight: bold;\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px;\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777;\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: bold;\n display: block;\n margin-bottom: 5px;\n}\n\n.apexcharts-xaxistooltip {\n opacity: 0;\n padding: 9px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n\tbackground: #ECEFF1;\n border: 1px solid #90A4AE;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xaxistooltip.dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-xaxistooltip:after, .apexcharts-xaxistooltip:before {\n\tleft: 50%;\n\tborder: solid transparent;\n\tcontent: " ";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n}\n\n.apexcharts-xaxistooltip:after {\n\tborder-color: rgba(236, 239, 241, 0);\n\tborder-width: 6px;\n\tmargin-left: -6px;\n}\n.apexcharts-xaxistooltip:before {\n\tborder-color: rgba(144, 164, 174, 0);\n\tborder-width: 7px;\n\tmargin-left: -7px;\n}\n\n.apexcharts-xaxistooltip-bottom:after, .apexcharts-xaxistooltip-bottom:before {\n bottom: 100%;\n}\n\n.apexcharts-xaxistooltip-top:after, .apexcharts-xaxistooltip-top:before {\n top: 100%;\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #ECEFF1;\n}\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-bottom.dark:after {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n.apexcharts-xaxistooltip-bottom.dark:before {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color:#ECEFF1\n}\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90A4AE;\n}\n.apexcharts-xaxistooltip-top.dark:after {\n border-top-color:rgba(0, 0, 0, 0.5);\n}\n.apexcharts-xaxistooltip-top.dark:before {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n\n.apexcharts-xaxistooltip.active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-yaxistooltip {\n opacity: 0;\n padding: 4px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n\tbackground: #ECEFF1;\n border: 1px solid #90A4AE;\n}\n\n.apexcharts-yaxistooltip.dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-yaxistooltip:after, .apexcharts-yaxistooltip:before {\n\ttop: 50%;\n\tborder: solid transparent;\n\tcontent: " ";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n}\n.apexcharts-yaxistooltip:after {\n\tborder-color: rgba(236, 239, 241, 0);\n\tborder-width: 6px;\n\tmargin-top: -6px;\n}\n.apexcharts-yaxistooltip:before {\n\tborder-color: rgba(144, 164, 174, 0);\n\tborder-width: 7px;\n\tmargin-top: -7px;\n}\n\n.apexcharts-yaxistooltip-left:after, .apexcharts-yaxistooltip-left:before {\n left: 100%;\n}\n\n.apexcharts-yaxistooltip-right:after, .apexcharts-yaxistooltip-right:before {\n right: 100%;\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #ECEFF1;\n}\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90A4AE;\n}\n.apexcharts-yaxistooltip-left.dark:after {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n.apexcharts-yaxistooltip-left.dark:before {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #ECEFF1;\n}\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90A4AE;\n}\n.apexcharts-yaxistooltip-right.dark:after {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n.apexcharts-yaxistooltip-right.dark:before {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip.active {\n opacity: 1;\n}\n.apexcharts-yaxistooltip-hidden {\n display: none;\n}\n\n.apexcharts-xcrosshairs, .apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xcrosshairs.active, .apexcharts-ycrosshairs.active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0;\n}\n\n.apexcharts-zoom-rect {\n pointer-events: none;\n}\n.apexcharts-selection-rect {\n cursor: move;\n}\n\n.svg_select_points, .svg_select_points_rot {\n opacity: 0;\n visibility: hidden;\n}\n.svg_select_points_l, .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible;\n fill: #888;\n}\n.apexcharts-canvas.zoomable .hovering-zoom {\n cursor: crosshair\n}\n.apexcharts-canvas.zoomable .hovering-pan {\n cursor: move\n}\n\n.apexcharts-xaxis,\n.apexcharts-yaxis {\n pointer-events: none;\n}\n\n.apexcharts-zoom-icon, \n.apexcharts-zoom-in-icon,\n.apexcharts-zoom-out-icon,\n.apexcharts-reset-zoom-icon, \n.apexcharts-pan-icon, \n.apexcharts-selection-icon,\n.apexcharts-menu-icon, \n.apexcharts-toolbar-custom-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6E8192;\n text-align: center;\n}\n\n\n.apexcharts-zoom-icon svg, \n.apexcharts-zoom-in-icon svg,\n.apexcharts-zoom-out-icon svg,\n.apexcharts-reset-zoom-icon svg,\n.apexcharts-menu-icon svg {\n fill: #6E8192;\n}\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(0.76)\n}\n\n.dark .apexcharts-zoom-icon svg, \n.dark .apexcharts-zoom-in-icon svg,\n.dark .apexcharts-zoom-out-icon svg,\n.dark .apexcharts-reset-zoom-icon svg, \n.dark .apexcharts-pan-icon svg, \n.dark .apexcharts-selection-icon svg,\n.dark .apexcharts-menu-icon svg, \n.dark .apexcharts-toolbar-custom-icon svg{\n fill: #f3f4f5;\n}\n\n.apexcharts-canvas .apexcharts-zoom-icon.selected svg, \n.apexcharts-canvas .apexcharts-selection-icon.selected svg, \n.apexcharts-canvas .apexcharts-reset-zoom-icon.selected svg {\n fill: #008FFB;\n}\n.light .apexcharts-selection-icon:not(.selected):hover svg,\n.light .apexcharts-zoom-icon:not(.selected):hover svg, \n.light .apexcharts-zoom-in-icon:hover svg, \n.light .apexcharts-zoom-out-icon:hover svg, \n.light .apexcharts-reset-zoom-icon:hover svg, \n.light .apexcharts-menu-icon:hover svg {\n fill: #333;\n}\n\n.apexcharts-selection-icon, .apexcharts-menu-icon {\n position: relative;\n}\n.apexcharts-reset-zoom-icon {\n margin-left: 5px;\n}\n.apexcharts-zoom-icon, .apexcharts-reset-zoom-icon, .apexcharts-menu-icon {\n transform: scale(0.85);\n}\n\n.apexcharts-zoom-in-icon, .apexcharts-zoom-out-icon {\n transform: scale(0.7)\n}\n\n.apexcharts-zoom-out-icon {\n margin-right: 3px;\n}\n\n.apexcharts-pan-icon {\n transform: scale(0.62);\n position: relative;\n left: 1px;\n top: 0px;\n}\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6E8192;\n stroke-width: 2;\n}\n.apexcharts-pan-icon.selected svg {\n stroke: #008FFB;\n}\n.apexcharts-pan-icon:not(.selected):hover svg {\n stroke: #333;\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n top: 0px;\n right: 3px;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0px 6px 2px 6px;\n display: flex;\n justify-content: space-between;\n align-items: center; \n}\n\n.apexcharts-toolbar svg {\n pointer-events: none;\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: 0.15s ease all;\n pointer-events: none;\n}\n\n.apexcharts-menu.open {\n opacity: 1;\n pointer-events: all;\n transition: 0.15s ease all;\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer;\n}\n.light .apexcharts-menu-item:hover {\n background: #eee;\n}\n.dark .apexcharts-menu {\n background: rgba(0, 0, 0, 0.7);\n color: #fff;\n}\n\n@media screen and (min-width: 768px) {\n .apexcharts-toolbar {\n /*opacity: 0;*/\n }\n\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1;\n } \n}\n\n.apexcharts-datalabel.hidden {\n opacity: 0;\n}\n\n.apexcharts-pie-label,\n.apexcharts-datalabel, .apexcharts-datalabel-label, .apexcharts-datalabel-value {\n cursor: default;\n pointer-events: none;\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: 0.3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease;\n}\n\n.apexcharts-canvas .hidden {\n opacity: 0;\n}\n\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events, .apexcharts-radar-series path, .apexcharts-radar-series polygon {\n pointer-events: none;\n}\n\n/* markers */\n\n.apexcharts-marker {\n transition: 0.15s ease all;\n}\n\n@keyframes opaque {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}'),"document"in self&&("classList"in document.createElement("_")&&(!document.createElementNS||"classList"in document.createElementNS("http://www.w3.org/2000/svg","g"))||function(t){if("Element"in t){var e=t.Element.prototype,i=Object,n=String.prototype.trim||function(){return this.replace(/^\s+|\s+$/g,"")},s=Array.prototype.indexOf||function(t){for(var e=0,i=this.length;e<i;e++)if(e in this&&this[e]===t)return e;return-1},a=function(t,e){this.name=t,this.code=DOMException[t],this.message=e},r=function(t,e){if(""===e)throw new a("SYNTAX_ERR","The token must not be empty.");if(/\s/.test(e))throw new a("INVALID_CHARACTER_ERR","The token must not contain space characters.");return s.call(t,e)},o=function(t){for(var e=n.call(t.getAttribute("class")||""),i=e?e.split(/\s+/):[],s=0,a=i.length;s<a;s++)this.push(i[s]);this._updateClassName=function(){t.setAttribute("class",this.toString())}},l=o.prototype=[],h=function(){return new o(this)};if(a.prototype=Error.prototype,l.item=function(t){return this[t]||null},l.contains=function(t){return~r(this,t+"")},l.add=function(){for(var t,e=arguments,i=0,s=e.length,a=!1;~r(this,t=e[i]+"")||(this.push(t),a=!0),++i<s;);a&&this._updateClassName()},l.remove=function(){var t,e,i=arguments,s=0,a=i.length,n=!1;do{for(e=r(this,t=i[s]+"");~e;)this.splice(e,1),n=!0,e=r(this,t)}while(++s<a);n&&this._updateClassName()},l.toggle=function(t,e){var i=this.contains(t),s=i?!0!==e&&"remove":!1!==e&&"add";return s&&this[s](t),!0===e||!1===e?e:!i},l.replace=function(t,e){var i=r(t+"");~i&&(this.splice(i,1,e),this._updateClassName())},l.toString=function(){return this.join(" ")},i.defineProperty){var c={get:h,enumerable:!0,configurable:!0};try{i.defineProperty(e,"classList",c)}catch(t){void 0!==t.number&&-2146823252!==t.number||(c.enumerable=!1,i.defineProperty(e,"classList",c))}}else i.prototype.__defineGetter__&&e.__defineGetter__("classList",h)}}(self),function(){var t=document.createElement("_");if(t.classList.add("c1","c2"),!t.classList.contains("c2")){var e=function(t){var s=DOMTokenList.prototype[t];DOMTokenList.prototype[t]=function(t){var e,i=arguments.length;for(e=0;e<i;e++)t=arguments[e],s.call(this,t)}};e("add"),e("remove")}if(t.classList.toggle("c3",!1),t.classList.contains("c3")){var i=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(t,e){return 1 in arguments&&!this.contains(t)==!e?e:i.call(this,t)}}"replace"in document.createElement("_").classList||(DOMTokenList.prototype.replace=function(t,e){var i=this.toString().split(" "),s=i.indexOf(t+"");~s&&(i=i.slice(s),this.remove.apply(this,i),this.add(e),this.add.apply(this,i.slice(1)))}),t=null}()),function(){var s=!1;function a(t){var e=t.__resizeTriggers__,i=e.firstElementChild,s=e.lastElementChild,a=i.firstElementChild;s.scrollLeft=s.scrollWidth,s.scrollTop=s.scrollHeight,a.style.width=i.offsetWidth+1+"px",a.style.height=i.offsetHeight+1+"px",i.scrollLeft=i.scrollWidth,i.scrollTop=i.scrollHeight}function i(e){var i=this;a(this),this.__resizeRAF__&&r(this.__resizeRAF__),this.__resizeRAF__=t(function(){var t;(t=i).offsetWidth==t.__resizeLast__.width&&t.offsetHeight==t.__resizeLast__.height||(i.__resizeLast__.width=i.offsetWidth,i.__resizeLast__.height=i.offsetHeight,i.__resizeListeners__.forEach(function(t){t.call(e)}))})}var e,n,t=(e=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,20)},function(t){return e(t)}),r=(n=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout,function(t){return n(t)}),o=!1,l="",h="animationstart",c="Webkit Moz O ms".split(" "),d="webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),u=document.createElement("fakeelement");if(void 0!==u.style.animationName&&(o=!0),!1===o)for(var g=0;g<c.length;g++)if(void 0!==u.style[c[g]+"AnimationName"]){l="-"+c[g].toLowerCase()+"-",h=d[g];break}var f="@"+l+"keyframes resizeanim { from { opacity: 0; } to { opacity: 0; } } ",p=l+"animation: 1ms resizeanim; ";window.addResizeListener=function(e,t){e.__resizeTriggers__||("static"==getComputedStyle(e).position&&(e.style.position="relative"),function(){if(!s){var t=(f||"")+".resize-triggers { "+(p||"")+'visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',e=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t)),e.appendChild(i),s=!0}}(),e.__resizeLast__={},e.__resizeListeners__=[],(e.__resizeTriggers__=document.createElement("div")).className="resize-triggers",e.__resizeTriggers__.innerHTML='<div class="expand-trigger"><div></div></div><div class="contract-trigger"></div>',e.appendChild(e.__resizeTriggers__),a(e),e.addEventListener("scroll",i,!0),h&&e.__resizeTriggers__.addEventListener(h,function(t){"resizeanim"==t.animationName&&a(e)})),e.__resizeListeners__.push(t)},window.removeResizeListener=function(t,e){t&&(t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(e),1),t.__resizeListeners__.length||(t.removeEventListener("scroll",i),t.__resizeTriggers__=!t.removeChild(t.__resizeTriggers__)))}}(),window.Apex={},t(Ae,[{key:"render",value:function(){var a=this;return new Yt(function(t,e){if(null!==a.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),a.w.config.chart.id&&Apex._chartInstances.push({id:a.w.globals.chartID,group:a.w.config.chart.group,chart:a}),a.setLocale(a.w.config.chart.defaultLocale);var i=a.w.config.chart.events.beforeMount;"function"==typeof i&&i(a,a.w),a.fireEvent("beforeMount",[a,a.w]),window.addEventListener("resize",a.windowResizeHandler),window.addResizeListener(a.el.parentNode,a.parentResizeCallback.bind(a));var s=a.create(a.w.config.series,{});if(!s)return t(a);a.mount(s).then(function(){t(s),"function"==typeof a.w.config.chart.events.mounted&&a.w.config.chart.events.mounted(a,a.w),a.fireEvent("mounted",[a,a.w])}).catch(function(t){e(t)})}else e(new Error("Element not found"))})}},{key:"initModules",value:function(){this.animations=new X(this),this.core=new _(this.el,this),this.grid=new Gt(this),this.coreUtils=new ct(this),this.config=new x({}),this.crosshairs=new C(this),this.options=new p,this.responsive=new _t(this),this.series=new N(this),this.theme=new jt(this),this.formatters=new Y(this),this.titleSubtitle=new ie(this),this.legend=new O(this),this.toolbar=new te(this),this.dimensions=new D(this),this.zoomPanSelection=new ee(this),this.w.globals.tooltip=new Kt(this)}},{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var s=i.globals.events[t].indexOf(e);-1!==s&&i.globals.events[t].splice(s,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var s=i.globals.events[t],a=s.length,n=0;n<a;n++)s[n].apply(null,e)}}},{key:"create",value:function(t,e){var i=this.w;this.initModules();var s=this.w.globals;if(s.noData=!1,s.animationEnded=!1,this.responsive.checkResponsiveConfig(e),null===this.el)return s.animationEnded=!0,null;if(this.core.setupElements(),0===s.svgWidth)return s.animationEnded=!0,null;var a=ct.checkComboSeries(t);s.comboCharts=a.comboCharts,s.comboChartsHasBars=a.comboChartsHasBars,(0===t.length||1===t.length&&t[0].data&&0===t[0].data.length)&&this.series.handleNoData(),this.setupEventHandlers(),this.core.parseData(t),this.theme.init(),new ut(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),i.globals.noData||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters()),this.formatters.heatmapLabelFormatters(),this.dimensions.plotCoords();var n=this.core.xySettings();this.grid.createGridMask();var r=this.core.plotChartType(t,n);this.core.shiftGraphPosition();var o={plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}};return{elGraph:r,xyRatios:n,elInner:i.globals.dom.elGraphical,dimensions:o}}},{key:"mount",value:function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,n=this,r=n.w;return new Yt(function(t,e){if(null===n.el)return e(new Error("Not enough data to display or target element not found"));if(null!==a&&!r.globals.allSeriesCollapsed||n.series.handleNoData(),n.annotations=new g(n),n.core.drawAxis(r.config.chart.type,a.xyRatios),n.grid=new Gt(n),"back"===r.config.grid.position&&n.grid.drawGrid(),"back"===r.config.annotations.position&&n.annotations.drawAnnotations(),a.elGraph instanceof Array)for(var i=0;i<a.elGraph.length;i++)r.globals.dom.elGraphical.add(a.elGraph[i]);else r.globals.dom.elGraphical.add(a.elGraph);if("front"===r.config.grid.position&&n.grid.drawGrid(),"front"===r.config.xaxis.crosshairs.position&&n.crosshairs.drawXCrosshairs(),"front"===r.config.yaxis[0].crosshairs.position&&n.crosshairs.drawYCrosshairs(),"front"===r.config.annotations.position&&n.annotations.drawAnnotations(),!r.globals.noData){if(r.config.tooltip.enabled&&!r.globals.noData&&n.w.globals.tooltip.drawTooltip(a.xyRatios),r.globals.axisCharts&&r.globals.isXNumeric)(r.config.chart.zoom.enabled||r.config.chart.selection&&r.config.chart.selection.enabled||r.config.chart.pan&&r.config.chart.pan.enabled)&&n.zoomPanSelection.init({xyRatios:a.xyRatios});else{var s=r.config.chart.toolbar.tools;s.zoom=!1,s.zoomin=!1,s.zoomout=!1,s.selection=!1,s.pan=!1,s.reset=!1}r.config.chart.toolbar.show&&!r.globals.allSeriesCollapsed&&n.toolbar.createToolbar()}0<r.globals.memory.methodsToExec.length&&r.globals.memory.methodsToExec.forEach(function(t){t.method(t.params,!1,t.context)}),r.globals.axisCharts||r.globals.noData||n.core.resizeNonAxisCharts(),t(n)})}},{key:"clearPreviousPaths",value:function(){var t=this.w;t.globals.previousPaths=[],t.globals.allSeriesCollapsed=!1,t.globals.collapsedSeries=[],t.globals.collapsedSeriesIndices=[]}},{key:"updateOptions",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],i=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],s=!(3<arguments.length&&void 0!==arguments[3])||arguments[3],a=!(4<arguments.length&&void 0!==arguments[4])||arguments[4],n=this.w;return t.series&&(this.resetSeries(!1),t.series.length&&t.series[0].data&&(t.series=t.series.map(function(t,e){return ot({},n.config.series[e],{name:t.name?t.name:n.config.series[e]&&n.config.series[e].name,type:t.type?t.type:n.config.series[e]&&n.config.series[e].type,data:t.data?t.data:n.config.series[e]&&n.config.series[e].data})})),this.revertDefaultAxisMinMax()),t.xaxis&&((t.xaxis.min||t.xaxis.max)&&this.forceXAxisUpdate(t),t.xaxis.categories&&t.xaxis.categories.length&&n.config.xaxis.convertedCatToNumeric&&(t=f.convertCatToNumeric(t))),0<n.globals.collapsedSeriesIndices.length&&this.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this._updateOptions(t,e,i,s,a)}},{key:"_updateOptions",value:function(i){var s=1<arguments.length&&void 0!==arguments[1]&&arguments[1],a=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],n=4<arguments.length&&void 0!==arguments[4]&&arguments[4],t=[this];3<arguments.length&&void 0!==arguments[3]&&!arguments[3]||(t=this.getSyncedCharts()),this.w.globals.isExecCalled&&(t=[this],this.w.globals.isExecCalled=!1),t.forEach(function(t){var e=t.w;return e.globals.shouldAnimate=a,s||(e.globals.resized=!0,e.globals.dataChanged=!0,a&&t.series.getPreviousPaths()),i&&"object"===w(i)&&(t.config=new x(i),i=ct.extendArrayProps(t.config,i),e.config=lt.extend(e.config,i),n&&(e.globals.lastXAxis=[],e.globals.lastYAxis=[],e.globals.initialConfig=lt.extend({},e.config),e.globals.initialSeries=JSON.parse(JSON.stringify(e.config.series)))),t.update(i)})}},{key:"updateSeries",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];return this.resetSeries(!1),this.revertDefaultAxisMinMax(),this._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],s=this.w.config.series.slice();return s.push(t),this.resetSeries(!1),this.revertDefaultAxisMinMax(),this._updateSeries(s,e,i)}},{key:"_updateSeries",value:function(t,e){var i,s=2<arguments.length&&void 0!==arguments[2]&&arguments[2],a=this.w;return this.w.globals.shouldAnimate=e,a.globals.dataChanged=!0,a.globals.allSeriesCollapsed&&(a.globals.allSeriesCollapsed=!1),e&&this.series.getPreviousPaths(),a.globals.axisCharts?(0===(i=t.map(function(t,e){return ot({},a.config.series[e],{name:t.name?t.name:a.config.series[e]&&a.config.series[e].name,type:t.type?t.type:a.config.series[e]&&a.config.series[e].type,data:t.data?t.data:a.config.series[e]&&a.config.series[e].data})})).length&&(i=[{data:[]}]),a.config.series=i):a.config.series=t.slice(),s&&(a.globals.initialConfig.series=JSON.parse(JSON.stringify(a.config.series)),a.globals.initialSeries=JSON.parse(JSON.stringify(a.config.series))),this.update()}},{key:"getSyncedCharts",value:function(){var t=this.getGroupedCharts(),e=[this];return t.length&&(e=[],t.forEach(function(t){e.push(t)})),e}},{key:"getGroupedCharts",value:function(){var e=this;return Apex._chartInstances.filter(function(t){if(t.group)return!0}).map(function(t){return e.w.config.chart.group===t.group?t.chart:e})}},{key:"appendData",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];this.w.globals.dataChanged=!0,this.series.getPreviousPaths();for(var i=this.w.config.series.slice(),s=0;s<i.length;s++)if(void 0!==t[s])for(var a=0;a<t[s].data.length;a++)i[s].data.push(t[s].data[a]);return this.w.config.series=i,e&&(this.w.globals.initialSeries=JSON.parse(JSON.stringify(this.w.config.series))),this.update()}},{key:"update",value:function(s){var a=this;return new Yt(function(t,e){a.clear();var i=a.create(a.w.config.series,s);if(!i)return t(a);a.mount(i).then(function(){"function"==typeof a.w.config.chart.events.updated&&a.w.config.chart.events.updated(a,a.w),a.fireEvent("updated",[a,a.w]),a.w.globals.isDirty=!0,t(a)}).catch(function(t){e(t)})})}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;void 0!==t.xaxis.min&&(e.config.xaxis.min=t.xaxis.min,e.globals.lastXAxis.min=t.xaxis.min),void 0!==t.xaxis.max&&(e.config.xaxis.max=t.xaxis.max,e.globals.lastXAxis.max=t.xaxis.max)}},{key:"revertDefaultAxisMinMax",value:function(){var i=this.w;i.config.xaxis.min=i.globals.lastXAxis.min,i.config.xaxis.max=i.globals.lastXAxis.max,i.config.yaxis.map(function(t,e){i.globals.zoomed&&void 0!==i.globals.lastYAxis[e]&&(t.min=i.globals.lastYAxis[e].min,t.max=i.globals.lastYAxis[e].max)})}},{key:"clear",value:function(){this.zoomPanSelection&&this.zoomPanSelection.destroy(),this.toolbar&&this.toolbar.destroy(),this.animations=null,this.annotations=null,this.core=null,this.grid=null,this.series=null,this.responsive=null,this.theme=null,this.formatters=null,this.titleSubtitle=null,this.legend=null,this.dimensions=null,this.options=null,this.crosshairs=null,this.zoomPanSelection=null,this.toolbar=null,this.w.globals.tooltip=null,this.clearDomElements()}},{key:"killSVG",value:function(i){return new Yt(function(t,e){i.each(function(t,e){this.removeClass("*"),this.off(),this.stop()},!0),i.ungroup(),i.clear(),t("done")})}},{key:"clearDomElements",value:function(){var e=this;this.eventList.forEach(function(t){document.removeEventListener(t,e.documentEvent)});var t=this.w.globals.dom;if(null!==this.el)for(;this.el.firstChild;)this.el.removeChild(this.el.firstChild);this.killSVG(t.Paper),t.Paper.remove(),t.elWrap=null,t.elGraphical=null,t.elLegendWrap=null,t.baseEl=null,t.elGridRect=null,t.elGridRectMask=null,t.elGridRectMarkerMask=null,t.elDefs=null}},{key:"destroy",value:function(){this.clear();var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach(function(t,e){t.id===i&&Apex._chartInstances.splice(e,1)}),window.removeEventListener("resize",this.windowResizeHandler),window.removeResizeListener(this.el.parentNode,this.parentResizeCallback.bind(this))}},{key:"toggleSeries",value:function(t){var e=this.series.getSeriesByName(t),i=parseInt(e.getAttribute("data:realIndex")),s=e.classList.contains("apexcharts-series-collapsed");this.legend.toggleDataSeries(i,s)}},{key:"resetSeries",value:function(){var t=!(0<arguments.length&&void 0!==arguments[0])||arguments[0];this.series.resetSeries(t)}},{key:"setupEventHandlers",value:function(){var e=this,i=this.w,s=this,a=i.globals.dom.baseEl.querySelector(i.globals.chartClass);this.eventListHandlers=[],this.eventList.forEach(function(t){a.addEventListener(t,function(t){"mousedown"===t.type&&1===t.which||("mouseup"===t.type&&1===t.which||"touchend"===t.type)&&("function"==typeof i.config.chart.events.click&&i.config.chart.events.click(t,s,i),s.fireEvent("click",[t,s,i]))},{capture:!1,passive:!0})}),this.eventList.forEach(function(t){document.addEventListener(t,e.documentEvent)}),this.core.setupBrushHandler()}},{key:"documentEvent",value:function(t){var e=this.w;e.globals.clientX="touchmove"===t.type?t.touches[0].clientX:t.clientX,e.globals.clientY="touchmove"===t.type?t.touches[0].clientY:t.clientY}},{key:"addXaxisAnnotation",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addXaxisAnnotationExternal(t,e,s)}},{key:"addYaxisAnnotation",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addYaxisAnnotationExternal(t,e,s)}},{key:"addPointAnnotation",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addPointAnnotationExternal(t,e,s)}},{key:"clearAnnotations",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"addText",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:void 0,s=this;i&&(s=i),s.annotations.addText(t,e,s)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0;return new V(this.ctx).getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0;return new V(this.ctx).getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"setLocale",value:function(t){this.setCurrentLocaleValues(t)}},{key:"toggleDataPointSelection",value:function(t,e){var i,s=this.w;return(i=s.globals.axisCharts?s.globals.dom.Paper.select(".apexcharts-series[data\\:realIndex='".concat(t,"'] path[j='").concat(e,"'], .apexcharts-series[data\\:realIndex='").concat(t,"'] circle[j='").concat(e,"'], .apexcharts-series[data\\:realIndex='").concat(t,"'] rect[j='").concat(e,"']")).members[0]:s.globals.dom.Paper.select(".apexcharts-series[data\\:realIndex='".concat(t,"']")).members[0])?new ht(this.ctx).pathMouseDown(i,null):console.warn("toggleDataPointSelection: Element not found"),i.node?i.node:null}},{key:"setCurrentLocaleValues",value:function(e){var t=this.w.config.chart.locales;window.Apex.chart&&window.Apex.chart.locales&&0<window.Apex.chart.locales.length&&(t=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=t.filter(function(t){return t.name===e})[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var s=lt.extend(u,i);this.w.globals.locale=s.options}},{key:"dataURI",value:function(){return new Vt(this.ctx).dataURI()}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.windowResize()}},{key:"windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout(function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.update()},150)}}],[{key:"initOnLoad",value:function(){for(var t=document.querySelectorAll("[data-apexcharts]"),e=0;e<t.length;e++)new Ae(t[e],JSON.parse(t[e].getAttribute("data-options"))).render()}},{key:"exec",value:function(t,e){var i=this.getChartByID(t);if(i){i.w.globals.isExecCalled=!0;for(var s=arguments.length,a=new Array(2<s?s-2:0),n=2;n<s;n++)a[n-2]=arguments[n];switch(e){case"updateOptions":return i.updateOptions.apply(i,a);case"updateSeries":return i.updateSeries.apply(i,a);case"appendData":return i.appendData.apply(i,a);case"appendSeries":return i.appendSeries.apply(i,a);case"toggleSeries":return i.toggleSeries.apply(i,a);case"resetSeries":return i.resetSeries.apply(i,a);case"toggleDataPointSelection":return i.toggleDataPointSelection.apply(i,a);case"dataURI":return i.dataURI.apply(i,a);case"addXaxisAnnotation":return i.addXaxisAnnotation.apply(i,a);case"addYaxisAnnotation":return i.addYaxisAnnotation.apply(i,a);case"addPointAnnotation":return i.addPointAnnotation.apply(i,a);case"addText":return i.addText.apply(i,a);case"clearAnnotations":return i.clearAnnotations.apply(i,a);case"paper":return i.paper.apply(i,a);case"destroy":return i.destroy()}}}},{key:"merge",value:function(t,e){return lt.extend(t,e)}},{key:"getChartByID",value:function(e){return Apex._chartInstances.filter(function(t){return t.id===e})[0].chart}}]),Ae;function Ae(t,e){a(this,Ae),this.opts=e,(this.ctx=this).w=new m(e).init(),this.el=t,this.w.globals.cuid=(Math.random()+1).toString(36).substring(4),this.w.globals.chartID=this.w.config.chart.id?this.w.config.chart.id:this.w.globals.cuid,this.eventList=["mousedown","mousemove","touchstart","touchmove","mouseup","touchend"],this.initModules(),this.create=lt.bind(this.create,this),this.documentEvent=lt.bind(this.documentEvent,this),this.windowResizeHandler=this.windowResize.bind(this)}});;
// C:\code\oanda-performances\client\src\bower_components\ace-builds\src-min-noconflict\ace.js
//-------------------------------
(function(){var e=function(){return this}();e||"undefined"==typeof window||(e=window);var o=function(e,t,i){"string"==typeof e?(2==arguments.length&&(i=t),o.modules[e]||(o.payloads[e]=i,o.modules[e]=null)):o.original?o.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};o.modules={},o.payloads={};function r(e,t,i){if("string"==typeof t){var n=h(e,t);if(null!=n)return i&&i(),n}else if("[object Array]"===Object.prototype.toString.call(t)){for(var s=[],o=0,r=t.length;o<r;++o){var a=h(e,t[o]);if(null==a&&l.original)return;s.push(a)}return i&&i.apply(null,s)||!0}}var t,i,l=function(e,t){var i=r("",e,t);return null==i&&l.original?l.original.apply(this,arguments):i},a=function(e,t){if(-1!==t.indexOf("!")){var i=t.split("!");return a(e,i[0])+"!"+a(e,i[1])}if("."==t.charAt(0))for(t=e.split("/").slice(0,-1).join("/")+"/"+t;-1!==t.indexOf(".")&&n!=t;){var n=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return t},h=function(e,i){i=a(e,i);var t=o.modules[i];if(!t){if("function"==typeof(t=o.payloads[i])){var n={},s={id:i,uri:"",exports:n,packaged:!0};n=t(function(e,t){return r(i,e,t)},n,s)||s.exports,o.modules[i]=n,delete o.payloads[i]}t=o.modules[i]=n||t}return t};i=e,(t="ace")&&(e[t]||(e[t]={}),i=e[t]),i.define&&i.define.packaged||(o.original=i.define,i.define=o,i.define.packaged=!0),i.require&&i.require.packaged||(l.original=i.require,i.require=l,i.require.packaged=!0)})(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,i){"use strict";var n,o={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},r=void 0===o.exec.call(/()??/,"")[1],a=(n=/^/g,o.test.call(n,""),!n.lastIndex);a&&r||(RegExp.prototype.exec=function(e){var t,i,n=o.exec.apply(this,arguments);if("string"==typeof e&&n){if(!r&&1<n.length&&-1<function(e,t,i){if(Array.prototype.indexOf)return e.indexOf(t,i);for(var n=i||0;n<e.length;n++)if(e[n]===t)return n;return-1}(n,"")&&(i=RegExp(this.source,o.replace.call(function(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}(this),"g","")),o.replace.call(e.slice(n.index),i,function(){for(var e=1;e<arguments.length-2;e++)void 0===arguments[e]&&(n[e]=void 0)})),this._xregexp&&this._xregexp.captureNames)for(var s=1;s<n.length;s++)(t=this._xregexp.captureNames[s-1])&&(n[t]=n[s]);!a&&this.global&&!n[0].length&&this.lastIndex>n.index&&this.lastIndex--}return n},a||(RegExp.prototype.test=function(e){var t=o.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,i){function o(){}function n(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(e){}}function s(e){return(e=+e)!=e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(0<e||-1)*Math.floor(Math.abs(e))),e}Function.prototype.bind||(Function.prototype.bind=function(t){var i=this;if("function"!=typeof i)throw new TypeError("Function.prototype.bind called on incompatible "+i);var n=f.call(arguments,1),s=function(){if(this instanceof s){var e=i.apply(this,n.concat(f.call(arguments)));return Object(e)===e?e:this}return i.apply(t,n.concat(f.call(arguments)))};return i.prototype&&(o.prototype=i.prototype,s.prototype=new o,o.prototype=null),s});var r,a,l,h,c,u=Function.prototype.call,d=Array.prototype,g=Object.prototype,f=d.slice,m=u.bind(g.toString),p=u.bind(g.hasOwnProperty);if((c=p(g,"__defineGetter__"))&&(r=u.bind(g.__defineGetter__),a=u.bind(g.__defineSetter__),l=u.bind(g.__lookupGetter__),h=u.bind(g.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t,i=[];if(i.splice.apply(i,e(20)),i.splice.apply(i,e(26)),t=i.length,i.splice(5,0,"XXX"),i.length,t+1==i.length)return!0}()){var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[void 0===e?0:e,void 0===t?this.length-e:t].concat(f.call(arguments,2))):[]}}else Array.prototype.splice=function(e,t){var i=this.length;0<e?i<e&&(e=i):null==e?e=0:e<0&&(e=Math.max(i+e,0)),e+t<i||(t=i-e);var n=this.slice(e,e+t),s=f.call(arguments,2),o=s.length;if(e===i)o&&this.push.apply(this,s);else{var r=Math.min(t,i-e),a=e+r,l=a+o-r,h=i-a,c=i-r;if(l<a)for(var u=0;u<h;++u)this[l+u]=this[a+u];else if(a<l)for(u=h;u--;)this[l+u]=this[a+u];if(o&&e===c)this.length=c,this.push.apply(this,s);else for(this.length=c+o,u=0;u<o;++u)this[e+u]=s[u]}return n};Array.isArray||(Array.isArray=function(e){return"[object Array]"==m(e)});var w,b=Object("a"),$="a"!=b[0]||!(0 in b);if(Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=T(this),i=$&&"[object String]"==m(this)?this.split(""):t,n=arguments[1],s=-1,o=i.length>>>0;if("[object Function]"!=m(e))throw new TypeError;for(;++s<o;)s in i&&e.call(n,i[s],s,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=T(this),i=$&&"[object String]"==m(this)?this.split(""):t,n=i.length>>>0,s=Array(n),o=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var r=0;r<n;r++)r in i&&(s[r]=e.call(o,i[r],r,t));return s}),Array.prototype.filter||(Array.prototype.filter=function(e){var t,i=T(this),n=$&&"[object String]"==m(this)?this.split(""):i,s=n.length>>>0,o=[],r=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var a=0;a<s;a++)a in n&&(t=n[a],e.call(r,t,a,i)&&o.push(t));return o}),Array.prototype.every||(Array.prototype.every=function(e){var t=T(this),i=$&&"[object String]"==m(this)?this.split(""):t,n=i.length>>>0,s=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var o=0;o<n;o++)if(o in i&&!e.call(s,i[o],o,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=T(this),i=$&&"[object String]"==m(this)?this.split(""):t,n=i.length>>>0,s=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var o=0;o<n;o++)if(o in i&&e.call(s,i[o],o,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=T(this),i=$&&"[object String]"==m(this)?this.split(""):t,n=i.length>>>0;if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");if(!n&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var s,o=0;if(2<=arguments.length)s=arguments[1];else for(;;){if(o in i){s=i[o++];break}if(++o>=n)throw new TypeError("reduce of empty array with no initial value")}for(;o<n;o++)o in i&&(s=e.call(void 0,s,i[o],o,t));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=T(this),i=$&&"[object String]"==m(this)?this.split(""):t,n=i.length>>>0;if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");if(!n&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var s,o=n-1;if(2<=arguments.length)s=arguments[1];else for(;;){if(o in i){s=i[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}for(;o in this&&(s=e.call(void 0,s,i[o],o,t)),o--;);return s}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(e){var t=$&&"[object String]"==m(this)?this.split(""):T(this),i=t.length>>>0;if(!i)return-1;var n=0;for(1<arguments.length&&(n=s(arguments[1])),n=0<=n?n:Math.max(0,i+n);n<i;n++)if(n in t&&t[n]===e)return n;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(e){var t=$&&"[object String]"==m(this)?this.split(""):T(this),i=t.length>>>0;if(!i)return-1;var n=i-1;for(1<arguments.length&&(n=Math.min(n,s(arguments[1]))),n=0<=n?n:i-Math.abs(n);0<=n;n--)if(n in t&&e===t[n])return n;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:g)}),!Object.getOwnPropertyDescriptor){Object.getOwnPropertyDescriptor=function(e,t){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.getOwnPropertyDescriptor called on a non-object: "+e);if(p(e,t)){var i;if(i={enumerable:!0,configurable:!0},c){var n=e.__proto__;e.__proto__=g;var s=l(e,t),o=h(e,t);if(e.__proto__=n,s||o)return s&&(i.get=s),o&&(i.set=o),i}return i.value=e[t],i}}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),Object.create||(w=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var i;if(null===e)i=w();else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");function n(){}n.prototype=e,(i=new n).__proto__=e}return void 0!==t&&Object.defineProperties(i,t),i});if(Object.defineProperty){var y=n({}),S="undefined"==typeof document||n(document.createElement("div"));if(!y||!S)var C=Object.defineProperty}if(!Object.defineProperty||C){Object.defineProperty=function(e,t,i){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.defineProperty called on non-object: "+e);if("object"!=typeof i&&"function"!=typeof i||null===i)throw new TypeError("Property description must be an object: "+i);if(C)try{return C.call(Object,e,t,i)}catch(e){}if(p(i,"value"))if(c&&(l(e,t)||h(e,t))){var n=e.__proto__;e.__proto__=g,delete e[t],e[t]=i.value,e.__proto__=n}else e[t]=i.value;else{if(!c)throw new TypeError("getters & setters can not be defined on this javascript engine");p(i,"get")&&r(e,t,i.get),p(i,"set")&&a(e,t,i.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var i in t)p(t,i)&&Object.defineProperty(e,i,t[i]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(e){Object.freeze=function(t){return function(e){return"function"==typeof e?e:t(e)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;for(var t="";p(e,t);)t+="?";e[t]=!0;var i=p(e,t);return delete e[t],i}),!Object.keys){var x=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],k=A.length;for(var L in{toString:null})x=!1;Object.keys=function(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.keys called on a non-object");var t=[];for(var i in e)p(e,i)&&t.push(i);if(x)for(var n=0,s=k;n<s;n++){var o=A[n];p(e,o)&&t.push(o)}return t}}Date.now||(Date.now=function(){return(new Date).getTime()});var R="\t\n\v\f\r \u2028\u2029\ufeff";if(!String.prototype.trim||R.trim()){R="["+R+"]";var E=new RegExp("^"+R+R+"*"),M=new RegExp(R+R+"*$");String.prototype.trim=function(){return String(this).replace(E,"").replace(M,"")}}var T=function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,i){"use strict";e("./regexp"),e("./es5-shim")}),ace.define("ace/lib/dom",["require","exports","module"],function(e,a,t){"use strict";a.buildDom=function e(t,i,n){if("string"==typeof t&&t){var s=document.createTextNode(t);return i&&i.appendChild(s),s}if(!Array.isArray(t))return t;if("string"!=typeof t[0]||!t[0]){for(var o=[],r=0;r<t.length;r++){var a=e(t[r],i,n);a&&o.push(a)}return o}var l=document.createElement(t[0]),h=t[1],c=1;h&&"object"==typeof h&&!Array.isArray(h)&&(c=2);for(r=c;r<t.length;r++)e(t[r],l,n);return 2==c&&Object.keys(h).forEach(function(e){var t=h[e];"class"===e?l.className=Array.isArray(t)?t.join(" "):t:"function"==typeof t||"value"==e?l[e]=t:"ref"===e?n&&(n[t]=l):null!=t&&l.setAttribute(e,t)}),i&&i.appendChild(l),l},a.getDocumentHead=function(e){return(e=e||document).head||e.getElementsByTagName("head")[0]||e.documentElement},a.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||"http://www.w3.org/1999/xhtml",e):document.createElement(e)},a.hasCssClass=function(e,t){return-1!==(e.className+"").split(/\s+/g).indexOf(t)},a.addCssClass=function(e,t){a.hasCssClass(e,t)||(e.className+=" "+t)},a.removeCssClass=function(e,t){for(var i=e.className.split(/\s+/g);;){var n=i.indexOf(t);if(-1==n)break;i.splice(n,1)}e.className=i.join(" ")},a.toggleCssClass=function(e,t){for(var i=e.className.split(/\s+/g),n=!0;;){var s=i.indexOf(t);if(-1==s)break;n=!1,i.splice(s,1)}return n&&i.push(t),e.className=i.join(" "),n},a.setCssClass=function(e,t,i){i?a.addCssClass(e,t):a.removeCssClass(e,t)},a.hasCssString=function(e,t){var i,n=0;if((t=t||document).createStyleSheet&&(i=t.styleSheets)){for(;n<i.length;)if(i[n++].owningElement.id===e)return!0}else if(i=t.getElementsByTagName("style"))for(;n<i.length;)if(i[n++].id===e)return!0;return!1},a.importCssString=function(e,t,i){if(i=i||document,t&&a.hasCssString(t,i))return null;var n;t&&(e+="\n/*# sourceURL=ace/css/"+t+" */"),i.createStyleSheet?((n=i.createStyleSheet()).cssText=e,t&&(n.owningElement.id=t)):((n=a.createElement("style")).appendChild(i.createTextNode(e)),t&&(n.id=t),a.getDocumentHead(i).appendChild(n))},a.importCssStylsheet=function(e,t){if(t.createStyleSheet)t.createStyleSheet(e);else{var i=a.createElement("link");i.rel="stylesheet",i.href=e,a.getDocumentHead(t).appendChild(i)}},a.getInnerWidth=function(e){return parseInt(a.computedStyle(e,"paddingLeft"),10)+parseInt(a.computedStyle(e,"paddingRight"),10)+e.clientWidth},a.getInnerHeight=function(e){return parseInt(a.computedStyle(e,"paddingTop"),10)+parseInt(a.computedStyle(e,"paddingBottom"),10)+e.clientHeight},a.scrollbarWidth=function(e){var t=a.createElement("ace_inner");t.style.width="100%",t.style.minWidth="0px",t.style.height="200px",t.style.display="block";var i=a.createElement("ace_outer"),n=i.style;n.position="absolute",n.left="-10000px",n.overflow="hidden",n.width="200px",n.minWidth="0px",n.height="150px",n.display="block",i.appendChild(t);var s=e.documentElement;s.appendChild(i);var o=t.offsetWidth;n.overflow="scroll";var r=t.offsetWidth;return o==r&&(r=i.clientWidth),s.removeChild(i),o-r},"undefined"!=typeof document?(void 0!==window.pageYOffset?(a.getPageScrollTop=function(){return window.pageYOffset},a.getPageScrollLeft=function(){return window.pageXOffset}):(a.getPageScrollTop=function(){return document.body.scrollTop},a.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?a.computedStyle=function(e,t){return t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:a.computedStyle=function(e,t){return t?e.currentStyle[t]:e.currentStyle},a.setInnerHtml=function(e,t){var i=e.cloneNode(!1);return i.innerHTML=t,e.parentNode.replaceChild(i,e),i},"textContent"in document.documentElement?(a.setInnerText=function(e,t){e.textContent=t},a.getInnerText=function(e){return e.textContent}):(a.setInnerText=function(e,t){e.innerText=t},a.getInnerText=function(e){return e.innerText}),a.getParentWindow=function(e){return e.defaultView||e.parentWindow}):a.importCssString=function(){}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,i,t){"use strict";i.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},i.mixin=function(e,t){for(var i in t)e[i]=t[i];return e},i.implement=function(e,t){i.mixin(e,t)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(e,t,i){"use strict";e("./fixoldbrowsers");var n=e("./oop"),s=function(){var e,t,i={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",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"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}};for(t in i.FUNCTION_KEYS)e=i.FUNCTION_KEYS[t].toLowerCase(),i[e]=parseInt(t,10);for(t in i.PRINTABLE_KEYS)e=i.PRINTABLE_KEYS[t].toLowerCase(),i[e]=parseInt(t,10);return n.mixin(i,i.MODIFIER_KEYS),n.mixin(i,i.PRINTABLE_KEYS),n.mixin(i,i.FUNCTION_KEYS),i.enter=i.return,i.escape=i.esc,i.del=i.delete,i[173]="-",function(){for(var e=["cmd","ctrl","alt","shift"],t=Math.pow(2,e.length);t--;)i.KEY_MODS[t]=e.filter(function(e){return t&i.KEY_MODS[e]}).join("-")+"-"}(),i.KEY_MODS[0]="",i.KEY_MODS[-1]="input-",i}();n.mixin(t,s),t.keyCodeToString=function(e){var t=s[e];return"string"!=typeof t&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define("ace/lib/useragent",["require","exports","module"],function(e,t,i){"use strict";if(t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS},"object"==typeof navigator){var n=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),s=navigator.userAgent;t.isWin="win"==n,t.isMac="mac"==n,t.isLinux="linux"==n,t.isIE="Microsoft Internet Explorer"==navigator.appName||0<=navigator.appName.indexOf("MSAppHost")?parseFloat((s.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((s.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=s.match(/ Gecko\/\d+/),t.isOpera=window.opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(s.split("WebKit/")[1])||void 0,t.isChrome=parseFloat(s.split(" Chrome/")[1])||void 0,t.isAIR=0<=s.indexOf("AdobeAIR"),t.isIPad=0<=s.indexOf("iPad"),t.isChromeOS=0<=s.indexOf(" CrOS "),t.isIOS=/iPad|iPhone|iPod/.test(s)&&!window.MSStream,t.isIOS&&(t.isMac=!0)}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,u,t){"use strict";function o(e,t,i){var n=c(t);if(!d.isMac&&l){if(t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(n|=8),l.altGr){if(3==(3&n))return;l.altGr=0}if(18===i||17===i){var s="location"in t?t.location:t.keyLocation;if(17===i&&1===s)1==l[i]&&(h=t.timeStamp);else if(18===i&&3===n&&2===s){t.timeStamp-h<50&&(l.altGr=!0)}}}if((i in a.MODIFIER_KEYS&&(i=-1),8&n&&91<=i&&i<=93&&(i=-1),!n&&13===i)&&(3===(s="location"in t?t.location:t.keyLocation)&&(e(t,n,-i),t.defaultPrevented)))return;if(d.isChromeOS&&8&n){if(e(t,n,i),t.defaultPrevented)return;n&=-9}return!!(n||i in a.FUNCTION_KEYS||i in a.PRINTABLE_KEYS)&&e(t,n,i)}function r(){l=Object.create(null)}var a=e("./keys"),d=e("./useragent"),l=null,h=0;u.addListener=function(e,t,i){if(e.addEventListener)return e.addEventListener(t,i,!1);if(e.attachEvent){var n=function(){i.call(e,window.event)};i._wrapper=n,e.attachEvent("on"+t,n)}},u.removeListener=function(e,t,i){if(e.removeEventListener)return e.removeEventListener(t,i,!1);e.detachEvent&&e.detachEvent("on"+t,i._wrapper||i)},u.stopEvent=function(e){return u.stopPropagation(e),u.preventDefault(e),!1},u.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},u.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},u.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||d.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},u.capture=function(e,t,i){function n(e){t&&t(e),i&&i(e),u.removeListener(document,"mousemove",t,!0),u.removeListener(document,"mouseup",n,!0),u.removeListener(document,"dragstart",n,!0)}return u.addListener(document,"mousemove",t,!0),u.addListener(document,"mouseup",n,!0),u.addListener(document,"dragstart",n,!0),n},u.addTouchMoveListener=function(e,n){var s,o;u.addListener(e,"touchstart",function(e){var t=e.touches[0];s=t.clientX,o=t.clientY}),u.addListener(e,"touchmove",function(e){var t=e.touches;if(!(1<t.length)){var i=t[0];e.wheelX=s-i.clientX,e.wheelY=o-i.clientY,s=i.clientX,o=i.clientY,n(e)}})},u.addMouseWheelListener=function(e,t){"onmousewheel"in e?u.addListener(e,"mousewheel",function(e){void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/8,e.wheelY=-e.wheelDeltaY/8):(e.wheelX=0,e.wheelY=-e.wheelDelta/8),t(e)}):"onwheel"in e?u.addListener(e,"wheel",function(e){switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=.35*e.deltaX||0,e.wheelY=.35*e.deltaY||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}t(e)}):u.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),t(e)})},u.addMultiMouseDownListener=function(e,i,n,s){function t(e){if(0!==u.getButton(e)?h=0:1<e.detail?4<++h&&(h=1):h=1,d.isIE){var t=5<Math.abs(e.clientX-r)||5<Math.abs(e.clientY-a);l&&!t||(h=1),l&&clearTimeout(l),l=setTimeout(function(){l=null},i[h-1]||600),1==h&&(r=e.clientX,a=e.clientY)}if(e._clicks=h,n[s]("mousedown",e),4<h)h=0;else if(1<h)return n[s](c[h],e)}function o(e){h=2,l&&clearTimeout(l),l=setTimeout(function(){l=null},i[h-1]||600),n[s]("mousedown",e),n[s](c[h],e)}var r,a,l,h=0,c={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){u.addListener(e,"mousedown",t),d.isOldIE&&u.addListener(e,"dblclick",o)})};var c=!d.isMac||!d.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};if(u.getModifierString=function(e){return a.KEY_MODS[c(e)]},u.addCommandKeyListener=function(e,i){var t=u.addListener;if(d.isOldGecko||d.isOpera&&!("KeyboardEvent"in window)){var n=null;t(e,"keydown",function(e){n=e.keyCode}),t(e,"keypress",function(e){return o(i,e,n)})}else{var s=null;t(e,"keydown",function(e){l[e.keyCode]=(l[e.keyCode]||0)+1;var t=o(i,e,e.keyCode);return s=e.defaultPrevented,t}),t(e,"keypress",function(e){s&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(u.stopEvent(e),s=null)}),t(e,"keyup",function(e){l[e.keyCode]=null}),l||(r(),t(window,"focus",r))}},"object"==typeof window&&window.postMessage&&!d.isOldIE){u.nextTick=function(i,n){n=n||window;var s="zero-timeout-message-1";u.addListener(n,"message",function e(t){t.data==s&&(u.stopPropagation(t),u.removeListener(n,"message",e),i())}),n.postMessage(s,"*")}}u.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),u.nextFrame?u.nextFrame=u.nextFrame.bind(window):u.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,i){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var i="";0<t;)1&t&&(i+=e),(t>>=1)&&(e+=e);return i};var n=/^\s\s*/,s=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(n,"")},t.stringTrimRight=function(e){return e.replace(s,"")},t.copyObject=function(e){var t={};for(var i in e)t[i]=e[i];return t},t.copyArray=function(e){for(var t=[],i=0,n=e.length;i<n;i++)e[i]&&"object"==typeof e[i]?t[i]=this.copyObject(e[i]):t[i]=e[i];return t},t.deepCopy=function e(t){if("object"!=typeof t||!t)return t;var i;if(Array.isArray(t)){i=[];for(var n=0;n<t.length;n++)i[n]=e(t[n]);return i}if("[object Object]"!==Object.prototype.toString.call(t))return t;for(var n in i={},t)i[n]=e(t[n]);return i},t.arrayToMap=function(e){for(var t={},i=0;i<e.length;i++)t[e[i]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var i in e)t[i]=e[i];return t},t.arrayRemove=function(e,t){for(var i=0;i<=e.length;i++)t===e[i]&&e.splice(i,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},t.getMatchOffsets=function(e,t){var i=[];return e.replace(t,function(e){i.push({offset:arguments[arguments.length-2],length:e.length})}),i},t.deferredCall=function(e){function t(){i=null,e()}var i=null,n=function(e){return n.cancel(),i=setTimeout(t,e||0),n};return(n.schedule=n).call=function(){return this.cancel(),e(),n},n.cancel=function(){return clearTimeout(i),i=null,n},n.isPending=function(){return i},n},t.delayedCall=function(e,t){function i(){s=null,e()}function n(e){null==s&&(s=setTimeout(i,e||t))}var s=null;return n.delay=function(e){s&&clearTimeout(s),s=setTimeout(i,e||t)},(n.schedule=n).call=function(){this.cancel(),e()},n.cancel=function(){s&&clearTimeout(s),s=null},n.isPending=function(){return s},n}}),ace.define("ace/keyboard/textinput_ios",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/lib/keys"],function(e,t,i){"use strict";var M=e("../lib/event"),T=e("../lib/useragent"),_=e("../lib/dom"),O=e("../lib/lang"),F=e("../lib/keys"),I=F.KEY_MODS,W=T.isChrome<18,B=T.isIE;t.TextInput=function(e,l){function n(e){if(!a){if(a=!0,p)t=0,i=e?0:c.value.length-1;else var t=4,i=5;try{c.setSelectionRange(t,i)}catch(e){}a=!1}}function s(){a||(c.value=t,T.isWebKit&&m.schedule())}function h(){clearTimeout(k),k=setTimeout(function(){u&&(c.style.cssText=u,u=""),null==l.renderer.$keepTextAreaAtCursor&&(l.renderer.$keepTextAreaAtCursor=!0,l.renderer.$moveTextAreaToCursor())},0)}var c=_.createElement("textarea");c.className=T.isIOS?"ace_text-input ace_text-input-ios":"ace_text-input",T.isTouchPad&&c.setAttribute("x-palm-disable-auto-cap",!0),c.setAttribute("wrap","off"),c.setAttribute("autocorrect","off"),c.setAttribute("autocapitalize","off"),c.setAttribute("spellcheck",!1),c.style.opacity="0",e.insertBefore(c,e.firstChild);var t="\n aaaa a\n",o=!1,r=!1,i=!1,a=!1,u="",d=!0;try{var g=document.activeElement===c}catch(e){}M.addListener(c,"blur",function(e){l.onBlur(e),g=!1}),M.addListener(c,"focus",function(e){g=!0,l.onFocus(e),n()}),this.focus=function(){if(u)return c.focus();c.style.position="fixed",c.focus()},this.blur=function(){c.blur()},this.isFocused=function(){return g};var f=O.delayedCall(function(){g&&n(d)}),m=O.delayedCall(function(){a||(c.value=t,g&&n())});T.isWebKit||l.addEventListener("changeSelection",function(){l.selection.isEmpty()!=d&&(d=!d,f.schedule())}),s(),g&&l.onFocus();var p=null;this.setInputHandler=function(e){p=e};function v(e){4===c.selectionStart&&5===c.selectionEnd||(p&&(e=p(e),p=null),i?(n(),e&&l.onPaste(e),i=!1):e==t.substr(0)&&4===c.selectionStart?$?l.execCommand("del",{source:"ace"}):l.execCommand("backspace",{source:"ace"}):o||(e.substring(0,9)==t&&e.length>t.length?e=e.substr(9):e.substr(0,4)==t.substr(0,4)?e=e.substr(4,e.length-t.length+1):e.charAt(e.length-1)==t.charAt(0)&&(e=e.slice(0,-1)),e!=t.charAt(0)&&e.charAt(e.length-1)==t.charAt(0)&&(e=e.slice(0,-1)),e&&l.onTextInput(e)),o=o&&!1,$=$&&!1)}function w(e){if(!a){var t=c.value;v(t),s()}}function b(e,t){var i=l.getCopyText();if(!i)return M.preventDefault(e);y(e,i)?(T.isIOS&&(r=t,c.value="\n aa"+i+"a a\n",c.setSelectionRange(4,4+i.length),o={value:i}),t?l.onCut():l.onCopy(),T.isIOS||M.preventDefault(e)):(o=!0,c.value=i,c.select(),setTimeout(function(){o=!1,s(),n(),t?l.onCut():l.onCopy()}))}var $=!(this.getInputHandler=function(){return p}),y=function(e,t,i){var n=e.clipboardData||window.clipboardData;if(n&&!W){var s=B||i?"Text":"text/plain";try{return t?!1!==n.setData(s,t):n.getData(s)}catch(e){if(!i)return y(e,t,!0)}}};M.addCommandKeyListener(c,l.onCommandKey.bind(l)),M.addListener(c,"select",function(e){!function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length}(c)?p&&n(l.selection.isEmpty()):(l.selectAll(),n())}),M.addListener(c,"input",w),M.addListener(c,"cut",function(e){b(e,!0)}),M.addListener(c,"copy",function(e){b(e,!1)}),M.addListener(c,"paste",function(e){var t=y(e);"string"==typeof t?(t&&l.onPaste(t,e),T.isIE&&setTimeout(n),M.preventDefault(e)):(c.value="",i=!0)});var S=function(){if(a&&l.onCompositionUpdate&&!l.$readOnly){var e=c.value.replace(/\x01/g,"");if(a.lastValue!==e&&(l.onCompositionUpdate(e),a.lastValue&&l.undo(),a.canUndo&&(a.lastValue=e),a.lastValue)){var t=l.selection.getRange();l.insert(a.lastValue),l.session.markUndoGroup(),a.range=l.selection.getRange(),l.selection.setRange(t),l.selection.clearSelection()}}},C=function(e){if(l.onCompositionEnd&&!l.$readOnly){var t=a;a=!1;var i=setTimeout(function(){i=null;var e=c.value.replace(/\x01/g,"");a||(e==t.lastValue?s():!t.lastValue&&e&&(s(),v(e)))});p=function(e){return i&&clearTimeout(i),(e=e.replace(/\x01/g,""))==t.lastValue?"":(t.lastValue&&i&&l.undo(),e)},l.onCompositionEnd(),l.removeListener("mousedown",C),"compositionend"==e.type&&t.range&&l.selection.setRange(t.range),(!!T.isChrome&&53<=T.isChrome||!!T.isWebKit&&603<=T.isWebKit)&&w()}},x=O.delayedCall(S,50);M.addListener(c,"compositionstart",function(e){a||!l.onCompositionStart||l.$readOnly||((a={}).canUndo=l.session.$undoManager,l.onCompositionStart(),setTimeout(S,0),l.on("mousedown",C),a.canUndo&&!l.selection.isEmpty()&&(l.insert(""),l.session.markUndoGroup(),l.selection.clearSelection()),l.session.markUndoGroup())}),M.addListener(c,"compositionupdate",function(){x.schedule()}),M.addListener(c,"keyup",function(){x.schedule()}),M.addListener(c,"keydown",function(){x.schedule()}),M.addListener(c,"compositionend",C),this.getElement=function(){return c},this.setReadOnly=function(e){c.readOnly=e},this.onContextMenu=function(e){$=!0,n(l.selection.isEmpty()),l._emit("nativecontextmenu",{target:l,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,t){u=u||c.style.cssText,c.style.cssText=(t?"z-index:100000;":"")+"height:"+c.style.height+";"+(T.isIE?"opacity:0.1;":"");function i(e){c.style.left=e.clientX-r-2+"px",c.style.top=Math.min(e.clientY-o-2,a)+"px"}var n=l.container.getBoundingClientRect(),s=_.computedStyle(l.container),o=n.top+(parseInt(s.borderTopWidth)||0),r=n.left+(parseInt(n.borderLeftWidth)||0),a=n.bottom-o-c.clientHeight-2;i(e),"mousedown"==e.type&&(l.renderer.$keepTextAreaAtCursor&&(l.renderer.$keepTextAreaAtCursor=null),clearTimeout(k),T.isWin&&M.capture(l.container,i,h))},this.onContextMenuClose=h;function A(e){l.textInput.onContextMenu(e),h()}var k;if(M.addListener(c,"mouseup",A),M.addListener(c,"mousedown",function(e){e.preventDefault(),h()}),M.addListener(l.renderer.scroller,"contextmenu",A),M.addListener(c,"contextmenu",A),T.isIOS){var L=null,R=!1;e.addEventListener("keydown",function(e){L&&clearTimeout(L),R=!0}),e.addEventListener("keyup",function(e){L=setTimeout(function(){R=!1},100)});var E=function(e){if(document.activeElement===c&&!R){if(r)return setTimeout(function(){r=!1},100);var t=c.selectionStart,i=c.selectionEnd;if(c.setSelectionRange(4,5),t==i)switch(t){case 0:l.onCommandKey(null,0,F.up);break;case 1:l.onCommandKey(null,0,F.home);break;case 2:l.onCommandKey(null,I.option,F.left);break;case 4:l.onCommandKey(null,0,F.left);break;case 5:l.onCommandKey(null,0,F.right);break;case 7:l.onCommandKey(null,I.option,F.right);break;case 8:l.onCommandKey(null,0,F.end);break;case 9:l.onCommandKey(null,0,F.down)}else{switch(i){case 6:l.onCommandKey(null,I.shift,F.right);break;case 7:l.onCommandKey(null,I.shift|I.option,F.right);break;case 8:l.onCommandKey(null,I.shift,F.end);break;case 9:l.onCommandKey(null,I.shift,F.down)}switch(t){case 0:l.onCommandKey(null,I.shift,F.up);break;case 1:l.onCommandKey(null,I.shift,F.home);break;case 2:l.onCommandKey(null,I.shift|I.option,F.left);break;case 3:l.onCommandKey(null,I.shift,F.left)}}}};document.addEventListener("selectionchange",E),l.on("destroy",function(){document.removeEventListener("selectionchange",E)})}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/keyboard/textinput_ios"],function(e,t,i){"use strict";var T=e("../lib/event"),_=e("../lib/useragent"),O=e("../lib/dom"),F=e("../lib/lang"),I=_.isChrome<18,W=_.isIE,B=63<_.isChrome,D=e("./textinput_ios").TextInput;t.TextInput=function(e,l){function n(e){if(e=!g&&e,!a){if(a=!0,v)var t=0,i=e?0:c.value.length-1;else t=e?2:1,i=2;try{c.setSelectionRange(t,i)}catch(e){}a=!1}}function s(){a||(c.value=t,_.isWebKit&&p.schedule())}function h(){clearTimeout(M),M=setTimeout(function(){u&&(c.style.cssText=u,u=""),null==l.renderer.$keepTextAreaAtCursor&&(l.renderer.$keepTextAreaAtCursor=!0,l.renderer.$moveTextAreaToCursor())},0)}if(_.isIOS)return D.call(this,e,l);var c=O.createElement("textarea");c.className="ace_text-input",c.setAttribute("wrap","off"),c.setAttribute("autocorrect","off"),c.setAttribute("autocapitalize","off"),c.setAttribute("spellcheck",!1),c.style.opacity="0",e.insertBefore(c,e.firstChild);var t=_.isIE?"":"\u2028\u2028",o=_.isIE?/\x01/g:/\u2028/g,r=!1,i=!1,a=!1,u="",d=!0,g=!1;try{var f=document.activeElement===c}catch(e){}T.addListener(c,"blur",function(e){l.onBlur(e),f=!1}),T.addListener(c,"focus",function(e){f=!0,l.onFocus(e),n()}),this.$focusScroll=!1,this.focus=function(){if(u||B||"browser"==this.$focusScroll)return c.focus({preventScroll:!0});var e=c.style.top;c.style.position="fixed",c.style.top="0px";var t=0!=c.getBoundingClientRect().top,i=[];if(t)for(var n=c.parentElement;n;)i.push(n),n.setAttribute("ace_nocontext",!0),n=n.parentElement;c.focus({preventScroll:!0}),t&&i.forEach(function(e){e.removeAttribute("ace_nocontext")}),setTimeout(function(){c.style.position="","0px"==c.style.top&&(c.style.top=e)},0)},this.blur=function(){c.blur()},this.isFocused=function(){return f};var m=F.delayedCall(function(){f&&n(d)}),p=F.delayedCall(function(){a||(c.value=t,f&&n())});_.isWebKit||l.addEventListener("changeSelection",function(){l.selection.isEmpty()!=d&&(d=!d,m.schedule())}),s(),f&&l.onFocus();var v=null;this.setInputHandler=function(e){v=e};function w(e){v&&(e=v(e),v=null),i?(n(),e&&l.onPaste(e),i=!1):e==t.charAt(0)?x?l.execCommand("del",{source:"ace"}):l.execCommand("backspace",{source:"ace"}):(e.substring(0,2)==t?e=e.substr(2):e.charAt(0)==t.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==t.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==t.charAt(0)&&(e=e.slice(0,-1)),e&&l.onTextInput(e)),x=x&&!1}function b(e){if(!a){var t=c.value;w(t),s()}}function $(e,t){var i=l.getCopyText();if(!i)return T.preventDefault(e);A(e,i)?(t?l.onCut():l.onCopy(),T.preventDefault(e)):(r=!0,c.value=i,c.select(),setTimeout(function(){r=!1,s(),n(),t?l.onCut():l.onCopy()}))}function y(e){$(e,!0)}function S(e){$(e,!1)}function C(e){var t=A(e);"string"==typeof t?(t&&l.onPaste(t,e),_.isIE&&setTimeout(n),T.preventDefault(e)):(c.value="",i=!0)}var x=!(this.getInputHandler=function(){return v}),A=function(e,t,i){var n=e.clipboardData||window.clipboardData;if(n&&!I){var s=W||i?"Text":"text/plain";try{return t?!1!==n.setData(s,t):n.getData(s)}catch(e){if(!i)return A(e,t,!0)}}};T.addCommandKeyListener(c,l.onCommandKey.bind(l)),T.addListener(c,"select",function(e){r?r=!1:function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length}(c)?(l.selectAll(),n()):v&&n(l.selection.isEmpty())}),T.addListener(c,"input",b),T.addListener(c,"cut",y),T.addListener(c,"copy",S),T.addListener(c,"paste",C),"oncut"in c&&"oncopy"in c&&"onpaste"in c||T.addListener(e,"keydown",function(e){if((!_.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:S(e);break;case 86:C(e);break;case 88:y(e)}});var k=function(){if(a&&l.onCompositionUpdate&&!l.$readOnly){var e=c.value.replace(o,"");if(a.lastValue!==e&&(l.onCompositionUpdate(e),a.lastValue&&l.undo(),a.canUndo&&(a.lastValue=e),a.lastValue)){var t=l.selection.getRange();l.insert(a.lastValue),l.session.markUndoGroup(),a.range=l.selection.getRange(),l.selection.setRange(t),l.selection.clearSelection()}}},L=function(e){if(l.onCompositionEnd&&!l.$readOnly){var t=a;a=!1;var i=setTimeout(function(){i=null;var e=c.value.replace(o,"");a||(e==t.lastValue?s():!t.lastValue&&e&&(s(),w(e)))});v=function(e){return i&&clearTimeout(i),(e=e.replace(o,""))==t.lastValue?"":(t.lastValue&&i&&l.undo(),e)},l.onCompositionEnd(),l.removeListener("mousedown",L),"compositionend"==e.type&&t.range&&l.selection.setRange(t.range),(_.isIE||_.isChrome&&53<=_.isChrome||_.isWebKit&&603<=_.isWebKit)&&b()}},R=F.delayedCall(k,50);T.addListener(c,"compositionstart",function(e){a||!l.onCompositionStart||l.$readOnly||((a={}).canUndo=l.session.$undoManager,l.onCompositionStart(),setTimeout(k,0),l.on("mousedown",L),a.canUndo&&!l.selection.isEmpty()&&(l.insert(""),l.session.markUndoGroup(),l.selection.clearSelection()),l.session.markUndoGroup())}),T.addListener(c,"compositionupdate",function(){R.schedule()}),T.addListener(c,"keyup",function(){R.schedule()}),T.addListener(c,"keydown",function(){R.schedule()}),T.addListener(c,"compositionend",L),this.getElement=function(){return c},this.setReadOnly=function(e){c.readOnly=e},this.setCopyWithEmptySelection=function(e){g=e},this.onContextMenu=function(e){x=!0,n(l.selection.isEmpty()),l._emit("nativecontextmenu",{target:l,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,t){u=u||c.style.cssText,c.style.cssText=(t?"z-index:100000;":"")+"height:"+c.style.height+";"+(_.isIE?"opacity:0.1;":"");function i(e){c.style.left=e.clientX-r-2+"px",c.style.top=Math.min(e.clientY-o-2,a)+"px"}var n=l.container.getBoundingClientRect(),s=O.computedStyle(l.container),o=n.top+(parseInt(s.borderTopWidth)||0),r=n.left+(parseInt(n.borderLeftWidth)||0),a=n.bottom-o-c.clientHeight-2;i(e),"mousedown"==e.type&&(l.renderer.$keepTextAreaAtCursor&&(l.renderer.$keepTextAreaAtCursor=null),clearTimeout(M),_.isWin&&T.capture(l.container,i,h))},this.onContextMenuClose=h;function E(e){l.textInput.onContextMenu(e),h()}var M;T.addListener(c,"mouseup",E),T.addListener(c,"mousedown",function(e){e.preventDefault(),h()}),T.addListener(l.renderer.scroller,"contextmenu",E),T.addListener(c,"contextmenu",E)}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,i){"use strict";function n(t){t.$clickSelection=null;var e=t.editor;e.setDefaultHandler("mousedown",this.onMouseDown.bind(t)),e.setDefaultHandler("dblclick",this.onDoubleClick.bind(t)),e.setDefaultHandler("tripleclick",this.onTripleClick.bind(t)),e.setDefaultHandler("quadclick",this.onQuadClick.bind(t)),e.setDefaultHandler("mousewheel",this.onMouseWheel.bind(t)),e.setDefaultHandler("touchmove",this.onTouchMove.bind(t));["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach(function(e){t[e]=this[e]},this),t.selectByLines=this.extendSelectionBy.bind(t,"getLineRange"),t.selectByWords=this.extendSelectionBy.bind(t,"getWordRange")}function l(e,t){if(e.start.row==e.end.row)var i=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)i=2*t.row-e.start.row-e.end.row;else var i=t.column-4;return i<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}e("../lib/dom"),e("../lib/event");var o=e("../lib/useragent");(function(){this.onMouseDown=function(e){var t=e.inSelection(),i=e.getDocumentPosition();this.mousedownEvent=e;var n=this.editor,s=e.getButton();return 0!==s?(!n.getSelectionRange().isEmpty()&&1!=s||n.selection.moveToPosition(i),void(2==s&&(n.textInput.onContextMenu(e.domEvent),o.isMozilla||e.preventDefault()))):(this.mousedownEvent.time=Date.now(),!t||n.isFocused()||(n.focus(),!this.$focusTimeout||this.$clickSelection||n.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(i,1<e.domEvent._clicks),e.preventDefault()):(this.setState("focusWait"),void this.captureMouse(e)))},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var i=this.editor;this.mousedownEvent.getShiftKey()?i.selection.selectToPosition(e):t||i.selection.moveToPosition(e),t||this.select(),i.renderer.scroller.setCapture&&i.renderer.scroller.setCapture(),i.setStyle("ace_selecting"),this.setState("select")},this.select=function(){var e,t=this.editor,i=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var n=this.$clickSelection.comparePoint(i);if(-1==n)e=this.$clickSelection.end;else if(1==n)e=this.$clickSelection.start;else{var s=l(this.$clickSelection,i);i=s.cursor,e=s.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(i),t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,i=this.editor,n=i.renderer.screenToTextCoordinates(this.x,this.y),s=i.selection[e](n.row,n.column);if(this.$clickSelection){var o=this.$clickSelection.comparePoint(s.start),r=this.$clickSelection.comparePoint(s.end);if(-1==o&&r<=0)t=this.$clickSelection.end,s.end.row==n.row&&s.end.column==n.column||(n=s.start);else if(1==r&&0<=o)t=this.$clickSelection.start,s.start.row==n.row&&s.start.column==n.column||(n=s.end);else if(-1==o&&1==r)n=s.end,t=s.start;else{var a=l(this.$clickSelection,n);n=a.cursor,t=a.anchor}i.selection.setSelectionAnchor(t.row,t.column)}i.selection.selectToPosition(n),i.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=function(e,t,i,n){return Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))}(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(0<e||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),i=this.editor,n=i.session.getBracketRange(t);n?(n.isEmpty()&&(n.start.column--,n.end.column++),this.setState("select")):(n=i.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=n,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),i=this.editor;this.setState("selectByLines");var n=i.getSelectionRange();n.isMultiLine()&&n.contains(t.row,t.column)?(this.$clickSelection=i.selection.getLineRange(n.start.row),this.$clickSelection.end=i.selection.getLineRange(n.end.row).end):this.$clickSelection=i.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var i=this.$lastScroll,n=e.domEvent.timeStamp,s=n-i.t,o=s?e.wheelX/s:i.vx,r=s?e.wheelY/s:i.vy;s<250&&(o=(o+i.vx)/2,r=(r+i.vy)/2);var a=Math.abs(o/r),l=!1;if(1<=a&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l)i.allowed=n;else if(n-i.allowed<250){var h=Math.abs(o)<=1.1*Math.abs(i.vx)&&Math.abs(r)<=1.1*Math.abs(i.vy);i.allowed=h?(l=!0,n):0}return i.t=n,i.vx=o,i.vy=r,l?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}},this.onTouchMove=function(e){this.editor._emit("mousewheel",e)}}).call(n.prototype),t.DefaultHandlers=n}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,i){"use strict";function n(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}e("./lib/oop");var s=e("./lib/dom");(function(){this.$init=function(){return this.$element=s.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){s.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){s.addCssClass(this.getElement(),e)},this.show=function(e,t,i){null!=e&&this.setText(e),null!=t&&null!=i&&this.setPosition(t,i),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(n.prototype),t.Tooltip=n}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,i){"use strict";function n(e){r.call(this,e)}var s=e("../lib/dom"),o=e("../lib/oop"),f=e("../lib/event"),r=e("../tooltip").Tooltip;o.inherits(n,r),function(){this.setPosition=function(e,t){var i=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,s=this.getWidth(),o=this.getHeight();i<(e+=15)+s&&(e-=e+s-i),n<(t+=15)+o&&(t-=20+o),r.prototype.setPosition.call(this,e,t)}}.call(n.prototype),t.GutterHandler=function(r){function a(){i=i&&clearTimeout(i),c&&(g.hide(),c=null,u._signal("hideGutterTooltip",g),u.removeEventListener("mousewheel",a))}function l(e){g.setPosition(e.x,e.y)}var i,h,c,u=r.editor,d=u.renderer.$gutterLayer,g=new n(u.container);r.editor.setDefaultHandler("guttermousedown",function(e){if(u.isFocused()&&0==e.getButton()&&"foldWidgets"!=d.getRegion(e)){var t=e.getDocumentPosition().row,i=u.session.selection;if(e.getShiftKey())i.selectTo(t,0);else{if(2==e.domEvent.detail)return u.selectAll(),e.preventDefault();r.$clickSelection=u.selection.getLineRange(t)}return r.setState("selectByLines"),r.captureMouse(e),e.preventDefault()}}),r.editor.setDefaultHandler("guttermousemove",function(e){var t=e.domEvent.target||e.domEvent.srcElement;if(s.hasCssClass(t,"ace_fold-widget"))return a();c&&r.$tooltipFollowsMouse&&l(e),h=e,i=i||setTimeout(function(){i=null,h&&!r.isMousePressed?function(){var e=h.getDocumentPosition().row,t=d.$annotations[e];if(!t)return a();if(e==u.session.getLength()){var i=u.renderer.pixelToScreenCoordinates(0,h.y).row,n=h.$pos;if(i>u.session.documentToScreenRow(n.row,n.column))return a()}if(c!=t)if(c=t.text.join("<br/>"),g.setHtml(c),g.show(),u._signal("showGutterTooltip",g),u.on("mousewheel",a),r.$tooltipFollowsMouse)l(h);else{var s=h.domEvent.target.getBoundingClientRect(),o=g.getElement().style;o.left=s.right+"px",o.top=s.bottom+"px"}}():a()},50)}),f.addListener(u.renderer.$gutter,"mouseout",function(e){h=null,c&&!i&&(i=setTimeout(function(){i=null,a()},50))}),u.on("changeSession",a)}}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,i){"use strict";var n=e("../lib/event"),s=e("../lib/useragent"),o=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){n.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){n.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY)),this.$pos},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},this.getButton=function(){return n.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=s.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(o.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,i){"use strict";function n(t){function e(){var e=u;(function(e,t){var i=Date.now(),n=!t||e.row!=t.row,s=!t||e.column!=t.column;!w||n||s?(g.moveCursorToPosition(e),w=i,b={x:f,y:m}):5<C(b.x,b.y,f,m)?w=null:200<=i-w&&(g.renderer.scrollCursorIntoView(),w=null)})(u=g.renderer.screenToTextCoordinates(f,m),e),function(e,t){var i=Date.now(),n=g.renderer.layerConfig.lineHeight,s=g.renderer.layerConfig.characterWidth,o=g.renderer.scroller.getBoundingClientRect(),r={x:{left:f-o.left,right:o.right-f},y:{top:m-o.top,bottom:o.bottom-m}},a=Math.min(r.x.left,r.x.right),l=Math.min(r.y.top,r.y.bottom),h={row:e.row,column:e.column};a/s<=2&&(h.column+=r.x.left<r.x.right?-3:2),l/n<=1&&(h.row+=r.y.top<r.y.bottom?-1:1);var c=e.row!=h.row,u=e.column!=h.column,d=!t||e.row!=t.row;c||u&&!d?v?200<=i-v&&g.renderer.scrollCursorIntoView(h):v=i:v=null}(u,e)}function i(){c=g.selection.toOrientedRange(),l=g.session.addMarker(c,"ace_selection",g.getSelectionStyle()),g.clearSelection(),g.isFocused()&&g.renderer.$cursorLayer.setBlinking(!1),clearInterval(h),e(),h=setInterval(e,20),y=0,A.addListener(document,"mousemove",s)}function n(){clearInterval(h),g.session.removeMarker(l),l=null,g.selection.fromOrientedRange(c),g.isFocused()&&!p&&g.renderer.$cursorLayer.setBlinking(!g.getReadOnly()),y=0,w=v=u=c=null,A.removeListener(document,"mousemove",s)}function s(){null==S&&(S=setTimeout(function(){null!=S&&l&&n()},20))}function o(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return"text/plain"==e||"Text"==e})}function r(e){var t=["copy","copymove","all","uninitialized"],i=k.isMac?e.altKey:e.ctrlKey,n="uninitialized";try{n=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var s="none";return i&&0<=t.indexOf(n)?s="copy":0<=["move","copymove","linkmove","all","uninitialized"].indexOf(n)?s="move":0<=t.indexOf(n)&&(s="copy"),s}var g=t.editor,a=x.createElement("img");a.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",k.isOpera&&(a.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach(function(e){t[e]=this[e]},this),g.addEventListener("mousedown",this.onMouseDown.bind(t));var l,f,m,h,c,u,d,p,v,w,b,$=g.container,y=0;this.onDragStart=function(e){if(this.cancelDrag||!$.draggable){var t=this;return setTimeout(function(){t.startSelect(),t.captureMouse(e)},0),e.preventDefault()}c=g.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=g.getReadOnly()?"copy":"copyMove",k.isOpera&&(g.container.appendChild(a),a.scrollTop=0),i.setDragImage&&i.setDragImage(a,0,0),k.isOpera&&g.container.removeChild(a),i.clearData(),i.setData("Text",g.session.getTextRange()),p=!0,this.setState("drag")},this.onDragEnd=function(e){if($.draggable=!1,p=!1,this.setState(null),!g.getReadOnly()){var t=e.dataTransfer.dropEffect;d||"move"!=t||g.session.remove(g.getSelectionRange()),g.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(!g.getReadOnly()&&o(e.dataTransfer))return f=e.clientX,m=e.clientY,l||i(),y++,e.dataTransfer.dropEffect=d=r(e),A.preventDefault(e)},this.onDragOver=function(e){if(!g.getReadOnly()&&o(e.dataTransfer))return f=e.clientX,m=e.clientY,l||(i(),y++),null!==S&&(S=null),e.dataTransfer.dropEffect=d=r(e),A.preventDefault(e)},this.onDragLeave=function(e){if(--y<=0&&l)return n(),d=null,A.preventDefault(e)},this.onDrop=function(e){if(u){var t=e.dataTransfer;if(p)switch(d){case"move":c=c.contains(u.row,u.column)?{start:u,end:u}:g.moveText(c,u);break;case"copy":c=g.moveText(c,u,!0)}else{var i=t.getData("Text");c={start:u,end:g.session.insert(u,i)},g.focus(),d=null}return n(),A.preventDefault(e)}},A.addListener($,"dragstart",this.onDragStart.bind(t)),A.addListener($,"dragend",this.onDragEnd.bind(t)),A.addListener($,"dragenter",this.onDragEnter.bind(t)),A.addListener($,"dragover",this.onDragOver.bind(t)),A.addListener($,"dragleave",this.onDragLeave.bind(t)),A.addListener($,"drop",this.onDrop.bind(t));var S=null}function C(e,t,i,n){return Math.sqrt(Math.pow(i-e,2)+Math.pow(n-t,2))}var x=e("../lib/dom"),A=e("../lib/event"),k=e("../lib/useragent");(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var t=k.isWin?"default":"move";e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;k.isIE&&"dragReady"==this.state&&3<C(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)&&t.dragDrop();"dragWait"===this.state&&0<C(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,i=e.inSelection(),n=e.getButton();if(1===(e.domEvent.detail||1)&&0===n&&i){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var s=e.domEvent.target||e.domEvent.srcElement;if("unselectable"in s&&(s.unselectable="on"),t.getDragDelay()){if(k.isWebKit)this.cancelDrag=!0,t.container.draggable=!0;this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(n.prototype),t.DragdropHandler=n}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,i){"use strict";var s=e("./dom");t.get=function(e,t){var i=new XMLHttpRequest;i.open("GET",e,!0),i.onreadystatechange=function(){4===i.readyState&&t(i.responseText)},i.send(null)},t.loadScript=function(e,i){var t=s.getDocumentHead(),n=document.createElement("script");n.src=e,t.appendChild(n),n.onload=n.onreadystatechange=function(e,t){!t&&n.readyState&&"loaded"!=n.readyState&&"complete"!=n.readyState||(n=n.onload=n.onreadystatechange=null,t||i())}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,i){"use strict";function o(){this.propagationStopped=!0}function r(){this.defaultPrevented=!0}var n={};n._emit=n._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var i=this._eventRegistry[e]||[],n=this._defaultHandlers[e];if(i.length||n){"object"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=o),t.preventDefault||(t.preventDefault=r),i=i.slice();for(var s=0;s<i.length&&(i[s](t,this),!t.propagationStopped);s++);return n&&!t.defaultPrevented?n(t,this):void 0}},n._signal=function(e,t){var i=(this._eventRegistry||{})[e];if(i){i=i.slice();for(var n=0;n<i.length;n++)i[n](t,this)}},n.once=function(t,i){var n=this;i&&this.addEventListener(t,function e(){n.removeEventListener(t,e),i.apply(null,arguments)})},n.setDefaultHandler=function(e,t){var i=this._defaultHandlers;if((i=i||(this._defaultHandlers={_disabled_:{}}))[e]){var n=i[e],s=i._disabled_[e];s||(i._disabled_[e]=s=[]),s.push(n);var o=s.indexOf(t);-1!=o&&s.splice(o,1)}i[e]=t},n.removeDefaultHandler=function(e,t){var i=this._defaultHandlers;if(i){var n=i._disabled_[e];if(i[e]==t){i[e];n&&this.setDefaultHandler(e,n.pop())}else if(n){var s=n.indexOf(t);-1!=s&&n.splice(s,1)}}},n.on=n.addEventListener=function(e,t,i){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];return-1==(n=n||(this._eventRegistry[e]=[])).indexOf(t)&&n[i?"unshift":"push"](t),t},n.off=n.removeListener=n.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[e];if(i){var n=i.indexOf(t);-1!==n&&i.splice(n,1)}},n.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=n}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,i){function n(e){"undefined"!=typeof console&&console.warn&&console.warn.apply(console,arguments)}function s(e,t){var i=new Error(e);i.data=t,"object"==typeof console&&console.error&&console.error(i),setTimeout(function(){throw i})}function o(){this.$defaultOptions={}}var r=e("./oop"),a=e("./event_emitter").EventEmitter,l={setOptions:function(t){Object.keys(t).forEach(function(e){this.setOption(e,t[e])},this)},getOptions:function(e){var t={};if(e)Array.isArray(e)||(t=e,e=Object.keys(t));else{var i=this.$options;e=Object.keys(i).filter(function(e){return!i[e].hidden})}return e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]!==t){var i=this.$options[e];return i?i.forwardTo?this[i.forwardTo]&&this[i.forwardTo].setOption(e,t):(i.handlesSet||(this["$"+e]=t),void(i&&i.set&&i.set.call(this,t))):n('misspelled option "'+e+'"')}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:n('misspelled option "'+e+'"')}};(function(){r.implement(this,a),this.defineOptions=function(i,e,n){return i.$options||(this.$defaultOptions[e]=i.$options={}),Object.keys(n).forEach(function(e){var t=n[e];"string"==typeof t&&(t={forwardTo:t}),t.name||(t.name=e),"initialValue"in(i.$options[t.name]=t)&&(i["$"+t.name]=t.initialValue)}),r.implement(i,l),this},this.resetOptions=function(i){Object.keys(i.$options).forEach(function(e){var t=i.$options[e];"value"in t&&i.setOption(e,t.value)})},this.setDefaultValue=function(e,t,i){var n=this.$defaultOptions[e]||(this.$defaultOptions[e]={});n[t]&&(n.forwardTo?this.setDefaultValue(n.forwardTo,t,i):n[t].value=i)},this.setDefaultValues=function(t,i){Object.keys(i).forEach(function(e){this.setDefaultValue(t,e,i[e])},this)},this.warn=n,this.reportError=s}).call(o.prototype),t.AppConfig=o}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(f,m,p){var e=f("./lib/lang"),o=(f("./lib/oop"),f("./lib/net")),t=f("./lib/app_config").AppConfig;p.exports=m=new t;var v=function(){return this||"undefined"!=typeof window&&window}(),w={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};m.get=function(e){if(!w.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return w[e]},m.set=function(e,t){if(!w.hasOwnProperty(e))throw new Error("Unknown config key: "+e);w[e]=t},m.all=function(){return e.copyObject(w)},m.moduleUrl=function(e,t){if(w.$moduleUrls[e])return w.$moduleUrls[e];var i=e.split("/"),n="snippets"==(t=t||i[i.length-2]||"")?"/":"-",s=i[i.length-1];if("worker"==t&&"-"==n){var o=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");s=s.replace(o,"")}(!s||s==t)&&1<i.length&&(s=i[i.length-2]);var r=w[t+"Path"];return null==r?r=w.basePath:"/"==n&&(t=n=""),r&&"/"!=r.slice(-1)&&(r+="/"),r+t+n+s+this.get("suffix")},m.setModuleUrl=function(e,t){return w.$moduleUrls[e]=t},m.$loading={},m.loadModule=function(i,e){var t,n;Array.isArray(i)&&(n=i[0],i=i[1]);try{t=f(i)}catch(e){}if(t&&!m.$loading[i])return e&&e(t);if(m.$loading[i]||(m.$loading[i]=[]),m.$loading[i].push(e),!(1<m.$loading[i].length)){function s(){f([i],function(t){m._emit("load.module",{name:i,module:t});var e=m.$loading[i];m.$loading[i]=null,e.forEach(function(e){e&&e(t)})})}if(!m.get("packaged"))return s();o.loadScript(m.moduleUrl(i,n),s)}},m.init=function(e){if(v&&v.document){w.packaged=e||f.packaged||p.packaged||v.define&&define.packaged;for(var t={},i="",n=document.currentScript||document._currentScript,s=(n&&n.ownerDocument||document).getElementsByTagName("script"),o=0;o<s.length;o++){var r=s[o],a=r.src||r.getAttribute("src");if(a){for(var l=r.attributes,h=0,c=l.length;h<c;h++){var u=l[h];0===u.name.indexOf("data-ace-")&&(t[u.name.replace(/^data-ace-/,"").replace(/-(.)/g,function(e,t){return t.toUpperCase()})]=u.value)}var d=a.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);d&&(i=d[1])}}for(var g in i&&(t.base=t.base||i,t.packaged=!0),t.basePath=t.base,t.workerPath=t.workerPath||t.base,t.modePath=t.modePath||t.base,t.themePath=t.themePath||t.base,delete t.base,t)void 0!==t[g]&&m.set(g,t[g])}}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,i){"use strict";function n(s){var o=this;function e(e){document.hasFocus&&document.hasFocus()&&(s.isFocused()||document.activeElement!=(s.textInput&&s.textInput.getElement()))||window.focus(),s.focus()}this.editor=s,new r(this),new a(this),new l(this);var t=s.renderer.getMouseEventTarget();c.addListener(t,"click",this.onMouseEvent.bind(this,"click")),c.addListener(t,"mousemove",this.onMouseMove.bind(this,"mousemove")),c.addMultiMouseDownListener([t,s.renderer.scrollBarV&&s.renderer.scrollBarV.inner,s.renderer.scrollBarH&&s.renderer.scrollBarH.inner,s.textInput&&s.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),c.addMouseWheelListener(s.container,this.onMouseWheel.bind(this,"mousewheel")),c.addTouchMoveListener(s.container,this.onTouchMove.bind(this,"touchmove"));var i=s.renderer.$gutter;c.addListener(i,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),c.addListener(i,"click",this.onMouseEvent.bind(this,"gutterclick")),c.addListener(i,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),c.addListener(i,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),c.addListener(t,"mousedown",e),c.addListener(i,"mousedown",e),u.isIE&&s.renderer.scrollBarV&&(c.addListener(s.renderer.scrollBarV.element,"mousedown",e),c.addListener(s.renderer.scrollBarH.element,"mousedown",e)),s.on("mousemove",function(e){if(!o.state&&!o.$dragDelay&&o.$dragEnabled){var t=s.renderer.screenToTextCoordinates(e.x,e.y),i=s.session.selection.getRange(),n=s.renderer;!i.isEmpty()&&i.insideStart(t.row,t.column)?n.setCursorStyle("default"):n.setCursorStyle("")}})}var c=e("../lib/event"),u=e("../lib/useragent"),r=e("./default_handlers").DefaultHandlers,a=e("./default_gutter_handler").GutterHandler,d=e("./mouse_event").MouseEvent,l=e("./dragdrop_handler").DragdropHandler,s=e("../config");(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new d(t,this.editor))},this.onMouseMove=function(e,t){var i=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;i&&i.length&&this.editor._emit(e,new d(t,this.editor))},this.onMouseWheel=function(e,t){var i=new d(t,this.editor);i.speed=2*this.$scrollSpeed,i.wheelX=t.wheelX,i.wheelY=t.wheelY,this.editor._emit(e,i)},this.onTouchMove=function(e,t){var i=new d(t,this.editor);i.speed=1,i.wheelX=t.wheelX,i.wheelY=t.wheelY,this.editor._emit(e,i)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var i=this.editor,n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);function s(e){if(e)return u.isWebKit&&!e.which&&r.releaseMouse?r.releaseMouse():(r.x=e.clientX,r.y=e.clientY,t&&t(e),r.mouseEvent=new d(e,r.editor),void(r.$mouseMoved=!0))}function o(e){i.off("beforeEndOperation",l),clearInterval(h),a(),r[r.state+"End"]&&r[r.state+"End"](e),r.state="",null==n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),r.isMousePressed=!1,r.$onCaptureMouseMove=r.releaseMouse=null,e&&r.onMouseEvent("mouseup",e)}var r=this,a=function(){r[r.state]&&r[r.state](),r.$mouseMoved=!1};if(u.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout(function(){o(e)});var l=function(e){i.curOp.command.name&&i.curOp.selectionChanged&&(r[r.state+"End"]&&r[r.state+"End"](),r.state="",r.releaseMouse())};i.on("beforeEndOperation",l),r.$onCaptureMouseMove=s,r.releaseMouse=c.capture(this.editor.container,s,o);var h=setInterval(a,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var t=function(e){e&&e.domEvent&&"contextmenu"!=e.domEvent.type||(this.editor.off("nativecontextmenu",t),e&&e.domEvent&&c.stopEvent(e.domEvent))}.bind(this);setTimeout(t,10),this.editor.on("nativecontextmenu",t)}}).call(n.prototype),s.defineOptions(n.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:u.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=n}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(e,t,i){"use strict";var o=e("../lib/dom");t.FoldHandler=function(r){r.on("click",function(e){var t=e.getDocumentPosition(),i=r.session,n=i.getFoldAt(t.row,t.column,1);n&&(e.getAccelKey()?i.removeFold(n):i.expandFold(n),e.stop());var s=e.domEvent&&e.domEvent.target;s&&o.hasCssClass(s,"ace_inline_button")&&o.hasCssClass(s,"ace_toggle_wrap")&&(i.setOption("wrap",!0),r.renderer.scrollCursorIntoView())}),r.on("gutterclick",function(e){if("foldWidgets"==r.renderer.$gutterLayer.getRegion(e)){var t=e.getDocumentPosition().row,i=r.session;i.foldWidgets&&i.foldWidgets[t]&&r.session.onFoldWidgetClick(t,e),r.isFocused()||r.focus(),e.stop()}}),r.on("gutterdblclick",function(e){if("foldWidgets"==r.renderer.$gutterLayer.getRegion(e)){var t=e.getDocumentPosition().row,i=r.session,n=i.getParentFoldRangeData(t,!0),s=n.range||n.firstRange;if(s){t=s.start.row;var o=i.getFoldAt(t,i.getLine(t).length,1);o?i.removeFold(o):(i.addFold("...",s),r.renderer.scrollCursorIntoView({row:s.start.row,column:0}))}e.stop()}})}}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,i){"use strict";function n(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)}var s=e("../lib/keys"),l=e("../lib/event");(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){"function"!=typeof e||e.handleKeyboard||(e.handleKeyboard=e);var i=this.$handlers.indexOf(e);-1!=i&&this.$handlers.splice(i,1),null==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==i&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return-1!=t&&(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var t=this.$data,i=t.editor;return this.$handlers.map(function(e){return e.getStatusText&&e.getStatusText(i,t)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,i,n){for(var s,o=!1,r=this.$editor.commands,a=this.$handlers.length;a--&&!((s=this.$handlers[a].handleKeyboard(this.$data,e,t,i,n))&&s.command&&((o="null"==s.command||r.exec(s.command,this.$editor,s.args,n))&&n&&-1!=e&&1!=s.passEvent&&1!=s.command.passEvent&&l.stopEvent(n),o)););return o||-1!=e||(s={command:"insertstring"},o=r.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,i){var n=s.keyCodeToString(i);this.$callKeyboardHandlers(t,n,i,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(n.prototype),t.KeyBinding=n}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(e,l,t){"use strict";function h(e,t,i){if(!(w<e))if(1!=e||1!=v||$)for(var n,s,o,r,a=i.length,l=0;l<a;){if(t[l]>=e){for(n=l+1;n<a&&t[n]>=e;)n++;for(s=l,o=n-1;s<o;s++,o--)r=i[s],i[s]=i[o],i[o]=r;l=n}l++}else i.reverse()}function m(e,t,i,n){var s,o,r,a,l=t[n];switch(l){case u:case d:b=!1;case x:case f:return l;case g:return b?f:g;case L:return b=!0,d;case R:return x;case E:return n<1||n+1>=t.length||(s=i[n-1])!=g&&s!=f||(o=t[n+1])!=g&&o!=f?x:(b&&(o=f),o==s?o:x);case M:return(s=0<n?i[n-1]:A)==g&&n+1<t.length&&t[n+1]==g?g:x;case T:if(0<n&&i[n-1]==g)return g;if(b)return x;for(a=n+1,r=t.length;a<r&&t[a]==T;)a++;return a<r&&t[a]==g?g:x;case _:for(r=t.length,a=n+1;a<r&&t[a]==_;)a++;if(a<r){var h=e[n],c=1425<=h&&h<=2303||64286==h;if(s=t[a],c&&(s==d||s==L))return d}return n<1||(s=t[n-1])==A?x:i[n-1];case A:return $=!(b=!1),v;case k:return y=!0,x;case O:case F:case W:case B:case I:b=!1;case D:return x}}function p(e){var t=e.charCodeAt(0),i=t>>8;return 0==i?191<t?u:n[t]:5==i?/[\u0591-\u05f4]/.test(e)?d:u:6==i?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?_:/[\u0660-\u0669\u066b-\u066c]/.test(e)?f:1642==t?T:/[\u06f0-\u06f9]/.test(e)?g:L:32==i&&t<=8287?s[255&t]:254==i&&65136<=t?L:x}var v=0,w=0,b=!1,$=!1,y=!1,S=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],C=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],u=0,d=1,g=2,f=3,x=4,A=5,k=6,L=7,R=8,E=9,M=10,T=11,_=12,O=13,F=14,I=15,W=16,B=17,D=18,n=[D,D,D,D,D,D,D,D,D,k,A,k,R,A,D,D,D,D,D,D,D,D,D,D,D,D,D,D,A,A,A,k,R,x,x,T,T,T,x,x,x,x,x,M,E,M,E,E,g,g,g,g,g,g,g,g,g,g,E,x,x,x,x,x,x,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,x,x,x,x,x,x,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,u,x,x,x,x,D,D,D,D,D,D,A,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,E,x,T,T,T,T,x,x,x,x,u,x,x,D,x,x,T,T,g,g,x,u,x,x,x,g,u,x,x,x,x,x],s=[R,R,R,R,R,R,R,R,R,R,R,D,D,D,u,d,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,R,A,O,F,I,W,B,E,T,T,T,T,T,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,E,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,R];l.L=u,l.R=d,l.EN=g,l.ON_R=3,l.AN=4,l.R_H=5,l.B=6,l.DOT="·",l.doBidiReorder=function(e,t,i){if(e.length<2)return{};var n=e.split(""),s=new Array(n.length),o=new Array(n.length),r=[];v=i?1:0,function(e,t,i,n){var s=v?C:S,o=null,r=null,a=null,l=0,h=null,c=-1,u=null,d=null,g=[];if(!n)for(u=0,n=[];u<i;u++)n[u]=p(e[u]);for(w=v,y=$=b=!1,d=0;d<i;d++){if(o=l,g[d]=r=m(e,n,g,d),h=240&(l=s[o][r]),l&=15,t[d]=a=s[l][5],0<h)if(16==h){for(u=c;u<d;u++)t[u]=1;c=-1}else c=-1;if(s[l][6])-1==c&&(c=d);else if(-1<c){for(u=c;u<d;u++)t[u]=a;c=-1}n[d]==A&&(t[d]=0),w|=a}if(y)for(u=0;u<i;u++)if(n[u]==k){t[u]=v;for(var f=u-1;0<=f&&n[f]==R;f--)t[f]=v}}(n,r,n.length,t);for(var a=0;a<s.length;s[a]=a,a++);h(2,r,s),h(1,r,s);for(a=0;a<s.length-1;a++)t[a]===f?r[a]=l.AN:r[a]===d&&(t[a]>L&&t[a]<O||t[a]===x||t[a]===D)?r[a]=l.ON_R:0<a&&"ل"===n[a-1]&&/\u0622|\u0623|\u0625|\u0627/.test(n[a])&&(r[a-1]=r[a]=l.R_H,a++);n[n.length-1]===l.DOT&&(r[n.length-1]=l.B);for(a=0;a<s.length;a++)o[a]=r[s[a]];return{logicalFromVisual:s,bidiLevels:o}},l.hasBidiCharacters=function(e,t){for(var i=!1,n=0;n<e.length;n++)t[n]=p(e.charAt(n)),i||t[n]!=d&&t[n]!=L||(i=!0);return i},l.getVisualFromLogicalIdx=function(e,t){for(var i=0;i<t.logicalFromVisual.length;i++)if(t.logicalFromVisual[i]==e)return i;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang","ace/lib/useragent"],function(e,t,i){"use strict";function n(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=f,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.line="",this.wrapIndent=0,this.isLastRow=!1,this.EOF="¶",this.seenBidi=!1}var f=e("./lib/bidiutil"),r=e("./lib/lang"),s=e("./lib/useragent"),o=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;(function(){this.isBidiRow=function(e,t,i){return!!this.seenBidi&&(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,i),this.updateBidiMap()),this.bidiMap.bidiLevels)},this.onChange=function(e){this.seenBidi?this.currentRow=null:"insert"==e.action&&o.test(e.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var i=this.session.$getRowCacheIndex(t,this.currentRow);0<=i&&(e=this.session.$docRowCache[i])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var i,n=this.session.$getRowCacheIndex(t,this.currentRow);0<this.currentRow-e&&(i=this.session.$getRowCacheIndex(t,this.currentRow-e-1))===n;)n=i,e++;return e},this.updateRowLine=function(e,t){if(void 0===e&&(e=this.getDocumentRow()),this.wrapIndent=0,this.isLastRow=e===this.session.getLength()-1,this.line=this.session.getLine(e),this.session.$useWrapMode){var i=this.session.$wrapData[e];i&&(void 0===t&&(t=this.getSplitIndex()),0<t&&i.length?(this.wrapIndent=i.indent,this.line=t<i.length?this.line.substring(i[t-1],i[i.length-1]):this.line.substring(i[i.length-1])):this.line=this.line.substring(0,i[t]))}var n,s=this.session,o=0;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(e,t){return"\t"===e||s.isFullWidth(e.charCodeAt(0))?(n="\t"===e?s.getScreenTabSize(t+o):2,o+=n-1,r.stringRepeat(f.DOT,n)):e})},this.updateBidiMap=function(){var e=[],t=this.isLastRow?this.EOF:this.EOL,i=this.line+(this.showInvisibles?t:f.DOT);f.hasBidiCharacters(i,e)?this.bidiMap=f.doBidiReorder(i,e,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(e){if(this.seenBidi&&this.characterWidth!==e.$characterSize.width){var t=this.characterWidth=e.$characterSize.width,i=e.$measureCharWidth("ה");this.charWidths[f.L]=this.charWidths[f.EN]=this.charWidths[f.ON_R]=t,this.charWidths[f.R]=this.charWidths[f.AN]=i,this.charWidths[f.R_H]=s.isChrome?i:.45*i,this.charWidths[f.B]=0,this.currentRow=null}},this.getShowInvisibles=function(){return this.showInvisibles},this.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},this.setEolChar=function(e){this.EOL=e},this.setTextDir=function(e){this.isRtlDir=e},this.getPosLeft=function(e){e-=this.wrapIndent;var t=f.getVisualFromLogicalIdx(0<e?e-1:0,this.bidiMap),i=this.bidiMap.bidiLevels,n=0;0===e&&i[t]%2!=0&&t++;for(var s=0;s<t;s++)n+=this.charWidths[i[s]];return 0!==e&&i[t]%2==0&&(n+=this.charWidths[i[t]]),this.wrapIndent&&(n+=this.wrapIndent*this.charWidths[f.L]),n},this.getSelections=function(e,t){for(var i,n,s=this.bidiMap,o=s.bidiLevels,r=this.wrapIndent*this.charWidths[f.L],a=[],l=Math.min(e,t)-this.wrapIndent,h=Math.max(e,t)-this.wrapIndent,c=!1,u=!1,d=0,g=0;g<o.length;g++)n=s.logicalFromVisual[g],i=o[g],(c=l<=n&&n<h)&&!u?d=r:!c&&u&&a.push({left:d,width:r-d}),r+=this.charWidths[i],u=c;return c&&g===o.length&&a.push({left:d,width:r-d}),a},this.offsetToCol=function(e){e=Math.max(e,0);var t=0,i=0,n=this.bidiMap.bidiLevels,s=this.charWidths[n[i]];for(this.wrapIndent&&(e-=this.wrapIndent*this.charWidths[f.L]);t+s/2<e;){if(t+=s,i===n.length-1){s=0;break}s=this.charWidths[n[++i]]}return(0<i&&n[i-1]%2!=0&&n[i]%2==0?(e<t&&i--,this.bidiMap.logicalFromVisual[i]):0<i&&n[i-1]%2==0&&n[i]%2!=0?1+(t<e?this.bidiMap.logicalFromVisual[i]:this.bidiMap.logicalFromVisual[i-1]):this.isRtlDir&&i===n.length-1&&0===s&&n[i-1]%2==0||!this.isRtlDir&&0===i&&n[i]%2!=0?1+this.bidiMap.logicalFromVisual[i]:(0<i&&n[i-1]%2!=0&&0!==s&&i--,this.bidiMap.logicalFromVisual[i]))+this.wrapIndent}}).call(n.prototype),t.BidiHandler=n}),ace.define("ace/range",["require","exports","module"],function(e,t,i){"use strict";function o(e,t,i,n){this.start={row:e,column:t},this.end={row:i,column:n}}(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,i=e.end,n=e.start;return 1==(t=this.compare(i.row,i.column))?1==(t=this.compare(n.row,n.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(n.row,n.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&(!this.isEnd(e,t)&&!this.isStart(e,t))},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:t>this.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var i={row:t+1,column:0};else if(this.end.row<e)i={row:e,column:0};if(this.start.row>t)var n={row:t+1,column:0};else if(this.start.row<e)n={row:e,column:0};return o.fromPoints(n||this.start,i||this.end)},this.extend=function(e,t){var i=this.compare(e,t);if(0==i)return this;if(-1==i)var n={row:e,column:t};else var s={row:e,column:t};return o.fromPoints(n||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return o.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new o(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new o(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),i=e.documentToScreenPosition(this.end);return new o(t.row,t.column,i.row,i.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(o.prototype),o.fromPoints=function(e,t){return new o(e.row,e.column,t.row,t.column)},o.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},o.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=o}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,i){"use strict";function n(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0);var t=this;this.cursor.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),t.$keepDesiredColumnOnChange||e.old.column==e.value.column||(t.$desiredColumn=null)}),this.anchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})}var s=e("./lib/oop"),r=e("./lib/lang"),o=e("./lib/event_emitter").EventEmitter,a=e("./range").Range;(function(){s.implement(this,o),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},this.getAnchor=this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty)this.moveCursorTo(this.lead.row,this.lead.column+e);else{var t=this.getSelectionAnchor(),i=this.getSelectionLead(),n=this.isBackwards();n&&0===t.column||this.setSelectionAnchor(t.row,t.column+e),!n&&0===i.column||this.$moveSelection(function(){this.moveCursorTo(i.row,i.column+e)})}},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?a.fromPoints(t,t):this.isBackwards()?a.fromPoints(t,e):a.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$isEmpty=!1,this.anchor.setPosition(0,0),this.cursor.setPosition(Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var i=t?e.end:e.start,n=t?e.start:e.end;this.$isEmpty=!a.comparePoints(i,n),this.anchor.setPosition(i.row,i.column),this.cursor.setPosition(n.row,n.column),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor)},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(void 0===t){var i=e||this.lead;e=i.row,t=i.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var i,n="number"==typeof e?e:this.lead.row,s=this.session.getFoldLine(n);return i=s?(n=s.start.row,s.end.row):n,!0===t?new a(n,0,i,this.session.getLine(i).length):new a(n,0,i+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,i){var n=e.column,s=e.column+t;return i<0&&(n=e.column-t,s=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(n,s).split(" ").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)0<t.row&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var i=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,i,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-i):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var i=this.session.getTabSize();t=this.lead;this.wouldMoveIntoSoftTab(t,i,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,i):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,i=this.session.documentToScreenRow(e,t),n=this.session.screenToDocumentPosition(i,0),s=this.session.getDisplayLine(e,null,n.row,n.column).match(/^\s*/);s[0].length==t||this.session.$useEmacsStyleLineStart||(n.column+=s[0].length),this.moveCursorToPosition(n)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var i=this.session.getLine(t.row);if(t.column==i.length){var n=i.search(/\s+$/);0<n&&(t.column=n)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,i=this.doc.getLine(e),n=i.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s)this.moveCursorTo(s.end.row,s.end.column);else{if(this.session.nonTokenRe.exec(n)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,n=i.substring(t)),t>=i.length)return this.moveCursorTo(e,i.length),this.moveCursorRight(),void(e<this.doc.getLength()-1&&this.moveCursorWordRight());this.session.tokenRe.exec(n)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)}},this.moveCursorLongWordLeft=function(){var e,t=this.lead.row,i=this.lead.column;if(e=this.session.getFoldAt(t,i,-1))this.moveCursorTo(e.start.row,e.start.column);else{var n=this.session.getFoldStringAt(t,i,-1);null==n&&(n=this.doc.getLine(t).substring(0,i));var s=r.stringReverse(n);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(s)&&(i-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),i<=0)return this.moveCursorTo(t,0),this.moveCursorLeft(),void(0<t&&this.moveCursorWordLeft());this.session.tokenRe.exec(s)&&(i-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,i)}},this.$shortWordEndIndex=function(e){var t,i=0,n=/\s/,s=this.session.tokenRe;if(s.lastIndex=0,this.session.tokenRe.exec(e))i=this.session.tokenRe.lastIndex;else{for(;(t=e[i])&&n.test(t);)i++;if(i<1)for(s.lastIndex=0;(t=e[i])&&!s.test(t);)if(s.lastIndex=0,i++,n.test(t)){if(2<i){i--;break}for(;(t=e[i])&&n.test(t);)i++;if(2<i)break}}return s.lastIndex=0,i},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,i=this.doc.getLine(e),n=i.substring(t),s=this.session.getFoldAt(e,t,1);if(s)return this.moveCursorTo(s.end.row,s.end.column);if(t==i.length){for(var o=this.doc.getLength();e++,n=this.doc.getLine(e),e<o&&/^\s*$/.test(n););/^\s+/.test(n)||(n=""),t=0}var r=this.$shortWordEndIndex(n);this.moveCursorTo(e,t+r)},this.moveCursorShortWordLeft=function(){var e,t=this.lead.row,i=this.lead.column;if(e=this.session.getFoldAt(t,i,-1))return this.moveCursorTo(e.start.row,e.start.column);var n=this.session.getLine(t).substring(0,i);if(0===i){for(;t--,n=this.doc.getLine(t),0<t&&/^\s*$/.test(n););i=n.length,/\s+$/.test(n)||(n="")}var s=r.stringReverse(n),o=this.$shortWordEndIndex(s);return this.moveCursorTo(t,i-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var i,n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(i=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(i/this.session.$bidiHandler.charWidths[0])):i=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var s=this.session.screenToDocumentPosition(n.row+e,n.column,i);0!==e&&0===t&&s.row===this.lead.row&&s.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[s.row]&&(0<s.row||0<e)&&s.row++,this.moveCursorTo(s.row,s.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,i){var n=this.session.getFoldAt(e,t,1);n&&(e=n.start.row,t=n.start.column),this.$keepDesiredColumnOnChange=!0;var s=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(s.charAt(t))&&s.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,i||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,i){var n=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(n.row,n.column,i)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var i=this.getCursor();return a.fromPoints(t,i)}catch(e){return a.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else(e=this.getRange()).isBackwards=this.isBackwards();return e},this.fromJSON=function(e){if(null==e.start){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var i=a.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(i.cursor=i.start),this.addRange(i,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(n.prototype),t.Selection=n}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,i){"use strict";function n(e){for(var t in this.states=e,this.regExps={},this.matchMappings={},this.states){for(var i=this.states[t],n=[],s=0,o=this.matchMappings[t]={defaultToken:"text"},r="g",a=[],l=0;l<i.length;l++){var h=i[l];if(h.defaultToken&&(o.defaultToken=h.defaultToken),h.caseInsensitive&&(r="gi"),null!=h.regex){h.regex instanceof RegExp&&(h.regex=h.regex.toString().slice(1,-1));var c=h.regex,u=new RegExp("(?:("+c+")|(.))").exec("a").length-2;Array.isArray(h.token)?1==h.token.length||1==u?h.token=h.token[0]:u-1!=h.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:h,groupCount:u-1}),h.token=h.token[0]):(h.tokenArray=h.token,h.token=null,h.onMatch=this.$arrayTokens):"function"!=typeof h.token||h.onMatch||(h.onMatch=1<u?this.$applyToken:h.token),1<u&&(c=/\\\d/.test(h.regex)?h.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+s+1)}):(u=1,this.removeCapturingGroups(h.regex)),h.splitRegex||"string"==typeof h.token||a.push(h)),o[s]=l,s+=u,n.push(c),h.onMatch||(h.onMatch=null)}}n.length||(o[0]=0,n.push("$")),a.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,r)},this),this.regExps[t]=new RegExp("("+n.join(")|(")+")|($)",r)}}var s=e("./config"),w=2e3;(function(){this.$setMaxTokenCount=function(e){w=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),i=this.token.apply(this,t);if("string"==typeof i)return[{type:i,value:e}];for(var n=[],s=0,o=i.length;s<o;s++)t[s]&&(n[n.length]={type:i[s],value:t[s]});return n},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";for(var i=[],n=this.tokenArray,s=0,o=n.length;s<o;s++)t[s+1]&&(i[i.length]={type:n[s],value:t[s+1]});return i},this.removeCapturingGroups=function(e){return e.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e})},this.createSplitterRegexp=function(e,t){if(-1!=e.indexOf("(?=")){var r=0,a=!1,l={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,i,n,s,o){return a?a="]"!=s:s?a=!0:n?(r==l.stack&&(l.end=o+1,l.stack=-1),r--):i&&(r++,1!=i.length&&(l.stack=r,l.start=o)),e}),null!=l.end&&/^\)*$/.test(e.substr(l.end))&&(e=e.substring(0,l.start)+e.substr(l.end))}return"^"!=e.charAt(0)&&(e="^"+e),"$"!=e.charAt(e.length-1)&&(e+="$"),new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&"string"!=typeof t)"#tmp"===(t=(i=t.slice(0))[0])&&(i.shift(),t=i.shift());else var i=[];var n=t||"start",s=this.states[n];s||(n="start",s=this.states[n]);for(var o,r=this.matchMappings[n],a=this.regExps[n],l=[],h=a.lastIndex=0,c=0,u={type:null,value:""};o=a.exec(e);){var d=r.defaultToken,g=null,f=o[0],m=a.lastIndex;if(m-f.length>h){var p=e.substring(h,m-f.length);u.type==d?u.value+=p:(u.type&&l.push(u),u={type:d,value:p})}for(var v=0;v<o.length-2;v++)if(void 0!==o[v+1]){d=(g=s[r[v]]).onMatch?g.onMatch(f,n,i,e):g.token,g.next&&(n="string"==typeof g.next?g.next:g.next(n,i),(s=this.states[n])||(this.reportError("state doesn't exist",n),n="start",s=this.states[n]),r=this.matchMappings[n],h=m,(a=this.regExps[n]).lastIndex=m),g.consumeLineEnd&&(h=m);break}if(f)if("string"==typeof d)g&&!1===g.merge||u.type!==d?(u.type&&l.push(u),u={type:d,value:f}):u.value+=f;else if(d){u.type&&l.push(u),u={type:null,value:""};for(v=0;v<d.length;v++)l.push(d[v])}if(h==e.length)break;if(h=m,c++>w){for(c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});h<e.length;)u.type&&l.push(u),u={value:e.substring(h,h+=2e3),type:"overflow"};n="start",i=[];break}}return u.type&&l.push(u),1<i.length&&i[0]!==n&&i.unshift("#tmp",n),{tokens:l,state:i.length?i:n}},this.reportError=s.reportError}).call(n.prototype),t.Tokenizer=n}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,i){"use strict";function n(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}}var h=e("../lib/lang");(function(){this.addRules=function(e,t){if(t)for(var i in e){for(var n=e[i],s=0;s<n.length;s++){var o=n[s];(o.next||o.onMatch)&&("string"==typeof o.next&&0!==o.next.indexOf(t)&&(o.next=t+o.next),o.nextState&&0!==o.nextState.indexOf(t)&&(o.nextState=t+o.nextState))}this.$rules[t+i]=n}else for(var i in e)this.$rules[i]=e[i]},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,i,n,s){var o="function"==typeof e?(new e).getRules():e;if(n)for(var r=0;r<n.length;r++)n[r]=t+n[r];else for(var a in n=[],o)n.push(t+a);if(this.addRules(o,t),i){var l=Array.prototype[s?"push":"unshift"];for(r=0;r<n.length;r++)l.apply(this.$rules[n[r]],h.deepCopy(i))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};function g(e,t){return"start"==e&&!t.length||t.unshift(this.nextState,e),this.nextState}function f(e,t){return t.shift(),t.shift()||"start"}this.normalizeRules=function(){var u=0,d=this.$rules;Object.keys(d).forEach(function e(t){var i=d[t];i.processed=!0;for(var n=0;n<i.length;n++){var s=i[n],o=null;Array.isArray(s)&&(o=s,s={}),!s.regex&&s.start&&(s.regex=s.start,s.next||(s.next=[]),s.next.push({defaultToken:s.token},{token:s.token+".end",regex:s.end||s.start,next:"pop"}),s.token=s.token+".start",s.push=!0);var r=s.next||s.push;if(r&&Array.isArray(r)){var a=s.stateName;a||("string"!=typeof(a=s.token)&&(a=a[0]||""),d[a]&&(a+=u++)),d[a]=r,e(s.next=a)}else"pop"==r&&(s.next=f);if(s.push&&(s.nextState=s.next||s.push,s.next=g,delete s.push),s.rules)for(var l in s.rules)d[l]?d[l].push&&d[l].push.apply(d[l],s.rules[l]):d[l]=s.rules[l];var h="string"==typeof s?s:s.include;if(h&&(o=Array.isArray(h)?h.map(function(e){return d[e]}):d[h]),o){var c=[n,1].concat(o);s.noEscape&&(c=c.filter(function(e){return!e.next})),i.splice.apply(i,c),n--}s.keywordMap&&(s.token=this.createKeywordMapper(s.keywordMap,s.defaultToken||"text",s.caseInsensitive),delete s.defaultToken)}},this)},this.createKeywordMapper=function(s,t,o,r){var a=Object.create(null);return Object.keys(s).forEach(function(e){var t=s[e];o&&(t=t.toLowerCase());for(var i=t.split(r||"|"),n=i.length;n--;)a[i[n]]=e}),Object.getPrototypeOf(a)&&(a.__proto__=null),this.$keywordList=Object.keys(a),s=null,o?function(e){return a[e.toLowerCase()]||t}:function(e){return a[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(n.prototype),t.TextHighlightRules=n}),ace.define("ace/mode/behaviour",["require","exports","module"],function(e,t,i){"use strict";function n(){this.$behaviours={}}(function(){this.add=function(e,t,i){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=i},this.addBehaviours=function(e){for(var t in e)for(var i in e[t])this.add(t,i,e[t][i])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if("function"==typeof e)var i=(new e).getBehaviours(t);else i=e.getBehaviours(t);this.addBehaviours(i)},this.getBehaviours=function(e){if(!e)return this.$behaviours;for(var t={},i=0;i<e.length;i++)this.$behaviours[e[i]]&&(t[e[i]]=this.$behaviours[e[i]]);return t}}).call(n.prototype),t.Behaviour=n}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(e,t,i){"use strict";function n(e,t,i){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var n=e.getTokenAt(t,i);this.$tokenIndex=n?n.index:-1}var s=e("./range").Range;(function(){this.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){var e;for(this.$tokenIndex+=1;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,e=e||this.$session.getLength(),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,i=e[t].start;if(void 0!==i)return i;for(i=0;0<t;)i+=e[t-=1].value.length;return i},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new s(this.$row,t,this.$row,t+e.value.length)}}).call(n.prototype),t.TokenIterator=n}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,i){"use strict";function y(e){var t=-1;if(e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount})),l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}}function S(e,t,i,n){var s=e.end.row-e.start.row;return{text:i+t+n,selection:[0,e.start.column+1,s,e.end.column+(s?0:1)]}}var f,n=e("../../lib/oop"),s=e("../behaviour").Behaviour,o=e("../../token_iterator").TokenIterator,m=e("../../lib/lang"),r=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],l={},C={'"':'"',"'":"'"},p=function(g){this.add("braces","insertion",function(e,t,i,n,s){var o=i.getCursorPosition(),r=n.doc.getLine(o.row);if("{"==s){y(i);var a=i.getSelectionRange(),l=n.doc.getTextRange(a);if(""!==l&&"{"!==l&&i.getWrapBehavioursEnabled())return S(a,l,"{","}");if(p.isSaneInsertion(i,n))return/[\]\}\)]/.test(r[o.column])||i.inMultiSelectMode||g&&g.braces?(p.recordAutoInsert(i,n,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(i,n,"{"),{text:"{",selection:[1,1]})}else if("}"==s){if(y(i),"}"==r.substring(o.column,o.column+1))if(null!==n.$findOpeningBracket("}",{column:o.column+1,row:o.row})&&p.isAutoInsertedClosing(o,r,s))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==s||"\r\n"==s){y(i);var h="";if(p.isMaybeInsertedClosing(o,r)&&(h=m.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing()),"}"===r.substring(o.column,o.column+1)){var c=n.findMatchingBracket({row:o.row,column:o.column+1},"}");if(!c)return null;var u=this.$getIndent(n.getLine(c.row))}else{if(!h)return void p.clearMaybeInsertedClosing();u=this.$getIndent(r)}var d=u+n.getTabString();return{text:"\n"+d+"\n"+u+h,selection:[1,d.length,1,d.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,i,n,s){var o=n.doc.getTextRange(s);if(!s.isMultiLine()&&"{"==o){if(y(i),"}"==n.doc.getLine(s.start.row).substring(s.end.column,s.end.column+1))return s.end.column++,s;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,i,n,s){if("("==s){y(i);var o=i.getSelectionRange(),r=n.doc.getTextRange(o);if(""!==r&&i.getWrapBehavioursEnabled())return S(o,r,"(",")");if(p.isSaneInsertion(i,n))return p.recordAutoInsert(i,n,")"),{text:"()",selection:[1,1]}}else if(")"==s){y(i);var a=i.getCursorPosition(),l=n.doc.getLine(a.row);if(")"==l.substring(a.column,a.column+1))if(null!==n.$findOpeningBracket(")",{column:a.column+1,row:a.row})&&p.isAutoInsertedClosing(a,l,s))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("parens","deletion",function(e,t,i,n,s){var o=n.doc.getTextRange(s);if(!s.isMultiLine()&&"("==o&&(y(i),")"==n.doc.getLine(s.start.row).substring(s.start.column+1,s.start.column+2)))return s.end.column++,s}),this.add("brackets","insertion",function(e,t,i,n,s){if("["==s){y(i);var o=i.getSelectionRange(),r=n.doc.getTextRange(o);if(""!==r&&i.getWrapBehavioursEnabled())return S(o,r,"[","]");if(p.isSaneInsertion(i,n))return p.recordAutoInsert(i,n,"]"),{text:"[]",selection:[1,1]}}else if("]"==s){y(i);var a=i.getCursorPosition(),l=n.doc.getLine(a.row);if("]"==l.substring(a.column,a.column+1))if(null!==n.$findOpeningBracket("]",{column:a.column+1,row:a.row})&&p.isAutoInsertedClosing(a,l,s))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}),this.add("brackets","deletion",function(e,t,i,n,s){var o=n.doc.getTextRange(s);if(!s.isMultiLine()&&"["==o&&(y(i),"]"==n.doc.getLine(s.start.row).substring(s.start.column+1,s.start.column+2)))return s.end.column++,s}),this.add("string_dquotes","insertion",function(e,t,i,n,s){var o=n.$mode.$quotes||C;if(1==s.length&&o[s]){if(this.lineCommentStart&&-1!=this.lineCommentStart.indexOf(s))return;y(i);var r=s,a=i.getSelectionRange(),l=n.doc.getTextRange(a);if(""!==l&&(1!=l.length||!o[l])&&i.getWrapBehavioursEnabled())return S(a,l,r,r);if(!l){var h=i.getCursorPosition(),c=n.doc.getLine(h.row),u=c.substring(h.column-1,h.column),d=c.substring(h.column,h.column+1),g=n.getTokenAt(h.row,h.column),f=n.getTokenAt(h.row,h.column+1);if("\\"==u&&g&&/escape/.test(g.type))return null;var m,p=g&&/string|escape/.test(g.type),v=!f||/string|escape/.test(f.type);if(d==r)(m=p!==v)&&/string\.end/.test(f.type)&&(m=!1);else{if(p&&!v)return null;if(p&&v)return null;var w=n.$mode.tokenRe;w.lastIndex=0;var b=w.test(u);w.lastIndex=0;var $=w.test(u);if(b||$)return null;if(d&&!/[\s;,.})\]\\]/.test(d))return null;m=!0}return{text:m?r+r:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,i,n,s){var o=n.doc.getTextRange(s);if(!s.isMultiLine()&&('"'==o||"'"==o)&&(y(i),n.doc.getLine(s.start.row).substring(s.start.column+1,s.start.column+2)==o))return s.end.column++,s})};p.isSaneInsertion=function(e,t){var i=e.getCursorPosition(),n=new o(t,i.row,i.column);if(!this.$matchTokenType(n.getCurrentToken()||"text",r)){var s=new o(t,i.row,i.column+1);if(!this.$matchTokenType(s.getCurrentToken()||"text",r))return!1}return n.stepForward(),n.getCurrentTokenRow()!==i.row||this.$matchTokenType(n.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return-1<t.indexOf(e.type||e)},p.recordAutoInsert=function(e,t,i){var n=e.getCursorPosition(),s=t.doc.getLine(n.row);this.isAutoInsertedClosing(n,s,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=n.row,f.autoInsertedLineEnd=i+s.substr(n.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,i){var n=e.getCursorPosition(),s=t.doc.getLine(n.row);this.isMaybeInsertedClosing(n,s)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=n.row,f.maybeInsertedLineStart=s.substr(0,n.column)+i,f.maybeInsertedLineEnd=s.substr(n.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,i){return 0<f.autoInsertedBrackets&&e.row===f.autoInsertedRow&&i===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return 0<f.maybeInsertedBrackets&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},n.inherits(p,s),t.CstyleBehaviour=p}),ace.define("ace/unicode",["require","exports","module"],function(e,t,i){"use strict";for(var n=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],s=0,o=[],r=0;r<n.length;r+=2)o.push(s+=n[r]),n[r+1]&&o.push(45,s+=n[r+1]);t.wordChars=String.fromCharCode.apply(null,o)}),ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,i){"use strict";function n(){this.HighlightRules=o}var s=e("../tokenizer").Tokenizer,o=e("./text_highlight_rules").TextHighlightRules,r=e("./behaviour/cstyle").CstyleBehaviour,a=e("../unicode"),y=e("../lib/lang"),m=e("../token_iterator").TokenIterator,p=e("../range").Range;(function(){this.$defaultBehaviour=new r,this.tokenRe=new RegExp("^["+a.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+a.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new s(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,s,i,n){function t(e){for(var t=i;t<=n;t++)e(o.getLine(t),t)}var o=s.doc,r=!0,a=!0,l=1/0,h=s.getTabSize(),c=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))m=this.lineCommentStart.map(y.escapeRegExp).join("|"),g=this.lineCommentStart[0];else m=y.escapeRegExp(this.lineCommentStart),g=this.lineCommentStart;m=new RegExp("^(\\s*)(?:"+m+") ?"),c=s.getUseSoftTabs();w=function(e,t){var i=e.match(m);if(i){var n=i[1].length,s=i[0].length;d(e,n,s)||" "!=i[0][s-1]||s--,o.removeInLine(t,n,s)}};var u=g+" ",d=(v=function(e,t){r&&!/\S/.test(e)||(d(e,l,l)?o.insertInLine({row:t,column:l},u):o.insertInLine({row:t,column:l},g))},b=function(e,t){return m.test(e)},function(e,t,i){for(var n=0;t--&&" "==e.charAt(t);)n++;if(n%h!=0)return!1;for(n=0;" "==e.charAt(i++);)n++;return 2<h?n%h!=h-1:n%h==0})}else{if(!this.blockComment)return!1;var g=this.blockComment.start,f=this.blockComment.end,m=new RegExp("^(\\s*)(?:"+y.escapeRegExp(g)+")"),p=new RegExp("(?:"+y.escapeRegExp(f)+")\\s*$"),v=function(e,t){b(e,t)||r&&!/\S/.test(e)||(o.insertInLine({row:t,column:e.length},f),o.insertInLine({row:t,column:l},g))},w=function(e,t){var i;(i=e.match(p))&&o.removeInLine(t,e.length-i[0].length,e.length),(i=e.match(m))&&o.removeInLine(t,i[1].length,i[0].length)},b=function(e,t){if(m.test(e))return!0;for(var i=s.getTokens(t),n=0;n<i.length;n++)if("comment"===i[n].type)return!0}}var $=1/0;t(function(e,t){var i=e.search(/\S/);-1!==i?(i<l&&(l=i),a&&!b(e,t)&&(a=!1)):$>e.length&&($=e.length)}),l==1/0&&(l=$,a=r=!1),c&&l%h!=0&&(l=Math.floor(l/h)*h),t(a?w:v)},this.toggleBlockComment=function(e,t,i,n){var s=this.blockComment;if(s){!s.start&&s[0]&&(s=s[0]);var o,r,a=(g=new m(t,n.row,n.column)).getCurrentToken(),l=(t.selection,t.selection.toOrientedRange());if(a&&/comment/.test(a.type)){for(var h,c;a&&/comment/.test(a.type);){if(-1!=(f=a.value.indexOf(s.start))){var u=g.getCurrentTokenRow(),d=g.getCurrentTokenColumn()+f;h=new p(u,d,u,d+s.start.length);break}a=g.stepBackward()}var g;for(a=(g=new m(t,n.row,n.column)).getCurrentToken();a&&/comment/.test(a.type);){var f;if(-1!=(f=a.value.indexOf(s.end))){u=g.getCurrentTokenRow(),d=g.getCurrentTokenColumn()+f;c=new p(u,d,u,d+s.end.length);break}a=g.stepForward()}c&&t.remove(c),h&&(t.remove(h),o=h.start.row,r=-s.start.length)}else r=s.start.length,o=i.start.row,t.insert(i.end,s.end),t.insert(i.start,s.start);l.start.row==o&&(l.start.column+=r),l.end.row==o&&(l.end.column+=r),t.selection.fromOrientedRange(l)}},this.getNextLineIndent=function(e,t,i){return this.$getIndent(t)},this.checkOutdent=function(e,t,i){return!1},this.autoOutdent=function(e,t,i){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var n in this.$embeds=[],this.$modes={},e)e[n]&&(this.$embeds.push(n),this.$modes[n]=new e[n]);var s=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(n=0;n<s.length;n++)!function(e){var t=s[n],i=e[t];e[s[n]]=function(){return this.$delegator(t,arguments,i)}}(this)},this.$delegator=function(e,t,i){var n=t[0];"string"!=typeof n&&(n=n[0]);for(var s=0;s<this.$embeds.length;s++)if(this.$modes[this.$embeds[s]]){var o=n.split(this.$embeds[s]);if(!o[0]&&o[1]){t[0]=o[1];var r=this.$modes[this.$embeds[s]];return r[e].apply(r,t)}}var a=i.apply(this,t);return i?a:void 0},this.transformAction=function(e,t,i,n,s){if(this.$behaviour){var o=this.$behaviour.getBehaviours();for(var r in o)if(o[r][t]){var a=o[r][t].apply(this,arguments);if(a)return a}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,i=[];for(var n in t)for(var s=t[n],o=0,r=s.length;o<r;o++)if("string"==typeof s[o].token)/keyword|support|storage/.test(s[o].token)&&i.push(s[o].regex);else if("object"==typeof s[o].token)for(var a=0,l=s[o].token.length;a<l;a++)if(/keyword|support|storage/.test(s[o].token[a])){n=s[o].regex.match(/\(.+?\)/g)[a];i.push(n.substr(1,n.length-2))}this.completionKeywords=i}return e?i.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,i,n){return(this.$keywordList||this.$createKeywordList()).map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(n.prototype),t.Mode=n}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,i){"use strict";t.applyDelta=function(e,t,i){var n=t.start.row,s=t.start.column,o=e[n]||"";switch(t.action){case"insert":if(1===t.lines.length)e[n]=o.substring(0,s)+t.lines[0]+o.substring(s);else{var r=[n,1].concat(t.lines);e.splice.apply(e,r),e[n]=o.substring(0,s)+e[n],e[n+t.lines.length-1]+=o.substring(s)}break;case"remove":var a=t.end.column,l=t.end.row;n===l?e[n]=o.substring(0,s)+o.substring(a):e.splice(n,l-n+1,o.substring(0,s)+e[l].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,i){"use strict";var n=e("./lib/oop"),s=e("./lib/event_emitter").EventEmitter,o=t.Anchor=function(e,t,i){this.$onChange=this.onChange.bind(this),this.attach(e),void 0===i?this.setPosition(t.row,t.column):this.setPosition(t,i)};(function(){function l(e,t,i){var n=i?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&n}n.implement(this,s),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(!(e.start.row==e.end.row&&e.start.row!=this.row||e.start.row>this.row)){var t=function(e,t,i){var n="insert"==e.action,s=(n?1:-1)*(e.end.row-e.start.row),o=(n?1:-1)*(e.end.column-e.start.column),r=e.start,a=n?r:e.end;return l(t,r,i)?{row:t.row,column:t.column}:l(a,t,!i)?{row:t.row+s,column:t.column+(t.row==a.row?o:0)}:{row:r.row,column:r.column}}(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(t.row,t.column,!0)}},this.setPosition=function(e,t,i){var n;if(n=i?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=n.row||this.column!=n.column){var s={row:this.row,column:this.column};this.row=n.row,this.column=n.column,this._signal("change",{old:s,value:n})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var i={};return e>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):e<0?(i.row=0,i.column=0):(i.row=e,i.column=Math.min(this.document.getLine(i.row).length,Math.max(0,t))),t<0&&(i.column=0),i}}).call(o.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,i){"use strict";function n(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}var s=e("./lib/oop"),o=e("./apply_delta").applyDelta,r=e("./lib/event_emitter").EventEmitter,c=e("./range").Range,a=e("./anchor").Anchor;(function(){s.implement(this,r),this.setValue=function(e){var t=this.getLength()-1;this.remove(new c(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new a(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{(t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column);var i=t.length-1;e.end.row-e.start.row==i&&(t[i]=t[i].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var i=this.clippedPos(e.row,e.column),n=this.pos(e.row,e.column+t.length);return this.applyDelta({start:i,end:n,action:"insert",lines:[t]},!0),this.clonePos(n)},this.clippedPos=function(e,t){var i=this.getLength();void 0===e?e=i:e<0?e=0:i<=e&&(e=i-1,t=void 0);var n=this.getLine(e);return null==t&&(t=n.length),{row:e,column:t=Math.min(Math.max(t,0),n.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var i=0;i=(e=Math.min(Math.max(e,0),this.getLength()))<this.getLength()?(t=t.concat([""]),0):(t=[""].concat(t),e--,this.$lines[e].length),this.insertMergedLines({row:e,column:i},t)},this.insertMergedLines=function(e,t){var i=this.clippedPos(e.row,e.column),n={row:i.row+t.length-1,column:(1==t.length?i.column:0)+t[t.length-1].length};return this.applyDelta({start:i,end:n,action:"insert",lines:t}),this.clonePos(n)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),i=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:i,action:"remove",lines:this.getLinesForRange({start:t,end:i})}),this.clonePos(t)},this.removeInLine=function(e,t,i){var n=this.clippedPos(e,t),s=this.clippedPos(e,i);return this.applyDelta({start:n,end:s,action:"remove",lines:this.getLinesForRange({start:n,end:s})},!0),this.clonePos(n)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1);var i=(t=Math.min(Math.max(0,t),this.getLength()-1))==this.getLength()-1&&0<e,n=t<this.getLength()-1,s=i?e-1:e,o=i?this.getLine(s).length:0,r=n?t+1:t,a=n?0:this.getLine(r).length,l=new c(s,o,r,a),h=this.$lines.slice(e,t+1);return this.applyDelta({start:l.start,end:l.end,action:"remove",lines:this.getLinesForRange(l)}),h},this.removeNewLine=function(e){e<this.getLength()-1&&0<=e&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){return e instanceof c||(e=c.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty()?e.start:t==this.getTextRange(e)?e.end:(this.remove(e),t?this.insert(e.start,t):e.start)},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;0<=t;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var i="insert"==e.action;(i?e.lines.length<=1&&!e.lines[0]:!c.comparePoints(e.start,e.end))||(i&&2e4<e.lines.length&&this.$splitAndapplyLargeDelta(e,2e4),o(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){for(var i=e.lines,n=i.length,s=e.start.row,o=e.start.column,r=0,a=0;;){r=a,a+=t-1;var l=i.slice(r,a);if(n<a){e.lines=l,e.start.row=s+r,e.start.column=o;break}l.push(""),this.applyDelta({start:this.pos(s+r,o),end:this.pos(s+a,o=0),action:e.action,lines:l},!0)}},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:"insert"==e.action?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){for(var i=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,s=t||0,o=i.length;s<o;s++)if((e-=i[s].length+n)<0)return{row:s,column:e+i[s].length+n};return{row:o-1,column:i[o-1].length}},this.positionToIndex=function(e,t){for(var i=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,s=0,o=Math.min(e.row,i.length),r=t||0;r<o;++r)s+=i[r].length+n;return s+e.column}}).call(n.prototype),t.Document=n}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,i){"use strict";function n(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var a=this;this.$worker=function(){if(a.running){for(var e=new Date,t=a.currentLine,i=-1,n=a.doc,s=t;a.lines[t];)t++;var o=n.getLength(),r=0;for(a.running=!1;t<o;){for(a.$tokenizeRow(t),i=t;t++,a.lines[t];);if(++r%5==0&&20<new Date-e){a.running=setTimeout(a.$worker,20);break}}a.currentLine=t,-1==i&&(i=t),s<=i&&a.fireUpdateEvent(s,i)}}}var s=e("./lib/oop"),o=e("./lib/event_emitter").EventEmitter;(function(){s.implement(this,o),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var i={first:e,last:t};this._signal("update",{data:i})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,i=e.end.row-t;if(0==i)this.lines[t]=null;else if("remove"==e.action)this.lines.splice(t,1+i,null),this.states.splice(t,1+i,null);else{var n=Array(1+i);n.unshift(t,1),this.lines.splice.apply(this.lines,n),this.states.splice.apply(this.states,n)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),i=this.states[e-1],n=this.tokenizer.getLineTokens(t,i,e);return this.states[e]+""!=n.state+""?(this.states[e]=n.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=n.tokens}}).call(n.prototype),t.BackgroundTokenizer=n}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,i){"use strict";function n(e,t,i){this.setRegexp(e),this.clazz=t,this.type=i||"text"}var h=e("./lib/lang"),c=(e("./lib/oop"),e("./range").Range);(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,i,n){if(this.regExp)for(var s=n.firstRow,o=n.lastRow,r=s;r<=o;r++){var a=this.cache[r];null==a&&((a=h.getMatchOffsets(i.getLine(r),this.regExp)).length>this.MAX_RANGES&&(a=a.slice(0,this.MAX_RANGES)),a=a.map(function(e){return new c(r,e.offset,r,e.offset+e.length)}),this.cache[r]=a.length?a:"");for(var l=a.length;l--;)t.drawSingleLineMarker(e,a[l].toScreenRange(i),this.clazz,n)}}}).call(n.prototype),t.SearchHighlight=n}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,i){"use strict";function h(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var i=t[t.length-1];this.range=new n(t[0].start.row,t[0].start.column,i.end.row,i.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var n=e("../range").Range;(function(){this.shiftRow=function(t){this.start.row+=t,this.end.row+=t,this.folds.forEach(function(e){e.start.row+=t,e.end.row+=t})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),0<this.range.compareEnd(e.start.row,e.start.column)?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,i){var n,s,o=0,r=this.folds,a=!0;null==t&&(t=this.end.row,i=this.end.column);for(var l=0;l<r.length;l++){if(-1==(s=(n=r[l]).range.compareStart(t,i)))return void e(null,t,i,o,a);if(!e(null,n.start.row,n.start.column,o,a)&&e(n.placeholder,n.start.row,n.start.column,o)||0===s)return;a=!n.sameRow,o=n.end.column}e(null,t,i,o,a)},this.getNextFoldTo=function(e,t){for(var i,n,s=0;s<this.folds.length;s++){if(-1==(n=(i=this.folds[s]).range.compareEnd(e,t)))return{fold:i,kind:"after"};if(0===n)return{fold:i,kind:"inside"}}return null},this.addRemoveChars=function(e,t,i){var n,s,o=this.getNextFoldTo(e,t);if(o)if(n=o.fold,"inside"==o.kind&&n.start.column!=t&&n.start.row!=e)window.console&&window.console.log(e,t,n);else if(n.start.row==e){var r=(s=this.folds).indexOf(n);for(0===r&&(this.start.column+=i);r<s.length;r++){if((n=s[r]).start.column+=i,!n.sameRow)return;n.end.column+=i}this.end.column+=i}},this.split=function(e,t){var i=this.getNextFoldTo(e,t);if(!i||"inside"==i.kind)return null;var n=i.fold,s=this.folds,o=this.foldData,r=s.indexOf(n),a=s[r-1];this.end.row=a.end.row,this.end.column=a.end.column;var l=new h(o,s=s.splice(r,s.length-r));return o.splice(o.indexOf(this)+1,0,l),l},this.merge=function(e){for(var t=e.folds,i=0;i<t.length;i++)this.addFold(t[i]);var n=this.foldData;n.splice(n.indexOf(e),1)},this.toString=function(){var t=[this.range.toString()+": ["];return this.folds.forEach(function(e){t.push(" "+e.toString())}),t.push("]"),t.join("\n")},this.idxToPosition=function(e){for(var t=0,i=0;i<this.folds.length;i++){var n=this.folds[i];if((e-=n.start.column-t)<0)return{row:n.start.row,column:n.start.column+e};if((e-=n.placeholder.length)<0)return n.start;t=n.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(h.prototype),t.FoldLine=h}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(e,t,i){"use strict";function n(){this.ranges=[]}var l=e("./range").Range.comparePoints;(function(){this.comparePoints=l,this.pointIndex=function(e,t,i){for(var n=this.ranges,s=i||0;s<n.length;s++){var o=n[s],r=l(e,o.end);if(!(0<r)){var a=l(e,o.start);return 0===r?t&&0!==a?-s-2:s:0<a||0===a&&!t?s:-s-1}}return-s-1},this.add=function(e){var t=!e.isEmpty(),i=this.pointIndex(e.start,t);i<0&&(i=-i-1);var n=this.pointIndex(e.end,t,i);return n<0?n=-n-1:n++,this.ranges.splice(i,n-i,e)},this.addList=function(e){for(var t=[],i=e.length;i--;)t.push.apply(t,this.add(e[i]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(0<=t)return this.ranges.splice(t,1)},this.merge=function(){for(var e,t=[],i=this.ranges,n=(i=i.sort(function(e,t){return l(e.start,t.start)}))[0],s=1;s<i.length;s++){e=n,n=i[s];var o=l(e.end,n.start);o<0||(0!=o||e.isEmpty()||n.isEmpty())&&(l(e.end,n.end)<0&&(e.end.row=n.end.row,e.end.column=n.end.column),i.splice(s,1),t.push(n),n=e,s--)}return this.ranges=i,t},this.contains=function(e,t){return 0<=this.pointIndex({row:e,column:t})},this.containsPoint=function(e){return 0<=this.pointIndex(e)},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(0<=t)return this.ranges[t]},this.clipRows=function(e,t){var i=this.ranges;if(i[0].start.row>t||i[i.length-1].start.row<e)return[];var n=this.pointIndex({row:e,column:0});n<0&&(n=-n-1);var s=this.pointIndex({row:t,column:0},n);s<0&&(s=-s-1);for(var o=[],r=n;r<s;r++)o.push(i[r]);return o},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},this.$onChange=function(e){if("insert"==e.action)var t=e.start,i=e.end;else i=e.start,t=e.end;for(var n=t.row,s=i.row-n,o=-t.column+i.column,r=this.ranges,a=0,l=r.length;a<l;a++){if(!((h=r[a]).end.row<n)){if(h.start.row>n)break;if(h.start.row==n&&h.start.column>=t.column&&(h.start.column!=t.column||!this.$insertRight)&&(h.start.column+=o,h.start.row+=s),h.end.row==n&&h.end.column>=t.column){if(h.end.column==t.column&&this.$insertRight)continue;h.end.column==t.column&&0<o&&a<l-1&&h.end.column>h.start.column&&h.end.column==r[a+1].start.column&&(h.end.column-=o),h.end.column+=o,h.end.row+=s}}}if(0!=s&&a<l)for(;a<l;a++){var h;(h=r[a]).start.row+=s,h.end.row+=s}}}).call(n.prototype),t.RangeList=n}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(e,t,i){"use strict";function a(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}function n(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}e("../range").Range;var s=e("../range_list").RangeList,o=e("../lib/oop"),r=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};o.inherits(r,s),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(t){this.foldLine=t,this.subFolds.forEach(function(e){e.setFoldLine(t)})},this.clone=function(){var e=this.range.clone(),t=new r(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(!this.range.isEqual(e)){if(!this.range.containsRange(e))throw new Error("A fold can't intersect already existing fold"+e.range+this.range);!function(e,t){a(e.start,t),a(e.end,t)}(e,this.start);for(var t=e.start.row,i=e.start.column,n=0,s=-1;n<this.subFolds.length&&1==(s=this.subFolds[n].range.compare(t,i));n++);var o=this.subFolds[n];if(0==s)return o.addSubFold(e);t=e.range.end.row,i=e.range.end.column;var r=n;for(s=-1;r<this.subFolds.length&&1==(s=this.subFolds[r].range.compare(t,i));r++);this.subFolds[r];if(0==s)throw new Error("A fold can't intersect already existing fold"+e.range+this.range);this.subFolds.splice(n,r-n,e);return e.setFoldLine(this.foldLine),e}},this.restoreRange=function(e){return function(e,t){n(e.start,t),n(e.end,t)}(e,this.start)}}.call(r.prototype)}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,i){"use strict";var c=e("../range").Range,m=e("./fold_line").FoldLine,p=e("./fold").Fold,u=e("../token_iterator").TokenIterator;t.Folding=function(){this.getFoldAt=function(e,t,i){var n=this.getFoldLine(e);if(!n)return null;for(var s=n.folds,o=0;o<s.length;o++){var r=s[o];if(r.range.contains(e,t)){if(1==i&&r.range.isEnd(e,t))continue;if(-1==i&&r.range.isStart(e,t))continue;return r}}},this.getFoldsInRange=function(e){var t=e.start,i=e.end,n=this.$foldData,s=[];t.column+=1,i.column-=1;for(var o=0;o<n.length;o++){var r=n[o].range.compareRange(e);if(2!=r){if(-2==r)break;for(var a=n[o].folds,l=0;l<a.length;l++){var h=a[l];if(-2==(r=h.range.compareRange(e)))break;if(2!=r){if(42==r)break;s.push(h)}}}}return t.column-=1,i.column+=1,s},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){for(var e=[],t=this.$foldData,i=0;i<t.length;i++)for(var n=0;n<t[i].folds.length;n++)e.push(t[i].folds[n]);return e},this.getFoldStringAt=function(e,t,i,n){if(!(n=n||this.getFoldLine(e)))return null;for(var s,o,r={end:{column:0}},a=0;a<n.folds.length;a++){var l=(o=n.folds[a]).range.compareEnd(e,t);if(-1==l){s=this.getLine(o.start.row).substring(r.end.column,o.start.column);break}if(0===l)return null;r=o}return s=s||this.getLine(o.start.row).substring(r.end.column),-1==i?s.substring(0,t-r.end.column):1==i?s.substring(t-r.end.column):s},this.getFoldLine=function(e,t){var i=this.$foldData,n=0;for(t&&(n=i.indexOf(t)),-1==n&&(n=0);n<i.length;n++){var s=i[n];if(s.start.row<=e&&s.end.row>=e)return s;if(s.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var i=this.$foldData,n=0;for(t&&(n=i.indexOf(t)),-1==n&&(n=0);n<i.length;n++){var s=i[n];if(s.end.row>=e)return s}return null},this.getFoldedRowCount=function(e,t){for(var i=this.$foldData,n=t-e+1,s=0;s<i.length;s++){var o=i[s],r=o.end.row,a=o.start.row;if(t<=r){a<t&&(e<=a?n-=t-a:n=0);break}e<=r&&(n-=e<=a?r-a:r-e+1)}return n},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var i,n=this.$foldData,s=!1;e instanceof p?i=e:(i=new p(t,e)).collapseChildren=t.collapseChildren,this.$clipRangeToDocument(i.range);var o=i.start.row,r=i.start.column,a=i.end.row,l=i.end.column;if(o<a||o==a&&r<=l-2){var h=this.getFoldAt(o,r,1),c=this.getFoldAt(a,l,-1);if(h&&c==h)return h.addSubFold(i);h&&!h.range.isStart(o,r)&&this.removeFold(h),c&&!c.range.isEnd(a,l)&&this.removeFold(c);var u=this.getFoldsInRange(i.range);0<u.length&&(this.removeFolds(u),u.forEach(function(e){i.addSubFold(e)}));for(var d=0;d<n.length;d++){var g=n[d];if(a==g.start.row){g.addFold(i),s=!0;break}if(o==g.end.row){if(g.addFold(i),s=!0,!i.sameRow){var f=n[d+1];if(f&&f.start.row==a){g.merge(f);break}}break}if(a<=g.start.row)break}return s||(g=this.$addFoldLine(new m(this.$foldData,i))),this.$useWrapMode?this.$updateWrapData(g.start.row,g.start.row):this.$updateRowLengthCache(g.start.row,g.start.row),this.$modified=!0,this._signal("changeFold",{data:i,action:"add"}),i}throw new Error("The range has to be at least 2 characters width")},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,i=t.start.row,n=t.end.row,s=this.$foldData,o=t.folds;if(1==o.length)s.splice(s.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))o.pop(),t.end.row=o[o.length-1].end.row,t.end.column=o[o.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))o.shift(),t.start.row=o[0].start.row,t.start.column=o[0].start.column;else if(e.sameRow)o.splice(o.indexOf(e),1);else{var r=t.split(e.start.row,e.start.column);(o=r.folds).shift(),r.start.row=o[0].start.row,r.start.column=o[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(i,n):this.$updateRowLengthCache(i,n)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){for(var t=[],i=0;i<e.length;i++)t.push(e[i]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(t){this.removeFold(t),t.subFolds.forEach(function(e){t.restoreRange(e),this.addFold(e)},this),0<t.collapseChildren&&this.foldAll(t.start.row+1,t.end.row,t.collapseChildren-1),t.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var i,n;if(null==e?(i=new c(0,0,this.getLength(),0),t=!0):i="number"==typeof e?new c(e,0,e,this.getLine(e).length):"row"in e?c.fromPoints(e,e):e,n=this.getFoldsInRangeList(i),t)this.removeFolds(n);else for(var s=n;s.length;)this.expandFolds(s),s=this.getFoldsInRangeList(i);if(n.length)return n},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var i=this.getFoldLine(e,t);return i?i.end.row:e},this.getRowFoldStart=function(e,t){var i=this.getFoldLine(e,t);return i?i.start.row:e},this.getFoldDisplayLine=function(e,t,i,s,o){null==s&&(s=e.start.row),null==o&&(o=0),null==t&&(t=e.end.row),null==i&&(i=this.getLine(t).length);var r=this.doc,a="";return e.walk(function(e,t,i,n){if(!(t<s)){if(t==s){if(i<o)return;n=Math.max(o,n)}a+=null!=e?e:r.getLine(t).substring(n,i)}},t,i),a},this.getDisplayLine=function(e,t,i,n){var s,o=this.getFoldLine(e);return o?this.getFoldDisplayLine(o,e,t,i,n):(s=this.doc.getLine(e)).substring(n||0,t||s.length)},this.$cloneFoldData=function(){var i=[];return i=this.$foldData.map(function(e){var t=e.folds.map(function(e){return e.clone()});return new m(i,t)})},this.toggleFold=function(e){var t,i,n=this.selection.getRange();if(n.isEmpty()){var s=n.start;if(t=this.getFoldAt(s.row,s.column))return void this.expandFold(t);(i=this.findMatchingBracket(s))?1==n.comparePoint(i)?n.end=i:(n.start=i,n.start.column++,n.end.column--):(i=this.findMatchingBracket({row:s.row,column:s.column+1}))?(1==n.comparePoint(i)?n.end=i:n.start=i,n.start.column++):n=this.getCommentFoldRange(s.row,s.column)||n}else{var o=this.getFoldsInRange(n);if(e&&o.length)return void this.expandFolds(o);1==o.length&&(t=o[0])}if((t=t||this.getFoldAt(n.start.row,n.start.column))&&t.range.toString()==n.toString())this.expandFold(t);else{var r="...";if(!n.isMultiLine()){if((r=this.getTextRange(n)).length<4)return;r=r.trim().substring(0,2)+".."}this.addFold(r,n)}},this.getCommentFoldRange=function(e,t,i){var n=new u(this,e,t),s=n.getCurrentToken(),o=s.type;if(s&&/^comment|string/.test(o)){"comment"==(o=o.match(/comment|string/)[0])&&(o+="|doc-start");var r=new RegExp(o),a=new c;if(1!=i){for(;(s=n.stepBackward())&&r.test(s.type););n.stepForward()}if(a.start.row=n.getCurrentTokenRow(),a.start.column=n.getCurrentTokenColumn()+2,n=new u(this,e,t),-1!=i){var l=-1;do{if(s=n.stepForward(),-1==l){var h=this.getState(n.$row);r.test(h)||(l=n.$row)}else if(n.$row>l)break}while(s&&r.test(s.type));s=n.stepBackward()}else s=n.getCurrentToken();return a.end.row=n.getCurrentTokenRow(),a.end.column=n.getCurrentTokenColumn()+s.value.length-2,a}},this.foldAll=function(e,t,i){null==i&&(i=1e5);var n=this.foldWidgets;if(n){t=t||this.getLength();for(var s=e=e||0;s<t;s++)if(null==n[s]&&(n[s]=this.getFoldWidget(s)),"start"==n[s]){var o=this.getFoldWidgetRange(s);if(o&&o.isMultiLine()&&o.end.row<=t&&o.start.row>=e){s=o.end.row;try{var r=this.addFold("...",o);r&&(r.collapseChildren=i)}catch(e){}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){"manual"==(this.$foldStyle=e)&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){this.$foldMode!=e&&(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),e&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)):this.foldWidgets=null)},this.getParentFoldRangeData=function(e,t){var i=this.foldWidgets;if(!i||t&&i[e])return{};for(var n,s=e-1;0<=s;){var o=i[s];if(null==o&&(o=i[s]=this.getFoldWidget(s)),"start"==o){var r=this.getFoldWidgetRange(s);if(n=n||r,r&&r.end.row>=e)break}s--}return{range:-1!==s&&r,firstRange:n}},this.onFoldWidgetClick=function(e,t){var i={children:(t=t.domEvent).shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,i)){var n=t.target||t.srcElement;n&&/ace_fold-widget/.test(n.className)&&(n.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var i=this.getFoldWidget(e),n=this.getLine(e),s="end"===i?-1:1,o=this.getFoldAt(e,-1==s?0:n.length,s);if(o)return t.children||t.all?this.removeFold(o):this.expandFold(o),o;var r=this.getFoldWidgetRange(e,!0);if(r&&!r.isMultiLine()&&(o=this.getFoldAt(r.start.row,r.start.column,1))&&r.isEqual(o.range))return this.removeFold(o),o;if(t.siblings){var a=this.getParentFoldRangeData(e);if(a.range)var l=a.range.start.row+1,h=a.range.end.row;this.foldAll(l,h,t.all?1e4:0)}else t.children?(h=r?r.end.row:this.getLength(),this.foldAll(e+1,h,t.all?1e4:0)):r&&(t.all&&(r.collapseChildren=1e4),this.addFold("...",r));return r}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var i=this.$toggleFoldWidget(t,{});if(!i){var n=this.getParentFoldRangeData(t,!0);if(i=n.range||n.firstRange){t=i.start.row;var s=this.getFoldAt(t,this.getLine(t).length,1);s?this.removeFold(s):this.addFold("...",i)}}},this.updateFoldWidgets=function(e){var t=e.start.row,i=e.end.row-t;if(0==i)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,1+i,null);else{var n=Array(1+i);n.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,n)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,i){"use strict";var u=e("../token_iterator").TokenIterator,a=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var i=t||this.getLine(e.row).charAt(e.column-1);if(""==i)return null;var n=i.match(/([\(\[\{])|([\)\]\}])/);return n?n[1]?this.$findClosingBracket(n[1],e):this.$findOpeningBracket(n[2],e):null},this.getBracketRange=function(e){var t,i=this.getLine(e.row),n=!0,s=i.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);if(o||(s=i.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1),!o)return null;if(o[1]){if(!(r=this.$findClosingBracket(o[1],e)))return null;t=a.fromPoints(e,r),n||(t.end.column++,t.start.column--),t.cursor=t.end}else{var r;if(!(r=this.$findOpeningBracket(o[2],e)))return null;t=a.fromPoints(r,e),n||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,i){var n=this.$brackets[e],s=1,o=new u(this,t.row,t.column),r=o.getCurrentToken();if(r=r||o.stepForward()){i=i||new RegExp("(\\.?"+r.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+");for(var a=t.column-o.getCurrentTokenColumn()-2,l=r.value;;){for(;0<=a;){var h=l.charAt(a);if(h==n){if(0==(s-=1))return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else h==e&&(s+=1);a-=1}for(;(r=o.stepBackward())&&!i.test(r.type););if(null==r)break;a=(l=r.value).length-1}return null}},this.$findClosingBracket=function(e,t,i){var n=this.$brackets[e],s=1,o=new u(this,t.row,t.column),r=o.getCurrentToken();if(r=r||o.stepForward()){i=i||new RegExp("(\\.?"+r.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+");for(var a=t.column-o.getCurrentTokenColumn();;){for(var l=r.value,h=l.length;a<h;){var c=l.charAt(a);if(c==n){if(0==(s-=1))return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else c==e&&(s+=1);a+=1}for(;(r=o.stepForward())&&!i.test(r.type););if(null==r)break;a=0}return null}}}}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,i){"use strict";var n=e("./lib/oop"),s=e("./lib/lang"),o=e("./bidihandler").BidiHandler,r=e("./config"),l=e("./lib/event_emitter").EventEmitter,a=e("./selection").Selection,h=e("./mode/text").Mode,c=e("./range").Range,u=e("./document").Document,d=e("./background_tokenizer").BackgroundTokenizer,g=e("./search_highlight").SearchHighlight,f=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++f.$uid,this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof e&&e.getLine||(e=new u(e)),this.$bidiHandler=new o(this),this.setDocument(e),this.selection=new a(this),r.resetOptions(this),this.setMode(t),r._signal("session",this)};f.$uid=0,function(){function a(e){return!(e<4352)&&(4352<=e&&e<=4447||4515<=e&&e<=4519||4602<=e&&e<=4607||9001<=e&&e<=9002||11904<=e&&e<=11929||11931<=e&&e<=12019||12032<=e&&e<=12245||12272<=e&&e<=12283||12288<=e&&e<=12350||12353<=e&&e<=12438||12441<=e&&e<=12543||12549<=e&&e<=12589||12593<=e&&e<=12686||12688<=e&&e<=12730||12736<=e&&e<=12771||12784<=e&&e<=12830||12832<=e&&e<=12871||12880<=e&&e<=13054||13056<=e&&e<=19903||19968<=e&&e<=42124||42128<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||55216<=e&&e<=55238||55243<=e&&e<=55291||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65106||65108<=e&&e<=65126||65128<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510)}n.implement(this,l),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),(this.doc=e).on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e)return this.$docRowCache=[],void(this.$screenRowCache=[]);var t=this.$docRowCache.length,i=this.$getRowCacheIndex(this.$docRowCache,e)+1;i<t&&(this.$docRowCache.splice(i,t),this.$screenRowCache.splice(i,t))},this.$getRowCacheIndex=function(e,t){for(var i=0,n=e.length-1;i<=n;){var s=i+n>>1,o=e[s];if(o<t)i=1+s;else{if(!(t<o))return s;n=s-1}}return i-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&(t&&t.length&&(this.$undoManager.add({action:"removeFolds",folds:t},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(e,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(e),this._signal("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var i,n=this.bgTokenizer.getTokens(e),s=0;if(null==t){var o=n.length-1;s=this.getLine(e).length}else for(o=0;o<n.length&&!(t<=(s+=n[o].value.length));o++);return(i=n[o])?(i.index=o,i.start=s-i.value.length,i):null},this.setUndoManager=function(e){if(this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=s.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?s.stringRepeat(" ",this.getTabSize()):"\t"},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize==0},this.setNavigateWithinSoftTabs=function(e){this.setOption("navigateWithinSoftTabs",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){void 0===t&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,i,n){var s=this.$markerId++,o={range:e,type:i||"line",renderer:"function"==typeof i?i:null,clazz:t,inFront:!!n,id:s};return n?(this.$frontMarkers[s]=o,this._signal("changeFrontMarker")):(this.$backMarkers[s]=o,this._signal("changeBackMarker")),s},this.addDynamicMarker=function(e,t){if(e.update){var i=this.$markerId++;return e.id=i,e.inFront=!!t,t?(this.$frontMarkers[i]=e,this._signal("changeFrontMarker")):(this.$backMarkers[i]=e,this._signal("changeBackMarker")),e}},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];t&&(delete(t.inFront?this.$frontMarkers:this.$backMarkers)[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker"))},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new g(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,i,n){"number"!=typeof t&&(i=t,t=e),i=i||"ace_step";var s=new c(e,0,t,1/0);return s.id=this.addMarker(s,i,"fullLine",n),s},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);this.$autoNewLine=t?t[1]:"\n"},this.getWordRange=function(e,t){var i=this.getLine(e),n=!1;if(0<t&&(n=!!i.charAt(t-1).match(this.tokenRe)),n=n||!!i.charAt(t).match(this.tokenRe))var s=this.tokenRe;else if(/^\s+$/.test(i.slice(t-1,t+1)))s=/\s/;else s=this.nonTokenRe;var o=t;if(0<o){for(;0<=--o&&i.charAt(o).match(s););o++}for(var r=t;r<i.length&&i.charAt(r).match(s);)r++;return new c(e,o,e,r)},this.getAWordRange=function(e,t){for(var i=this.getWordRange(e,t),n=this.getLine(i.end.row);n.charAt(i.end.column).match(/[ \t]/);)i.end.column+=1;return i},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&"object"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var i=e,n=i.path}else n=e||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new h),this.$modes[n]&&!i)return this.$onChangeMode(this.$modes[n]),void(t&&t());this.$modeId=n,r.loadModule(["mode",n],function(e){if(this.$modeId!==n)return t&&t();this.$modes[n]&&!i?this.$onChangeMode(this.$modes[n]):e&&e.Mode&&(e=new e.Mode(i),i||((this.$modes[n]=e).$id=n),this.$onChangeMode(e)),t&&t()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var i=e.getTokenizer();if(void 0!==i.addEventListener){var n=this.onReloadTokenizer.bind(this);i.addEventListener("update",n)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(i);else{this.bgTokenizer=new d(i);var s=this;this.bgTokenizer.addEventListener("update",function(e){s._signal("tokenizerUpdate",e)})}this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode"))}},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){r.warn("Could not load worker",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal("changeScrollTop",e))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal("changeScrollLeft",e))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(null!=this.lineWidgetsWidth)return this.lineWidgetsWidth;var t=0;return this.lineWidgets.forEach(function(e){e&&e.screenWidth>t&&(t=e.screenWidth)}),this.lineWidgetWidth=t},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),i=this.$rowLengthCache,n=0,s=0,o=this.$foldData[s],r=o?o.start.row:1/0,a=t.length,l=0;l<a;l++){if(r<l){if(a<=(l=o.end.row+1))break;r=(o=this.$foldData[s++])?o.start.row:1/0}null==i[l]&&(i[l]=this.$getStringScreenWidth(t[l])[0]),i[l]>n&&(n=i[l])}this.screenWidth=n}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=e.length-1;-1!=i;i--){var n=e[i];"insert"==n.action||"remove"==n.action?this.doc.revertDelta(n):n.folds&&this.addFolds(n.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=0;i<e.length;i++){var n=e[i];"insert"!=n.action&&"remove"!=n.action||this.doc.applyDelta(n)}!t&&this.$undoSelect&&(e.selectionAfter?this.selection.fromJSON(e.selectionAfter):this.selection.setRange(this.$getUndoSelection(e,!1))),this.$fromUndo=!1}},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t){function i(e){return t?"insert"!==e.action:"insert"===e.action}for(var n,s,o=0;o<e.length;o++){var r=e[o];r.start&&(n?i(r)?(s=r.start,-1==n.compare(s.row,s.column)&&n.setStart(s),s=r.end,1==n.compare(s.row,s.column)&&n.setEnd(s),!0):(s=r.start,-1==n.compare(s.row,s.column)&&(n=c.fromPoints(r.start,r.start)),!1):i(r)?(n=c.fromPoints(r.start,r.end),!0):(n=c.fromPoints(r.start,r.start),!1))}return n},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,i){var n=this.getTextRange(e),s=this.getFoldsInRange(e),o=c.fromPoints(t,t);if(!i){this.remove(e);var r=e.start.row-e.end.row;(h=r?-e.end.column:e.start.column-e.end.column)&&(o.start.row==e.end.row&&o.start.column>e.end.column&&(o.start.column+=h),o.end.row==e.end.row&&o.end.column>e.end.column&&(o.end.column+=h)),r&&o.start.row>=e.end.row&&(o.start.row+=r,o.end.row+=r)}if(o.end=this.insert(o.start,n),s.length){var a=e.start,l=o.start,h=(r=l.row-a.row,l.column-a.column);this.addFolds(s.map(function(e){return(e=e.clone()).start.row==a.row&&(e.start.column+=h),e.end.row==a.row&&(e.end.column+=h),e.start.row+=r,e.end.row+=r,e}))}return o},this.indentRows=function(e,t,i){i=i.replace(/\t/g,this.getTabString());for(var n=e;n<=t;n++)this.doc.insertInLine({row:n,column:0},i)},this.outdentRows=function(e){for(var t=e.collapseRows(),i=new c(0,0,0,0),n=this.getTabSize(),s=t.start.row;s<=t.end.row;++s){var o=this.getLine(s);i.start.row=s,i.end.row=s;for(var r=0;r<n&&" "==o.charAt(r);++r);r<n&&"\t"==o.charAt(r)?(i.start.column=r,i.end.column=r+1):(i.start.column=0,i.end.column=r),this.remove(i)}},this.$moveLines=function(e,t,i){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),i<0){if((s=this.getRowFoldStart(e+i))<0)return 0;var n=s-e}else if(0<i){var s;if((s=this.getRowFoldEnd(t+i))>this.doc.getLength()-1)return 0;n=s-t}else{e=this.$clipRowToDocument(e);n=(t=this.$clipRowToDocument(t))-e+1}var o=new c(e,0,t,Number.MAX_VALUE),r=this.getFoldsInRange(o).map(function(e){return(e=e.clone()).start.row+=n,e.end.row+=n,e}),a=0==i?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+n,a),r.length&&this.addFolds(r),n},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)t=e=0;else{var i=this.doc.getLength();t=i<=e?(e=i-1,this.doc.getLine(i-1).length):Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var i=this.$wrapLimitRange;i.max<0&&(i={min:t,max:t});var n=this.$constrainWrapLimit(e,i.min,i.max);return n!=this.$wrapLimit&&1<n&&(this.$wrapLimit=n,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},this.$constrainWrapLimit=function(e,t,i){return t&&(e=Math.max(t,e)),i&&(e=Math.min(i,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,i=e.action,n=e.start,s=e.end,o=n.row,r=s.row,a=r-o,l=null;if(this.$updating=!0,0!=a)if("remove"===i){this[t?"$wrapData":"$rowLengthCache"].splice(o,a);var h=this.$foldData;l=this.getFoldsInRange(e),this.removeFolds(l);var c=0;if(m=this.getFoldLine(s.row)){m.addRemoveChars(s.row,s.column,n.column-s.column),m.shiftRow(-a);var u=this.getFoldLine(o);u&&u!==m&&(u.merge(m),m=u),c=h.indexOf(m)+1}for(;c<h.length;c++){(m=h[c]).start.row>=s.row&&m.shiftRow(-a)}r=o}else{var d=Array(a);d.unshift(o,0);var g=t?this.$wrapData:this.$rowLengthCache;g.splice.apply(g,d);h=this.$foldData,c=0;if(m=this.getFoldLine(o)){var f=m.range.compareInside(n.row,n.column);0==f?(m=m.split(n.row,n.column))&&(m.shiftRow(a),m.addRemoveChars(r,0,s.column-n.column)):-1==f&&(m.addRemoveChars(o,0,s.column-n.column),m.shiftRow(a)),c=h.indexOf(m)+1}for(;c<h.length;c++){var m;(m=h[c]).start.row>=o&&m.shiftRow(a)}}else a=Math.abs(e.start.column-e.end.column),"remove"===i&&(l=this.getFoldsInRange(e),this.removeFolds(l),a=-a),(m=this.getFoldLine(o))&&m.addRemoveChars(o,n.column,a);return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(o,r):this.$updateRowLengthCache(o,r),l},this.$updateRowLengthCache=function(e,t,i){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r,i,a=this.doc.getAllLines(),n=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,l=e;for(t=Math.min(t,a.length-1);l<=t;)(i=this.getFoldLine(l,i))?(r=[],i.walk(function(e,t,i,n){var s;if(null!=e){(s=this.$getDisplayTokens(e,r.length))[0]=f;for(var o=1;o<s.length;o++)s[o]=m}else s=this.$getDisplayTokens(a[t].substring(n,i),r.length);r=r.concat(s)}.bind(this),i.end.row,a[i.end.row].length+1),s[i.start.row]=this.$computeWrapSplits(r,o,n),l=i.end.row+1):(r=this.$getDisplayTokens(a[l]),s[l]=this.$computeWrapSplits(r,o,n),l++)};var f=3,m=4;this.$computeWrapSplits=function(n,e,s){function t(e){var t=n.slice(r,e),i=t.length;t.join("").replace(/12/g,function(){i-=1}).replace(/2/g,function(){i-=1}),o.length||(u=function(){var e=0;if(0===c)return e;if(h)for(var t=0;t<n.length;t++){var i=n[t];if(10==i)e+=1;else{if(11!=i){if(12==i)continue;break}e+=s}}return l&&!1!==h&&(e+=s),Math.min(e,c)}(),o.indent=u),a+=i,o.push(a),r=e}if(0==n.length)return[];for(var o=[],i=n.length,r=0,a=0,l=this.$wrapAsCode,h=this.$indentedSoftWrap,c=e<=Math.max(2*s,8)||!1===h?0:Math.floor(e/2),u=0;e-u<i-r;){var d=r+e-u;if(10<=n[d-1]&&10<=n[d])t(d);else if(n[d]!=f&&n[d]!=m){for(var g=Math.max(d-(e-(e>>2)),r-1);g<d&&n[d]<f;)d--;if(l){for(;g<d&&n[d]<f;)d--;for(;g<d&&9==n[d];)d--}else for(;g<d&&n[d]<10;)d--;g<d?t(++d):(2==n[d=r+e]&&d--,t(d-u))}else{for(;d!=r-1&&n[d]!=f;d--);if(r<d){t(d);continue}for(d=r+e;d<n.length&&n[d]==m;d++);if(d==n.length)break;t(d)}}return o},this.$getDisplayTokens=function(e,t){var i,n=[];t=t||0;for(var s=0;s<e.length;s++){var o=e.charCodeAt(s);if(9==o){i=this.getScreenTabSize(n.length+t),n.push(11);for(var r=1;r<i;r++)n.push(12)}else 32==o?n.push(10):39<o&&o<48||57<o&&o<64?n.push(9):4352<=o&&a(o)?n.push(1,2):n.push(1)}return n},this.$getStringScreenWidth=function(e,t,i){if(0==t)return[0,0];var n,s;for(null==t&&(t=1/0),i=i||0,s=0;s<e.length&&(9==(n=e.charCodeAt(s))?i+=this.getScreenTabSize(i):4352<=n&&a(n)?i+=2:i+=1,!(t<i));s++);return[i,s]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.getRowLineCount=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),i=this.$wrapData[t.row];return i.length&&i[0]<t.column?i.indent:0}return 0},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var i=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(i)},this.getDocumentLastRowColumnPosition=function(e,t){var i=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(i,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:void 0},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t,i){if(e<0)return{row:0,column:0};var n,s,o=0,r=0,a=0,l=0,h=this.$screenRowCache,c=this.$getRowCacheIndex(h,e),u=h.length;if(u&&0<=c){a=h[c],o=this.$docRowCache[c];var d=e>h[u-1]}else d=!u;for(var g=this.getLength()-1,f=this.getNextFoldLine(o),m=f?f.start.row:1/0;a<=e&&!(e<a+(l=this.getRowLength(o))||g<=o);)a+=l,m<++o&&(o=f.end.row+1,m=(f=this.getNextFoldLine(o,f))?f.start.row:1/0),d&&(this.$docRowCache.push(o),this.$screenRowCache.push(a));if(f&&f.start.row<=o)n=this.getFoldDisplayLine(f),o=f.start.row;else{if(a+l<=e||g<o)return{row:g,column:this.getLine(g).length};n=this.getLine(o),f=null}var p=0,v=Math.floor(e-a);if(this.$useWrapMode){var w=this.$wrapData[o];w&&(s=w[v],0<v&&w.length&&(p=w.indent,r=w[v-1]||w[w.length-1],n=n.substring(r)))}return void 0!==i&&this.$bidiHandler.isBidiRow(a+v,o,v)&&(t=this.$bidiHandler.offsetToCol(i)),r+=this.$getStringScreenWidth(n,t-p)[1],this.$useWrapMode&&s<=r&&(r=s-1),f?f.idxToPosition(r):{row:o,column:r}},this.documentToScreenPosition=function(e,t){if(void 0===t)var i=this.$clipPositionToDocument(e.row,e.column);else i=this.$clipPositionToDocument(e,t);e=i.row,t=i.column;var n,s=0,o=null;(n=this.getFoldAt(e,t,1))&&(e=n.start.row,t=n.start.column);var r,a=0,l=this.$docRowCache,h=this.$getRowCacheIndex(l,e),c=l.length;if(c&&0<=h){a=l[h],s=this.$screenRowCache[h];var u=e>l[c-1]}else u=!c;for(var d=this.getNextFoldLine(a),g=d?d.start.row:1/0;a<e;){if(g<=a){if(e<(r=d.end.row+1))break;g=(d=this.getNextFoldLine(r,d))?d.start.row:1/0}else r=a+1;s+=this.getRowLength(a),a=r,u&&(this.$docRowCache.push(a),this.$screenRowCache.push(s))}var f="";o=d&&g<=a?(f=this.getFoldDisplayLine(d,e,t),d.start.row):(f=this.getLine(e).substring(0,t),e);var m=0;if(this.$useWrapMode){var p=this.$wrapData[o];if(p){for(var v=0;f.length>=p[v];)s++,v++;f=f.substring(p[v-1]||0,f.length),m=0<v?p.indent:0}}return{row:s,column:m+this.$getStringScreenWidth(f)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var i=this.$wrapData.length,n=0,s=(a=0,(t=this.$foldData[a++])?t.start.row:1/0);n<i;){var o=this.$wrapData[n];e+=o?o.length+1:1,s<++n&&(n=t.end.row+1,s=(t=this.$foldData[a++])?t.start.row:1/0)}else{e=this.getLength();for(var r=this.$foldData,a=0;a<r.length;a++)e-=(t=r[a]).end.row-t.start.row}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(o){this.$enableVarChar&&(this.$getStringScreenWidth=function(e,t,i){if(0===t)return[0,0];var n,s;for(t=t||1/0,i=i||0,s=0;s<e.length&&!(t<(i+="\t"===(n=e.charAt(s))?this.getScreenTabSize(i):o.getCharacterWidth(n)));s++);return[i,s]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=a}.call(f.prototype),e("./edit_session/folding").Folding.call(f.prototype),e("./edit_session/bracket_match").BracketMatch.call(f.prototype),r.defineOptions(f.prototype,"session",{wrap:{set:function(e){if(e&&"off"!=e?"free"==e?e=!0:"printMargin"==e?e=-1:"string"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e)if(this.$wrap=e){var t="number"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){(e="auto"==e?"text"!=this.$mode.type:"text"!=e)!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){isNaN(e)||this.$tabSize===e||(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(e){this.setFoldStyle(e)},handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=f}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,i){"use strict";function n(){this.$options={}}var $=e("./lib/lang"),s=e("./lib/oop"),y=e("./range").Range;(function(){this.set=function(e){return s.mixin(this.$options,e),this},this.getOptions=function(){return $.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var s=this.$options,t=this.$matchIterator(e,s);if(!t)return!1;var o=null;return t.forEach(function(e,t,i,n){return o=new y(e,t,i,n),!(t==n&&s.start&&s.start.start&&0!=s.skipCurrent&&o.isEqual(s.start))||(o=null,!1)}),o},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var i=t.range,n=i?e.getLines(i.start.row,i.end.row):e.doc.getAllLines(),s=[],o=t.re;if(t.$isMultiLine){var r,a=o.length,l=n.length-a;e:for(var h=o.offset||0;h<=l;h++){for(var c=0;c<a;c++)if(-1==n[h+c].search(o[c]))continue e;var u=n[h],d=n[h+a-1],g=u.length-u.match(o[0])[0].length,f=d.match(o[a-1])[0].length;r&&r.end.row===h&&r.end.column>g||(s.push(r=new y(h,g,h+a-1,f)),2<a&&(h=h+a-2))}}else for(var m=0;m<n.length;m++){var p=$.getMatchOffsets(n[m],o);for(c=0;c<p.length;c++){var v=p[c];s.push(new y(m,v.offset,m,v.offset+v.length))}}if(i){var w=i.start.column,b=i.start.column;for(m=0,c=s.length-1;m<c&&s[m].start.column<w&&s[m].start.row==i.start.row;)m++;for(;m<c&&s[c].end.column>b&&s[c].end.row==i.end.row;)c--;for(s=s.slice(m,c+1),m=0,c=s.length;m<c;m++)s[m].start.row+=i.start.row,s[m].end.row+=i.start.row}return s},this.replace=function(e,t){var i=this.$options,n=this.$assembleRegExp(i);if(i.$isMultiLine)return t;if(n){var s=n.exec(e);if(!s||s[0].length!=e.length)return null;if(t=e.replace(n,t),i.preserveCase){t=t.split("");for(var o=Math.min(e.length,e.length);o--;){var r=e[o];r&&r.toLowerCase()!=r?t[o]=t[o].toUpperCase():t[o]=t[o].toLowerCase()}t=t.join("")}return t}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var i=e.needle;if(!e.needle)return e.re=!1;e.regExp||(i=$.escapeRegExp(i)),e.wholeWord&&(i=function(e,t){function i(e){return/\w/.test(e)||t.regExp?"\\b":""}return i(e[0])+e+i(e[e.length-1])}(i,e));var n=e.caseSensitive?"gm":"gmi";if(e.$isMultiLine=!t&&/[\n\r]/.test(i),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(i,n);try{var s=new RegExp(i,n)}catch(e){s=!1}return e.re=s},this.$assembleMultilineRegExp=function(e,t){for(var i=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),n=[],s=0;s<i.length;s++)try{n.push(new RegExp(i[s],t))}catch(e){return!1}return n},this.$matchIterator=function(c,i){var u=this.$assembleRegExp(i);if(!u)return!1;var l=1==i.backwards,e=0!=i.skipCurrent,t=i.range,n=i.start;(n=n||(t?t[l?"end":"start"]:c.selection.getRange())).start&&(n=n[e!=l?"end":"start"]);var s=t?t.start.row:0,o=t?t.end.row:c.getLength()-1;if(l)var r=function(e){var t=n.row;if(!a(t,n.column,e)){for(t--;s<=t;t--)if(a(t,Number.MAX_VALUE,e))return;if(0!=i.wrap)for(t=o,s=n.row;s<=t;t--)if(a(t,Number.MAX_VALUE,e))return}};else r=function(e){var t=n.row;if(!a(t,n.column,e)){for(t+=1;t<=o;t++)if(a(t,0,e))return;if(0!=i.wrap)for(t=s,o=n.row;t<=o;t++)if(a(t,0,e))return}};if(i.$isMultiLine)var h=u.length,a=function(e,t,i){var n=l?e-h+1:e;if(!(n<0)){var s=c.getLine(n),o=s.search(u[0]);if(!(!l&&o<t||-1===o)){for(var r=1;r<h;r++)if(-1==(s=c.getLine(n+r)).search(u[r]))return;var a=s.match(u[h-1])[0].length;if(!(l&&t<a))return!!i(n,o,n+h-1,a)||void 0}}};else if(l)a=function(e,t,i){var n,s=c.getLine(e),o=[],r=0;for(u.lastIndex=0;n=u.exec(s);){var a=n[0].length;if(r=n.index,!a){if(r>=s.length)break;u.lastIndex=r+=1}if(n.index+a>t)break;o.push(n.index,a)}for(var l=o.length-1;0<=l;l-=2){var h=o[l-1];if(i(e,h,e,h+(a=o[l])))return!0}};else a=function(e,t,i){var n,s,o=c.getLine(e);for(u.lastIndex=t;s=u.exec(o);){var r=s[0].length;if(i(e,n=s.index,e,n+r))return!0;if(!r&&(u.lastIndex=n+=1,n>=o.length))return!1}};return{forEach:r}}}).call(n.prototype),t.Search=n}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,i){"use strict";function n(e,t){this.platform=t||(o.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function s(e,t){n.call(this,e,t),this.$singleCommand=!1}var a=e("../lib/keys"),o=e("../lib/useragent"),l=a.KEY_MODS;s.prototype=n.prototype,function(){function r(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),(this.commands[e.name]=e).bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var i=e&&("string"==typeof e?e:e.name);e=this.commands[i],t||delete this.commands[i];var n=this.commandKeyBinding;for(var s in n){var o=n[s];if(o==e)delete n[s];else if(Array.isArray(o)){var r=o.indexOf(e);-1!=r&&(o.splice(r,1),1==o.length&&(n[s]=o[0]))}}},this.bindKey=function(e,o,r){if("object"==typeof e&&e&&(null==r&&(r=e.position),e=e[this.platform]),e)return"function"==typeof o?this.addCommand({exec:o,bindKey:e,name:o.name||e}):void e.split("|").forEach(function(e){var n="";if(-1!=e.indexOf(" ")){var t=e.split(/\s+/);e=t.pop(),t.forEach(function(e){var t=this.parseKeys(e),i=l[t.hashId]+t.key;n+=(n?" ":"")+i,this._addCommandToBinding(n,"chainKeys")},this),n+=" "}var i=this.parseKeys(e),s=l[i.hashId]+i.key;this._addCommandToBinding(n+s,o,r)},this)},this._addCommandToBinding=function(e,t,i){var n,s=this.commandKeyBinding;if(t)if(!s[e]||this.$singleCommand)s[e]=t;else{Array.isArray(s[e])?-1!=(n=s[e].indexOf(t))&&s[e].splice(n,1):s[e]=[s[e]],"number"!=typeof i&&(i=r(t));var o=s[e];for(n=0;n<o.length;n++){if(i<r(o[n]))break}o.splice(n,0,t)}else delete s[e]},this.addCommands=function(i){i&&Object.keys(i).forEach(function(e){var t=i[e];if(t){if("string"==typeof t)return this.bindKey(t,e);"function"==typeof t&&(t={exec:t}),"object"==typeof t&&(t.name||(t.name=e),this.addCommand(t))}},this)},this.removeCommands=function(t){Object.keys(t).forEach(function(e){this.removeCommand(t[e])},this)},this.bindKeys=function(t){Object.keys(t).forEach(function(e){this.bindKey(e,t[e])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),i=t.pop(),n=a[i];if(a.FUNCTION_KEYS[n])i=a.FUNCTION_KEYS[n].toLowerCase();else{if(!t.length)return{key:i,hashId:-1};if(1==t.length&&"shift"==t[0])return{key:i.toUpperCase(),hashId:-1}}for(var s=0,o=t.length;o--;){var r=a.KEY_MODS[t[o]];if(null==r)return"undefined"!=typeof console&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=r}return{key:i,hashId:s}},this.findKeyCommand=function(e,t){var i=l[e]+t;return this.commandKeyBinding[i]},this.handleKeyboard=function(e,t,i,n){if(!(n<0)){var s=l[t]+i,o=this.commandKeyBinding[s];return e.$keyChain&&(e.$keyChain+=" "+s,o=this.commandKeyBinding[e.$keyChain]||o),!o||"chainKeys"!=o&&"chainKeys"!=o[o.length-1]?(e.$keyChain&&(t&&4!=t||1!=i.length?(-1==t||0<n)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-s.length-1)),{command:o}):(e.$keyChain=e.$keyChain||s,{command:"null"})}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(n.prototype),t.HashHandler=n,t.MultiHashHandler=s}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,i){"use strict";function n(e,t){o.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})}var s=e("../lib/oop"),o=e("../keyboard/hash_handler").MultiHashHandler,r=e("../lib/event_emitter").EventEmitter;s.inherits(n,o),function(){s.implement(this,r),this.exec=function(e,t,i){if(Array.isArray(e)){for(var n=e.length;n--;)if(this.exec(e[n],t,i))return!0;return!1}if("string"==typeof e&&(e=this.commands[e]),!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(e.isAvailable&&!e.isAvailable(t))return!1;var s={editor:t,command:e,args:i};return s.returnValue=this._emit("exec",s),this._signal("afterExec",s),!1!==s.returnValue},this.toggleRecording=function(e){if(!this.$inReplay)return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(t){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(t);try{this.$inReplay=!0,this.macro.forEach(function(e){"string"==typeof e?this.exec(e,t):this.exec(e[0],t,e[1])},this)}finally{this.$inReplay=!1}}},this.trimMacro=function(e){return e.map(function(e){return"string"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(n.prototype),t.CommandManager=n}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,i){"use strict";function n(e,t){return{win:e,mac:t}}var h=e("../lib/lang"),s=e("../config"),c=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:n("Ctrl-,","Command-,"),exec:function(t){s.loadModule("ace/ext/settings_menu",function(e){e.init(t),t.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:n("Alt-E","F4"),exec:function(t){s.loadModule("ace/ext/error_marker",function(e){e.showErrorMarker(t,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:n("Alt-Shift-E","Shift-F4"),exec:function(t){s.loadModule("ace/ext/error_marker",function(e){e.showErrorMarker(t,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:n("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:n(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:n("Ctrl-L","Command-L"),exec:function(e,t){"number"!=typeof t&&(t=parseInt(prompt("Enter line number:"),10)),isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:n("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:n("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:n("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:n("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:n(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:n("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:n("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:n("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:n("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:n("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:n("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:n("Ctrl-F","Command-F"),exec:function(t){s.loadModule("ace/ext/searchbox",function(e){e.Search(t)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:n("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:n("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:n("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:n("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:n("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:n("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:n("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:n("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:n("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:n("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:n("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:n("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:n("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:n("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:n("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:n("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:n("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:n("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:n("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:n("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:n(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:n("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:n(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:n("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:n("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:n("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:n("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:n("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:n("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:n("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:n(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty()?e.selection.getLineRange():e.selection.getRange();e._emit("cut",t),t.isEmpty()||e.session.remove(t),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:n("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:n("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:n("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:n("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:n("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:n("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:n("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:n("Ctrl-H","Command-Option-F"),exec:function(t){s.loadModule("ace/ext/searchbox",function(e){e.Search(t,!0)})}},{name:"undo",bindKey:n("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:n("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:n("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:n("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:n("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:n("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:n("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:n("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:n("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:n("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:n("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",bindKey:n("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",bindKey:n("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:n("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:n("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:n("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:n("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:n("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:n("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(h.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:n(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:n("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:n("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:n("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:n("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:n(null,null),exec:function(e){for(var t=e.selection.isBackwards(),i=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),n=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),s=e.session.doc.getLine(i.row).length,o=e.session.doc.getTextRange(e.selection.getRange()).replace(/\n\s*/," ").length,r=e.session.doc.getLine(i.row),a=i.row+1;a<=n.row+1;a++){var l=h.stringTrimLeft(h.stringTrimRight(e.session.doc.getLine(a)));0!==l.length&&(l=" "+l),r+=l}n.row+1<e.session.doc.getLength()-1&&(r+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new c(i.row,0,n.row+2,0),r),0<o?(e.selection.moveCursorTo(i.row,i.column),e.selection.selectTo(i.row,i.column+o)):(s=e.session.doc.getLine(i.row).length>s?s+1:s,e.selection.moveCursorTo(i.row,s))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:n(null,null),exec:function(e){var t=e.session.doc.getLength()-1,i=e.session.doc.getLine(t).length,n=e.selection.rangeList.ranges,s=[];n.length<1&&(n=[e.selection.getRange()]);for(var o=0;o<n.length;o++)o!=n.length-1||n[o].end.row===t&&n[o].end.column===i||s.push(new c(n[o].end.row,n[o].end.column,t,i)),0===o?0===n[o].start.row&&0===n[o].start.column||s.push(new c(0,0,n[o].start.row,n[o].start.column)):s.push(new c(n[o-1].end.row,n[o-1].end.column,n[o].start.row,n[o].start.column));e.exitMultiSelectMode(),e.clearSelection();for(o=0;o<s.length;o++)e.selection.addRange(s[o],!1)},readOnly:!0,scrollIntoView:"none"}]}),ace.define("ace/clipboard",["require","exports","module"],function(e,t,i){"use strict";i.exports={lineMode:!1}}),ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/clipboard"],function(e,t,i){"use strict";e("./lib/fixoldbrowsers");var o=e("./lib/oop"),n=e("./lib/dom"),c=e("./lib/lang"),s=e("./lib/useragent"),r=e("./keyboard/textinput").TextInput,a=e("./mouse/mouse_handler").MouseHandler,l=e("./mouse/fold_handler").FoldHandler,h=e("./keyboard/keybinding").KeyBinding,u=e("./edit_session").EditSession,d=e("./search").Search,m=e("./range").Range,g=e("./lib/event_emitter").EventEmitter,f=e("./commands/command_manager").CommandManager,p=e("./commands/default_commands").commands,v=e("./config"),w=e("./token_iterator").TokenIterator,b=e("./clipboard"),$=function(e,t,i){var n=e.getContainerElement();this.container=n,this.renderer=e,this.id="editor"+ ++$.$uid,this.commands=new f(s.isMac?"mac":"win",p),"object"==typeof document&&(this.textInput=new r(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new a(this),new l(this)),this.keyBinding=new h(this),this.$search=(new d).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=c.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||i&&i.session||new u("")),v.resetOptions(this),i&&this.setOptions(i),v._signal("editor",this)};$.$uid=0,function(){o.implement(this,g),this.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=c.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},this.endOperation=function(e){if(this.curOp){if(e&&!1===e.returnValue)return this.curOp=null;this._signal("beforeEndOperation");var t=this.curOp.command,i=t&&t.scrollIntoView;if(i){switch(i){case"center-animate":i="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var n=this.selection.getRange(),s=this.renderer.layerConfig;(n.start.row>=s.lastRow||n.end.row<=s.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==i&&this.renderer.animateScrolling(this.curOp.scrollTop)}var o=this.selection.toJSON();this.curOp.selectionAfter=o,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(o),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,i=this.$mergeableCommands,n=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var s=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),n=n&&this.mergeNextCommand&&(!/\s/.test(s)||/\s/.test(t.args)),this.mergeNextCommand=!0}else n=n&&-1!==i.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&2e3<Date.now()-this.sequenceStartTime&&(n=!1),n?this.session.mergeUndoDeltas=!0:-1!==i.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(t,i){if(t&&"string"==typeof t&&"ace"!=t){this.$keybindingId=t;var n=this;v.loadModule(["keybinding",t],function(e){n.$keybindingId==t&&n.keyBinding.setKeyboardHandler(e&&e.handler),i&&i()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(t),i&&i()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var i=this.session.getSelection();i.off("changeCursor",this.$onCursorChange),i.off("changeSelection",this.$onSelectionChange)}(this.session=e)?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()}},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():-1==t&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||n.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var n=this;this.$highlightPending=!0,setTimeout(function(){n.$highlightPending=!1;var e=n.session;if(e&&e.bgTokenizer){var t=e.findMatchingBracket(n.getCursorPosition());if(t)var i=new m(t.row,t.column,t.row,t.column+1);else if(e.$mode.getMatching)i=e.$mode.getMatching(n.session);i&&(e.$bracketHighlight=e.addMarker(i,"ace_bracket","text"))}},50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var u=this;this.$highlightTagPending=!0,setTimeout(function(){u.$highlightTagPending=!1;var e=u.session;if(e&&e.bgTokenizer){var t=u.getCursorPosition(),i=new w(u.session,t.row,t.column),n=i.getCurrentToken();if(!n||!/\b(?:tag-open|tag-name)/.test(n.type))return e.removeMarker(e.$tagHighlight),void(e.$tagHighlight=null);if(-1==n.type.indexOf("tag-open")||(n=i.stepForward())){var s=n.value,o=0,r=i.stepBackward();if("<"==r.value)for(;r=n,(n=i.stepForward())&&n.value===s&&-1!==n.type.indexOf("tag-name")&&("<"===r.value?o++:"</"===r.value&&o--),n&&0<=o;);else{for(;n=r,r=i.stepBackward(),n&&n.value===s&&-1!==n.type.indexOf("tag-name")&&("<"===r.value?o++:"</"===r.value&&o--),r&&o<=0;);i.stepForward()}if(!n)return e.removeMarker(e.$tagHighlight),void(e.$tagHighlight=null);var a=i.getCurrentTokenRow(),l=i.getCurrentTokenColumn(),h=new m(a,l,a,l+n.value.length),c=e.$backMarkers[e.$tagHighlight];e.$tagHighlight&&null!=c&&0!==h.compareRange(c.range)&&(e.removeMarker(e.$tagHighlight),e.$tagHighlight=null),e.$tagHighlight||(e.$tagHighlight=e.addMarker(h,"ace_bracket","text"))}}},50)}},this.focus=function(){var e=this;setTimeout(function(){e.isFocused()||e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e))},this.onBlur=function(e){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=this.session.$useWrapMode,i=e.start.row==e.end.row?e.end.row:1/0;this.renderer.updateLines(e.start.row,i,t),this._signal("change",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e,t=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(e=this.getCursorPosition()),this.renderer.$theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(e=!1),!this.renderer.$maxLines||1!==this.session.getLength()||1<this.renderer.$minLines||(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var i=new m(e.row,e.column,e.row,1/0);i.id=t.addMarker(i,"ace_active-line","screenLine"),t.$highlightLineMarker=i}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var i=this.selection.getRange(),n=this.getSelectionStyle();t.$selectionMarker=t.addMarker(i,"ace_selection",n)}var s=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(s),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var i=t.start.column,n=t.end.column,s=e.getLine(t.start.row),o=s.substring(i,n);if(!(5e3<o.length)&&/[\w\d]/.test(o)){var r=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o}),a=s.substring(i-1,n+1);if(r.test(a))return r}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),i=!1;if(!e&&this.$copyWithEmptySelection){i=!0;for(var n=this.selection.getAllRanges(),s=0;s<n.length;s++){var o=n[s];s&&n[s-1].start.row==o.start.row||(e+=this.session.getLine(o.start.row)+t)}}var r={text:e};return this._signal("copy",r),b.lineMode=i?r.text:"",r.text},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var i={text:e,event:t};this.commands.exec("paste",this,i)},this.$handlePaste=function(e){"string"==typeof e&&(e={text:e}),this._signal("paste",e);var t=e.text,i=t==b.lineMode,n=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)i?n.insert({row:this.selection.lead.row,column:0},t):this.insert(t);else if(i)this.selection.rangeList.ranges.forEach(function(e){n.insert({row:e.start.row,column:0},t)});else{var s=t.split(/\r\n|\r|\n/),o=this.selection.rangeList.ranges;if(s.length>o.length||s.length<2||!s[1])return this.commands.exec("insertstring",this,t);for(var r=o.length;r--;){var a=o[r];a.isEmpty()||n.remove(a),n.insert(a.start,s[r])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var i=this.session,n=i.getMode(),s=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var o=n.transformAction(i.getState(s.row),"insertion",this,i,e);o&&(e!==o.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=o.text)}if("\t"==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&-1==e.indexOf("\n")){(r=new m.fromPoints(s,s)).end.column+=e.length,this.session.remove(r)}}else{var r=this.getSelectionRange();s=this.session.remove(r),this.clearSelection()}if("\n"==e||"\r\n"==e){var a=i.getLine(s.row);if(s.column>a.search(/\S|$/)){var l=a.substr(s.column).search(/\S|$/);i.doc.removeInLine(s.row,s.column,s.column+l)}}this.clearSelection();var h=s.column,c=i.getState(s.row),u=(a=i.getLine(s.row),n.checkOutdent(c,a,e));i.insert(s,e);if(o&&o.selection&&(2==o.selection.length?this.selection.setSelectionRange(new m(s.row,h+o.selection[0],s.row,h+o.selection[1])):this.selection.setSelectionRange(new m(s.row+o.selection[0],o.selection[1],s.row+o.selection[2],o.selection[3]))),i.getDocument().isNewLine(e)){var d=n.getNextLineIndent(c,a.slice(0,s.column),i.getTabString());i.insert({row:s.row+1,column:0},d)}u&&n.autoOutdent(c,i,s.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,i){this.keyBinding.onCommandKey(e,t,i)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var i=this.session,n=i.getState(t.start.row),s=i.getMode().transformAction(n,"deletion",this,i,t);if(0===t.end.column){var o=i.getTextRange(t);if("\n"==o[o.length-1]){var r=i.getLine(t.end.row);/^\s+$/.test(r)&&(t.end.column=r.length)}}s&&(t=s)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var i,n,s=this.session.getLine(e.row);n=t<s.length?(i=s.charAt(t)+s.charAt(t-1),new m(e.row,t-1,e.row,t+1)):(i=s.charAt(t-1)+s.charAt(t-2),new m(e.row,t-2,e.row,t)),this.session.replace(n,i),this.session.selection.moveToPosition(n.end)}}},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),i=this.session.getTextRange(t);this.session.replace(t,i.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),i=this.session.getTextRange(t);this.session.replace(t,i.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(!(t.start.row<t.end.row)){if(t.start.column<t.end.column){var i=e.getTextRange(t);if(!/^\s+$/.test(i)){h=this.$getSelectedRows();return void e.indentRows(h.first,h.last,"\t")}}var n=e.getLine(t.start.row),s=t.start,o=e.getTabSize(),r=e.documentToScreenColumn(s.row,s.column);if(this.session.getUseSoftTabs())var a=o-r%o,l=c.stringRepeat(" ",a);else{for(a=r%o;" "==n[t.start.column-1]&&a;)t.start.column--,a--;this.selection.setSelectionRange(t),l="\t"}return this.insert(l)}var h=this.$getSelectedRows();e.indentRows(h.first,h.last,"\t")},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last,"\t")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){for(var e=this.$getSelectedRows(),t=this.session,i=[],n=e.first;n<=e.last;n++)i.push(t.getLine(n));i.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});var s=new m(0,0,0,0);for(n=e.first;n<=e.last;n++){var o=t.getLine(n);s.start.row=n,s.end.row=n,s.end.column=o.length,t.replace(s,i[n-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),i=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,i,e)},this.getNumberAt=function(e,t){var i=/[\-]?[0-9]+(?:\.[0-9]+)?/g;i.lastIndex=0;for(var n=this.session.getLine(e);i.lastIndex<t;){var s=i.exec(n);if(s.index<=t&&s.index+s[0].length>=t)return{value:s[0],start:s.index,end:s.index+s[0].length}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,i=this.selection.getCursor().column,n=new m(t,i-1,t,i),s=this.session.getTextRange(n);if(!isNaN(parseFloat(s))&&isFinite(s)){var o=this.getNumberAt(t,i);if(o){var r=0<=o.value.indexOf(".")?o.start+o.value.indexOf(".")+1:o.end,a=o.start+o.value.length-r,l=parseFloat(o.value);l*=Math.pow(10,a),r!==o.end&&i<r?e*=Math.pow(10,o.end-i-1):e*=Math.pow(10,o.end-i),l+=e;var h=(l/=Math.pow(10,a)).toFixed(a),c=new m(t,o.start,t,o.end);this.session.replace(c,h),this.moveCursorTo(t,Math.max(o.start+1,i+h.length-o.value.length))}}},this.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,i=e.getRange(),n=e.isBackwards();if(i.isEmpty()){var s=i.start.row;t.duplicateLines(s,s)}else{var o=n?i.start:i.end,r=t.insert(o,t.getTextRange(i),!1);i.start=o,i.end=r,e.setSelectionRange(i,n)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,i){return this.session.moveText(e,t,i)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var i,n,s=this.selection;if(!s.inMultiSelectMode||this.inVirtualSelectionMode){var o=s.toOrientedRange();i=this.$getSelectedRows(o),n=this.session.$moveLines(i.first,i.last,t?0:e),t&&-1==e&&(n=0),o.moveBy(n,0),s.fromOrientedRange(o)}else{var r=s.rangeList.ranges;s.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var a=0,l=0,h=r.length,c=0;c<h;c++){var u=c;r[c].moveBy(a,0);for(var d=(i=this.$getSelectedRows(r[c])).first,g=i.last;++c<h;){l&&r[c].moveBy(l,0);var f=this.$getSelectedRows(r[c]);if(t&&f.first!=g)break;if(!t&&f.first>g+1)break;g=f.last}for(c--,a=this.session.$moveLines(d,g,t?0:e),t&&-1==e&&(u=c+1);u<=c;)r[u].moveBy(a,0),u++;t||(a=0),l+=a}s.fromOrientedRange(s.ranges[0]),s.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var i=this.renderer,n=this.renderer.layerConfig,s=e*Math.floor(n.height/n.lineHeight);!0===t?this.selection.$moveSelection(function(){this.moveCursorBy(s,0)}):!1===t&&(this.selection.moveCursorBy(s,0),this.selection.clearSelection());var o=i.scrollTop;i.scrollBy(0,s*n.lineHeight),null!=t&&i.scrollCursorIntoView(null,.5),i.animateScrolling(o)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,i,n){this.renderer.scrollToLine(e,t,i,n)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var i=this.getCursorPosition(),n=new w(this.session,i.row,i.column),s=n.getCurrentToken(),o=s||n.stepForward();if(o){var r,a,l=!1,h={},c=i.column-o.start,u={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g)){for(;c<o.value.length&&!l;c++)if(u[o.value[c]])switch(a=u[o.value[c]]+"."+o.type.replace("rparen","lparen"),isNaN(h[a])&&(h[a]=0),o.value[c]){case"(":case"[":case"{":h[a]++;break;case")":case"]":case"}":h[a]--,-1===h[a]&&(r="bracket",l=!0)}}else-1!==o.type.indexOf("tag-name")&&(isNaN(h[o.value])&&(h[o.value]=0),"<"===s.value?h[o.value]++:"</"===s.value&&h[o.value]--,-1===h[o.value]&&(r="tag",l=!0));l||(s=o,o=n.stepForward(),c=0)}while(o&&!l);if(r){var d,g;if("bracket"===r)(d=this.session.getBracketRange(i))||(g=(d=new m(n.getCurrentTokenRow(),n.getCurrentTokenColumn()+c-1,n.getCurrentTokenRow(),n.getCurrentTokenColumn()+c-1)).start,(t||g.row===i.row&&Math.abs(g.column-i.column)<2)&&(d=this.session.getBracketRange(g)));else if("tag"===r){if(!o||-1===o.type.indexOf("tag-name"))return;var f=o.value;if(0===(d=new m(n.getCurrentTokenRow(),n.getCurrentTokenColumn()-2,n.getCurrentTokenRow(),n.getCurrentTokenColumn()-2)).compare(i.row,i.column))for(l=!1;o=s,(s=n.stepBackward())&&(-1!==s.type.indexOf("tag-close")&&d.setEnd(n.getCurrentTokenRow(),n.getCurrentTokenColumn()+1),o.value===f&&-1!==o.type.indexOf("tag-name")&&("<"===s.value?h[f]++:"</"===s.value&&h[f]--,0===h[f]&&(l=!0))),s&&!l;);o&&o.type.indexOf("tag-name")&&((g=d.start).row==i.row&&Math.abs(g.column-i.column)<2&&(g=d.end))}(g=d&&d.cursor||g)&&(e?d&&t?this.selection.setRange(d):d&&d.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(g.row,g.column):this.selection.moveTo(g.row,g.column))}}},this.gotoLine=function(e,t,i){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,i)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var i=this.$search.find(this.session),n=0;return i&&(this.$tryReplace(i,e)&&(n=1),this.selection.setSelectionRange(i),this.renderer.scrollSelectionIntoView(i.start,i.end)),n},this.replaceAll=function(e,t){t&&this.$search.set(t);var i=this.$search.findAll(this.session),n=0;if(!i.length)return n;var s=this.getSelectionRange();this.selection.moveTo(0,0);for(var o=i.length-1;0<=o;--o)this.$tryReplace(i[o],e)&&n++;return this.selection.setSelectionRange(s),n},this.$tryReplace=function(e,t){var i=this.session.getTextRange(e);return null!==(t=this.$search.replace(i,t))?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,i){t=t||{},"string"==typeof e||e instanceof RegExp?t.needle=e:"object"==typeof e&&o.mixin(t,e);var n=this.selection.getRange();null==t.needle&&((e=this.session.getTextRange(n)||this.$search.$options.needle)||(n=this.session.getWordRange(n.start.row,n.start.column),e=this.session.getTextRange(n)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:n});var s=this.$search.find(this.session);return t.preventScroll?s:s?(this.revealRange(s,i),s):(t.backwards?n.start=n.end:n.end=n.start,void this.selection.setRange(n))},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var i=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),!1!==t&&this.renderer.animateScrolling(i)},this.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(e){var s,o=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var a=this.$scrollAnchor;a.style.cssText="position:absolute",this.container.insertBefore(a,this.container.firstChild);var t=this.on("changeSelection",function(){r=!0}),i=this.renderer.on("beforeRender",function(){r&&(s=o.renderer.container.getBoundingClientRect())}),n=this.renderer.on("afterRender",function(){if(r&&s&&(o.isFocused()||o.searchBox&&o.searchBox.isFocused())){var e=o.renderer,t=e.$cursorLayer.$pixelPos,i=e.layerConfig,n=t.top-i.offset;null!=(r=0<=t.top&&n+s.top<0||!(t.top<i.height&&t.top+s.top+i.lineHeight>window.innerHeight)&&null)&&(a.style.top=n+"px",a.style.left=t.left+"px",a.style.height=i.lineHeight+"px",a.scrollIntoView(r)),r=s=null}});this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",t),this.renderer.off("afterRender",n),this.renderer.off("beforeRender",i))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,n.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))}}.call($.prototype),v.defineOptions($.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=$}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,i){"use strict";function a(e){return{row:e.row,column:e.column}}function s(e,t){var i="insert"==e.action,n="insert"==t.action;if(i&&n)if(0<=g(t.start,e.end))l(t,e,-1);else{if(!(g(t.start,e.start)<=0))return null;l(e,t,1)}else if(i&&!n)if(0<=g(t.start,e.end))l(t,e,-1);else{if(!(g(t.end,e.start)<=0))return null;l(e,t,-1)}else if(!i&&n)if(0<=g(t.start,e.start))l(t,e,1);else{if(!(g(t.start,e.start)<=0))return null;l(e,t,1)}else if(!i&&!n)if(0<=g(t.start,e.start))l(t,e,1);else{if(!(g(t.end,e.start)<=0))return null;l(e,t,-1)}return[t,e]}function o(e,t){for(var i=e.length;i--;)for(var n=0;n<t.length;n++)if(!s(e[i],t[n])){for(;i<e.length;){for(;n--;)s(t[n],e[i]);n=t.length,i++}return[e,t]}return e.selectionBefore=t.selectionBefore=e.selectionAfter=t.selectionAfter=null,[t,e]}function r(e,t){var i="insert"==e.action,n="insert"==t.action;if(i&&n)g(e.start,t.start)<0?l(t,e,1):l(e,t,1);else if(i&&!n)0<=g(e.start,t.end)?l(e,t,-1):(g(e.start,t.start)<=0||l(e,d.fromPoints(t.start,e.start),-1),l(t,e,1));else if(!i&&n)0<=g(t.start,e.end)?l(t,e,-1):(g(t.start,e.start)<=0||l(t,d.fromPoints(e.start,t.start),-1),l(e,t,1));else if(!i&&!n)if(0<=g(t.start,e.end))l(t,e,-1);else{var s,o;if(!(g(t.end,e.start)<=0))return g(e.start,t.start)<0&&(e=c(s=e,t.start)),0<g(e.end,t.end)&&(o=c(e,t.end)),h(t.end,e.start,e.end,-1),o&&!s&&(e.lines=o.lines,e.start=o.start,e.end=o.end,o=e),[t,s,o].filter(Boolean);l(e,t,-1)}return[t,e]}function l(e,t,i){h(e.start,t.start,t.end,i),h(e.end,t.start,t.end,i)}function h(e,t,i,n){e.row==(1==n?t:i).row&&(e.column+=n*(i.column-t.column)),e.row+=n*(i.row-t.row)}function c(e,t){var i=e.lines,n=e.end;e.end=a(t);var s=e.end.row-e.start.row,o=i.splice(s,i.length),r=s?t.column:t.column-e.start.column;return i.push(o[0].substring(0,r)),o[0]=o[0].substr(r),{start:a(t),end:n,lines:o,action:e.action}}function u(e,t){t=function(e){return{start:a(e.start),end:a(e.end),action:e.action,lines:e.lines.slice()}}(t);for(var i=e.length;i--;)for(var n=e[i],s=n.length;0<s--;){var o=r(n[s],t);t=o[0],2!=o.length&&(o[2]?(e.splice(s+1,1,o[1],o[2]),s++):o[1]||(e.splice(s,1),s--))}return e}function n(){this.$maxRev=0,this.$fromUndo=!1,this.reset()}(function(){this.addSession=function(e){this.$session=e},this.add=function(e,t,i){this.$fromUndo||e!=this.$lastDelta&&(!1!==t&&this.lastDeltas||(this.lastDeltas=[],this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev),"remove"!=e.action&&"insert"!=e.action||(this.$lastDelta=e),this.lastDeltas.push(e))},this.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},this.startNewGroup=function(){return this.lastDeltas=null,this.$rev},this.markIgnored=function(e,t){null==t&&(t=this.$rev+1);for(var i=this.$undoStack,n=i.length;n--;){var s=i[n][0];if(s.id<=e)break;s.id<t&&(s.ignore=!0)}this.lastDeltas=null},this.getSelection=function(e,t){for(var i=this.selections,n=i.length;n--;){var s=i[n];if(s.rev<e)return t&&(s=i[n+1]),s}},this.getRevision=function(){return this.$rev},this.getDeltas=function(e,t){null==t&&(t=this.$rev+1);for(var i=this.$undoStack,n=null,s=0,o=i.length;o--;){var r=i[o][0];if(r.id<t&&!n&&(n=o+1),r.id<=e){s=o+1;break}}return i.slice(s,n)},this.getChangedRanges=function(e,t){null==t&&(t=this.$rev+1)},this.getChangedLines=function(e,t){null==t&&(t=this.$rev+1)},this.undo=function(e,t){this.lastDeltas=null;var i=this.$undoStack;if(function(e,t){for(var i=t;i--;){var n=e[i];if(n&&!n[0].ignore){for(;i<t-1;){var s=o(e[i],e[i+1]);e[i]=s[0],e[i+1]=s[1],i++}return!0}}}(i,i.length)){e=e||this.$session,this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var n=i.pop(),s=null;return n&&n.length&&(s=e.undoChanges(n,t),this.$redoStack.push(n),this.$syncRev()),this.$fromUndo=!1,s}},this.redo=function(e,t){if(this.lastDeltas=null,e=e||this.$session,this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var i=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);(function(e,t){for(var i=0;i<t.length;i++)for(var n=t[i],s=0;s<n.length;s++)u(e,n[s])})(this.$redoStack,i),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(e){e[0].id=++this.$maxRev},this)}var n=this.$redoStack.pop(),s=null;return n&&(s=e.redoChanges(n,t),this.$undoStack.push(n),this.$syncRev()),this.$fromUndo=!1,s},this.$syncRev=function(){var e=this.$undoStack,t=e[e.length-1],i=t&&t[0].id||0;this.$redoStackBaseRev=i,this.$rev=i},this.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},this.canUndo=function(){return 0<this.$undoStack.length},this.canRedo=function(){return 0<this.$redoStack.length},this.bookmark=function(e){null==e&&(e=this.$rev),this.mark=e},this.isAtBookmark=function(){return this.$rev===this.mark},this.toJSON=function(){},this.fromJSON=function(){},this.hasUndo=this.canUndo,this.hasRedo=this.canRedo,this.isClean=this.isAtBookmark,this.markClean=this.bookmark}).call(n.prototype);var d=e("./range").Range,g=d.comparePoints;d.comparePoints;t.UndoManager=n}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,i){"use strict";function n(e){this.element=y.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]}var y=e("../lib/dom"),s=e("../lib/oop"),a=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter;(function(){s.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),(this.session=e)&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var i=e[t],n=i.row,s=this.$annotations[n];s=s||(this.$annotations[n]={text:[]});var o=i.text;o=o?a.escapeHTML(o):i.html||"",-1===s.text.indexOf(o)&&s.text.push(o);var r=i.type;"error"==r?s.className=" ace_error":"warning"==r&&" ace_error"!=s.className?s.className=" ace_warning":"info"!=r||s.className||(s.className=" ace_info")}},this.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.start.row,i=e.end.row-t;if(0!=i)if("remove"==e.action)this.$annotations.splice(t,1+i,null);else{var n=new Array(1+i);n.unshift(t,1),this.$annotations.splice.apply(this.$annotations,n)}}},this.update=function(e){for(var t=this.session,i=e.firstRow,n=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1),s=t.getNextFoldLine(i),o=s?s.start.row:1/0,r=this.$showFoldWidgets&&t.foldWidgets,a=t.$breakpoints,l=t.$decorations,h=t.$firstLineNumber,c=0,u=t.gutterRenderer||this.$renderer,d=null,g=-1,f=i;;){if(o<f&&(f=s.end.row+1,o=(s=t.getNextFoldLine(f,s))?s.start.row:1/0),n<f){for(;this.$cells.length>g+1;)d=this.$cells.pop(),this.element.removeChild(d.element);break}(d=this.$cells[++g])||((d={element:null,textNode:null,foldWidget:null}).element=y.createElement("div"),d.textNode=document.createTextNode(""),d.element.appendChild(d.textNode),this.element.appendChild(d.element),this.$cells[g]=d);var m="ace_gutter-cell ";if(a[f]&&(m+=a[f]),l[f]&&(m+=l[f]),this.$annotations[f]&&(m+=this.$annotations[f].className),d.element.className!=m&&(d.element.className=m),(v=t.getRowLength(f)*e.lineHeight+"px")!=d.element.style.height&&(d.element.style.height=v),r){var p=r[f];null==p&&(p=r[f]=t.getFoldWidget(f))}if(p){d.foldWidget||(d.foldWidget=y.createElement("span"),d.element.appendChild(d.foldWidget));m="ace_fold-widget ace_"+p;"start"==p&&f==o&&f<s.end.row?m+=" ace_closed":m+=" ace_open",d.foldWidget.className!=m&&(d.foldWidget.className=m);var v=e.lineHeight+"px";d.foldWidget.style.height!=v&&(d.foldWidget.style.height=v)}else d.foldWidget&&(d.element.removeChild(d.foldWidget),d.foldWidget=null);var w=c=u?u.getText(t,f):f+h;w!==d.textNode.data&&(d.textNode.data=w),f++}this.element.style.height=e.minHeight+"px",(this.$fixedWidth||t.$useWrapMode)&&(c=t.getLength()+h);var b=u?u.getWidth(t,c,e):c.toString().length*e.characterWidth,$=this.$padding||this.$computePadding();(b+=$.left+$.right)===this.gutterWidth||isNaN(b)||(this.gutterWidth=b,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",b))},this.$fixedWidth=!1,this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return""},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?y.addCssClass(this.element,"ace_folding-enabled"):y.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=y.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(e.paddingLeft)+1||0,this.$padding.right=parseInt(e.paddingRight)||0,this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),i=this.element.getBoundingClientRect();return e.x<t.left+i.left?"markers":this.$showFoldWidgets&&e.x>i.right-t.right?"foldWidgets":void 0}}).call(n.prototype),t.Gutter=n}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,i){"use strict";function n(e){this.element=s.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)}var f=e("../range").Range,s=e("../lib/dom");(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){if(e){this.config=e;var t=[];for(var i in this.markers){var n=this.markers[i];if(n.range){var s=n.range.clipRows(e.firstRow,e.lastRow);if(!s.isEmpty())if(s=s.toScreenRange(this.session),n.renderer){var o=this.$getTop(s.start.row,e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(s.start.row)?this.session.$bidiHandler.getPosLeft(s.start.column):s.start.column*e.characterWidth);n.renderer(t,s,r,o,e)}else"fullLine"==n.type?this.drawFullLineMarker(t,s,n.clazz,e):"screenLine"==n.type?this.drawScreenLineMarker(t,s,n.clazz,e):s.isMultiLine()?"text"==n.type?this.drawTextMarker(t,s,n.clazz,e):this.drawMultiLineMarker(t,s,n.clazz,e):this.session.$bidiHandler.isBidiRow(s.start.row)?this.drawBidiSingleLineMarker(t,s,n.clazz+" ace_start ace_br15",e):this.drawSingleLineMarker(t,s,n.clazz+" ace_start ace_br15",e)}else n.update(t,this,this.session,e)}this.element.innerHTML=t.join("")}},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,i,n,s){for(var o=this.session,r=t.start.row,a=t.end.row,l=r,h=0,c=0,u=o.getScreenLastRowColumn(l),d=null,g=new f(l,t.start.column,l,c);l<=a;l++)g.start.row=g.end.row=l,g.start.column=l==r?t.start.column:o.getRowWrapIndent(l),h=c,c=g.end.column=u,u=l+1<a?o.getScreenLastRowColumn(l+1):l==a?0:t.end.column,d=i+(l==r?" ace_start":"")+" ace_br"+((l==r||l==r+1&&t.start.column?1:0)|(h<c?2:0)|(u<c?4:0)|(l==a?8:0)),this.session.$bidiHandler.isBidiRow(l)?this.drawBidiSingleLineMarker(e,g,d,n,l==a?0:1,s):this.drawSingleLineMarker(e,g,d,n,l==a?0:1,s)},this.drawMultiLineMarker=function(e,t,i,n,s){var o,r,a,l=this.$padding;(s=s||"",this.session.$bidiHandler.isBidiRow(t.start.row))?((h=t.clone()).end.row=h.start.row,h.end.column=this.session.getLine(h.start.row).length,this.drawBidiSingleLineMarker(e,h,i+" ace_br1 ace_start",n,null,s)):(o=n.lineHeight,r=this.$getTop(t.start.row,n),a=l+t.start.column*n.characterWidth,e.push("<div class='",i," ace_br1 ace_start' style='","height:",o,"px;","right:0;","top:",r,"px;","left:",a,"px;",s,"'></div>"));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var h;(h=t.clone()).start.row=h.end.row,h.start.column=0,this.drawBidiSingleLineMarker(e,h,i+" ace_br12",n,null,s)}else{var c=t.end.column*n.characterWidth;o=n.lineHeight,r=this.$getTop(t.end.row,n),e.push("<div class='",i," ace_br12' style='","height:",o,"px;","width:",c,"px;","top:",r,"px;","left:",l,"px;",s,"'></div>")}if(!((o=(t.end.row-t.start.row-1)*n.lineHeight)<=0)){r=this.$getTop(t.start.row+1,n);var u=(t.start.column?1:0)|(t.end.column?0:8);e.push("<div class='",i,u?" ace_br"+u:"","' style='","height:",o,"px;","right:0;","top:",r,"px;","left:",l,"px;",s,"'></div>")}},this.drawSingleLineMarker=function(e,t,i,n,s,o){var r=n.lineHeight,a=(t.end.column+(s||0)-t.start.column)*n.characterWidth,l=this.$getTop(t.start.row,n),h=this.$padding+t.start.column*n.characterWidth;e.push("<div class='",i,"' style='","height:",r,"px;","width:",a,"px;","top:",l,"px;","left:",h,"px;",o||"","'></div>")},this.drawBidiSingleLineMarker=function(t,e,i,n,s,o){var r=n.lineHeight,a=this.$getTop(e.start.row,n),l=this.$padding;this.session.$bidiHandler.getSelections(e.start.column,e.end.column).forEach(function(e){t.push("<div class='",i,"' style='","height:",r,"px;","width:",e.width+(s||0),"px;","top:",a,"px;","left:",l+e.left,"px;",o||"","'></div>")})},this.drawFullLineMarker=function(e,t,i,n,s){var o=this.$getTop(t.start.row,n),r=n.lineHeight;t.start.row!=t.end.row&&(r+=this.$getTop(t.end.row,n)-o),e.push("<div class='",i,"' style='","height:",r,"px;","top:",o,"px;","left:0;right:0;",s||"","'></div>")},this.drawScreenLineMarker=function(e,t,i,n,s){var o=this.$getTop(t.start.row,n),r=n.lineHeight;e.push("<div class='",i,"' style='","height:",r,"px;","top:",o,"px;","left:0;right:0;",s||"","'></div>")}}).call(n.prototype),t.Marker=n}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,i){"use strict";function n(e){this.element=h.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)}var s=e("../lib/oop"),h=e("../lib/dom"),u=e("../lib/lang"),o=(e("../lib/useragent"),e("../lib/event_emitter").EventEmitter);(function(){s.implement(this,o),this.EOF_CHAR="¶",this.EOL_CHAR_LF="¬",this.EOL_CHAR_CRLF="¤",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="—",this.SPACE_CHAR="·",this.$padding=0,this.MAX_LINE_LENGTH=1e4,this.$updateEolChar=function(){var e="\n"==this.session.doc.getNewLineCharacter()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){(this.session=e)&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],i=1;i<e+1;i++)this.showInvisibles?t.push("<span class='ace_invisible ace_invisible_tab'>"+u.stringRepeat(this.TAB_CHAR,i)+"</span>"):t.push(u.stringRepeat(" ",i));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var n="ace_indent-guide",s="",o="";if(this.showInvisibles){n+=" ace_invisible",s=" ace_invisible_space",o=" ace_invisible_tab";var r=u.stringRepeat(this.SPACE_CHAR,this.tabSize),a=u.stringRepeat(this.TAB_CHAR,this.tabSize)}else a=r=u.stringRepeat(" ",this.tabSize);this.$tabStrings[" "]="<span class='"+n+s+"'>"+r+"</span>",this.$tabStrings["\t"]="<span class='"+n+o+"'>"+a+"</span>"}},this.updateLines=function(e,t,i){this.config.lastRow==e.lastRow&&this.config.firstRow==e.firstRow||this.scrollLines(e),this.config=e;for(var n=Math.max(t,e.firstRow),s=Math.min(i,e.lastRow),o=this.element.childNodes,r=0,a=e.firstRow;a<n;a++){if(l=this.session.getFoldLine(a)){if(l.containsRow(n)){n=l.start.row;break}a=l.end.row}r++}a=n;for(var l,h=(l=this.session.getNextFoldLine(a))?l.start.row:1/0;h<a&&(a=l.end.row+1,h=(l=this.session.getNextFoldLine(a,l))?l.start.row:1/0),!(s<a);){var c=o[r++];if(c){var u=[];this.$renderLine(u,a,!this.$useLineGroups(),a==h&&l),c.style.height=e.lineHeight*this.session.getRowLength(a)+"px",c.innerHTML=u.join("")}a++}},this.scrollLines=function(e){var t=this.config;if(this.config=e,!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);var i=this.element;if(t.firstRow<e.firstRow)for(var n=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);0<n;n--)i.removeChild(i.firstChild);if(t.lastRow>e.lastRow)for(n=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);0<n;n--)i.removeChild(i.lastChild);if(e.firstRow<t.firstRow){var s=this.$renderLinesFragment(e,e.firstRow,t.firstRow-1);i.firstChild?i.insertBefore(s,i.firstChild):i.appendChild(s)}if(e.lastRow>t.lastRow){s=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);i.appendChild(s)}},this.$renderLinesFragment=function(e,t,i){for(var n=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),r=o?o.start.row:1/0;r<s&&(s=o.end.row+1,r=(o=this.session.getNextFoldLine(s,o))?o.start.row:1/0),!(i<s);){var a=h.createElement("div"),l=[];if(this.$renderLine(l,s,!1,s==r&&o),a.innerHTML=l.join(""),this.$useLineGroups())a.className="ace_line_group",n.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else for(;a.firstChild;)n.appendChild(a.firstChild);s++}return n},this.update=function(e){for(var t=[],i=(this.config=e).firstRow,n=e.lastRow,s=i,o=this.session.getNextFoldLine(s),r=o?o.start.row:1/0;r<s&&(s=o.end.row+1,r=(o=this.session.getNextFoldLine(s,o))?o.start.row:1/0),!(n<s);)this.$useLineGroups()&&t.push("<div class='ace_line_group' style='height:",e.lineHeight*this.session.getRowLength(s),"px'>"),this.$renderLine(t,s,!1,s==r&&o),this.$useLineGroups()&&t.push("</div>"),s++;this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,l,t,i){var h=this,n=i.replace(/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,function(e,t,i,n,s){if(t)return h.showInvisibles?"<span class='ace_invisible ace_invisible_space'>"+u.stringRepeat(h.SPACE_CHAR,e.length)+"</span>":e;if("&"==e)return"&";if("<"==e)return"<";if(">"==e)return">";if("\t"==e){var o=h.session.getScreenTabSize(l+n);return l+=o-1,h.$tabStrings[o]}if(" "!=e)return i?"<span class='ace_invisible ace_invisible_space ace_invalid'>"+h.SPACE_CHAR+"</span>":(l+=1,"<span class='ace_cjk' style='width:"+2*h.config.characterWidth+"px'>"+e+"</span>");var r=h.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",a=h.showInvisibles?h.SPACE_CHAR:"";return l+=1,"<span class='"+r+"' style='width:"+2*h.config.characterWidth+"px'>"+a+"</span>"});if(this.$textToken[t.type])e.push(n);else{var s="ace_"+t.type.replace(/\./g," ace_"),o="";"fold"==t.type&&(o=" style='width:"+t.value.length*this.config.characterWidth+"px;' "),e.push("<span class='",s,"'",o,">",n,"</span>")}return l+i.length},this.renderIndentGuide=function(e,t,i){var n=t.search(this.$indentGuideRe);return n<=0||i<=n?t:" "==t[0]?(n-=n%this.tabSize,e.push(u.stringRepeat(this.$tabStrings[" "],n/this.tabSize)),t.substr(n)):"\t"==t[0]?(e.push(u.stringRepeat(this.$tabStrings["\t"],n)),t.substr(n)):t},this.$renderWrappedLine=function(e,t,i,n){for(var s=0,o=0,r=i[0],a=0,l=0;l<t.length;l++){var h=t[l],c=h.value;if(0==l&&this.displayIndentGuides){if(s=c.length,!(c=this.renderIndentGuide(e,c,r)))continue;s-=c.length}if(s+c.length<r)a=this.$renderToken(e,a,h,c),s+=c.length;else{for(;s+c.length>=r;)a=this.$renderToken(e,a,h,c.substring(0,r-s)),c=c.substring(r-s),s=r,n||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),e.push(u.stringRepeat(" ",i.indent)),a=0,r=i[++o]||Number.MAX_VALUE;0!=c.length&&(s+=c.length,a=this.$renderToken(e,a,h,c))}}},this.$renderSimpleLine=function(e,t){var i=0,n=t[0],s=n.value;this.displayIndentGuides&&(s=this.renderIndentGuide(e,s)),s&&(i=this.$renderToken(e,i,n,s));for(var o=1;o<t.length;o++){if(i+(s=(n=t[o]).value).length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,i,n,s);i=this.$renderToken(e,i,n,s)}},this.$renderOverflowMessage=function(e,t,i,n){this.$renderToken(e,t,i,n.slice(0,this.MAX_LINE_LENGTH-t)),e.push("<span style='position:absolute;right:0' class='ace_inline_button ace_keyword ace_toggle_wrap'><click to see more...></span>")},this.$renderLine=function(e,t,i,n){if(n||0==n||(n=this.session.getFoldLine(t)),n)var s=this.$getFoldLineTokens(t,n);else s=this.session.getTokens(t);if(i||e.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),"px'>"),s.length){var o=this.session.getRowSplitData(t);o&&o.length?this.$renderWrappedLine(e,s,o,i):this.$renderSimpleLine(e,s)}this.showInvisibles&&(n&&(t=n.end.row),e.push("<span class='ace_invisible ace_invisible_eol'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),i||e.push("</div>")},this.$getFoldLineTokens=function(e,t){var o=this.session,r=[],a=o.getTokens(e);return t.walk(function(e,t,i,n,s){null!=e?r.push({type:"fold",value:e}):(s&&(a=o.getTokens(t)),a.length&&function(e,t,i){for(var n=0,s=0;s+e[n].value.length<t;)if(s+=e[n].value.length,++n==e.length)return;for(s!=t&&((o=e[n].value.substring(t-s)).length>i-t&&(o=o.substring(0,i-t)),r.push({type:e[n].type,value:o}),s=t+o.length,n+=1);s<i&&n<e.length;){var o;(o=e[n].value).length+s>i?r.push({type:e[n].type,value:o.substring(0,i-s)}):r.push(e[n]),s+=o.length,n+=1}}(a,n,i))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(n.prototype),t.Text=n}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,i){"use strict";function n(e){this.element=o.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),void 0===s&&(s=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),o.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(s?this.$updateVisibility:this.$updateOpacity).bind(this)}var s,o=e("../lib/dom");(function(){this.$updateVisibility=function(e){for(var t=this.cursors,i=t.length;i--;)t[i].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){for(var t=this.cursors,i=t.length;i--;)t[i].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e==this.smoothBlinking||s||(this.smoothBlinking=e,o.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=o.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(1<this.cursors.length){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,o.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,o.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&o.removeCssClass(this.element,"ace_smooth-blinking"),e(!0),this.isBlinking&&this.blinkInterval&&this.isVisible){this.smoothBlinking&&setTimeout(function(){o.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e=e||this.session.selection.getCursor();var i=this.session.documentToScreenPosition(e);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(i.row,e.row)?this.session.$bidiHandler.getPosLeft(i.column):i.column*this.config.characterWidth),top:(i.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,i=0,n=0;void 0!==t&&0!==t.length||(t=[{cursor:null}]);i=0;for(var s=t.length;i<s;i++){var o=this.getPixelPosition(t[i].cursor,!0);if(!((o.top>e.height+e.offset||o.top<0)&&1<i)){var r=(this.cursors[n++]||this.addCursor()).style;this.drawCursor?this.drawCursor(r,o,e,t[i],this.session):(r.left=o.left+"px",r.top=o.top+"px",r.width=e.characterWidth+"px",r.height=e.lineHeight+"px")}}for(;this.cursors.length>n;)this.removeCursor();var a=this.session.getOverwrite();this.$setOverwrite(a),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&((this.overwrite=e)?o.addCssClass(this.element,"ace_overwrite-cursors"):o.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(n.prototype),t.Cursor=n}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,i){"use strict";function n(e){this.element=o.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=o.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,r.addListener(this.element,"scroll",this.onScroll.bind(this)),r.addListener(this.element,"mousedown",r.preventDefault)}var s=e("./lib/oop"),o=e("./lib/dom"),r=e("./lib/event"),a=e("./lib/event_emitter").EventEmitter;(function(){s.implement(this,a),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(n.prototype);function l(e,t){n.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=o.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0}s.inherits(l,n),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){32768<(this.scrollHeight=e)?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(l.prototype);function h(e,t){n.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"}s.inherits(h,n),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(h.prototype),t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=h,t.VScrollBar=l,t.HScrollBar=h}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,i){"use strict";function n(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window}var s=e("./lib/event");(function(){this.schedule=function(e){if(this.changes=this.changes|e,!this.pending&&this.changes){this.pending=!0;var t=this;s.nextFrame(function(){var e;for(t.pending=!1;e=t.changes;)t.changes=0,t.onRender(e)},this.window)}}}).call(n.prototype),t.RenderLoop=n}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,i){var n=e("../lib/oop"),s=e("../lib/dom"),o=e("../lib/lang"),r=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,l="function"==typeof ResizeObserver,h=t.FontMetrics=function(e){this.el=s.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=s.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=s.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.innerHTML=o.stringRepeat("X",256),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()};(function(){n.implement(this,a),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",r.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){if(void 0===e&&(e=this.$measureSizes()),e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var i=this;this.$observer=new window.ResizeObserver(function(e){var t=e[0].contentRect;i.checkForSizeChanges({height:t.height,width:t.width/256})}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/256};return 0===t.width||0===t.height?null:t},this.$measureCharWidth=function(e){return this.$main.innerHTML=o.stringRepeat(e,256),this.$main.getBoundingClientRect().width/256},this.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(h.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,i){"use strict";var n=e("./lib/oop"),o=e("./lib/dom"),r=e("./config"),s=e("./lib/useragent"),a=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,h=e("./layer/text").Text,c=e("./layer/cursor").Cursor,u=e("./scrollbar").HScrollBar,d=e("./scrollbar").VScrollBar,g=e("./renderloop").RenderLoop,f=e("./layer/font_metrics").FontMetrics,m=e("./lib/event_emitter").EventEmitter;o.importCssString('.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}[ace_nocontext=true] {transform: none!important;filter: none!important;perspective: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_text-input-ios {position: absolute !important;top: -100000px !important;left: -100000px !important;}',"ace_editor.css");function p(e,t){var i=this;this.container=e||o.createElement("div"),this.$keepTextAreaAtCursor=!s.isOldIE,o.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=o.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=o.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=o.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new a(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new l(this.content);var n=this.$textLayer=new h(this.content);this.canvas=n.element,this.$markerFront=new l(this.content),this.$cursorLayer=new c(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new d(this.container,this),this.scrollBarH=new u(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){i.$scrollAnimation||i.session.setScrollTop(e.data-i.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){i.$scrollAnimation||i.session.setScrollLeft(e.data-i.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new f(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){i.updateCharacterSize(),i.onResize(!0,i.gutterWidth,i.$size.width,i.$size.height),i._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new g(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),r.resetOptions(this),r._emit("renderer",this)}(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,n.implement(this,m),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),(this.session=e)&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,i){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!i)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,i,n){if(!(2<this.resizing)){0<this.resizing?this.resizing++:this.resizing=e?1:0;var s=this.container;n=n||(s.clientHeight||s.scrollHeight),i=i||(s.clientWidth||s.scrollWidth);var o=this.$updateCachedSize(e,t,i,n);if(!this.$size.scrollerHeight||!i&&!n)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(o|this.$changes,!0):this.$loop.schedule(o|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(e,t,i,n){n-=this.$extraHeight||0;var s=0,o=this.$size,r={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};return n&&(e||o.height!=n)&&(o.height=n,s|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL),i&&(e||o.width!=i)&&(s|=this.CHANGE_SIZE,o.width=i,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",o.scrollerWidth=Math.max(0,i-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px",(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(s|=this.CHANGE_FULL)),o.$dirty=!i||!n,s&&this._signal("resize",r),s},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var i=this.session.selection.getCursor();i.column=0,e=this.$cursorLayer.getPixelPosition(i,!0),t*=this.session.getRowLength(i.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=o.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=o.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&-1==this.session.$wrap&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$keepTextAreaAtCursor){var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,i=this.$cursorLayer.$pixelPos.left;t-=e.offset;var n=this.textarea.style,s=this.lineHeight;if(t<0||t>e.height-s)n.top=n.left="0";else{var o=this.characterWidth;if(this.$composition){var r=this.textarea.value.replace(/^\x01+/,"");o*=this.session.$getStringScreenWidth(r)[0]+2,s+=2}(i-=this.scrollLeft)>this.$size.scrollerWidth-o&&(i=this.$size.scrollerWidth-o),i+=this.gutterWidth,n.height=s+"px",n.width=o+"px",n.left=Math.min(i,this.$size.scrollerWidth-o)+"px",n.top=Math.min(t,this.$size.height-s)+"px"}}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,i,n){var s=this.scrollMargin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,s.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-s.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var i=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig(),i.firstRow!=this.layerConfig.firstRow&&i.firstRowScreen==this.layerConfig.firstRowScreen){var n=this.scrollTop+(i.firstRow-this.layerConfig.firstRow)*this.lineHeight;0<n&&(this.scrollTop=n,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}i=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-i.offset+"px",this.content.style.marginTop=-i.offset+"px",this.content.style.width=i.width+2*this.$padding+"px",this.content.style.height=i.minHeight+"px"}return e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),e&this.CHANGE_FULL?(this.$textLayer.update(i),this.$showGutter&&this.$gutterLayer.update(i),this.$markerBack.update(i),this.$markerFront.update(i),this.$cursorLayer.update(i),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()):e&this.CHANGE_SCROLL?(e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(i):this.$textLayer.scrollLines(i),this.$showGutter&&this.$gutterLayer.update(i),this.$markerBack.update(i),this.$markerFront.update(i),this.$cursorLayer.update(i),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor()):(e&this.CHANGE_TEXT?(this.$textLayer.update(i),this.$showGutter&&this.$gutterLayer.update(i)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(i):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(i),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(i),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(i),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(i)),void this._signal("afterRender")}this.$changes|=e},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,i=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(i+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&i>this.$maxPixelHeight&&(i=this.$maxPixelHeight);var n=t<e;if(i!=this.desiredHeight||this.$size.height!=this.desiredHeight||n!=this.$vScroll){n!=this.$vScroll&&(this.$vScroll=n,this.scrollBarV.setVisible(n));var s=this.container.clientWidth;this.container.style.height=i+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,i),this.desiredHeight=i,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,i=t.height<=2*this.lineHeight,n=this.session.getScreenLength()*this.lineHeight,s=this.$getLongestLine(),o=!i&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),r=this.$horizScroll!==o;r&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&1<this.lineHeight&&this.$autosize();var l=this.scrollTop%this.lineHeight,h=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;n+=c;var u=this.scrollMargin;this.session.setScrollTop(Math.max(-u.top,Math.min(this.scrollTop,n-t.scrollerHeight+u.bottom))),this.session.setScrollLeft(Math.max(-u.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+u.right)));var d=!i&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-n+c<0||this.scrollTop>u.top),g=a!==d;g&&(this.$vScroll=d,this.scrollBarV.setVisible(d));var f,m,p=Math.ceil(h/this.lineHeight)-1,v=Math.max(0,Math.round((this.scrollTop-l)/this.lineHeight)),w=v+p,b=this.lineHeight;v=e.screenToDocumentRow(v,0);var $=e.getFoldLine(v);$&&(v=$.start.row),f=e.documentToScreenRow(v,0),m=e.getRowLength(v)*b,w=Math.min(e.screenToDocumentRow(w,0),e.getLength()-1),h=t.scrollerHeight+e.getRowLength(w)*b+m,l=this.scrollTop-f*b;var y=0;return this.layerConfig.width==s&&!r||(y=this.CHANGE_H_SCROLL),(r||g)&&(y=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),g&&(s=this.$getLongestLine())),this.layerConfig={width:s,padding:this.$padding,firstRow:v,firstRowScreen:f,lastRow:w,lineHeight:b,characterWidth:this.characterWidth,minHeight:h,maxHeight:n,offset:l,gutterOffset:b?Math.max(0,Math.ceil((l+t.height-t.scrollerHeight)/b)):0,height:this.$size.scrollerHeight},y},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var i=this.layerConfig;if(!(e>i.lastRow+1||t<i.firstRow))return t===1/0?(this.$showGutter&&this.$gutterLayer.update(i),void this.$textLayer.update(i)):(this.$textLayer.updateLines(i,e,t),!0)}},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),this.$textLayer&&e>this.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,i){this.scrollCursorIntoView(e,i),this.scrollCursorIntoView(t,i)},this.scrollCursorIntoView=function(e,t,i){if(0!==this.$size.scrollerHeight){var n=this.$cursorLayer.getPixelPosition(e),s=n.left,o=n.top,r=i&&i.top||0,a=i&&i.bottom||0,l=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;o<l+r?(t&&l+r>o+this.lineHeight&&(o-=t*this.$size.scrollerHeight),0===o&&(o=-this.scrollMargin.top),this.session.setScrollTop(o)):l+this.$size.scrollerHeight-a<o+this.lineHeight&&(t&&l+this.$size.scrollerHeight-a<o-this.lineHeight&&(o+=t*this.$size.scrollerHeight),this.session.setScrollTop(o+this.lineHeight-this.$size.scrollerHeight));var h=this.scrollLeft;s<h?(s<this.$padding+2*this.layerConfig.characterWidth&&(s=-this.scrollMargin.left),this.session.setScrollLeft(s)):h+this.$size.scrollerWidth<s+this.characterWidth?this.session.setScrollLeft(Math.round(s+this.characterWidth-this.$size.scrollerWidth)):h<=this.$padding&&s-h<this.characterWidth&&this.session.setScrollLeft(0)}},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){"number"==typeof e&&(e={row:e,column:0});var i=this.$cursorLayer.getPixelPosition(e),n=this.$size.scrollerHeight-this.lineHeight,s=i.top-n*(t||0);return this.session.setScrollTop(s),s},this.STEPS=8,this.$calcSteps=function(e,t){var i,n,s=0,o=this.STEPS,r=[];for(s=0;s<o;++s)r.push((i=s/this.STEPS,(t-(n=e))*(Math.pow(i-1,3)+1)+n));return r},this.scrollToLine=function(e,t,i,n){var s=this.$cursorLayer.getPixelPosition({row:e,column:0}).top;t&&(s-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(s),!1!==i&&this.animateScrolling(o,n)},this.animateScrolling=function(e,t){var i=this.scrollTop;if(this.$animatedScroll){var n=this;if(e!=i){if(this.$scrollAnimation){var s=this.$scrollAnimation.steps;if(s.length&&(e=s[0])==i)return}var o=n.$calcSteps(e,i);this.$scrollAnimation={from:e,to:i,steps:o},clearInterval(this.$timer),n.session.setScrollTop(o.shift()),n.session.$scrollTop=i,this.$timer=setInterval(function(){o.length?(n.session.setScrollTop(o.shift()),n.session.$scrollTop=i):null!=i?(n.session.$scrollTop=-1,n.session.setScrollTop(i),i=null):(n.$timer=clearInterval(n.$timer),n.$scrollAnimation=null,t&&t())},10)}}},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){return t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||(0<t&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(0<e&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},this.pixelToScreenCoordinates=function(e,t){var i=this.scroller.getBoundingClientRect(),n=e+this.scrollLeft-i.left-this.$padding,s=n/this.characterWidth,o=Math.floor((t+this.scrollTop-i.top)/this.lineHeight),r=Math.round(s);return{row:o,column:r,side:0<s-r?1:-1,offsetX:n}},this.screenToTextCoordinates=function(e,t){var i=this.scroller.getBoundingClientRect(),n=e+this.scrollLeft-i.left-this.$padding,s=Math.round(n/this.characterWidth),o=(t+this.scrollTop-i.top)/this.lineHeight;return this.session.screenToDocumentPosition(o,Math.max(s,0),n)},this.textToScreenCoordinates=function(e,t){var i=this.scroller.getBoundingClientRect(),n=this.session.documentToScreenPosition(e,t),s=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e)?this.session.$bidiHandler.getPosLeft(n.column):Math.round(n.column*this.characterWidth)),o=n.row*this.lineHeight;return{pageX:i.left+s-this.scrollLeft,pageY:i.top+o-this.scrollTop}},this.visualizeFocus=function(){o.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){o.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,o.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(o.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)},this.setTheme=function(i,n){function e(e){if(s.$themeId!=i)return n&&n();if(!e||!e.cssClass)throw new Error("couldn't load module "+i+" or it didn't call define");e.$id&&(s.$themeId=e.$id),o.importCssString(e.cssText,e.cssClass,s.container.ownerDocument),s.theme&&o.removeCssClass(s.container,s.theme.cssClass);var t="padding"in e?e.padding:"padding"in(s.theme||{})?4:s.$padding;s.$padding&&t!=s.$padding&&s.setPadding(t),s.$theme=e.cssClass,s.theme=e,o.addCssClass(s.container,e.cssClass),o.setCssClass(s.container,"ace_dark",e.isDark),s.$size&&(s.$size.width=0,s.$updateSizeAsync()),s._dispatchEvent("themeLoaded",{theme:e}),n&&n()}var s=this;if(this.$themeId=i,s._dispatchEvent("themeChange",{theme:i}),i&&"string"!=typeof i)e(i);else{var t=i||this.$options.theme.initialValue;r.loadModule(["theme",t],e)}},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){o.setCssClass(this.container,e,!1!==t)},this.unsetStyle=function(e){o.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(p.prototype),r.defineOptions(p.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){"number"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){o.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight)return this.$gutterLineHighlight=o.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",void this.$gutter.appendChild(this.$gutterLineHighlight);this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){"number"==typeof e&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=p}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(a,e,t){"use strict";function l(e){var t=function(e){var t="importScripts('"+s.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(e){var i=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return i.append(t),i.getBlob("application/javascript")}}(e),i=(window.URL||window.webkitURL).createObjectURL(t);return new Worker(i)}function i(e,t,i,n,s){if(this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),a.nameToUrl&&!a.toUrl&&(a.toUrl=a.nameToUrl),c.get("packaged")||!a.toUrl)n=n||c.moduleUrl(t,"worker");else{var o=this.$normalizePath;n=n||o(a.toUrl("ace/worker/worker.js",null,"_"));var r={};e.forEach(function(e){r[e]=o(a.toUrl(e,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}this.$worker=l(n),s&&this.send("importScripts",s),this.$worker.postMessage({init:!0,tlns:r,module:t,classname:i}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage}var n=a("../lib/oop"),s=a("../lib/net"),h=a("../lib/event_emitter").EventEmitter,c=a("../config");(function(){n.implement(this,h),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var i=this.callbacks[t.id];i&&(i(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return s.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,i){if(i){var n=this.callbackId++;this.callbacks[n]=i,t.push(n)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(e){console.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,50<e.length&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(i.prototype);function o(e,t,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var n=null,s=!1,o=Object.create(h),r=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){r.messageBuffer.push(e),n&&(s?setTimeout(a):a())},this.setEmitSync=function(e){s=e};var a=function(){var e=r.messageBuffer.shift();e.command?n[e.command].apply(n,e.args):e.event&&o._signal(e.event,e.data)};o.postMessage=function(e){r.onMessage({data:e})},o.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},o.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},c.loadModule(["worker",t],function(e){for(n=new e[i](o);r.messageBuffer.length;)a()})}o.prototype=i.prototype,e.UIWorkerClient=o,e.WorkerClient=i,e.createWorker=l}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,i){"use strict";function n(e,t,i,n,s,o){var r=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=s,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=n,this.$onCursorChange=function(){setTimeout(function(){r.onCursorChange()})},this.$pos=i;var a=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=a.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)}var l=e("./range").Range,s=e("./lib/event_emitter").EventEmitter,o=e("./lib/oop");(function(){o.implement(this,s),this.setup=function(){var i=this,n=this.doc,e=this.session;this.selectionBefore=e.selection.toJSON(),e.selection.inMultiSelectMode&&e.selection.toSingleRange(),this.pos=n.createAnchor(this.$pos.row,this.$pos.column);var t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=e.addMarker(new l(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var t=n.createAnchor(e.row,e.column);t.$insertRight=!0,t.detach(),i.others.push(t)}),e.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var t=this.session,i=this;this.othersActive=!0,this.others.forEach(function(e){e.markerId=t.addMarker(new l(e.row,e.column,e.row,e.column+i.length),i.othersClass,null,!1)})}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)}},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row===t.end.row&&t.start.row===this.pos.row){this.$updating=!0;var i="insert"===e.action?t.end.column-t.start.column:t.start.column-t.end.column,n=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;if(this.updateAnchors(e),n&&(this.length+=i),n&&!this.session.$fromUndo)if("insert"===e.action)for(var o=this.others.length-1;0<=o;o--){var r={row:(a=this.others[o]).row,column:a.column+s};this.doc.insertMergedLines(r,e.lines)}else if("remove"===e.action)for(o=this.others.length-1;0<=o;o--){var a;r={row:(a=this.others[o]).row,column:a.column+s};this.doc.remove(new l(r.row,r.column,r.row,r.column-i))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var i=this,n=this.session,e=function(e,t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new l(e.row,e.column,e.row,e.column+i.length),t,null,!1)};e(this.pos,this.mainClass);for(var t=this.others.length;t--;)e(this.others[t],this.othersClass)}},this.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,i=0;i<t;i++)e.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(n.prototype),t.PlaceHolder=n}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,i){function A(e,t){return e.row==t.row&&e.column==t.column}var k=e("../lib/event"),L=e("../lib/useragent");t.onMouseDown=function(e){var t=e.domEvent,i=t.altKey,n=t.shiftKey,s=t.ctrlKey,o=e.getAccelKey(),r=e.getButton();if(s&&L.isMac&&(r=t.button),e.editor.inMultiSelectMode&&2==r)e.editor.textInput.onContextMenu(e.domEvent);else if(s||i||o){if(0===r){var a,l=e.editor,h=l.selection,c=l.inMultiSelectMode,u=e.getDocumentPosition(),d=h.getCursor(),g=e.inSelection()||h.isEmpty()&&A(u,d),f=e.x,m=e.y,p=l.session,v=l.renderer.pixelToScreenCoordinates(f,m),w=v;if(l.$mouseHandler.$enableJumpToDef)s&&i||o&&i?a=n?"block":"add":i&&l.$blockSelectEnabled&&(a="block");else if(o&&!i){if(a="add",!c&&n)return}else i&&l.$blockSelectEnabled&&(a="block");if(a&&L.isMac&&t.ctrlKey&&l.$mouseHandler.cancelContextMenu(),"add"==a){if(!c&&g)return;if(!c){var b=h.toOrientedRange();l.addSelectionMarker(b)}var $=h.rangeList.rangeAtPoint(u);l.inVirtualSelectionMode=!0,n&&($=null,b=h.ranges[0]||b,l.removeSelectionMarker(b)),l.once("mouseup",function(){var e=h.toOrientedRange();$&&e.isEmpty()&&A($.cursor,e.cursor)?h.substractPoint(e.cursor):(n?h.substractPoint(b.cursor):b&&(l.removeSelectionMarker(b),h.addRange(b)),h.addRange(e)),l.inVirtualSelectionMode=!1})}else if("block"==a){e.stop(),l.inVirtualSelectionMode=!0;var y,S=[];c&&!o?h.toSingleRange():!c&&o&&(y=h.toOrientedRange(),l.addSelectionMarker(y)),n?v=p.documentToScreenPosition(h.lead):h.moveToPosition(u),w={row:-1,column:-1};var C=function(){var e=l.renderer.pixelToScreenCoordinates(f,m),t=p.screenToDocumentPosition(e.row,e.column,e.offsetX);A(w,e)&&A(t,h.lead)||(w=e,l.selection.moveToPosition(t),l.renderer.scrollCursorIntoView(),l.removeSelectionMarkers(S),S=h.rectangularRangeBlock(w,v),l.$mouseHandler.$clickSelection&&1==S.length&&S[0].isEmpty()&&(S[0]=l.$mouseHandler.$clickSelection.clone()),S.forEach(l.addSelectionMarker,l),l.updateSelectionMarkers())};k.capture(l.container,function(e){f=e.clientX,m=e.clientY},function(e){clearInterval(x),l.removeSelectionMarkers(S),S.length||(S=[h.toOrientedRange()]),y&&(l.removeSelectionMarker(y),h.toSingleRange(y));for(var t=0;t<S.length;t++)h.addRange(S[t]);l.inVirtualSelectionMode=!1,l.$mouseHandler.$clickSelection=null});var x=setInterval(function(){C()},20);return e.preventDefault()}}}else 0===r&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode()}}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,i){t.defaultCommands=[{name:"addCursorAbove",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"splitIntoLines",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"alignCursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],t.multiSelectCommands=[{name:"singleSelection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var n=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new n(t.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,i){function n(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(a.defaultCommands),function(i){function n(e){s&&(i.renderer.setMouseCursor(""),s=!1)}var e=i.textInput.getElement(),s=!1;r.addListener(e,"keydown",function(e){var t=18==e.keyCode&&!(e.ctrlKey||e.shiftKey||e.metaKey);i.$blockSelectEnabled&&t?s||(i.renderer.setMouseCursor("crosshair"),s=!0):s&&n()}),r.addListener(e,"keyup",n),r.addListener(e,"blur",n)}(e))}var s=e("./range_list").RangeList,$=e("./range").Range,m=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,r=e("./lib/event"),p=e("./lib/lang"),a=e("./commands/multi_select_commands");t.commands=a.defaultCommands.concat(a.multiSelectCommands);var l=new(e("./search").Search),h=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(h.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var i=this.toOrientedRange();if(this.rangeList.add(i),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(i),this.$onAddRange(i)}e.cursor||(e.cursor=e.end);var n=this.rangeList.add(e);return this.$onAddRange(e),n.length&&this.$onRemoveRange(n),1<this.rangeCount&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var i=e.length;i--;){var n=this.ranges.indexOf(e[i]);this.ranges.splice(n,1)}this._signal("removeRange",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(t=t||this.ranges[0])&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new s,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(1<this.rangeCount){var e=this.rangeList.ranges,t=e[e.length-1],i=$.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(i,t.cursor==t.start)}else{i=this.getRange();var n=this.isBackwards(),s=i.start.row,o=i.end.row;if(s==o){if(n)var r=i.end,a=i.start;else r=i.start,a=i.end;return this.addRange($.fromPoints(a,a)),void this.addRange($.fromPoints(r,r))}var l=[],h=this.getLineRange(s,!0);h.start.column=i.start.column,l.push(h);for(var c=s+1;c<o;c++)l.push(this.getLineRange(c,!0));(h=this.getLineRange(o,!0)).end.column=i.end.column,l.push(h),l.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(1<this.rangeCount){var e=this.rangeList.ranges,t=e[e.length-1],i=$.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(i,t.cursor==t.start)}else{var n=this.session.documentToScreenPosition(this.cursor),s=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(n,s).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,i){var n=[],s=e.column<t.column;if(s)var o=e.column,r=t.column,a=e.offsetX,l=t.offsetX;else o=t.column,r=e.column,a=t.offsetX,l=e.offsetX;var h,c,u,d=e.row<t.row;if(d)var g=e.row,f=t.row;else g=t.row,f=e.row;o<0&&(o=0),g<0&&(g=0),g==f&&(i=!0);for(var m=g;m<=f;m++){var p=$.fromPoints(this.session.screenToDocumentPosition(m,o,a),this.session.screenToDocumentPosition(m,r,l));if(p.isEmpty()){if(h&&(c=p.end,u=h,c.row==u.row&&c.column==u.column))break;h=p.end}p.cursor=s?p.start:p.end,n.push(p)}if(d&&n.reverse(),!i){for(var v=n.length-1;n[v].isEmpty()&&0<v;)v--;if(0<v)for(var w=0;n[w].isEmpty();)w++;for(var b=v;w<=b;b--)n[b].isEmpty()&&n.splice(b,1)}return n}}.call(m.prototype);var c=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);-1!=t&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,i=e.length;i--;){var n=e[i];if(n.marker){this.session.removeMarker(n.marker);var s=t.indexOf(n);-1!=s&&t.splice(s,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(a.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(a.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(e){var t=e.command,i=e.editor;if(i.multiSelect){if(t.multiSelectAction)n="forEach"==t.multiSelectAction?i.forEachSelection(t,e.args):"forEachLine"==t.multiSelectAction?i.forEachSelection(t,e.args,!0):"single"==t.multiSelectAction?(i.exitMultiSelectMode(),t.exec(i,e.args||{})):t.multiSelectAction(i,e.args||{});else{var n=t.exec(i,e.args||{});i.multiSelect.addRange(i.multiSelect.toOrientedRange()),i.multiSelect.mergeOverlappingRanges()}return n}},this.forEachSelection=function(e,t,i){if(!this.inVirtualSelectionMode){var n,s=i&&i.keepOrder,o=1==i||i&&i.$byLines,r=this.session,a=this.selection,l=a.rangeList,h=(s?a:l).ranges;if(!h.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=a._eventRegistry;a._eventRegistry={};var u=new m(r);this.inVirtualSelectionMode=!0;for(var d=h.length;d--;){if(o)for(;0<d&&h[d].start.row==h[d-1].end.row;)d--;u.fromOrientedRange(h[d]),u.index=d,this.selection=r.selection=u;var g=e.exec?e.exec(this,t||{}):e(this,t||{});n||void 0===g||(n=g),u.toOrientedRange(h[d])}u.detach(),this.selection=r.selection=a,this.inVirtualSelectionMode=!1,a._eventRegistry=c,a.mergeOverlappingRanges();var f=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),f&&f.from==f.to&&this.renderer.animateScrolling(f.from),n}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,i=[],n=0;n<t.length;n++)i.push(this.session.getTextRange(t[n]));var s=this.session.getDocument().getNewLineCharacter();(e=i.join(s)).length==(i.length-1)*s.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var i=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var n=t==this.multiSelect.anchor?i.cursor==i.start?i.end:i.start:i.cursor;n.row==t.row&&this.session.$clipPositionToDocument(n.row,n.column).column==t.column||this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange())}},this.findAll=function(e,t,i){if((t=t||{}).needle=e||t.needle,null==t.needle){var n=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(n)}this.$search.set(t);var s=this.$search.findAll(this.session);if(!s.length)return 0;var o=this.multiSelect;i||o.toSingleRange(s[0]);for(var r=s.length;r--;)o.addRange(s[r],!0);return n&&o.rangeList.rangeAtPoint(n.start)&&o.addRange(n,!0),s.length},this.selectMoreLines=function(e,t){var i=this.selection.toOrientedRange(),n=i.cursor==i.end,s=this.session.documentToScreenPosition(i.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var o,r=this.session.screenToDocumentPosition(s.row+e,s.column);if(i.isEmpty())l=r;else var a=this.session.documentToScreenPosition(n?i.end:i.start),l=this.session.screenToDocumentPosition(a.row+e,a.column);n?(o=$.fromPoints(r,l)).cursor=o.start:(o=$.fromPoints(l,r)).cursor=o.end;if(o.desiredColumn=s.column,this.selection.inMultiSelectMode){if(t)var h=i.cursor}else this.selection.addRange(i);this.selection.addRange(o),h&&this.selection.substractPoint(h)},this.transposeSelections=function(e){for(var t=this.session,i=t.multiSelect,n=i.ranges,s=n.length;s--;){if((a=n[s]).isEmpty()){var o=t.getWordRange(a.start.row,a.start.column);a.start.row=o.start.row,a.start.column=o.start.column,a.end.row=o.end.row,a.end.column=o.end.column}}i.mergeOverlappingRanges();var r=[];for(s=n.length;s--;){var a=n[s];r.unshift(t.getTextRange(a))}e<0?r.unshift(r.pop()):r.push(r.shift());for(s=n.length;s--;){o=(a=n[s]).clone();t.replace(a,r[s]),a.start.row=o.start.row,a.start.column=o.start.column}},this.selectMore=function(e,t,i){var n=this.session,s=n.multiSelect.toOrientedRange();if(!s.isEmpty()||((s=n.getWordRange(s.start.row,s.start.column)).cursor=-1==e?s.start:s.end,this.multiSelect.addRange(s),!i)){var o=n.getTextRange(s),r=function(e,t,i){return l.$options.wrap=!0,l.$options.needle=t,l.$options.backwards=-1==i,l.find(e)}(n,o,e);r&&(r.cursor=-1==e?r.start:r.end,this.session.unfold(r),this.multiSelect.addRange(r),this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(s.cursor)}},this.alignCursors=function(){var o=this.session,t=o.multiSelect,e=t.ranges,i=-1,n=e.filter(function(e){if(e.cursor.row==i)return!0;i=e.cursor.row});if(e.length&&n.length!=e.length-1){n.forEach(function(e){t.substractPoint(e.cursor)});var r=0,a=1/0,l=e.map(function(e){var t=e.cursor,i=o.getLine(t.row).substr(t.column).search(/\S/g);return-1==i&&(i=0),t.column>r&&(r=t.column),i<a&&(a=i),i});e.forEach(function(e,t){var i=e.cursor,n=r-i.column,s=l[t]-a;s<n?o.insert(i,p.stringRepeat(" ",n-s)):o.remove(new $(i.row,i.column,i.row,i.column-n+s)),e.start.column=e.end.column=r,e.start.row=e.end.row=i.row,e.cursor=e.end}),t.fromOrientedRange(e[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var s=this.selection.getRange(),h=s.start.row,c=s.end.row,u=h==c;if(u){for(var d,g=this.session.getLength();d=this.session.getLine(c),/[=:]/.test(d)&&++c<g;);for(;d=this.session.getLine(h),/[=:]/.test(d)&&0<--h;);h<0&&(h=0),g<=c&&(c=g-1)}var f=this.session.removeFullLines(h,c);f=this.$reAlignText(f,u),this.session.insert({row:h,column:0},f.join("\n")+"\n"),u||(s.start.column=0,s.end.column=f[f.length-1].length),this.selection.setRange(s)}},this.$reAlignText=function(e,t){function i(e){return p.stringRepeat(" ",e)}function n(e){return e[2]?i(s)+e[2]+i(o-e[2].length+r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var s,o,r,a=!0,l=!0;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?(null==s?(s=t[1].length,o=t[2].length,r=t[3].length):(s+o+r!=t[1].length+t[2].length+t[3].length&&(l=!1),s!=t[1].length&&(a=!1),s>t[1].length&&(s=t[1].length),o<t[2].length&&(o=t[2].length),r>t[3].length&&(r=t[3].length)),t):[e]}).map(t?n:a?l?function(e){return e[2]?i(s+o-e[2].length)+e[2]+i(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:n:function(e){return e[2]?i(s)+e[2]+i(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]})}}).call(c.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var i=e.oldSession;i&&(i.multiSelect.off("addRange",this.$onAddRange),i.multiSelect.off("removeRange",this.$onRemoveRange),i.multiSelect.off("multiSelect",this.$onMultiSelect),i.multiSelect.off("singleSelect",this.$onSingleSelect),i.multiSelect.lead.off("change",this.$checkMultiselectChange),i.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=n,e("./config").defineOptions(c.prototype,"editor",{enableMultiselect:{set:function(e){n(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,i){"use strict";var d=e("../../range").Range,n=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,i){var n=e.getLine(i);return this.foldingStartMarker.test(n)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(n)?"end":""},this.getFoldWidgetRange=function(e,t,i){return null},this.indentationBlock=function(e,t,i){var n=/\S/,s=e.getLine(t),o=s.search(n);if(-1!=o){for(var r=i||s.length,a=e.getLength(),l=t,h=t;++t<a;){var c=e.getLine(t).search(n);if(-1!=c){if(c<=o)break;h=t}}if(l<h){var u=e.getLine(h).length;return new d(l,r,h,u)}}},this.openingBracketBlock=function(e,t,i,n,s){var o={row:i,column:n+1},r=e.$findClosingBracket(t,o,s);if(r){var a=e.foldWidgets[r.row];return null==a&&(a=e.getFoldWidget(r.row)),"start"==a&&r.row>o.row&&(r.row--,r.column=e.getLine(r.row).length),d.fromPoints(o,r)}},this.closingBracketBlock=function(e,t,i,n,s){var o={row:i,column:n},r=e.$findOpeningBracket(t,o);if(r)return r.column++,o.column--,d.fromPoints(r,o)}}).call(n.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,i){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate",e("../lib/dom").importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,i){"use strict";function n(e){this.session=e,(this.session.widgetManager=this).session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}e("./lib/oop");var o=e("./lib/dom");e("./range").Range;(function(){this.getRowLength=function(e){var t;return t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var t=0;return this.lineWidgets.forEach(function(e){e&&e.rowCount&&!e.hidden&&(t+=e.rowCount)}),t},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),(this.editor=e)&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var i=this.session.lineWidgets;i&&i.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},this.updateOnFold=function(e,t){var i=t.lineWidgets;if(i&&e.action){for(var n=e.data,s=n.start.row,o=n.end.row,r="add"==e.action,a=s+1;a<o;a++)i[a]&&(i[a].hidden=r);i[o]&&(r?i[s]?i[o].hidden=r:i[s]=i[o]:(i[s]==i[o]&&(i[s]=void 0),i[o].hidden=r))}},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(t){var i=e.start.row,n=e.end.row-i;if(0!=n)if("remove"==e.action){t.splice(i+1,n).forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var s=new Array(n);s.unshift(i,0),t.splice.apply(t,s),this.$updateRows()}}},this.$updateRows=function(){var e=this.session.lineWidgets;if(e){var i=!0;e.forEach(function(e,t){if(e)for(i=!1,e.row=t;e.$oldWidget;)e.$oldWidget.row=t,e=e.$oldWidget}),i&&(this.session.lineWidgets=null)}},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];!t||(e.$oldWidget=t).el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1),(this.session.lineWidgets[e.row]=e).session=this.session;var i=this.editor.renderer;e.html&&!e.el&&(e.el=o.createElement("div"),e.el.innerHTML=e.html),e.el&&(o.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,i.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),null==e.pixelHeight&&(e.pixelHeight=e.el.offsetHeight),null==e.rowCount&&(e.rowCount=e.pixelHeight/i.layerConfig.lineHeight);var n=this.session.getFoldAt(e.row,0);if(e.$fold=n){var s=this.session.lineWidgets;e.row!=n.end.row||s[n.start.row]?e.hidden=!0:s[n.start.row]=e}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,i),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,i=t&&t[e],n=[];i;)n.push(i),i=i.$oldWidget;return n},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var i=this.session._changedWidgets,n=t.layerConfig;if(i&&i.length){for(var s=1/0,o=0;o<i.length;o++){var r=i[o];if(r&&r.el&&r.session==this.session){if(!r._inDocument){if(this.session.lineWidgets[r.row]!=r)continue;r._inDocument=!0,t.container.appendChild(r.el)}r.h=r.el.offsetHeight,r.fixedWidth||(r.w=r.el.offsetWidth,r.screenWidth=Math.ceil(r.w/n.characterWidth));var a=r.h/n.lineHeight;r.coverLine&&((a-=this.session.getRowLineCount(r.row))<0&&(a=0)),r.rowCount!=a&&(r.rowCount=a,r.row<s&&(s=r.row))}}s!=1/0&&(this.session._emit("changeFold",{data:{start:{row:s}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},this.renderWidgets=function(e,t){var i=t.layerConfig,n=this.session.lineWidgets;if(n){for(var s=Math.min(this.firstRow,i.firstRow),o=Math.max(this.lastRow,i.lastRow,n.length);0<s&&!n[s];)s--;this.firstRow=i.firstRow,this.lastRow=i.lastRow,t.$cursorLayer.config=i;for(var r=s;r<=o;r++){var a=n[r];if(a&&a.el)if(a.hidden)a.el.style.top=-100-(a.pixelHeight||0)+"px";else{a._inDocument||(a._inDocument=!0,t.container.appendChild(a.el));var l=t.$cursorLayer.getPixelPosition({row:r,column:0},!0).top;a.coverLine||(l+=i.lineHeight*this.session.getRowLineCount(a.row)),a.el.style.top=l-i.offset+"px";var h=a.coverGutter?0:t.gutterWidth;a.fixedWidth||(h-=t.scrollLeft),a.el.style.left=h+"px",a.fullWidth&&a.screenWidth&&(a.el.style.minWidth=i.width+2*i.padding+"px"),a.fixedWidth?a.el.style.right=t.scrollBar.getWidth()+"px":a.el.style.right=""}}}}}).call(n.prototype),t.LineWidgets=n}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,i){"use strict";var f=e("../line_widgets").LineWidgets,m=e("../lib/dom"),p=e("../range").Range;t.showErrorMarker=function(e,t){var i=e.session;i.widgetManager||(i.widgetManager=new f(i),i.widgetManager.attach(e));var n=e.getCursorPosition(),s=n.row,o=i.widgetManager.getWidgetsAtRow(s).filter(function(e){return"errorMarker"==e.type})[0];o?o.destroy():s-=t;var r,a=function(e,t,i){var n=e.getAnnotations().sort(p.comparePoints);if(n.length){var s=function(e,t,i){for(var n=0,s=e.length-1;n<=s;){var o=n+s>>1,r=i(t,e[o]);if(0<r)n=1+o;else{if(!(r<0))return o;s=o-1}}return-(n+1)}(n,{row:t,column:-1},p.comparePoints);s<0&&(s=-s-1),s>=n.length?s=0<i?0:n.length-1:0===s&&i<0&&(s=n.length-1);var o=n[s];if(o&&i){if(o.row===t){for(;(o=n[s+=i])&&o.row===t;);if(!o)return n.slice()}var r=[];for(t=o.row;r[i<0?"unshift":"push"](o),(o=n[s+=i])&&o.row==t;);return r.length&&r}}}(i,s,t);if(a){var l=a[0];n.column=(l.pos&&"number"!=typeof l.column?l.pos.sc:l.column)||0,n.row=l.row,r=e.renderer.$gutterLayer.$annotations[n.row]}else{if(o)return;r={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(n.row),e.selection.moveToPosition(n);var h={row:n.row,fixedWidth:!0,coverGutter:!0,el:m.createElement("div"),type:"errorMarker"},c=h.el.appendChild(m.createElement("div")),u=h.el.appendChild(m.createElement("div"));u.className="error_widget_arrow "+r.className;var d=e.renderer.$cursorLayer.getPixelPosition(n).left;u.style.left=d+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",c.className="error_widget "+r.className,c.innerHTML=r.text.join("<br>"),c.appendChild(m.createElement("div"));function g(e,t,i){if(0===t&&("esc"===i||"return"===i))return h.destroy(),{command:"null"}}h.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(g),i.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy))},e.keyBinding.addKeyboardHandler(g),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},m.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,l,t){"use strict";e("./lib/fixoldbrowsers");var h=e("./lib/dom"),c=e("./lib/event"),u=e("./editor").Editor,n=e("./edit_session").EditSession,s=e("./undomanager").UndoManager,d=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),l.config=e("./config"),l.require=e,"function"==typeof define&&(l.define=define),l.edit=function(e,t){if("string"==typeof e){var i=e;if(!(e=document.getElementById(i)))throw new Error("ace.edit can't find div #"+i)}if(e&&e.env&&e.env.editor instanceof u)return e.env.editor;var n="";if(e&&/input|textarea/i.test(e.tagName)){var s=e;n=s.value,e=h.createElement("pre"),s.parentNode.replaceChild(e,s)}else e&&(n=h.getInnerText(e),e.innerHTML="");var o=l.createEditSession(n),r=new u(new d(e),o,t),a={document:o,editor:r,onResize:r.resize.bind(r,null)};return s&&(a.textarea=s),c.addListener(window,"resize",a.onResize),r.on("destroy",function(){c.removeListener(window,"resize",a.onResize),a.editor.container.env=null}),r.container.env=r.env=a,r},l.createEditSession=function(e,t){var i=new n(e,t);return i.setUndoManager(new s),i},l.EditSession=n,l.UndoManager=s,l.version="1.3.0"}),ace.require(["ace/ace"],function(e){for(var t in e&&(e.config.init(!0),e.define=ace.define),window.ace||(window.ace=e),e)e.hasOwnProperty(t)&&(window.ace[t]=e[t])});;
// C:\code\oanda-performances\client\src\bower_components\ace-builds\src-min-noconflict\theme-twilight.js
//-------------------------------
ace.define("ace/theme/twilight",["require","exports","module","ace/lib/dom"],function(e,a,c){a.isDark=!0,a.cssClass="ace-twilight",a.cssText=".ace-twilight .ace_gutter {background: #232323;color: #E2E2E2}.ace-twilight .ace_print-margin {width: 1px;background: #232323}.ace-twilight {background-color: #141414;color: #F8F8F8}.ace-twilight .ace_cursor {color: #A7A7A7}.ace-twilight .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-twilight.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #141414;}.ace-twilight .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-twilight .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-twilight .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-twilight .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-twilight .ace_keyword,.ace-twilight .ace_meta {color: #CDA869}.ace-twilight .ace_constant,.ace-twilight .ace_constant.ace_character,.ace-twilight .ace_constant.ace_character.ace_escape,.ace-twilight .ace_constant.ace_other,.ace-twilight .ace_heading,.ace-twilight .ace_markup.ace_heading,.ace-twilight .ace_support.ace_constant {color: #CF6A4C}.ace-twilight .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-twilight .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-twilight .ace_support {color: #9B859D}.ace-twilight .ace_fold {background-color: #AC885B;border-color: #F8F8F8}.ace-twilight .ace_support.ace_function {color: #DAD085}.ace-twilight .ace_list,.ace-twilight .ace_markup.ace_list,.ace-twilight .ace_storage {color: #F9EE98}.ace-twilight .ace_entity.ace_name.ace_function,.ace-twilight .ace_meta.ace_tag,.ace-twilight .ace_variable {color: #AC885B}.ace-twilight .ace_string {color: #8F9D6A}.ace-twilight .ace_string.ace_regexp {color: #E9C062}.ace-twilight .ace_comment {font-style: italic;color: #5F5A60}.ace-twilight .ace_variable {color: #7587A6}.ace-twilight .ace_xml-pe {color: #494949}.ace-twilight .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y}",e("../lib/dom").importCssString(a.cssText,a.cssClass)});;
// C:\code\oanda-performances\client\src\bower_components\ace-builds\src-min-noconflict\mode-javascript.js
//-------------------------------
ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,a=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},a.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(a,o),a.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},a.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},a.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=a}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function r(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}function o(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),r("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+g+")(\\.)(prototype)(\\.)("+g+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+g+")(\\.)("+g+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+g+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+g+")(\\.)("+g+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+g+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+g+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:g},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+g+")(\\.)("+g+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:g},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),r("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:g},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),e&&0==e.jsx||function(){var e=g.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r="/"==e.charAt(1)?2:1;return 1==r?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==r&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==r?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,r("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()}var a=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,g="[a-zA-Z\\$_¡-][a-zA-Z\\d\\$_¡-]*";a.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";function r(){}var i=e("../range").Range;(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var r=n[1].length,o=e.findMatchingBracket({row:t,column:r});if(!o||o.row==t)return 0;var a=this.$getIndent(e.getLine(o.row));e.replace(new i(t,0,t,r-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(r.prototype),t.MatchingBraceOutdent=r}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),c=e("../../range").Range,o=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(a,o),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var o=this._getFoldWidgetBase(e,t,n);return!o&&this.startRegionRe.test(r)?"start":o},this.getFoldWidgetRange=function(e,t,n,r){var o,a=e.getLine(n);if(this.startRegionRe.test(a))return this.getCommentRegionBlock(e,a,n);if(o=a.match(this.foldingStartMarker)){var i=o.index;if(o[1])return this.openingBracketBlock(e,o[1],n,i);var s=e.getCommentFoldRange(n,i+o[0].length,1);return s&&!s.isMultiLine()&&(r?s=this.getSectionRange(e,n):"all"!=t&&(s=null)),s}if("markbegin"!==t&&(o=a.match(this.foldingStopMarker))){i=o.index+o[0].length;return o[1]?this.closingBracketBlock(e,o[1],n,i):e.getCommentFoldRange(n,i,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),r=n.search(/\S/),o=t,a=n.length,i=t+=1,s=e.getLength();++t<s;){var g=(n=e.getLine(t)).search(/\S/);if(-1!==g){if(g<r)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=o)break;if(l.isMultiLine())t=l.end.row;else if(r==g)break}i=t}}return new c(o,a,i,e.getLine(i).length)},this.getCommentRegionBlock=function(e,t,n){for(var r=t.search(/\s*$/),o=e.getLength(),a=n,i=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++n<o;){t=e.getLine(n);var g=i.exec(t);if(g&&(g[1]?s--:s++,!s))break}if(a<n)return new c(a,r,n,t.length)}}.call(a.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";function r(){this.HighlightRules=i,this.$outdent=new s,this.$behaviour=new l,this.foldingRules=new c}var o=e("../lib/oop"),a=e("./text").Mode,i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./matching_brace_outdent").MatchingBraceOutdent,g=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode;o.inherits(r,a),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),o=this.getTokenizer().getLineTokens(t,e),a=o.tokens,i=o.state;if(a.length&&"comment"==a[a.length-1].type)return r;if("start"==e||"no_regex"==e)(s=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/))&&(r+=n);else if("doc-start"==e){if("start"==i||"no_regex"==i)return"";var s;(s=t.match(/^\s*(\/?)\*/))&&(s[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(t){var e=new g(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript"}.call(r.prototype),t.Mode=r});;
// C:\code\oanda-performances\client\src\bower_components\angular-ui-ace\ui-ace.js
//-------------------------------
"use strict";angular.module("ui.ace",[]).constant("uiAceConfig",{}).directive("uiAce",["uiAceConfig",function(h){if(angular.isUndefined(window.ace))throw new Error("ui-ace need ace to work... (o rly?)");return{restrict:"EA",require:"?ngModel",link:function(a,e,r,i){function t(){var e=arguments[0],n=Array.prototype.slice.call(arguments,1);angular.isDefined(e)&&a.$evalAsync(function(){if(!angular.isFunction(e))throw new Error("ui-ace use a function as callback.");e(n)})}var o,s,u=h.ace||{},c=angular.extend({},u,a.$eval(r.uiAce)),d=window.ace.edit(e[0]),l=d.getSession(),f=function(r){return function(e){var n=l.getValue();!i||n===i.$viewValue||a.$$phase||a.$root.$$phase||a.$evalAsync(function(){i.$setViewValue(n)}),t(r,e,d)}},g=function(e){return function(){t(e,d)}};r.$observe("readonly",function(e){d.setReadOnly(!!e||""===e)}),i&&(i.$formatters.push(function(e){if(angular.isUndefined(e)||null===e)return"";if(angular.isObject(e)||angular.isArray(e))throw new Error("ui-ace cannot use an object or an array as a model");return e}),i.$render=function(){l.setValue(i.$viewValue)});function n(e,n){e!==n&&((c=angular.extend({},u,a.$eval(r.uiAce))).callbacks=[c.onLoad],c.onLoad!==u.onLoad&&c.callbacks.unshift(u.onLoad),l.removeListener("change",o),o=f(c.onChange),l.on("change",o),d.removeListener("blur",s),s=g(c.onBlur),d.on("blur",s),function(n,e,r){var a,i;angular.isDefined(r.workerPath)&&window.ace.require("ace/config").set("workerPath",r.workerPath);if(angular.isDefined(r.require)&&r.require.forEach(function(e){window.ace.require(e)}),angular.isDefined(r.showGutter)&&n.renderer.setShowGutter(r.showGutter),angular.isDefined(r.useWrapMode)&&e.setUseWrapMode(r.useWrapMode),angular.isDefined(r.showInvisibles)&&n.renderer.setShowInvisibles(r.showInvisibles),angular.isDefined(r.showIndentGuides)&&n.renderer.setDisplayIndentGuides(r.showIndentGuides),angular.isDefined(r.useSoftTabs)&&e.setUseSoftTabs(r.useSoftTabs),angular.isDefined(r.showPrintMargin)&&n.setShowPrintMargin(r.showPrintMargin),angular.isDefined(r.disableSearch)&&r.disableSearch&&n.commands.addCommands([{name:"unfind",bindKey:{win:"Ctrl-F",mac:"Command-F"},exec:function(){return!1},readOnly:!0}]),angular.isString(r.theme)&&n.setTheme("ace/theme/"+r.theme),angular.isString(r.mode)&&e.setMode("ace/mode/"+r.mode),angular.isDefined(r.firstLineNumber)&&(angular.isNumber(r.firstLineNumber)?e.setOption("firstLineNumber",r.firstLineNumber):angular.isFunction(r.firstLineNumber)&&e.setOption("firstLineNumber",r.firstLineNumber())),angular.isDefined(r.advanced))for(a in r.advanced)i={name:a,value:r.advanced[a]},n.setOption(i.name,i.value);if(angular.isDefined(r.rendererOptions))for(a in r.rendererOptions)i={name:a,value:r.rendererOptions[a]},n.renderer.setOption(i.name,i.value);angular.forEach(r.callbacks,function(e){angular.isFunction(e)&&e(n)})}(d,l,c))}a.$watch(r.uiAce,n,!0),n(u),e.on("$destroy",function(){d.session.$stopWorker(),d.destroy()}),a.$watch(function(){return[e[0].offsetWidth,e[0].offsetHeight]},function(){d.resize(),d.renderer.updateFull()},!0)}}}]);;
// C:\code\oanda-performances\client\src\bower_components\ng-json-explorer\dist\angular-json-explorer.js
//-------------------------------
angular.module("ngJsonExplorer",[]).directive("jsonExplorer",["$http",function(e){"use strict";return{scope:{data:"=",jsonData:"=",url:"=",collapsed:"=",sortBy:"="},link:function(o,u,n){angular.isBoolean||(angular.isBoolean=function(n){return"boolean"==typeof n});var s="+",r="",t="hidden";o.collapsed&&(s="-",r="hidden",t="");function c(n){return angular.isString(n)||angular.isNumber(n)||angular.isBoolean(n)||null===n}function p(n){return angular.isArray(n)}function g(n){return angular.isObject(n)}function d(n,a){var e="";if(n&&(e='<span class="prop>">'+n+"</span>: "),"string"!=typeof a)return"number"==typeof a?e+'<span class="num">'+a+"</span>":"boolean"==typeof a?e+'<span class="bool">'+a+"</span>":e+'<span class="null">'+a+"</span>";if(new RegExp("[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{0,4}Z","gmi").test(a)){var l=new Date(a),s=function(n){return n<10&&(n="0"+n),n};return e+'<span class="string">"'+(s(l.getDate())+"/"+s(l.getMonth()+1)+"/"+s(l.getFullYear())+" at "+s(l.getHours())+":"+s(l.getMinutes())+":"+s(l.getSeconds())+"."+s(l.getMilliseconds()))+'"</span>'}return e+'<span class="string">"'+a+'"</span>'}var f=function(n,a){var e='<span class="prop>"><a href="#" class="collapser">'+s+"</a></span> [";n&&(e='<span class="prop>"><a href="#" class="collapser">'+s+"</a>"+n+"</span>: ["),e+='<span class="ellipsis '+r+'">...</span>',e+='<ul class="array collapsible '+t+'">';for(var l=0;l<a.length;l++)c(a[l])?e+="<li>"+d(null,a[l])+",</li>":p(a[l])?e+="<li>"+f(null,a[l])+",</li>":g(a[l])&&(e+="<li>"+h(null,a[l])+",</li>");return e=e.replace(/,<\/li>$/gim,"</li>"),e+="</ul>",e+="]"},h=function(n,a){var e='<span class="prop>"><a href="#" class="collapser">'+s+"</a></span> {";for(var l in n&&(e='<span class="prop>"><a href="#" class="collapser">'+s+"</a>"+n+"</span>: {"),e+='<span class="ellipsis '+r+'">...</span>',e+='<ul class="object collapsible '+t+'">',a)c(a[l])?e+="<li>"+d(l,a[l])+",</li>":p(a[l])?e+="<li>"+f(l,a[l])+",</li>":g(a[l])&&(e+="<li>"+h(l,a[l])+",</li>");return e=e.replace(/,<\/li>$/gim,"</li>"),e+="</ul>",e+="}"},v="";function a(n){var a=null;if(angular.isObject(n))a=n;else try{a=JSON.parse(n)}catch(n){return void(a={error:"invalid json"})}for(var e in p(a)&&o.sortBy&&(a=a.sort(function(n,a){var e=o.sortBy.split(":"),l=e[0],s=e[1],r=n[l],t=a[l],i=null;if("number"==typeof r&&"number"==typeof t)i=function(n,a){return n-a};else{if(!r.hasOwnProperty("length")||!t.hasOwnProperty("length"))return;i=function(n,a){return n.length-a.length}}return"asc"==s?i(r,t):"desc"==s?i(t,r):i(r,t)})),p(a)?v='[<ul class="array">':g(a)&&(v='{<ul class="object">'),a){var l=e,s=a[e];c(s)?v+="<li>"+d(l,s)+",</li>":p(s)?v+="<li>"+f(l,s)+",</li>":g(s)&&(v+="<li>"+h(l,s)+",</li>")}v=v.replace(/,<\/li>$/gim,"</li>"),p(a)?v+="</ul>]":g(a)&&(v+="</ul>}"),u.html('<div class="angular-json-explorer">'+v+"</div>");for(var r=u[0].getElementsByTagName("a"),t=0;t<r.length;t++){var i=r[t];angular.element(i).on("click",function(n){n.preventDefault();var a=angular.element(this).parent().next(),e=angular.element(this).parent().next().next();"+"==this.innerHTML?(a.addClass("hidden"),e.removeClass("hidden"),this.innerHTML="-"):(a.removeClass("hidden"),e.addClass("hidden"),this.innerHTML="+")})}}o.$watch("url",function(n){n&&(angular.isString(n)?e.get(n):e(n)).success(function(n){o.requestData=n})}),o.$watch("[data, jsonData]",function(n){n[0]?a(n[0]):n[1]&&a(n[1])},!0),o.$watch("requestData",function(n){n&&a(n)}),o.$watch("collapsed",function(n){if(null!=n)for(var a=u[0].getElementsByTagName("a"),e=0;e<a.length;e++){var l=a[e],s=angular.element(l).parent().next(),r=angular.element(l).parent().next().next();1==n?"-"==l.innerHTML&&(s.removeClass("hidden"),r.addClass("hidden"),l.innerHTML="+"):"+"==l.innerHTML&&(s.addClass("hidden"),r.removeClass("hidden"),l.innerHTML="-")}})}}}]);;
// C:\code\oanda-performances\client\src\bower_components\directives\angular-init.js
//-------------------------------
!function(n){n.appSettings={module:angular.module("directives",["ui.ace","ngJsonExplorer"]),path:{components:n._csconf&&n._csconf.cdn?n._csconf.cdn+"/directives/components/":"/directives/components/"}}}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\auth\auth.js
//-------------------------------
!function(l){l.appSettings.module.directive("uiAuth",["$compile","$timeout",function(n,o){return{link:function(o,n,t,a,e){o.safeApply=function(n){var o=this.$root.$$phase;"$apply"==o||"$digest"==o?n&&"function"==typeof n&&n():this.$apply(n)},o.auth=l.ftl.addon("auth"),o.loading=l.ftl.addon("loading"),o.sync=l.ftl.addon("sync"),o.mobile=l._csconf.mobile,o.qs=l.ftl.qs(),o.dialog=l.dialog;var i=setInterval(function(){o.safeApply(function(){})},500);o.ui={email:"",password:"",login:function(){o.safeApply(function(){o.ui.loading=!0}),o.auth.signIn({email:o.ui.email,password:o.ui.password},function(n){console.log("login response",n),o.safeApply(function(){if(o.ui.loading=!1,n&&n.error)switch(n.code){case 1:return alert("No account found for "+o.ui.email.toLowerCase()+" & that password"),!1;default:return alert(n.message),!1}else document.location.href=document.location.href})})},api:function(n,o,t){t=t||function(){},l.ftl.apicall({url:l._csconf.lambda&&l._csconf.lambda.qtoolEndpoint?l._csconf.lambda.qtoolEndpoint.endpoint+n:"http://localhost:3010"+n,auth:!0,encrypt:!0,headers:{env:l._csconf.env},params:o,callback:t})}},o.$on("$destroy",function(){clearInterval(i)})},replace:!0,scope:{uiComments:"="},template:"<div class=\"ui-auth\">\r\n\t<div>\r\n\t\t<div class=\"input\">\r\n\t\t\t<input type=\"email\" ng-model=\"ui.email\" placeholder=\"Email\" />\r\n\t\t</div>\r\n\t\t<div class=\"input\">\r\n\t\t\t<input type=\"password\" ng-model=\"ui.password\" placeholder=\"Password\" />\r\n\t\t</div>\r\n\t\t<div>\r\n\t\t\t<div class=\"ui-nav ctas small\">\r\n\t\t\t\t<div ng-click=\"ui.login()\">\r\n\t\t\t\t\t<span class=\"fas fa-check\"></span> Login\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n"}}])}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\events\events.js
//-------------------------------
!function(r){r.appSettings.module.directive("noDecimals",function(){return function(n,t,e){t.bind("keyup",function(n){if(this.value){this.value=Math.floor(parseFloat(this.value)),this.value=this.value.toString().replace(/[^0-9]/gim,"");try{this.value=parseInt(Math.floor(this.value))}catch(n){this.value=0}}})}}),r.appSettings.module.directive("ngEnter",function(){return function(t,n,e){n.bind("keypress",function(n){13===n.which&&(t.$apply(function(){t.$eval(e.ngEnter)}),n.preventDefault(),this.blur())})}}),r.appSettings.module.directive("ngEscape",function(){return function(t,n,e){var a=$(n);e.global&&(a=$(document)),a.on("keypress",function(n){27===n.keyCode&&(t.$apply(function(){t.$eval(e.ngEscape)}),n.preventDefault())})}}),r.appSettings.module.directive("ngNoclick",function(){return function(n,t,e){$(t).on("click",function(n){console.log("click!",n),n.stopImmediatePropagation()})}}),r.appSettings.module.directive("ngLoadError",function(){return function(n,t,e){var a=$(t);a.on("error",function(n){a.attr("src",e.ngLoadError)})}}),r.appSettings.module.directive("mxTrack",function(){return{link:function(n,t,e){n.safeApply=function(n){var t=this.$root.$$phase;"$apply"==t||"$digest"==t?n&&"function"==typeof n&&n():this.$apply(n)},$(t).on("click",function(){console.log("[MixPanel] Track: ",n.mxTrack,JSON.parse(angular.toJson(n.mxData))),mixpanel.track(n.mxTrack,JSON.parse(angular.toJson(n.mxData)))})},scope:{mxTrack:"=",mxData:"="}}}),r.appSettings.module.directive("delta1",function(){return{link:function(n,t,e){n.safeApply=function(n){var t=this.$root.$$phase;"$apply"==t||"$digest"==t?n&&"function"==typeof n&&n():this.$apply(n)},n.$watch("delta1",function(){n.delta1&&n.safeApply(function(){n.change=(n.delta1-n.delta2)/n.delta2*100})})},replace:!0,transclude:!0,scope:{delta1:"=",delta2:"="},template:"<span ng-class=\"{'text-danger':change<=0,'text-success':change>0}\"><span class=\"fa\" ng-class=\"{'fa-arrow-up':change>0,'fa-arrow-down':change<=0}\"></span> {{change|number:2}}%</span>"}}),r.appSettings.module.directive("ngFluid",["$timeout",function(n){return function(t,n,e){function a(){$(n)[o.prop]||(console.log(">",o.prop),console.log(">",$(n)[o.prop]()));var a=$(n)[o.prop]()/o[o.prop];_.each(c,function(n){var e={};_.each(n.css,function(n,t){e[t]=Math.round(n*a)+"px"}),n.el.css(e)})}var o,i,c;$(r).on("resize",function(){a()}),setInterval(function(){(o=t.$eval(e.ngFluid)).prop||(o.prop="width"),i=$(n).find("[css]"),c=[],_.each(i,function(n){n=$(n),c.push({el:n,css:t.$eval(n.attr("css"))})}),a()},1e3)}}])}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\filters\filters.js
//-------------------------------
!function(window){window.appSettings.module.filter("capitalize",function(){return function(e,r){return e&&e?e.replace(/([^\W_]+[^\s-]*) */g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()}):""}}),window.appSettings.module.filter("shuffle",function(){return function(e){for(var r,t,n=e.length;n;)t=Math.floor(Math.random()*n--),r=e[n],e[n]=e[t],e[t]=r;return e}}),window.appSettings.module.filter("multisort",function(){return function(e,a){function u(e,r){var t,n=0;for(t in e)if(ftl.jpath(t,e)){if(n==r)return t;n++}return!1}function s(e,r,t){return t=null!==t?t:1,e==r?0:r<e?1*t:-1*t}var f=function(e){var r,t=0;for(r in e)e.hasOwnProperty(r)&&t++;return t}(a=a||{});if(!f)return e.sort(s);for(var r in a)a[r]="desc"==a[r]||-1==a[r]?-1:"skip"==a[r]||0===a[r]?0:1;return e.sort(function(e,r){for(var t=0,n=0;0===t&&n<f;){var i=u(a,n);if(i){var o=a[i];t=s(ftl.jpath(i,e),ftl.jpath(i,r),o),n++}}return t}),e}}),window.appSettings.module.filter("esportRaceSorter",function(){return function(e){function t(e){return new Date(e).getTime()}e.sort(function(e,r){return e.schedule?r.schedule?t(e.schedule.start)==t(r.schedule.start)?t(e.updated)-t(r.updated):t(e.schedule.start)-t(r.schedule.start):(console.log("Invalid race in sorting",r),0):(console.log("Invalid race in sorting",e),0)});var r=[function(e){return!e._isPast()&&e.limitToNewUsers},function(e){return e._isFuture()&&"trivia"==e.raceType&&e._within("start",900)},function(e){return e._isPresent()&&"trivia"==e.raceType&&e._before("late")},function(e){return e._isPresent()&&"trivia"!=e.raceType&&!e.limitToNewUsers},function(e){return e._isPresent()&&"trivia"==e.raceType&&e._after("late")},function(e){return e._isPast()},function(e){return e._isFuture()&&"trivia"!=e.raceType||e._isFuture()&&"trivia"==e.raceType&&!e._within("start",900)}];return(e=_.map(e,function(t,n){return t._n=n,_.each(r,function(e,r){e(t)&&(t._o=r,t._order=r+n/1e3)}),t})).sort(function(e,r){return e._order-r._order}),e}}),window.appSettings.module.filter("filtered",function(){return function(items,property,query,order){if(query&&""!=query&&1<query.length){var regex=new RegExp(query,"gmi"),filtered=_.filter(items,function(item){if("string"==typeof property)return item.hasOwnProperty(property)&®ex.test(item[property]);var matched=!1;return _.each(property,function(prop){matched=matched||regex.test(eval("item."+prop))}),matched});return order&&(filtered=filtered.sort(function(e,r){return r[order]-e[order]})),filtered}return items}}),window.appSettings.module.filter("totime",function(){return function(e,r,t){if(!r)r="hh mm ss";var n=1;(e=parseInt(e))<0&&(n=-1,e=Math.abs(parseInt(e)));var i=e/1e3,o=Math.floor(i/3600);i-=3600*o;var a=Math.floor(i/60),u=i%60;u=Math.floor(u);function s(e){return e<=9?"0"+e:e}if(!t){if(55<o/168)return Math.round(o/39600)+" years";if(30<o/24)return Math.round(o/720)+" months";if(7<o/24)return Math.round(o/168)+" weeks";if(48<o)return Math.round(o/24)+" days"}return(0<n?"":"-")+(r=0<o?"hh mm ss":0==o&&0<a?"mm ss":0==o&&0==a&&0<u?"ss":"now").replace(/(hh)/,s(o)+"h").replace(/(mm)/,s(a)+"m").replace(/(ss)/,s(u)+"s")}}),window.appSettings.module.filter("totimeago",function(){return function(e,r,t){if(!r)r="hh:mm:ss";var n=1;e<0&&(n=-1,e=Math.abs(e));function i(e){return 0<n?"in "+e:e+" ago"}function o(e){return e<=9?"0"+e:e}var a=e/1e3,u=Math.floor(a/3600);a-=3600*u;var s=Math.floor(a/60),f=a%60;if(f=Math.round(f),!t){if(55<u/168)return i(Math.ceil(u/39600)+" years");if(30<u/24)return i(Math.round(u/720)+" months");if(7<u/24)return i(Math.round(u/168)+" weeks");if(48<u)return i(Math.round(u/24)+" days")}return i(o(u)+"h "+o(s)+"m "+o(f)+"s")}}),window.appSettings.module.filter("ua",function(){return function(e,r){if(_.isString(e)&&"app:"==e.substr(0,4)){var t={},n=e.substr(4).split(", "),i=[];_.each(n,function(e){var r=e.trim().split(" ");r&&2<=r.length?t[r[0]]=r[1]:t[r[0]]=!0,i.push(r[0])});var o={app:!0,type:"app",os:i[1].toLowerCase(),device:i[0],software:"App",version:t.app};switch(r){default:case"browser":return"iOS Mobile App version "+o.version;case"device-vendor":return"FleetWit";case"device-type":return"App";case"device":return o.device;case"os":return o.os}return""}var a=new UAParser;switch(a.setUA(e),r){default:case"browser":return a.getBrowser().name+" "+a.getBrowser().version;case"device-vendor":return a.getDevice().vendor;case"device-type":return a.getDevice().type;case"device":var u="";return a.getDevice().vendor&&(u+=a.getDevice().vendor),a.getDevice().type&&(u+=" ("+a.getDevice().type+")"),""==u&&(u="Unspecified"),u;case"os":return a.getOS().name+" "+a.getOS().version}}}),window.appSettings.module.filter("nth",function(){return function(e){switch(e.toString().substr(-1,1)){case"1":return e+"st";case"2":return e+"nd";case"3":return e+"rd";default:return e+"th"}}}),window.appSettings.module.filter("rand",function(){return function(e){return console.log("array",e),_.isArray(e)?_.shuffle(e)[0]:e}}),window.appSettings.module.filter("timeago",function(){var M={settings:{refreshMillis:6e4,allowFuture:!1,overrideLang:null,fullDateAfterSeconds:null,strings:{en_US:{prefixAgo:null,prefixFromNow:null,suffixAgo:"ago",suffixFromNow:"from now",seconds:"just now",minute:"a minute",minutes:"%d minutes",hour:"an hour",hours:"%d hours",day:"a day",days:"%d days",month:"a month",months:"%d months",year:"a year",years:"%d years",numbers:[]}}},inWords:function(i,e,r,t){var n=parseInt(M.settings.fullDateAfterSeconds,10);if(!isNaN(n)){var o=1e3*n;if(0<=i&&o<=i||i<0&&i<=o)return r?$filter("date")(e,r,t):e}var a,u=M.settings.overrideLang,s=document.documentElement.lang,f=M.settings.strings,d=(a=void 0!==f[u]?f[u]:void 0!==f[s]?f[s]:f["en_US"]).prefixAgo,c=a.suffixAgo;M.settings.allowFuture&&i<0&&(d=a.prefixFromNow,c=a.suffixFromNow);var l=Math.abs(i)/1e3,p=l/60,h=p/60,m=h/24,v=m/365;function g(e,r){var t=angular.isFunction(e)?e(r,i):e,n=a.numbers&&a.numbers[r]||r;return t.replace(/%d/i,n)}var w=l<45&&g(a.seconds,Math.round(l))||l<90&&g(a.minute,1)||p<45&&g(a.minutes,Math.round(p))||p<90&&g(a.hour,1)||h<24&&g(a.hours,Math.round(h))||h<42&&g(a.day,1)||m<30&&g(a.days,Math.round(m))||m<45&&g(a.month,1)||m<365&&g(a.months,Math.round(m/30))||v<1.5&&g(a.year,1)||g(a.years,Math.round(v)),y=void 0===a.wordSeparator?" ":a.wordSeparator;return l<60?[d,w].join(y).trim():[d,w,c].join(y).trim()},parse:function(e){if(e instanceof Date)return e;if(angular.isNumber(e))return new Date(e);if(/^\d+$/.test(e))return new Date(parseInt(e,10));var r=(e||"").trim();return r=(r=(r=(r=r.replace(/\.\d+/,"")).replace(/-/,"/").replace(/-/,"/")).replace(/T/," ").replace(/Z/," UTC")).replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"),new Date(r)}};return function(e,r,t){var n=M.parse(e),i=Date.now()-n;return M.inWords(i,n,r,t)}}),window.appSettings.module.filter("age",function(){var M={settings:{refreshMillis:6e4,allowFuture:!1,overrideLang:null,fullDateAfterSeconds:null,strings:{en_US:{prefixAgo:null,prefixFromNow:null,suffixAgo:"",suffixFromNow:"",seconds:"less than a minute",minute:"about a minute",minutes:"%d minutes",hour:"about an hour",hours:"about %d hours",day:"a day",days:"%d days",month:"about a month",months:"%d months",year:"about a year",years:"%d years",numbers:[]}}},inWords:function(i,e,r,t){var n=parseInt(M.settings.fullDateAfterSeconds,10);if(!isNaN(n)){var o=1e3*n;if(0<=i&&o<=i||i<0&&i<=o)return r?$filter("date")(e,r,t):e}var a,u=M.settings.overrideLang,s=document.documentElement.lang,f=M.settings.strings,d=(a=void 0!==f[u]?f[u]:void 0!==f[s]?f[s]:f["en_US"]).prefixAgo,c=a.suffixAgo;M.settings.allowFuture&&i<0&&(d=a.prefixFromNow,c=a.suffixFromNow);var l=Math.abs(i)/1e3,p=l/60,h=p/60,m=h/24,v=m/365;function g(e,r){var t=angular.isFunction(e)?e(r,i):e,n=a.numbers&&a.numbers[r]||r;return t.replace(/%d/i,n)}var w=l<45&&g(a.seconds,Math.round(l))||l<90&&g(a.minute,1)||p<45&&g(a.minutes,Math.round(p))||p<90&&g(a.hour,1)||h<24&&g(a.hours,Math.round(h))||h<42&&g(a.day,1)||m<30&&g(a.days,Math.round(m))||m<45&&g(a.month,1)||m<365&&g(a.months,Math.round(m/30))||v<1.5&&g(a.year,1)||g(a.years,Math.round(v)),y=void 0===a.wordSeparator?" ":a.wordSeparator;return[d,w,c].join(y).trim()},parse:function(e){if(e instanceof Date)return e;if(angular.isNumber(e))return new Date(e);if(/^\d+$/.test(e))return new Date(parseInt(e,10));var r=(e||"").trim();return r=(r=(r=(r=r.replace(/\.\d+/,"")).replace(/-/,"/").replace(/-/,"/")).replace(/T/," ").replace(/Z/," UTC")).replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"),new Date(r)}};return function(e,r,t){var n=M.parse(e),i=Date.now()-n;return M.inWords(i,n,r,t)}}),window.appSettings.module.filter("propsFilter",function(){return function(e,o){var a=[];if(angular.isArray(e)){var u=Object.keys(o);e.forEach(function(e){for(var r=!1,t=0;t<u.length;t++){var n=u[t],i=o[n].toLowerCase();if(-1!==e[n].toString().toLowerCase().indexOf(i)){r=!0;break}}r&&a.push(e)})}else a=e;return a}})}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\helpers\helpers.js
//-------------------------------
!function(a){a.appSettings.module.directive("markdown",["$compile",function(n){return{link:function(t,e,i,n){t.$watch("markdown",function(){var n;t.markdown?(n=t.markdown,i.admin||(n=n.replace(/</gim,"<"))):n="",$(e).html(marked(n))})},replace:!1,scope:{markdown:"="}}}]),a.appSettings.module.directive("ngIframe",function(){return{link:function(n,t,e){n.safeApply=function(n){var t=this.$root.$$phase;"$apply"==t||"$digest"==t?n&&"function"==typeof n&&n():this.$apply(n)},n.$watch("ngIframe",function(){n.ngIframe&&$(t).attr("src",n.ngIframe)})},replace:!0,transclude:!0,scope:{ngIframe:"="}}}),a.appSettings.module.directive("elastic",["$timeout",function(i){return{restrict:"A",link:function(n,t){n.initialHeight=0;function e(){t[0].style.height=n.initialHeight,t[0].style.height=t[0].scrollHeight+"px"}t.on("input change",e),i(e,0)}}}]),a.appSettings.module.directive("animateChanges",["$timeout",function(n){return{link:function(n,t,e){var i="bounceIn",a=e.type||"flash",o=e.classname||"color-blue",r=e.duration||300;switch(a){default:case"flash":n.$watch("animateChanges",function(){!n.animateChanges&&0!==n.animateChanges||($(t).removeClass(i).addClass(i).addClass(o).addClass("animated").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){$(this).removeClass(i).removeClass("animated")}),setTimeout(function(){$(t).removeClass(o)},r))});break;case"bg":$(t).css({transition:"background-color 1s, color 1s"}),n.$watch("animateChanges",function(){!n.animateChanges&&0!==n.animateChanges||($(t).addClass("change-bg-blue"),setTimeout(function(){$(t).removeClass("change-bg-blue")},1e3))})}},scope:{animateChanges:"="}}}]),a.appSettings.module.directive("mask",["$timeout",function(n){return{link:function(n,t,e){$(t).on("input",function(n){var t=n.target.value.replace(/\D/g,"").match(/(\d{0,3})(\d{0,3})(\d{0,4})/);n.target.value=t[2]?"("+t[1]+") "+t[2]+(t[3]?"-"+t[3]:""):t[1]})}}}]),a.appSettings.module.directive("preventPullRefresh",function(){return{link:function(n,t){}}}),a.appSettings.module.directive("ngHeight",function(){return function(n,e,i){n.resize=function(){var n=parseInt(i.ngHeight),t=$(a).innerHeight();$(".top-toolbar").css({height:n+"px"}),$(e).css({height:t-n+"px"})},n.resize(),$(a).on("resize",function(){n.resize()})}}),a.appSettings.module.directive("rotation",function(){return{link:function(n,t,e){n.$watch("rotation",function(){n.rotation&&$(t).css({transform:"rotate("+n.rotation+"deg)","-webkit-transform":"rotate("+n.rotation+"deg)","-moz-transform":"rotate("+n.rotation+"deg)","-ms-transform":"rotate("+n.rotation+"deg)","-o-transform":"rotate("+n.rotation+"deg)"})})},scope:{rotation:"="}}}),a.appSettings.module.directive("bgProgress",["$timeout",function(i){return{link:function(n,t,e){i(function(){console.log("attrs.bgProgress",e.bgProgress),$(t).css({"background-image":"url(/theme/images/bg/blue.png)","background-position":"center left","background-size":e.bgProgress+" 100%","background-repeat":"no-repeat"})})}}}]),a.appSettings.module.directive("bgImage",function(){return{link:function(t,e,i){t.$watch("bgImage",function(){t.bgImage&&function(){var n={"background-image":"url('"+t.bgImage+"')","background-position":"center center","background-size":"cover","background-repeat":"no-repeat"};t.$eval(i.css)&&(n=_.extend(n,t.$parent.$eval(i.css))),$(e).css(n)}()})},scope:{bgImage:"="}}}),a.appSettings.module.directive("longText",function(){return{link:function(n,t,e){100<$(t).height()&&($(t).addClass("closed"),$(t).on("click",function(){$(t).removeClass("closed")}))},restrict:"C"}}),a.appSettings.module.directive("ngHighlight",function(){return{link:function(t,e,n){function i(){var n=t.text;n=n.replace(new RegExp(t.ngHighlight,"gmi"),function(n){return'<span class="ng-highlight">'+n+"</span>"}),$(e).html(n)}t.$watch("ngHighlight",function(){i()}),t.$watch("text",function(){i()})},scope:{text:"=",ngHighlight:"="}}})}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\ui\ui.js
//-------------------------------
!function(p){p.appSettings.module.directive("uiPagination",function(){return{link:function(n,t,e){n.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},n.pagination={display:9,first:function(){n.onPageChange(1)},last:function(){n.onPageChange(n.uiPagination.pages)},previous:function(){1<n.uiPagination.current&&n.onPageChange(parseInt(n.uiPagination.current)-1)},next:function(){n.uiPagination.current<n.uiPagination.pages&&n.onPageChange(parseInt(n.uiPagination.current)+1)},pages:function(){if(!n.uiPagination||!n.uiPagination.pages)return[];var t,e,i=[];for(n.uiPagination.pages>n.pagination.display?(e=parseInt(n.uiPagination.current)-Math.floor(n.pagination.display/2)<1?1:parseInt(n.uiPagination.current)-Math.floor(n.pagination.display/2))+n.pagination.display>n.uiPagination.pages?end=n.uiPagination.pages:end=e+n.pagination.display-1:(e=1,end=n.uiPagination.pages),t=e;t<=end;t++)i.push(t);return i}},n.$watch("uiPagination",function(){})},replace:!0,restrict:"A",scope:{uiPagination:"=",onPageChange:"="},template:"<div class=\"ui-pagination\">\r\n\t<table>\r\n\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<ul class=\"pagination\">\r\n\t\t\t\t\t\t<li ng-class=\"{disabled:uiPagination.current<=1}\" ng-click=\"pagination.first()\">\r\n\t\t\t\t\t\t\t<span class=\"fa fa-angle-double-left\"></span>\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t<li ng-class=\"{disabled:uiPagination.current<=1}\" ng-click=\"pagination.previous()\">\r\n\t\t\t\t\t\t\t<span class=\"fa fa-angle-left\"></span>\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t<li ng-repeat=\"pn in pagination.pages()\" ng-class=\"{active:pn==uiPagination.current}\"ng-click=\"onPageChange(pn)\">\r\n\t\t\t\t\t\t\t{{pn}}\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t<li ng-class=\"{disabled:uiPagination.current>=uiPagination.pages}\" ng-click=\"pagination.next()\">\r\n\t\t\t\t\t\t\t<span class=\"fa fa-angle-right\"></span>\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t<li ng-class=\"{disabled:uiPagination.current>=uiPagination.pages}\" ng-click=\"pagination.last()\">\r\n\t\t\t\t\t\t\t<span class=\"fa fa-angle-double-right\"></span>\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\r\n\t</table>\r\n</div>"}}),p.appSettings.module.directive("uiProfile",["$timeout",function(t){return{link:function(i,t,e){i.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},i.ui={profile:{},getType:function(){return e.type||"default"},getPrefix:function(){return e.prefix||""}},i.$watch("uiProfile",function(){if(i.uiProfile){var e=_.find(p.sharedData.users,function(t){return t.uuid==i.uiProfile});e&&i.safeApply(function(t){e=JSON.parse(angular.toJson(e)),i.ui.profile=e})}})},replace:!0,scope:{uiProfile:"="},template:"<span>\r\n\t<div class=\"ui-profile\" ng-if=\"ui.getType()=='default'\">\r\n\t\t<img ng-src=\"{{ui.profile.avatar?ui.profile.avatar:'https://d1gzd0csb09n9t.cloudfront.net/custom/BJ3TCQ_z-.jpg'}}\" />\r\n\t\t<div>\r\n\t\t\t<div class=\"name\">\r\n\t\t\t\t{{ui.profile.firstname}}\r\n\t\t\t\t{{ui.profile.lastname}}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"email\">\r\n\t\t\t\t{{ui.profile.email}}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<span class=\"ui-profile\" ng-if=\"ui.getType()=='name'\">\r\n\t\t<span class=\"name\">\r\n\t\t\t{{ui.profile.firstname}}\r\n\t\t\t{{ui.profile.lastname}}\r\n\t\t</span>\r\n\t</span>\r\n\t<span class=\"ui-profile\" ng-if=\"ui.getType()=='avatar'\">\r\n\t\t<img ng-src=\"{{ui.profile.avatar?ui.profile.avatar:'https://d1gzd0csb09n9t.cloudfront.net/custom/BJ3TCQ_z-.jpg'}}\" title=\"{{ui.getPrefix()}} {{ui.profile.firstname}} {{ui.profile.lastname}}\" alt=\"{{ui.profile.firstname}} {{ui.profile.lastname}}\" style=\"margin:0\" />\r\n\t</span>\r\n</span>\r\n"}}]),p.appSettings.module.directive("editInPlaceTd",["$timeout",function(n){return{link:function(e,i,t){e.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},e.editor={value:"",onBlur:function(){t.blur&&e.$eval(t.blur)},edit:function(t){e.safeApply(function(){(e.edit=t)?n(function(){$(i).find("input,select").focus()}):e.value=e.editor.decode(e.editor.value)})},encode:function(t){switch(e.editInPlaceTd.type){default:case"text":case"number":case"categories":case"subcategories":return t;case"difficulty":return t.toString();case"countries":return t.sort().join(",")}},decode:function(t){switch(e.editInPlaceTd.type){default:case"text":case"number":case"categories":case"subcategories":return t;case"difficulty":return parseInt(t);case"countries":return t.split(",")}}},e.edit=!1,e.$watch("editInPlaceTd",function(){e.editInPlaceTd}),e.$watch("value",function(){!e.value&&0!=e.value||(e.editor.value=e.editor.encode(e.value))})},replace:!0,scope:{editInPlaceTd:"=",value:"="},template:"<td class=\"edit-in-place\" ng-focus=\"editor.edit(true)\">\r\n\t\r\n\t<!-- Text -->\r\n\t<div ng-if=\"editInPlaceTd.type=='text'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t{{value||'(empty)'}}\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<input type=\"text\" class=\"input-text\" ng-model=\"editor.value\" placeholder=\"Type something\" ng-blur=\"editor.edit(false)\" ng-enter=\"editor.edit(false)\" ng-escape=\"editor.edit(false)\" />\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Number -->\r\n\t<div ng-if=\"editInPlaceTd.type=='number'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t{{(value||value==0)?value:'(empty)'}}\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<input type=\"number\" class=\"input-text\" ng-model=\"editor.value\" placeholder=\"Type something\" ng-blur=\"editor.edit(false)\" ng-enter=\"editor.edit(false)\" ng-escape=\"editor.edit(false)\" />\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Categories -->\r\n\t<div ng-if=\"editInPlaceTd.type=='categories'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t<span class=\"tag\" ng-repeat=\"item in value\">\r\n\t\t\t\t{{item}}\r\n\t\t\t</span>\r\n\t\t\t<span ng-if=\"value.length==0\">(empty)</span>\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<div ui-tags=\"editor.value\" type=\"categories\" blur=\"editor.edit(false)\"></div>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Subcategories -->\r\n\t<div ng-if=\"editInPlaceTd.type=='subcategories'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t<span class=\"tag\" ng-repeat=\"item in value\">{{item}}</span>\r\n\t\t</div>\r\n\t\t<span ng-if=\"value.length==0\">(empty)</span>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<div ui-tags=\"editor.value\" type=\"subcategories\" blur=\"editor.edit(false)\"></div>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Difficulty -->\r\n\t<div ng-if=\"editInPlaceTd.type=='difficulty'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t<strong ng-if=\"editInPlaceTd.label!==false\">Difficulty:</strong> <span class=\"tag\">{{value==-1?'Ignore':(value?value:'Unrated')}}</span>\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<select ng-model=\"editor.value\" ng-blur=\"editor.edit(false)\">\r\n\t\t\t\t<option value=\"-1\" ng-if=\"editInPlaceTd.ignore\">Ignore</option>\r\n\t\t\t\t<option value=\"0\">Unrated</option>\r\n\t\t\t\t<option value=\"1\">1 - Easiest</option>\r\n\t\t\t\t<option value=\"2\">2 - Easy</option>\r\n\t\t\t\t<option value=\"3\">3</option>\r\n\t\t\t\t<option value=\"4\">4 - Hard</option>\r\n\t\t\t\t<option value=\"5\">5 - Hardest</option>\r\n\t\t\t</select>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Countries -->\r\n\t<div ng-if=\"editInPlaceTd.type=='countries'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t<strong ng-if=\"editInPlaceTd.label!==false\">Countries:</strong>\r\n\t\t\t<span class=\"tag\" ng-repeat=\"country in value\">{{country==-1?'Ignore':(country?country:'None')}}</span>\r\n\t\t\t<span ng-if=\"value.length==0\">(empty)</span>\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<select ng-model=\"editor.value\" ng-blur=\"editor.edit(false)\">\r\n\t\t\t\t<option value=\"-1\" ng-if=\"editInPlaceTd.ignore\">Ignore</option>\r\n\t\t\t\t<option value=\"\">None</option>\r\n\t\t\t\t<option value=\"US\">US</option>\r\n\t\t\t\t<option value=\"UK\">UK</option>\r\n\t\t\t\t<option value=\"UK,US\">US & UK</option>\r\n\t\t\t</select>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- List -->\r\n\t<div ng-if=\"editInPlaceTd.type=='list'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t<span ng-class=\"{tag:!editInPlaceTd.notag}\">{{value?value:'(empty)'}}</span>\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<select ng-model=\"editor.value\" blur=\"editor.edit(false)\">\r\n\t\t\t\t<option value=\"-1\" ng-if=\"editInPlaceTd.ignore\">Ignore</option>\r\n\t\t\t\t<option value=\"{{line}}\" ng-repeat=\"line in editInPlaceTd.list\">{{line}}</option>\r\n\t\t\t</select>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Date -->\r\n\t<div ng-if=\"editInPlaceTd.type=='date'\">\r\n\t\t<div ng-if=\"editInPlaceTd.op=='on'\">\r\n\t\t\t<!-- Date, no hours -->\r\n\t\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t\t{{value|date:'MMMM dd yyyy'}}\r\n\t\t\t</div>\r\n\t\t\t<div ng-if=\"edit\">\r\n\t\t\t\t<div date-time-append>\r\n\t\t\t\t\t<input type=\"text\" date-time format=\"MMMM dd yyyy\" min-view=\"date\" auto-close=\"true\" ng-model=\"editor.value\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div ng-if=\"editInPlaceTd.op=='before' || editInPlaceTd.op=='after'\">\r\n\t\t\t<!-- Date, no hours -->\r\n\t\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t\t{{value|date:'MMMM dd yyyy HH:mm'}}\r\n\t\t\t</div>\r\n\t\t\t<div ng-if=\"edit\">\r\n\t\t\t\t<div date-time-append>\r\n\t\t\t\t\t<input type=\"text\" date-time format=\"MMMM dd yyyy HH:mm\" auto-close=\"true\" ng-model=\"editor.value\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div ng-if=\"editInPlaceTd.op=='between'\">\r\n\t\t\t<!-- Date, no hours -->\r\n\t\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t\t{{value.from|date:'MMMM dd yyyy'}}\r\n\t\t\t\t<div><strong>AND</strong></div>\r\n\t\t\t\t{{value.to|date:'MMMM dd yyyy'}}\r\n\t\t\t</div>\r\n\t\t\t<div ng-if=\"edit\">\r\n\t\t\t\t<div date-time-append>\r\n\t\t\t\t\t<input type=\"text\" date-time format=\"MMMM dd yyyy HH:mm\" auto-close=\"true\" ng-model=\"editor.value.from\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div><strong>AND</strong></div>\r\n\t\t\t\t<div date-time-append>\r\n\t\t\t\t\t<input type=\"text\" date-time format=\"MMMM dd yyyy HH:mm\" auto-close=\"true\" ng-model=\"editor.value.to\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t\r\n\t<!-- User -->\r\n\t<div ng-if=\"editInPlaceTd.type=='user'\">\r\n\t\t<div class=\"value\">\r\n\t\t\t<div ui-profile=\"value\" type=\"name\"></div>\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<div ui-type-ahead=\"users\" value=\"editor.value\" on-select=\"editor.selectUser\"></div>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t\r\n\t<!-- Cell Message -->\r\n\t<div class=\"cell-message {{editInPlaceTd.message.type}}\" ng-if=\"editInPlaceTd.message\">\r\n\t\t<div>\r\n\t\t\t{{editInPlaceTd.message.text}}\r\n\t\t</div>\r\n\t</div>\r\n</td>\r\n"}}]),p.appSettings.module.directive("editInPlace",["$timeout",function(n){return{link:function(e,i,t){e.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},e.users=p.sharedData.users,e.editor={value:"",onBlur:function(){t.blur&&e.$eval(t.blur)},selectUser:function(t){console.log("selectUser",t),e.editor.value=t.uuid,e.value=t.uuid,e.editor.edit(!1)},edit:function(t){!0!==t&&!1!==t&&(t=!1),e.safeApply(function(){(e.edit=t)?n(function(){$(i).find("input,select").focus()}):e.value=e.editor.decode(e.editor.value)})},encode:function(t){switch(e.editInPlace.type){default:case"text":case"categories":case"subcategories":return t;case"difficulty":return t.toString();case"countries":return t.sort().join(",");case"date":return"between"==e.editInPlace.op?_.isObject(t)&&!_.isDate(t)?{from:new Date(t.from),to:new Date(t.to)}:{from:new Date(t),to:new Date(t)}:_.isObject(t)&&!_.isDate(t)?new Date(t.from):new Date(t)}},decode:function(t){switch(e.editInPlace.type){default:case"text":case"categories":case"subcategories":return t;case"difficulty":return parseInt(t);case"countries":return t.split(",");case"date":return t}}},e.edit=!1,e.$watch("editInPlace",function(){e.editInPlace&&e.value&&(e.editor.value=e.editor.encode(e.value))}),e.$watch("value",function(){e.value&&(e.editor.value=e.editor.encode(e.value))},!0),e.$watch("editor.value",function(){e.editor.value&&(e.value=e.editor.decode(e.editor.value))},!0)},replace:!0,scope:{editInPlace:"=",value:"="},template:"<div class=\"edit-in-place\" ng-focus=\"editor.edit(true)\">\r\n\t\r\n\t<!-- Text -->\r\n\t<div ng-if=\"editInPlace.type=='text'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t{{value||'(empty)'}}\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<input type=\"text\" class=\"input-text\" ng-model=\"editor.value\" placeholder=\"Type something\" ng-blur=\"editor.edit(false)\" ng-enter=\"editor.edit(false)\" ng-escape=\"editor.edit(false)\" />\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Categories -->\r\n\t<div ng-if=\"editInPlace.type=='categories'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t<span class=\"tag\" ng-repeat=\"item in value\">\r\n\t\t\t\t{{item}}\r\n\t\t\t</span>\r\n\t\t\t<span ng-if=\"value.length==0\">(empty)</span>\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<div ui-tags=\"editor.value\" type=\"categories\" blur=\"editor.edit(false)\"></div>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Subcategories -->\r\n\t<div ng-if=\"editInPlace.type=='subcategories'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t<span class=\"tag\" ng-repeat=\"item in value\">{{item}}</span>\r\n\t\t</div>\r\n\t\t<span ng-if=\"value.length==0\">(empty)</span>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<div ui-tags=\"editor.value\" type=\"subcategories\" blur=\"editor.edit(false)\"></div>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Difficulty -->\r\n\t<div ng-if=\"editInPlace.type=='difficulty'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t<strong ng-if=\"editInPlace.label!==false\">Difficulty:</strong> <span class=\"tag\">{{value==-1?'Ignore':(value?value:'Unrated')}}</span>\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<select ng-model=\"editor.value\" ng-blur=\"editor.edit(false)\">\r\n\t\t\t\t<option value=\"-1\" ng-if=\"editInPlace.ignore\">Ignore</option>\r\n\t\t\t\t<option value=\"0\">Unrated</option>\r\n\t\t\t\t<option value=\"1\">1 - Easiest</option>\r\n\t\t\t\t<option value=\"2\">2 - Easy</option>\r\n\t\t\t\t<option value=\"3\">3</option>\r\n\t\t\t\t<option value=\"4\">4 - Hard</option>\r\n\t\t\t\t<option value=\"5\">5 - Hardest</option>\r\n\t\t\t</select>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Countries -->\r\n\t<div ng-if=\"editInPlace.type=='countries'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t<strong ng-if=\"editInPlace.label!==false\">Countries:</strong>\r\n\t\t\t<span class=\"tag\" ng-repeat=\"country in value\">{{country==-1?'Ignore':(country?country:'None')}}</span>\r\n\t\t\t<span ng-if=\"value.length==0\">(empty)</span>\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<select ng-model=\"editor.value\" ng-blur=\"editor.edit(false)\">\r\n\t\t\t\t<option value=\"-1\" ng-if=\"editInPlace.ignore\">Ignore</option>\r\n\t\t\t\t<option value=\"\">None</option>\r\n\t\t\t\t<option value=\"US\">US</option>\r\n\t\t\t\t<option value=\"UK\">UK</option>\r\n\t\t\t\t<option value=\"UK,US\">US & UK</option>\r\n\t\t\t</select>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- List -->\r\n\t<div ng-if=\"editInPlace.type=='list'\">\r\n\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t<span ng-class=\"{tag:!editInPlace.notag}\">{{value?value:'(empty)'}}</span>\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<select ng-model=\"editor.value\" blur=\"editor.edit(false)\">\r\n\t\t\t\t<option value=\"-1\" ng-if=\"editInPlace.ignore\">Ignore</option>\r\n\t\t\t\t<option value=\"{{line}}\" ng-repeat=\"line in editInPlace.list\">{{line}}</option>\r\n\t\t\t</select>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<!-- Date -->\r\n\t<div ng-if=\"editInPlace.type=='date'\">\r\n\t\t<div ng-if=\"editInPlace.op=='on'\">\r\n\t\t\t<!-- Date, no hours -->\r\n\t\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t\t{{value|date:'MMMM dd yyyy'}}\r\n\t\t\t</div>\r\n\t\t\t<div ng-if=\"edit\">\r\n\t\t\t\t<div date-time-append>\r\n\t\t\t\t\t<input type=\"text\" date-time format=\"MMMM dd yyyy\" min-view=\"date\" auto-close=\"true\" ng-model=\"editor.value\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div ng-if=\"editInPlace.op=='before' || editInPlace.op=='after'\">\r\n\t\t\t<!-- Date, no hours -->\r\n\t\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t\t{{value|date:'MMMM dd yyyy HH:mm'}}\r\n\t\t\t</div>\r\n\t\t\t<div ng-if=\"edit\">\r\n\t\t\t\t<div date-time-append>\r\n\t\t\t\t\t<input type=\"text\" date-time format=\"MMMM dd yyyy HH:mm\" auto-close=\"true\" ng-model=\"editor.value\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div ng-if=\"editInPlace.op=='between'\">\r\n\t\t\t<!-- Date, no hours -->\r\n\t\t\t<div ng-if=\"!edit\" class=\"value\">\r\n\t\t\t\t{{value.from|date:'MMMM dd yyyy'}}\r\n\t\t\t\t<div><strong>AND</strong></div>\r\n\t\t\t\t{{value.to|date:'MMMM dd yyyy'}}\r\n\t\t\t</div>\r\n\t\t\t<div ng-if=\"edit\">\r\n\t\t\t\t<div date-time-append>\r\n\t\t\t\t\t<input type=\"text\" date-time format=\"MMMM dd yyyy HH:mm\" auto-close=\"true\" ng-model=\"editor.value.from\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div><strong>AND</strong></div>\r\n\t\t\t\t<div date-time-append>\r\n\t\t\t\t\t<input type=\"text\" date-time format=\"MMMM dd yyyy HH:mm\" auto-close=\"true\" ng-model=\"editor.value.to\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t\r\n\t<!-- User -->\r\n\t<div ng-if=\"editInPlace.type=='user'\">\r\n\t\t<div class=\"value\">\r\n\t\t\t<div ui-profile=\"value\" type=\"name\"></div>\r\n\t\t</div>\r\n\t\t<div ng-if=\"edit\">\r\n\t\t\t<div ui-type-ahead=\"users\" value=\"editor.value\" on-select=\"editor.selectUser\"></div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n"}}]),p.appSettings.module.directive("uiTypeAhead",function(){return{link:function(i,t,e){i.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},i.type=e.type||"uib",i.loading=!0,i.placeholder=e.placeholder||"(select one)",i.ui={loading:!0,list:[],buffer:"",showSuggestions:!1,init:function(){i.safeApply(function(){var t=i.uiTypeAhead.slice(0);i.ui.list=t,i.ui.loading=!1,setTimeout(function(){i.safeApply(function(){i.ui.showSuggestions=!1})},500)})},refreshSuggestionList:function(){return console.log("$scope.ui.list",i.ui.list),_.filter(i.ui.list,function(t){var e=t.firstname.match(new RegExp(i.ui.buffer,"gmi"))||t.lastname.match(new RegExp(i.ui.buffer,"gmi"));return e&&0<e.length})},select:function(t){i.safeApply(function(){i.value=t,i.ui.suggestions=[],i.ui.showSuggestions=!1,i.ui.buffer=""}),i.onSelect&&i.onSelect(t)}},i.$watch("ui.buffer",function(t,e){i.ui.buffer&&1<=i.ui.buffer.length?i.safeApply(function(){i.ui.suggestions=i.ui.refreshSuggestionList(),console.log("$scope.ui.suggestions",i.ui.suggestions),i.ui.showSuggestions=!0}):i.safeApply(function(){i.ui.suggestions=[],i.ui.showSuggestions=!1,i.ui.buffer=""})}),i.$watch("uiTypeAhead",function(){i.uiTypeAhead&&i.ui.init()},!0)},replace:!1,scope:{uiTypeAhead:"=",value:"=",onSelect:"="},template:"<div class=\"type-ahead\">\r\n\t<div>\r\n\t\t<input type=\"text\" class=\"form-control\" ng-model=\"ui.buffer\" placeholder=\"{{uiTypeAhead=='user'?'Type a user\\'s name':'Type something'}}\" />\r\n\t\t<div ng-if=\"ui.showSuggestions\">\r\n\t\t\t<div class=\"ui-list absolute\">\r\n\t\t\t\t<div ng-repeat=\"item in ui.suggestions\" ng-click=\"ui.select(item)\">\r\n\t\t\t\t\t<span ng-highlight=\"ui.buffer\" text=\"item.firstname\"></span> <span ng-highlight=\"ui.buffer\" text=\"item.lastname\"></span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n"}}),p.appSettings.module.directive("uiTags",["$compile","$timeout",function(t,r){return{link:function(i,e,t,n,a){i.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},i.ui={};var o=p.ftl.sid(),u=$(e).get(0);$(u).addClass("tag-"+o),$(u).find("input").addClass("input-"+o),$(u).find(".ui-list").addClass("dropdown-"+o),$(".input-"+o).on("focus",function(t){$(".dropdown-"+o).addClass("active")}),$(u).on("click",function(){$(".input-"+o).focus(),setTimeout(function(){i.safeApply(function(){i.ui._active=!0})},100)}),$(document).on("click",function(t){$.contains($(e).get(0),$(t.target).get(0))||($(".dropdown-"+o).removeClass("active"),i.safeApply(function(){i.ui._active=!1}))}),i.prop=t.prop||"label",i.placeholder=t.placeholder||"",i.ui={tags:[],buffer:"",init:function(){i.ui.tags=p.sharedData[t.type]||[],e.find("input").bind("keydown",function(t){9===t.which&&i.ui.onBlur()})},onBlur:function(){t.blur&&i.$parent.$eval(t.blur)},create:function(){if(i.options&&i.options.readonly)return!1;i.ui.select(i.ui.buffer.toString()),i.safeApply(function(){i.ui.buffer=""})},select:function(e){i.safeApply(function(){_.find(p.sharedData[t.type],function(t){return t==e});i.uiTags.push(e),i.uiTags=_.uniq(i.uiTags),i.ui.buffer="",r(function(){$(".dropdown-"+o).removeClass("active")})})},selected:function(e){return!!_.find(i.uiTags,function(t){return t==e})},remove:function(e){console.log("remove",e),i.safeApply(function(){i.uiTags=_.filter(i.uiTags,function(t){return t!=e})})},getInputWidth:function(){return Math.min(150,12*i.ui.buffer.length+2)}},r(function(){i.ui.init()})},replace:!1,transclude:!1,scope:{uiTags:"=",options:"="},template:"<div class=\"ui-tags\" ng-blur=\"ui.onBlur()\">\r\n\t<span class=\"placeholder\" ng-if=\"placeholder && !ui._active && (!uiTags || uiTags.length==0)\">{{placeholder}}</span>\r\n\t<span class=\"tag no-ellipsis\" ng-repeat=\"item in uiTags\" style=\"margin:2px;\">\r\n\t\t<span class=\"label\">{{item}}</span>\r\n\t\t<span class=\"action\" ng-click=\"ui.remove(item)\">\r\n\t\t\t<span class=\"fas fa-times\"></span>\r\n\t\t</span>\r\n\t</span>\r\n\t<input class=\"ignore\" type=\"text\" ng-model=\"ui.buffer\" ng-enter=\"ui.create()\" style=\"width:{{ui.getInputWidth()}}px\" />\r\n\t<div>\r\n\t\t<div class=\"ui-list\" ng-if=\"ui.buffer.length>0\">\r\n\t\t\t<div ng-repeat=\"item in ui.tags|filter:ui.buffer|orderBy:'label'\" ng-highlight=\"ui.buffer\" text=\"item\" ng-click=\"ui.select(item)\" ng-class=\"{active:ui.selected(item)}\">\r\n\t\t\t\t{{item}}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n"}}]),p.appSettings.module.directive("uiProgress",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.prop=i.prop;var n=new ColorGradient(["#E30D2B","#F5B638","#069F4B"]);t.ui={getPercent:function(){return t.uiProgress&&t.value?t.value/t.uiProgress*100:0},getColor:function(t){return n.getHexColorAtPercent(Math.round(t))}},t.$watch("uiProgress",function(){t.uiProgress})},replace:!0,scope:{uiProgress:"=",value:"="},template:"<div class=\"ui-progress\">\r\n\t<div style=\"width:{{ui.getPercent()|number:2}}%; background-color:{{ui.getColor(ui.getPercent())}};\"></div>\r\n</div>\r\n"}}),p.appSettings.module.directive("uiModernOptions",function(){return{link:function(e,t,i){e.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},e.prop=i.prop,e.ui={select:function(t){e.safeApply(function(){e.data||(e.data={}),e.data[e.prop]=t.value})}}},replace:!0,scope:{uiModernOptions:"=",data:"="},template:"<div class=\"modern-options\">\r\n\t<div>\r\n\t\t<div ng-repeat=\"item in uiModernOptions\" ng-click=\"ui.select(item)\" ng-class=\"{selected:item.value==data[prop]}\">\r\n\t\t\t{{item.label}}\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n"}}),p.appSettings.module.directive("modernDatatableHeader",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.ui={sort:function(t,e){}}},replace:!0,scope:{modernDatatableHeader:"="},template:"<thead>\r\n\t<tr>\r\n\t\t<th ng-repeat=\"col in modernDatatableHeader\" ng-click=\"ui.sort(col, $index)\">\r\n\t\t\t<span ng-if=\"col.checkbox\">\r\n\t\t\t\t<input type=\"checkbox\" ng-model=\"col.value\" />\r\n\t\t\t</span>\r\n\t\t\t<span ng-if=\"col.label\">{{col.label}}</span>\r\n\t\t</th>\r\n\t</tr>\r\n</thead>\r\n"}}),p.appSettings.module.directive("uiBackTitle",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.nav={back:function(){p.Arbiter.inform("hybrid.slides.back",{})}},t.title=i.uiBackTitle},scope:{},template:"<table class=\"skip-hybrid\" style=\"width:100%;margin:0 5px;\">\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t\t<td style=\"width:20px;font-size:24px;font-weight:bold;\" ng-click=\"nav.back()\">\r\n\t\t\t\t<span class=\"fa fa-chevron-left\"></span>\r\n\t\t\t</td>\r\n\t\t\t<td style=\"text-align:center;font-size:18px;font-weight:700;font-style: italic;text-transform:uppercase;\">\r\n\t\t\t\t{{title}}\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</tbody>\r\n</table>"}}),p.appSettings.module.directive("uiProfileChart",["$timeout",function(n){return{link:function(e,t,i){e.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},e.id=ftl.sid(),e.chart={refresh:function(){if(!e.uiProfileChart||!e.uiProfileChart.data)return!1;var t={};switch(i.type){case"h-bars":t={labels:_.compact(_.map(e.uiProfileChart.data,function(t){return!!t.v&&t.label})),series:_.compact(_.map(e.uiProfileChart.data,function(t){return!!t.v&&t.v}))},new Chartist.Bar("#chart-"+e.id,t,{distributeSeries:!0,horizontalBars:!0,axisX:{labelInterpolationFnc:function(t){return t+"s"}}}),$("#chart-"+e.id).css({height:"150px"});break;case"pie":t={labels:_.compact(_.map(e.uiProfileChart.data,function(t){return!!t.v&&t.label})),series:_.compact(_.map(e.uiProfileChart.data,function(t){return!!t.v&&t.v}))},new Chartist.Pie("#chart-"+e.id,t),$("#chart-"+e.id).addClass("ct-perfect-fourth");break;case"donut":t={labels:_.map(e.uiProfileChart.data,function(t){return!!t.v&&t.label}),series:_.map(e.uiProfileChart.data,function(t){return!!t.v&&t.v})},new Chartist.Pie("#chart-"+e.id,t,{donut:!0,showLabel:!0,labelDirection:"explode",labelOffset:40,labelInterpolationFnc:function(t){return 7<t.length?t.slice(0,7)+"...":t}}),$("#chart-"+e.id).addClass("ct-perfect-fourth")}}},e.$watch("uiProfileChart",function(){e.uiProfileChart&&n(function(){e.chart.refresh()})})},replace:!1,transclude:!1,scope:{uiProfileChart:"="},template:"<div>\r\n\t<div id=\"chart-{{id}}\" class=\"ct-chart\"></div>\r\n</div>\r\n"}}]),p.appSettings.module.directive("uiGameSharer",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.copy=i.copy},scope:{uiGameSharer:"="},template:"<div style=\"height:20px;\">\r\n\t<table class=\"skip-hybrid\" style=\"margin:20px auto;display:none;\">\r\n\t\t<tbody>\r\n\t\t\t<tr>\r\n\t\t\t\t<td style=\"text-align:center;font-size:14px;font-weight:600;\">\r\n\t\t\t\t\t{{copy}}\r\n\t\t\t\t</td>\r\n\t\t\t\t<td style=\"padding:0 10px;font-size:18px;\">\r\n\t\t\t\t\t<span class=\"fa fa-share-square-o\"></span>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\r\n\t</table>\r\n</div>\r\n"}}),p.appSettings.module.directive("uiDate",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.getTimeTo=function(t){var e=new Date(t).getTime()-(new Date).getTime();return 1e3*Math.round(e/1e3)},t.display={list:["timeago","small","large"],index:0},t.toggle=function(){t.safeApply(function(){t.display.index++,t.display.index>=t.display.list.length&&(t.display.index=0)})}},scope:{uiDate:"="},template:"<span ng-click=\"toggle()\" ng-class=\"{'text-primary':getTimeTo(uiDate)>=0, 'text-danger':getTimeTo(uiDate)<0}\">\r\n\t<span ng-if=\"display.list[display.index]=='small'\">\r\n\t\t{{uiDate|date:'MMM d, y'}}\r\n\t</span>\r\n\t<span ng-if=\"display.list[display.index]=='medium'\">\r\n\t\t{{uiDate|date:'short'}}\r\n\t</span>\r\n\t<span ng-if=\"display.list[display.index]=='large'\">\r\n\t\t{{uiDate|date:'EEEE, MMM d, y h:mm:ss a'}}\r\n\t</span>\r\n\t<span ng-if=\"display.list[display.index]=='timeago'\">\r\n\t\t{{getTimeTo(uiDate)|totimeago}}\r\n\t</span>\r\n</span>\r\n"}}),p.appSettings.module.directive("uiSwitch",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.display=function(){t.uiSwitch[i.name]?$(e).addClass("fa fa-toggle-on").removeClass("fa-toggle-off"):$(e).addClass("fa fa-toggle-off").removeClass("fa-toggle-on")},$(e).css({cursor:"pointer"}).on("click",function(){t.safeApply(function(){t.uiSwitch[i.name]=!t.uiSwitch[i.name],t.display()})}),t.$watch("uiSwitch",function(){t.uiSwitch&&t.display()})},scope:{uiSwitch:"="}}}),p.appSettings.module.directive("uiCheckbox",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)};var n=$("<span></span>"),a=$('<span class="fa fa-square"></span>'),o=$("<span> "+i.label+"</span>");n.append(a),n.append(o),$(e).append(n),n.on("click",function(){t.safeApply(function(){t.uiCheckbox=!t.uiCheckbox})}),t.$watch("uiCheckbox",function(){t.uiCheckbox?a.removeClass("fa-square").addClass("fa-check-square"):a.removeClass("fa-check-square").addClass("fa-square")})},scope:{uiCheckbox:"="}}}),p.appSettings.module.directive("uiCountdown",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.countdown={format:function(t){return t<=9?"0"+t:t},get:function(t){var e=new Date(t).getTime()-(new Date).getTime(),i=1;e<0&&(i=-1,e=Math.abs(e));var n=e/1e3,a=Math.floor(n/86400),o=Math.floor(n/3600),u=(n-=3600*o)%60;return{d:a,h:o-=24*a,m:Math.floor(n/60),s:u=Math.floor(u),sign:i}}}},replace:!0,scope:{uiCountdown:"=",calendar:"="},template:"<div class=\"countdown\">\r\n\t<div ng-if=\"calendar\" class=\"calendar\">\r\n\t\t<span class=\"addtocalendar atc-style-icon atc-style-menu-wb\">\r\n\t\t\t<a class=\"atcb-link\">\r\n\t\t\t\t<span class=\"fa fa-calendar-plus-o\"></span>\r\n\t\t\t</a>\r\n\t\t\t<var class=\"atc_event\">\r\n\t\t\t\t<var class=\"atc_date_start\">{{calendar.schedule.play.from|date:'yyyy-MM-dd hh:mm:00'}}</var>\r\n\t\t\t\t<var class=\"atc_date_end\">{{calendar.schedule.play.to|date:'yyyy-MM-dd hh:mm:00'}}</var>\r\n\t\t\t\t<var class=\"atc_timezone\">America/New_York</var>\r\n\t\t\t\t<var class=\"atc_title\">{{calendar.title}}</var>\r\n\t\t\t\t<var class=\"atc_description\">Play this {{calendar.settings._raceType}} race to win ${{calendar._prizeValue()||0|number:0}} in prizes - Play at https://www.fleetwit.com/race/{{calendar.alias}}</var>\r\n\t\t\t\t<var class=\"atc_privacy\">public</var>\r\n\t\t\t\t<var class=\"atc_organizer\">FleetWit</var>\r\n\t\t\t\t<var class=\"atc_organizer_email\">hello@fleetwit.com</var>\r\n\t\t\t\t<var class=\"atc_location\">https://www.fleetwit.com.com/race/{{calendar.alias}}</var>\r\n\t\t\t</var>\r\n\t\t</span>\r\n\t</div>\r\n\t<div ng-if=\"countdown.get(uiCountdown).d>0\">\r\n\t\t<div class=\"number\">\r\n\t\t\t{{countdown.format(countdown.get(uiCountdown).d)}}\r\n\t\t</div>\r\n\t\t<div class=\"unit\">\r\n\t\t\tday<span ng-if=\"countdown.get(uiCountdown).d>1\">s</span>\r\n\t\t</div>\r\n\t</div>\r\n\t<div>\r\n\t\t<div class=\"number\">\r\n\t\t\t{{countdown.format(countdown.get(uiCountdown).h)}}\r\n\t\t</div>\r\n\t\t<div class=\"unit\">\r\n\t\t\thour<span ng-if=\"countdown.get(uiCountdown).h>1\">s</span>\r\n\t\t</div>\r\n\t</div>\r\n\t<div>\r\n\t\t<div class=\"number\">\r\n\t\t\t{{countdown.format(countdown.get(uiCountdown).m)}}\r\n\t\t</div>\r\n\t\t<div class=\"unit\">\r\n\t\t\tminute<span ng-if=\"countdown.get(uiCountdown).m>1\">s</span>\r\n\t\t</div>\r\n\t</div>\r\n\t<div ng-if=\"countdown.get(uiCountdown).d==0\">\r\n\t\t<div class=\"number\">\r\n\t\t\t{{countdown.format(countdown.get(uiCountdown).s)}}\r\n\t\t</div>\r\n\t\t<div class=\"unit\">\r\n\t\t\tsecond<span ng-if=\"countdown.get(uiCountdown).s>1\">s</span>\r\n\t\t</div>\r\n\t</div>\r\n</div>"}}),p.appSettings.module.directive("uiRating",["$timeout",function(n){return{link:function(i,t,e){i.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},i.type=e.type||"star",i.count=e.count||5,i.rating={value:!1,refresh:function(){i.safeApply(function(){!1===i.rating.value?i.rating.value=parseInt(i.uiRating)||0:i.rating.value!=i.uiRating&&(i.uiRating=i.rating.value)});var t,e=[];for(t=0;t<parseInt(i.count);t++)e.push({n:t+1,v:(i.uiRating||0==i.uiRating)&&i.uiRating>=t+1});i.safeApply(function(){i.rating.range=e})},rate:function(t,e){i.safeApply(function(){e&&(i.rating.value=t),i.uiRating=t,n(function(){i.onChange&&i.onChange(t)})})}},i.$watch("uiRating",function(){i.rating.refresh()})},replace:!0,scope:{uiRating:"=",onChange:"="},template:"<span class=\"ui-rating\">\r\n\t<span class=\"fa fa-star\" ng-class=\"{'fa-star':item.v,'fa-star-o':!item.v}\" ng-repeat=\"item in rating.range\" ng-click=\"rating.rate(item.n, true)\"></span>\r\n</span>\r\n"}}]),p.appSettings.module.directive("uiApiTags",["$compile","$timeout",function(t,r){return{link:function(i,e,n,t,a){i.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},i.ui={};var o=p.ftl.sid(),u=$(e).get(0);$(u).addClass("tag-"+o),$(u).find("input").addClass("input-"+o),$(u).find(".ui-list").addClass("dropdown-"+o),$(".input-"+o).on("focus",function(t){$(".dropdown-"+o).addClass("active")}),$(u).on("click",function(){$(".input-"+o).focus(),setTimeout(function(){i.safeApply(function(){i.ui._active=!0})},100)}),$(document).on("click",function(t){$.contains($(e).get(0),$(t.target).get(0))||($(".dropdown-"+o).removeClass("active"),i.safeApply(function(){i.ui._active=!1}))}),i.prop=n.prop||"label",i.placeholder=n.placeholder||"",i.sortProperty="label",i.$watch("options.sortProperty",function(){i.options&&i.options.sortProperty&&i.safeApply(function(){i.sortProperty=i.options.sortProperty})}),i.ui={tags:[],buffer:"",init:function(e){i.safeApply(function(){i.ui.loading=!0});var t={};i.options.params&&(t=i.options.params),p.ftl.apicall({url:n.endpoint,auth:!0,params:t,callback:function(t){i.safeApply(function(){i.ui.loading=!1,i.ui.tags=t,e&&e(i.ui.tags)})}})},getLabel:function(e){if(i.options&&"id"==i.options.format)var t=_.find(i.ui.tags,function(t){return t.id==e});else t=_.find(i.ui.tags,function(t){return t.id==e.id});return t&&t[i.prop]?t[i.prop]||e.label:e.label||""},create:function(){if(i.options&&i.options.readonly)return!1;i.ui.select({id:i.ui.buffer.toString(),label:i.ui.buffer.toString(),questions:0})},select:function(e){if(i.ui.selected(e))return!1;i.safeApply(function(){var t=_.find(i.uiApiTags,function(t){return t.id==e.id});i.uiApiTags||(i.uiApiTags=[]),t||(i.options&&"id"==i.options.format?i.uiApiTags.push(e.id):i.uiApiTags.push(e)),i.ui.buffer="",r(function(){$(".dropdown-"+o).removeClass("active")})})},selected:function(e){return i.options&&"id"==i.options.format?!!_.find(i.uiApiTags,function(t){return t==e.id}):!!_.find(i.uiApiTags,function(t){return t.id==e.id})},remove:function(e){i.safeApply(function(){i.options&&"id"==i.options.format?i.uiApiTags=_.filter(i.uiApiTags,function(t){return t!=e}):i.uiApiTags=_.filter(i.uiApiTags,function(t){return t.id!=e.id})})},getInputWidth:function(){return Math.min(150,12*i.ui.buffer.length)}},i.loaded=!1,i.$watch("uiApiTags",function(){i.loaded||(i.ui.init(),i.loaded=!0)})},replace:!1,transclude:!1,scope:{uiApiTags:"=",options:"="},template:"<div class=\"ui-tags\">\r\n\t<span class=\"placeholder\" ng-if=\"placeholder && !ui._active && (!uiApiTags || uiApiTags.length==0)\">{{placeholder}}</span>\r\n\t<span class=\"tag no-ellipsis\" ng-repeat=\"item in uiApiTags\" style=\"margin:2px;\">\r\n\t\t<span class=\"fa fa-tag\"></span> {{ui.getLabel(item)}}\r\n\t\t<span class=\"action fa fa-times\" ng-click=\"ui.remove(item)\"></span>\r\n\t</span>\r\n\t<input class=\"ignore\" type=\"text\" ng-model=\"ui.buffer\" ng-enter=\"ui.create()\" style=\"width:{{ui.getInputWidth()}}px\" />\r\n\t<div>\r\n\t\t<div class=\"ui-list\">\r\n\t\t\t<div ng-repeat=\"item in ui.tags|filter:ui.buffer|orderBy:sortProperty\" ng-click=\"ui.select(item)\" ng-class=\"{active:ui.selected(item)}\" ng-if=\"ui.buffer && ui.buffer.length>=1\">\r\n\t\t\t\t{{item.label}}\r\n\t\t\t\t<code ng-if=\"options.count\">{{item[options.count]|number}}</code>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n"}}]),p.appSettings.module.directive("uiDropdown",function(){return{link:function(i,t,n){i.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},i.showDropdown=!1,i.toggle=function(){i.safeApply(function(){i.showDropdown=!i.showDropdown})},i.type=n.type||"uib",i.loading=!0,i.labelProperty=n.labelProperty||"label",i.valueProperty=n.valueProperty||"value",i.placeholder=n.placeholder||"(select one)",i.init=function(){i.safeApply(function(){var t=i.$parent.$eval(n.options);_.isFunction(t)?t(function(t){i.safeApply(function(){i.list=t,i.loading=!1})}):(i.list=t,i.loading=!1)})},i.selected=function(){var e=JSON.stringify(i.data[n.uiDropdown]),t=_.find(i.list,function(t){return JSON.stringify(t[i.valueProperty])===e||t.icon&&JSON.stringify(t.icon)===e||t.uuid&&JSON.stringify(t.uuid)===e});return t?t.icon?t:t.uuid?t.uuid:t[i.labelProperty]:i.placeholder},i.isSelectedLightning=function(){var e=JSON.stringify(i.data[n.uiDropdown]),t=_.find(i.list,function(t){return JSON.stringify(t[i.valueProperty])===e||t.icon&&JSON.stringify(t.icon)===e||t.uuid&&JSON.stringify(t.uuid)===e});return t&&t.lightning},i.select=function(t){if(i.safeApply(function(){i.showDropdown=!1}),!1!==t.select)return t.icon?i.data[n.uiDropdown]=t.icon:i.data[n.uiDropdown]=t[i.valueProperty];t.onClick&&t.onClick(i.data,t)},i.hideDropdown=function(){i.safeApply(function(){i.showDropdown=!1})},i.$watch("data",function(){i.data&&i.init()},!0)},replace:!1,scope:{data:"="},template:"<span>\r\n\t<!-- using UIB/Bootstrap -->\r\n\t<span ng-if=\"type=='uib'\">\r\n\t\t<span class=\"fa fa-spin fa-spinner\" ng-if=\"loading\"></span>\r\n\t\t<span class=\"dropdown\" uib-dropdown ng-if=\"!loading\">\r\n\t\t\t<a data-toggle=\"dropdown\" uib-dropdown-toggle>\r\n\t\t\t\t<span ng-if=\"!selected().icon\">{{selected()}}</span>\r\n\t\t\t\t<span ng-if=\"selected().icon\">\r\n\t\t\t\t\t<span class=\"{{selected().icon}}\"></span>\r\n\t\t\t\t\t<span ng-if=\"selected()[labelProperty] && selected()[labelProperty]!=''\">{{selected()[labelProperty]}}</span>\r\n\t\t\t\t\t<span ng-if=\"!selected()[labelProperty] || selected()[labelProperty]==''\">{{selected().icon}}</span>\r\n\t\t\t\t</span>\r\n\t\t\t\t<span class=\"fa fa-caret-down\"></span>\r\n\t\t\t</a>\r\n\t\t\t<ul class=\"dropdown-menu\" uib-dropdown-menu>\r\n\t\t\t\t<li ng-repeat=\"item in list\" ng-class=\"{active:item[labelProperty]==selected()}\">\r\n\t\t\t\t\t<a ng-click=\"select(item)\" ng-if=\"!item.icon\">\r\n\t\t\t\t\t\t{{item[labelProperty]}}\r\n\t\t\t\t\t</a>\r\n\t\t\t\t\t<a ng-click=\"select(item)\" ng-if=\"item.icon\">\r\n\t\t\t\t\t\t<span class=\"{{item.icon}}\"></span>\r\n\t\t\t\t\t\t<span ng-if=\"item[labelProperty] && item[labelProperty]!=''\">{{item[labelProperty]}}</span>\r\n\t\t\t\t\t\t<span ng-if=\"!item[labelProperty] || item[labelProperty]==''\">{{item.icon}}</span>\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t</span>\r\n\t</span>\r\n\t<!-- Modern, 99% CSS -->\r\n\t<span class=\"modern-dropdown-ui\" ng-if=\"type=='modern'\" tabindex=\"-1\" ng-blur=\"hideDropdown()\">\r\n\t\t<span class=\"fa fa-spin fa-spinner\" ng-if=\"loading\"></span>\r\n\t\t<span ng-if=\"!loading\" ng-click=\"toggle()\">\r\n\t\t\t<span ng-if=\"!selected().icon\">{{selected()}}</span>\r\n\t\t\t<span ng-if=\"selected().icon\">\r\n\t\t\t\t<span class=\"{{selected().icon}}\"></span>\r\n\t\t\t\t<span ng-if=\"selected()[labelProperty] && selected()[labelProperty]!=''\">{{selected()[labelProperty]}}</span>\r\n\t\t\t\t<span ng-if=\"!selected()[labelProperty] || selected()[labelProperty]==''\">{{selected().icon}}</span>\r\n\t\t\t</span>\r\n\t\t\t<span class=\"fa fa-caret-down\"></span>\r\n\t\t</span>\r\n\t\t<div ng-if=\"showDropdown\">\r\n\t\t\t<div>\r\n\t\t\t\t<div ng-repeat=\"item in list\" ng-class=\"{active:item[labelProperty]==selected()}\" ng-click=\"select(item)\">\r\n\t\t\t\t\t<a ng-if=\"!item.icon\">\r\n\t\t\t\t\t\t{{item[labelProperty]}}\r\n\t\t\t\t\t</a>\r\n\t\t\t\t\t<a ng-if=\"item.icon\">\r\n\t\t\t\t\t\t<span class=\"{{item.icon}}\"></span>\r\n\t\t\t\t\t\t<span ng-if=\"item[labelProperty] && item[labelProperty]!=''\">{{item[labelProperty]}}</span>\r\n\t\t\t\t\t\t<span ng-if=\"!item[labelProperty] || item[labelProperty]==''\">{{item.icon}}</span>\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</span>\r\n\t<div class=\"modern-ranking-dropdown-ui\" ng-if=\"type=='modern-ranking'\">\r\n\t\t<div class=\"dropdown-header\" ng-if=\"loading\">\r\n\t\t\t<span class=\"fa fa-spin fa-spinner\"></span>\r\n\t\t</div>\r\n\t\t<div class=\"dropdown-header\" ng-if=\"!loading\" ng-click=\"toggle()\">\r\n\t\t\t<span>{{selected()}}</span> <span class=\"fa fa-caret-down\"></span>\r\n\t\t</div>\r\n\t\t<div class=\"dropdown-container\" ng-if=\"showDropdown\">\r\n\t\t\t<div>\r\n\t\t\t\t<div ng-repeat=\"item in list\" ng-class=\"{active:item[labelProperty]==selected()}\" ng-click=\"select(item)\">\r\n\t\t\t\t\t<a>\r\n\t\t\t\t\t\t{{item[labelProperty]}}\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t<!-- Modern Large, 99% CSS -->\r\n\t<div class=\"modern-large-dropdown-ui\" ng-if=\"type=='modern-large'\" tabindex=\"-1\" ng-blur=\"hideDropdown()\">\r\n\t\t<div class=\"dropdown-header\" ng-if=\"loading\">\r\n\t\t\t<span class=\"fa fa-spin fa-spinner\"></span>\r\n\t\t</div>\r\n\t\t<div class=\"dropdown-header\" ng-if=\"!loading\" ng-click=\"toggle()\">\r\n\t\t\t<span>\r\n\t\t\t\t<span class=\"fa fa-bolt text-gold\" ng-if=\"isSelectedLightning()\"></span>\r\n\t\t\t\t{{selected()}}\r\n\t\t\t</span>\r\n\t\t</div>\r\n\t\t<div class=\"dropdown-container\" ng-if=\"showDropdown\">\r\n\t\t\t<div>\r\n\t\t\t\t<div ng-repeat=\"item in list\" ng-class=\"{active:item[labelProperty]==selected()}\" ng-click=\"select(item)\">\r\n\t\t\t\t\t<a>\r\n\t\t\t\t\t\t<span class=\"fa fa-bolt text-gold\" ng-if=\"item.lightning\"></span>\r\n\t\t\t\t\t\t{{item[labelProperty]}}\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t\r\n\t\r\n\t<!-- User List -->\r\n\t<span ng-if=\"type=='users'\">\r\n\t\t<span class=\"fa fa-spin fa-spinner\" ng-if=\"loading\"></span>\r\n\t\t<span class=\"dropdown\" uib-dropdown ng-if=\"!loading\">\r\n\t\t\t<a data-toggle=\"dropdown\" uib-dropdown-toggle>\r\n\t\t\t\t<span ui-user-embed=\"{uuid:selected()}\" type=\"name\" ng-if=\"selected()!='(select one)'\"></span>\r\n\t\t\t\t<span ng-if=\"selected()=='(select one)'\">{{selected()}}</span>\r\n\t\t\t\t<span class=\"fa fa-caret-down\"></span>\r\n\t\t\t</a>\r\n\t\t\t<ul class=\"dropdown-menu\" uib-dropdown-menu>\r\n\t\t\t\t<li ng-repeat=\"item in list\" ng-class=\"{active:item.uuid==selected()}\">\r\n\t\t\t\t\t<a ng-click=\"select(item)\">\r\n\t\t\t\t\t\t<span ui-user-embed=\"item\" type=\"name\"></span>\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t</span>\r\n\t</span>\r\n</span>"}}),p.appSettings.module.directive("uiDropdownAction",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.type="action",t.$watch("uiDropdownAction",function(){t.uiDropdownAction})},replace:!0,scope:{uiDropdownAction:"="},templateUrl:p.appSettings.path.components+"ui/dropdown.html"}}),p.appSettings.module.directive("uiWizardTitle",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.type="title",t.$watch("uiWizardTitle",function(){t.uiWizardTitle})},replace:!0,scope:{uiWizardTitle:"="},template:"<div>\r\n\t<div ng-if=\"type=='title'\" class=\"wizard-title\" bg-imageff=\"auth.data.profile.banner.url||'http://wlpapers.com/images/blurry-background-1.jpg'\">\r\n\t\t{{uiWizardTitle.getStepTitle(uiWizardTitle.steps.current)}}\r\n\t</div>\r\n\t\r\n\t<div ng-if=\"type=='info'\" class=\"wizard-status\">\r\n\t\t<div>\r\n\t\t\t<div class=\"dots\" style=\"width:{{(uiWizardInfo.steps.total*2-1)*7+10}}px\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<div class=\"dot\" ng-repeat-start=\"n in range\" ng-class=\"{active:n<=uiWizardInfo.steps.current}\"><div></div></div>\r\n\t\t\t\t\t\t<div class=\"edge\" ng-repeat-end ng-if=\"n<uiWizardInfo.steps.total\" ng-class=\"{active:n<uiWizardInfo.steps.current}\"><div></div></div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"step\">\r\n\t\t\t\tStep {{uiWizardInfo.steps.current}}/{{uiWizardInfo.steps.total}}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"cta\" ng-click=\"uiWizardInfo.prev()\" ng-if=\"uiWizardInfo.steps.current>1\">\r\n\t\t\t\t<span class=\"fa fa-angle-left\"></span>\r\n\t\t\t\tPrevious\r\n\t\t\t</div>\r\n\t\t\t<div class=\"cta\" ng-click=\"uiWizardInfo.next()\" ng-class=\"{disabled:!uiWizardInfo.validate()}\">\r\n\t\t\t\t<span ng-if=\"uiWizardInfo.steps.current==uiWizardInfo.steps.total && submitVerb\">{{submitVerb}}</span>\r\n\t\t\t\t<span ng-if=\"!(uiWizardInfo.steps.current==uiWizardInfo.steps.total && submitVerb)\">\r\n\t\t\t\t\tNext <span class=\"fa fa-angle-right\"></span>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"cta\" ng-if=\"doneBtn\" ng-click=\"uiWizardInfo.onComplete()\">\r\n\t\t\t\t<span>\r\n\t\t\t\t\t<span class=\"fa fa-check\"></span> Done\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n"}}),p.appSettings.module.directive("uiWizardInfo",function(){return{link:function(t,e,i){t.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},t.type="info",t.$watch("submitVerb",function(){!t.submitVerb&&i.submitVerb&&(t.submitVerb=i.submitVerb)}),t.$watch("uiWizardInfo",function(){t.uiWizardInfo&&t.safeApply(function(){t.range=_.range(1,t.uiWizardInfo.steps.total+1)})})},replace:!0,scope:{uiWizardInfo:"=",submitVerb:"=",doneBtn:"="},templateUrl:p.appSettings.path.components+"ui/wizard.html"}})}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\positions\position-stats.js
//-------------------------------
!function(m){m.appSettings.module.directive("positionStats",["$compile","$timeout",function(n,a){return{link:function(o,n,t,s,i){o.safeApply=function(n){var t=this.$root.$$phase;"$apply"==t||"$digest"==t?n&&"function"==typeof n&&n():this.$apply(n)},o.auth=m.ftl.addon("auth"),o.qs=m.ftl.qs(),o.dialog=m.dialog,o.settings=m.prizeoutSDK.settings;var l=setInterval(function(){o.safeApply(function(){})},500);o.tabs={selected:"all",select:function(n){o.safeApply(function(){o.tabs.selected,o.tabs.selected=n})},is:function(n){return o.tabs.selected==n}};var e=new ColorGradient(["#E30D2B","#F5B638","#069F4B"]);o.main={list:[],refresh:function(){o.safeApply(function(){o.main.loading=!0}),o.main.api("/trades/list",{},function(n){console.log("List",n),o.safeApply(function(){o.main.list=n;var t={sum:{},short:{},long:{}};_.each(n,function(n){(!t.sum.min||n.pl<t.sum.min)&&(t.sum.min=n.pl),(!t.sum.max||n.pl>t.sum.max)&&(t.sum.max=n.pl),(!t.short.min||n.short.pl<t.short.min)&&(t.short.min=n.short.pl),(!t.short.max||n.short.pl>t.short.max)&&(t.short.max=n.short.pl),(!t.long.min||n.long.pl<t.long.min)&&(t.long.min=n.long.pl),(!t.long.max||n.long.pl>t.long.max)&&(t.long.max=n.long.pl),t[n.instrument]||(t[n.instrument]={}),(!t[n.instrument].min||n.short.pl<t[n.instrument].min)&&(t[n.instrument].min=n.short.pl),(!t[n.instrument].max||n.short.pl>t[n.instrument].max)&&(t[n.instrument].max=n.short.pl),(!t[n.instrument].min||n.long.pl<t[n.instrument].min)&&(t[n.instrument].min=n.long.pl),(!t[n.instrument].max||n.long.pl>t[n.instrument].max)&&(t[n.instrument].max=n.long.pl)}),o.main.stats=t,console.log("stats",t),o.main.loading=!1})})},getColor:function(n){return e.getHexColorAtPercent(Math.round(n))},api:function(n,t,o){o=o||function(){},m.ftl.apicall({url:"localhost"==document.location.hostname?"http://localhost:8420"+n:m.apiServer+n,auth:!0,encrypt:!0,headers:{env:m._csconf.env},params:t,callback:o})}},a(function(){o.main.refresh()}),o.$on("$destroy",function(){clearInterval(l)})},replace:!0,scope:{},template:"<div>\n\t\n\t<div class=\"ui-tabs\">\n\t\t<div ng-click=\"tabs.select('all')\" ng-class=\"{selected:tabs.is('all')}\">\n\t\t\t<span class=\"fas fa-dollar-sign\"></span> All\n\t\t</div>\n\t\t<div ng-click=\"tabs.select('long')\" ng-class=\"{selected:tabs.is('long')}\">\n\t\t\t<span class=\"fas fa-chevron-up\"></span> Long\n\t\t</div>\n\t\t<div ng-click=\"tabs.select('short')\" ng-class=\"{selected:tabs.is('short')}\">\n\t\t\t<span class=\"fas fa-chevron-down\"></span> Short\n\t\t</div>\n\t\t<div ng-click=\"tabs.select('top')\" ng-class=\"{selected:tabs.is('top')}\">\n\t\t\t<span class=\"fas fa-sort-amount-up\"></span> Top List\n\t\t</div>\n\t</div>\n\t\n\t\n\t\n\t<div ng-if=\"tabs.is('all')\">\n\t\t\n\t\t<div class=\"ui-table no-scroll\">\n\t\t\t<div class=\"title\">\n\t\t\t\tShort + Long Positions\n\t\t\t</div>\n\t\t\t<table cellspacing=\"0\">\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th class=\"center border-right\" rowspan=\"2\">\n\t\t\t\t\t\t\tPair\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th class=\"center border-right\" colspan=\"3\">\n\t\t\t\t\t\t\tShort\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th class=\"center border-right\" colspan=\"3\">\n\t\t\t\t\t\t\tLong\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th class=\"center border-right\" colspan=\"3\">\n\t\t\t\t\t\t\t∑\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th class=\"center\" rowspan=\"2\">\n\t\t\t\t\t\t\tOpen\n\t\t\t\t\t\t</th>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>∑ P/L</th>\n\t\t\t\t\t\t<th>∑ Fees</th>\n\t\t\t\t\t\t<th class=\"border-right\">∑ Profits</th>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<th>Short P/L</th>\n\t\t\t\t\t\t<th>Short Fees</th>\n\t\t\t\t\t\t<th class=\"border-right\">Short Profits</th>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<th>Long P/L</th>\n\t\t\t\t\t\t<th>Long Fees</th>\n\t\t\t\t\t\t<th class=\"border-right\">Long Profits</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr ng-repeat=\"item in main.list|orderBy:'-pl'\">\n\t\t\t\t\t\t<td class=\"border-right\">\n\t\t\t\t\t\t\t{{item.instrument}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.short.pl||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.short.financing||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td class=\"border-right\">\n\t\t\t\t\t\t\t${{((item.short.pl||0)+(item.short.financing||0))||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.long.pl||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.long.financing||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td class=\"border-right\">\n\t\t\t\t\t\t\t${{((item.long.pl||0)+(item.long.financing||0))||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.pl||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.financing||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td class=\"border-right\">\n\t\t\t\t\t\t\t${{((item.pl||0)+(item.financing||0))||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.unrealizedPL||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n\t\n\t<div ng-if=\"tabs.is('short')\">\n\t\t<div class=\"ui-table no-scroll\">\n\t\t\t<div class=\"title\">\n\t\t\t\tShort Positions\n\t\t\t</div>\n\t\t\t<table>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Pair</th>\n\t\t\t\t\t\t<th>Profits</th>\n\t\t\t\t\t\t<th>Fees</th>\n\t\t\t\t\t\t<th>Profits</th>\n\t\t\t\t\t\t<th>Open</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr ng-repeat=\"item in main.list|orderBy:'-short.pl'\" ng-if=\"item.short.pl!=0\">\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t{{item.instrument}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.short.pl||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.short.financing||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{(item.short.pl||0)+(item.short.financing||0)|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.short.unrealizedPL||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n\t\n\t<div ng-if=\"tabs.is('long')\">\n\t\t<div class=\"ui-table no-scroll\">\n\t\t\t<div class=\"title\">\n\t\t\t\tLong Positions\n\t\t\t</div>\n\t\t\t<table>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Pair</th>\n\t\t\t\t\t\t<th>Profits</th>\n\t\t\t\t\t\t<th>Fees</th>\n\t\t\t\t\t\t<th>Profits</th>\n\t\t\t\t\t\t<th>Open</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr ng-repeat=\"item in main.list|orderBy:'-long.pl'\" ng-if=\"item.long.pl!=0\">\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t{{item.instrument}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.long.pl||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.long.financing||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{(item.long.pl||0)+(item.long.financing||0)|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t${{item.long.unrealizedPL||0|number:2}}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n\t\n\t\n\t\n\t<!--\n\t\t{\n\t\t \"instrument\": \"GBP_JPY\",\n\t\t \"long\": {\n\t\t \"units\": \"0\",\n\t\t \"pl\": \"-208.4068\",\n\t\t \"resettablePL\": \"-208.4068\",\n\t\t \"financing\": \"-0.4483\",\n\t\t \"dividend\": \"0\",\n\t\t \"guaranteedExecutionFees\": \"0.0000\",\n\t\t \"unrealizedPL\": \"0.0000\"\n\t\t },\n\t\t \"short\": {\n\t\t \"units\": \"0\",\n\t\t \"pl\": \"618.2464\",\n\t\t \"resettablePL\": \"618.2464\",\n\t\t \"financing\": \"-11.8511\",\n\t\t \"dividend\": \"0\",\n\t\t \"guaranteedExecutionFees\": \"0.0000\",\n\t\t \"unrealizedPL\": \"0.0000\"\n\t\t },\n\t\t \"pl\": \"409.8396\",\n\t\t \"resettablePL\": \"409.8396\",\n\t\t \"financing\": \"-12.2994\",\n\t\t \"commission\": \"0.0000\",\n\t\t \"dividend\": \"0\",\n\t\t \"guaranteedExecutionFees\": \"0.0000\",\n\t\t \"unrealizedPL\": \"0.0000\",\n\t\t \"marginUsed\": \"0.0000\"\n\t\t}\n\t-->\n\t\n\t<!--\n\t<table class=\"grouped-list\" cellspacing=\"0\" style=\"width:100%;\">\n\t\t<tbody>\n\t\t\t<tr ng-repeat-start=\"item in main.list|orderBy:'-pl'\" class=\"group\" ng-click=\"item.open=!item.open\" ng-class=\"{selected:item.open}\">\n\t\t\t\t<td class=\"caret\">\n\t\t\t\t\t<span ng-if=\"!item.open\">\n\t\t\t\t\t\t<span class=\"fas fa-caret-right\"></span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span ng-if=\"item.open\">\n\t\t\t\t\t\t<span class=\"fas fa-caret-down\"></span>\n\t\t\t\t\t</span>\n\t\t\t\t</td>\n\t\t\t\t<td class=\"name\">\n\t\t\t\t\t{{item.instrument}}\n\t\t\t\t</td>\n\t\t\t\t<td class=\"currency\">\n\t\t\t\t\t<strong>Profits: </strong> ${{item.pl||0|number:2}}\n\t\t\t\t</td>\n\t\t\t\t<td class=\"currency\">\n\t\t\t\t\t<strong>Fees: </strong> ${{item.financing||0|number:2}}\n\t\t\t\t</td>\n\t\t\t\t<td class=\"name\">\n\t\t\t\t\t<strong>Open: </strong> ${{item.unrealizedPL||0|number:2}}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr ng-repeat-end class=\"giftcards\" ng-if=\"item.open\" ng-class=\"{selected:item.open}\">\n\t\t\t\t<td></td>\n\t\t\t\t<td colspan=\"4\">\n\t\t\t\t\t<table cellspacing=\"0\">\n\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th>Provider</th>\n\t\t\t\t\t\t\t\t<th>Country</th>\n\t\t\t\t\t\t\t\t<th>Currency</th>\n\t\t\t\t\t\t\t\t<th>Value</th>\n\t\t\t\t\t\t\t\t<th>Active</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr ng-repeat=\"giftcard in item.cards|orderBy:'+value_in_cents'\">\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t{{giftcard.provider_name}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t{{giftcard.country_code}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t{{giftcard.currency_code}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t${{giftcard.value_in_cents/100|number:2}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td class=\"toggle\">\n\t\t\t\t\t\t\t\t\t<span ng-if=\"giftcard.loading\" style=\"vertical-align:middle;\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"fas fa-spin fa-spinner\"></span>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span class=\"ui-toggle\" ng-click=\"main.toggleGiftcard(giftcard)\" ng-class=\"{on:giftcard.is_active==1,off:giftcard.is_active==0}\">\n\t\t\t\t\t\t\t\t\t\t<div></div>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n\t-->\n</div>\n"}}])}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\positions\transactions.js
//-------------------------------
!function(r){r.appSettings.module.directive("transactionStats",["$compile","$timeout",function(t,c){return{link:function(e,n,t,i,o){e.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},e.auth=r.ftl.addon("auth"),e.qs=r.ftl.qs(),e.dialog=r.dialog,e.settings=r.prizeoutSDK.settings;var a=setInterval(function(){e.safeApply(function(){})},500);e.tabs={selected:"all",select:function(t){e.safeApply(function(){e.tabs.selected,e.tabs.selected=t})},is:function(t){return e.tabs.selected==t}};var s=new ColorGradient(["#E30D2B","#F5B638","#069F4B"]);e.main={list:[],refresh:function(){e.safeApply(function(){e.main.loading=!0,e.main.currencies=r.datasets.currencies})},getColor:function(t){return s.getHexColorAtPercent(Math.round(t))},api:function(t,e,n){n=n||function(){},r.ftl.apicall({url:"localhost"==document.location.hostname?"http://localhost:8420"+t:r.apiServer+t,auth:!0,encrypt:!0,headers:{env:r._csconf.env},params:e,callback:n})}},e.resize=function(){var t=parseInt($(n).parent(".ui-content").css("height"))-1;$(".auto-height").css({height:t})},$(r).on("resize",function(){e.resize()}),$(r).on("orientationchange",function(){e.resize()}),setInterval(function(){e.resize()},500),c(function(){e.main.refresh()}),e.$on("$destroy",function(){clearInterval(a)})},replace:!0,scope:{},template:"<div>\n\t<div class=\"v-list\">\n\t\t<div>\n\t\t\t<div>\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"auto-height\">\n\t\t\t\t\t\t<div ng-repeat=\"pair in main.currencies|orderBy:'-positions'\" ng-click=\"main.selected=pair;\" ng-class=\"{selected:main.selected.instrument==pair.instrument}\">\n\t\t\t\t\t\t\t{{pair.instrument}}\n\t\t\t\t\t\t\t<span class=\"tag blue\">{{pair.positions}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"ui-table no-scroll auto-height\" ng-if=\"main.selected\">\n\t\t\t\t\t\t<table cellspacing=\"0\">\n\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tType\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tStatus\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tOpen Time\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tClose Time\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tUnits\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tOpen Value\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tClose Value\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tTP\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tSL\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tProfits\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tFees\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tSpread\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\tPIP\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t<tr ng-repeat=\"item in main.selected.transactions|orderBy:'-open_time'\" ng-class=\"{margin_call:item.cancel, loss:item.pl<0, profit:item.pl>0}\">\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t<span class=\"tag blue\" ng-if=\"item.type=='BUY'\">BUY</span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"tag red\" ng-if=\"item.type=='SELL'\">SELL</span>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t<span class=\"tag red\" ng-if=\"item.cancel\">{{item.cancel}}</span>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.open_time|date:'mediumDate'}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.close_time|date:'mediumDate'}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.units}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.open}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.close}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.take_profit}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.stop_loss}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.pl}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.financing}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.spread}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t{{item.pip}}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t\n\t<!--\n\t<table class=\"grouped-list\" cellspacing=\"0\" style=\"width:100%;\">\n\t\t<tbody>\n\t\t\t<tr ng-repeat-start=\"item in main.list|orderBy:'-open.time'\" class=\"group\" ng-click=\"item.open=!item.open\" ng-class=\"{selected:item.open}\">\n\t\t\t\t<td class=\"caret\">\n\t\t\t\t\t<span ng-if=\"!item.open\">\n\t\t\t\t\t\t<span class=\"fas fa-caret-right\"></span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span ng-if=\"item.open\">\n\t\t\t\t\t\t<span class=\"fas fa-caret-down\"></span>\n\t\t\t\t\t</span>\n\t\t\t\t</td>\n\t\t\t\t<td class=\"name\">\n\t\t\t\t\t{{item.open.instrument}}\n\t\t\t\t</td>\n\t\t\t\t<td class=\"name\">\n\t\t\t\t\t{{item.open.time|date:'mediumDate'}}\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr ng-repeat-end class=\"giftcards\" ng-if=\"item.open\" ng-class=\"{selected:item.open}\">\n\t\t\t\t<td></td>\n\t\t\t\t<td colspan=\"4\">\n\t\t\t\t\t<table cellspacing=\"0\">\n\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th>Provider</th>\n\t\t\t\t\t\t\t\t<th>Country</th>\n\t\t\t\t\t\t\t\t<th>Currency</th>\n\t\t\t\t\t\t\t\t<th>Value</th>\n\t\t\t\t\t\t\t\t<th>Active</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr ng-repeat=\"giftcard in item.cards|orderBy:'+value_in_cents'\">\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t{{giftcard.provider_name}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t{{giftcard.country_code}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t{{giftcard.currency_code}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t${{giftcard.value_in_cents/100|number:2}}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td class=\"toggle\">\n\t\t\t\t\t\t\t\t\t<span ng-if=\"giftcard.loading\" style=\"vertical-align:middle;\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"fas fa-spin fa-spinner\"></span>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span class=\"ui-toggle\" ng-click=\"main.toggleGiftcard(giftcard)\" ng-class=\"{on:giftcard.is_active==1,off:giftcard.is_active==0}\">\n\t\t\t\t\t\t\t\t\t\t<div></div>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n\t-->\n</div>\n"}}])}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\widgets\chart.js
//-------------------------------
!function(o){o.appSettings.module.directive("chartWidget",["$compile","$timeout",function(t,s){return{link:function(a,i,t,e,n){a.safeApply=function(t){var e=this.$root.$$phase;"$apply"==e||"$digest"==e?t&&"function"==typeof t&&t():this.$apply(t)},a.auth=o.ftl.addon("auth"),a.mobile=o._csconf.mobile,a.qs=o.ftl.qs(),a.dialog=o.dialog;var r,c=setInterval(function(){a.safeApply(function(){})},1e3);a.tabs={selected:!1,select:function(t){a.safeApply(function(){a.tabs.selected,a.tabs.selected=t})},is:function(t){return a.tabs.selected==t}},a.main={init:function(){a.main.refresh()},refresh:function(){switch(r&&r.destroy(),a.chartWidget.chartType){case"line":case"area":var t=_.map(a.chartWidget.series,function(t){return{name:t.name,data:t.data}}),e={chart:{height:a.chartWidget.height||320,width:"95%",type:"area"},dataLabels:{enabled:!1},stroke:{curve:"smooth"},series:t,xaxis:{categories:a.chartWidget.x_axis,type:"datetime"},yaxis:{labels:{formatter:function(t,e){return t.toFixed(2)}}}};(r=new ApexCharts($(i).get(0),e)).render();break;case"pie":return console.log("$scope.chartWidget",a.chartWidget),!1;case"bar":if(console.log("$scope.chartWidget",a.chartWidget),!a.chartWidget.series)return!1;a.chartWidget.series.sort(function(t,e){return e.value-t.value}),console.log("output",a.chartWidget.series);e={chart:{height:a.chartWidget.height||500,width:"95%",type:"bar"},plotOptions:{bar:{horizontal:!0}},dataLabels:{enabled:!1},series:[{data:_.map(a.chartWidget.series,function(t){return t.value})}],xaxis:{categories:_.map(a.chartWidget.series,function(t){return t.label})}};(r=new ApexCharts($(i).get(0),e)).render()}},api:function(t,e,a){a=a||function(){},o.ftl.apicall({url:o.apis.analytics+t,auth:!1,encrypt:!1,headers:{env:o._csconf.env},params:e,callback:a})}},a.$watch("chartWidget",function(){a.chartWidget&&s(function(){a.main.init()})}),a.nav={getHash:function(){return document.location.hash}},a.$watch("nav.getHash()",function(t){t&&a.safeApply(function(){a.nav.parts=t.split("/")})}),a.$on("$destroy",function(){clearInterval(c),r&&r.destroy()})},scope:{chartWidget:"="},template:"<div></div>\n"}}])}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\widgets\list.js
//-------------------------------
!function(l){l.appSettings.module.directive("listWidget",["$compile","$timeout",function(n,c){return{link:function(t,n,e,o,a){t.safeApply=function(n){var t=this.$root.$$phase;"$apply"==t||"$digest"==t?n&&"function"==typeof n&&n():this.$apply(n)},t.auth=l.ftl.addon("auth"),t.mobile=l._csconf.mobile,t.qs=l.ftl.qs(),t.dialog=l.dialog;var i=setInterval(function(){t.safeApply(function(){})},1e3);t.tabs={selected:!1,select:function(n){t.safeApply(function(){t.tabs.selected,t.tabs.selected=n})},is:function(n){return t.tabs.selected==n}},t.main={init:function(){t.main.refresh()},open:function(n){t.onSelect&&t.onSelect(n)},showJson:function(n){t.dialog.open("json",n)},refresh:function(){t.safeApply(function(){t.main.loading=!0});var n=_.extend({},t.$parent.$eval(e.query));console.log("query",n),t.main.api("/widget/"+e.type,{query:n},function(n){console.log("/widget/"+e.type+" response",n),t.safeApply(function(){t.main.data=n,t.main.loading=!1})})},api:function(n,t,e){e=e||function(){},l.ftl.apicall({url:"localhost"!=document.location.hostname?l.apis.merchant+n:"http://localhost:8145"+n,auth:!1,encrypt:!1,headers:{env:l._csconf.env},params:t,callback:e})}},c(function(){t.main.init()}),t.nav={getHash:function(){return document.location.hash}},t.$watch("nav.getHash()",function(n){n&&t.safeApply(function(){t.nav.parts=n.split("/")})}),t.$on("$destroy",function(){clearInterval(i)})},scope:{onSelect:"="},template:"<div class=\"list-widget\">\r\n\t<table cellspacing=\"0\">\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th ng-repeat=\"col in main.data.cols\">\r\n\t\t\t\t\t{{col.label||col.name}}\r\n\t\t\t\t</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<tbody>\r\n\t\t\t<tr ng-repeat=\"line in main.data.data\">\r\n\t\t\t\t<td ng-repeat=\"col in main.data.cols\" ng-class=\"{right:col.type=='currency'}\" ng-click=\"main.open(line)\">\r\n\t\t\t\t\t<span ng-if=\"!col.type || col.type=='string'\">\r\n\t\t\t\t\t\t{{line[col.name]}}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span ng-if=\"col.type=='timeago'\">\r\n\t\t\t\t\t\t{{line[col.name]|timeago}}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span ng-if=\"col.type=='currency'\">\r\n\t\t\t\t\t\t${{line[col.name]/100|number:2}}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span ng-if=\"col.type=='json'\">\r\n\t\t\t\t\t\t<a ng-click=\"main.showJson(line[col.name])\"><span class=\"fas fa-code\"></span> JSON</a>\n\t\t\t\t\t</span>\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\n\t</table>\n</div>\n"}}])}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\widgets\stats.js
//-------------------------------
!function(c){c.appSettings.module.directive("statsWidget",["$compile","$timeout",function(t,n){return{link:function(n,t,e,a,i){n.safeApply=function(t){var n=this.$root.$$phase;"$apply"==n||"$digest"==n?t&&"function"==typeof t&&t():this.$apply(t)},n.auth=c.ftl.addon("auth"),n.mobile=c._csconf.mobile,n.qs=c.ftl.qs(),n.dialog=c.dialog;var s=setInterval(function(){n.safeApply(function(){})},1e3);n.tabs={selected:!1,select:function(t){n.safeApply(function(){n.tabs.selected,n.tabs.selected=t})},is:function(t){return n.tabs.selected==t}},n.main={init:function(){},refresh:function(){},api:function(t,n,e){e=e||function(){},c.ftl.apicall({url:c.apis.analytics+t,auth:!1,encrypt:!1,headers:{env:c._csconf.env},params:n,callback:e})}},n.$watch("statsWidget",function(){n.statsWidget&&n.main.init()}),n.nav={getHash:function(){return document.location.hash}},n.$watch("nav.getHash()",function(t){t&&n.safeApply(function(){n.nav.parts=t.split("/")})}),n.$on("$destroy",function(){clearInterval(s)})},scope:{statsWidget:"="},template:"<div class=\"stats-widget\">\r\n\t<div class=\"title\">\r\n\t\t{{statsWidget.title}}\r\n\t</div>\n\t<div class=\"value\">\r\n\t\t{{statsWidget.data.value|number:2}}\r\n\t</div>\n\t<div class=\"change\">\r\n\t\t<span><span class=\"fas fa-caret-up\"></span></span>\r\n\t\t{{statsWidget.data.change|number:2}}%\r\n\t</div>\n</div>\n"}}])}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\widgets\json.js
//-------------------------------
!function(s){s.appSettings.module.directive("jsonWidget",["$compile","$timeout",function(t,n){return{link:function(n,t,e,i,a){n.safeApply=function(t){var n=this.$root.$$phase;"$apply"==n||"$digest"==n?t&&"function"==typeof t&&t():this.$apply(t)},n.auth=s.ftl.addon("auth"),n.mobile=s._csconf.mobile,n.qs=s.ftl.qs(),n.dialog=s.dialog;var o=setInterval(function(){n.safeApply(function(){})},1e3);n.tabs={selected:!1,select:function(t){n.safeApply(function(){n.tabs.selected,n.tabs.selected=t})},is:function(t){return n.tabs.selected==t}},n.main={init:function(){},refresh:function(){},api:function(t,n,e){e=e||function(){},s.ftl.apicall({url:s.apis.analytics+t,auth:!1,encrypt:!1,headers:{env:s._csconf.env},params:n,callback:e})}},n.$watch("jsonWidget",function(){n.jsonWidget&&n.main.init()}),n.nav={getHash:function(){return document.location.hash}},n.$watch("nav.getHash()",function(t){t&&n.safeApply(function(){n.nav.parts=t.split("/")})}),n.$on("$destroy",function(){clearInterval(o)})},scope:{jsonWidget:"="},template:"<div json-explorer data=\"jsonWidget\"></div>\n"}}])}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\dashboard\dashboard.js
//-------------------------------
!function(window){window.appSettings.module.directive("dashboard",["$compile","$timeout",function($compile,$timeout){var component=function($scope,element,attrs,ctlr,transcludeFn){$scope.safeApply=function(e){var a=this.$root.$$phase;"$apply"==a||"$digest"==a?e&&"function"==typeof e&&e():this.$apply(e)},$scope.auth=window.ftl.addon("auth"),$scope.qs=window.ftl.qs(),$scope.dialog=window.dialog,$scope.tabs={selected:"all",select:function(e){$scope.safeApply(function(){$scope.tabs.selected,$scope.tabs.selected=e})},is:function(e){return $scope.tabs.selected==e}};var gradient=new ColorGradient(["#E30D2B","#F5B638","#069F4B"]);$scope.main={currencies:_.map(window.datasets.currencies,function(e){return e.instrument}).sort(),variable_types:["text","number","currency"],list:[],utils:{formatter:function(e,i,t){switch((i=_.extend({type:"timeserie"},i)).type){default:case"timeserie":case"pie":switch(t=t||"1h"){default:case"1d":864e5;break;case"1h":36e5}var a=JSON.parse(angular.toJson(e)),n=[],s={};a=_.map(a,function(e){var n=0,o={};return _.each(e.data,function(e){var a=function(e){switch(t){default:case"1d":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0,0);case"1h":return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),0,0,0)}}(new Date(e.x)).toISOString();switch(o[a]||(o[a]=0),s[a]||(s[a]=0),n+=e.y,i.transform){default:o[a]+=e.y,s[a]+=e.y;break;case"sum":o[a]=n,s[a]=n}}),e.data=o,e}),a=_.map(a,function(n){switch(_.each(s,function(e,a){n.data[a]||(n.data[a]=null)}),n.data=_.map(n.data,function(e,a){return{x:a,y:e}}),n.data.sort(function(e,a){return new Date(e.x).getTime()-new Date(a.x).getTime()}),n.data=_.map(n.data,function(e,a){return e.y}),i.transform){case"sum":for(n.data[0]||(n.data[0]=0),e=0;e<n.data.length;e++)!n.data[e]&&0!==n.data[e]&&0<e&&(n.data[e]=n.data[e-1]);break;default:var e;for(e=0;e<n.data.length;e++)n.data[e]||(n.data[e]=0)}return n}),(n=_.keys(s)).sort(function(e,a){return new Date(e).getTime()-new Date(a).getTime()})}return{series:a,x_axis:n}}},init:function(){$scope.main.refreshWidgetList(),$scope.main.refresh(function(){$scope.main.reloadFromHash()})},refresh:function(a){$scope.safeApply(function(){$scope.main.loading=!0}),$scope.main.api("/api/dashboard/list",{},function(e){$scope.safeApply(function(){if($scope.main.loading=!1,$scope.main.dashboards=e,0==_.keys(e).length)return $scope.dialog.open("new-dashboard"),!1;a&&a()})})},reloadFromHash:function(){var a=document.location.hash.substr(2).split("/");if("dashboard"==a[0]&&a[1]){var e=_.find($scope.main.dashboards,function(e){return e.id==a[1]});e?$scope.main.openDashboard(e):0<_.values($scope.main.dashboards).length&&$scope.main.openDashboard(_.values($scope.main.dashboards)[0])}else 0<_.values($scope.main.dashboards).length&&$scope.main.openDashboard(_.values($scope.main.dashboards)[0])},rebuildWidget:function(widget){try{var variables={};_.each(widget.variables,function(e){variables[e.name]=e.value||null}),widget.build=eval("(function (trades, utils, variables) {"+widget.code+"})")(window.datasets.positions,$scope.main.utils,variables)}catch(e){console.log("e",e)}return widget},editWidget:function(e){delete e.build,$scope.dialog.open("widget-editor",e),$scope.main.selectedWidget=e},editWidgetSettings:function(e){delete e.build,$scope.dialog.open("widget-settings",e)},closeWidgetDialogs:function(e){$scope.dialog.close("widget-editor"),$scope.dialog.close("widget-settings"),e=$scope.main.rebuildWidget(e),$scope.main.selectedWidget=!1},isWidgetInstalled:function(a){return!!$scope.main.dashboard&&!!_.find($scope.main.dashboard.widgets,function(e){return e.id==a.id})},addWidget:function(a){$scope.safeApply(function(){var e=JSON.parse(angular.toJson(a));e=$scope.main.rebuildWidget(e),$scope.main.dashboard.widgets.push(e)})},forkWidget:function(a){$scope.safeApply(function(){var e=JSON.parse(angular.toJson(a));e.id=window.ftl.sid(),e.source=a.source||a.id,e=$scope.main.rebuildWidget(e),$scope.main.dashboard.widgets.push(e)})},removeWidget:function(a){$scope.safeApply(function(){$scope.main.dashboard.widgets=_.filter($scope.main.dashboard.widgets,function(e){return e.id!=a.id})})},newWidget:function(){$scope.safeApply(function(){var e={id:window.ftl.sid(),code:"",build:""};$scope.main.dashboard.widgets.push(e),$scope.dialog.open("widget-editor",e)})},saveWidget:function(e,a,n){e.id||(e.id=window.ftl.sid()),e=$scope.main.rebuildWidget(e),$scope.dialog.close("widget-editor"),$scope.dialog.close("widget-settings"),$scope.main.saveDashboard(),a&&$scope.main.saveSource(e,n)},saveSource:function(a,e){var n=JSON.parse(angular.toJson(a));delete n.build,e&&(a.id=window.ftl.sid(),n.id=a.id),$scope.main.api("/api/widget/save",{widget:n},function(e){$scope.safeApply(function(){a=e}),$scope.main.refreshWidgetList()})},addVariable:function(e){$scope.safeApply(function(){e.variables||(e.variables=[]),e.variables.push({id:window.ftl.sid(),type:"text",name:"",label:""})})},openDashboard:function(e){if(console.log("openDashboard:",e),!e)return console.trace(),!1;$scope.main.saveDashboard(function(){$scope.main.dashboard=e,$scope.main.dashboard.widgets=_.map($scope.main.dashboard.widgets,function(e){return e=$scope.main.rebuildWidget(e)}),document.location.hash="/dashboard/"+$scope.main.dashboard.id})},saveDashboard:function(a){if(!$scope.main.dashboard)return a&&a(),!1;$scope.safeApply(function(){$scope.main.loading=!0});var e=JSON.parse(angular.toJson($scope.main.dashboard));e.widgets=_.map(e.widgets,function(e){return delete e.build,e}),$scope.main.api("/api/dashboard/save",{dashboard:e},function(e){$scope.safeApply(function(){$scope.main.loading=!1}),a&&a()})},refreshWidgetList:function(){$scope.safeApply(function(){$scope.main.loading=!0}),$scope.main.api("/api/widget/list",{name:name},function(e){$scope.safeApply(function(){$scope.main.loading=!1,$scope.main.widgets=e})})},create:function(e){$scope.safeApply(function(){$scope.main.loading=!0}),$scope.main.api("/api/dashboard/create",{name:e},function(e){console.log("Create response: ",e),$scope.safeApply(function(){$scope.main.loading=!1,$scope.main.refresh(function(){console.log("Dashboards: ",$scope.main.dashboards,e.id),$scope.safeApply(function(){$scope.main.openDashboard($scope.main.dashboards[e.id])}),$scope.dialog.close("new-dashboard")})})})},getColor:function(e){return gradient.getHexColorAtPercent(Math.round(e))},api:function(e,a,n){n=n||function(){},window.ftl.apicall({url:window.apiServer+e,auth:!0,encrypt:!0,headers:{env:window._csconf.env},params:JSON.parse(angular.toJson(a)),callback:n})}},$scope.resize=function(){var e=parseInt($(element).parent(".ui-content").css("height"))-1;$(".auto-height").css({height:e})},$(window).on("resize",function(){$scope.resize()}),$(window).on("orientationchange",function(){$scope.resize()});var resizeItv=setInterval(function(){$scope.resize()},500);$timeout(function(){$scope.main.init()}),$scope.$on("$destroy",function(){clearInterval(refreshClock),clearInterval(resizeItv)})};return{link:component,replace:!0,scope:{},template:"<div>\n\t<div class=\"dashboard-ui auto-height\">\n\t\t<div class=\"widgets\">\n\t\t\t<div class=\"widget\" ng-repeat=\"widget in main.dashboard.widgets\">\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"title\">\n\t\t\t\t\t\t{{widget.build.name||widget.name||'Untitled Widget'}}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"options\">\n\t\t\t\t\t\t<div ng-click=\"main.editWidgetSettings(widget)\" ng-if=\"widget.variables\">\n\t\t\t\t\t\t\t<span class=\"fas fa-cogs\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div ng-click=\"main.editWidget(widget)\">\n\t\t\t\t\t\t\t<span class=\"fas fa-code\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div ng-click=\"main.forkWidget(widget)\">\n\t\t\t\t\t\t\t<span class=\"fas fa-code-branch\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div ng-click=\"main.removeWidget(widget)\">\n\t\t\t\t\t\t\t<span class=\"fas fa-trash\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div chart-widget=\"widget.build\" ng-if=\"widget.build.type=='chart' && !main.loading\"></div>\n\t\t\t\t\t\n\t\t\t\t\t<div ng-if=\"main.loading\" style=\"text-align:center;padding:20px;\">\n\t\t\t\t\t\t<span class=\"fas fa-spin fa-spinner\"></span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div ng-if=\"!widget.build\" style=\"text-align:center;padding:20px;\">\n\t\t\t\t\t\tEditing in progress...\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!--\n\t\t\t<div class=\"widget\">\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"title\">\n\t\t\t\t\t\tJSON\n\t\t\t\t\t</div>\n\t\t\t\t\t<div json-widget=\"main.dashboard\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t-->\n\t\t</div>\n\t\t<!--\n\t\t<div class=\"floating-menu\">\n\t\t\t<div ng-click=\"dialog.open('new-dashboard')\">\n\t\t\t\t<span class=\"fas fa-plus\"></span>\n\t\t\t</div>\n\t\t\t<div ng-click=\"main.newWidget()\">\n\t\t\t\t<span class=\"fas fa-laptop-code\"></span>\n\t\t\t</div>\n\t\t</div>\n\t\t-->\n\t\t<div class=\"widget-list\">\n\t\t\t<div ng-repeat=\"item in main.widgets\" ng-click=\"main.addWidget(item)\" ng-class=\"{selected:main.selectedWidget.id==item.id, active:main.isWidgetInstalled(item)}\">\n\t\t\t\t<span class=\"fas fa-plus\"></span> {{item.name}}\n\t\t\t</div>\n\t\t</div>\n\t\t\n\t\t<div class=\"menu\">\n\t\t\t<div ng-click=\"dialog.open('new-dashboard')\">\n\t\t\t\t<span class=\"fas fa-plus\"></span> New dashboard\n\t\t\t</div>\n\t\t\t<div ng-click=\"main.saveDashboard()\">\n\t\t\t\t<span class=\"fas fa-save\"></span> Save dashboard\n\t\t\t</div>\n\t\t\t<div ng-click=\"main.newWidget()\">\n\t\t\t\t<span class=\"fas fa-laptop-code\"></span> New widget\n\t\t\t</div>\n\t\t\t<div ng-repeat=\"item in main.dashboards\" ng-click=\"main.openDashboard(item)\" ng-class=\"{selected:main.dashboard.id==item.id}\">\n\t\t\t\t<span class=\"fas fa-desktop\"></span>\n\t\t\t\t<span ng-if=\"main.dashboard.id!=item.id\">Switch to</span>\n\t\t\t\t<span ng-if=\"main.dashboard.id==item.id\">Currently on</span>\n\t\t\t\t<strong>{{item.name}}</strong>\n\t\t\t</div>\n\t\t</div>\n\t\t\n\t</div>\n\t\n\t<!-- Dialog: Edit Widget -->\n\t<div class=\"app-dialog x-large\" ng-if=\"dialog.status['widget-editor']\" ng-class=\"{front:dialog.front=='widget-editor'}\">\n\t\t<div class=\"bg\"></div>\n\t\t<div class=\"overlay\">\n\t\t\t<div>\n\t\t\t\t<div class=\"dialog-close\" ng-click=\"main.closeWidgetDialogs(dialog.payload['widget-editor'])\">\n\t\t\t\t\tClose <span class=\"fas fa-times\"></span>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"app-dialog-box\">\n\t\t\t\t\t\t<div class=\"header\">\n\t\t\t\t\t\t\tWidget Editor [ID: <code>{{dialog.payload['widget-editor'].id}}</code>, source: <code>{{dialog.payload['widget-editor'].source}}</code>]\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"large\" ui-ace=\"{mode:'javascript',theme:'twilight',useWrapMode:true,showGutter:false,highlighting:true,height:200}\" ng-model=\"dialog.payload['widget-editor'].code\"></div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"ui-form\">\n\t\t\t\t\t\t\t<div class=\"line\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\tName\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" ng-model=\"dialog.payload['widget-editor'].name\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"variables\">\n\t\t\t\t\t\t\t<div class=\"add\" ng-click=\"dialog.payload['widget-editor'].showVariable=!dialog.payload['widget-editor'].showVariable\" ng-if=\"dialog.payload['widget-editor'].showVariable\">\n\t\t\t\t\t\t\t\tHide Advanced settings\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"list\" ng-if=\"dialog.payload['widget-editor'].showVariable\">\n\t\t\t\t\t\t\t\t<div ng-repeat=\"variable in dialog.payload['widget-editor'].variables\">\n\t\t\t\t\t\t\t\t\t<div class=\"type hover-menu\">\n\t\t\t\t\t\t\t\t\t\t{{variable.type}}\n\t\t\t\t\t\t\t\t\t\t<span class=\"fas fa-caret-down\"></span>\n\t\t\t\t\t\t\t\t\t\t<div class=\"hmenu\">\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div ng-repeat=\"type in main.variable_types\" ng-click=\"variable.type=type\" ng-class=\"{selected:variable.type==type}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{type}}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<input type=\"text\" ng-model=\"variable.name\" placeholder=\"Name\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<input type=\"text\" ng-model=\"variable.label\" placeholder=\"Label\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"add\" ng-click=\"main.addVariable(dialog.payload['widget-editor'])\" ng-if=\"dialog.payload['widget-editor'].showVariable\">\n\t\t\t\t\t\t\t\t<span class=\"fas fa-plus\"></span> New variable\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"add\" ng-click=\"dialog.payload['widget-editor'].showVariable=!dialog.payload['widget-editor'].showVariable\" ng-if=\"!dialog.payload['widget-editor'].showVariable\">\n\t\t\t\t\t\t\t\tAdvanced settings <span class=\"fas fa-caret-down\"></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"ctas\">\n\t\t\t\t\t\t\t<div ng-click=\"main.saveWidget(dialog.payload['widget-editor'])\">\n\t\t\t\t\t\t\t\t<span class=\"fas fa-save\"></span> Save\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-click=\"main.saveWidget(dialog.payload['widget-editor'], true)\">\n\t\t\t\t\t\t\t\t<span class=\"fas fa-file-export\"></span> Save Source\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-click=\"main.saveWidget(dialog.payload['widget-editor'], true, true)\">\n\t\t\t\t\t\t\t\t<span class=\"fas fa-file-export\"></span> Export Copy\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t\n\t<!-- Dialog: Widget Settings -->\n\t<div class=\"app-dialog\" ng-if=\"dialog.status['widget-settings']\" ng-class=\"{front:dialog.front=='widget-settings'}\">\n\t\t<div class=\"bg\"></div>\n\t\t<div class=\"overlay\">\n\t\t\t<div>\n\t\t\t\t<div class=\"dialog-close\" ng-click=\"main.closeWidgetDialogs(dialog.payload['widget-settings'])\">\n\t\t\t\t\tClose <span class=\"fas fa-times\"></span>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"app-dialog-box\">\n\t\t\t\t\t\t<div class=\"header\">\n\t\t\t\t\t\t\tWidget Settings\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"ui-form\">\n\t\t\t\t\t\t\t<div class=\"line\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\tName\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" ng-model=\"dialog.payload['widget-settings'].name\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"line\" ng-repeat=\"variable in dialog.payload['widget-settings'].variables\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t{{variable.label}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" ng-model=\"dialog.payload['widget-settings'].value\" ng-if=\"variable.type=='text'\" />\n\t\t\t\t\t\t\t\t\t<input type=\"number\" ng-model=\"dialog.payload['widget-settings'].value\" ng-if=\"variable.type=='number'\" />\n\t\t\t\t\t\t\t\t\t<div class=\"hover-menu\" ng-if=\"variable.type=='currency'\">\n\t\t\t\t\t\t\t\t\t\t{{variable.value||'Select a currency'}}\n\t\t\t\t\t\t\t\t\t\t<div class=\"hmenu\">\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div ng-repeat=\"currency in main.currencies\" ng-click=\"variable.value=currency\" ng-class=\"{selected:variable.value==currency}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{currency}}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<div class=\"ctas\">\n\t\t\t\t\t\t\t<div ng-click=\"main.saveWidget(dialog.payload['widget-settings'])\">\n\t\t\t\t\t\t\t\t<span class=\"fas fa-save\"></span> Save\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div ng-click=\"main.saveWidget(dialog.payload['widget-settings'], true)\">\n\t\t\t\t\t\t\t\t<span class=\"fas fa-file-export\"></span> Save & Export\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t\n\t<!-- Dialog: New Dashboard -->\n\t<div class=\"app-dialog\" ng-if=\"dialog.status['new-dashboard']\" ng-class=\"{front:dialog.front=='new-dashboard'}\">\n\t\t<div class=\"bg\"></div>\n\t\t<div class=\"overlay\">\n\t\t\t<div>\n\t\t\t\t<div class=\"dialog-close\" ng-click=\"dialog.close('new-dashboard')\">\n\t\t\t\t\tClose <span class=\"fas fa-times\"></span>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"app-dialog-box\">\n\t\t\t\t\t\t<div class=\"header\">\n\t\t\t\t\t\t\tCreate a new dashboard\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"ui-form\">\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\tName\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<input type=\"text\" ng-model=\"main._new_dashboard_name\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"ctas\">\n\t\t\t\t\t\t\t<div ng-click=\"main.create(main._new_dashboard_name)\">\n\t\t\t\t\t\t\t\t<span class=\"fas fa-plus\"></span> Create\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>"}}])}(window);;
// C:\code\oanda-performances\client\src\bower_components\directives\components\app.js
//-------------------------------
!function(c){c.appSettings.module.directive("appMain",["$compile","$timeout",function(n,o){return{link:function(t,e,n,i,a){t.safeApply=function(n){var t=this.$root.$$phase;"$apply"==t||"$digest"==t?n&&"function"==typeof n&&n():this.$apply(n)},t.auth=c.ftl.addon("auth"),t.mobile=c._csconf.mobile,t.qs=c.ftl.qs(),t.dialog=c.dialog,c.datasets={};var s=setInterval(function(){t.safeApply(function(){})},1e3);t.tabs={selected:"stats",select:function(n){t.safeApply(function(){t.tabs.selected,t.tabs.selected=n})},is:function(n){return t.tabs.selected==n}},t.main={init:function(){t.main.refresh()},refresh:function(){t.safeApply(function(){t.main.loading=!0}),t.main.api("/api/trading/trades",{},function(n){t.safeApply(function(){c.datasets.positions=n,c.datasets.currencies=_.groupBy(n,function(n){return n.instrument}),c.datasets.currencies=_.map(c.datasets.currencies,function(n,t){return{instrument:t,positions:n.length,transactions:n}}),t.main.loading=!1})})},api:function(n,t,e){e=e||function(){},c.ftl.apicall({url:c.apiServer+n,auth:!0,encrypt:!0,headers:{env:c._csconf.env},params:t,callback:e})}},t.nav={getHash:function(){return document.location.hash}},t.$watch("nav.getHash()",function(n){n&&t.safeApply(function(){t.nav.parts=n.split("/")})}),t.resize=function(){var n=parseInt($(e).find(".ui-tools").innerHeight()),t=parseInt($(e).find(".ui-header").outerHeight());$(e).find(".ui-content").css({height:n-t+"px"})},$(c).on("resize",function(){t.resize()}),$(c).on("orientationchange",function(){t.resize()}),setInterval(function(){t.resize()},500),t.main.init(),o(function(){t.resize()}),t.$on("$destroy",function(){clearInterval(s)})},scope:{},template:"<div class=\"ui-tools\">\n\t<div class=\"ui-header\">\r\n\t\t<div>\r\n\t\t\t<div>\r\n\t\t\t\t<div class=\"logo\">\r\n\t\t\t\t\tOanda Stats <code>Version 1.0.0</code>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t \r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"menu\">\r\n\t\t\t\t\t<div class=\"menu\">\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t<!-- This code controls this: https://i.imgur.com/PojE7El.png \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t<a href=\"#/stats\">\r\n\t\t\t\t\t\t\t<span class=\"fas fa-money-bill\"></span> Currencies\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t<a href=\"#/merchants\">\r\n\t\t\t\t\t\t\t<span class=\"fas fa-stream\"></span> Campaigns\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t<a href=\"#/merchants/creatives\">\r\n\t\t\t\t\t\t\t<span class=\"fas fa-images\"></span> Creatives\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t<a href=\"#/merchants/offers\">\r\n\t\t\t\t\t\t\t<span class=\"fas fa-tags\"></span> Offers\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t<a href=\"#/merchants/giftcards\">\r\n\t\t\t\t\t\t\t<span class=\"fas fa-gift\"></span> Giftcards\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t-->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t\r\n\t<div class=\"loading-indicator\" ng-if=\"main.loading\">\r\n\t\t<span class=\"fas fa-spin fa-spinner\"></span>\r\n\t</div>\r\n\t\r\n\t<!-- Dashboard -->\r\n\t<div class=\"ui-content\" ng-if=\"!main.loading && (!nav.parts[1] || nav.parts[1]=='dashboard')\">\r\n\t\t<div dashboard></div>\r\n\t</div>\r\n\t\r\n\t\r\n\t<!-- Global Stats -->\r\n\t<div class=\"ui-content\" ng-if=\"!main.loading && nav.parts[1]=='stats'\">\r\n\t\t<div position-stats></div>\r\n\t</div>\r\n\t\r\n\t<!-- Transaction Stats -->\r\n\t<div class=\"ui-content\" ng-if=\"nav.parts[1]=='transactions'\">\r\n\t\t<div transaction-stats></div>\r\n\t</div>\r\n\t\n</div>\r\n"}}])}(window);