!function(e){function t(i){if(n[i])return n[i].exports;var s=n[i]={exports:{},id:i,loaded:!1};return e[i].call(s.exports,s,s.exports,t),s.loaded=!0,s.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}({0:function(e,t,n){"use strict";var i=window.$=n(4);window.jQuery=i;n(51),n(8),n(38);var s=n(101);n(108),n(103),i(document).ready(function(){function e(e){e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var t=new RegExp("[\\?&]"+e+"=([^&#]*)"),n=t.exec(location.search);return null===n?"":decodeURIComponent(n[1].replace(/\+/g," "))}function t(){function t(){i(".metadata").load("/panoramix/table/"+r+"/"+i("#dbtable").val()+"/")}function n(){i.ajax("/panoramix/select_star/"+r+"/"+i("#dbtable").val()+"/").done(function(e){o.setValue(e)})}var r=i("#database_id").val(),o=s.edit("sql");o.$blockScrolling=1/0,o.getSession().setUseWrapMode(!0),i("#sql").hide(),o.setTheme("ace/theme/crimson_editor"),o.setOptions({minLines:16,maxLines:1/0}),o.getSession().setMode("ace/mode/sql"),o.focus(),i("select").select2({dropdownAutoWidth:!0}),i("#dbtable").on("change",t),t(),i("#create_view").click(function(){alert("Not implemented")}),i(".sqlcontent").show(),i("#select_star").click(n),o.setValue(e("sql")),i(window).bind("popstate",function(t){o.setValue(e("sql")),i("#run").click()}),i("#run").click(function(){i("#results").hide(0),i("#loading").show(0),history.pushState({},document.title,"?sql="+encodeURIComponent(o.getValue())),i.ajax({type:"POST",url:"/panoramix/runsql/",data:{data:JSON.stringify({database_id:i("#database_id").val(),sql:o.getSession().getValue()})},success:function(e){i("#loading").hide(0),i("#results").show(0),i("#results").html(e),i("table.sql_results").DataTable({paging:!1,searching:!0,aaSorting:[]})},error:function(e,t){i("#loading").hide(0),i("#results").show(0),i("#results").html(e.responseText)}})})}t()})},4:function(e,t,n){var i,s;/*!
	 * jQuery JavaScript Library v2.2.1
	 * http://jquery.com/
	 *
	 * Includes Sizzle.js
	 * http://sizzlejs.com/
	 *
	 * Copyright jQuery Foundation and other contributors
	 * Released under the MIT license
	 * http://jquery.org/license
	 *
	 * Date: 2016-02-22T19:11Z
	 */
!function(t,n){"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,r){function o(e){var t=!!e&&"length"in e&&e.length,n=ce.type(e);return"function"===n||ce.isWindow(e)?!1:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function a(e,t,n){if(ce.isFunction(t))return ce.grep(e,function(e,i){return!!t.call(e,i,e)!==n});if(t.nodeType)return ce.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(Ae.test(t))return ce.filter(t,e,n);t=ce.filter(t,e)}return ce.grep(e,function(e){return ie.call(t,e)>-1!==n})}function l(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function c(e){var t={};return ce.each(e.match(Se)||[],function(e,n){t[n]=!0}),t}function h(){Z.removeEventListener("DOMContentLoaded",h),n.removeEventListener("load",h),ce.ready()}function u(){this.expando=ce.expando+u.uid++}function d(e,t,n){var i;if(void 0===n&&1===e.nodeType)if(i="data-"+t.replace(Le,"-$&").toLowerCase(),n=e.getAttribute(i),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:ke.test(n)?ce.parseJSON(n):n}catch(s){}Be.set(e,t,n)}else n=void 0;return n}function f(e,t,n,i){var s,r=1,o=20,a=i?function(){return i.cur()}:function(){return ce.css(e,t,"")},l=a(),c=n&&n[3]||(ce.cssNumber[t]?"":"px"),h=(ce.cssNumber[t]||"px"!==c&&+l)&&Re.exec(ce.css(e,t));if(h&&h[3]!==c){c=c||h[3],n=n||[],h=+l||1;do r=r||".5",h/=r,ce.style(e,t,h+c);while(r!==(r=a()/l)&&1!==r&&--o)}return n&&(h=+h||+l||0,s=n[1]?h+(n[1]+1)*n[2]:+n[2],i&&(i.unit=c,i.start=h,i.end=s)),s}function g(e,t){var n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&ce.nodeName(e,t)?ce.merge([e],n):n}function p(e,t){for(var n=0,i=e.length;i>n;n++)Te.set(e[n],"globalEval",!t||Te.get(t[n],"globalEval"))}function m(e,t,n,i,s){for(var r,o,a,l,c,h,u=t.createDocumentFragment(),d=[],f=0,m=e.length;m>f;f++)if(r=e[f],r||0===r)if("object"===ce.type(r))ce.merge(d,r.nodeType?[r]:r);else if(He.test(r)){for(o=o||u.appendChild(t.createElement("div")),a=(Pe.exec(r)||["",""])[1].toLowerCase(),l=We[a]||We._default,o.innerHTML=l[1]+ce.htmlPrefilter(r)+l[2],h=l[0];h--;)o=o.lastChild;ce.merge(d,o.childNodes),o=u.firstChild,o.textContent=""}else d.push(t.createTextNode(r));for(u.textContent="",f=0;r=d[f++];)if(i&&ce.inArray(r,i)>-1)s&&s.push(r);else if(c=ce.contains(r.ownerDocument,r),o=g(u.appendChild(r),"script"),c&&p(o),n)for(h=0;r=o[h++];)Ne.test(r.type||"")&&n.push(r);return u}function v(){return!0}function C(){return!1}function A(){try{return Z.activeElement}catch(e){}}function w(e,t,n,i,s,r){var o,a;if("object"==typeof t){"string"!=typeof n&&(i=i||n,n=void 0);for(a in t)w(e,a,n,i,t[a],r);return e}if(null==i&&null==s?(s=n,i=n=void 0):null==s&&("string"==typeof n?(s=i,i=void 0):(s=i,i=n,n=void 0)),s===!1)s=C;else if(!s)return e;return 1===r&&(o=s,s=function(e){return ce().off(e),o.apply(this,arguments)},s.guid=o.guid||(o.guid=ce.guid++)),e.each(function(){ce.event.add(this,t,s,i,n)})}function b(e,t){return ce.nodeName(e,"table")&&ce.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function y(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function F(e){var t=qe.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function E(e,t){var n,i,s,r,o,a,l,c;if(1===t.nodeType){if(Te.hasData(e)&&(r=Te.access(e),o=Te.set(t,r),c=r.events)){delete o.handle,o.events={};for(s in c)for(n=0,i=c[s].length;i>n;n++)ce.event.add(t,s,c[s][n])}Be.hasData(e)&&(a=Be.access(e),l=ce.extend({},a),Be.set(t,l))}}function S(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Ie.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}function D(e,t,n,i){t=te.apply([],t);var s,r,o,a,l,c,h=0,u=e.length,d=u-1,f=t[0],p=ce.isFunction(f);if(p||u>1&&"string"==typeof f&&!ae.checkClone&&Ge.test(f))return e.each(function(s){var r=e.eq(s);p&&(t[0]=f.call(this,s,r.html())),D(r,t,n,i)});if(u&&(s=m(t,e[0].ownerDocument,!1,e,i),r=s.firstChild,1===s.childNodes.length&&(s=r),r||i)){for(o=ce.map(g(s,"script"),y),a=o.length;u>h;h++)l=s,h!==d&&(l=ce.clone(l,!0,!0),a&&ce.merge(o,g(l,"script"))),n.call(e[h],l,h);if(a)for(c=o[o.length-1].ownerDocument,ce.map(o,F),h=0;a>h;h++)l=o[h],Ne.test(l.type||"")&&!Te.access(l,"globalEval")&&ce.contains(c,l)&&(l.src?ce._evalUrl&&ce._evalUrl(l.src):ce.globalEval(l.textContent.replace(Xe,"")))}return e}function x(e,t,n){for(var i,s=t?ce.filter(t,e):e,r=0;null!=(i=s[r]);r++)n||1!==i.nodeType||ce.cleanData(g(i)),i.parentNode&&(n&&ce.contains(i.ownerDocument,i)&&p(g(i,"script")),i.parentNode.removeChild(i));return e}function $(e,t){var n=ce(t.createElement(e)).appendTo(t.body),i=ce.css(n[0],"display");return n.detach(),i}function T(e){var t=Z,n=Qe[e];return n||(n=$(e,t),"none"!==n&&n||(Ye=(Ye||ce("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=Ye[0].contentDocument,t.write(),t.close(),n=$(e,t),Ye.detach()),Qe[e]=n),n}function B(e,t,n){var i,s,r,o,a=e.style;return n=n||et(e),o=n?n.getPropertyValue(t)||n[t]:void 0,""!==o&&void 0!==o||ce.contains(e.ownerDocument,e)||(o=ce.style(e,t)),n&&!ae.pixelMarginRight()&&Ze.test(o)&&Je.test(t)&&(i=a.width,s=a.minWidth,r=a.maxWidth,a.minWidth=a.maxWidth=a.width=o,o=n.width,a.width=i,a.minWidth=s,a.maxWidth=r),void 0!==o?o+"":o}function k(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function L(e){if(e in at)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ot.length;n--;)if(e=ot[n]+t,e in at)return e}function _(e,t,n){var i=Re.exec(t);return i?Math.max(0,i[2]-(n||0))+(i[3]||"px"):t}function R(e,t,n,i,s){for(var r=n===(i?"border":"content")?4:"width"===t?1:0,o=0;4>r;r+=2)"margin"===n&&(o+=ce.css(e,n+Me[r],!0,s)),i?("content"===n&&(o-=ce.css(e,"padding"+Me[r],!0,s)),"margin"!==n&&(o-=ce.css(e,"border"+Me[r]+"Width",!0,s))):(o+=ce.css(e,"padding"+Me[r],!0,s),"padding"!==n&&(o+=ce.css(e,"border"+Me[r]+"Width",!0,s)));return o}function M(e,t,i){var s=!0,r="width"===t?e.offsetWidth:e.offsetHeight,o=et(e),a="border-box"===ce.css(e,"boxSizing",!1,o);if(Z.msFullscreenElement&&n.top!==n&&e.getClientRects().length&&(r=Math.round(100*e.getBoundingClientRect()[t])),0>=r||null==r){if(r=B(e,t,o),(0>r||null==r)&&(r=e.style[t]),Ze.test(r))return r;s=a&&(ae.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+R(e,t,i||(a?"border":"content"),s,o)+"px"}function O(e,t){for(var n,i,s,r=[],o=0,a=e.length;a>o;o++)i=e[o],i.style&&(r[o]=Te.get(i,"olddisplay"),n=i.style.display,t?(r[o]||"none"!==n||(i.style.display=""),""===i.style.display&&Oe(i)&&(r[o]=Te.access(i,"olddisplay",T(i.nodeName)))):(s=Oe(i),"none"===n&&s||Te.set(i,"olddisplay",s?n:ce.css(i,"display"))));for(o=0;a>o;o++)i=e[o],i.style&&(t&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=t?r[o]||"":"none"));return e}function I(e,t,n,i,s){return new I.prototype.init(e,t,n,i,s)}function P(){return n.setTimeout(function(){lt=void 0}),lt=ce.now()}function N(e,t){var n,i=0,s={height:e};for(t=t?1:0;4>i;i+=2-t)n=Me[i],s["margin"+n]=s["padding"+n]=e;return t&&(s.opacity=s.width=e),s}function W(e,t,n){for(var i,s=(U.tweeners[t]||[]).concat(U.tweeners["*"]),r=0,o=s.length;o>r;r++)if(i=s[r].call(n,t,e))return i}function H(e,t,n){var i,s,r,o,a,l,c,h,u=this,d={},f=e.style,g=e.nodeType&&Oe(e),p=Te.get(e,"fxshow");n.queue||(a=ce._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,l=a.empty.fire,a.empty.fire=function(){a.unqueued||l()}),a.unqueued++,u.always(function(){u.always(function(){a.unqueued--,ce.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],c=ce.css(e,"display"),h="none"===c?Te.get(e,"olddisplay")||T(e.nodeName):c,"inline"===h&&"none"===ce.css(e,"float")&&(f.display="inline-block")),n.overflow&&(f.overflow="hidden",u.always(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]}));for(i in t)if(s=t[i],ht.exec(s)){if(delete t[i],r=r||"toggle"===s,s===(g?"hide":"show")){if("show"!==s||!p||void 0===p[i])continue;g=!0}d[i]=p&&p[i]||ce.style(e,i)}else c=void 0;if(ce.isEmptyObject(d))"inline"===("none"===c?T(e.nodeName):c)&&(f.display=c);else{p?"hidden"in p&&(g=p.hidden):p=Te.access(e,"fxshow",{}),r&&(p.hidden=!g),g?ce(e).show():u.done(function(){ce(e).hide()}),u.done(function(){var t;Te.remove(e,"fxshow");for(t in d)ce.style(e,t,d[t])});for(i in d)o=W(g?p[i]:0,i,u),i in p||(p[i]=o.start,g&&(o.end=o.start,o.start="width"===i||"height"===i?1:0))}}function j(e,t){var n,i,s,r,o;for(n in e)if(i=ce.camelCase(n),s=t[i],r=e[n],ce.isArray(r)&&(s=r[1],r=e[n]=r[0]),n!==i&&(e[i]=r,delete e[n]),o=ce.cssHooks[i],o&&"expand"in o){r=o.expand(r),delete e[i];for(n in r)n in e||(e[n]=r[n],t[n]=s)}else t[i]=s}function U(e,t,n){var i,s,r=0,o=U.prefilters.length,a=ce.Deferred().always(function(){delete l.elem}),l=function(){if(s)return!1;for(var t=lt||P(),n=Math.max(0,c.startTime+c.duration-t),i=n/c.duration||0,r=1-i,o=0,l=c.tweens.length;l>o;o++)c.tweens[o].run(r);return a.notifyWith(e,[c,r,n]),1>r&&l?n:(a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:ce.extend({},t),opts:ce.extend(!0,{specialEasing:{},easing:ce.easing._default},n),originalProperties:t,originalOptions:n,startTime:lt||P(),duration:n.duration,tweens:[],createTween:function(t,n){var i=ce.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(i),i},stop:function(t){var n=0,i=t?c.tweens.length:0;if(s)return this;for(s=!0;i>n;n++)c.tweens[n].run(1);return t?(a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c,t])):a.rejectWith(e,[c,t]),this}}),h=c.props;for(j(h,c.opts.specialEasing);o>r;r++)if(i=U.prefilters[r].call(c,e,h,c.opts))return ce.isFunction(i.stop)&&(ce._queueHooks(c.elem,c.opts.queue).stop=ce.proxy(i.stop,i)),i;return ce.map(h,W,c),ce.isFunction(c.opts.start)&&c.opts.start.call(e,c),ce.fx.timer(ce.extend(l,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function z(e){return e.getAttribute&&e.getAttribute("class")||""}function V(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var i,s=0,r=t.toLowerCase().match(Se)||[];if(ce.isFunction(n))for(;i=r[s++];)"+"===i[0]?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function K(e,t,n,i){function s(a){var l;return r[a]=!0,ce.each(e[a]||[],function(e,a){var c=a(t,n,i);return"string"!=typeof c||o||r[c]?o?!(l=c):void 0:(t.dataTypes.unshift(c),s(c),!1)}),l}var r={},o=e===Tt;return s(t.dataTypes[0])||!r["*"]&&s("*")}function G(e,t){var n,i,s=ce.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((s[n]?e:i||(i={}))[n]=t[n]);return i&&ce.extend(!0,e,i),e}function q(e,t,n){for(var i,s,r,o,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){l.unshift(s);break}if(l[0]in n)r=l[0];else{for(s in n){if(!l[0]||e.converters[s+" "+l[0]]){r=s;break}o||(o=s)}r=r||o}return r?(r!==l[0]&&l.unshift(r),n[r]):void 0}function X(e,t,n,i){var s,r,o,a,l,c={},h=e.dataTypes.slice();if(h[1])for(o in e.converters)c[o.toLowerCase()]=e.converters[o];for(r=h.shift();r;)if(e.responseFields[r]&&(n[e.responseFields[r]]=t),!l&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=r,r=h.shift())if("*"===r)r=l;else if("*"!==l&&l!==r){if(o=c[l+" "+r]||c["* "+r],!o)for(s in c)if(a=s.split(" "),a[1]===r&&(o=c[l+" "+a[0]]||c["* "+a[0]])){o===!0?o=c[s]:c[s]!==!0&&(r=a[0],h.unshift(a[1]));break}if(o!==!0)if(o&&e["throws"])t=o(t);else try{t=o(t)}catch(u){return{state:"parsererror",error:o?u:"No conversion from "+l+" to "+r}}}return{state:"success",data:t}}function Y(e,t,n,i){var s;if(ce.isArray(t))ce.each(t,function(t,s){n||_t.test(e)?i(e,s):Y(e+"["+("object"==typeof s&&null!=s?t:"")+"]",s,n,i)});else if(n||"object"!==ce.type(t))i(e,t);else for(s in t)Y(e+"["+s+"]",t[s],n,i)}function Q(e){return ce.isWindow(e)?e:9===e.nodeType&&e.defaultView}var J=[],Z=n.document,ee=J.slice,te=J.concat,ne=J.push,ie=J.indexOf,se={},re=se.toString,oe=se.hasOwnProperty,ae={},le="2.2.1",ce=function(e,t){return new ce.fn.init(e,t)},he=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ue=/^-ms-/,de=/-([\da-z])/gi,fe=function(e,t){return t.toUpperCase()};ce.fn=ce.prototype={jquery:le,constructor:ce,selector:"",length:0,toArray:function(){return ee.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:ee.call(this)},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return ce.each(this,e)},map:function(e){return this.pushStack(ce.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ee.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ne,sort:J.sort,splice:J.splice},ce.extend=ce.fn.extend=function(){var e,t,n,i,s,r,o=arguments[0]||{},a=1,l=arguments.length,c=!1;for("boolean"==typeof o&&(c=o,o=arguments[a]||{},a++),"object"==typeof o||ce.isFunction(o)||(o={}),a===l&&(o=this,a--);l>a;a++)if(null!=(e=arguments[a]))for(t in e)n=o[t],i=e[t],o!==i&&(c&&i&&(ce.isPlainObject(i)||(s=ce.isArray(i)))?(s?(s=!1,r=n&&ce.isArray(n)?n:[]):r=n&&ce.isPlainObject(n)?n:{},o[t]=ce.extend(c,r,i)):void 0!==i&&(o[t]=i));return o},ce.extend({expando:"jQuery"+(le+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===ce.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=e&&e.toString();return!ce.isArray(e)&&t-parseFloat(t)+1>=0},isPlainObject:function(e){return"object"!==ce.type(e)||e.nodeType||ce.isWindow(e)?!1:e.constructor&&!oe.call(e.constructor.prototype,"isPrototypeOf")?!1:!0},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?se[re.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;e=ce.trim(e),e&&(1===e.indexOf("use strict")?(t=Z.createElement("script"),t.text=e,Z.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(ue,"ms-").replace(de,fe)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,i=0;if(o(e))for(n=e.length;n>i&&t.call(e[i],i,e[i])!==!1;i++);else for(i in e)if(t.call(e[i],i,e[i])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(he,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(o(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):ne.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:ie.call(t,e,n)},merge:function(e,t){for(var n=+t.length,i=0,s=e.length;n>i;i++)e[s++]=t[i];return e.length=s,e},grep:function(e,t,n){for(var i,s=[],r=0,o=e.length,a=!n;o>r;r++)i=!t(e[r],r),i!==a&&s.push(e[r]);return s},map:function(e,t,n){var i,s,r=0,a=[];if(o(e))for(i=e.length;i>r;r++)s=t(e[r],r,n),null!=s&&a.push(s);else for(r in e)s=t(e[r],r,n),null!=s&&a.push(s);return te.apply([],a)},guid:1,proxy:function(e,t){var n,i,s;return"string"==typeof t&&(n=e[t],t=e,e=n),ce.isFunction(e)?(i=ee.call(arguments,2),s=function(){return e.apply(t||this,i.concat(ee.call(arguments)))},s.guid=e.guid=e.guid||ce.guid++,s):void 0},now:Date.now,support:ae}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=J[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){se["[object "+t+"]"]=t.toLowerCase()});var ge=/*!
	 * Sizzle CSS Selector Engine v2.2.1
	 * http://sizzlejs.com/
	 *
	 * Copyright jQuery Foundation and other contributors
	 * Released under the MIT license
	 * http://jquery.org/license
	 *
	 * Date: 2015-10-17
	 */
function(e){function t(e,t,n,i){var s,r,o,a,l,c,u,f,g=t&&t.ownerDocument,p=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==p&&9!==p&&11!==p)return n;if(!i&&((t?t.ownerDocument||t:W)!==L&&k(t),t=t||L,R)){if(11!==p&&(c=ve.exec(e)))if(s=c[1]){if(9===p){if(!(o=t.getElementById(s)))return n;if(o.id===s)return n.push(o),n}else if(g&&(o=g.getElementById(s))&&P(t,o)&&o.id===s)return n.push(o),n}else{if(c[2])return J.apply(n,t.getElementsByTagName(e)),n;if((s=c[3])&&b.getElementsByClassName&&t.getElementsByClassName)return J.apply(n,t.getElementsByClassName(s)),n}if(b.qsa&&!V[e+" "]&&(!M||!M.test(e))){if(1!==p)g=t,f=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(Ae,"\\$&"):t.setAttribute("id",a=N),u=S(e),r=u.length,l=de.test(a)?"#"+a:"[id='"+a+"']";r--;)u[r]=l+" "+d(u[r]);f=u.join(","),g=Ce.test(e)&&h(t.parentNode)||t}if(f)try{return J.apply(n,g.querySelectorAll(f)),n}catch(m){}finally{a===N&&t.removeAttribute("id")}}}return x(e.replace(ae,"$1"),t,n,i)}function n(){function e(n,i){return t.push(n+" ")>y.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[N]=!0,e}function s(e){var t=L.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function r(e,t){for(var n=e.split("|"),i=n.length;i--;)y.attrHandle[n[i]]=t}function o(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||G)-(~e.sourceIndex||G);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return i(function(t){return t=+t,i(function(n,i){for(var s,r=e([],n.length,t),o=r.length;o--;)n[s=r[o]]&&(n[s]=!(i[s]=n[s]))})})}function h(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function u(){}function d(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].value;return i}function f(e,t,n){var i=t.dir,s=n&&"parentNode"===i,r=j++;return t.first?function(t,n,r){for(;t=t[i];)if(1===t.nodeType||s)return e(t,n,r)}:function(t,n,o){var a,l,c,h=[H,r];if(o){for(;t=t[i];)if((1===t.nodeType||s)&&e(t,n,o))return!0}else for(;t=t[i];)if(1===t.nodeType||s){if(c=t[N]||(t[N]={}),l=c[t.uniqueID]||(c[t.uniqueID]={}),(a=l[i])&&a[0]===H&&a[1]===r)return h[2]=a[2];if(l[i]=h,h[2]=e(t,n,o))return!0}}}function g(e){return e.length>1?function(t,n,i){for(var s=e.length;s--;)if(!e[s](t,n,i))return!1;return!0}:e[0]}function p(e,n,i){for(var s=0,r=n.length;r>s;s++)t(e,n[s],i);return i}function m(e,t,n,i,s){for(var r,o=[],a=0,l=e.length,c=null!=t;l>a;a++)(r=e[a])&&(!n||n(r,i,s))&&(o.push(r),c&&t.push(a));return o}function v(e,t,n,s,r,o){return s&&!s[N]&&(s=v(s)),r&&!r[N]&&(r=v(r,o)),i(function(i,o,a,l){var c,h,u,d=[],f=[],g=o.length,v=i||p(t||"*",a.nodeType?[a]:a,[]),C=!e||!i&&t?v:m(v,d,e,a,l),A=n?r||(i?e:g||s)?[]:o:C;if(n&&n(C,A,a,l),s)for(c=m(A,f),s(c,[],a,l),h=c.length;h--;)(u=c[h])&&(A[f[h]]=!(C[f[h]]=u));if(i){if(r||e){if(r){for(c=[],h=A.length;h--;)(u=A[h])&&c.push(C[h]=u);r(null,A=[],c,l)}for(h=A.length;h--;)(u=A[h])&&(c=r?ee(i,u):d[h])>-1&&(i[c]=!(o[c]=u))}}else A=m(A===o?A.splice(g,A.length):A),r?r(null,o,A,l):J.apply(o,A)})}function C(e){for(var t,n,i,s=e.length,r=y.relative[e[0].type],o=r||y.relative[" "],a=r?1:0,l=f(function(e){return e===t},o,!0),c=f(function(e){return ee(t,e)>-1},o,!0),h=[function(e,n,i){var s=!r&&(i||n!==$)||((t=n).nodeType?l(e,n,i):c(e,n,i));return t=null,s}];s>a;a++)if(n=y.relative[e[a].type])h=[f(g(h),n)];else{if(n=y.filter[e[a].type].apply(null,e[a].matches),n[N]){for(i=++a;s>i&&!y.relative[e[i].type];i++);return v(a>1&&g(h),a>1&&d(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,i>a&&C(e.slice(a,i)),s>i&&C(e=e.slice(i)),s>i&&d(e))}h.push(n)}return g(h)}function A(e,n){var s=n.length>0,r=e.length>0,o=function(i,o,a,l,c){var h,u,d,f=0,g="0",p=i&&[],v=[],C=$,A=i||r&&y.find.TAG("*",c),w=H+=null==C?1:Math.random()||.1,b=A.length;for(c&&($=o===L||o||c);g!==b&&null!=(h=A[g]);g++){if(r&&h){for(u=0,o||h.ownerDocument===L||(k(h),a=!R);d=e[u++];)if(d(h,o||L,a)){l.push(h);break}c&&(H=w)}s&&((h=!d&&h)&&f--,i&&p.push(h))}if(f+=g,s&&g!==f){for(u=0;d=n[u++];)d(p,v,o,a);if(i){if(f>0)for(;g--;)p[g]||v[g]||(v[g]=Y.call(l));v=m(v)}J.apply(l,v),c&&!i&&v.length>0&&f+n.length>1&&t.uniqueSort(l)}return c&&(H=w,$=C),p};return s?i(o):o}var w,b,y,F,E,S,D,x,$,T,B,k,L,_,R,M,O,I,P,N="sizzle"+1*new Date,W=e.document,H=0,j=0,U=n(),z=n(),V=n(),K=function(e,t){return e===t&&(B=!0),0},G=1<<31,q={}.hasOwnProperty,X=[],Y=X.pop,Q=X.push,J=X.push,Z=X.slice,ee=function(e,t){for(var n=0,i=e.length;i>n;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",ie="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",se="\\["+ne+"*("+ie+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ie+"))|)"+ne+"*\\]",re=":("+ie+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+se+")*)|.*)\\)|)",oe=new RegExp(ne+"+","g"),ae=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),le=new RegExp("^"+ne+"*,"+ne+"*"),ce=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),he=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),ue=new RegExp(re),de=new RegExp("^"+ie+"$"),fe={ID:new RegExp("^#("+ie+")"),CLASS:new RegExp("^\\.("+ie+")"),TAG:new RegExp("^("+ie+"|[*])"),ATTR:new RegExp("^"+se),PSEUDO:new RegExp("^"+re),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},ge=/^(?:input|select|textarea|button)$/i,pe=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Ce=/[+~]/,Ae=/'|\\/g,we=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var i="0x"+t-65536;return i!==i||n?t:0>i?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},ye=function(){k()};try{J.apply(X=Z.call(W.childNodes),W.childNodes),X[W.childNodes.length].nodeType}catch(Fe){J={apply:X.length?function(e,t){Q.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}b=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},k=t.setDocument=function(e){var t,n,i=e?e.ownerDocument||e:W;return i!==L&&9===i.nodeType&&i.documentElement?(L=i,_=L.documentElement,R=!E(L),(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",ye,!1):n.attachEvent&&n.attachEvent("onunload",ye)),b.attributes=s(function(e){return e.className="i",!e.getAttribute("className")}),b.getElementsByTagName=s(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),b.getElementsByClassName=me.test(L.getElementsByClassName),b.getById=s(function(e){return _.appendChild(e).id=N,!L.getElementsByName||!L.getElementsByName(N).length}),b.getById?(y.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&R){var n=t.getElementById(e);return n?[n]:[]}},y.filter.ID=function(e){var t=e.replace(we,be);return function(e){return e.getAttribute("id")===t}}):(delete y.find.ID,y.filter.ID=function(e){var t=e.replace(we,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),y.find.TAG=b.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):b.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],s=0,r=t.getElementsByTagName(e);if("*"===e){for(;n=r[s++];)1===n.nodeType&&i.push(n);return i}return r},y.find.CLASS=b.getElementsByClassName&&function(e,t){return"undefined"!=typeof t.getElementsByClassName&&R?t.getElementsByClassName(e):void 0},O=[],M=[],(b.qsa=me.test(L.querySelectorAll))&&(s(function(e){_.appendChild(e).innerHTML="<a id='"+N+"'></a><select id='"+N+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&M.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||M.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+N+"-]").length||M.push("~="),e.querySelectorAll(":checked").length||M.push(":checked"),e.querySelectorAll("a#"+N+"+*").length||M.push(".#.+[+~]")}),s(function(e){var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&M.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||M.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),M.push(",.*:")})),(b.matchesSelector=me.test(I=_.matches||_.webkitMatchesSelector||_.mozMatchesSelector||_.oMatchesSelector||_.msMatchesSelector))&&s(function(e){b.disconnectedMatch=I.call(e,"div"),I.call(e,"[s!='']:x"),O.push("!=",re)}),M=M.length&&new RegExp(M.join("|")),O=O.length&&new RegExp(O.join("|")),t=me.test(_.compareDocumentPosition),P=t||me.test(_.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},K=t?function(e,t){if(e===t)return B=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!b.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===W&&P(W,e)?-1:t===L||t.ownerDocument===W&&P(W,t)?1:T?ee(T,e)-ee(T,t):0:4&n?-1:1)}:function(e,t){if(e===t)return B=!0,0;var n,i=0,s=e.parentNode,r=t.parentNode,a=[e],l=[t];if(!s||!r)return e===L?-1:t===L?1:s?-1:r?1:T?ee(T,e)-ee(T,t):0;if(s===r)return o(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)l.unshift(n);for(;a[i]===l[i];)i++;return i?o(a[i],l[i]):a[i]===W?-1:l[i]===W?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&k(e),n=n.replace(he,"='$1']"),b.matchesSelector&&R&&!V[n+" "]&&(!O||!O.test(n))&&(!M||!M.test(n)))try{var i=I.call(e,n);if(i||b.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(s){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&k(e),P(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&k(e);var n=y.attrHandle[t.toLowerCase()],i=n&&q.call(y.attrHandle,t.toLowerCase())?n(e,t,!R):void 0;return void 0!==i?i:b.attributes||!R?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],i=0,s=0;if(B=!b.detectDuplicates,T=!b.sortStable&&e.slice(0),e.sort(K),B){for(;t=e[s++];)t===e[s]&&(i=n.push(s));for(;i--;)e.splice(n[i],1)}return T=null,e},F=t.getText=function(e){var t,n="",i=0,s=e.nodeType;if(s){if(1===s||9===s||11===s){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=F(e)}else if(3===s||4===s)return e.nodeValue}else for(;t=e[i++];)n+=F(t);return n},y=t.selectors={cacheLength:50,createPseudo:i,match:fe,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(we,be),e[3]=(e[3]||e[4]||e[5]||"").replace(we,be),"~="===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]||t.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]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&ue.test(n)&&(t=S(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(we,be).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("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,i){return function(s){var r=t.attr(s,e);return null==r?"!="===n:n?(r+="","="===n?r===i:"!="===n?r!==i:"^="===n?i&&0===r.indexOf(i):"*="===n?i&&r.indexOf(i)>-1:"$="===n?i&&r.slice(-i.length)===i:"~="===n?(" "+r.replace(oe," ")+" ").indexOf(i)>-1:"|="===n?r===i||r.slice(0,i.length+1)===i+"-":!1):!0}},CHILD:function(e,t,n,i,s){var r="nth"!==e.slice(0,3),o="last"!==e.slice(-4),a="of-type"===t;return 1===i&&0===s?function(e){return!!e.parentNode}:function(t,n,l){var c,h,u,d,f,g,p=r!==o?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),C=!l&&!a,A=!1;if(m){if(r){for(;p;){for(d=t;d=d[p];)if(a?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;g=p="only"===e&&!g&&"nextSibling"}return!0}if(g=[o?m.firstChild:m.lastChild],o&&C){for(d=m,u=d[N]||(d[N]={}),h=u[d.uniqueID]||(u[d.uniqueID]={}),c=h[e]||[],f=c[0]===H&&c[1],A=f&&c[2],d=f&&m.childNodes[f];d=++f&&d&&d[p]||(A=f=0)||g.pop();)if(1===d.nodeType&&++A&&d===t){h[e]=[H,f,A];break}}else if(C&&(d=t,u=d[N]||(d[N]={}),h=u[d.uniqueID]||(u[d.uniqueID]={}),c=h[e]||[],f=c[0]===H&&c[1],A=f),A===!1)for(;(d=++f&&d&&d[p]||(A=f=0)||g.pop())&&((a?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++A||(C&&(u=d[N]||(d[N]={}),h=u[d.uniqueID]||(u[d.uniqueID]={}),h[e]=[H,A]),d!==t)););return A-=s,A===i||A%i===0&&A/i>=0}}},PSEUDO:function(e,n){var s,r=y.pseudos[e]||y.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return r[N]?r(n):r.length>1?(s=[e,e,"",n],y.setFilters.hasOwnProperty(e.toLowerCase())?i(function(e,t){for(var i,s=r(e,n),o=s.length;o--;)i=ee(e,s[o]),e[i]=!(t[i]=s[o])}):function(e){return r(e,0,s)}):r}},pseudos:{not:i(function(e){var t=[],n=[],s=D(e.replace(ae,"$1"));return s[N]?i(function(e,t,n,i){for(var r,o=s(e,null,i,[]),a=e.length;a--;)(r=o[a])&&(e[a]=!(t[a]=r))}):function(e,i,r){return t[0]=e,s(t,null,r,n),t[0]=null,!n.pop()}}),has:i(function(e){return function(n){return t(e,n).length>0}}),contains:i(function(e){return e=e.replace(we,be),function(t){return(t.textContent||t.innerText||F(t)).indexOf(e)>-1}}),lang:i(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(we,be).toLowerCase(),function(t){var n;do if(n=R?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===_},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},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,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!y.pseudos.empty(e)},header:function(e){return pe.test(e.nodeName)},input:function(e){return ge.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:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var i=0>n?n+t:n;--i>=0;)e.push(i);return e}),gt:c(function(e,t,n){for(var i=0>n?n+t:n;++i<t;)e.push(i);return e})}},y.pseudos.nth=y.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})y.pseudos[w]=a(w);for(w in{submit:!0,reset:!0})y.pseudos[w]=l(w);return u.prototype=y.filters=y.pseudos,y.setFilters=new u,S=t.tokenize=function(e,n){var i,s,r,o,a,l,c,h=z[e+" "];if(h)return n?0:h.slice(0);for(a=e,l=[],c=y.preFilter;a;){(!i||(s=le.exec(a)))&&(s&&(a=a.slice(s[0].length)||a),l.push(r=[])),i=!1,(s=ce.exec(a))&&(i=s.shift(),r.push({value:i,type:s[0].replace(ae," ")}),a=a.slice(i.length));for(o in y.filter)!(s=fe[o].exec(a))||c[o]&&!(s=c[o](s))||(i=s.shift(),r.push({value:i,type:o,matches:s}),a=a.slice(i.length));if(!i)break}return n?a.length:a?t.error(e):z(e,l).slice(0)},D=t.compile=function(e,t){var n,i=[],s=[],r=V[e+" "];if(!r){for(t||(t=S(e)),n=t.length;n--;)r=C(t[n]),r[N]?i.push(r):s.push(r);r=V(e,A(s,i)),r.selector=e}return r},x=t.select=function(e,t,n,i){var s,r,o,a,l,c="function"==typeof e&&e,u=!i&&S(e=c.selector||e);if(n=n||[],1===u.length){if(r=u[0]=u[0].slice(0),r.length>2&&"ID"===(o=r[0]).type&&b.getById&&9===t.nodeType&&R&&y.relative[r[1].type]){if(t=(y.find.ID(o.matches[0].replace(we,be),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(r.shift().value.length)}for(s=fe.needsContext.test(e)?0:r.length;s--&&(o=r[s],!y.relative[a=o.type]);)if((l=y.find[a])&&(i=l(o.matches[0].replace(we,be),Ce.test(r[0].type)&&h(t.parentNode)||t))){if(r.splice(s,1),e=i.length&&d(r),!e)return J.apply(n,i),n;break}}return(c||D(e,u))(i,t,!R,n,!t||Ce.test(e)&&h(t.parentNode)||t),n},b.sortStable=N.split("").sort(K).join("")===N,b.detectDuplicates=!!B,k(),b.sortDetached=s(function(e){return 1&e.compareDocumentPosition(L.createElement("div"))}),s(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||r("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),b.attributes&&s(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||r("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),s(function(e){return null==e.getAttribute("disabled")})||r(te,function(e,t,n){var i;return n?void 0:e[t]===!0?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),t}(n);ce.find=ge,ce.expr=ge.selectors,ce.expr[":"]=ce.expr.pseudos,ce.uniqueSort=ce.unique=ge.uniqueSort,ce.text=ge.getText,ce.isXMLDoc=ge.isXML,ce.contains=ge.contains;var pe=function(e,t,n){for(var i=[],s=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(s&&ce(e).is(n))break;i.push(e)}return i},me=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},ve=ce.expr.match.needsContext,Ce=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Ae=/^.[^:#\[\.,]*$/;ce.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?ce.find.matchesSelector(i,e)?[i]:[]:ce.find.matches(e,ce.grep(t,function(e){return 1===e.nodeType}))},ce.fn.extend({find:function(e){var t,n=this.length,i=[],s=this;if("string"!=typeof e)return this.pushStack(ce(e).filter(function(){for(t=0;n>t;t++)if(ce.contains(s[t],this))return!0}));for(t=0;n>t;t++)ce.find(e,s[t],i);return i=this.pushStack(n>1?ce.unique(i):i),i.selector=this.selector?this.selector+" "+e:e,i},filter:function(e){return this.pushStack(a(this,e||[],!1))},not:function(e){return this.pushStack(a(this,e||[],!0))},is:function(e){return!!a(this,"string"==typeof e&&ve.test(e)?ce(e):e||[],!1).length}});var we,be=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ye=ce.fn.init=function(e,t,n){var i,s;if(!e)return this;if(n=n||we,"string"==typeof e){if(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:be.exec(e),!i||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:Z,!0)),Ce.test(i[1])&&ce.isPlainObject(t))for(i in t)ce.isFunction(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return s=Z.getElementById(i[2]),s&&s.parentNode&&(this.length=1,this[0]=s),this.context=Z,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):ce.isFunction(e)?void 0!==n.ready?n.ready(e):e(ce):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),ce.makeArray(e,this))};ye.prototype=ce.fn,we=ce(Z);var Fe=/^(?:parents|prev(?:Until|All))/,Ee={children:!0,contents:!0,next:!0,prev:!0};ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;n>e;e++)if(ce.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,i=0,s=this.length,r=[],o=ve.test(e)||"string"!=typeof e?ce(e,t||this.context):0;s>i;i++)for(n=this[i];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(o?o.index(n)>-1:1===n.nodeType&&ce.find.matchesSelector(n,e))){r.push(n);break}return this.pushStack(r.length>1?ce.uniqueSort(r):r)},index:function(e){return e?"string"==typeof e?ie.call(ce(e),this[0]):ie.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ce.uniqueSort(ce.merge(this.get(),ce(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ce.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return pe(e,"parentNode")},parentsUntil:function(e,t,n){return pe(e,"parentNode",n)},next:function(e){return l(e,"nextSibling")},prev:function(e){return l(e,"previousSibling")},nextAll:function(e){return pe(e,"nextSibling")},prevAll:function(e){return pe(e,"previousSibling")},nextUntil:function(e,t,n){return pe(e,"nextSibling",n)},prevUntil:function(e,t,n){return pe(e,"previousSibling",n)},siblings:function(e){return me((e.parentNode||{}).firstChild,e)},children:function(e){return me(e.firstChild)},contents:function(e){return e.contentDocument||ce.merge([],e.childNodes)}},function(e,t){ce.fn[e]=function(n,i){var s=ce.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(s=ce.filter(i,s)),this.length>1&&(Ee[e]||ce.uniqueSort(s),Fe.test(e)&&s.reverse()),this.pushStack(s)}});var Se=/\S+/g;ce.Callbacks=function(e){e="string"==typeof e?c(e):ce.extend({},e);var t,n,i,s,r=[],o=[],a=-1,l=function(){for(s=e.once,i=t=!0;o.length;a=-1)for(n=o.shift();++a<r.length;)r[a].apply(n[0],n[1])===!1&&e.stopOnFalse&&(a=r.length,n=!1);e.memory||(n=!1),t=!1,s&&(r=n?[]:"")},h={add:function(){return r&&(n&&!t&&(a=r.length-1,o.push(n)),function i(t){ce.each(t,function(t,n){ce.isFunction(n)?e.unique&&h.has(n)||r.push(n):n&&n.length&&"string"!==ce.type(n)&&i(n)})}(arguments),n&&!t&&l()),this},remove:function(){return ce.each(arguments,function(e,t){for(var n;(n=ce.inArray(t,r,n))>-1;)r.splice(n,1),a>=n&&a--}),this},has:function(e){return e?ce.inArray(e,r)>-1:r.length>0},empty:function(){return r&&(r=[]),this},disable:function(){return s=o=[],r=n="",this},disabled:function(){return!r},lock:function(){return s=o=[],n||(r=n=""),this},locked:function(){return!!s},fireWith:function(e,n){return s||(n=n||[],n=[e,n.slice?n.slice():n],o.push(n),t||l()),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!i}};return h},ce.extend({Deferred:function(e){var t=[["resolve","done",ce.Callbacks("once memory"),"resolved"],["reject","fail",ce.Callbacks("once memory"),"rejected"],["notify","progress",ce.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return s.done(arguments).fail(arguments),this},then:function(){var e=arguments;return ce.Deferred(function(n){ce.each(t,function(t,r){var o=ce.isFunction(e[t])&&e[t];s[r[1]](function(){var e=o&&o.apply(this,arguments);e&&ce.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this===i?n.promise():this,o?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?ce.extend(e,i):i}},s={};return i.pipe=i.then,ce.each(t,function(e,r){var o=r[2],a=r[3];i[r[1]]=o.add,a&&o.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),s[r[0]]=function(){return s[r[0]+"With"](this===s?i:this,arguments),this},s[r[0]+"With"]=o.fireWith}),i.promise(s),e&&e.call(s,s),s},when:function(e){var t,n,i,s=0,r=ee.call(arguments),o=r.length,a=1!==o||e&&ce.isFunction(e.promise)?o:0,l=1===a?e:ce.Deferred(),c=function(e,n,i){return function(s){n[e]=this,i[e]=arguments.length>1?ee.call(arguments):s,i===t?l.notifyWith(n,i):--a||l.resolveWith(n,i)}};if(o>1)for(t=new Array(o),n=new Array(o),i=new Array(o);o>s;s++)r[s]&&ce.isFunction(r[s].promise)?r[s].promise().progress(c(s,n,t)).done(c(s,i,r)).fail(l.reject):--a;return a||l.resolveWith(i,r),l.promise()}});var De;ce.fn.ready=function(e){return ce.ready.promise().done(e),this},ce.extend({isReady:!1,readyWait:1,holdReady:function(e){e?ce.readyWait++:ce.ready(!0)},ready:function(e){(e===!0?--ce.readyWait:ce.isReady)||(ce.isReady=!0,e!==!0&&--ce.readyWait>0||(De.resolveWith(Z,[ce]),ce.fn.triggerHandler&&(ce(Z).triggerHandler("ready"),ce(Z).off("ready"))))}}),ce.ready.promise=function(e){return De||(De=ce.Deferred(),"complete"===Z.readyState||"loading"!==Z.readyState&&!Z.documentElement.doScroll?n.setTimeout(ce.ready):(Z.addEventListener("DOMContentLoaded",h),n.addEventListener("load",h))),De.promise(e)},ce.ready.promise();var xe=function(e,t,n,i,s,r,o){var a=0,l=e.length,c=null==n;if("object"===ce.type(n)){s=!0;for(a in n)xe(e,t,a,n[a],!0,r,o)}else if(void 0!==i&&(s=!0,ce.isFunction(i)||(o=!0),c&&(o?(t.call(e,i),t=null):(c=t,t=function(e,t,n){return c.call(ce(e),n)})),t))for(;l>a;a++)t(e[a],n,o?i:i.call(e[a],a,t(e[a],n)));return s?e:c?t.call(e):l?t(e[0],n):r},$e=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};u.uid=1,u.prototype={register:function(e,t){var n=t||{};return e.nodeType?e[this.expando]=n:Object.defineProperty(e,this.expando,{value:n,writable:!0,configurable:!0}),e[this.expando]},cache:function(e){if(!$e(e))return{};var t=e[this.expando];return t||(t={},$e(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var i,s=this.cache(e);if("string"==typeof t)s[t]=n;else for(i in t)s[i]=t[i];return s},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][t]},access:function(e,t,n){var i;return void 0===t||t&&"string"==typeof t&&void 0===n?(i=this.get(e,t),void 0!==i?i:this.get(e,ce.camelCase(t))):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,i,s,r=e[this.expando];if(void 0!==r){if(void 0===t)this.register(e);else{ce.isArray(t)?i=t.concat(t.map(ce.camelCase)):(s=ce.camelCase(t),t in r?i=[t,s]:(i=s,i=i in r?[i]:i.match(Se)||[])),n=i.length;for(;n--;)delete r[i[n]]}(void 0===t||ce.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ce.isEmptyObject(t)}};var Te=new u,Be=new u,ke=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Le=/[A-Z]/g;ce.extend({hasData:function(e){return Be.hasData(e)||Te.hasData(e)},data:function(e,t,n){return Be.access(e,t,n)},removeData:function(e,t){Be.remove(e,t)},_data:function(e,t,n){return Te.access(e,t,n)},_removeData:function(e,t){Te.remove(e,t)}}),ce.fn.extend({data:function(e,t){var n,i,s,r=this[0],o=r&&r.attributes;if(void 0===e){if(this.length&&(s=Be.get(r),1===r.nodeType&&!Te.get(r,"hasDataAttrs"))){for(n=o.length;n--;)o[n]&&(i=o[n].name,0===i.indexOf("data-")&&(i=ce.camelCase(i.slice(5)),d(r,i,s[i])));Te.set(r,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){Be.set(this,e)}):xe(this,function(t){var n,i;if(r&&void 0===t){if(n=Be.get(r,e)||Be.get(r,e.replace(Le,"-$&").toLowerCase()),void 0!==n)return n;if(i=ce.camelCase(e),n=Be.get(r,i),void 0!==n)return n;if(n=d(r,i,void 0),void 0!==n)return n}else i=ce.camelCase(e),this.each(function(){var n=Be.get(this,i);Be.set(this,i,t),e.indexOf("-")>-1&&void 0!==n&&Be.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Be.remove(this,e)})}}),ce.extend({queue:function(e,t,n){var i;return e?(t=(t||"fx")+"queue",i=Te.get(e,t),n&&(!i||ce.isArray(n)?i=Te.access(e,t,ce.makeArray(n)):i.push(n)),i||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=ce.queue(e,t),i=n.length,s=n.shift(),r=ce._queueHooks(e,t),o=function(){ce.dequeue(e,t)};"inprogress"===s&&(s=n.shift(),i--),s&&("fx"===t&&n.unshift("inprogress"),delete r.stop,s.call(e,o,r)),!i&&r&&r.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Te.get(e,n)||Te.access(e,n,{empty:ce.Callbacks("once memory").add(function(){Te.remove(e,[t+"queue",n])})})}}),ce.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?ce.queue(this[0],e):void 0===t?this:this.each(function(){var n=ce.queue(this,e,t);ce._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&ce.dequeue(this,e)})},dequeue:function(e){return this.each(function(){ce.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,i=1,s=ce.Deferred(),r=this,o=this.length,a=function(){--i||s.resolveWith(r,[r])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";o--;)n=Te.get(r[o],e+"queueHooks"),n&&n.empty&&(i++,n.empty.add(a));return a(),s.promise(t)}});var _e=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Re=new RegExp("^(?:([+-])=|)("+_e+")([a-z%]*)$","i"),Me=["Top","Right","Bottom","Left"],Oe=function(e,t){return e=t||e,"none"===ce.css(e,"display")||!ce.contains(e.ownerDocument,e)},Ie=/^(?:checkbox|radio)$/i,Pe=/<([\w:-]+)/,Ne=/^$|\/(?:java|ecma)script/i,We={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,"",""]};We.optgroup=We.option,We.tbody=We.tfoot=We.colgroup=We.caption=We.thead,We.th=We.td;var He=/<|&#?\w+;/;!function(){var e=Z.createDocumentFragment(),t=e.appendChild(Z.createElement("div")),n=Z.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),ae.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",ae.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var je=/^key/,Ue=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ze=/^([^.]*)(?:\.(.+)|)/;ce.event={global:{},add:function(e,t,n,i,s){var r,o,a,l,c,h,u,d,f,g,p,m=Te.get(e);if(m)for(n.handler&&(r=n,n=r.handler,s=r.selector),n.guid||(n.guid=ce.guid++),(l=m.events)||(l=m.events={}),(o=m.handle)||(o=m.handle=function(t){return"undefined"!=typeof ce&&ce.event.triggered!==t.type?ce.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Se)||[""],c=t.length;c--;)a=ze.exec(t[c])||[],f=p=a[1],g=(a[2]||"").split(".").sort(),f&&(u=ce.event.special[f]||{},f=(s?u.delegateType:u.bindType)||f,u=ce.event.special[f]||{},h=ce.extend({type:f,origType:p,data:i,handler:n,guid:n.guid,selector:s,needsContext:s&&ce.expr.match.needsContext.test(s),namespace:g.join(".")},r),(d=l[f])||(d=l[f]=[],d.delegateCount=0,u.setup&&u.setup.call(e,i,g,o)!==!1||e.addEventListener&&e.addEventListener(f,o)),u.add&&(u.add.call(e,h),h.handler.guid||(h.handler.guid=n.guid)),s?d.splice(d.delegateCount++,0,h):d.push(h),ce.event.global[f]=!0)},remove:function(e,t,n,i,s){var r,o,a,l,c,h,u,d,f,g,p,m=Te.hasData(e)&&Te.get(e);if(m&&(l=m.events)){for(t=(t||"").match(Se)||[""],c=t.length;c--;)if(a=ze.exec(t[c])||[],f=p=a[1],g=(a[2]||"").split(".").sort(),f){for(u=ce.event.special[f]||{},f=(i?u.delegateType:u.bindType)||f,d=l[f]||[],a=a[2]&&new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=r=d.length;r--;)h=d[r],!s&&p!==h.origType||n&&n.guid!==h.guid||a&&!a.test(h.namespace)||i&&i!==h.selector&&("**"!==i||!h.selector)||(d.splice(r,1),
h.selector&&d.delegateCount--,u.remove&&u.remove.call(e,h));o&&!d.length&&(u.teardown&&u.teardown.call(e,g,m.handle)!==!1||ce.removeEvent(e,f,m.handle),delete l[f])}else for(f in l)ce.event.remove(e,f+t[c],n,i,!0);ce.isEmptyObject(l)&&Te.remove(e,"handle events")}},dispatch:function(e){e=ce.event.fix(e);var t,n,i,s,r,o=[],a=ee.call(arguments),l=(Te.get(this,"events")||{})[e.type]||[],c=ce.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(o=ce.event.handlers.call(this,e,l),t=0;(s=o[t++])&&!e.isPropagationStopped();)for(e.currentTarget=s.elem,n=0;(r=s.handlers[n++])&&!e.isImmediatePropagationStopped();)(!e.rnamespace||e.rnamespace.test(r.namespace))&&(e.handleObj=r,e.data=r.data,i=((ce.event.special[r.origType]||{}).handle||r.handler).apply(s.elem,a),void 0!==i&&(e.result=i)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,i,s,r,o=[],a=t.delegateCount,l=e.target;if(a&&l.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(i=[],n=0;a>n;n++)r=t[n],s=r.selector+" ",void 0===i[s]&&(i[s]=r.needsContext?ce(s,this).index(l)>-1:ce.find(s,this,null,[l]).length),i[s]&&i.push(r);i.length&&o.push({elem:l,handlers:i})}return a<t.length&&o.push({elem:this,handlers:t.slice(a)}),o},props:"altKey bubbles cancelable ctrlKey currentTarget detail 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,i,s,r=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||Z,i=n.documentElement,s=n.body,e.pageX=t.clientX+(i&&i.scrollLeft||s&&s.scrollLeft||0)-(i&&i.clientLeft||s&&s.clientLeft||0),e.pageY=t.clientY+(i&&i.scrollTop||s&&s.scrollTop||0)-(i&&i.clientTop||s&&s.clientTop||0)),e.which||void 0===r||(e.which=1&r?1:2&r?3:4&r?2:0),e}},fix:function(e){if(e[ce.expando])return e;var t,n,i,s=e.type,r=e,o=this.fixHooks[s];for(o||(this.fixHooks[s]=o=Ue.test(s)?this.mouseHooks:je.test(s)?this.keyHooks:{}),i=o.props?this.props.concat(o.props):this.props,e=new ce.Event(r),t=i.length;t--;)n=i[t],e[n]=r[n];return e.target||(e.target=Z),3===e.target.nodeType&&(e.target=e.target.parentNode),o.filter?o.filter(e,r):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==A()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===A()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&ce.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(e){return ce.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ce.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ce.Event=function(e,t){return this instanceof ce.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?v:C):this.type=e,t&&ce.extend(this,t),this.timeStamp=e&&e.timeStamp||ce.now(),void(this[ce.expando]=!0)):new ce.Event(e,t)},ce.Event.prototype={constructor:ce.Event,isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=v,e&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=v,e&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=v,e&&e.stopImmediatePropagation(),this.stopPropagation()}},ce.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){ce.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,i=this,s=e.relatedTarget,r=e.handleObj;return(!s||s!==i&&!ce.contains(i,s))&&(e.type=r.origType,n=r.handler.apply(this,arguments),e.type=t),n}}}),ce.fn.extend({on:function(e,t,n,i){return w(this,e,t,n,i)},one:function(e,t,n,i){return w(this,e,t,n,i,1)},off:function(e,t,n){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,ce(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(s in e)this.off(s,t,e[s]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=void 0),n===!1&&(n=C),this.each(function(){ce.event.remove(this,e,n,t)})}});var Ve=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Ke=/<script|<style|<link/i,Ge=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^true\/(.*)/,Xe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;ce.extend({htmlPrefilter:function(e){return e.replace(Ve,"<$1></$2>")},clone:function(e,t,n){var i,s,r,o,a=e.cloneNode(!0),l=ce.contains(e.ownerDocument,e);if(!(ae.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ce.isXMLDoc(e)))for(o=g(a),r=g(e),i=0,s=r.length;s>i;i++)S(r[i],o[i]);if(t)if(n)for(r=r||g(e),o=o||g(a),i=0,s=r.length;s>i;i++)E(r[i],o[i]);else E(e,a);return o=g(a,"script"),o.length>0&&p(o,!l&&g(e,"script")),a},cleanData:function(e){for(var t,n,i,s=ce.event.special,r=0;void 0!==(n=e[r]);r++)if($e(n)){if(t=n[Te.expando]){if(t.events)for(i in t.events)s[i]?ce.event.remove(n,i):ce.removeEvent(n,i,t.handle);n[Te.expando]=void 0}n[Be.expando]&&(n[Be.expando]=void 0)}}}),ce.fn.extend({domManip:D,detach:function(e){return x(this,e,!0)},remove:function(e){return x(this,e)},text:function(e){return xe(this,function(e){return void 0===e?ce.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 D(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=b(this,e);t.appendChild(e)}})},prepend:function(){return D(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=b(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return D(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return D(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ce.cleanData(g(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return ce.clone(this,e,t)})},html:function(e){return xe(this,function(e){var t=this[0]||{},n=0,i=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ke.test(e)&&!We[(Pe.exec(e)||["",""])[1].toLowerCase()]){e=ce.htmlPrefilter(e);try{for(;i>n;n++)t=this[n]||{},1===t.nodeType&&(ce.cleanData(g(t,!1)),t.innerHTML=e);t=0}catch(s){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return D(this,arguments,function(t){var n=this.parentNode;ce.inArray(this,e)<0&&(ce.cleanData(g(this)),n&&n.replaceChild(t,this))},e)}}),ce.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){ce.fn[e]=function(e){for(var n,i=[],s=ce(e),r=s.length-1,o=0;r>=o;o++)n=o===r?this:this.clone(!0),ce(s[o])[t](n),ne.apply(i,n.get());return this.pushStack(i)}});var Ye,Qe={HTML:"block",BODY:"block"},Je=/^margin/,Ze=new RegExp("^("+_e+")(?!px)[a-z%]+$","i"),et=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=n),t.getComputedStyle(e)},tt=function(e,t,n,i){var s,r,o={};for(r in t)o[r]=e.style[r],e.style[r]=t[r];s=n.apply(e,i||[]);for(r in t)e.style[r]=o[r];return s},nt=Z.documentElement;!function(){function e(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",nt.appendChild(o);var e=n.getComputedStyle(a);t="1%"!==e.top,r="2px"===e.marginLeft,i="4px"===e.width,a.style.marginRight="50%",s="4px"===e.marginRight,nt.removeChild(o)}var t,i,s,r,o=Z.createElement("div"),a=Z.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",ae.clearCloneStyle="content-box"===a.style.backgroundClip,o.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",o.appendChild(a),ce.extend(ae,{pixelPosition:function(){return e(),t},boxSizingReliable:function(){return null==i&&e(),i},pixelMarginRight:function(){return null==i&&e(),s},reliableMarginLeft:function(){return null==i&&e(),r},reliableMarginRight:function(){var e,t=a.appendChild(Z.createElement("div"));return t.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",t.style.marginRight=t.style.width="0",a.style.width="1px",nt.appendChild(o),e=!parseFloat(n.getComputedStyle(t).marginRight),nt.removeChild(o),a.removeChild(t),e}}))}();var it=/^(none|table(?!-c[ea]).+)/,st={position:"absolute",visibility:"hidden",display:"block"},rt={letterSpacing:"0",fontWeight:"400"},ot=["Webkit","O","Moz","ms"],at=Z.createElement("div").style;ce.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=B(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,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,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var s,r,o,a=ce.camelCase(t),l=e.style;return t=ce.cssProps[a]||(ce.cssProps[a]=L(a)||a),o=ce.cssHooks[t]||ce.cssHooks[a],void 0===n?o&&"get"in o&&void 0!==(s=o.get(e,!1,i))?s:l[t]:(r=typeof n,"string"===r&&(s=Re.exec(n))&&s[1]&&(n=f(e,t,s),r="number"),null!=n&&n===n&&("number"===r&&(n+=s&&s[3]||(ce.cssNumber[a]?"":"px")),ae.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),o&&"set"in o&&void 0===(n=o.set(e,n,i))||(l[t]=n)),void 0)}},css:function(e,t,n,i){var s,r,o,a=ce.camelCase(t);return t=ce.cssProps[a]||(ce.cssProps[a]=L(a)||a),o=ce.cssHooks[t]||ce.cssHooks[a],o&&"get"in o&&(s=o.get(e,!0,n)),void 0===s&&(s=B(e,t,i)),"normal"===s&&t in rt&&(s=rt[t]),""===n||n?(r=parseFloat(s),n===!0||isFinite(r)?r||0:s):s}}),ce.each(["height","width"],function(e,t){ce.cssHooks[t]={get:function(e,n,i){return n?it.test(ce.css(e,"display"))&&0===e.offsetWidth?tt(e,st,function(){return M(e,t,i)}):M(e,t,i):void 0},set:function(e,n,i){var s,r=i&&et(e),o=i&&R(e,t,i,"border-box"===ce.css(e,"boxSizing",!1,r),r);return o&&(s=Re.exec(n))&&"px"!==(s[3]||"px")&&(e.style[t]=n,n=ce.css(e,t)),_(e,n,o)}}}),ce.cssHooks.marginLeft=k(ae.reliableMarginLeft,function(e,t){return t?(parseFloat(B(e,"marginLeft"))||e.getBoundingClientRect().left-tt(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px":void 0}),ce.cssHooks.marginRight=k(ae.reliableMarginRight,function(e,t){return t?tt(e,{display:"inline-block"},B,[e,"marginRight"]):void 0}),ce.each({margin:"",padding:"",border:"Width"},function(e,t){ce.cssHooks[e+t]={expand:function(n){for(var i=0,s={},r="string"==typeof n?n.split(" "):[n];4>i;i++)s[e+Me[i]+t]=r[i]||r[i-2]||r[0];return s}},Je.test(e)||(ce.cssHooks[e+t].set=_)}),ce.fn.extend({css:function(e,t){return xe(this,function(e,t,n){var i,s,r={},o=0;if(ce.isArray(t)){for(i=et(e),s=t.length;s>o;o++)r[t[o]]=ce.css(e,t[o],!1,i);return r}return void 0!==n?ce.style(e,t,n):ce.css(e,t)},e,t,arguments.length>1)},show:function(){return O(this,!0)},hide:function(){return O(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Oe(this)?ce(this).show():ce(this).hide()})}}),ce.Tween=I,I.prototype={constructor:I,init:function(e,t,n,i,s,r){this.elem=e,this.prop=n,this.easing=s||ce.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=r||(ce.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=ce.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):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ce.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){ce.fx.step[e.prop]?ce.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[ce.cssProps[e.prop]]&&!ce.cssHooks[e.prop]?e.elem[e.prop]=e.now:ce.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ce.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},ce.fx=I.prototype.init,ce.fx.step={};var lt,ct,ht=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;ce.Animation=ce.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return f(n.elem,e,Re.exec(t),n),n}]},tweener:function(e,t){ce.isFunction(e)?(t=e,e=["*"]):e=e.match(Se);for(var n,i=0,s=e.length;s>i;i++)n=e[i],U.tweeners[n]=U.tweeners[n]||[],U.tweeners[n].unshift(t)},prefilters:[H],prefilter:function(e,t){t?U.prefilters.unshift(e):U.prefilters.push(e)}}),ce.speed=function(e,t,n){var i=e&&"object"==typeof e?ce.extend({},e):{complete:n||!n&&t||ce.isFunction(e)&&e,duration:e,easing:n&&t||t&&!ce.isFunction(t)&&t};return i.duration=ce.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in ce.fx.speeds?ce.fx.speeds[i.duration]:ce.fx.speeds._default,(null==i.queue||i.queue===!0)&&(i.queue="fx"),i.old=i.complete,i.complete=function(){ce.isFunction(i.old)&&i.old.call(this),i.queue&&ce.dequeue(this,i.queue)},i},ce.fn.extend({fadeTo:function(e,t,n,i){return this.filter(Oe).css("opacity",0).show().end().animate({opacity:t},e,n,i)},animate:function(e,t,n,i){var s=ce.isEmptyObject(e),r=ce.speed(t,n,i),o=function(){var t=U(this,ce.extend({},e),r);(s||Te.get(this,"finish"))&&t.stop(!0)};return o.finish=o,s||r.queue===!1?this.each(o):this.queue(r.queue,o)},stop:function(e,t,n){var i=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,s=null!=e&&e+"queueHooks",r=ce.timers,o=Te.get(this);if(s)o[s]&&o[s].stop&&i(o[s]);else for(s in o)o[s]&&o[s].stop&&ut.test(s)&&i(o[s]);for(s=r.length;s--;)r[s].elem!==this||null!=e&&r[s].queue!==e||(r[s].anim.stop(n),t=!1,r.splice(s,1));(t||!n)&&ce.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=Te.get(this),i=n[e+"queue"],s=n[e+"queueHooks"],r=ce.timers,o=i?i.length:0;for(n.finish=!0,ce.queue(this,e,[]),s&&s.stop&&s.stop.call(this,!0),t=r.length;t--;)r[t].elem===this&&r[t].queue===e&&(r[t].anim.stop(!0),r.splice(t,1));for(t=0;o>t;t++)i[t]&&i[t].finish&&i[t].finish.call(this);delete n.finish})}}),ce.each(["toggle","show","hide"],function(e,t){var n=ce.fn[t];ce.fn[t]=function(e,i,s){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(N(t,!0),e,i,s)}}),ce.each({slideDown:N("show"),slideUp:N("hide"),slideToggle:N("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){ce.fn[e]=function(e,n,i){return this.animate(t,e,n,i)}}),ce.timers=[],ce.fx.tick=function(){var e,t=0,n=ce.timers;for(lt=ce.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||ce.fx.stop(),lt=void 0},ce.fx.timer=function(e){ce.timers.push(e),e()?ce.fx.start():ce.timers.pop()},ce.fx.interval=13,ce.fx.start=function(){ct||(ct=n.setInterval(ce.fx.tick,ce.fx.interval))},ce.fx.stop=function(){n.clearInterval(ct),ct=null},ce.fx.speeds={slow:600,fast:200,_default:400},ce.fn.delay=function(e,t){return e=ce.fx?ce.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,i){var s=n.setTimeout(t,e);i.stop=function(){n.clearTimeout(s)}})},function(){var e=Z.createElement("input"),t=Z.createElement("select"),n=t.appendChild(Z.createElement("option"));e.type="checkbox",ae.checkOn=""!==e.value,ae.optSelected=n.selected,t.disabled=!0,ae.optDisabled=!n.disabled,e=Z.createElement("input"),e.value="t",e.type="radio",ae.radioValue="t"===e.value}();var dt,ft=ce.expr.attrHandle;ce.fn.extend({attr:function(e,t){return xe(this,ce.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){ce.removeAttr(this,e)})}}),ce.extend({attr:function(e,t,n){var i,s,r=e.nodeType;if(3!==r&&8!==r&&2!==r)return"undefined"==typeof e.getAttribute?ce.prop(e,t,n):(1===r&&ce.isXMLDoc(e)||(t=t.toLowerCase(),s=ce.attrHooks[t]||(ce.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void ce.removeAttr(e,t):s&&"set"in s&&void 0!==(i=s.set(e,n,t))?i:(e.setAttribute(t,n+""),n):s&&"get"in s&&null!==(i=s.get(e,t))?i:(i=ce.find.attr(e,t),null==i?void 0:i))},attrHooks:{type:{set:function(e,t){if(!ae.radioValue&&"radio"===t&&ce.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,i,s=0,r=t&&t.match(Se);if(r&&1===e.nodeType)for(;n=r[s++];)i=ce.propFix[n]||n,ce.expr.match.bool.test(n)&&(e[i]=!1),e.removeAttribute(n)}}),dt={set:function(e,t,n){return t===!1?ce.removeAttr(e,n):e.setAttribute(n,n),n}},ce.each(ce.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ft[t]||ce.find.attr;ft[t]=function(e,t,i){var s,r;return i||(r=ft[t],ft[t]=s,s=null!=n(e,t,i)?t.toLowerCase():null,ft[t]=r),s}});var gt=/^(?:input|select|textarea|button)$/i,pt=/^(?:a|area)$/i;ce.fn.extend({prop:function(e,t){return xe(this,ce.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[ce.propFix[e]||e]})}}),ce.extend({prop:function(e,t,n){var i,s,r=e.nodeType;if(3!==r&&8!==r&&2!==r)return 1===r&&ce.isXMLDoc(e)||(t=ce.propFix[t]||t,s=ce.propHooks[t]),void 0!==n?s&&"set"in s&&void 0!==(i=s.set(e,n,t))?i:e[t]=n:s&&"get"in s&&null!==(i=s.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=ce.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||pt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),ae.optSelected||(ce.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),ce.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ce.propFix[this.toLowerCase()]=this});var mt=/[\t\r\n\f]/g;ce.fn.extend({addClass:function(e){var t,n,i,s,r,o,a,l=0;if(ce.isFunction(e))return this.each(function(t){ce(this).addClass(e.call(this,t,z(this)))});if("string"==typeof e&&e)for(t=e.match(Se)||[];n=this[l++];)if(s=z(n),i=1===n.nodeType&&(" "+s+" ").replace(mt," ")){for(o=0;r=t[o++];)i.indexOf(" "+r+" ")<0&&(i+=r+" ");a=ce.trim(i),s!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,i,s,r,o,a,l=0;if(ce.isFunction(e))return this.each(function(t){ce(this).removeClass(e.call(this,t,z(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Se)||[];n=this[l++];)if(s=z(n),i=1===n.nodeType&&(" "+s+" ").replace(mt," ")){for(o=0;r=t[o++];)for(;i.indexOf(" "+r+" ")>-1;)i=i.replace(" "+r+" "," ");a=ce.trim(i),s!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):ce.isFunction(e)?this.each(function(n){ce(this).toggleClass(e.call(this,n,z(this),t),t)}):this.each(function(){var t,i,s,r;if("string"===n)for(i=0,s=ce(this),r=e.match(Se)||[];t=r[i++];)s.hasClass(t)?s.removeClass(t):s.addClass(t);else(void 0===e||"boolean"===n)&&(t=z(this),t&&Te.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Te.get(this,"__className__")||""))})},hasClass:function(e){var t,n,i=0;for(t=" "+e+" ";n=this[i++];)if(1===n.nodeType&&(" "+z(n)+" ").replace(mt," ").indexOf(t)>-1)return!0;return!1}});var vt=/\r/g;ce.fn.extend({val:function(e){var t,n,i,s=this[0];{if(arguments.length)return i=ce.isFunction(e),this.each(function(n){var s;1===this.nodeType&&(s=i?e.call(this,n,ce(this).val()):e,null==s?s="":"number"==typeof s?s+="":ce.isArray(s)&&(s=ce.map(s,function(e){return null==e?"":e+""})),t=ce.valHooks[this.type]||ce.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,s,"value")||(this.value=s))});if(s)return t=ce.valHooks[s.type]||ce.valHooks[s.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(s,"value"))?n:(n=s.value,"string"==typeof n?n.replace(vt,""):null==n?"":n)}}}),ce.extend({valHooks:{option:{get:function(e){return ce.trim(e.value)}},select:{get:function(e){for(var t,n,i=e.options,s=e.selectedIndex,r="select-one"===e.type||0>s,o=r?null:[],a=r?s+1:i.length,l=0>s?a:r?s:0;a>l;l++)if(n=i[l],(n.selected||l===s)&&(ae.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!ce.nodeName(n.parentNode,"optgroup"))){if(t=ce(n).val(),r)return t;o.push(t)}return o},set:function(e,t){for(var n,i,s=e.options,r=ce.makeArray(t),o=s.length;o--;)i=s[o],(i.selected=ce.inArray(ce.valHooks.option.get(i),r)>-1)&&(n=!0);return n||(e.selectedIndex=-1),r}}}}),ce.each(["radio","checkbox"],function(){ce.valHooks[this]={set:function(e,t){return ce.isArray(t)?e.checked=ce.inArray(ce(e).val(),t)>-1:void 0}},ae.checkOn||(ce.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Ct=/^(?:focusinfocus|focusoutblur)$/;ce.extend(ce.event,{trigger:function(e,t,i,s){var r,o,a,l,c,h,u,d=[i||Z],f=oe.call(e,"type")?e.type:e,g=oe.call(e,"namespace")?e.namespace.split("."):[];if(o=a=i=i||Z,3!==i.nodeType&&8!==i.nodeType&&!Ct.test(f+ce.event.triggered)&&(f.indexOf(".")>-1&&(g=f.split("."),f=g.shift(),g.sort()),c=f.indexOf(":")<0&&"on"+f,e=e[ce.expando]?e:new ce.Event(f,"object"==typeof e&&e),e.isTrigger=s?2:3,e.namespace=g.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=i),t=null==t?[e]:ce.makeArray(t,[e]),u=ce.event.special[f]||{},s||!u.trigger||u.trigger.apply(i,t)!==!1)){if(!s&&!u.noBubble&&!ce.isWindow(i)){for(l=u.delegateType||f,Ct.test(l+f)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(i.ownerDocument||Z)&&d.push(a.defaultView||a.parentWindow||n)}for(r=0;(o=d[r++])&&!e.isPropagationStopped();)e.type=r>1?l:u.bindType||f,h=(Te.get(o,"events")||{})[e.type]&&Te.get(o,"handle"),h&&h.apply(o,t),h=c&&o[c],h&&h.apply&&$e(o)&&(e.result=h.apply(o,t),e.result===!1&&e.preventDefault());return e.type=f,s||e.isDefaultPrevented()||u._default&&u._default.apply(d.pop(),t)!==!1||!$e(i)||c&&ce.isFunction(i[f])&&!ce.isWindow(i)&&(a=i[c],a&&(i[c]=null),ce.event.triggered=f,i[f](),ce.event.triggered=void 0,a&&(i[c]=a)),e.result}},simulate:function(e,t,n){var i=ce.extend(new ce.Event,n,{type:e,isSimulated:!0});ce.event.trigger(i,null,t),i.isDefaultPrevented()&&n.preventDefault()}}),ce.fn.extend({trigger:function(e,t){return this.each(function(){ce.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?ce.event.trigger(e,t,n,!0):void 0}}),ce.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,t){ce.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ce.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),ae.focusin="onfocusin"in n,ae.focusin||ce.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){ce.event.simulate(t,e.target,ce.event.fix(e))};ce.event.special[t]={setup:function(){var i=this.ownerDocument||this,s=Te.access(i,t);s||i.addEventListener(e,n,!0),Te.access(i,t,(s||0)+1)},teardown:function(){var i=this.ownerDocument||this,s=Te.access(i,t)-1;s?Te.access(i,t,s):(i.removeEventListener(e,n,!0),Te.remove(i,t))}}});var At=n.location,wt=ce.now(),bt=/\?/;ce.parseJSON=function(e){return JSON.parse(e+"")},ce.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(i){t=void 0}return(!t||t.getElementsByTagName("parsererror").length)&&ce.error("Invalid XML: "+e),t};var yt=/#.*$/,Ft=/([?&])_=[^&]*/,Et=/^(.*?):[ \t]*([^\r\n]*)$/gm,St=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Dt=/^(?:GET|HEAD)$/,xt=/^\/\//,$t={},Tt={},Bt="*/".concat("*"),kt=Z.createElement("a");kt.href=At.href,ce.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:At.href,type:"GET",isLocal:St.test(At.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Bt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ce.parseJSON,"text xml":ce.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?G(G(e,ce.ajaxSettings),t):G(ce.ajaxSettings,e)},ajaxPrefilter:V($t),ajaxTransport:V(Tt),ajax:function(e,t){function i(e,t,i,a){var c,u,C,A,b,F=t;2!==w&&(w=2,l&&n.clearTimeout(l),s=void 0,o=a||"",y.readyState=e>0?4:0,c=e>=200&&300>e||304===e,i&&(A=q(d,y,i)),A=X(d,A,y,c),c?(d.ifModified&&(b=y.getResponseHeader("Last-Modified"),b&&(ce.lastModified[r]=b),b=y.getResponseHeader("etag"),b&&(ce.etag[r]=b)),204===e||"HEAD"===d.type?F="nocontent":304===e?F="notmodified":(F=A.state,u=A.data,C=A.error,c=!C)):(C=F,(e||!F)&&(F="error",0>e&&(e=0))),y.status=e,y.statusText=(t||F)+"",c?p.resolveWith(f,[u,F,y]):p.rejectWith(f,[y,F,C]),y.statusCode(v),v=void 0,h&&g.trigger(c?"ajaxSuccess":"ajaxError",[y,d,c?u:C]),m.fireWith(f,[y,F]),h&&(g.trigger("ajaxComplete",[y,d]),--ce.active||ce.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var s,r,o,a,l,c,h,u,d=ce.ajaxSetup({},t),f=d.context||d,g=d.context&&(f.nodeType||f.jquery)?ce(f):ce.event,p=ce.Deferred(),m=ce.Callbacks("once memory"),v=d.statusCode||{},C={},A={},w=0,b="canceled",y={readyState:0,getResponseHeader:function(e){var t;if(2===w){if(!a)for(a={};t=Et.exec(o);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===w?o:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return w||(e=A[n]=A[n]||e,C[e]=t),this},overrideMimeType:function(e){return w||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>w)for(t in e)v[t]=[v[t],e[t]];else y.always(e[y.status]);return this},abort:function(e){var t=e||b;return s&&s.abort(t),i(0,t),this}};if(p.promise(y).complete=m.add,y.success=y.done,y.error=y.fail,d.url=((e||d.url||At.href)+"").replace(yt,"").replace(xt,At.protocol+"//"),d.type=t.method||t.type||d.method||d.type,d.dataTypes=ce.trim(d.dataType||"*").toLowerCase().match(Se)||[""],null==d.crossDomain){c=Z.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=kt.protocol+"//"+kt.host!=c.protocol+"//"+c.host}catch(F){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=ce.param(d.data,d.traditional)),K($t,d,t,y),2===w)return y;h=ce.event&&d.global,h&&0===ce.active++&&ce.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Dt.test(d.type),r=d.url,d.hasContent||(d.data&&(r=d.url+=(bt.test(r)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Ft.test(r)?r.replace(Ft,"$1_="+wt++):r+(bt.test(r)?"&":"?")+"_="+wt++)),d.ifModified&&(ce.lastModified[r]&&y.setRequestHeader("If-Modified-Since",ce.lastModified[r]),ce.etag[r]&&y.setRequestHeader("If-None-Match",ce.etag[r])),(d.data&&d.hasContent&&d.contentType!==!1||t.contentType)&&y.setRequestHeader("Content-Type",d.contentType),y.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Bt+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)y.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(f,y,d)===!1||2===w))return y.abort();b="abort";for(u in{success:1,error:1,complete:1})y[u](d[u]);if(s=K(Tt,d,t,y)){if(y.readyState=1,h&&g.trigger("ajaxSend",[y,d]),2===w)return y;d.async&&d.timeout>0&&(l=n.setTimeout(function(){y.abort("timeout")},d.timeout));try{w=1,s.send(C,i)}catch(F){if(!(2>w))throw F;i(-1,F)}}else i(-1,"No Transport");return y},getJSON:function(e,t,n){return ce.get(e,t,n,"json")},getScript:function(e,t){return ce.get(e,void 0,t,"script")}}),ce.each(["get","post"],function(e,t){ce[t]=function(e,n,i,s){return ce.isFunction(n)&&(s=s||i,i=n,n=void 0),ce.ajax(ce.extend({url:e,type:t,dataType:s,data:n,success:i},ce.isPlainObject(e)&&e))}}),ce._evalUrl=function(e){return ce.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},ce.fn.extend({wrapAll:function(e){var t;return ce.isFunction(e)?this.each(function(t){ce(this).wrapAll(e.call(this,t))}):(this[0]&&(t=ce(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return ce.isFunction(e)?this.each(function(t){ce(this).wrapInner(e.call(this,t))}):this.each(function(){var t=ce(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ce.isFunction(e);return this.each(function(n){ce(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){ce.nodeName(this,"body")||ce(this).replaceWith(this.childNodes)}).end()}}),ce.expr.filters.hidden=function(e){return!ce.expr.filters.visible(e)},ce.expr.filters.visible=function(e){return e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0};var Lt=/%20/g,_t=/\[\]$/,Rt=/\r?\n/g,Mt=/^(?:submit|button|image|reset|file)$/i,Ot=/^(?:input|select|textarea|keygen)/i;ce.param=function(e,t){var n,i=[],s=function(e,t){t=ce.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=ce.ajaxSettings&&ce.ajaxSettings.traditional),ce.isArray(e)||e.jquery&&!ce.isPlainObject(e))ce.each(e,function(){s(this.name,this.value)});else for(n in e)Y(n,e[n],t,s);return i.join("&").replace(Lt,"+")},ce.fn.extend({serialize:function(){return ce.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ce.prop(this,"elements");return e?ce.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ce(this).is(":disabled")&&Ot.test(this.nodeName)&&!Mt.test(e)&&(this.checked||!Ie.test(e))}).map(function(e,t){var n=ce(this).val();return null==n?null:ce.isArray(n)?ce.map(n,function(e){return{name:t.name,value:e.replace(Rt,"\r\n")}}):{name:t.name,value:n.replace(Rt,"\r\n")}}).get()}}),ce.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var It={0:200,1223:204},Pt=ce.ajaxSettings.xhr();ae.cors=!!Pt&&"withCredentials"in Pt,ae.ajax=Pt=!!Pt,ce.ajaxTransport(function(e){var t,i;return ae.cors||Pt&&!e.crossDomain?{send:function(s,r){var o,a=e.xhr();if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(o in e.xhrFields)a[o]=e.xhrFields[o];e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||s["X-Requested-With"]||(s["X-Requested-With"]="XMLHttpRequest");for(o in s)a.setRequestHeader(o,s[o]);t=function(e){return function(){t&&(t=i=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,
"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?r(0,"error"):r(a.status,a.statusText):r(It[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=t(),i=a.onerror=t("error"),void 0!==a.onabort?a.onabort=i:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout(function(){t&&i()})},t=t("abort");try{a.send(e.hasContent&&e.data||null)}catch(l){if(t)throw l}},abort:function(){t&&t()}}:void 0}),ce.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ce.globalEval(e),e}}}),ce.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ce.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,s){t=ce("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&s("error"===e.type?404:200,e.type)}),Z.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Nt=[],Wt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Nt.pop()||ce.expando+"_"+wt++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,i){var s,r,o,a=e.jsonp!==!1&&(Wt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Wt.test(e.data)&&"data");return a||"jsonp"===e.dataTypes[0]?(s=e.jsonpCallback=ce.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Wt,"$1"+s):e.jsonp!==!1&&(e.url+=(bt.test(e.url)?"&":"?")+e.jsonp+"="+s),e.converters["script json"]=function(){return o||ce.error(s+" was not called"),o[0]},e.dataTypes[0]="json",r=n[s],n[s]=function(){o=arguments},i.always(function(){void 0===r?ce(n).removeProp(s):n[s]=r,e[s]&&(e.jsonpCallback=t.jsonpCallback,Nt.push(s)),o&&ce.isFunction(r)&&r(o[0]),o=r=void 0}),"script"):void 0}),ae.createHTMLDocument=function(){var e=Z.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),ce.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||(ae.createHTMLDocument?Z.implementation.createHTMLDocument(""):Z);var i=Ce.exec(e),s=!n&&[];return i?[t.createElement(i[1])]:(i=m([e],t,s),s&&s.length&&ce(s).remove(),ce.merge([],i.childNodes))};var Ht=ce.fn.load;ce.fn.load=function(e,t,n){if("string"!=typeof e&&Ht)return Ht.apply(this,arguments);var i,s,r,o=this,a=e.indexOf(" ");return a>-1&&(i=ce.trim(e.slice(a)),e=e.slice(0,a)),ce.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(s="POST"),o.length>0&&ce.ajax({url:e,type:s||"GET",dataType:"html",data:t}).done(function(e){r=arguments,o.html(i?ce("<div>").append(ce.parseHTML(e)).find(i):e)}).always(n&&function(e,t){o.each(function(){n.apply(o,r||[e.responseText,t,e])})}),this},ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.expr.filters.animated=function(e){return ce.grep(ce.timers,function(t){return e===t.elem}).length},ce.offset={setOffset:function(e,t,n){var i,s,r,o,a,l,c,h=ce.css(e,"position"),u=ce(e),d={};"static"===h&&(e.style.position="relative"),a=u.offset(),r=ce.css(e,"top"),l=ce.css(e,"left"),c=("absolute"===h||"fixed"===h)&&(r+l).indexOf("auto")>-1,c?(i=u.position(),o=i.top,s=i.left):(o=parseFloat(r)||0,s=parseFloat(l)||0),ce.isFunction(t)&&(t=t.call(e,n,ce.extend({},a))),null!=t.top&&(d.top=t.top-a.top+o),null!=t.left&&(d.left=t.left-a.left+s),"using"in t?t.using.call(e,d):u.css(d)}},ce.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){ce.offset.setOffset(this,e,t)});var t,n,i=this[0],s={top:0,left:0},r=i&&i.ownerDocument;if(r)return t=r.documentElement,ce.contains(t,i)?(s=i.getBoundingClientRect(),n=Q(r),{top:s.top+n.pageYOffset-t.clientTop,left:s.left+n.pageXOffset-t.clientLeft}):s},position:function(){if(this[0]){var e,t,n=this[0],i={top:0,left:0};return"fixed"===ce.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),ce.nodeName(e[0],"html")||(i=e.offset()),i.top+=ce.css(e[0],"borderTopWidth",!0),i.left+=ce.css(e[0],"borderLeftWidth",!0)),{top:t.top-i.top-ce.css(n,"marginTop",!0),left:t.left-i.left-ce.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===ce.css(e,"position");)e=e.offsetParent;return e||nt})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;ce.fn[e]=function(i){return xe(this,function(e,i,s){var r=Q(e);return void 0===s?r?r[t]:e[i]:void(r?r.scrollTo(n?r.pageXOffset:s,n?s:r.pageYOffset):e[i]=s)},e,i,arguments.length)}}),ce.each(["top","left"],function(e,t){ce.cssHooks[t]=k(ae.pixelPosition,function(e,n){return n?(n=B(e,t),Ze.test(n)?ce(e).position()[t]+"px":n):void 0})}),ce.each({Height:"height",Width:"width"},function(e,t){ce.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,i){ce.fn[i]=function(i,s){var r=arguments.length&&(n||"boolean"!=typeof i),o=n||(i===!0||s===!0?"margin":"border");return xe(this,function(t,n,i){var s;return ce.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(s=t.documentElement,Math.max(t.body["scroll"+e],s["scroll"+e],t.body["offset"+e],s["offset"+e],s["client"+e])):void 0===i?ce.css(t,n,o):ce.style(t,n,i,o)},t,r?i:void 0,r,null)}})}),ce.fn.extend({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,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},size:function(){return this.length}}),ce.fn.andSelf=ce.fn.addBack,i=[],s=function(){return ce}.apply(t,i),!(void 0!==s&&(e.exports=s));var jt=n.jQuery,Ut=n.$;return ce.noConflict=function(e){return n.$===ce&&(n.$=Ut),e&&n.jQuery===ce&&(n.jQuery=jt),ce},r||(n.jQuery=n.$=ce),ce})},8:function(e,t,n){var i,s,r;/*! DataTables 1.10.9
	 * ©2008-2015 SpryMedia Ltd - datatables.net/license
	 */
!function(o,a,l){!function(o){"use strict";s=[n(4)],i=o,r="function"==typeof i?i.apply(t,s):i,!(r!==l&&(e.exports=r))}(function(e){"use strict";function t(n){var i,s,r="a aa ai ao as b fn i m o s ",o={};e.each(n,function(e,a){i=e.match(/^([^A-Z]+?)([A-Z])/),i&&-1!==r.indexOf(i[1]+" ")&&(s=e.replace(i[0],i[2].toLowerCase()),o[s]=e,"o"===i[1]&&t(n[e]))}),n._hungarianMap=o}function n(i,s,r){i._hungarianMap||t(i);var o;e.each(s,function(t,a){o=i._hungarianMap[t],o===l||!r&&s[o]!==l||("o"===o.charAt(0)?(s[o]||(s[o]={}),e.extend(!0,s[o],s[t]),n(i[o],s[o],r)):s[o]=s[t])})}function i(e){var t=Ke.defaults.oLanguage,n=e.sZeroRecords;!e.sEmptyTable&&n&&"No data available in table"===t.sEmptyTable&&Me(e,e,"sZeroRecords","sEmptyTable"),!e.sLoadingRecords&&n&&"Loading..."===t.sLoadingRecords&&Me(e,e,"sZeroRecords","sLoadingRecords"),e.sInfoThousands&&(e.sThousands=e.sInfoThousands);var i=e.sDecimal;i&&ze(i)}function s(e){mt(e,"ordering","bSort"),mt(e,"orderMulti","bSortMulti"),mt(e,"orderClasses","bSortClasses"),mt(e,"orderCellsTop","bSortCellsTop"),mt(e,"order","aaSorting"),mt(e,"orderFixed","aaSortingFixed"),mt(e,"paging","bPaginate"),mt(e,"pagingType","sPaginationType"),mt(e,"pageLength","iDisplayLength"),mt(e,"searching","bFilter"),"boolean"==typeof e.sScrollX&&(e.sScrollX=e.sScrollX?"100%":"");var t=e.aoSearchCols;if(t)for(var i=0,s=t.length;s>i;i++)t[i]&&n(Ke.models.oSearch,t[i])}function r(t){mt(t,"orderable","bSortable"),mt(t,"orderData","aDataSort"),mt(t,"orderSequence","asSorting"),mt(t,"orderDataType","sortDataType");var n=t.aDataSort;n&&!e.isArray(n)&&(t.aDataSort=[n])}function c(t){if(!Ke.__browser){var n={};Ke.__browser=n;var i=e("<div/>").css({position:"fixed",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(e("<div/>").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(e("<div/>").css({width:"100%",height:10}))).appendTo("body"),s=i.children(),r=s.children();n.barWidth=s[0].offsetWidth-s[0].clientWidth,n.bScrollOversize=100===r[0].offsetWidth&&100!==s[0].clientWidth,n.bScrollbarLeft=1!==Math.round(r.offset().left),n.bBounding=i[0].getBoundingClientRect().width?!0:!1,i.remove()}e.extend(t.oBrowser,Ke.__browser),t.oScroll.iBarWidth=Ke.__browser.barWidth}function h(e,t,n,i,s,r){var o,a=i,c=!1;for(n!==l&&(o=n,c=!0);a!==s;)e.hasOwnProperty(a)&&(o=c?t(o,e[a],a,e):e[a],c=!0,a+=r);return o}function u(t,n){var i=Ke.defaults.column,s=t.aoColumns.length,r=e.extend({},Ke.models.oColumn,i,{nTh:n?n:a.createElement("th"),sTitle:i.sTitle?i.sTitle:n?n.innerHTML:"",aDataSort:i.aDataSort?i.aDataSort:[s],mData:i.mData?i.mData:s,idx:s});t.aoColumns.push(r);var o=t.aoPreSearchCols;o[s]=e.extend({},Ke.models.oSearch,o[s]),d(t,s,e(n).data())}function d(t,i,s){var o=t.aoColumns[i],a=t.oClasses,c=e(o.nTh);if(!o.sWidthOrig){o.sWidthOrig=c.attr("width")||null;var h=(c.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);h&&(o.sWidthOrig=h[1])}s!==l&&null!==s&&(r(s),n(Ke.defaults.column,s),s.mDataProp===l||s.mData||(s.mData=s.mDataProp),s.sType&&(o._sManualType=s.sType),s.className&&!s.sClass&&(s.sClass=s.className),e.extend(o,s),Me(o,s,"sWidth","sWidthOrig"),s.iDataSort!==l&&(o.aDataSort=[s.iDataSort]),Me(o,s,"aDataSort"));var u=o.mData,d=x(u),f=o.mRender?x(o.mRender):null,g=function(e){return"string"==typeof e&&-1!==e.indexOf("@")};o._bAttrSrc=e.isPlainObject(u)&&(g(u.sort)||g(u.type)||g(u.filter)),o.fnGetData=function(e,t,n){var i=d(e,t,l,n);return f&&t?f(i,t,e,n):i},o.fnSetData=function(e,t,n){return $(u)(e,t,n)},"number"!=typeof u&&(t._rowReadObject=!0),t.oFeatures.bSort||(o.bSortable=!1,c.addClass(a.sSortableNone));var p=-1!==e.inArray("asc",o.asSorting),m=-1!==e.inArray("desc",o.asSorting);o.bSortable&&(p||m)?p&&!m?(o.sSortingClass=a.sSortableAsc,o.sSortingClassJUI=a.sSortJUIAscAllowed):!p&&m?(o.sSortingClass=a.sSortableDesc,o.sSortingClassJUI=a.sSortJUIDescAllowed):(o.sSortingClass=a.sSortable,o.sSortingClassJUI=a.sSortJUI):(o.sSortingClass=a.sSortableNone,o.sSortingClassJUI="")}function f(e){if(e.oFeatures.bAutoWidth!==!1){var t=e.aoColumns;Ce(e);for(var n=0,i=t.length;i>n;n++)t[n].nTh.style.width=t[n].sWidth}var s=e.oScroll;(""!==s.sY||""!==s.sX)&&me(e),Ne(e,null,"column-sizing",[e])}function g(e,t){var n=v(e,"bVisible");return"number"==typeof n[t]?n[t]:null}function p(t,n){var i=v(t,"bVisible"),s=e.inArray(n,i);return-1!==s?s:null}function m(e){return v(e,"bVisible").length}function v(t,n){var i=[];return e.map(t.aoColumns,function(e,t){e[n]&&i.push(t)}),i}function C(e){var t,n,i,s,r,o,a,c,h,u=e.aoColumns,d=e.aoData,f=Ke.ext.type.detect;for(t=0,n=u.length;n>t;t++)if(a=u[t],h=[],!a.sType&&a._sManualType)a.sType=a._sManualType;else if(!a.sType){for(i=0,s=f.length;s>i;i++){for(r=0,o=d.length;o>r&&(h[r]===l&&(h[r]=E(e,r,t,"type")),c=f[i](h[r],e),c||i===f.length-1)&&"html"!==c;r++);if(c){a.sType=c;break}}a.sType||(a.sType="string")}}function A(t,n,i,s){var r,o,a,c,h,d,f,g=t.aoColumns;if(n)for(r=n.length-1;r>=0;r--){f=n[r];var p=f.targets!==l?f.targets:f.aTargets;for(e.isArray(p)||(p=[p]),a=0,c=p.length;c>a;a++)if("number"==typeof p[a]&&p[a]>=0){for(;g.length<=p[a];)u(t);s(p[a],f)}else if("number"==typeof p[a]&&p[a]<0)s(g.length+p[a],f);else if("string"==typeof p[a])for(h=0,d=g.length;d>h;h++)("_all"==p[a]||e(g[h].nTh).hasClass(p[a]))&&s(h,f)}if(i)for(r=0,o=i.length;o>r;r++)s(r,i[r])}function w(t,n,i,s){var r=t.aoData.length,o=e.extend(!0,{},Ke.models.oRow,{src:i?"dom":"data",idx:r});o._aData=n,t.aoData.push(o);for(var a=t.aoColumns,c=0,h=a.length;h>c;c++)a[c].sType=null;t.aiDisplayMaster.push(r);var u=t.rowIdFn(n);return u!==l&&(t.aIds[u]=o),(i||!t.oFeatures.bDeferRender)&&R(t,r,i,s),r}function b(t,n){var i;return n instanceof e||(n=e(n)),n.map(function(e,n){return i=_(t,n),w(t,i.data,n,i.cells)})}function y(e,t){return t._DT_RowIndex!==l?t._DT_RowIndex:null}function F(t,n,i){return e.inArray(i,t.aoData[n].anCells)}function E(e,t,n,i){var s=e.iDraw,r=e.aoColumns[n],o=e.aoData[t]._aData,a=r.sDefaultContent,c=r.fnGetData(o,i,{settings:e,row:t,col:n});if(c===l)return e.iDrawError!=s&&null===a&&(Re(e,0,"Requested unknown parameter "+("function"==typeof r.mData?"{function}":"'"+r.mData+"'")+" for row "+t,4),e.iDrawError=s),a;if(c!==o&&null!==c||null===a){if("function"==typeof c)return c.call(o)}else c=a;return null===c&&"display"==i?"":c}function S(e,t,n,i){var s=e.aoColumns[n],r=e.aoData[t]._aData;s.fnSetData(r,i,{settings:e,row:t,col:n})}function D(t){return e.map(t.match(/(\\.|[^\.])+/g)||[""],function(e){return e.replace(/\\./g,".")})}function x(t){if(e.isPlainObject(t)){var n={};return e.each(t,function(e,t){t&&(n[e]=x(t))}),function(e,t,i,s){var r=n[t]||n._;return r!==l?r(e,t,i,s):e}}if(null===t)return function(e){return e};if("function"==typeof t)return function(e,n,i,s){return t(e,n,i,s)};if("string"!=typeof t||-1===t.indexOf(".")&&-1===t.indexOf("[")&&-1===t.indexOf("("))return function(e,n){return e[t]};var i=function(t,n,s){var r,o,a,c;if(""!==s)for(var h=D(s),u=0,d=h.length;d>u;u++){if(r=h[u].match(vt),o=h[u].match(Ct),r){if(h[u]=h[u].replace(vt,""),""!==h[u]&&(t=t[h[u]]),a=[],h.splice(0,u+1),c=h.join("."),e.isArray(t))for(var f=0,g=t.length;g>f;f++)a.push(i(t[f],n,c));var p=r[0].substring(1,r[0].length-1);t=""===p?a:a.join(p);break}if(o)h[u]=h[u].replace(Ct,""),t=t[h[u]]();else{if(null===t||t[h[u]]===l)return l;t=t[h[u]]}}return t};return function(e,n){return i(e,n,t)}}function $(t){if(e.isPlainObject(t))return $(t._);if(null===t)return function(){};if("function"==typeof t)return function(e,n,i){t(e,"set",n,i)};if("string"!=typeof t||-1===t.indexOf(".")&&-1===t.indexOf("[")&&-1===t.indexOf("("))return function(e,n){e[t]=n};var n=function(t,i,s){for(var r,o,a,c,h,u=D(s),d=u[u.length-1],f=0,g=u.length-1;g>f;f++){if(o=u[f].match(vt),a=u[f].match(Ct),o){if(u[f]=u[f].replace(vt,""),t[u[f]]=[],r=u.slice(),r.splice(0,f+1),h=r.join("."),e.isArray(i))for(var p=0,m=i.length;m>p;p++)c={},n(c,i[p],h),t[u[f]].push(c);else t[u[f]]=i;return}a&&(u[f]=u[f].replace(Ct,""),t=t[u[f]](i)),(null===t[u[f]]||t[u[f]]===l)&&(t[u[f]]={}),t=t[u[f]]}d.match(Ct)?t=t[d.replace(Ct,"")](i):t[d.replace(vt,"")]=i};return function(e,i){return n(e,i,t)}}function T(e){return ht(e.aoData,"_aData")}function B(e){e.aoData.length=0,e.aiDisplayMaster.length=0,e.aiDisplay.length=0,e.aIds={}}function k(e,t,n){for(var i=-1,s=0,r=e.length;r>s;s++)e[s]==t?i=s:e[s]>t&&e[s]--;-1!=i&&n===l&&e.splice(i,1)}function L(e,t,n,i){var s,r,o=e.aoData[t],a=function(n,i){for(;n.childNodes.length;)n.removeChild(n.firstChild);n.innerHTML=E(e,t,i,"display")};if("dom"!==n&&(n&&"auto"!==n||"dom"!==o.src)){var c=o.anCells;if(c)if(i!==l)a(c[i],i);else for(s=0,r=c.length;r>s;s++)a(c[s],s)}else o._aData=_(e,o,i,i===l?l:o._aData).data;o._aSortData=null,o._aFilterData=null;var h=e.aoColumns;if(i!==l)h[i].sType=null;else{for(s=0,r=h.length;r>s;s++)h[s].sType=null;M(e,o)}}function _(t,n,i,s){var r,o,a,c=[],h=n.firstChild,u=0,d=t.aoColumns,f=t._rowReadObject;s=s!==l?s:f?{}:[];var g=function(e,t){if("string"==typeof e){var n=e.indexOf("@");if(-1!==n){var i=e.substring(n+1),r=$(e);r(s,t.getAttribute(i))}}},p=function(t){if(i===l||i===u)if(o=d[u],a=e.trim(t.innerHTML),o&&o._bAttrSrc){var n=$(o.mData._);n(s,a),g(o.mData.sort,t),g(o.mData.type,t),g(o.mData.filter,t)}else f?(o._setter||(o._setter=$(o.mData)),o._setter(s,a)):s[u]=a;u++};if(h)for(;h;)r=h.nodeName.toUpperCase(),("TD"==r||"TH"==r)&&(p(h),c.push(h)),h=h.nextSibling;else{c=n.anCells;for(var m=0,v=c.length;v>m;m++)p(c[m])}var C=h?n:n.nTr;if(C){var A=C.getAttribute("id");A&&$(t.rowId)(s,A)}return{data:s,cells:c}}function R(e,t,n,i){var s,r,o,l,c,h=e.aoData[t],u=h._aData,d=[];if(null===h.nTr){for(s=n||a.createElement("tr"),h.nTr=s,h.anCells=d,s._DT_RowIndex=t,M(e,h),l=0,c=e.aoColumns.length;c>l;l++)o=e.aoColumns[l],r=n?i[l]:a.createElement(o.sCellType),d.push(r),(!n||o.mRender||o.mData!==l)&&(r.innerHTML=E(e,t,l,"display")),o.sClass&&(r.className+=" "+o.sClass),o.bVisible&&!n?s.appendChild(r):!o.bVisible&&n&&r.parentNode.removeChild(r),o.fnCreatedCell&&o.fnCreatedCell.call(e.oInstance,r,E(e,t,l),u,t,l);Ne(e,"aoRowCreatedCallback",null,[s,u,t])}h.nTr.setAttribute("role","row")}function M(t,n){var i=n.nTr,s=n._aData;if(i){var r=t.rowIdFn(s);if(r&&(i.id=r),s.DT_RowClass){var o=s.DT_RowClass.split(" ");n.__rowc=n.__rowc?pt(n.__rowc.concat(o)):o,e(i).removeClass(n.__rowc.join(" ")).addClass(s.DT_RowClass)}s.DT_RowAttr&&e(i).attr(s.DT_RowAttr),s.DT_RowData&&e(i).data(s.DT_RowData)}}function O(t){var n,i,s,r,o,a=t.nTHead,l=t.nTFoot,c=0===e("th, td",a).length,h=t.oClasses,u=t.aoColumns;for(c&&(r=e("<tr/>").appendTo(a)),n=0,i=u.length;i>n;n++)o=u[n],s=e(o.nTh).addClass(o.sClass),c&&s.appendTo(r),t.oFeatures.bSort&&(s.addClass(o.sSortingClass),o.bSortable!==!1&&(s.attr("tabindex",t.iTabIndex).attr("aria-controls",t.sTableId),$e(t,o.nTh,n))),o.sTitle!=s[0].innerHTML&&s.html(o.sTitle),He(t,"header")(t,s,o,h);if(c&&H(t.aoHeader,a),e(a).find(">tr").attr("role","row"),e(a).find(">tr>th, >tr>td").addClass(h.sHeaderTH),e(l).find(">tr>th, >tr>td").addClass(h.sFooterTH),null!==l){var d=t.aoFooter[0];for(n=0,i=d.length;i>n;n++)o=u[n],o.nTf=d[n].cell,o.sClass&&e(o.nTf).addClass(o.sClass)}}function I(t,n,i){var s,r,o,a,c,h,u,d,f,g=[],p=[],m=t.aoColumns.length;if(n){for(i===l&&(i=!1),s=0,r=n.length;r>s;s++){for(g[s]=n[s].slice(),g[s].nTr=n[s].nTr,o=m-1;o>=0;o--)t.aoColumns[o].bVisible||i||g[s].splice(o,1);p.push([])}for(s=0,r=g.length;r>s;s++){if(u=g[s].nTr)for(;h=u.firstChild;)u.removeChild(h);for(o=0,a=g[s].length;a>o;o++)if(d=1,f=1,p[s][o]===l){for(u.appendChild(g[s][o].cell),p[s][o]=1;g[s+d]!==l&&g[s][o].cell==g[s+d][o].cell;)p[s+d][o]=1,d++;for(;g[s][o+f]!==l&&g[s][o].cell==g[s][o+f].cell;){for(c=0;d>c;c++)p[s+c][o+f]=1;f++}e(g[s][o].cell).attr("rowspan",d).attr("colspan",f)}}}}function P(t){var n=Ne(t,"aoPreDrawCallback","preDraw",[t]);if(-1!==e.inArray(!1,n))return void ge(t,!1);var i=[],s=0,r=t.asStripeClasses,o=r.length,a=(t.aoOpenRows.length,t.oLanguage),c=t.iInitDisplayStart,h="ssp"==je(t),u=t.aiDisplay;t.bDrawing=!0,c!==l&&-1!==c&&(t._iDisplayStart=h?c:c>=t.fnRecordsDisplay()?0:c,t.iInitDisplayStart=-1);var d=t._iDisplayStart,f=t.fnDisplayEnd();if(t.bDeferLoading)t.bDeferLoading=!1,t.iDraw++,ge(t,!1);else if(h){if(!t.bDestroying&&!z(t))return}else t.iDraw++;if(0!==u.length)for(var g=h?0:d,p=h?t.aoData.length:f,v=g;p>v;v++){var C=u[v],A=t.aoData[C];null===A.nTr&&R(t,C);var w=A.nTr;if(0!==o){var b=r[s%o];A._sRowStripe!=b&&(e(w).removeClass(A._sRowStripe).addClass(b),A._sRowStripe=b)}Ne(t,"aoRowCallback",null,[w,A._aData,s,v]),i.push(w),s++}else{var y=a.sZeroRecords;1==t.iDraw&&"ajax"==je(t)?y=a.sLoadingRecords:a.sEmptyTable&&0===t.fnRecordsTotal()&&(y=a.sEmptyTable),i[0]=e("<tr/>",{"class":o?r[0]:""}).append(e("<td />",{valign:"top",colSpan:m(t),"class":t.oClasses.sRowEmpty}).html(y))[0]}Ne(t,"aoHeaderCallback","header",[e(t.nTHead).children("tr")[0],T(t),d,f,u]),Ne(t,"aoFooterCallback","footer",[e(t.nTFoot).children("tr")[0],T(t),d,f,u]);var F=e(t.nTBody);F.children().detach(),F.append(e(i)),Ne(t,"aoDrawCallback","draw",[t]),t.bSorted=!1,t.bFiltered=!1,t.bDrawing=!1}function N(e,t){var n=e.oFeatures,i=n.bSort,s=n.bFilter;i&&Se(e),s?X(e,e.oPreviousSearch):e.aiDisplay=e.aiDisplayMaster.slice(),t!==!0&&(e._iDisplayStart=0),e._drawHold=t,P(e),e._drawHold=!1}function W(t){var n=t.oClasses,i=e(t.nTable),s=e("<div/>").insertBefore(i),r=t.oFeatures,o=e("<div/>",{id:t.sTableId+"_wrapper","class":n.sWrapper+(t.nTFoot?"":" "+n.sNoFooter)});t.nHolding=s[0],t.nTableWrapper=o[0],t.nTableReinsertBefore=t.nTable.nextSibling;for(var a,l,c,h,u,d,f=t.sDom.split(""),g=0;g<f.length;g++){if(a=null,l=f[g],"<"==l){if(c=e("<div/>")[0],h=f[g+1],"'"==h||'"'==h){for(u="",d=2;f[g+d]!=h;)u+=f[g+d],d++;if("H"==u?u=n.sJUIHeader:"F"==u&&(u=n.sJUIFooter),-1!=u.indexOf(".")){var p=u.split(".");c.id=p[0].substr(1,p[0].length-1),c.className=p[1]}else"#"==u.charAt(0)?c.id=u.substr(1,u.length-1):c.className=u;g+=d}o.append(c),o=e(c)}else if(">"==l)o=o.parent();else if("l"==l&&r.bPaginate&&r.bLengthChange)a=he(t);else if("f"==l&&r.bFilter)a=q(t);else if("r"==l&&r.bProcessing)a=fe(t);else if("t"==l)a=pe(t);else if("i"==l&&r.bInfo)a=se(t);else if("p"==l&&r.bPaginate)a=ue(t);else if(0!==Ke.ext.feature.length)for(var m=Ke.ext.feature,v=0,C=m.length;C>v;v++)if(l==m[v].cFeature){a=m[v].fnInit(t);break}if(a){var A=t.aanFeatures;A[l]||(A[l]=[]),A[l].push(a),o.append(a)}}s.replaceWith(o),t.nHolding=null}function H(t,n){var i,s,r,o,a,l,c,h,u,d,f,g=e(n).children("tr"),p=function(e,t,n){for(var i=e[t];i[n];)n++;return n};for(t.splice(0,t.length),r=0,l=g.length;l>r;r++)t.push([]);for(r=0,l=g.length;l>r;r++)for(i=g[r],h=0,s=i.firstChild;s;){if("TD"==s.nodeName.toUpperCase()||"TH"==s.nodeName.toUpperCase())for(u=1*s.getAttribute("colspan"),d=1*s.getAttribute("rowspan"),u=u&&0!==u&&1!==u?u:1,d=d&&0!==d&&1!==d?d:1,c=p(t,r,h),f=1===u?!0:!1,a=0;u>a;a++)for(o=0;d>o;o++)t[r+o][c+a]={cell:s,unique:f},t[r+o].nTr=i;s=s.nextSibling}}function j(e,t,n){var i=[];n||(n=e.aoHeader,t&&(n=[],H(n,t)));for(var s=0,r=n.length;r>s;s++)for(var o=0,a=n[s].length;a>o;o++)!n[s][o].unique||i[o]&&e.bSortCellsTop||(i[o]=n[s][o].cell);return i}function U(t,n,i){if(Ne(t,"aoServerParams","serverParams",[n]),n&&e.isArray(n)){var s={},r=/(.*?)\[\]$/;e.each(n,function(e,t){var n=t.name.match(r);if(n){var i=n[0];s[i]||(s[i]=[]),s[i].push(t.value)}else s[t.name]=t.value}),n=s}var o,a=t.ajax,l=t.oInstance,c=function(e){Ne(t,null,"xhr",[t,e,t.jqXHR]),i(e)};if(e.isPlainObject(a)&&a.data){o=a.data;var h=e.isFunction(o)?o(n,t):o;n=e.isFunction(o)&&h?h:e.extend(!0,n,h),delete a.data}var u={data:n,success:function(e){var n=e.error||e.sError;n&&Re(t,0,n),t.json=e,c(e)},dataType:"json",cache:!1,type:t.sServerMethod,error:function(n,i,s){var r=Ne(t,null,"xhr",[t,null,t.jqXHR]);-1===e.inArray(!0,r)&&("parsererror"==i?Re(t,0,"Invalid JSON response",1):4===n.readyState&&Re(t,0,"Ajax error",7)),ge(t,!1)}};t.oAjaxData=n,Ne(t,null,"preXhr",[t,n]),t.fnServerData?t.fnServerData.call(l,t.sAjaxSource,e.map(n,function(e,t){return{name:t,value:e}}),c,t):t.sAjaxSource||"string"==typeof a?t.jqXHR=e.ajax(e.extend(u,{url:a||t.sAjaxSource})):e.isFunction(a)?t.jqXHR=a.call(l,n,c,t):(t.jqXHR=e.ajax(e.extend(u,a)),a.data=o)}function z(e){return e.bAjaxDataGet?(e.iDraw++,ge(e,!0),U(e,V(e),function(t){K(e,t)}),!1):!0}function V(t){var n,i,s,r,o=t.aoColumns,a=o.length,l=t.oFeatures,c=t.oPreviousSearch,h=t.aoPreSearchCols,u=[],d=Ee(t),f=t._iDisplayStart,g=l.bPaginate!==!1?t._iDisplayLength:-1,p=function(e,t){u.push({name:e,value:t})};p("sEcho",t.iDraw),p("iColumns",a),p("sColumns",ht(o,"sName").join(",")),p("iDisplayStart",f),p("iDisplayLength",g);var m={draw:t.iDraw,columns:[],order:[],start:f,length:g,search:{value:c.sSearch,regex:c.bRegex}};for(n=0;a>n;n++)s=o[n],r=h[n],i="function"==typeof s.mData?"function":s.mData,m.columns.push({data:i,name:s.sName,searchable:s.bSearchable,orderable:s.bSortable,search:{value:r.sSearch,regex:r.bRegex}}),p("mDataProp_"+n,i),l.bFilter&&(p("sSearch_"+n,r.sSearch),p("bRegex_"+n,r.bRegex),p("bSearchable_"+n,s.bSearchable)),l.bSort&&p("bSortable_"+n,s.bSortable);l.bFilter&&(p("sSearch",c.sSearch),p("bRegex",c.bRegex)),l.bSort&&(e.each(d,function(e,t){m.order.push({column:t.col,dir:t.dir}),p("iSortCol_"+e,t.col),p("sSortDir_"+e,t.dir)}),p("iSortingCols",d.length));var v=Ke.ext.legacy.ajax;return null===v?t.sAjaxSource?u:m:v?u:m}function K(e,t){var n=function(e,n){return t[e]!==l?t[e]:t[n]},i=G(e,t),s=n("sEcho","draw"),r=n("iTotalRecords","recordsTotal"),o=n("iTotalDisplayRecords","recordsFiltered");if(s){if(1*s<e.iDraw)return;e.iDraw=1*s}B(e),e._iRecordsTotal=parseInt(r,10),e._iRecordsDisplay=parseInt(o,10);for(var a=0,c=i.length;c>a;a++)w(e,i[a]);e.aiDisplay=e.aiDisplayMaster.slice(),e.bAjaxDataGet=!1,P(e),e._bInitComplete||le(e,t),e.bAjaxDataGet=!0,ge(e,!1)}function G(t,n){var i=e.isPlainObject(t.ajax)&&t.ajax.dataSrc!==l?t.ajax.dataSrc:t.sAjaxDataProp;return"data"===i?n.aaData||n[i]:""!==i?x(i)(n):n}function q(t){var n=t.oClasses,i=t.sTableId,s=t.oLanguage,r=t.oPreviousSearch,o=t.aanFeatures,l='<input type="search" class="'+n.sFilterInput+'"/>',c=s.sSearch;c=c.match(/_INPUT_/)?c.replace("_INPUT_",l):c+l;var h=e("<div/>",{id:o.f?null:i+"_filter","class":n.sFilter}).append(e("<label/>").append(c)),u=function(){var e=(o.f,this.value?this.value:"");e!=r.sSearch&&(X(t,{sSearch:e,bRegex:r.bRegex,bSmart:r.bSmart,bCaseInsensitive:r.bCaseInsensitive}),t._iDisplayStart=0,P(t))},d=null!==t.searchDelay?t.searchDelay:"ssp"===je(t)?400:0,f=e("input",h).val(r.sSearch).attr("placeholder",s.sSearchPlaceholder).bind("keyup.DT search.DT input.DT paste.DT cut.DT",d?Ae(u,d):u).bind("keypress.DT",function(e){return 13==e.keyCode?!1:void 0}).attr("aria-controls",i);return e(t.nTable).on("search.dt.DT",function(e,n){if(t===n)try{f[0]!==a.activeElement&&f.val(r.sSearch)}catch(i){}}),h[0]}function X(e,t,n){var i=e.oPreviousSearch,s=e.aoPreSearchCols,r=function(e){i.sSearch=e.sSearch,i.bRegex=e.bRegex,i.bSmart=e.bSmart,i.bCaseInsensitive=e.bCaseInsensitive},o=function(e){return e.bEscapeRegex!==l?!e.bEscapeRegex:e.bRegex};if(C(e),"ssp"!=je(e)){J(e,t.sSearch,n,o(t),t.bSmart,t.bCaseInsensitive),r(t);for(var a=0;a<s.length;a++)Q(e,s[a].sSearch,a,o(s[a]),s[a].bSmart,s[a].bCaseInsensitive);Y(e)}else r(t);e.bFiltered=!0,Ne(e,null,"search",[e])}function Y(t){for(var n,i,s=Ke.ext.search,r=t.aiDisplay,o=0,a=s.length;a>o;o++){for(var l=[],c=0,h=r.length;h>c;c++)i=r[c],n=t.aoData[i],s[o](t,n._aFilterData,i,n._aData,c)&&l.push(i);r.length=0,e.merge(r,l)}}function Q(e,t,n,i,s,r){if(""!==t)for(var o,a=e.aiDisplay,l=Z(t,i,s,r),c=a.length-1;c>=0;c--)o=e.aoData[a[c]]._aFilterData[n],l.test(o)||a.splice(c,1)}function J(e,t,n,i,s,r){var o,a,l,c=Z(t,i,s,r),h=e.oPreviousSearch.sSearch,u=e.aiDisplayMaster;if(0!==Ke.ext.search.length&&(n=!0),a=te(e),t.length<=0)e.aiDisplay=u.slice();else for((a||n||h.length>t.length||0!==t.indexOf(h)||e.bSorted)&&(e.aiDisplay=u.slice()),o=e.aiDisplay,l=o.length-1;l>=0;l--)c.test(e.aoData[o[l]]._sFilterRow)||o.splice(l,1)}function Z(t,n,i,s){if(t=n?t:ee(t),i){var r=e.map(t.match(/"[^"]+"|[^ ]+/g)||[""],function(e){if('"'===e.charAt(0)){var t=e.match(/^"(.*)"$/);e=t?t[1]:e}return e.replace('"',"")});t="^(?=.*?"+r.join(")(?=.*?")+").*$"}return new RegExp(t,s?"i":"")}function ee(e){return e.replace(nt,"\\$1")}function te(e){var t,n,i,s,r,o,a,l,c=e.aoColumns,h=Ke.ext.type.search,u=!1;for(n=0,s=e.aoData.length;s>n;n++)if(l=e.aoData[n],!l._aFilterData){for(o=[],i=0,r=c.length;r>i;i++)t=c[i],t.bSearchable?(a=E(e,n,i,"filter"),h[t.sType]&&(a=h[t.sType](a)),null===a&&(a=""),"string"!=typeof a&&a.toString&&(a=a.toString())):a="",a.indexOf&&-1!==a.indexOf("&")&&(At.innerHTML=a,a=wt?At.textContent:At.innerText),a.replace&&(a=a.replace(/[\r\n]/g,"")),o.push(a);l._aFilterData=o,l._sFilterRow=o.join("  "),u=!0}return u}function ne(e){return{search:e.sSearch,smart:e.bSmart,regex:e.bRegex,caseInsensitive:e.bCaseInsensitive}}function ie(e){return{sSearch:e.search,bSmart:e.smart,bRegex:e.regex,bCaseInsensitive:e.caseInsensitive}}function se(t){var n=t.sTableId,i=t.aanFeatures.i,s=e("<div/>",{"class":t.oClasses.sInfo,id:i?null:n+"_info"});return i||(t.aoDrawCallback.push({fn:re,sName:"information"}),s.attr("role","status").attr("aria-live","polite"),e(t.nTable).attr("aria-describedby",n+"_info")),s[0]}function re(t){var n=t.aanFeatures.i;if(0!==n.length){var i=t.oLanguage,s=t._iDisplayStart+1,r=t.fnDisplayEnd(),o=t.fnRecordsTotal(),a=t.fnRecordsDisplay(),l=a?i.sInfo:i.sInfoEmpty;a!==o&&(l+=" "+i.sInfoFiltered),l+=i.sInfoPostFix,l=oe(t,l);var c=i.fnInfoCallback;null!==c&&(l=c.call(t.oInstance,t,s,r,o,a,l)),e(n).html(l)}}function oe(e,t){var n=e.fnFormatNumber,i=e._iDisplayStart+1,s=e._iDisplayLength,r=e.fnRecordsDisplay(),o=-1===s;return t.replace(/_START_/g,n.call(e,i)).replace(/_END_/g,n.call(e,e.fnDisplayEnd())).replace(/_MAX_/g,n.call(e,e.fnRecordsTotal())).replace(/_TOTAL_/g,n.call(e,r)).replace(/_PAGE_/g,n.call(e,o?1:Math.ceil(i/s))).replace(/_PAGES_/g,n.call(e,o?1:Math.ceil(r/s)))}function ae(e){var t,n,i,s=e.iInitDisplayStart,r=e.aoColumns,o=e.oFeatures,a=e.bDeferLoading;if(!e.bInitialised)return void setTimeout(function(){ae(e)},200);for(W(e),O(e),I(e,e.aoHeader),I(e,e.aoFooter),ge(e,!0),o.bAutoWidth&&Ce(e),t=0,n=r.length;n>t;t++)i=r[t],i.sWidth&&(i.nTh.style.width=Fe(i.sWidth));Ne(e,null,"preInit",[e]),N(e);var l=je(e);("ssp"!=l||a)&&("ajax"==l?U(e,[],function(n){var i=G(e,n);for(t=0;t<i.length;t++)w(e,i[t]);e.iInitDisplayStart=s,N(e),ge(e,!1),le(e,n)},e):(ge(e,!1),le(e)))}function le(e,t){e._bInitComplete=!0,(t||e.oInit.aaData)&&f(e),Ne(e,"aoInitComplete","init",[e,t])}function ce(e,t){var n=parseInt(t,10);e._iDisplayLength=n,We(e),Ne(e,null,"length",[e,n])}function he(t){for(var n=t.oClasses,i=t.sTableId,s=t.aLengthMenu,r=e.isArray(s[0]),o=r?s[0]:s,a=r?s[1]:s,l=e("<select/>",{name:i+"_length","aria-controls":i,"class":n.sLengthSelect}),c=0,h=o.length;h>c;c++)l[0][c]=new Option(a[c],o[c]);var u=e("<div><label/></div>").addClass(n.sLength);return t.aanFeatures.l||(u[0].id=i+"_length"),u.children().append(t.oLanguage.sLengthMenu.replace("_MENU_",l[0].outerHTML)),e("select",u).val(t._iDisplayLength).bind("change.DT",function(n){ce(t,e(this).val()),P(t)}),e(t.nTable).bind("length.dt.DT",function(n,i,s){t===i&&e("select",u).val(s)}),u[0]}function ue(t){var n=t.sPaginationType,i=Ke.ext.pager[n],s="function"==typeof i,r=function(e){P(e)},o=e("<div/>").addClass(t.oClasses.sPaging+n)[0],a=t.aanFeatures;return s||i.fnInit(t,o,r),a.p||(o.id=t.sTableId+"_paginate",t.aoDrawCallback.push({fn:function(e){if(s){var t,n,o=e._iDisplayStart,l=e._iDisplayLength,c=e.fnRecordsDisplay(),h=-1===l,u=h?0:Math.ceil(o/l),d=h?1:Math.ceil(c/l),f=i(u,d);for(t=0,n=a.p.length;n>t;t++)He(e,"pageButton")(e,a.p[t],t,f,u,d)}else i.fnUpdate(e,r)},sName:"pagination"})),o}function de(e,t,n){var i=e._iDisplayStart,s=e._iDisplayLength,r=e.fnRecordsDisplay();0===r||-1===s?i=0:"number"==typeof t?(i=t*s,i>r&&(i=0)):"first"==t?i=0:"previous"==t?(i=s>=0?i-s:0,0>i&&(i=0)):"next"==t?r>i+s&&(i+=s):"last"==t?i=Math.floor((r-1)/s)*s:Re(e,0,"Unknown paging action: "+t,5);var o=e._iDisplayStart!==i;return e._iDisplayStart=i,o&&(Ne(e,null,"page",[e]),n&&P(e)),o}function fe(t){return e("<div/>",{id:t.aanFeatures.r?null:t.sTableId+"_processing","class":t.oClasses.sProcessing}).html(t.oLanguage.sProcessing).insertBefore(t.nTable)[0]}function ge(t,n){t.oFeatures.bProcessing&&e(t.aanFeatures.r).css("display",n?"block":"none"),Ne(t,null,"processing",[t,n])}function pe(t){var n=e(t.nTable);n.attr("role","grid");var i=t.oScroll;if(""===i.sX&&""===i.sY)return t.nTable;var s=i.sX,r=i.sY,o=t.oClasses,a=n.children("caption"),l=a.length?a[0]._captionSide:null,c=e(n[0].cloneNode(!1)),h=e(n[0].cloneNode(!1)),u=n.children("tfoot"),d="<div/>",f=function(e){return e?Fe(e):null};i.sX&&"100%"===n.attr("width")&&n.removeAttr("width"),u.length||(u=null);var g=e(d,{"class":o.sScrollWrapper}).append(e(d,{"class":o.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:s?f(s):"100%"}).append(e(d,{"class":o.sScrollHeadInner}).css({"box-sizing":"content-box",width:i.sXInner||"100%"}).append(c.removeAttr("id").css("margin-left",0).append("top"===l?a:null).append(n.children("thead"))))).append(e(d,{"class":o.sScrollBody}).css({position:"relative",overflow:"auto",width:f(s)}).append(n));u&&g.append(e(d,{"class":o.sScrollFoot}).css({overflow:"hidden",border:0,width:s?f(s):"100%"}).append(e(d,{"class":o.sScrollFootInner}).append(h.removeAttr("id").css("margin-left",0).append("bottom"===l?a:null).append(n.children("tfoot")))));var p=g.children(),m=p[0],v=p[1],C=u?p[2]:null;return s&&e(v).on("scroll.DT",function(e){var t=this.scrollLeft;m.scrollLeft=t,u&&(C.scrollLeft=t)}),e(v).css(r&&i.bCollapse?"max-height":"height",r),t.nScrollHead=m,t.nScrollBody=v,t.nScrollFoot=C,t.aoDrawCallback.push({fn:me,sName:"scrolling"}),g[0]}function me(t){var n,i,s,r,o,a,l,c,h,u=t.oScroll,d=u.sX,f=u.sXInner,p=u.sY,m=u.iBarWidth,v=e(t.nScrollHead),C=v[0].style,A=v.children("div"),w=A[0].style,b=A.children("table"),y=t.nScrollBody,F=e(y),E=y.style,S=e(t.nScrollFoot),D=S.children("div"),x=D.children("table"),$=e(t.nTHead),T=e(t.nTable),B=T[0],k=B.style,L=t.nTFoot?e(t.nTFoot):null,_=t.oBrowser,R=_.bScrollOversize,M=[],O=[],I=[],P=function(e){var t=e.style;t.paddingTop="0",t.paddingBottom="0",t.borderTopWidth="0",t.borderBottomWidth="0",t.height=0};T.children("thead, tfoot").remove(),o=$.clone().prependTo(T),n=$.find("tr"),s=o.find("tr"),o.find("th, td").removeAttr("tabindex"),L&&(a=L.clone().prependTo(T),i=L.find("tr"),r=a.find("tr")),d||(E.width="100%",v[0].style.width="100%"),e.each(j(t,o),function(e,n){l=g(t,e),n.style.width=t.aoColumns[l].sWidth}),L&&ve(function(e){e.style.width=""},r),h=T.outerWidth(),""===d?(k.width="100%",R&&(T.find("tbody").height()>y.offsetHeight||"scroll"==F.css("overflow-y"))&&(k.width=Fe(T.outerWidth()-m)),h=T.outerWidth()):""!==f&&(k.width=Fe(f),h=T.outerWidth()),ve(P,s),ve(function(t){I.push(t.innerHTML),M.push(Fe(e(t).css("width")))},s),ve(function(e,t){e.style.width=M[t]},n),e(s).height(0),L&&(ve(P,r),ve(function(t){O.push(Fe(e(t).css("width")))},r),ve(function(e,t){e.style.width=O[t]},i),e(r).height(0)),ve(function(e,t){e.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+I[t]+"</div>",e.style.width=M[t]},s),L&&ve(function(e,t){e.innerHTML="",e.style.width=O[t]},r),T.outerWidth()<h?(c=y.scrollHeight>y.offsetHeight||"scroll"==F.css("overflow-y")?h+m:h,R&&(y.scrollHeight>y.offsetHeight||"scroll"==F.css("overflow-y"))&&(k.width=Fe(c-m)),(""===d||""!==f)&&Re(t,1,"Possible column misalignment",6)):c="100%",E.width=Fe(c),C.width=Fe(c),L&&(t.nScrollFoot.style.width=Fe(c)),p||R&&(E.height=Fe(B.offsetHeight+m));var N=T.outerWidth();b[0].style.width=Fe(N),w.width=Fe(N);var W=T.height()>y.clientHeight||"scroll"==F.css("overflow-y"),H="padding"+(_.bScrollbarLeft?"Left":"Right");w[H]=W?m+"px":"0px",L&&(x[0].style.width=Fe(N),D[0].style.width=Fe(N),D[0].style[H]=W?m+"px":"0px"),F.scroll(),!t.bSorted&&!t.bFiltered||t._drawHold||(y.scrollTop=0)}function ve(e,t,n){for(var i,s,r=0,o=0,a=t.length;a>o;){for(i=t[o].firstChild,s=n?n[o].firstChild:null;i;)1===i.nodeType&&(n?e(i,s,r):e(i,r),r++),i=i.nextSibling,s=n?s.nextSibling:null;o++}}function Ce(t){var n,i,s,r,a,l=t.nTable,c=t.aoColumns,h=t.oScroll,u=h.sY,d=h.sX,p=h.sXInner,C=c.length,A=v(t,"bVisible"),w=e("th",t.nTHead),b=l.getAttribute("width"),y=l.parentNode,F=!1,E=t.oBrowser,S=E.bScrollOversize,D=l.style.width;for(D&&-1!==D.indexOf("%")&&(b=D),n=0;n<A.length;n++)i=c[A[n]],null!==i.sWidth&&(i.sWidth=we(i.sWidthOrig,y),F=!0);if(S||!F&&!d&&!u&&C==m(t)&&C==w.length)for(n=0;C>n;n++){var x=g(t,n);x&&(c[x].sWidth=Fe(w.eq(n).width()))}else{var $=e(l).clone().css("visibility","hidden").removeAttr("id");$.find("tbody tr").remove();var T=e("<tr/>").appendTo($.find("tbody"));for($.find("thead, tfoot").remove(),$.append(e(t.nTHead).clone()).append(e(t.nTFoot).clone()),$.find("tfoot th, tfoot td").css("width",""),w=j(t,$.find("thead")[0]),n=0;n<A.length;n++)i=c[A[n]],w[n].style.width=null!==i.sWidthOrig&&""!==i.sWidthOrig?Fe(i.sWidthOrig):"";if(t.aoData.length)for(n=0;n<A.length;n++)s=A[n],i=c[s],e(be(t,s)).clone(!1).append(i.sContentPadding).appendTo(T);var B=e("<div/>").css(d||u?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append($).appendTo(y);if(d&&p?$.width(p):d?($.css("width","auto"),$.width()<y.clientWidth&&$.width(y.clientWidth)):u?$.width(y.clientWidth):b&&$.width(b),d){var k=0;for(n=0;n<A.length;n++)i=c[A[n]],a=E.bBounding?w[n].getBoundingClientRect().width:e(w[n]).outerWidth(),k+=null===i.sWidthOrig?a:parseInt(i.sWidth,10)+a-e(w[n]).width();$.width(Fe(k)),l.style.width=Fe(k)}for(n=0;n<A.length;n++)i=c[A[n]],r=e(w[n]).width(),r&&(i.sWidth=Fe(r));l.style.width=Fe($.css("width")),B.remove()}if(b&&(l.style.width=Fe(b)),(b||d)&&!t._reszEvt){var L=function(){e(o).bind("resize.DT-"+t.sInstance,Ae(function(){f(t)}))};S?setTimeout(L,1e3):L(),t._reszEvt=!0}}function Ae(e,t){var n,i,s=t!==l?t:200;return function(){var t=this,r=+new Date,o=arguments;n&&n+s>r?(clearTimeout(i),i=setTimeout(function(){n=l,e.apply(t,o)},s)):(n=r,e.apply(t,o))}}function we(t,n){if(!t)return 0;var i=e("<div/>").css("width",Fe(t)).appendTo(n||a.body),s=i[0].offsetWidth;return i.remove(),s}function be(t,n){var i=ye(t,n);if(0>i)return null;var s=t.aoData[i];return s.nTr?s.anCells[n]:e("<td/>").html(E(t,i,n,"display"))[0]}function ye(e,t){for(var n,i=-1,s=-1,r=0,o=e.aoData.length;o>r;r++)n=E(e,r,t,"display")+"",n=n.replace(bt,""),n.length>i&&(i=n.length,s=r);return s}function Fe(e){return null===e?"0px":"number"==typeof e?0>e?"0px":e+"px":e.match(/\d$/)?e+"px":e}function Ee(t){var n,i,s,r,o,a,c,h=[],u=t.aoColumns,d=t.aaSortingFixed,f=e.isPlainObject(d),g=[],p=function(t){t.length&&!e.isArray(t[0])?g.push(t):e.merge(g,t)};for(e.isArray(d)&&p(d),f&&d.pre&&p(d.pre),p(t.aaSorting),f&&d.post&&p(d.post),n=0;n<g.length;n++)for(c=g[n][0],r=u[c].aDataSort,i=0,s=r.length;s>i;i++)o=r[i],a=u[o].sType||"string",g[n]._idx===l&&(g[n]._idx=e.inArray(g[n][1],u[o].asSorting)),h.push({src:c,col:o,dir:g[n][1],index:g[n]._idx,type:a,formatter:Ke.ext.type.order[a+"-pre"]});return h}function Se(e){var t,n,i,s,r,o=[],a=Ke.ext.type.order,l=e.aoData,c=(e.aoColumns,0),h=e.aiDisplayMaster;for(C(e),r=Ee(e),t=0,n=r.length;n>t;t++)s=r[t],s.formatter&&c++,Be(e,s.col);if("ssp"!=je(e)&&0!==r.length){for(t=0,i=h.length;i>t;t++)o[h[t]]=t;c===r.length?h.sort(function(e,t){var n,i,s,a,c,h=r.length,u=l[e]._aSortData,d=l[t]._aSortData;for(s=0;h>s;s++)if(c=r[s],n=u[c.col],i=d[c.col],a=i>n?-1:n>i?1:0,0!==a)return"asc"===c.dir?a:-a;return n=o[e],i=o[t],i>n?-1:n>i?1:0}):h.sort(function(e,t){var n,i,s,c,h,u,d=r.length,f=l[e]._aSortData,g=l[t]._aSortData;for(s=0;d>s;s++)if(h=r[s],n=f[h.col],i=g[h.col],u=a[h.type+"-"+h.dir]||a["string-"+h.dir],c=u(n,i),0!==c)return c;return n=o[e],i=o[t],i>n?-1:n>i?1:0})}e.bSorted=!0}function De(e){for(var t,n,i=e.aoColumns,s=Ee(e),r=e.oLanguage.oAria,o=0,a=i.length;a>o;o++){var l=i[o],c=l.asSorting,h=l.sTitle.replace(/<.*?>/g,""),u=l.nTh;u.removeAttribute("aria-sort"),l.bSortable?(s.length>0&&s[0].col==o?(u.setAttribute("aria-sort","asc"==s[0].dir?"ascending":"descending"),
n=c[s[0].index+1]||c[0]):n=c[0],t=h+("asc"===n?r.sSortAscending:r.sSortDescending)):t=h,u.setAttribute("aria-label",t)}}function xe(t,n,i,s){var r,o=t.aoColumns[n],a=t.aaSorting,c=o.asSorting,h=function(t,n){var i=t._idx;return i===l&&(i=e.inArray(t[1],c)),i+1<c.length?i+1:n?null:0};if("number"==typeof a[0]&&(a=t.aaSorting=[a]),i&&t.oFeatures.bSortMulti){var u=e.inArray(n,ht(a,"0"));-1!==u?(r=h(a[u],!0),null===r&&1===a.length&&(r=0),null===r?a.splice(u,1):(a[u][1]=c[r],a[u]._idx=r)):(a.push([n,c[0],0]),a[a.length-1]._idx=0)}else a.length&&a[0][0]==n?(r=h(a[0]),a.length=1,a[0][1]=c[r],a[0]._idx=r):(a.length=0,a.push([n,c[0]]),a[0]._idx=0);N(t),"function"==typeof s&&s(t)}function $e(e,t,n,i){var s=e.aoColumns[n];Ie(t,{},function(t){s.bSortable!==!1&&(e.oFeatures.bProcessing?(ge(e,!0),setTimeout(function(){xe(e,n,t.shiftKey,i),"ssp"!==je(e)&&ge(e,!1)},0)):xe(e,n,t.shiftKey,i))})}function Te(t){var n,i,s,r=t.aLastSort,o=t.oClasses.sSortColumn,a=Ee(t),l=t.oFeatures;if(l.bSort&&l.bSortClasses){for(n=0,i=r.length;i>n;n++)s=r[n].src,e(ht(t.aoData,"anCells",s)).removeClass(o+(2>n?n+1:3));for(n=0,i=a.length;i>n;n++)s=a[n].src,e(ht(t.aoData,"anCells",s)).addClass(o+(2>n?n+1:3))}t.aLastSort=a}function Be(e,t){var n,i=e.aoColumns[t],s=Ke.ext.order[i.sSortDataType];s&&(n=s.call(e.oInstance,e,t,p(e,t)));for(var r,o,a=Ke.ext.type.order[i.sType+"-pre"],l=0,c=e.aoData.length;c>l;l++)r=e.aoData[l],r._aSortData||(r._aSortData=[]),(!r._aSortData[t]||s)&&(o=s?n[l]:E(e,l,t,"sort"),r._aSortData[t]=a?a(o):o)}function ke(t){if(t.oFeatures.bStateSave&&!t.bDestroying){var n={time:+new Date,start:t._iDisplayStart,length:t._iDisplayLength,order:e.extend(!0,[],t.aaSorting),search:ne(t.oPreviousSearch),columns:e.map(t.aoColumns,function(e,n){return{visible:e.bVisible,search:ne(t.aoPreSearchCols[n])}})};Ne(t,"aoStateSaveParams","stateSaveParams",[t,n]),t.oSavedState=n,t.fnStateSaveCallback.call(t.oInstance,t,n)}}function Le(t,n){var i,s,r=t.aoColumns;if(t.oFeatures.bStateSave){var o=t.fnStateLoadCallback.call(t.oInstance,t);if(o&&o.time){var a=Ne(t,"aoStateLoadParams","stateLoadParams",[t,o]);if(-1===e.inArray(!1,a)){var c=t.iStateDuration;if(!(c>0&&o.time<+new Date-1e3*c)&&r.length===o.columns.length){for(t.oLoadedState=e.extend(!0,{},o),o.start!==l&&(t._iDisplayStart=o.start,t.iInitDisplayStart=o.start),o.length!==l&&(t._iDisplayLength=o.length),o.order!==l&&(t.aaSorting=[],e.each(o.order,function(e,n){t.aaSorting.push(n[0]>=r.length?[0,n[1]]:n)})),o.search!==l&&e.extend(t.oPreviousSearch,ie(o.search)),i=0,s=o.columns.length;s>i;i++){var h=o.columns[i];h.visible!==l&&(r[i].bVisible=h.visible),h.search!==l&&e.extend(t.aoPreSearchCols[i],ie(h.search))}Ne(t,"aoStateLoaded","stateLoaded",[t,o])}}}}}function _e(t){var n=Ke.settings,i=e.inArray(t,ht(n,"nTable"));return-1!==i?n[i]:null}function Re(e,t,n,i){if(n="DataTables warning: "+(e?"table id="+e.sTableId+" - ":"")+n,i&&(n+=". For more information about this error, please see http://datatables.net/tn/"+i),t)o.console&&console.log&&console.log(n);else{var s=Ke.ext,r=s.sErrMode||s.errMode;if(e&&Ne(e,null,"error",[e,i,n]),"alert"==r)alert(n);else{if("throw"==r)throw new Error(n);"function"==typeof r&&r(e,i,n)}}}function Me(t,n,i,s){return e.isArray(i)?void e.each(i,function(i,s){e.isArray(s)?Me(t,n,s[0],s[1]):Me(t,n,s)}):(s===l&&(s=i),void(n[i]!==l&&(t[s]=n[i])))}function Oe(t,n,i){var s;for(var r in n)n.hasOwnProperty(r)&&(s=n[r],e.isPlainObject(s)?(e.isPlainObject(t[r])||(t[r]={}),e.extend(!0,t[r],s)):i&&"data"!==r&&"aaData"!==r&&e.isArray(s)?t[r]=s.slice():t[r]=s);return t}function Ie(t,n,i){e(t).bind("click.DT",n,function(e){t.blur(),i(e)}).bind("keypress.DT",n,function(e){13===e.which&&(e.preventDefault(),i(e))}).bind("selectstart.DT",function(){return!1})}function Pe(e,t,n,i){n&&e[t].push({fn:n,sName:i})}function Ne(t,n,i,s){var r=[];if(n&&(r=e.map(t[n].slice().reverse(),function(e,n){return e.fn.apply(t.oInstance,s)})),null!==i){var o=e.Event(i+".dt");e(t.nTable).trigger(o,s),r.push(o.result)}return r}function We(e){var t=e._iDisplayStart,n=e.fnDisplayEnd(),i=e._iDisplayLength;t>=n&&(t=n-i),t-=t%i,(-1===i||0>t)&&(t=0),e._iDisplayStart=t}function He(t,n){var i=t.renderer,s=Ke.ext.renderer[n];return e.isPlainObject(i)&&i[n]?s[i[n]]||s._:"string"==typeof i?s[i]||s._:s._}function je(e){return e.oFeatures.bServerSide?"ssp":e.ajax||e.sAjaxSource?"ajax":"dom"}function Ue(e,t){var n=[],i=zt.numbers_length,s=Math.floor(i/2);return i>=t?n=dt(0,t):s>=e?(n=dt(0,i-2),n.push("ellipsis"),n.push(t-1)):e>=t-1-s?(n=dt(t-(i-2),t),n.splice(0,0,"ellipsis"),n.splice(0,0,0)):(n=dt(e-s+2,e+s-1),n.push("ellipsis"),n.push(t-1),n.splice(0,0,"ellipsis"),n.splice(0,0,0)),n.DT_el="span",n}function ze(t){e.each({num:function(e){return Vt(e,t)},"num-fmt":function(e){return Vt(e,t,it)},"html-num":function(e){return Vt(e,t,Ze)},"html-num-fmt":function(e){return Vt(e,t,Ze,it)}},function(e,n){Ge.type.order[e+t+"-pre"]=n,e.match(/^html\-/)&&(Ge.type.search[e+t]=Ge.type.search.html)})}function Ve(e){return function(){var t=[_e(this[Ke.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return Ke.ext.internal[e].apply(this,t)}}var Ke,Ge,qe,Xe,Ye,Qe={},Je=/[\r\n]/g,Ze=/<.*?>/g,et=/^[\w\+\-]/,tt=/[\w\+\-]$/,nt=new RegExp("(\\"+["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^","-"].join("|\\")+")","g"),it=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,st=function(e){return e&&e!==!0&&"-"!==e?!1:!0},rt=function(e){var t=parseInt(e,10);return!isNaN(t)&&isFinite(e)?t:null},ot=function(e,t){return Qe[t]||(Qe[t]=new RegExp(ee(t),"g")),"string"==typeof e&&"."!==t?e.replace(/\./g,"").replace(Qe[t],"."):e},at=function(e,t,n){var i="string"==typeof e;return st(e)?!0:(t&&i&&(e=ot(e,t)),n&&i&&(e=e.replace(it,"")),!isNaN(parseFloat(e))&&isFinite(e))},lt=function(e){return st(e)||"string"==typeof e},ct=function(e,t,n){if(st(e))return!0;var i=lt(e);return i&&at(gt(e),t,n)?!0:null},ht=function(e,t,n){var i=[],s=0,r=e.length;if(n!==l)for(;r>s;s++)e[s]&&e[s][t]&&i.push(e[s][t][n]);else for(;r>s;s++)e[s]&&i.push(e[s][t]);return i},ut=function(e,t,n,i){var s=[],r=0,o=t.length;if(i!==l)for(;o>r;r++)e[t[r]][n]&&s.push(e[t[r]][n][i]);else for(;o>r;r++)s.push(e[t[r]][n]);return s},dt=function(e,t){var n,i=[];t===l?(t=0,n=e):(n=t,t=e);for(var s=t;n>s;s++)i.push(s);return i},ft=function(e){for(var t=[],n=0,i=e.length;i>n;n++)e[n]&&t.push(e[n]);return t},gt=function(e){return e.replace(Ze,"")},pt=function(e){var t,n,i,s=[],r=e.length,o=0;e:for(n=0;r>n;n++){for(t=e[n],i=0;o>i;i++)if(s[i]===t)continue e;s.push(t),o++}return s},mt=function(e,t,n){e[t]!==l&&(e[n]=e[t])},vt=/\[.*?\]$/,Ct=/\(\)$/,At=e("<div>")[0],wt=At.textContent!==l,bt=/<.*?>/g;Ke=function(t){this.$=function(e,t){return this.api(!0).$(e,t)},this._=function(e,t){return this.api(!0).rows(e,t).data()},this.api=function(e){return new qe(e?_e(this[Ge.iApiIndex]):this)},this.fnAddData=function(t,n){var i=this.api(!0),s=e.isArray(t)&&(e.isArray(t[0])||e.isPlainObject(t[0]))?i.rows.add(t):i.row.add(t);return(n===l||n)&&i.draw(),s.flatten().toArray()},this.fnAdjustColumnSizing=function(e){var t=this.api(!0).columns.adjust(),n=t.settings()[0],i=n.oScroll;e===l||e?t.draw(!1):(""!==i.sX||""!==i.sY)&&me(n)},this.fnClearTable=function(e){var t=this.api(!0).clear();(e===l||e)&&t.draw()},this.fnClose=function(e){this.api(!0).row(e).child.hide()},this.fnDeleteRow=function(e,t,n){var i=this.api(!0),s=i.rows(e),r=s.settings()[0],o=r.aoData[s[0][0]];return s.remove(),t&&t.call(this,r,o),(n===l||n)&&i.draw(),o},this.fnDestroy=function(e){this.api(!0).destroy(e)},this.fnDraw=function(e){this.api(!0).draw(e)},this.fnFilter=function(e,t,n,i,s,r){var o=this.api(!0);null===t||t===l?o.search(e,n,i,r):o.column(t).search(e,n,i,r),o.draw()},this.fnGetData=function(e,t){var n=this.api(!0);if(e!==l){var i=e.nodeName?e.nodeName.toLowerCase():"";return t!==l||"td"==i||"th"==i?n.cell(e,t).data():n.row(e).data()||null}return n.data().toArray()},this.fnGetNodes=function(e){var t=this.api(!0);return e!==l?t.row(e).node():t.rows().nodes().flatten().toArray()},this.fnGetPosition=function(e){var t=this.api(!0),n=e.nodeName.toUpperCase();if("TR"==n)return t.row(e).index();if("TD"==n||"TH"==n){var i=t.cell(e).index();return[i.row,i.columnVisible,i.column]}return null},this.fnIsOpen=function(e){return this.api(!0).row(e).child.isShown()},this.fnOpen=function(e,t,n){return this.api(!0).row(e).child(t,n).show().child()[0]},this.fnPageChange=function(e,t){var n=this.api(!0).page(e);(t===l||t)&&n.draw(!1)},this.fnSetColumnVis=function(e,t,n){var i=this.api(!0).column(e).visible(t);(n===l||n)&&i.columns.adjust().draw()},this.fnSettings=function(){return _e(this[Ge.iApiIndex])},this.fnSort=function(e){this.api(!0).order(e).draw()},this.fnSortListener=function(e,t,n){this.api(!0).order.listener(e,t,n)},this.fnUpdate=function(e,t,n,i,s){var r=this.api(!0);return n===l||null===n?r.row(t).data(e):r.cell(t,n).data(e),(s===l||s)&&r.columns.adjust(),(i===l||i)&&r.draw(),0},this.fnVersionCheck=Ge.fnVersionCheck;var o=this,a=t===l,h=this.length;a&&(t={}),this.oApi=this.internal=Ge.internal;for(var f in Ke.ext.internal)f&&(this[f]=Ve(f));return this.each(function(){var f,g={},p=h>1?Oe(g,t,!0):t,m=0,v=this.getAttribute("id"),C=!1,y=Ke.defaults,F=e(this);if("table"!=this.nodeName.toLowerCase())return void Re(null,0,"Non-table node initialisation ("+this.nodeName+")",2);s(y),r(y.column),n(y,y,!0),n(y.column,y.column,!0),n(y,e.extend(p,F.data()));var E=Ke.settings;for(m=0,f=E.length;f>m;m++){var S=E[m];if(S.nTable==this||S.nTHead.parentNode==this||S.nTFoot&&S.nTFoot.parentNode==this){var D=p.bRetrieve!==l?p.bRetrieve:y.bRetrieve,$=p.bDestroy!==l?p.bDestroy:y.bDestroy;if(a||D)return S.oInstance;if($){S.oInstance.fnDestroy();break}return void Re(S,0,"Cannot reinitialise DataTable",3)}if(S.sTableId==this.id){E.splice(m,1);break}}(null===v||""===v)&&(v="DataTables_Table_"+Ke.ext._unique++,this.id=v);var T=e.extend(!0,{},Ke.models.oSettings,{sDestroyWidth:F[0].style.width,sInstance:v,sTableId:v});T.nTable=this,T.oApi=o.internal,T.oInit=p,E.push(T),T.oInstance=1===o.length?o:F.dataTable(),s(p),p.oLanguage&&i(p.oLanguage),p.aLengthMenu&&!p.iDisplayLength&&(p.iDisplayLength=e.isArray(p.aLengthMenu[0])?p.aLengthMenu[0][0]:p.aLengthMenu[0]),p=Oe(e.extend(!0,{},y),p),Me(T.oFeatures,p,["bPaginate","bLengthChange","bFilter","bSort","bSortMulti","bInfo","bProcessing","bAutoWidth","bSortClasses","bServerSide","bDeferRender"]),Me(T,p,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]),Me(T.oScroll,p,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]),Me(T.oLanguage,p,"fnInfoCallback"),Pe(T,"aoDrawCallback",p.fnDrawCallback,"user"),Pe(T,"aoServerParams",p.fnServerParams,"user"),Pe(T,"aoStateSaveParams",p.fnStateSaveParams,"user"),Pe(T,"aoStateLoadParams",p.fnStateLoadParams,"user"),Pe(T,"aoStateLoaded",p.fnStateLoaded,"user"),Pe(T,"aoRowCallback",p.fnRowCallback,"user"),Pe(T,"aoRowCreatedCallback",p.fnCreatedRow,"user"),Pe(T,"aoHeaderCallback",p.fnHeaderCallback,"user"),Pe(T,"aoFooterCallback",p.fnFooterCallback,"user"),Pe(T,"aoInitComplete",p.fnInitComplete,"user"),Pe(T,"aoPreDrawCallback",p.fnPreDrawCallback,"user"),T.rowIdFn=x(p.rowId),c(T);var B=T.oClasses;if(p.bJQueryUI?(e.extend(B,Ke.ext.oJUIClasses,p.oClasses),p.sDom===y.sDom&&"lfrtip"===y.sDom&&(T.sDom='<"H"lfr>t<"F"ip>'),T.renderer?e.isPlainObject(T.renderer)&&!T.renderer.header&&(T.renderer.header="jqueryui"):T.renderer="jqueryui"):e.extend(B,Ke.ext.classes,p.oClasses),F.addClass(B.sTable),T.iInitDisplayStart===l&&(T.iInitDisplayStart=p.iDisplayStart,T._iDisplayStart=p.iDisplayStart),null!==p.iDeferLoading){T.bDeferLoading=!0;var k=e.isArray(p.iDeferLoading);T._iRecordsDisplay=k?p.iDeferLoading[0]:p.iDeferLoading,T._iRecordsTotal=k?p.iDeferLoading[1]:p.iDeferLoading}var L=T.oLanguage;e.extend(!0,L,p.oLanguage),""!==L.sUrl&&(e.ajax({dataType:"json",url:L.sUrl,success:function(t){i(t),n(y.oLanguage,t),e.extend(!0,L,t),ae(T)},error:function(){ae(T)}}),C=!0),null===p.asStripeClasses&&(T.asStripeClasses=[B.sStripeOdd,B.sStripeEven]);var _=T.asStripeClasses,R=F.children("tbody").find("tr").eq(0);-1!==e.inArray(!0,e.map(_,function(e,t){return R.hasClass(e)}))&&(e("tbody tr",this).removeClass(_.join(" ")),T.asDestroyStripes=_.slice());var M,O=[],I=this.getElementsByTagName("thead");if(0!==I.length&&(H(T.aoHeader,I[0]),O=j(T)),null===p.aoColumns)for(M=[],m=0,f=O.length;f>m;m++)M.push(null);else M=p.aoColumns;for(m=0,f=M.length;f>m;m++)u(T,O?O[m]:null);if(A(T,p.aoColumnDefs,M,function(e,t){d(T,e,t)}),R.length){var P=function(e,t){return null!==e.getAttribute("data-"+t)?t:null};e(R[0]).children("th, td").each(function(e,t){var n=T.aoColumns[e];if(n.mData===e){var i=P(t,"sort")||P(t,"order"),s=P(t,"filter")||P(t,"search");(null!==i||null!==s)&&(n.mData={_:e+".display",sort:null!==i?e+".@data-"+i:l,type:null!==i?e+".@data-"+i:l,filter:null!==s?e+".@data-"+s:l},d(T,e))}})}var N=T.oFeatures;if(p.bStateSave&&(N.bStateSave=!0,Le(T,p),Pe(T,"aoDrawCallback",ke,"state_save")),p.aaSorting===l){var W=T.aaSorting;for(m=0,f=W.length;f>m;m++)W[m][1]=T.aoColumns[m].asSorting[0]}Te(T),N.bSort&&Pe(T,"aoDrawCallback",function(){if(T.bSorted){var t=Ee(T),n={};e.each(t,function(e,t){n[t.src]=t.dir}),Ne(T,null,"order",[T,t,n]),De(T)}}),Pe(T,"aoDrawCallback",function(){(T.bSorted||"ssp"===je(T)||N.bDeferRender)&&Te(T)},"sc");var U=F.children("caption").each(function(){this._captionSide=F.css("caption-side")}),z=F.children("thead");0===z.length&&(z=e("<thead/>").appendTo(this)),T.nTHead=z[0];var V=F.children("tbody");0===V.length&&(V=e("<tbody/>").appendTo(this)),T.nTBody=V[0];var K=F.children("tfoot");if(0===K.length&&U.length>0&&(""!==T.oScroll.sX||""!==T.oScroll.sY)&&(K=e("<tfoot/>").appendTo(this)),0===K.length||0===K.children().length?F.addClass(B.sNoFooter):K.length>0&&(T.nTFoot=K[0],H(T.aoFooter,T.nTFoot)),p.aaData)for(m=0;m<p.aaData.length;m++)w(T,p.aaData[m]);else(T.bDeferLoading||"dom"==je(T))&&b(T,e(T.nTBody).children("tr"));T.aiDisplay=T.aiDisplayMaster.slice(),T.bInitialised=!0,C===!1&&ae(T)}),o=null,this};var yt=[],Ft=Array.prototype,Et=function(t){var n,i,s=Ke.settings,r=e.map(s,function(e,t){return e.nTable});return t?t.nTable&&t.oApi?[t]:t.nodeName&&"table"===t.nodeName.toLowerCase()?(n=e.inArray(t,r),-1!==n?[s[n]]:null):t&&"function"==typeof t.settings?t.settings().toArray():("string"==typeof t?i=e(t):t instanceof e&&(i=t),i?i.map(function(t){return n=e.inArray(this,r),-1!==n?s[n]:null}).toArray():void 0):[]};qe=function(t,n){if(!(this instanceof qe))return new qe(t,n);var i=[],s=function(e){var t=Et(e);t&&(i=i.concat(t))};if(e.isArray(t))for(var r=0,o=t.length;o>r;r++)s(t[r]);else s(t);this.context=pt(i),n&&e.merge(this,n),this.selector={rows:null,cols:null,opts:null},qe.extend(this,this,yt)},Ke.Api=qe,e.extend(qe.prototype,{any:function(){return 0!==this.count()},concat:Ft.concat,context:[],count:function(){return this.flatten().length},each:function(e){for(var t=0,n=this.length;n>t;t++)e.call(this,this[t],t,this);return this},eq:function(e){var t=this.context;return t.length>e?new qe(t[e],this[e]):null},filter:function(e){var t=[];if(Ft.filter)t=Ft.filter.call(this,e,this);else for(var n=0,i=this.length;i>n;n++)e.call(this,this[n],n,this)&&t.push(this[n]);return new qe(this.context,t)},flatten:function(){var e=[];return new qe(this.context,e.concat.apply(e,this.toArray()))},join:Ft.join,indexOf:Ft.indexOf||function(e,t){for(var n=t||0,i=this.length;i>n;n++)if(this[n]===e)return n;return-1},iterator:function(e,t,n,i){var s,r,o,a,c,h,u,d,f=[],g=this.context,p=this.selector;for("string"==typeof e&&(i=n,n=t,t=e,e=!1),r=0,o=g.length;o>r;r++){var m=new qe(g[r]);if("table"===t)s=n.call(m,g[r],r),s!==l&&f.push(s);else if("columns"===t||"rows"===t)s=n.call(m,g[r],this[r],r),s!==l&&f.push(s);else if("column"===t||"column-rows"===t||"row"===t||"cell"===t)for(u=this[r],"column-rows"===t&&(h=Bt(g[r],p.opts)),a=0,c=u.length;c>a;a++)d=u[a],s="cell"===t?n.call(m,g[r],d.row,d.column,r,a):n.call(m,g[r],d,r,a,h),s!==l&&f.push(s)}if(f.length||i){var v=new qe(g,e?f.concat.apply([],f):f),C=v.selector;return C.rows=p.rows,C.cols=p.cols,C.opts=p.opts,v}return this},lastIndexOf:Ft.lastIndexOf||function(e,t){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(e){var t=[];if(Ft.map)t=Ft.map.call(this,e,this);else for(var n=0,i=this.length;i>n;n++)t.push(e.call(this,this[n],n));return new qe(this.context,t)},pluck:function(e){return this.map(function(t){return t[e]})},pop:Ft.pop,push:Ft.push,reduce:Ft.reduce||function(e,t){return h(this,e,t,0,this.length,1)},reduceRight:Ft.reduceRight||function(e,t){return h(this,e,t,this.length-1,-1,-1)},reverse:Ft.reverse,selector:null,shift:Ft.shift,sort:Ft.sort,splice:Ft.splice,toArray:function(){return Ft.slice.call(this)},to$:function(){return e(this)},toJQuery:function(){return e(this)},unique:function(){return new qe(this.context,pt(this))},unshift:Ft.unshift}),qe.extend=function(t,n,i){if(i.length&&n&&(n instanceof qe||n.__dt_wrapper)){var s,r,o,a=function(e,t,n){return function(){var i=t.apply(e,arguments);return qe.extend(i,i,n.methodExt),i}};for(s=0,r=i.length;r>s;s++)o=i[s],n[o.name]="function"==typeof o.val?a(t,o.val,o):e.isPlainObject(o.val)?{}:o.val,n[o.name].__dt_wrapper=!0,qe.extend(t,n[o.name],o.propExt)}},qe.register=Xe=function(t,n){if(e.isArray(t))for(var i=0,s=t.length;s>i;i++)qe.register(t[i],n);else{var r,o,a,l,c=t.split("."),h=yt,u=function(e,t){for(var n=0,i=e.length;i>n;n++)if(e[n].name===t)return e[n];return null};for(r=0,o=c.length;o>r;r++){l=-1!==c[r].indexOf("()"),a=l?c[r].replace("()",""):c[r];var d=u(h,a);d||(d={name:a,val:{},methodExt:[],propExt:[]},h.push(d)),r===o-1?d.val=n:h=l?d.methodExt:d.propExt}}},qe.registerPlural=Ye=function(t,n,i){qe.register(t,i),qe.register(n,function(){var t=i.apply(this,arguments);return t===this?this:t instanceof qe?t.length?e.isArray(t[0])?new qe(t.context,t[0]):t[0]:l:t})};var St=function(t,n){if("number"==typeof t)return[n[t]];var i=e.map(n,function(e,t){return e.nTable});return e(i).filter(t).map(function(t){var s=e.inArray(this,i);return n[s]}).toArray()};Xe("tables()",function(e){return e?new qe(St(e,this.context)):this}),Xe("table()",function(e){var t=this.tables(e),n=t.context;return n.length?new qe(n[0]):t}),Ye("tables().nodes()","table().node()",function(){return this.iterator("table",function(e){return e.nTable},1)}),Ye("tables().body()","table().body()",function(){return this.iterator("table",function(e){return e.nTBody},1)}),Ye("tables().header()","table().header()",function(){return this.iterator("table",function(e){return e.nTHead},1)}),Ye("tables().footer()","table().footer()",function(){return this.iterator("table",function(e){return e.nTFoot},1)}),Ye("tables().containers()","table().container()",function(){return this.iterator("table",function(e){return e.nTableWrapper},1)}),Xe("draw()",function(e){return this.iterator("table",function(t){"page"===e?P(t):("string"==typeof e&&(e="full-hold"===e?!1:!0),N(t,e===!1))})}),Xe("page()",function(e){return e===l?this.page.info().page:this.iterator("table",function(t){de(t,e)})}),Xe("page.info()",function(e){if(0===this.context.length)return l;var t=this.context[0],n=t._iDisplayStart,i=t._iDisplayLength,s=t.fnRecordsDisplay(),r=-1===i;return{page:r?0:Math.floor(n/i),pages:r?1:Math.ceil(s/i),start:n,end:t.fnDisplayEnd(),length:i,recordsTotal:t.fnRecordsTotal(),recordsDisplay:s,serverSide:"ssp"===je(t)}}),Xe("page.len()",function(e){return e===l?0!==this.context.length?this.context[0]._iDisplayLength:l:this.iterator("table",function(t){ce(t,e)})});var Dt=function(e,t,n){if(n){var i=new qe(e);i.one("draw",function(){n(i.ajax.json())})}if("ssp"==je(e))N(e,t);else{ge(e,!0);var s=e.jqXHR;s&&4!==s.readyState&&s.abort(),U(e,[],function(n){B(e);for(var i=G(e,n),s=0,r=i.length;r>s;s++)w(e,i[s]);N(e,t),ge(e,!1)})}};Xe("ajax.json()",function(){var e=this.context;return e.length>0?e[0].json:void 0}),Xe("ajax.params()",function(){var e=this.context;return e.length>0?e[0].oAjaxData:void 0}),Xe("ajax.reload()",function(e,t){return this.iterator("table",function(n){Dt(n,t===!1,e)})}),Xe("ajax.url()",function(t){var n=this.context;return t===l?0===n.length?l:(n=n[0],n.ajax?e.isPlainObject(n.ajax)?n.ajax.url:n.ajax:n.sAjaxSource):this.iterator("table",function(n){e.isPlainObject(n.ajax)?n.ajax.url=t:n.ajax=t})}),Xe("ajax.url().load()",function(e,t){return this.iterator("table",function(n){Dt(n,t===!1,e)})});var xt=function(t,n,i,s,r){var o,a,c,h,u,d,f=[],g=typeof n;for(n&&"string"!==g&&"function"!==g&&n.length!==l||(n=[n]),c=0,h=n.length;h>c;c++)for(a=n[c]&&n[c].split?n[c].split(","):[n[c]],u=0,d=a.length;d>u;u++)o=i("string"==typeof a[u]?e.trim(a[u]):a[u]),o&&o.length&&(f=f.concat(o));var p=Ge.selector[t];if(p.length)for(c=0,h=p.length;h>c;c++)f=p[c](s,r,f);return pt(f)},$t=function(t){return t||(t={}),t.filter&&t.search===l&&(t.search=t.filter),e.extend({search:"none",order:"current",page:"all"},t)},Tt=function(e){for(var t=0,n=e.length;n>t;t++)if(e[t].length>0)return e[0]=e[t],e[0].length=1,e.length=1,e.context=[e.context[t]],e;return e.length=0,e},Bt=function(t,n){var i,s,r,o=[],a=t.aiDisplay,l=t.aiDisplayMaster,c=n.search,h=n.order,u=n.page;if("ssp"==je(t))return"removed"===c?[]:dt(0,l.length);if("current"==u)for(i=t._iDisplayStart,s=t.fnDisplayEnd();s>i;i++)o.push(a[i]);else if("current"==h||"applied"==h)o="none"==c?l.slice():"applied"==c?a.slice():e.map(l,function(t,n){return-1===e.inArray(t,a)?t:null});else if("index"==h||"original"==h)for(i=0,s=t.aoData.length;s>i;i++)"none"==c?o.push(i):(r=e.inArray(i,a),(-1===r&&"removed"==c||r>=0&&"applied"==c)&&o.push(i));return o},kt=function(t,n,i){var s=function(n){var s=rt(n);if(null!==s&&!i)return[s];var r=Bt(t,i);if(null!==s&&-1!==e.inArray(s,r))return[s];if(!n)return r;if("function"==typeof n)return e.map(r,function(e){var i=t.aoData[e];return n(e,i._aData,i.nTr)?e:null});var o=ft(ut(t.aoData,r,"nTr"));if(n.nodeName&&-1!==e.inArray(n,o))return[n._DT_RowIndex];if("string"==typeof n&&"#"===n.charAt(0)){var a=t.aIds[n.replace(/^#/,"")];if(a!==l)return[a.idx]}return e(o).filter(n).map(function(){return this._DT_RowIndex}).toArray()};return xt("row",n,s,t,i)};Xe("rows()",function(t,n){t===l?t="":e.isPlainObject(t)&&(n=t,t=""),n=$t(n);var i=this.iterator("table",function(e){return kt(e,t,n)},1);return i.selector.rows=t,i.selector.opts=n,i}),Xe("rows().nodes()",function(){return this.iterator("row",function(e,t){return e.aoData[t].nTr||l},1)}),Xe("rows().data()",function(){return this.iterator(!0,"rows",function(e,t){return ut(e.aoData,t,"_aData")},1)}),Ye("rows().cache()","row().cache()",function(e){return this.iterator("row",function(t,n){var i=t.aoData[n];return"search"===e?i._aFilterData:i._aSortData},1)}),Ye("rows().invalidate()","row().invalidate()",function(e){return this.iterator("row",function(t,n){L(t,n,e)})}),Ye("rows().indexes()","row().index()",function(){return this.iterator("row",function(e,t){return t},1)}),Ye("rows().ids()","row().id()",function(e){for(var t=[],n=this.context,i=0,s=n.length;s>i;i++)for(var r=0,o=this[i].length;o>r;r++){var a=n[i].rowIdFn(n[i].aoData[this[i][r]]._aData);t.push((e===!0?"#":"")+a)}return new qe(n,t)}),Ye("rows().remove()","row().remove()",function(){var e=this;return this.iterator("row",function(t,n,i){var s=t.aoData,r=s[n];s.splice(n,1);for(var o=0,a=s.length;a>o;o++)null!==s[o].nTr&&(s[o].nTr._DT_RowIndex=o);k(t.aiDisplayMaster,n),k(t.aiDisplay,n),k(e[i],n,!1),We(t);var c=t.rowIdFn(r._aData);c!==l&&delete t.aIds[c]}),this.iterator("table",function(e){for(var t=0,n=e.aoData.length;n>t;t++)e.aoData[t].idx=t}),this}),Xe("rows.add()",function(t){var n=this.iterator("table",function(e){var n,i,s,r=[];for(i=0,s=t.length;s>i;i++)n=t[i],n.nodeName&&"TR"===n.nodeName.toUpperCase()?r.push(b(e,n)[0]):r.push(w(e,n));return r},1),i=this.rows(-1);return i.pop(),e.merge(i,n),i}),Xe("row()",function(e,t){return Tt(this.rows(e,t))}),Xe("row().data()",function(e){var t=this.context;return e===l?t.length&&this.length?t[0].aoData[this[0]]._aData:l:(t[0].aoData[this[0]]._aData=e,L(t[0],this[0],"data"),this)}),Xe("row().node()",function(){var e=this.context;return e.length&&this.length?e[0].aoData[this[0]].nTr||null:null}),Xe("row.add()",function(t){t instanceof e&&t.length&&(t=t[0]);var n=this.iterator("table",function(e){return t.nodeName&&"TR"===t.nodeName.toUpperCase()?b(e,t)[0]:w(e,t)});return this.row(n[0])});var Lt=function(t,n,i,s){var r=[],o=function(n,i){if(e.isArray(n)||n instanceof e)for(var s=0,a=n.length;a>s;s++)o(n[s],i);else if(n.nodeName&&"tr"===n.nodeName.toLowerCase())r.push(n);else{var l=e("<tr><td/></tr>").addClass(i);e("td",l).addClass(i).html(n)[0].colSpan=m(t),r.push(l[0])}};o(i,s),n._details&&n._details.remove(),n._details=e(r),n._detailsShow&&n._details.insertAfter(n.nTr)},_t=function(e,t){var n=e.context;if(n.length){var i=n[0].aoData[t!==l?t:e[0]];i&&i._details&&(i._details.remove(),i._detailsShow=l,i._details=l)}},Rt=function(e,t){var n=e.context;if(n.length&&e.length){var i=n[0].aoData[e[0]];i._details&&(i._detailsShow=t,t?i._details.insertAfter(i.nTr):i._details.detach(),Mt(n[0]))}},Mt=function(e){var t=new qe(e),n=".dt.DT_details",i="draw"+n,s="column-visibility"+n,r="destroy"+n,o=e.aoData;t.off(i+" "+s+" "+r),ht(o,"_details").length>0&&(t.on(i,function(n,i){e===i&&t.rows({page:"current"}).eq(0).each(function(e){var t=o[e];t._detailsShow&&t._details.insertAfter(t.nTr)})}),t.on(s,function(t,n,i,s){if(e===n)for(var r,a=m(n),l=0,c=o.length;c>l;l++)r=o[l],r._details&&r._details.children("td[colspan]").attr("colspan",a)}),t.on(r,function(n,i){if(e===i)for(var s=0,r=o.length;r>s;s++)o[s]._details&&_t(t,s)}))},Ot="",It=Ot+"row().child",Pt=It+"()";Xe(Pt,function(e,t){var n=this.context;return e===l?n.length&&this.length?n[0].aoData[this[0]]._details:l:(e===!0?this.child.show():e===!1?_t(this):n.length&&this.length&&Lt(n[0],n[0].aoData[this[0]],e,t),this)}),Xe([It+".show()",Pt+".show()"],function(e){return Rt(this,!0),this}),Xe([It+".hide()",Pt+".hide()"],function(){return Rt(this,!1),this}),Xe([It+".remove()",Pt+".remove()"],function(){return _t(this),this}),Xe(It+".isShown()",function(){var e=this.context;return e.length&&this.length?e[0].aoData[this[0]]._detailsShow||!1:!1});var Nt=/^(.+):(name|visIdx|visible)$/,Wt=function(e,t,n,i,s){for(var r=[],o=0,a=s.length;a>o;o++)r.push(E(e,s[o],t));return r},Ht=function(t,n,i){var s=t.aoColumns,r=ht(s,"sName"),o=ht(s,"nTh"),a=function(n){var a=rt(n);if(""===n)return dt(s.length);if(null!==a)return[a>=0?a:s.length+a];if("function"==typeof n){var l=Bt(t,i);return e.map(s,function(e,i){return n(i,Wt(t,i,0,0,l),o[i])?i:null})}var c="string"==typeof n?n.match(Nt):"";if(!c)return e(o).filter(n).map(function(){return e.inArray(this,o)}).toArray();switch(c[2]){case"visIdx":case"visible":var h=parseInt(c[1],10);if(0>h){var u=e.map(s,function(e,t){return e.bVisible?t:null});return[u[u.length+h]]}return[g(t,h)];case"name":return e.map(r,function(e,t){return e===c[1]?t:null})}};return xt("column",n,a,t,i)},jt=function(t,n,i,s){var r,o,a,c,h=t.aoColumns,u=h[n],d=t.aoData;if(i===l)return u.bVisible;if(u.bVisible!==i){if(i){var g=e.inArray(!0,ht(h,"bVisible"),n+1);for(o=0,a=d.length;a>o;o++)c=d[o].nTr,r=d[o].anCells,c&&c.insertBefore(r[n],r[g]||null)}else e(ht(t.aoData,"anCells",n)).detach();u.bVisible=i,I(t,t.aoHeader),I(t,t.aoFooter),(s===l||s)&&(f(t),(t.oScroll.sX||t.oScroll.sY)&&me(t)),Ne(t,null,"column-visibility",[t,n,i]),ke(t)}};Xe("columns()",function(t,n){t===l?t="":e.isPlainObject(t)&&(n=t,t=""),n=$t(n);var i=this.iterator("table",function(e){return Ht(e,t,n)},1);return i.selector.cols=t,i.selector.opts=n,i}),Ye("columns().header()","column().header()",function(e,t){return this.iterator("column",function(e,t){return e.aoColumns[t].nTh},1)}),Ye("columns().footer()","column().footer()",function(e,t){return this.iterator("column",function(e,t){return e.aoColumns[t].nTf},1)}),Ye("columns().data()","column().data()",function(){return this.iterator("column-rows",Wt,1)}),Ye("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(e,t){return e.aoColumns[t].mData},1)}),Ye("columns().cache()","column().cache()",function(e){return this.iterator("column-rows",function(t,n,i,s,r){return ut(t.aoData,r,"search"===e?"_aFilterData":"_aSortData",n)},1)}),Ye("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(e,t,n,i,s){return ut(e.aoData,s,"anCells",t)},1)}),Ye("columns().visible()","column().visible()",function(e,t){return this.iterator("column",function(n,i){return e===l?n.aoColumns[i].bVisible:void jt(n,i,e,t)})}),Ye("columns().indexes()","column().index()",function(e){return this.iterator("column",function(t,n){return"visible"===e?p(t,n):n},1)}),Xe("columns.adjust()",function(){return this.iterator("table",function(e){f(e)},1)}),Xe("column.index()",function(e,t){if(0!==this.context.length){var n=this.context[0];if("fromVisible"===e||"toData"===e)return g(n,t);if("fromData"===e||"toVisible"===e)return p(n,t)}}),Xe("column()",function(e,t){return Tt(this.columns(e,t))});var Ut=function(t,n,i){var s,r,o,a,c,h,u,d=t.aoData,f=Bt(t,i),g=ft(ut(d,f,"anCells")),p=e([].concat.apply([],g)),m=t.aoColumns.length,v=function(n){var i="function"==typeof n;if(null===n||n===l||i){for(r=[],o=0,a=f.length;a>o;o++)for(s=f[o],c=0;m>c;c++)h={row:s,column:c},i?(u=d[s],n(h,E(t,s,c),u.anCells?u.anCells[c]:null)&&r.push(h)):r.push(h);return r}return e.isPlainObject(n)?[n]:p.filter(n).map(function(t,n){if(n.parentNode)s=n.parentNode._DT_RowIndex;else for(t=0,a=d.length;a>t;t++)if(-1!==e.inArray(n,d[t].anCells)){s=t;break}return{row:s,column:e.inArray(n,d[s].anCells)}}).toArray()};return xt("cell",n,v,t,i)};Xe("cells()",function(t,n,i){if(e.isPlainObject(t)&&(t.row===l?(i=t,t=null):(i=n,n=null)),e.isPlainObject(n)&&(i=n,n=null),null===n||n===l)return this.iterator("table",function(e){return Ut(e,t,$t(i))});var s,r,o,a,c,h=this.columns(n,i),u=this.rows(t,i),d=this.iterator("table",function(e,t){for(s=[],r=0,o=u[t].length;o>r;r++)for(a=0,c=h[t].length;c>a;a++)s.push({row:u[t][r],column:h[t][a]});return s},1);return e.extend(d.selector,{cols:n,rows:t,opts:i}),d}),Ye("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(e,t,n){var i=e.aoData[t].anCells;return i?i[n]:l},1)}),Xe("cells().data()",function(){return this.iterator("cell",function(e,t,n){return E(e,t,n)},1)}),Ye("cells().cache()","cell().cache()",function(e){return e="search"===e?"_aFilterData":"_aSortData",this.iterator("cell",function(t,n,i){return t.aoData[n][e][i]},1)}),Ye("cells().render()","cell().render()",function(e){return this.iterator("cell",function(t,n,i){return E(t,n,i,e)},1)}),Ye("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(e,t,n){return{row:t,column:n,columnVisible:p(e,n)}},1)}),Ye("cells().invalidate()","cell().invalidate()",function(e){return this.iterator("cell",function(t,n,i){L(t,n,e,i)})}),Xe("cell()",function(e,t,n){return Tt(this.cells(e,t,n))}),Xe("cell().data()",function(e){var t=this.context,n=this[0];return e===l?t.length&&n.length?E(t[0],n[0].row,n[0].column):l:(S(t[0],n[0].row,n[0].column,e),L(t[0],n[0].row,"data",n[0].column),this)}),Xe("order()",function(t,n){var i=this.context;return t===l?0!==i.length?i[0].aaSorting:l:("number"==typeof t?t=[[t,n]]:e.isArray(t[0])||(t=Array.prototype.slice.call(arguments)),this.iterator("table",function(e){e.aaSorting=t.slice()}))}),Xe("order.listener()",function(e,t,n){return this.iterator("table",function(i){$e(i,e,t,n)})}),Xe(["columns().order()","column().order()"],function(t){var n=this;return this.iterator("table",function(i,s){
var r=[];e.each(n[s],function(e,n){r.push([n,t])}),i.aaSorting=r})}),Xe("search()",function(t,n,i,s){var r=this.context;return t===l?0!==r.length?r[0].oPreviousSearch.sSearch:l:this.iterator("table",function(r){r.oFeatures.bFilter&&X(r,e.extend({},r.oPreviousSearch,{sSearch:t+"",bRegex:null===n?!1:n,bSmart:null===i?!0:i,bCaseInsensitive:null===s?!0:s}),1)})}),Ye("columns().search()","column().search()",function(t,n,i,s){return this.iterator("column",function(r,o){var a=r.aoPreSearchCols;return t===l?a[o].sSearch:void(r.oFeatures.bFilter&&(e.extend(a[o],{sSearch:t+"",bRegex:null===n?!1:n,bSmart:null===i?!0:i,bCaseInsensitive:null===s?!0:s}),X(r,r.oPreviousSearch,1)))})}),Xe("state()",function(){return this.context.length?this.context[0].oSavedState:null}),Xe("state.clear()",function(){return this.iterator("table",function(e){e.fnStateSaveCallback.call(e.oInstance,e,{})})}),Xe("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null}),Xe("state.save()",function(){return this.iterator("table",function(e){ke(e)})}),Ke.versionCheck=Ke.fnVersionCheck=function(e){for(var t,n,i=Ke.version.split("."),s=e.split("."),r=0,o=s.length;o>r;r++)if(t=parseInt(i[r],10)||0,n=parseInt(s[r],10)||0,t!==n)return t>n;return!0},Ke.isDataTable=Ke.fnIsDataTable=function(t){var n=e(t).get(0),i=!1;return e.each(Ke.settings,function(t,s){var r=s.nScrollHead?e("table",s.nScrollHead)[0]:null,o=s.nScrollFoot?e("table",s.nScrollFoot)[0]:null;(s.nTable===n||r===n||o===n)&&(i=!0)}),i},Ke.tables=Ke.fnTables=function(t){var n=!1;e.isPlainObject(t)&&(n=t.api,t=t.visible);var i=e.map(Ke.settings,function(n){return!t||t&&e(n.nTable).is(":visible")?n.nTable:void 0});return n?new qe(i):i},Ke.util={throttle:Ae,escapeRegex:ee},Ke.camelToHungarian=n,Xe("$()",function(t,n){var i=this.rows(n).nodes(),s=e(i);return e([].concat(s.filter(t).toArray(),s.find(t).toArray()))}),e.each(["on","one","off"],function(t,n){Xe(n+"()",function(){var t=Array.prototype.slice.call(arguments);t[0].match(/\.dt\b/)||(t[0]+=".dt");var i=e(this.tables().nodes());return i[n].apply(i,t),this})}),Xe("clear()",function(){return this.iterator("table",function(e){B(e)})}),Xe("settings()",function(){return new qe(this.context,this.context)}),Xe("init()",function(){var e=this.context;return e.length?e[0].oInit:null}),Xe("data()",function(){return this.iterator("table",function(e){return ht(e.aoData,"_aData")}).flatten()}),Xe("destroy()",function(t){return t=t||!1,this.iterator("table",function(n){var i,s=n.nTableWrapper.parentNode,r=n.oClasses,a=n.nTable,l=n.nTBody,c=n.nTHead,h=n.nTFoot,u=e(a),d=e(l),f=e(n.nTableWrapper),g=e.map(n.aoData,function(e){return e.nTr});n.bDestroying=!0,Ne(n,"aoDestroyCallback","destroy",[n]),t||new qe(n).columns().visible(!0),f.unbind(".DT").find(":not(tbody *)").unbind(".DT"),e(o).unbind(".DT-"+n.sInstance),a!=c.parentNode&&(u.children("thead").detach(),u.append(c)),h&&a!=h.parentNode&&(u.children("tfoot").detach(),u.append(h)),n.aaSorting=[],n.aaSortingFixed=[],Te(n),e(g).removeClass(n.asStripeClasses.join(" ")),e("th, td",c).removeClass(r.sSortable+" "+r.sSortableAsc+" "+r.sSortableDesc+" "+r.sSortableNone),n.bJUI&&(e("th span."+r.sSortIcon+", td span."+r.sSortIcon,c).detach(),e("th, td",c).each(function(){var t=e("div."+r.sSortJUIWrapper,this);e(this).append(t.contents()),t.detach()})),d.children().detach(),d.append(g);var p=t?"remove":"detach";u[p](),f[p](),!t&&s&&(s.insertBefore(a,n.nTableReinsertBefore),u.css("width",n.sDestroyWidth).removeClass(r.sTable),i=n.asDestroyStripes.length,i&&d.children().each(function(t){e(this).addClass(n.asDestroyStripes[t%i])}));var m=e.inArray(n,Ke.settings);-1!==m&&Ke.settings.splice(m,1)})}),e.each(["column","row","cell"],function(e,t){Xe(t+"s().every()",function(e){return this.iterator(t,function(n,i,s,r,o){e.call(new qe(n)[t](i,"cell"===t?s:l),i,s,r,o)})})}),Xe("i18n()",function(t,n,i){var s=this.context[0],r=x(t)(s.oLanguage);return r===l&&(r=n),i!==l&&e.isPlainObject(r)&&(r=r[i]!==l?r[i]:r._),r.replace("%d",i)}),Ke.version="1.10.9",Ke.settings=[],Ke.models={},Ke.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0},Ke.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1},Ke.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null},Ke.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(e){try{return JSON.parse((-1===e.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+e.sInstance+"_"+location.pathname))}catch(t){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(e,t){try{(-1===e.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+e.sInstance+"_"+location.pathname,JSON.stringify(t))}catch(n){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:e.extend({},Ke.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"},t(Ke.defaults),Ke.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null},t(Ke.defaults.column),Ke.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:l,oAjaxData:l,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==je(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==je(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var e=this._iDisplayLength,t=this._iDisplayStart,n=t+e,i=this.aiDisplay.length,s=this.oFeatures,r=s.bPaginate;return s.bServerSide?r===!1||-1===e?t+i:Math.min(t+e,this._iRecordsDisplay):!r||n>i||-1===e?i:n},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null},Ke.ext=Ge={buttons:{},classes:{},errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:Ke.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:Ke.version},e.extend(Ge,{afnFiltering:Ge.search,aTypes:Ge.type.detect,ofnSearch:Ge.type.search,oSort:Ge.type.order,afnSortData:Ge.order,aoFeatures:Ge.feature,oApi:Ge.internal,oStdClasses:Ge.classes,oPagination:Ge.pager}),e.extend(Ke.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""}),function(){var t="";t="";var n=t+"ui-state-default",i=t+"css_right ui-icon ui-icon-",s=t+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";e.extend(Ke.ext.oJUIClasses,Ke.ext.classes,{sPageButton:"fg-button ui-button "+n,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:n+" sorting_asc",sSortDesc:n+" sorting_desc",sSortable:n+" sorting",sSortableAsc:n+" sorting_asc_disabled",sSortableDesc:n+" sorting_desc_disabled",sSortableNone:n+" sorting_disabled",sSortJUIAsc:i+"triangle-1-n",sSortJUIDesc:i+"triangle-1-s",sSortJUI:i+"carat-2-n-s",sSortJUIAscAllowed:i+"carat-1-n",sSortJUIDescAllowed:i+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+n,sScrollFoot:"dataTables_scrollFoot "+n,sHeaderTH:n,sFooterTH:n,sJUIHeader:s+" ui-corner-tl ui-corner-tr",sJUIFooter:s+" ui-corner-bl ui-corner-br"})}();var zt=Ke.ext.pager;e.extend(zt,{simple:function(e,t){return["previous","next"]},full:function(e,t){return["first","previous","next","last"]},numbers:function(e,t){return[Ue(e,t)]},simple_numbers:function(e,t){return["previous",Ue(e,t),"next"]},full_numbers:function(e,t){return["first","previous",Ue(e,t),"next","last"]},_numbers:Ue,numbers_length:7}),e.extend(!0,Ke.ext.renderer,{pageButton:{_:function(t,n,i,s,r,o){var l,c,h,u=t.oClasses,d=t.oLanguage.oPaginate,f=0,g=function(n,s){var a,h,p,m,v=function(e){de(t,e.data.action,!0)};for(a=0,h=s.length;h>a;a++)if(m=s[a],e.isArray(m)){var C=e("<"+(m.DT_el||"div")+"/>").appendTo(n);g(C,m)}else{switch(l=null,c="",m){case"ellipsis":n.append('<span class="ellipsis">&#x2026;</span>');break;case"first":l=d.sFirst,c=m+(r>0?"":" "+u.sPageButtonDisabled);break;case"previous":l=d.sPrevious,c=m+(r>0?"":" "+u.sPageButtonDisabled);break;case"next":l=d.sNext,c=m+(o-1>r?"":" "+u.sPageButtonDisabled);break;case"last":l=d.sLast,c=m+(o-1>r?"":" "+u.sPageButtonDisabled);break;default:l=m+1,c=r===m?u.sPageButtonActive:""}null!==l&&(p=e("<a>",{"class":u.sPageButton+" "+c,"aria-controls":t.sTableId,"data-dt-idx":f,tabindex:t.iTabIndex,id:0===i&&"string"==typeof m?t.sTableId+"_"+m:null}).html(l).appendTo(n),Ie(p,{action:m},v),f++)}};try{h=e(n).find(a.activeElement).data("dt-idx")}catch(p){}g(e(n).empty(),s),h&&e(n).find("[data-dt-idx="+h+"]").focus()}}}),e.extend(Ke.ext.type.detect,[function(e,t){var n=t.oLanguage.sDecimal;return at(e,n)?"num"+n:null},function(e,t){if(e&&!(e instanceof Date)&&(!et.test(e)||!tt.test(e)))return null;var n=Date.parse(e);return null!==n&&!isNaN(n)||st(e)?"date":null},function(e,t){var n=t.oLanguage.sDecimal;return at(e,n,!0)?"num-fmt"+n:null},function(e,t){var n=t.oLanguage.sDecimal;return ct(e,n)?"html-num"+n:null},function(e,t){var n=t.oLanguage.sDecimal;return ct(e,n,!0)?"html-num-fmt"+n:null},function(e,t){return st(e)||"string"==typeof e&&-1!==e.indexOf("<")?"html":null}]),e.extend(Ke.ext.type.search,{html:function(e){return st(e)?e:"string"==typeof e?e.replace(Je," ").replace(Ze,""):""},string:function(e){return st(e)?e:"string"==typeof e?e.replace(Je," "):e}});var Vt=function(e,t,n,i){return 0===e||e&&"-"!==e?(t&&(e=ot(e,t)),e.replace&&(n&&(e=e.replace(n,"")),i&&(e=e.replace(i,""))),1*e):-(1/0)};return e.extend(Ge.type.order,{"date-pre":function(e){return Date.parse(e)||0},"html-pre":function(e){return st(e)?"":e.replace?e.replace(/<.*?>/g,"").toLowerCase():e+""},"string-pre":function(e){return st(e)?"":"string"==typeof e?e.toLowerCase():e.toString?e.toString():""},"string-asc":function(e,t){return t>e?-1:e>t?1:0},"string-desc":function(e,t){return t>e?1:e>t?-1:0}}),ze(""),e.extend(!0,Ke.ext.renderer,{header:{_:function(t,n,i,s){e(t.nTable).on("order.dt.DT",function(e,r,o,a){if(t===r){var l=i.idx;n.removeClass(i.sSortingClass+" "+s.sSortAsc+" "+s.sSortDesc).addClass("asc"==a[l]?s.sSortAsc:"desc"==a[l]?s.sSortDesc:i.sSortingClass)}})},jqueryui:function(t,n,i,s){e("<div/>").addClass(s.sSortJUIWrapper).append(n.contents()).append(e("<span/>").addClass(s.sSortIcon+" "+i.sSortingClassJUI)).appendTo(n),e(t.nTable).on("order.dt.DT",function(e,r,o,a){if(t===r){var l=i.idx;n.removeClass(s.sSortAsc+" "+s.sSortDesc).addClass("asc"==a[l]?s.sSortAsc:"desc"==a[l]?s.sSortDesc:i.sSortingClass),n.find("span."+s.sSortIcon).removeClass(s.sSortJUIAsc+" "+s.sSortJUIDesc+" "+s.sSortJUI+" "+s.sSortJUIAscAllowed+" "+s.sSortJUIDescAllowed).addClass("asc"==a[l]?s.sSortJUIAsc:"desc"==a[l]?s.sSortJUIDesc:i.sSortingClassJUI)}})}}}),Ke.render={number:function(e,t,n,i,s){return{display:function(r){if("number"!=typeof r&&"string"!=typeof r)return r;var o=0>r?"-":"";r=Math.abs(parseFloat(r));var a=parseInt(r,10),l=n?t+(r-a).toFixed(n).substring(2):"";return o+(i||"")+a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,e)+l+(s||"")}}}},e.extend(Ke.ext.internal,{_fnExternApiFunc:Ve,_fnBuildAjax:U,_fnAjaxUpdate:z,_fnAjaxParameters:V,_fnAjaxUpdateDraw:K,_fnAjaxDataSrc:G,_fnAddColumn:u,_fnColumnOptions:d,_fnAdjustColumnSizing:f,_fnVisibleToColumnIndex:g,_fnColumnIndexToVisible:p,_fnVisbleColumns:m,_fnGetColumns:v,_fnColumnTypes:C,_fnApplyColumnDefs:A,_fnHungarianMap:t,_fnCamelToHungarian:n,_fnLanguageCompat:i,_fnBrowserDetect:c,_fnAddData:w,_fnAddTr:b,_fnNodeToDataIndex:y,_fnNodeToColumnIndex:F,_fnGetCellData:E,_fnSetCellData:S,_fnSplitObjNotation:D,_fnGetObjectDataFn:x,_fnSetObjectDataFn:$,_fnGetDataMaster:T,_fnClearTable:B,_fnDeleteIndex:k,_fnInvalidate:L,_fnGetRowElements:_,_fnCreateTr:R,_fnBuildHead:O,_fnDrawHead:I,_fnDraw:P,_fnReDraw:N,_fnAddOptionsHtml:W,_fnDetectHeader:H,_fnGetUniqueThs:j,_fnFeatureHtmlFilter:q,_fnFilterComplete:X,_fnFilterCustom:Y,_fnFilterColumn:Q,_fnFilter:J,_fnFilterCreateSearch:Z,_fnEscapeRegex:ee,_fnFilterData:te,_fnFeatureHtmlInfo:se,_fnUpdateInfo:re,_fnInfoMacros:oe,_fnInitialise:ae,_fnInitComplete:le,_fnLengthChange:ce,_fnFeatureHtmlLength:he,_fnFeatureHtmlPaginate:ue,_fnPageChange:de,_fnFeatureHtmlProcessing:fe,_fnProcessingDisplay:ge,_fnFeatureHtmlTable:pe,_fnScrollDraw:me,_fnApplyToChildren:ve,_fnCalculateColumnWidths:Ce,_fnThrottle:Ae,_fnConvertToWidth:we,_fnGetWidestNode:be,_fnGetMaxLenString:ye,_fnStringToCss:Fe,_fnSortFlatten:Ee,_fnSort:Se,_fnSortAria:De,_fnSortListener:xe,_fnSortAttachListener:$e,_fnSortingClasses:Te,_fnSortData:Be,_fnSaveState:ke,_fnLoadState:Le,_fnSettingsFromNode:_e,_fnLog:Re,_fnMap:Me,_fnBindAction:Ie,_fnCallbackReg:Pe,_fnCallbackFire:Ne,_fnLengthOverflow:We,_fnRenderer:He,_fnDataSource:je,_fnRowAttributes:M,_fnCalculateEnd:function(){}}),e.fn.dataTable=Ke,e.fn.dataTableSettings=Ke.settings,e.fn.dataTableExt=Ke.ext,e.fn.DataTable=function(t){return e(this).dataTable(t).api()},e.each(Ke,function(t,n){e.fn.DataTable[t]=n}),e.fn.dataTable})}(window,document)},38:function(e,t,n){n(50),n(40),n(41),n(42),n(43),n(44),n(45),n(49),n(46),n(47),n(48),n(39)},39:function(e,t){+function(e){"use strict";function t(t){return this.each(function(){var i=e(this),s=i.data("bs.affix"),r="object"==typeof t&&t;s||i.data("bs.affix",s=new n(this,r)),"string"==typeof t&&s[t]()})}var n=function(t,i){this.options=e.extend({},n.DEFAULTS,i),this.$target=e(this.options.target).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};n.VERSION="3.3.6",n.RESET="affix affix-top affix-bottom",n.DEFAULTS={offset:0,target:window},n.prototype.getState=function(e,t,n,i){var s=this.$target.scrollTop(),r=this.$element.offset(),o=this.$target.height();if(null!=n&&"top"==this.affixed)return n>s?"top":!1;if("bottom"==this.affixed)return null!=n?s+this.unpin<=r.top?!1:"bottom":e-i>=s+o?!1:"bottom";var a=null==this.affixed,l=a?s:r.top,c=a?o:t;return null!=n&&n>=s?"top":null!=i&&l+c>=e-i?"bottom":!1},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var e=this.$target.scrollTop(),t=this.$element.offset();return this.pinnedOffset=t.top-e},n.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),i=this.options.offset,s=i.top,r=i.bottom,o=Math.max(e(document).height(),e(document.body).height());"object"!=typeof i&&(r=s=i),"function"==typeof s&&(s=i.top(this.$element)),"function"==typeof r&&(r=i.bottom(this.$element));var a=this.getState(o,t,s,r);if(this.affixed!=a){null!=this.unpin&&this.$element.css("top","");var l="affix"+(a?"-"+a:""),c=e.Event(l+".bs.affix");if(this.$element.trigger(c),c.isDefaultPrevented())return;this.affixed=a,this.unpin="bottom"==a?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==a&&this.$element.offset({top:o-t-r})}};var i=e.fn.affix;e.fn.affix=t,e.fn.affix.Constructor=n,e.fn.affix.noConflict=function(){return e.fn.affix=i,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var n=e(this),i=n.data();i.offset=i.offset||{},null!=i.offsetBottom&&(i.offset.bottom=i.offsetBottom),null!=i.offsetTop&&(i.offset.top=i.offsetTop),t.call(n,i)})})}(jQuery)},40:function(e,t){+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),s=n.data("bs.alert");s||n.data("bs.alert",s=new i(this)),"string"==typeof t&&s[t].call(n)})}var n='[data-dismiss="alert"]',i=function(t){e(t).on("click",n,this.close)};i.VERSION="3.3.6",i.TRANSITION_DURATION=150,i.prototype.close=function(t){function n(){o.detach().trigger("closed.bs.alert").remove()}var s=e(this),r=s.attr("data-target");r||(r=s.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));var o=e(r);t&&t.preventDefault(),o.length||(o=s.closest(".alert")),o.trigger(t=e.Event("close.bs.alert")),t.isDefaultPrevented()||(o.removeClass("in"),e.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",n).emulateTransitionEnd(i.TRANSITION_DURATION):n())};var s=e.fn.alert;e.fn.alert=t,e.fn.alert.Constructor=i,e.fn.alert.noConflict=function(){return e.fn.alert=s,this},e(document).on("click.bs.alert.data-api",n,i.prototype.close)}(jQuery)},41:function(e,t){+function(e){"use strict";function t(t){return this.each(function(){var i=e(this),s=i.data("bs.button"),r="object"==typeof t&&t;s||i.data("bs.button",s=new n(this,r)),"toggle"==t?s.toggle():t&&s.setState(t)})}var n=function(t,i){this.$element=e(t),this.options=e.extend({},n.DEFAULTS,i),this.isLoading=!1};n.VERSION="3.3.6",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var n="disabled",i=this.$element,s=i.is("input")?"val":"html",r=i.data();t+="Text",null==r.resetText&&i.data("resetText",i[s]()),setTimeout(e.proxy(function(){i[s](null==r[t]?this.options[t]:r[t]),"loadingText"==t?(this.isLoading=!0,i.addClass(n).attr(n,n)):this.isLoading&&(this.isLoading=!1,i.removeClass(n).removeAttr(n))},this),0)},n.prototype.toggle=function(){var e=!0,t=this.$element.closest('[data-toggle="buttons"]');if(t.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(e=!1),t.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(e=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),e&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var i=e.fn.button;e.fn.button=t,e.fn.button.Constructor=n,e.fn.button.noConflict=function(){return e.fn.button=i,this},e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var i=e(n.target);i.hasClass("btn")||(i=i.closest(".btn")),t.call(i,"toggle"),e(n.target).is('input[type="radio"]')||e(n.target).is('input[type="checkbox"]')||n.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){e(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery)},42:function(e,t){+function(e){"use strict";function t(t){return this.each(function(){var i=e(this),s=i.data("bs.carousel"),r=e.extend({},n.DEFAULTS,i.data(),"object"==typeof t&&t),o="string"==typeof t?t:r.slide;s||i.data("bs.carousel",s=new n(this,r)),"number"==typeof t?s.to(t):o?s[o]():r.interval&&s.pause().cycle()})}var n=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",e.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",e.proxy(this.pause,this)).on("mouseleave.bs.carousel",e.proxy(this.cycle,this))};n.VERSION="3.3.6",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()}},n.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(e){return this.$items=e.parent().children(".item"),this.$items.index(e||this.$active)},n.prototype.getItemForDirection=function(e,t){var n=this.getItemIndex(t),i="prev"==e&&0===n||"next"==e&&n==this.$items.length-1;if(i&&!this.options.wrap)return t;var s="prev"==e?-1:1,r=(n+s)%this.$items.length;return this.$items.eq(r)},n.prototype.to=function(e){var t=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));return e>this.$items.length-1||0>e?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){t.to(e)}):n==e?this.pause().cycle():this.slide(e>n?"next":"prev",this.$items.eq(e))},n.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){return this.sliding?void 0:this.slide("next")},n.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},n.prototype.slide=function(t,i){var s=this.$element.find(".item.active"),r=i||this.getItemForDirection(t,s),o=this.interval,a="next"==t?"left":"right",l=this;if(r.hasClass("active"))return this.sliding=!1;var c=r[0],h=e.Event("slide.bs.carousel",{relatedTarget:c,direction:a});if(this.$element.trigger(h),!h.isDefaultPrevented()){if(this.sliding=!0,o&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var u=e(this.$indicators.children()[this.getItemIndex(r)]);u&&u.addClass("active")}var d=e.Event("slid.bs.carousel",{relatedTarget:c,direction:a});return e.support.transition&&this.$element.hasClass("slide")?(r.addClass(t),r[0].offsetWidth,s.addClass(a),r.addClass(a),s.one("bsTransitionEnd",function(){r.removeClass([t,a].join(" ")).addClass("active"),s.removeClass(["active",a].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(d)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(s.removeClass("active"),r.addClass("active"),this.sliding=!1,this.$element.trigger(d)),o&&this.cycle(),this}};var i=e.fn.carousel;e.fn.carousel=t,e.fn.carousel.Constructor=n,e.fn.carousel.noConflict=function(){return e.fn.carousel=i,this};var s=function(n){var i,s=e(this),r=e(s.attr("data-target")||(i=s.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,""));if(r.hasClass("carousel")){var o=e.extend({},r.data(),s.data()),a=s.attr("data-slide-to");a&&(o.interval=!1),t.call(r,o),a&&r.data("bs.carousel").to(a),n.preventDefault()}};e(document).on("click.bs.carousel.data-api","[data-slide]",s).on("click.bs.carousel.data-api","[data-slide-to]",s),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var n=e(this);t.call(n,n.data())})})}(jQuery)},43:function(e,t){+function(e){"use strict";function t(t){var n,i=t.attr("data-target")||(n=t.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return e(i)}function n(t){return this.each(function(){var n=e(this),s=n.data("bs.collapse"),r=e.extend({},i.DEFAULTS,n.data(),"object"==typeof t&&t);!s&&r.toggle&&/show|hide/.test(t)&&(r.toggle=!1),s||n.data("bs.collapse",s=new i(this,r)),"string"==typeof t&&s[t]()})}var i=function(t,n){this.$element=e(t),this.options=e.extend({},i.DEFAULTS,n),this.$trigger=e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};i.VERSION="3.3.6",i.TRANSITION_DURATION=350,i.DEFAULTS={toggle:!0},i.prototype.dimension=function(){var e=this.$element.hasClass("width");return e?"width":"height"},i.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,s=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(s&&s.length&&(t=s.data("bs.collapse"),t&&t.transitioning))){var r=e.Event("show.bs.collapse");if(this.$element.trigger(r),!r.isDefaultPrevented()){s&&s.length&&(n.call(s,"hide"),t||s.data("bs.collapse",null));var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var a=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition)return a.call(this);var l=e.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",e.proxy(a,this)).emulateTransitionEnd(i.TRANSITION_DURATION)[o](this.$element[0][l])}}}},i.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=e.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var s=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return e.support.transition?void this.$element[n](0).one("bsTransitionEnd",e.proxy(s,this)).emulateTransitionEnd(i.TRANSITION_DURATION):s.call(this)}}},i.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},i.prototype.getParent=function(){return e(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(e.proxy(function(n,i){var s=e(i);this.addAriaAndCollapsedClass(t(s),s)},this)).end()},i.prototype.addAriaAndCollapsedClass=function(e,t){var n=e.hasClass("in");e.attr("aria-expanded",n),t.toggleClass("collapsed",!n).attr("aria-expanded",n)};var s=e.fn.collapse;e.fn.collapse=n,e.fn.collapse.Constructor=i,e.fn.collapse.noConflict=function(){return e.fn.collapse=s,this},e(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(i){var s=e(this);s.attr("data-target")||i.preventDefault();var r=t(s),o=r.data("bs.collapse"),a=o?"toggle":s.data();n.call(r,a)})}(jQuery)},44:function(e,t){+function(e){"use strict";function t(t){var n=t.attr("data-target");n||(n=t.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var i=n&&e(n);return i&&i.length?i:t.parent()}function n(n){n&&3===n.which||(e(s).remove(),e(r).each(function(){var i=e(this),s=t(i),r={relatedTarget:this};s.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&e.contains(s[0],n.target)||(s.trigger(n=e.Event("hide.bs.dropdown",r)),n.isDefaultPrevented()||(i.attr("aria-expanded","false"),s.removeClass("open").trigger(e.Event("hidden.bs.dropdown",r)))))}))}function i(t){return this.each(function(){var n=e(this),i=n.data("bs.dropdown");i||n.data("bs.dropdown",i=new o(this)),"string"==typeof t&&i[t].call(n)})}var s=".dropdown-backdrop",r='[data-toggle="dropdown"]',o=function(t){e(t).on("click.bs.dropdown",this.toggle)};o.VERSION="3.3.6",o.prototype.toggle=function(i){var s=e(this);if(!s.is(".disabled, :disabled")){var r=t(s),o=r.hasClass("open");if(n(),!o){"ontouchstart"in document.documentElement&&!r.closest(".navbar-nav").length&&e(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(e(this)).on("click",n);var a={relatedTarget:this};if(r.trigger(i=e.Event("show.bs.dropdown",a)),i.isDefaultPrevented())return;s.trigger("focus").attr("aria-expanded","true"),r.toggleClass("open").trigger(e.Event("shown.bs.dropdown",a))}return!1}},o.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var i=e(this);if(n.preventDefault(),n.stopPropagation(),!i.is(".disabled, :disabled")){var s=t(i),o=s.hasClass("open");if(!o&&27!=n.which||o&&27==n.which)return 27==n.which&&s.find(r).trigger("focus"),i.trigger("click");var a=" li:not(.disabled):visible a",l=s.find(".dropdown-menu"+a);
if(l.length){var c=l.index(n.target);38==n.which&&c>0&&c--,40==n.which&&c<l.length-1&&c++,~c||(c=0),l.eq(c).trigger("focus")}}}};var a=e.fn.dropdown;e.fn.dropdown=i,e.fn.dropdown.Constructor=o,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=a,this},e(document).on("click.bs.dropdown.data-api",n).on("click.bs.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.bs.dropdown.data-api",r,o.prototype.toggle).on("keydown.bs.dropdown.data-api",r,o.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",o.prototype.keydown)}(jQuery)},45:function(e,t){+function(e){"use strict";function t(t,i){return this.each(function(){var s=e(this),r=s.data("bs.modal"),o=e.extend({},n.DEFAULTS,s.data(),"object"==typeof t&&t);r||s.data("bs.modal",r=new n(this,o)),"string"==typeof t?r[t](i):o.show&&r.show(i)})}var n=function(t,n){this.options=n,this.$body=e(document.body),this.$element=e(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,e.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};n.VERSION="3.3.6",n.TRANSITION_DURATION=300,n.BACKDROP_TRANSITION_DURATION=150,n.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},n.prototype.toggle=function(e){return this.isShown?this.hide():this.show(e)},n.prototype.show=function(t){var i=this,s=e.Event("show.bs.modal",{relatedTarget:t});this.$element.trigger(s),this.isShown||s.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',e.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){i.$element.one("mouseup.dismiss.bs.modal",function(t){e(t.target).is(i.$element)&&(i.ignoreBackdropClick=!0)})}),this.backdrop(function(){var s=e.support.transition&&i.$element.hasClass("fade");i.$element.parent().length||i.$element.appendTo(i.$body),i.$element.show().scrollTop(0),i.adjustDialog(),s&&i.$element[0].offsetWidth,i.$element.addClass("in"),i.enforceFocus();var r=e.Event("shown.bs.modal",{relatedTarget:t});s?i.$dialog.one("bsTransitionEnd",function(){i.$element.trigger("focus").trigger(r)}).emulateTransitionEnd(n.TRANSITION_DURATION):i.$element.trigger("focus").trigger(r)}))},n.prototype.hide=function(t){t&&t.preventDefault(),t=e.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),e(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),e.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",e.proxy(this.hideModal,this)).emulateTransitionEnd(n.TRANSITION_DURATION):this.hideModal())},n.prototype.enforceFocus=function(){e(document).off("focusin.bs.modal").on("focusin.bs.modal",e.proxy(function(e){this.$element[0]===e.target||this.$element.has(e.target).length||this.$element.trigger("focus")},this))},n.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",e.proxy(function(e){27==e.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},n.prototype.resize=function(){this.isShown?e(window).on("resize.bs.modal",e.proxy(this.handleUpdate,this)):e(window).off("resize.bs.modal")},n.prototype.hideModal=function(){var e=this;this.$element.hide(),this.backdrop(function(){e.$body.removeClass("modal-open"),e.resetAdjustments(),e.resetScrollbar(),e.$element.trigger("hidden.bs.modal")})},n.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},n.prototype.backdrop=function(t){var i=this,s=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var r=e.support.transition&&s;if(this.$backdrop=e(document.createElement("div")).addClass("modal-backdrop "+s).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",e.proxy(function(e){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(e.target===e.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),r&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;r?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var o=function(){i.removeBackdrop(),t&&t()};e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",o).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION):o()}else t&&t()},n.prototype.handleUpdate=function(){this.adjustDialog()},n.prototype.adjustDialog=function(){var e=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&e?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!e?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var e=window.innerWidth;if(!e){var t=document.documentElement.getBoundingClientRect();e=t.right-Math.abs(t.left)}this.bodyIsOverflowing=document.body.clientWidth<e,this.scrollbarWidth=this.measureScrollbar()},n.prototype.setScrollbar=function(){var e=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",e+this.scrollbarWidth)},n.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},n.prototype.measureScrollbar=function(){var e=document.createElement("div");e.className="modal-scrollbar-measure",this.$body.append(e);var t=e.offsetWidth-e.clientWidth;return this.$body[0].removeChild(e),t};var i=e.fn.modal;e.fn.modal=t,e.fn.modal.Constructor=n,e.fn.modal.noConflict=function(){return e.fn.modal=i,this},e(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(n){var i=e(this),s=i.attr("href"),r=e(i.attr("data-target")||s&&s.replace(/.*(?=#[^\s]+$)/,"")),o=r.data("bs.modal")?"toggle":e.extend({remote:!/#/.test(s)&&s},r.data(),i.data());i.is("a")&&n.preventDefault(),r.one("show.bs.modal",function(e){e.isDefaultPrevented()||r.one("hidden.bs.modal",function(){i.is(":visible")&&i.trigger("focus")})}),t.call(r,o,this)})}(jQuery)},46:function(e,t){+function(e){"use strict";function t(t){return this.each(function(){var i=e(this),s=i.data("bs.popover"),r="object"==typeof t&&t;(s||!/destroy|hide/.test(t))&&(s||i.data("bs.popover",s=new n(this,r)),"string"==typeof t&&s[t]())})}var n=function(e,t){this.init("popover",e,t)};if(!e.fn.tooltip)throw new Error("Popover requires tooltip.js");n.VERSION="3.3.6",n.DEFAULTS=e.extend({},e.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),n.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),n.prototype.constructor=n,n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),e.removeClass("fade top bottom left right in"),e.find(".popover-title").html()||e.find(".popover-title").hide()},n.prototype.hasContent=function(){return this.getTitle()||this.getContent()},n.prototype.getContent=function(){var e=this.$element,t=this.options;return e.attr("data-content")||("function"==typeof t.content?t.content.call(e[0]):t.content)},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var i=e.fn.popover;e.fn.popover=t,e.fn.popover.Constructor=n,e.fn.popover.noConflict=function(){return e.fn.popover=i,this}}(jQuery)},47:function(e,t){+function(e){"use strict";function t(n,i){this.$body=e(document.body),this.$scrollElement=e(e(n).is(document.body)?window:n),this.options=e.extend({},t.DEFAULTS,i),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var i=e(this),s=i.data("bs.scrollspy"),r="object"==typeof n&&n;s||i.data("bs.scrollspy",s=new t(this,r)),"string"==typeof n&&s[n]()})}t.VERSION="3.3.6",t.DEFAULTS={offset:10},t.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},t.prototype.refresh=function(){var t=this,n="offset",i=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),e.isWindow(this.$scrollElement[0])||(n="position",i=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=e(this),s=t.data("target")||t.attr("href"),r=/^#./.test(s)&&e(s);return r&&r.length&&r.is(":visible")&&[[r[n]().top+i,s]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var e,t=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),i=this.options.offset+n-this.$scrollElement.height(),s=this.offsets,r=this.targets,o=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),t>=i)return o!=(e=r[r.length-1])&&this.activate(e);if(o&&t<s[0])return this.activeTarget=null,this.clear();for(e=s.length;e--;)o!=r[e]&&t>=s[e]&&(void 0===s[e+1]||t<s[e+1])&&this.activate(r[e])},t.prototype.activate=function(t){this.activeTarget=t,this.clear();var n=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=e(n).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate.bs.scrollspy")},t.prototype.clear=function(){e(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var i=e.fn.scrollspy;e.fn.scrollspy=n,e.fn.scrollspy.Constructor=t,e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=i,this},e(window).on("load.bs.scrollspy.data-api",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);n.call(t,t.data())})})}(jQuery)},48:function(e,t){+function(e){"use strict";function t(t){return this.each(function(){var i=e(this),s=i.data("bs.tab");s||i.data("bs.tab",s=new n(this)),"string"==typeof t&&s[t]()})}var n=function(t){this.element=e(t)};n.VERSION="3.3.6",n.TRANSITION_DURATION=150,n.prototype.show=function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),i=t.data("target");if(i||(i=t.attr("href"),i=i&&i.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var s=n.find(".active:last a"),r=e.Event("hide.bs.tab",{relatedTarget:t[0]}),o=e.Event("show.bs.tab",{relatedTarget:s[0]});if(s.trigger(r),t.trigger(o),!o.isDefaultPrevented()&&!r.isDefaultPrevented()){var a=e(i);this.activate(t.closest("li"),n),this.activate(a,a.parent(),function(){s.trigger({type:"hidden.bs.tab",relatedTarget:t[0]}),t.trigger({type:"shown.bs.tab",relatedTarget:s[0]})})}}},n.prototype.activate=function(t,i,s){function r(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),a?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),s&&s()}var o=i.find("> .active"),a=s&&e.support.transition&&(o.length&&o.hasClass("fade")||!!i.find("> .fade").length);o.length&&a?o.one("bsTransitionEnd",r).emulateTransitionEnd(n.TRANSITION_DURATION):r(),o.removeClass("in")};var i=e.fn.tab;e.fn.tab=t,e.fn.tab.Constructor=n,e.fn.tab.noConflict=function(){return e.fn.tab=i,this};var s=function(n){n.preventDefault(),t.call(e(this),"show")};e(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',s).on("click.bs.tab.data-api",'[data-toggle="pill"]',s)}(jQuery)},49:function(e,t){+function(e){"use strict";function t(t){return this.each(function(){var i=e(this),s=i.data("bs.tooltip"),r="object"==typeof t&&t;(s||!/destroy|hide/.test(t))&&(s||i.data("bs.tooltip",s=new n(this,r)),"string"==typeof t&&s[t]())})}var n=function(e,t){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",e,t)};n.VERSION="3.3.6",n.TRANSITION_DURATION=150,n.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},n.prototype.init=function(t,n,i){if(this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&e(e.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var s=this.options.trigger.split(" "),r=s.length;r--;){var o=s[r];if("click"==o)this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if("manual"!=o){var a="hover"==o?"mouseenter":"focusin",l="hover"==o?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.getOptions=function(t){return t=e.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},n.prototype.getDelegateOptions=function(){var t={},n=this.getDefaults();return this._options&&e.each(this._options,function(e,i){n[e]!=i&&(t[e]=i)}),t},n.prototype.enter=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusin"==t.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},n.prototype.isInStateTrue=function(){for(var e in this.inState)if(this.inState[e])return!0;return!1},n.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusout"==t.type?"focus":"hover"]=!1),n.isInStateTrue()?void 0:(clearTimeout(n.timeout),n.hoverState="out",n.options.delay&&n.options.delay.hide?void(n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)):n.hide())},n.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var i=e.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!i)return;var s=this,r=this.tip(),o=this.getUID(this.type);this.setContent(),r.attr("id",o),this.$element.attr("aria-describedby",o),this.options.animation&&r.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,r[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,c=l.test(a);c&&(a=a.replace(l,"")||"top"),r.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?r.appendTo(this.options.container):r.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var h=this.getPosition(),u=r[0].offsetWidth,d=r[0].offsetHeight;if(c){var f=a,g=this.getPosition(this.$viewport);a="bottom"==a&&h.bottom+d>g.bottom?"top":"top"==a&&h.top-d<g.top?"bottom":"right"==a&&h.right+u>g.width?"left":"left"==a&&h.left-u<g.left?"right":a,r.removeClass(f).addClass(a)}var p=this.getCalculatedOffset(a,h,u,d);this.applyPlacement(p,a);var m=function(){var e=s.hoverState;s.$element.trigger("shown.bs."+s.type),s.hoverState=null,"out"==e&&s.leave(s)};e.support.transition&&this.$tip.hasClass("fade")?r.one("bsTransitionEnd",m).emulateTransitionEnd(n.TRANSITION_DURATION):m()}},n.prototype.applyPlacement=function(t,n){var i=this.tip(),s=i[0].offsetWidth,r=i[0].offsetHeight,o=parseInt(i.css("margin-top"),10),a=parseInt(i.css("margin-left"),10);isNaN(o)&&(o=0),isNaN(a)&&(a=0),t.top+=o,t.left+=a,e.offset.setOffset(i[0],e.extend({using:function(e){i.css({top:Math.round(e.top),left:Math.round(e.left)})}},t),0),i.addClass("in");var l=i[0].offsetWidth,c=i[0].offsetHeight;"top"==n&&c!=r&&(t.top=t.top+r-c);var h=this.getViewportAdjustedDelta(n,t,l,c);h.left?t.left+=h.left:t.top+=h.top;var u=/top|bottom/.test(n),d=u?2*h.left-s+l:2*h.top-r+c,f=u?"offsetWidth":"offsetHeight";i.offset(t),this.replaceArrow(d,i[0][f],u)},n.prototype.replaceArrow=function(e,t,n){this.arrow().css(n?"left":"top",50*(1-e/t)+"%").css(n?"top":"left","")},n.prototype.setContent=function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},n.prototype.hide=function(t){function i(){"in"!=s.hoverState&&r.detach(),s.$element.removeAttr("aria-describedby").trigger("hidden.bs."+s.type),t&&t()}var s=this,r=e(this.$tip),o=e.Event("hide.bs."+this.type);return this.$element.trigger(o),o.isDefaultPrevented()?void 0:(r.removeClass("in"),e.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",i).emulateTransitionEnd(n.TRANSITION_DURATION):i(),this.hoverState=null,this)},n.prototype.fixTitle=function(){var e=this.$element;(e.attr("title")||"string"!=typeof e.attr("data-original-title"))&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},n.prototype.hasContent=function(){return this.getTitle()},n.prototype.getPosition=function(t){t=t||this.$element;var n=t[0],i="BODY"==n.tagName,s=n.getBoundingClientRect();null==s.width&&(s=e.extend({},s,{width:s.right-s.left,height:s.bottom-s.top}));var r=i?{top:0,left:0}:t.offset(),o={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},a=i?{width:e(window).width(),height:e(window).height()}:null;return e.extend({},s,o,a,r)},n.prototype.getCalculatedOffset=function(e,t,n,i){return"bottom"==e?{top:t.top+t.height,left:t.left+t.width/2-n/2}:"top"==e?{top:t.top-i,left:t.left+t.width/2-n/2}:"left"==e?{top:t.top+t.height/2-i/2,left:t.left-n}:{top:t.top+t.height/2-i/2,left:t.left+t.width}},n.prototype.getViewportAdjustedDelta=function(e,t,n,i){var s={top:0,left:0};if(!this.$viewport)return s;var r=this.options.viewport&&this.options.viewport.padding||0,o=this.getPosition(this.$viewport);if(/right|left/.test(e)){var a=t.top-r-o.scroll,l=t.top+r-o.scroll+i;a<o.top?s.top=o.top-a:l>o.top+o.height&&(s.top=o.top+o.height-l)}else{var c=t.left-r,h=t.left+r+n;c<o.left?s.left=o.left-c:h>o.right&&(s.left=o.left+o.width-h)}return s},n.prototype.getTitle=function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||("function"==typeof n.title?n.title.call(t[0]):n.title)},n.prototype.getUID=function(e){do e+=~~(1e6*Math.random());while(document.getElementById(e));return e},n.prototype.tip=function(){if(!this.$tip&&(this.$tip=e(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},n.prototype.enable=function(){this.enabled=!0},n.prototype.disable=function(){this.enabled=!1},n.prototype.toggleEnabled=function(){this.enabled=!this.enabled},n.prototype.toggle=function(t){var n=this;t&&(n=e(t.currentTarget).data("bs."+this.type),n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n))),t?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},n.prototype.destroy=function(){var e=this;clearTimeout(this.timeout),this.hide(function(){e.$element.off("."+e.type).removeData("bs."+e.type),e.$tip&&e.$tip.detach(),e.$tip=null,e.$arrow=null,e.$viewport=null})};var i=e.fn.tooltip;e.fn.tooltip=t,e.fn.tooltip.Constructor=n,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=i,this}}(jQuery)},50:function(e,t){+function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(void 0!==e.style[n])return{end:t[n]};return!1}e.fn.emulateTransitionEnd=function(t){var n=!1,i=this;e(this).one("bsTransitionEnd",function(){n=!0});var s=function(){n||e(i).trigger(e.support.transition.end)};return setTimeout(s,t),this},e(function(){e.support.transition=t(),e.support.transition&&(e.event.special.bsTransitionEnd={bindType:e.support.transition.end,delegateType:e.support.transition.end,handle:function(t){return e(t.target).is(this)?t.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery)},51:function(e,t){!function(e){"undefined"==typeof e.fn.each2&&e.extend(e.fn,{each2:function(t){for(var n=e([0]),i=-1,s=this.length;++i<s&&(n.context=n[0]=this[i])&&t.call(n[0],i,n)!==!1;);return this}})}(jQuery),function(e,t){"use strict";function n(t){var n=e(document.createTextNode(""));t.before(n),n.before(t),n.remove()}function i(e){function t(e){return W[e]||e}return e.replace(/[^\u0000-\u007E]/g,t)}function s(e,t){for(var n=0,i=t.length;i>n;n+=1)if(o(e,t[n]))return n;return-1}function r(){var t=e(N);t.appendTo("body");var n={width:t.width()-t[0].clientWidth,height:t.height()-t[0].clientHeight};return t.remove(),n}function o(e,n){return e===n?!0:e===t||n===t?!1:null===e||null===n?!1:e.constructor===String?e+""==n+"":n.constructor===String?n+""==e+"":!1}function a(t,n){var i,s,r;if(null===t||t.length<1)return[];for(i=t.split(n),s=0,r=i.length;r>s;s+=1)i[s]=e.trim(i[s]);return i}function l(e){return e.outerWidth(!1)-e.width()}function c(n){var i="keyup-change-value";n.on("keydown",function(){e.data(n,i)===t&&e.data(n,i,n.val())}),n.on("keyup",function(){var s=e.data(n,i);s!==t&&n.val()!==s&&(e.removeData(n,i),n.trigger("keyup-change"))})}function h(n){n.on("mousemove",function(n){var i=P;(i===t||i.x!==n.pageX||i.y!==n.pageY)&&e(n.target).trigger("mousemove-filtered",n)})}function u(e,n,i){i=i||t;var s;return function(){var t=arguments;window.clearTimeout(s),s=window.setTimeout(function(){n.apply(i,t)},e)}}function d(e,t){var n=u(e,function(e){t.trigger("scroll-debounced",e)});t.on("scroll",function(e){s(e.target,t.get())>=0&&n(e)})}function f(e){e[0]!==document.activeElement&&window.setTimeout(function(){var t,n=e[0],i=e.val().length;e.focus();var s=n.offsetWidth>0||n.offsetHeight>0;s&&n===document.activeElement&&(n.setSelectionRange?n.setSelectionRange(i,i):n.createTextRange&&(t=n.createTextRange(),t.collapse(!1),t.select()))},0)}function g(t){t=e(t)[0];var n=0,i=0;if("selectionStart"in t)n=t.selectionStart,i=t.selectionEnd-n;else if("selection"in document){t.focus();var s=document.selection.createRange();i=document.selection.createRange().text.length,s.moveStart("character",-t.value.length),n=s.text.length-i}return{offset:n,length:i}}function p(e){e.preventDefault(),e.stopPropagation()}function m(e){e.preventDefault(),e.stopImmediatePropagation()}function v(t){if(!M){var n=t[0].currentStyle||window.getComputedStyle(t[0],null);M=e(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:n.fontSize,fontFamily:n.fontFamily,fontStyle:n.fontStyle,fontWeight:n.fontWeight,letterSpacing:n.letterSpacing,textTransform:n.textTransform,whiteSpace:"nowrap"}),M.attr("class","select2-sizer"),e("body").append(M)}return M.text(t.val()),M.width()}function C(t,n,i){var s,r,o=[];s=e.trim(t.attr("class")),s&&(s=""+s,e(s.split(/\s+/)).each2(function(){0===this.indexOf("select2-")&&o.push(this)})),s=e.trim(n.attr("class")),s&&(s=""+s,e(s.split(/\s+/)).each2(function(){0!==this.indexOf("select2-")&&(r=i(this),r&&o.push(r))})),t.attr("class",o.join(" "))}function A(e,t,n,s){var r=i(e.toUpperCase()).indexOf(i(t.toUpperCase())),o=t.length;return 0>r?void n.push(s(e)):(n.push(s(e.substring(0,r))),n.push("<span class='select2-match'>"),n.push(s(e.substring(r,r+o))),n.push("</span>"),void n.push(s(e.substring(r+o,e.length))))}function w(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})}function b(n){var i,s=null,r=n.quietMillis||100,o=n.url,a=this;return function(l){window.clearTimeout(i),i=window.setTimeout(function(){var i=n.data,r=o,c=n.transport||e.fn.select2.ajaxDefaults.transport,h={type:n.type||"GET",cache:n.cache||!1,jsonpCallback:n.jsonpCallback||t,dataType:n.dataType||"json"},u=e.extend({},e.fn.select2.ajaxDefaults.params,h);i=i?i.call(a,l.term,l.page,l.context):null,r="function"==typeof r?r.call(a,l.term,l.page,l.context):r,s&&"function"==typeof s.abort&&s.abort(),n.params&&(e.isFunction(n.params)?e.extend(u,n.params.call(a)):e.extend(u,n.params)),e.extend(u,{url:r,dataType:n.dataType,data:i,success:function(e){var t=n.results(e,l.page,l);l.callback(t)},error:function(e,t,n){var i={hasError:!0,jqXHR:e,textStatus:t,errorThrown:n};l.callback(i)}}),s=c.call(a,u)},r)}}function y(t){var n,i,s=t,r=function(e){return""+e.text};e.isArray(s)&&(i=s,s={results:i}),e.isFunction(s)===!1&&(i=s,s=function(){return i});var o=s();return o.text&&(r=o.text,e.isFunction(r)||(n=o.text,r=function(e){return e[n]})),function(t){var n,i=t.term,o={results:[]};return""===i?void t.callback(s()):(n=function(s,o){var a,l;if(s=s[0],s.children){a={};for(l in s)s.hasOwnProperty(l)&&(a[l]=s[l]);a.children=[],e(s.children).each2(function(e,t){n(t,a.children)}),(a.children.length||t.matcher(i,r(a),s))&&o.push(a)}else t.matcher(i,r(s),s)&&o.push(s)},e(s().results).each2(function(e,t){n(t,o.results)}),void t.callback(o))}}function F(n){var i=e.isFunction(n);return function(s){var r=s.term,o={results:[]},a=i?n(s):n;e.isArray(a)&&(e(a).each(function(){var e=this.text!==t,n=e?this.text:this;(""===r||s.matcher(r,n))&&o.results.push(e?this:{id:this,text:this})}),s.callback(o))}}function E(t,n){if(e.isFunction(t))return!0;if(!t)return!1;if("string"==typeof t)return!0;throw new Error(n+" must be a string, function, or falsy value")}function S(t,n){if(e.isFunction(t)){var i=Array.prototype.slice.call(arguments,2);return t.apply(n,i)}return t}function D(t){var n=0;return e.each(t,function(e,t){t.children?n+=D(t.children):n++}),n}function x(e,n,i,s){var r,a,l,c,h,u=e,d=!1;if(!s.createSearchChoice||!s.tokenSeparators||s.tokenSeparators.length<1)return t;for(;;){for(a=-1,l=0,c=s.tokenSeparators.length;c>l&&(h=s.tokenSeparators[l],a=e.indexOf(h),!(a>=0));l++);if(0>a)break;if(r=e.substring(0,a),e=e.substring(a+h.length),r.length>0&&(r=s.createSearchChoice.call(this,r,n),r!==t&&null!==r&&s.id(r)!==t&&null!==s.id(r))){for(d=!1,l=0,c=n.length;c>l;l++)if(o(s.id(r),s.id(n[l]))){d=!0;break}d||i(r)}}return u!==e?e:void 0}function $(){var t=this;e.each(arguments,function(e,n){t[n].remove(),t[n]=null})}function T(t,n){var i=function(){};return i.prototype=new t,i.prototype.constructor=i,i.prototype.parent=t.prototype,i.prototype=e.extend(i.prototype,n),i}if(window.Select2===t){var B,k,L,_,R,M,O,I,P={x:0,y:0},B={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(e){switch(e=e.which?e.which:e){case B.LEFT:case B.RIGHT:case B.UP:case B.DOWN:return!0}return!1},isControl:function(e){var t=e.which;switch(t){case B.SHIFT:case B.CTRL:case B.ALT:return!0}return e.metaKey?!0:!1},isFunctionKey:function(e){return e=e.which?e.which:e,e>=112&&123>=e}},N="<div class='select2-measure-scrollbar'></div>",W={"Ⓐ":"A","Ａ":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","Ｂ":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","Ｃ":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","Ｄ":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","Ǳ":"DZ","Ǆ":"DZ","ǲ":"Dz","ǅ":"Dz","Ⓔ":"E","Ｅ":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","Ｆ":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","Ｇ":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","Ｈ":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","Ｉ":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","Ｊ":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","Ｋ":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","Ｌ":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","Ǉ":"LJ","ǈ":"Lj","Ⓜ":"M","Ｍ":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","Ｎ":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","Ǌ":"NJ","ǋ":"Nj","Ⓞ":"O","Ｏ":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","Ｐ":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Ｑ":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","Ｒ":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","Ｓ":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","Ｔ":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","Ｕ":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","Ｖ":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","Ｗ":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","Ｘ":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Ｙ":"Y","Ỳ":"Y",
"Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Ｚ":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","ａ":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","ｂ":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","ｃ":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","ｄ":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","ǳ":"dz","ǆ":"dz","ⓔ":"e","ｅ":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","ｆ":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","ｇ":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","ｈ":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","ｉ":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","ｊ":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","ｋ":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","ｌ":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","ǉ":"lj","ⓜ":"m","ｍ":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","ｎ":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ŉ":"n","ꞑ":"n","ꞥ":"n","ǌ":"nj","ⓞ":"o","ｏ":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","ｐ":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","ｑ":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","ｒ":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","ｓ":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","ｔ":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","ｕ":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","ｖ":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","ｗ":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","ｘ":"x","ẋ":"x","ẍ":"x","ⓨ":"y","ｙ":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","ｚ":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};O=e(document),R=function(){var e=1;return function(){return e++}}(),k=T(Object,{bind:function(e){var t=this;return function(){e.apply(t,arguments)}},init:function(n){var i,s,o=".select2-results";this.opts=n=this.prepareOpts(n),this.id=n.id,n.element.data("select2")!==t&&null!==n.element.data("select2")&&n.element.data("select2").destroy(),this.container=this.createContainer(),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("select2-hidden-accessible").appendTo(document.body),this.containerId="s2id_"+(n.element.attr("id")||"autogen"+R()),this.containerEventName=this.containerId.replace(/([.])/g,"_").replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.container.attr("title",n.element.attr("title")),this.body=e("body"),C(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",n.element.attr("style")),this.container.css(S(n.containerCss,this.opts.element)),this.container.addClass(S(n.containerCssClass,this.opts.element)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container).on("click.select2",p),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),C(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(S(n.dropdownCssClass,this.opts.element)),this.dropdown.data("select2",this),this.dropdown.on("click",p),this.results=i=this.container.find(o),this.search=s=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",p),h(this.results),this.dropdown.on("mousemove-filtered",o,this.bind(this.highlightUnderEvent)),this.dropdown.on("touchstart touchmove touchend",o,this.bind(function(e){this._touchEvent=!0,this.highlightUnderEvent(e)})),this.dropdown.on("touchmove",o,this.bind(this.touchMoved)),this.dropdown.on("touchstart touchend",o,this.bind(this.clearTouchMoved)),this.dropdown.on("click",this.bind(function(e){this._touchEvent&&(this._touchEvent=!1,this.selectHighlighted())})),d(80,this.results),this.dropdown.on("scroll-debounced",o,this.bind(this.loadMoreIfNeeded)),e(this.container).on("change",".select2-input",function(e){e.stopPropagation()}),e(this.dropdown).on("change",".select2-input",function(e){e.stopPropagation()}),e.fn.mousewheel&&i.mousewheel(function(e,t,n,s){var r=i.scrollTop();s>0&&0>=r-s?(i.scrollTop(0),p(e)):0>s&&i.get(0).scrollHeight-i.scrollTop()+s<=i.height()&&(i.scrollTop(i.get(0).scrollHeight-i.height()),p(e))}),c(s),s.on("keyup-change input paste",this.bind(this.updateResults)),s.on("focus",function(){s.addClass("select2-focused")}),s.on("blur",function(){s.removeClass("select2-focused")}),this.dropdown.on("mouseup",o,this.bind(function(t){e(t.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(t),this.selectHighlighted(t))})),this.dropdown.on("click mouseup mousedown touchstart touchend focusin",function(e){e.stopPropagation()}),this.nextSearchTerm=t,e.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==n.maximumInputLength&&this.search.attr("maxlength",n.maximumInputLength);var a=n.element.prop("disabled");a===t&&(a=!1),this.enable(!a);var l=n.element.prop("readonly");l===t&&(l=!1),this.readonly(l),I=I||r(),this.autofocus=n.element.prop("autofocus"),n.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.search.attr("placeholder",n.searchInputPlaceholder)},destroy:function(){var e=this.opts.element,n=e.data("select2"),i=this;this.close(),e.length&&e[0].detachEvent&&e.each(function(){this.detachEvent("onpropertychange",i._sync)}),this.propertyObserver&&(this.propertyObserver.disconnect(),this.propertyObserver=null),this._sync=null,n!==t&&(n.container.remove(),n.liveRegion.remove(),n.dropdown.remove(),e.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?e.attr({tabindex:this.elementTabIndex}):e.removeAttr("tabindex"),e.show()),$.call(this,"container","liveRegion","dropdown","results","search")},optionToData:function(e){return e.is("option")?{id:e.prop("value"),text:e.text(),element:e.get(),css:e.attr("class"),disabled:e.prop("disabled"),locked:o(e.attr("locked"),"locked")||o(e.data("locked"),!0)}:e.is("optgroup")?{text:e.attr("label"),children:[],element:e.get(),css:e.attr("class")}:void 0},prepareOpts:function(n){var i,s,r,l,c=this;if(i=n.element,"select"===i.get(0).tagName.toLowerCase()&&(this.select=s=n.element),s&&e.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in n)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),n=e.extend({},{populateResults:function(i,s,r){var o,a=this.opts.id,l=this.liveRegion;(o=function(i,s,h){var u,d,f,g,p,m,v,C,A,w;i=n.sortResults(i,s,r);var b=[];for(u=0,d=i.length;d>u;u+=1)f=i[u],p=f.disabled===!0,g=!p&&a(f)!==t,m=f.children&&f.children.length>0,v=e("<li></li>"),v.addClass("select2-results-dept-"+h),v.addClass("select2-result"),v.addClass(g?"select2-result-selectable":"select2-result-unselectable"),p&&v.addClass("select2-disabled"),m&&v.addClass("select2-result-with-children"),v.addClass(c.opts.formatResultCssClass(f)),v.attr("role","presentation"),C=e(document.createElement("div")),C.addClass("select2-result-label"),C.attr("id","select2-result-label-"+R()),C.attr("role","option"),w=n.formatResult(f,C,r,c.opts.escapeMarkup),w!==t&&(C.html(w),v.append(C)),m&&(A=e("<ul></ul>"),A.addClass("select2-result-sub"),o(f.children,A,h+1),v.append(A)),v.data("select2-data",f),b.push(v[0]);s.append(b),l.text(n.formatMatches(i.length))})(s,i,0)}},e.fn.select2.defaults,n),"function"!=typeof n.id&&(r=n.id,n.id=function(e){return e[r]}),e.isArray(n.element.data("select2Tags"))){if("tags"in n)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+n.element.attr("id");n.tags=n.element.data("select2Tags")}if(s?(n.query=this.bind(function(e){var n,s,r,o={results:[],more:!1},a=e.term;r=function(t,n){var i;t.is("option")?e.matcher(a,t.text(),t)&&n.push(c.optionToData(t)):t.is("optgroup")&&(i=c.optionToData(t),t.children().each2(function(e,t){r(t,i.children)}),i.children.length>0&&n.push(i))},n=i.children(),this.getPlaceholder()!==t&&n.length>0&&(s=this.getPlaceholderOption(),s&&(n=n.not(s))),n.each2(function(e,t){r(t,o.results)}),e.callback(o)}),n.id=function(e){return e.id}):"query"in n||("ajax"in n?(l=n.element.data("ajax-url"),l&&l.length>0&&(n.ajax.url=l),n.query=b.call(n.element,n.ajax)):"data"in n?n.query=y(n.data):"tags"in n&&(n.query=F(n.tags),n.createSearchChoice===t&&(n.createSearchChoice=function(t){return{id:e.trim(t),text:e.trim(t)}}),n.initSelection===t&&(n.initSelection=function(t,i){var s=[];e(a(t.val(),n.separator)).each(function(){var t={id:this,text:this},i=n.tags;e.isFunction(i)&&(i=i()),e(i).each(function(){return o(this.id,t.id)?(t=this,!1):void 0}),s.push(t)}),i(s)}))),"function"!=typeof n.query)throw"query function not defined for Select2 "+n.element.attr("id");if("top"===n.createSearchChoicePosition)n.createSearchChoicePosition=function(e,t){e.unshift(t)};else if("bottom"===n.createSearchChoicePosition)n.createSearchChoicePosition=function(e,t){e.push(t)};else if("function"!=typeof n.createSearchChoicePosition)throw"invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";return n},monitorSource:function(){var n,i=this.opts.element,s=this;i.on("change.select2",this.bind(function(e){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),this._sync=this.bind(function(){var e=i.prop("disabled");e===t&&(e=!1),this.enable(!e);var n=i.prop("readonly");n===t&&(n=!1),this.readonly(n),C(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(S(this.opts.containerCssClass,this.opts.element)),C(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(S(this.opts.dropdownCssClass,this.opts.element))}),i.length&&i[0].attachEvent&&i.each(function(){this.attachEvent("onpropertychange",s._sync)}),n=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,n!==t&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new n(function(t){e.each(t,s._sync)}),this.propertyObserver.observe(i.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(t){var n=e.Event("select2-selecting",{val:this.id(t),object:t,choice:t});return this.opts.element.trigger(n),!n.isDefaultPrevented()},triggerChange:function(t){t=t||{},t=e.extend({},t,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(t),this.opts.element.data("select2-change-triggered",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},isInterfaceEnabled:function(){return this.enabledInterface===!0},enableInterface:function(){var e=this._enabled&&!this._readonly,t=!e;return e===this.enabledInterface?!1:(this.container.toggleClass("select2-container-disabled",t),this.close(),this.enabledInterface=e,!0)},enable:function(e){e===t&&(e=!0),this._enabled!==e&&(this._enabled=e,this.opts.element.prop("disabled",!e),this.enableInterface())},disable:function(){this.enable(!1)},readonly:function(e){e===t&&(e=!1),this._readonly!==e&&(this._readonly=e,this.opts.element.prop("readonly",e),this.enableInterface())},opened:function(){return this.container?this.container.hasClass("select2-dropdown-open"):!1},positionDropdown:function(){var t,n,i,s,r,o=this.dropdown,a=this.container.offset(),l=this.container.outerHeight(!1),c=this.container.outerWidth(!1),h=o.outerHeight(!1),u=e(window),d=u.width(),f=u.height(),g=u.scrollLeft()+d,p=u.scrollTop()+f,m=a.top+l,v=a.left,C=p>=m+h,A=a.top-h>=u.scrollTop(),w=o.outerWidth(!1),b=g>=v+w,y=o.hasClass("select2-drop-above");y?(n=!0,!A&&C&&(i=!0,n=!1)):(n=!1,!C&&A&&(i=!0,n=!0)),i&&(o.hide(),a=this.container.offset(),l=this.container.outerHeight(!1),c=this.container.outerWidth(!1),h=o.outerHeight(!1),g=u.scrollLeft()+d,p=u.scrollTop()+f,m=a.top+l,v=a.left,w=o.outerWidth(!1),b=g>=v+w,o.show(),this.focusSearch()),this.opts.dropdownAutoWidth?(r=e(".select2-results",o)[0],o.addClass("select2-drop-auto-width"),o.css("width",""),w=o.outerWidth(!1)+(r.scrollHeight===r.clientHeight?0:I.width),w>c?c=w:w=c,h=o.outerHeight(!1),b=g>=v+w):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body.css("position")&&(t=this.body.offset(),m-=t.top,v-=t.left),b||(v=a.left+this.container.outerWidth(!1)-w),s={left:v,width:c},n?(s.top=a.top-h,s.bottom="auto",this.container.addClass("select2-drop-above"),o.addClass("select2-drop-above")):(s.top=m,s.bottom="auto",this.container.removeClass("select2-drop-above"),o.removeClass("select2-drop-above")),s=e.extend(s,S(this.opts.dropdownCss,this.opts.element)),o.css(s)},shouldOpen:function(){var t;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(t=e.Event("select2-opening"),this.opts.element.trigger(t),!t.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(this.opening(),O.on("mousemove.select2Event",function(e){P.x=e.pageX,P.y=e.pageY}),!0):!1},opening:function(){var t,i=this.containerEventName,s="scroll."+i,r="resize."+i,o="orientationchange."+i;this.container.addClass("select2-dropdown-open").addClass("select2-container-active"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body.children().last()[0]&&this.dropdown.detach().appendTo(this.body),t=e("#select2-drop-mask"),0==t.length&&(t=e(document.createElement("div")),t.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),t.hide(),t.appendTo(this.body),t.on("mousedown touchstart click",function(i){n(t);var s,r=e("#select2-drop");r.length>0&&(s=r.data("select2"),s.opts.selectOnBlur&&s.selectHighlighted({noFocus:!0}),s.close(),i.preventDefault(),i.stopPropagation())})),this.dropdown.prev()[0]!==t[0]&&this.dropdown.before(t),e("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),t.show(),this.positionDropdown(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var a=this;this.container.parents().add(window).each(function(){e(this).on(r+" "+s+" "+o,function(e){a.opened()&&a.positionDropdown()})})},close:function(){if(this.opened()){var t=this.containerEventName,n="scroll."+t,i="resize."+t,s="orientationchange."+t;this.container.parents().add(window).each(function(){e(this).off(n).off(i).off(s)}),this.clearDropdownAlignmentPreference(),e("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active"),this.results.empty(),O.off("mousemove.select2Event"),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(e.Event("select2-close"))}},externalSearch:function(e){this.open(),this.search.val(e),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return S(this.opts.maximumSelectionSize,this.opts.element)},ensureHighlightVisible:function(){var t,n,i,s,r,o,a,l,c=this.results;if(n=this.highlight(),!(0>n)){if(0==n)return void c.scrollTop(0);t=this.findHighlightableChoices().find(".select2-result-label"),i=e(t[n]),l=(i.offset()||{}).top||0,s=l+i.outerHeight(!0),n===t.length-1&&(a=c.find("li.select2-more-results"),a.length>0&&(s=a.offset().top+a.outerHeight(!0))),r=c.offset().top+c.outerHeight(!0),s>r&&c.scrollTop(c.scrollTop()+(s-r)),o=l-c.offset().top,0>o&&"none"!=i.css("display")&&c.scrollTop(c.scrollTop()+o)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)")},moveHighlight:function(t){for(var n=this.findHighlightableChoices(),i=this.highlight();i>-1&&i<n.length;){i+=t;var s=e(n[i]);if(s.hasClass("select2-result-selectable")&&!s.hasClass("select2-disabled")&&!s.hasClass("select2-selected")){this.highlight(i);break}}},highlight:function(t){var n,i,r=this.findHighlightableChoices();return 0===arguments.length?s(r.filter(".select2-highlighted")[0],r.get()):(t>=r.length&&(t=r.length-1),0>t&&(t=0),this.removeHighlight(),n=e(r[t]),n.addClass("select2-highlighted"),this.search.attr("aria-activedescendant",n.find(".select2-result-label").attr("id")),this.ensureHighlightVisible(),this.liveRegion.text(n.text()),i=n.data("select2-data"),void(i&&this.opts.element.trigger({type:"select2-highlight",val:this.id(i),choice:i})))},removeHighlight:function(){this.results.find(".select2-highlighted").removeClass("select2-highlighted")},touchMoved:function(){this._touchMoved=!0},clearTouchMoved:function(){this._touchMoved=!1},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(t){var n=e(t.target).closest(".select2-result-selectable");if(n.length>0&&!n.is(".select2-highlighted")){var i=this.findHighlightableChoices();this.highlight(i.index(n))}else 0==n.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var e,t=this.results,n=t.find("li.select2-more-results"),i=this.resultsPage+1,s=this,r=this.search.val(),o=this.context;0!==n.length&&(e=n.offset().top-t.offset().top-t.height(),e<=this.opts.loadMorePadding&&(n.addClass("select2-active"),this.opts.query({element:this.opts.element,term:r,page:i,context:o,matcher:this.opts.matcher,callback:this.bind(function(e){s.opened()&&(s.opts.populateResults.call(this,t,e.results,{term:r,page:i,context:o}),s.postprocessResults(e,!1,!1),e.more===!0?(n.detach().appendTo(t).text(S(s.opts.formatLoadMore,s.opts.element,i+1)),window.setTimeout(function(){s.loadMoreIfNeeded()},10)):n.remove(),s.positionDropdown(),s.resultsPage=i,s.context=e.context,this.opts.element.trigger({type:"select2-loaded",items:e}))})})))},tokenize:function(){},updateResults:function(n){function i(){c.removeClass("select2-active"),d.positionDropdown(),h.find(".select2-no-results,.select2-selection-limit,.select2-searching").length?d.liveRegion.text(h.text()):d.liveRegion.text(d.opts.formatMatches(h.find(".select2-result-selectable").length))}function s(e){h.html(e),i()}var r,a,l,c=this.search,h=this.results,u=this.opts,d=this,f=c.val(),g=e.data(this.container,"select2-last-term");if((n===!0||!g||!o(f,g))&&(e.data(this.container,"select2-last-term",f),n===!0||this.showSearchInput!==!1&&this.opened())){l=++this.queryCount;var p=this.getMaximumSelectionSize();if(p>=1&&(r=this.data(),e.isArray(r)&&r.length>=p&&E(u.formatSelectionTooBig,"formatSelectionTooBig")))return void s("<li class='select2-selection-limit'>"+S(u.formatSelectionTooBig,u.element,p)+"</li>");if(c.val().length<u.minimumInputLength)return s(E(u.formatInputTooShort,"formatInputTooShort")?"<li class='select2-no-results'>"+S(u.formatInputTooShort,u.element,c.val(),u.minimumInputLength)+"</li>":""),void(n&&this.showSearch&&this.showSearch(!0));if(u.maximumInputLength&&c.val().length>u.maximumInputLength)return void s(E(u.formatInputTooLong,"formatInputTooLong")?"<li class='select2-no-results'>"+S(u.formatInputTooLong,u.element,c.val(),u.maximumInputLength)+"</li>":"");u.formatSearching&&0===this.findHighlightableChoices().length&&s("<li class='select2-searching'>"+S(u.formatSearching,u.element)+"</li>"),c.addClass("select2-active"),this.removeHighlight(),a=this.tokenize(),a!=t&&null!=a&&c.val(a),this.resultsPage=1,u.query({element:u.element,term:c.val(),page:this.resultsPage,context:null,matcher:u.matcher,callback:this.bind(function(r){var a;if(l==this.queryCount){if(!this.opened())return void this.search.removeClass("select2-active");if(r.hasError!==t&&E(u.formatAjaxError,"formatAjaxError"))return void s("<li class='select2-ajax-error'>"+S(u.formatAjaxError,u.element,r.jqXHR,r.textStatus,r.errorThrown)+"</li>");if(this.context=r.context===t?null:r.context,this.opts.createSearchChoice&&""!==c.val()&&(a=this.opts.createSearchChoice.call(d,c.val(),r.results),a!==t&&null!==a&&d.id(a)!==t&&null!==d.id(a)&&0===e(r.results).filter(function(){return o(d.id(this),d.id(a))}).length&&this.opts.createSearchChoicePosition(r.results,a)),0===r.results.length&&E(u.formatNoMatches,"formatNoMatches"))return void s("<li class='select2-no-results'>"+S(u.formatNoMatches,u.element,c.val())+"</li>");h.empty(),d.opts.populateResults.call(this,h,r.results,{term:c.val(),page:this.resultsPage,context:null}),r.more===!0&&E(u.formatLoadMore,"formatLoadMore")&&(h.append("<li class='select2-more-results'>"+u.escapeMarkup(S(u.formatLoadMore,u.element,this.resultsPage))+"</li>"),window.setTimeout(function(){d.loadMoreIfNeeded()},10)),this.postprocessResults(r,n),i(),this.opts.element.trigger({type:"select2-loaded",items:r})}})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){f(this.search)},selectHighlighted:function(e){if(this._touchMoved)return void this.clearTouchMoved();var t=this.highlight(),n=this.results.find(".select2-highlighted"),i=n.closest(".select2-result").data("select2-data");i?(this.highlight(t),this.onSelect(i,e)):e&&e.noFocus&&this.close()},getPlaceholder:function(){var e;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((e=this.getPlaceholderOption())!==t?e.text():t)},getPlaceholderOption:function(){if(this.select){var n=this.select.children("option").first();if(this.opts.placeholderOption!==t)return"first"===this.opts.placeholderOption&&n||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===e.trim(n.text())&&""===n.val())return n}},initContainerWidth:function(){function n(){var n,i,s,r,o,a;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){if(n=this.opts.element.attr("style"),n!==t)for(i=n.split(";"),r=0,o=i.length;o>r;r+=1)if(a=i[r].replace(/\s/g,""),s=a.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==s&&s.length>=1)return s[1];return"resolve"===this.opts.width?(n=this.opts.element.css("width"),n.indexOf("%")>0?n:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return e.isFunction(this.opts.width)?this.opts.width():this.opts.width}var i=n.call(this);null!==i&&this.container.css("width",i)}}),L=T(k,{createContainer:function(){var t=e(document.createElement("div")).attr({"class":"select2-container"}).html(["<a href='javascript:void(0)' class='select2-choice' tabindex='-1'>","   <span class='select2-chosen'>&#160;</span><abbr class='select2-search-choice-close'></abbr>","   <span class='select2-arrow' role='presentation'><b role='presentation'></b></span>","</a>","<label for='' class='select2-offscreen'></label>","<input class='select2-focusser select2-offscreen' type='text' aria-haspopup='true' role='button' />","<div class='select2-drop select2-display-none'>","   <div class='select2-search'>","       <label for='' class='select2-offscreen'></label>","       <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input' role='combobox' aria-expanded='true'","       aria-autocomplete='list' />","   </div>","   <ul class='select2-results' role='listbox'>","   </ul>","</div>"].join(""));return t},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var n,i,s;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.opts.shouldFocusInput(this)&&(this.search.focus(),n=this.search.get(0),n.createTextRange?(i=n.createTextRange(),i.collapse(!1),i.select()):n.setSelectionRange&&(s=this.search.val().length,n.setSelectionRange(s,s))),""===this.search.val()&&this.nextSearchTerm!=t&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(e.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus()},destroy:function(){e("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),$.call(this,"selection","focusser")},initContainer:function(){var t,i,s=this.container,r=this.dropdown,o=R();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=t=s.find(".select2-choice"),this.focusser=s.find(".select2-focusser"),t.find(".select2-chosen").attr("id","select2-chosen-"+o),this.focusser.attr("aria-labelledby","select2-chosen-"+o),this.results.attr("id","select2-results-"+o),this.search.attr("aria-owns","select2-results-"+o),this.focusser.attr("id","s2id_autogen"+o),i=e("label[for='"+this.opts.element.attr("id")+"']"),this.focusser.prev().text(i.text()).attr("for",this.focusser.attr("id"));var a=this.opts.element.attr("title");this.opts.element.attr("title",a||i.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(e("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(e){if(this.isInterfaceEnabled()&&229!=e.keyCode){if(e.which===B.PAGE_UP||e.which===B.PAGE_DOWN)return void p(e);switch(e.which){case B.UP:case B.DOWN:return this.moveHighlight(e.which===B.UP?-1:1),void p(e);case B.ENTER:return this.selectHighlighted(),void p(e);case B.TAB:return void this.selectHighlighted({noFocus:!0});case B.ESC:return this.cancel(e),void p(e)}}})),this.search.on("blur",this.bind(function(e){document.activeElement===this.body.get(0)&&window.setTimeout(this.bind(function(){this.opened()&&this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(e){if(this.isInterfaceEnabled()&&e.which!==B.TAB&&!B.isControl(e)&&!B.isFunctionKey(e)&&e.which!==B.ESC){if(this.opts.openOnEnter===!1&&e.which===B.ENTER)return void p(e);if(e.which==B.DOWN||e.which==B.UP||e.which==B.ENTER&&this.opts.openOnEnter){if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey)return;return this.open(),void p(e)}return e.which==B.DELETE||e.which==B.BACKSPACE?(this.opts.allowClear&&this.clear(),void p(e)):void 0}})),c(this.focusser),this.focusser.on("keyup-change input",this.bind(function(e){if(this.opts.minimumResultsForSearch>=0){if(e.stopPropagation(),this.opened())return;this.open()}})),t.on("mousedown touchstart","abbr",this.bind(function(e){this.isInterfaceEnabled()&&(this.clear(),m(e),this.close(),this.selection.focus())})),t.on("mousedown touchstart",this.bind(function(i){n(t),this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),p(i)})),r.on("mousedown touchstart",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),t.on("focus",this.bind(function(e){p(e)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(e.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(t){var n=this.selection.data("select2-data");if(n){var i=e.Event("select2-clearing");if(this.opts.element.trigger(i),i.isDefaultPrevented())return;var s=this.getPlaceholderOption();this.opts.element.val(s?s.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),t!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(n),choice:n}),this.triggerChange({removed:n}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var e=this;this.opts.initSelection.call(null,this.opts.element,function(n){n!==t&&null!==n&&(e.updateSelection(n),e.close(),e.setPlaceholder(),e.nextSearchTerm=e.opts.nextSearchTerm(n,e.search.val()))})}},isPlaceholderOptionSelected:function(){var e;return this.getPlaceholder()===t?!1:(e=this.getPlaceholderOption())!==t&&e.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===t||null===this.opts.element.val()},prepareOpts:function(){var t=this.parent.prepareOpts.apply(this,arguments),n=this;return"select"===t.element.get(0).tagName.toLowerCase()?t.initSelection=function(e,t){var i=e.find("option").filter(function(){return this.selected&&!this.disabled});t(n.optionToData(i))}:"data"in t&&(t.initSelection=t.initSelection||function(n,i){var s=n.val(),r=null;t.query({matcher:function(e,n,i){var a=o(s,t.id(i));return a&&(r=i),a},callback:e.isFunction(i)?function(){i(r)}:e.noop
})}),t},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===t?t:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var e=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&e!==t){if(this.select&&this.getPlaceholderOption()===t)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(e)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(e,t,n){var i=0,s=this;if(this.findHighlightableChoices().each2(function(e,t){return o(s.id(t.data("select2-data")),s.opts.element.val())?(i=e,!1):void 0}),n!==!1&&(t===!0&&i>=0?this.highlight(i):this.highlight(0)),t===!0){var r=this.opts.minimumResultsForSearch;r>=0&&this.showSearch(D(e.results)>=r)}},showSearch:function(t){this.showSearchInput!==t&&(this.showSearchInput=t,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!t),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!t),e(this.dropdown,this.container).toggleClass("select2-with-searchbox",t))},onSelect:function(e,t){if(this.triggerSelect(e)){var n=this.opts.element.val(),i=this.data();this.opts.element.val(this.id(e)),this.updateSelection(e),this.opts.element.trigger({type:"select2-selected",val:this.id(e),choice:e}),this.nextSearchTerm=this.opts.nextSearchTerm(e,this.search.val()),this.close(),t&&t.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),o(n,this.id(e))||this.triggerChange({added:e,removed:i})}},updateSelection:function(e){var n,i,s=this.selection.find(".select2-chosen");this.selection.data("select2-data",e),s.empty(),null!==e&&(n=this.opts.formatSelection(e,s,this.opts.escapeMarkup)),n!==t&&s.append(n),i=this.opts.formatSelectionCssClass(e,s),i!==t&&s.addClass(i),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==t&&this.container.addClass("select2-allowclear")},val:function(){var e,n=!1,i=null,s=this,r=this.data();if(0===arguments.length)return this.opts.element.val();if(e=arguments[0],arguments.length>1&&(n=arguments[1]),this.select)this.select.val(e).find("option").filter(function(){return this.selected}).each2(function(e,t){return i=s.optionToData(t),!1}),this.updateSelection(i),this.setPlaceholder(),n&&this.triggerChange({added:i,removed:r});else{if(!e&&0!==e)return void this.clear(n);if(this.opts.initSelection===t)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(e),this.opts.initSelection(this.opts.element,function(e){s.opts.element.val(e?s.id(e):""),s.updateSelection(e),s.setPlaceholder(),n&&s.triggerChange({added:e,removed:r})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(e){var n,i=!1;return 0===arguments.length?(n=this.selection.data("select2-data"),n==t&&(n=null),n):(arguments.length>1&&(i=arguments[1]),void(e?(n=this.data(),this.opts.element.val(e?this.id(e):""),this.updateSelection(e),i&&this.triggerChange({added:e,removed:n})):this.clear(i)))}}),_=T(k,{createContainer:function(){var t=e(document.createElement("div")).attr({"class":"select2-container select2-container-multi"}).html(["<ul class='select2-choices'>","  <li class='select2-search-field'>","    <label for='' class='select2-offscreen'></label>","    <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>","  </li>","</ul>","<div class='select2-drop select2-drop-multi select2-display-none'>","   <ul class='select2-results'>","   </ul>","</div>"].join(""));return t},prepareOpts:function(){var t=this.parent.prepareOpts.apply(this,arguments),n=this;return"select"===t.element.get(0).tagName.toLowerCase()?t.initSelection=function(e,t){var i=[];e.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(e,t){i.push(n.optionToData(t))}),t(i)}:"data"in t&&(t.initSelection=t.initSelection||function(n,i){var s=a(n.val(),t.separator),r=[];t.query({matcher:function(n,i,a){var l=e.grep(s,function(e){return o(e,t.id(a))}).length;return l&&r.push(a),l},callback:e.isFunction(i)?function(){for(var e=[],n=0;n<s.length;n++)for(var a=s[n],l=0;l<r.length;l++){var c=r[l];if(o(a,t.id(c))){e.push(c),r.splice(l,1);break}}i(e)}:e.noop})}),t},selectChoice:function(e){var t=this.container.find(".select2-search-choice-focus");t.length&&e&&e[0]==t[0]||(t.length&&this.opts.element.trigger("choice-deselected",t),t.removeClass("select2-search-choice-focus"),e&&e.length&&(this.close(),e.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",e)))},destroy:function(){e("label[for='"+this.search.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),$.call(this,"searchContainer","selection")},initContainer:function(){var t,n=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=t=this.container.find(n);var i=this;this.selection.on("click",".select2-search-choice:not(.select2-locked)",function(t){i.search[0].focus(),i.selectChoice(e(this))}),this.search.attr("id","s2id_autogen"+R()),this.search.prev().text(e("label[for='"+this.opts.element.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("input paste",this.bind(function(){this.search.attr("placeholder")&&0==this.search.val().length||this.isInterfaceEnabled()&&(this.opened()||this.open())})),this.search.attr("tabindex",this.elementTabIndex),this.keydowns=0,this.search.on("keydown",this.bind(function(e){if(this.isInterfaceEnabled()){++this.keydowns;var n=t.find(".select2-search-choice-focus"),i=n.prev(".select2-search-choice:not(.select2-locked)"),s=n.next(".select2-search-choice:not(.select2-locked)"),r=g(this.search);if(n.length&&(e.which==B.LEFT||e.which==B.RIGHT||e.which==B.BACKSPACE||e.which==B.DELETE||e.which==B.ENTER)){var o=n;return e.which==B.LEFT&&i.length?o=i:e.which==B.RIGHT?o=s.length?s:null:e.which===B.BACKSPACE?this.unselect(n.first())&&(this.search.width(10),o=i.length?i:s):e.which==B.DELETE?this.unselect(n.first())&&(this.search.width(10),o=s.length?s:null):e.which==B.ENTER&&(o=null),this.selectChoice(o),p(e),void(o&&o.length||this.open())}if((e.which===B.BACKSPACE&&1==this.keydowns||e.which==B.LEFT)&&0==r.offset&&!r.length)return this.selectChoice(t.find(".select2-search-choice:not(.select2-locked)").last()),void p(e);if(this.selectChoice(null),this.opened())switch(e.which){case B.UP:case B.DOWN:return this.moveHighlight(e.which===B.UP?-1:1),void p(e);case B.ENTER:return this.selectHighlighted(),void p(e);case B.TAB:return this.selectHighlighted({noFocus:!0}),void this.close();case B.ESC:return this.cancel(e),void p(e)}if(e.which!==B.TAB&&!B.isControl(e)&&!B.isFunctionKey(e)&&e.which!==B.BACKSPACE&&e.which!==B.ESC){if(e.which===B.ENTER){if(this.opts.openOnEnter===!1)return;if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey)return}this.open(),(e.which===B.PAGE_UP||e.which===B.PAGE_DOWN)&&p(e),e.which===B.ENTER&&p(e)}}})),this.search.on("keyup",this.bind(function(e){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(t){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),t.stopImmediatePropagation(),this.opts.element.trigger(e.Event("select2-blur"))})),this.container.on("click",n,this.bind(function(t){this.isInterfaceEnabled()&&(e(t.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.open(),this.focusSearch(),t.preventDefault()))})),this.container.on("focus",n,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var e=this;this.opts.initSelection.call(null,this.opts.element,function(n){n!==t&&null!==n&&(e.updateSelection(n),e.close(),e.clearSearch())})}},clearSearch:function(){var e=this.getPlaceholder(),n=this.getMaxSearchWidth();e!==t&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(e).addClass("select2-default"),this.search.width(n>0?n:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),""===this.search.val()&&this.nextSearchTerm!=t&&(this.search.val(this.nextSearchTerm),this.search.select()),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(e.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(t){var n=[],i=[],r=this;e(t).each(function(){s(r.id(this),n)<0&&(n.push(r.id(this)),i.push(this))}),t=i,this.selection.find(".select2-search-choice").remove(),e(t).each(function(){r.addSelectedChoice(this)}),r.postprocessResults()},tokenize:function(){var e=this.search.val();e=this.opts.tokenizer.call(this,e,this.data(),this.bind(this.onSelect),this.opts),null!=e&&e!=t&&(this.search.val(e),e.length>0&&this.open())},onSelect:function(e,n){this.triggerSelect(e)&&""!==e.text&&(this.addSelectedChoice(e),this.opts.element.trigger({type:"selected",val:this.id(e),choice:e}),this.nextSearchTerm=this.opts.nextSearchTerm(e,this.search.val()),this.clearSearch(),this.updateResults(),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(e,!1,this.opts.closeOnSelect===!0),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()?this.updateResults(!0):this.nextSearchTerm!=t&&(this.search.val(this.nextSearchTerm),this.updateResults(),this.search.select()),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:e}),n&&n.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(n){var i,s,r=!n.locked,o=e("<li class='select2-search-choice'>    <div></div>    <a href='#' class='select2-search-choice-close' tabindex='-1'></a></li>"),a=e("<li class='select2-search-choice select2-locked'><div></div></li>"),l=r?o:a,c=this.id(n),h=this.getVal();i=this.opts.formatSelection(n,l.find("div"),this.opts.escapeMarkup),i!=t&&l.find("div").replaceWith("<div>"+i+"</div>"),s=this.opts.formatSelectionCssClass(n,l.find("div")),s!=t&&l.addClass(s),r&&l.find(".select2-search-choice-close").on("mousedown",p).on("click dblclick",this.bind(function(t){this.isInterfaceEnabled()&&(this.unselect(e(t.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),p(t),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),l.data("select2-data",n),l.insertBefore(this.searchContainer),h.push(c),this.setVal(h)},unselect:function(t){var n,i,r=this.getVal();if(t=t.closest(".select2-search-choice"),0===t.length)throw"Invalid argument: "+t+". Must be .select2-search-choice";if(n=t.data("select2-data")){var o=e.Event("select2-removing");if(o.val=this.id(n),o.choice=n,this.opts.element.trigger(o),o.isDefaultPrevented())return!1;for(;(i=s(this.id(n),r))>=0;)r.splice(i,1),this.setVal(r),this.select&&this.postprocessResults();return t.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(n),choice:n}),this.triggerChange({removed:n}),!0}},postprocessResults:function(e,t,n){var i=this.getVal(),r=this.results.find(".select2-result"),o=this.results.find(".select2-result-with-children"),a=this;r.each2(function(e,t){var n=a.id(t.data("select2-data"));s(n,i)>=0&&(t.addClass("select2-selected"),t.find(".select2-result-selectable").addClass("select2-selected"))}),o.each2(function(e,t){t.is(".select2-result-selectable")||0!==t.find(".select2-result-selectable:not(.select2-selected)").length||t.addClass("select2-selected")}),-1==this.highlight()&&n!==!1&&a.highlight(0),!this.opts.createSearchChoice&&!r.filter(".select2-result:not(.select2-selected)").length>0&&(!e||e&&!e.more&&0===this.results.find(".select2-no-results").length)&&E(a.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+S(a.opts.formatNoMatches,a.opts.element,a.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-l(this.search)},resizeSearch:function(){var e,t,n,i,s,r=l(this.search);e=v(this.search)+10,t=this.search.offset().left,n=this.selection.width(),i=this.selection.offset().left,s=n-(t-i)-r,e>s&&(s=n-r),40>s&&(s=n-r),0>=s&&(s=e),this.search.width(Math.floor(s))},getVal:function(){var e;return this.select?(e=this.select.val(),null===e?[]:e):(e=this.opts.element.val(),a(e,this.opts.separator))},setVal:function(t){var n;this.select?this.select.val(t):(n=[],e(t).each(function(){s(this,n)<0&&n.push(this)}),this.opts.element.val(0===n.length?"":n.join(this.opts.separator)))},buildChangeDetails:function(e,t){for(var t=t.slice(0),e=e.slice(0),n=0;n<t.length;n++)for(var i=0;i<e.length;i++)o(this.opts.id(t[n]),this.opts.id(e[i]))&&(t.splice(n,1),n>0&&n--,e.splice(i,1),i--);return{added:t,removed:e}},val:function(n,i){var s,r=this;if(0===arguments.length)return this.getVal();if(s=this.data(),s.length||(s=[]),!n&&0!==n)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),void(i&&this.triggerChange({added:this.data(),removed:s}));if(this.setVal(n),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),i&&this.triggerChange(this.buildChangeDetails(s,this.data()));else{if(this.opts.initSelection===t)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(t){var n=e.map(t,r.id);r.setVal(n),r.updateSelection(t),r.clearSearch(),i&&r.triggerChange(r.buildChangeDetails(s,r.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var t=[],n=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){t.push(n.opts.id(e(this).data("select2-data")))}),this.setVal(t),this.triggerChange()},data:function(t,n){var i,s,r=this;return 0===arguments.length?this.selection.children(".select2-search-choice").map(function(){return e(this).data("select2-data")}).get():(s=this.data(),t||(t=[]),i=e.map(t,function(e){return r.opts.id(e)}),this.setVal(i),this.updateSelection(t),this.clearSearch(),n&&this.triggerChange(this.buildChangeDetails(s,this.data())),void 0)}}),e.fn.select2=function(){var n,i,r,o,a,l=Array.prototype.slice.call(arguments,0),c=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],h=["opened","isFocused","container","dropdown"],u=["val","data"],d={search:"externalSearch"};return this.each(function(){if(0===l.length||"object"==typeof l[0])n=0===l.length?{}:e.extend({},l[0]),n.element=e(this),"select"===n.element.get(0).tagName.toLowerCase()?a=n.element.prop("multiple"):(a=n.multiple||!1,"tags"in n&&(n.multiple=a=!0)),i=a?new window.Select2["class"].multi:new window.Select2["class"].single,i.init(n);else{if("string"!=typeof l[0])throw"Invalid arguments to select2 plugin: "+l;if(s(l[0],c)<0)throw"Unknown method: "+l[0];if(o=t,i=e(this).data("select2"),i===t)return;if(r=l[0],"container"===r?o=i.container:"dropdown"===r?o=i.dropdown:(d[r]&&(r=d[r]),o=i[r].apply(i,l.slice(1))),s(l[0],h)>=0||s(l[0],u)>=0&&1==l.length)return!1}}),o===t?this:o},e.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(e,t,n,i){var s=[];return A(e.text,n.term,s,i),s.join("")},formatSelection:function(e,n,i){return e?i(e.text):t},sortResults:function(e,t,n){return e},formatResultCssClass:function(e){return e.css},formatSelectionCssClass:function(e,n){return t},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(e){return e==t?null:e.id},matcher:function(e,t){return i(""+t).toUpperCase().indexOf(i(""+e).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:x,escapeMarkup:w,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(e){return e},adaptDropdownCssClass:function(e){return null},nextSearchTerm:function(e,n){return t},searchInputPlaceholder:"",createSearchChoicePosition:"top",shouldFocusInput:function(e){var t="ontouchstart"in window||navigator.msMaxTouchPoints>0;return t&&e.opts.minimumResultsForSearch<0?!1:!0}},e.fn.select2.locales=[],e.fn.select2.locales.en={formatMatches:function(e){return 1===e?"One result is available, press enter to select it.":e+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatAjaxError:function(e,t,n){return"Loading failed"},formatInputTooShort:function(e,t){var n=t-e.length;return"Please enter "+n+" or more character"+(1==n?"":"s")},formatInputTooLong:function(e,t){var n=e.length-t;return"Please delete "+n+" character"+(1==n?"":"s")},formatSelectionTooBig:function(e){return"You can only select "+e+" item"+(1==e?"":"s")},formatLoadMore:function(e){return"Loading more results…"},formatSearching:function(){return"Searching…"}},e.extend(e.fn.select2.defaults,e.fn.select2.locales.en),e.fn.select2.ajaxDefaults={transport:e.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:b,local:y,tags:F},util:{debounce:u,markMatch:A,escapeMarkup:w,stripDiacritics:i},"class":{"abstract":k,single:L,multi:_}}}}(jQuery)},101:function(e,t,n){!function(){function e(e){var t=n;e&&(n[e]||(n[e]={}),t=n[e]),t.define&&t.define.packaged||(i.original=t.define,t.define=i,t.define.packaged=!0),t.acequire&&t.acequire.packaged||(r.original=t.acequire,t.acequire=r,t.acequire.packaged=!0)}var t="ace",n=function(){return this}();if(n||"undefined"==typeof window||(n=window),t||"undefined"==typeof acequirejs){var i=function(e,t,n){return"string"!=typeof e?void(i.original?i.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())):(2==arguments.length&&(n=t),void(i.modules[e]||(i.payloads[e]=n,i.modules[e]=null)))};i.modules={},i.payloads={};var s=function(e,t,n){if("string"==typeof t){var i=a(e,t);if(void 0!=i)return n&&n(),i}else if("[object Array]"===Object.prototype.toString.call(t)){for(var s=[],o=0,l=t.length;l>o;++o){var c=a(e,t[o]);if(void 0==c&&r.original)return;s.push(c)}return n&&n.apply(null,s)||!0}},r=function(e,t){var n=s("",e,t);return void 0==n&&r.original?r.original.apply(this,arguments):n},o=function(e,t){if(-1!==t.indexOf("!")){var n=t.split("!");return o(e,n[0])+"!"+o(e,n[1])}if("."==t.charAt(0)){var i=e.split("/").slice(0,-1).join("/");for(t=i+"/"+t;-1!==t.indexOf(".")&&s!=t;){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},a=function(e,t){t=o(e,t);var n=i.modules[t];if(!n){if(n=i.payloads[t],"function"==typeof n){var r={},a={id:t,uri:"",exports:r,packaged:!0},l=function(e,n){return s(t,e,n)},c=n(l,r,a);r=c||a.exports,i.modules[t]=r,delete i.payloads[t]}n=i.modules[t]=r||n}return n};e(t)}}(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function i(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function s(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var i=n||0;i<e.length;i++)if(e[i]===t)return i;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},o=void 0===r.exec.call(/()??/,"")[1],a=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();a&&o||(RegExp.prototype.exec=function(e){var t,n,l=r.exec.apply(this,arguments);if("string"==typeof e&&l){if(!o&&l.length>1&&s(l,"")>-1&&(n=RegExp(this.source,r.replace.call(i(this),"g","")),r.replace.call(e.slice(l.index),n,function(){for(var e=1;e<arguments.length-2;e++)void 0===arguments[e]&&(l[e]=void 0)})),this._xregexp&&this._xregexp.captureNames)for(var c=1;c<l.length;c++)t=this._xregexp.captureNames[c-1],t&&(l[t]=l[c]);!a&&this.global&&!l[0].length&&this.lastIndex>l.index&&this.lastIndex--}return l},a||(RegExp.prototype.test=function(e){var t=r.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,n){function i(){}function s(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function r(e){return e=+e,e!==e?e=0:0!==e&&e!==1/0&&e!==-(1/0)&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError("Function.prototype.bind called on incompatible "+t);var n=g.call(arguments,1),s=function(){if(this instanceof s){var i=t.apply(this,n.concat(g.call(arguments)));return Object(i)===i?i:this}return t.apply(e,n.concat(g.call(arguments)))};return t.prototype&&(i.prototype=t.prototype,s.prototype=new i,i.prototype=null),s});var o,a,l,c,h,u=Function.prototype.call,d=Array.prototype,f=Object.prototype,g=d.slice,p=u.bind(f.toString),m=u.bind(f.hasOwnProperty);if((h=m(f,"__defineGetter__"))&&(o=u.bind(f.__defineGetter__),a=u.bind(f.__defineSetter__),l=u.bind(f.__lookupGetter__),c=u.bind(f.__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,n=[];return n.splice.apply(n,e(20)),n.splice.apply(n,e(26)),t=n.length,n.splice(5,0,"XXX"),t+1==n.length,t+1==n.length?!0:void 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(g.call(arguments,2))):[]}}else Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):void 0==e?e=0:0>e&&(e=Math.max(n+e,0)),n>e+t||(t=n-e);var i=this.slice(e,e+t),s=g.call(arguments,2),r=s.length;if(e===n)r&&this.push.apply(this,s);else{var o=Math.min(t,n-e),a=e+o,l=a+r-o,c=n-a,h=n-o;if(a>l)for(var u=0;c>u;++u)this[l+u]=this[a+u];else if(l>a)for(u=c;u--;)this[l+u]=this[a+u];if(r&&e===h)this.length=h,this.push.apply(this,s);else for(this.length=h+r,u=0;r>u;++u)this[e+u]=s[u]}return i};Array.isArray||(Array.isArray=function(e){return"[object Array]"==p(e)});var C=Object("a"),A="a"!=C[0]||!(0 in C);if(Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=O(this),n=A&&"[object String]"==p(this)?this.split(""):t,i=arguments[1],s=-1,r=n.length>>>0;if("[object Function]"!=p(e))throw new TypeError;for(;++s<r;)s in n&&e.call(i,n[s],s,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=O(this),n=A&&"[object String]"==p(this)?this.split(""):t,i=n.length>>>0,s=Array(i),r=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var o=0;i>o;o++)o in n&&(s[o]=e.call(r,n[o],o,t));return s}),Array.prototype.filter||(Array.prototype.filter=function(e){var t,n=O(this),i=A&&"[object String]"==p(this)?this.split(""):n,s=i.length>>>0,r=[],o=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var a=0;s>a;a++)a in i&&(t=i[a],e.call(o,t,a,n)&&r.push(t));return r}),Array.prototype.every||(Array.prototype.every=function(e){var t=O(this),n=A&&"[object String]"==p(this)?this.split(""):t,i=n.length>>>0,s=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var r=0;i>r;r++)if(r in n&&!e.call(s,n[r],r,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=O(this),n=A&&"[object String]"==p(this)?this.split(""):t,i=n.length>>>0,s=arguments[1];if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");for(var r=0;i>r;r++)if(r in n&&e.call(s,n[r],r,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=O(this),n=A&&"[object String]"==p(this)?this.split(""):t,i=n.length>>>0;if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");if(!i&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var s,r=0;if(arguments.length>=2)s=arguments[1];else for(;;){if(r in n){s=n[r++];break}if(++r>=i)throw new TypeError("reduce of empty array with no initial value")}for(;i>r;r++)r in n&&(s=e.call(void 0,s,n[r],r,t));return s}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=O(this),n=A&&"[object String]"==p(this)?this.split(""):t,i=n.length>>>0;if("[object Function]"!=p(e))throw new TypeError(e+" is not a function");if(!i&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var s,r=i-1;if(arguments.length>=2)s=arguments[1];else for(;;){if(r in n){s=n[r--];break}if(--r<0)throw new TypeError("reduceRight of empty array with no initial value")}do r in this&&(s=e.call(void 0,s,n[r],r,t));while(r--);return s}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(e){var t=A&&"[object String]"==p(this)?this.split(""):O(this),n=t.length>>>0;if(!n)return-1;var i=0;for(arguments.length>1&&(i=r(arguments[1])),i=i>=0?i:Math.max(0,n+i);n>i;i++)if(i in t&&t[i]===e)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(e){var t=A&&"[object String]"==p(this)?this.split(""):O(this),n=t.length>>>0;if(!n)return-1;var i=n-1;for(arguments.length>1&&(i=Math.min(i,r(arguments[1]))),i=i>=0?i:n-Math.abs(i);i>=0;i--)if(i in t&&e===t[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:f)}),!Object.getOwnPropertyDescriptor){var w="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError(w+e);if(m(e,t)){var n,i,s;if(n={enumerable:!0,configurable:!0},h){var r=e.__proto__;e.__proto__=f;var i=l(e,t),s=c(e,t);if(e.__proto__=r,i||s)return i&&(n.get=i),s&&(n.set=s),n}return n.value=e[t],n}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),!Object.create){var b;b=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 n;if(null===e)n=b();else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var i=function(){};i.prototype=e,n=new i,n.__proto__=e}return void 0!==t&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var y=s({}),F="undefined"==typeof document||s(document.createElement("div"));if(!y||!F)var E=Object.defineProperty}if(!Object.defineProperty||E){var S="Property description must be an object: ",D="Object.defineProperty called on non-object: ",x="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(e,t,n){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError(D+e);if("object"!=typeof n&&"function"!=typeof n||null===n)throw new TypeError(S+n);if(E)try{return E.call(Object,e,t,n)}catch(i){}if(m(n,"value"))if(h&&(l(e,t)||c(e,t))){var s=e.__proto__;e.__proto__=f,delete e[t],e[t]=n.value,e.__proto__=s}else e[t]=n.value;else{if(!h)throw new TypeError(x);m(n,"get")&&o(e,t,n.get),m(n,"set")&&a(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)m(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch($){Object.freeze=function(e){return function(t){return"function"==typeof t?t:e(t)}}(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="";m(e,t);)t+="?";e[t]=!0;var n=m(e,t);return delete e[t],n}),!Object.keys){var T=!0,B=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],k=B.length;for(var L in{toString:null})T=!1;Object.keys=function I(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)m(e,t)&&I.push(t);if(T)for(var n=0,i=k;i>n;n++){var s=B[n];m(e,s)&&I.push(s)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _="	\n\x0B\f\r   ᠎             　\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var R=new RegExp("^"+_+_+"*"),M=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(R,"").replace(M,"")}}var O=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,n){"use strict";e("./regexp"),e("./es5-shim")}),ace.define("ace/lib/dom",["require","exports","module"],function(e,t,n){"use strict";var i="http://www.w3.org/1999/xhtml";return t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||i,e):document.createElement(e)},t.hasCssClass=function(e,t){var n=(e.className||"").split(/\s+/g);return-1!==n.indexOf(t)},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){for(var n=e.className.split(/\s+/g);;){var i=n.indexOf(t);if(-1==i)break;n.splice(i,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){for(var n=e.className.split(/\s+/g),i=!0;;){var s=n.indexOf(t);if(-1==s)break;i=!1,n.splice(s,1)}return i&&n.push(t),e.className=n.join(" "),i},t.setCssClass=function(e,n,i){i?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n,i=0;if(t=t||document,t.createStyleSheet&&(n=t.styleSheets)){for(;i<n.length;)if(n[i++].owningElement.id===e)return!0}else if(n=t.getElementsByTagName("style"))for(;i<n.length;)if(n[i++].id===e)return!0;return!1},t.importCssString=function(e,n,i){if(i=i||document,n&&t.hasCssString(n,i))return null;var s;n&&(e+="\n/*# sourceURL=ace/css/"+n+" */"),i.createStyleSheet?(s=i.createStyleSheet(),s.cssText=e,n&&(s.owningElement.id=n)):(s=t.createElement("style"),
s.appendChild(i.createTextNode(e)),n&&(s.id=n),t.getDocumentHead(i).appendChild(s))},t.importCssStylsheet=function(e,n){if(n.createStyleSheet)n.createStyleSheet(e);else{var i=t.createElement("link");i.rel="stylesheet",i.href=e,t.getDocumentHead(n).appendChild(i)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,"paddingLeft"),10)+parseInt(t.computedStyle(e,"paddingRight"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,"paddingTop"),10)+parseInt(t.computedStyle(e,"paddingBottom"),10)+e.clientHeight},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var i=t.createElement("ace_outer"),s=i.style;s.position="absolute",s.left="-10000px",s.overflow="hidden",s.width="200px",s.minWidth="0px",s.height="150px",s.display="block",i.appendChild(n);var r=e.documentElement;r.appendChild(i);var o=n.offsetWidth;s.overflow="scroll";var a=n.offsetWidth;return o==a&&(a=i.clientWidth),r.removeChild(i),o-a},"undefined"==typeof document?void(t.importCssString=function(){}):(void 0!==window.pageYOffset?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?t.computedStyle=function(e,t){return t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:t.computedStyle=function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.setInnerHtml=function(e,t){var n=e.cloneNode(!1);return n.innerHTML=t,e.parentNode.replaceChild(n,e),n},"textContent"in document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return e.innerText}),void(t.getParentWindow=function(e){return e.defaultView||e.parentWindow}))}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(e,t,n){"use strict";e("./fixoldbrowsers");var i=e("./oop"),s=function(){var e,t,n={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 n.FUNCTION_KEYS)e=n.FUNCTION_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);for(t in n.PRINTABLE_KEYS)e=n.PRINTABLE_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);return i.mixin(n,n.MODIFIER_KEYS),i.mixin(n,n.PRINTABLE_KEYS),i.mixin(n,n.FUNCTION_KEYS),n.enter=n["return"],n.escape=n.esc,n.del=n["delete"],n[173]="-",function(){for(var e=["cmd","ctrl","alt","shift"],t=Math.pow(2,e.length);t--;)n.KEY_MODS[t]=e.filter(function(e){return t&n.KEY_MODS[e]}).join("-")+"-"}(),n.KEY_MODS[0]="",n.KEY_MODS[-1]="input-",n}();i.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,n){"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 i=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),s=navigator.userAgent;t.isWin="win"==i,t.isMac="mac"==i,t.isLinux="linux"==i,t.isIE="Microsoft Internet Explorer"==navigator.appName||navigator.appName.indexOf("MSAppHost")>=0?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=(window.Controllers||window.controllers)&&"Gecko"===window.navigator.product,t.isOldGecko=t.isGecko&&parseInt((s.match(/rv\:(\d+)/)||[])[1],10)<4,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=s.indexOf("AdobeAIR")>=0,t.isIPad=s.indexOf("iPad")>=0,t.isTouchPad=s.indexOf("TouchPad")>=0,t.isChromeOS=s.indexOf(" CrOS ")>=0}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function i(e,t,n){var i=c(t);if(!o.isMac&&a){if(a.OSKey&&(i|=8),a.altGr){if(3==(3&i))return;a.altGr=0}if(18===n||17===n){var s="location"in t?t.location:t.keyLocation;if(17===n&&1===s)1==a[n]&&(l=t.timeStamp);else if(18===n&&3===i&&2===s){var h=t.timeStamp-l;50>h&&(a.altGr=!0)}}}if(n in r.MODIFIER_KEYS&&(n=-1),8&i&&n>=91&&93>=n&&(n=-1),!i&&13===n){var s="location"in t?t.location:t.keyLocation;if(3===s&&(e(t,i,-n),t.defaultPrevented))return}if(o.isChromeOS&&8&i){if(e(t,i,n),t.defaultPrevented)return;i&=-9}return i||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,i,n):!1}function s(){a=Object.create(null),a.count=0,a.lastT=0}var r=e("./keys"),o=e("./useragent"),a=null,l=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var i=function(){n.call(e,window.event)};n._wrapper=i,e.attachEvent("on"+t,i)}},t.removeListener=function(e,t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):void(e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n))},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return"dblclick"==e.type?0:"contextmenu"==e.type||o.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,i){function s(e){n&&n(e),i&&i(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",s,!0),t.removeListener(document,"dragstart",s,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",s,!0),t.addListener(document,"dragstart",s,!0),s},t.addTouchMoveListener=function(e,n){if("ontouchmove"in e){var i,s;t.addListener(e,"touchstart",function(e){var t=e.changedTouches[0];i=t.clientX,s=t.clientY}),t.addListener(e,"touchmove",function(e){var t=1,r=e.changedTouches[0];e.wheelX=-(r.clientX-i)/t,e.wheelY=-(r.clientY-s)/t,i=r.clientX,s=r.clientY,n(e)})}},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}n(e)}):t.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)),n(e)})},t.addMultiMouseDownListener=function(e,n,i,s){var r,a,l,c=0,h={2:"dblclick",3:"tripleclick",4:"quadclick"};t.addListener(e,"mousedown",function(e){if(0!==t.getButton(e)?c=0:e.detail>1?(c++,c>4&&(c=1)):c=1,o.isIE){var u=Math.abs(e.clientX-r)>5||Math.abs(e.clientY-a)>5;(!l||u)&&(c=1),l&&clearTimeout(l),l=setTimeout(function(){l=null},n[c-1]||600),1==c&&(r=e.clientX,a=e.clientY)}if(e._clicks=c,i[s]("mousedown",e),c>4)c=0;else if(c>1)return i[s](h[c],e)}),o.isOldIE&&t.addListener(e,"dblclick",function(e){c=2,l&&clearTimeout(l),l=setTimeout(function(){l=null},n[c-1]||600),i[s]("mousedown",e),i[s](h[c],e)})};var c=!o.isMac||!o.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(t.getModifierString=function(e){return r.KEY_MODS[c(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(o.isOldGecko||o.isOpera&&!("KeyboardEvent"in window)){var l=null;r(e,"keydown",function(e){l=e.keyCode}),r(e,"keypress",function(e){return i(n,e,l)})}else{var c=null;r(e,"keydown",function(e){var t=e.keyCode;a[t]=(a[t]||0)+1,91==t||92==t?a.OSKey=!0:a.OSKey&&e.timeStamp-a.lastT>200&&1==a.count&&s(),1==a[t]&&a.count++,a.lastT=e.timeStamp;var r=i(n,e,t);return c=e.defaultPrevented,r}),r(e,"keypress",function(e){c&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),c=null)}),r(e,"keyup",function(e){var t=e.keyCode;a[t]?a.count=Math.max(a.count-1,0):s(),(91==t||92==t)&&(a.OSKey=!1),a[t]=null}),a||(s(),r(window,"focus",s))}},"object"==typeof window&&window.postMessage&&!o.isOldIE){var h=1;t.nextTick=function(e,n){n=n||window;var i="zero-timeout-message-"+h;t.addListener(n,"message",function s(r){r.data==i&&(t.stopPropagation(r),t.removeListener(n,"message",s),e())}),n.postMessage(i,"*")}}t.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"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 n="";t>0;)1&t&&(n+=e),(t>>=1)&&(e+=e);return n};var i=/^\s\s*/,s=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(i,"")},t.stringTrimRight=function(e){return e.replace(s,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){for(var t=[],n=0,i=e.length;i>n;n++)e[n]&&"object"==typeof e[n]?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function r(e){if("object"!=typeof e||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=r(e[n]);return t}var i=e.constructor;if(i===RegExp)return e;t=i();for(var n in e)t[n]=r(e[n]);return t},t.arrayToMap=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},i=function(e){return i.cancel(),t=setTimeout(n,e||0),i};return i.schedule=i,i.call=function(){return this.cancel(),e(),i},i.cancel=function(){return clearTimeout(t),t=null,i},i.isPending=function(){return t},i},t.delayedCall=function(e,t){var n=null,i=function(){n=null,e()},s=function(e){null==n&&(n=setTimeout(i,e||t))};return s.delay=function(e){n&&clearTimeout(n),n=setTimeout(i,e||t)},s.schedule=s,s.call=function(){this.cancel(),e()},s.cancel=function(){n&&clearTimeout(n),n=null},s.isPending=function(){return n},s}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var i=e("../lib/event"),s=e("../lib/useragent"),r=e("../lib/dom"),o=e("../lib/lang"),a=s.isChrome<18,l=s.isIE,c=function(e,t){function n(e){if(!p){if(p=!0,$)t=0,n=e?0:u.value.length-1;else var t=e?2:1,n=2;try{u.setSelectionRange(t,n)}catch(i){}p=!1}}function c(){p||(u.value=d,s.isWebKit&&b.schedule())}function h(){clearTimeout(H),H=setTimeout(function(){m&&(u.style.cssText=m,m=""),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},s.isOldIE?200:0)}var u=r.createElement("textarea");u.className="ace_text-input",s.isTouchPad&&u.setAttribute("x-palm-disable-auto-cap",!0),u.setAttribute("wrap","off"),u.setAttribute("autocorrect","off"),u.setAttribute("autocapitalize","off"),u.setAttribute("spellcheck",!1),u.style.opacity="0",s.isOldIE&&(u.style.top="-1000px"),e.insertBefore(u,e.firstChild);var d="",f=!1,g=!1,p=!1,m="",v=!0;try{var C=document.activeElement===u}catch(A){}i.addListener(u,"blur",function(e){t.onBlur(e),C=!1}),i.addListener(u,"focus",function(e){C=!0,t.onFocus(e),n()}),this.focus=function(){if(m)return u.focus();var e=u.style.top;u.style.position="fixed",u.style.top="-1000px",u.focus(),setTimeout(function(){u.style.position="","-1000px"==u.style.top&&(u.style.top=e)},0)},this.blur=function(){u.blur()},this.isFocused=function(){return C};var w=o.delayedCall(function(){C&&n(v)}),b=o.delayedCall(function(){p||(u.value=d,C&&n())});s.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=v&&(v=!v,w.schedule())}),c(),C&&t.onFocus();var y=function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length};if(!u.setSelectionRange&&u.createTextRange&&(u.setSelectionRange=function(e,t){var n=this.createTextRange();n.collapse(!0),n.moveStart("character",e),n.moveEnd("character",t),n.select()},y=function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return t&&t.parentElement()==e?t.text==e.value:!1}),s.isOldIE){var F=!1,E=function(e){if(!F){var t=u.value;if(!p&&t&&t!=d){if(e&&t==d[0])return S.schedule();B(t),F=!0,c(),F=!1}}},S=o.delayedCall(E);i.addListener(u,"propertychange",E);var D={13:1,27:1};i.addListener(u,"keyup",function(e){return!p||u.value&&!D[e.keyCode]||setTimeout(N,0),(u.value.charCodeAt(0)||0)<129?S.call():void(p?P():I())}),i.addListener(u,"keydown",function(e){S.schedule(50)})}var x=function(e){f?f=!1:y(u)?(t.selectAll(),n()):$&&n(t.selection.isEmpty())},$=null;this.setInputHandler=function(e){$=e},this.getInputHandler=function(){return $};var T=!1,B=function(e){$&&(e=$(e),$=null),g?(n(),e&&t.onPaste(e),g=!1):e==d.charAt(0)?T?t.execCommand("del",{source:"ace"}):t.execCommand("backspace",{source:"ace"}):(e.substring(0,2)==d?e=e.substr(2):e.charAt(0)==d.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==d.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==d.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),T&&(T=!1)},k=function(e){if(!p){var t=u.value;B(t),c()}},L=function(e,t){var n=e.clipboardData||window.clipboardData;if(n&&!a){var i=l?"Text":"text/plain";return t?n.setData(i,t)!==!1:n.getData(i)}},_=function(e,s){var r=t.getCopyText();return r?void(L(e,r)?(s?t.onCut():t.onCopy(),i.preventDefault(e)):(f=!0,u.value=r,u.select(),setTimeout(function(){f=!1,c(),n(),s?t.onCut():t.onCopy()}))):i.preventDefault(e)},R=function(e){_(e,!0)},M=function(e){_(e,!1)},O=function(e){var r=L(e);"string"==typeof r?(r&&t.onPaste(r,e),s.isIE&&setTimeout(n),i.preventDefault(e)):(u.value="",g=!0)};i.addCommandKeyListener(u,t.onCommandKey.bind(t)),i.addListener(u,"select",x),i.addListener(u,"input",k),i.addListener(u,"cut",R),i.addListener(u,"copy",M),i.addListener(u,"paste",O),"oncut"in u&&"oncopy"in u&&"onpaste"in u||i.addListener(e,"keydown",function(e){if((!s.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:M(e);break;case 86:O(e);break;case 88:R(e)}});var I=function(e){p||!t.onCompositionStart||t.$readOnly||(p={},t.onCompositionStart(),setTimeout(P,0),t.on("mousedown",N),t.selection.isEmpty()||(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())},P=function(){if(p&&t.onCompositionUpdate&&!t.$readOnly){var e=u.value.replace(/\x01/g,"");if(p.lastValue!==e&&(t.onCompositionUpdate(e),p.lastValue&&t.undo(),p.lastValue=e,p.lastValue)){var n=t.selection.getRange();t.insert(p.lastValue),t.session.markUndoGroup(),p.range=t.selection.getRange(),t.selection.setRange(n),t.selection.clearSelection()}}},N=function(e){if(t.onCompositionEnd&&!t.$readOnly){var n=p;p=!1;var i=setTimeout(function(){i=null;var e=u.value.replace(/\x01/g,"");p||(e==n.lastValue?c():!n.lastValue&&e&&(c(),B(e)))});$=function(e){return i&&clearTimeout(i),e=e.replace(/\x01/g,""),e==n.lastValue?"":(n.lastValue&&i&&t.undo(),e)},t.onCompositionEnd(),t.removeListener("mousedown",N),"compositionend"==e.type&&n.range&&t.selection.setRange(n.range)}},W=o.delayedCall(P,50);i.addListener(u,"compositionstart",I),s.isGecko?i.addListener(u,"text",function(){W.schedule()}):(i.addListener(u,"keyup",function(){W.schedule()}),i.addListener(u,"keydown",function(){W.schedule()})),i.addListener(u,"compositionend",N),this.getElement=function(){return u},this.setReadOnly=function(e){u.readOnly=e},this.onContextMenu=function(e){T=!0,n(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,n){if(n||!s.isOldIE){m||(m=u.style.cssText),u.style.cssText=(n?"z-index:100000;":"")+"height:"+u.style.height+";"+(s.isIE?"opacity:0.1;":"");var o=t.container.getBoundingClientRect(),a=r.computedStyle(t.container),l=o.top+(parseInt(a.borderTopWidth)||0),c=o.left+(parseInt(o.borderLeftWidth)||0),d=o.bottom-l-u.clientHeight-2,f=function(e){u.style.left=e.clientX-c-2+"px",u.style.top=Math.min(e.clientY-l-2,d)+"px"};f(e),"mousedown"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),s.isWin&&!s.isOldIE&&i.capture(t.container,f,h))}},this.onContextMenuClose=h;var H,j=function(e){t.textInput.onContextMenu(e),h()};i.addListener(t.renderer.scroller,"contextmenu",j),i.addListener(u,"contextmenu",j)};t.TextInput=c}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function i(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),t.setDefaultHandler("touchmove",this.onTouchMove.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function s(e,t,n,i){return Math.sqrt(Math.pow(n-e,2)+Math.pow(i-t,2))}function r(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)var n=2*t.row-e.start.row-e.end.row;else var n=t.column-4;return 0>n?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var o=(e("../lib/dom"),e("../lib/event"),e("../lib/useragent"),0);(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,s=e.getButton();if(0!==s){var r=i.getSelectionRange(),o=r.isEmpty();return i.$blockScrolling++,o&&i.selection.moveToPosition(n),i.$blockScrolling--,void i.textInput.onContextMenu(e.domEvent)}return this.mousedownEvent.time=Date.now(),!t||i.isFocused()||(i.focus(),!this.$focusTimout||this.$clickSelection||i.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),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 n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(t.$blockScrolling++,this.$clickSelection){var i=this.$clickSelection.comparePoint(n);if(-1==i)e=this.$clickSelection.end;else if(1==i)e=this.$clickSelection.start;else{var s=r(this.$clickSelection,n);n=s.cursor,e=s.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,i=n.renderer.screenToTextCoordinates(this.x,this.y),s=n.selection[e](i.row,i.column);if(n.$blockScrolling++,this.$clickSelection){var o=this.$clickSelection.comparePoint(s.start),a=this.$clickSelection.comparePoint(s.end);if(-1==o&&0>=a)t=this.$clickSelection.end,(s.end.row!=i.row||s.end.column!=i.column)&&(i=s.start);else if(1==a&&o>=0)t=this.$clickSelection.start,(s.start.row!=i.row||s.start.column!=i.column)&&(i=s.end);else if(-1==o&&1==a)i=s.end,t=s.start;else{var l=r(this.$clickSelection,i);i=l.cursor,t=l.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(i),n.$blockScrolling--,n.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=s(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,i=n.session,s=i.getBracketRange(t);s?(s.isEmpty()&&(s.start.column--,s.end.column++),this.setState("select")):(s=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=s,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var i=n.getSelectionRange();i.isMultiLine()&&i.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(i.start.row),this.$clickSelection.end=n.selection.getLineRange(i.end.row).end):this.$clickSelection=n.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=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),i=this.editor,s=i.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);return s||200>n?(this.$lastScrollTime=t,i.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}},this.onTouchMove=function(e){var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),i=this.editor,s=i.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);return s||200>n?(this.$lastScrollTime=t,i.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}}).call(i.prototype),t.DefaultHandlers=i}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function i(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var s=(e("./lib/oop"),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,n){null!=e&&this.setText(e),null!=t&&null!=n&&this.setPosition(t,n),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}}).call(i.prototype),t.Tooltip=i}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function i(e){function t(){var t=u.getDocumentPosition().row,s=l.$annotations[t];if(!s)return n();var r=o.session.getLength();if(t==r){var a=o.renderer.pixelToScreenCoordinates(0,u.y).row,h=u.$pos;if(a>o.session.documentToScreenRow(h.row,h.column))return n()}if(d!=s)if(d=s.text.join("<br/>"),c.setHtml(d),c.show(),o.on("mousewheel",n),e.$tooltipFollowsMouse)i(u);else{var f=u.domEvent.target,g=f.getBoundingClientRect(),p=c.getElement().style;p.left=g.right+"px",p.top=g.bottom+"px"}}function n(){h&&(h=clearTimeout(h)),d&&(c.hide(),d=null,o.removeEventListener("mousewheel",n))}function i(e){c.setPosition(e.x,e.y)}var o=e.editor,l=o.renderer.$gutterLayer,c=new s(o.container);e.editor.setDefaultHandler("guttermousedown",function(t){if(o.isFocused()&&0==t.getButton()){var n=l.getRegion(t);if("foldWidgets"!=n){var i=t.getDocumentPosition().row,s=o.session.selection;if(t.getShiftKey())s.selectTo(i,0);else{if(2==t.domEvent.detail)return o.selectAll(),t.preventDefault();e.$clickSelection=o.selection.getLineRange(i)}return e.setState("selectByLines"),e.captureMouse(t),t.preventDefault()}}});var h,u,d;e.editor.setDefaultHandler("guttermousemove",function(s){var o=s.domEvent.target||s.domEvent.srcElement;return r.hasCssClass(o,"ace_fold-widget")?n():(d&&e.$tooltipFollowsMouse&&i(s),u=s,void(h||(h=setTimeout(function(){h=null,u&&!e.isMousePressed?t():n()},50))))}),a.addListener(o.renderer.$gutter,"mouseout",function(e){u=null,d&&!h&&(h=setTimeout(function(){h=null,n()},50))}),o.on("changeSession",n)}function s(e){l.call(this,e)}var r=e("../lib/dom"),o=e("../lib/oop"),a=e("../lib/event"),l=e("../tooltip").Tooltip;o.inherits(s,l),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,i=window.innerHeight||document.documentElement.clientHeight,s=this.getWidth(),r=this.getHeight();e+=15,t+=15,e+s>n&&(e-=e+s-n),t+r>i&&(t-=20+r),l.prototype.setPosition.call(this,e,t)}}.call(s.prototype),t.GutterHandler=i}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var i=e("../lib/event"),s=e("../lib/useragent"),r=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(){i.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){i.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?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,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return i.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(r.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function i(e){function t(e,t){var n=Date.now(),i=!t||e.row!=t.row,r=!t||e.column!=t.column;if(!$||i||r)m.$blockScrolling+=1,m.moveCursorToPosition(e),m.$blockScrolling-=1,$=n,T={x:w,y:b};else{var o=s(T.x,T.y,w,b);o>h?$=null:n-$>=c&&(m.renderer.scrollCursorIntoView(),$=null)}}function n(e,t){var n=Date.now(),i=m.renderer.layerConfig.lineHeight,s=m.renderer.layerConfig.characterWidth,r=m.renderer.scroller.getBoundingClientRect(),o={x:{left:w-r.left,right:r.right-w},y:{top:b-r.top,bottom:r.bottom-b}},a=Math.min(o.x.left,o.x.right),c=Math.min(o.y.top,o.y.bottom),h={row:e.row,column:e.column};2>=a/s&&(h.column+=o.x.left<o.x.right?-3:2),1>=c/i&&(h.row+=o.y.top<o.y.bottom?-1:1);var u=e.row!=h.row,d=e.column!=h.column,f=!t||e.row!=t.row;u||d&&!f?x?n-x>=l&&m.renderer.scrollCursorIntoView(h):x=n:x=null}function i(){var e=E;E=m.renderer.screenToTextCoordinates(w,b),t(E,e),n(E,e)}function u(){F=m.selection.toOrientedRange(),A=m.session.addMarker(F,"ace_selection",m.getSelectionStyle()),m.clearSelection(),m.isFocused()&&m.renderer.$cursorLayer.setBlinking(!1),clearInterval(y),i(),y=setInterval(i,20),k=0,o.addListener(document,"mousemove",f)}function d(){clearInterval(y),m.session.removeMarker(A),A=null,m.$blockScrolling+=1,m.selection.fromOrientedRange(F),m.$blockScrolling-=1,m.isFocused()&&!D&&m.renderer.$cursorLayer.setBlinking(!m.getReadOnly()),F=null,E=null,k=0,x=null,$=null,o.removeListener(document,"mousemove",f)}function f(){null==L&&(L=setTimeout(function(){null!=L&&A&&d()},20))}function g(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return"text/plain"==e||"Text"==e})}function p(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],i=a.isMac?e.altKey:e.ctrlKey,s="uninitialized";try{s=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var r="none";return i&&t.indexOf(s)>=0?r="copy":n.indexOf(s)>=0?r="move":t.indexOf(s)>=0&&(r="copy"),r}var m=e.editor,v=r.createElement("img");v.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",a.isOpera&&(v.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var C=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];C.forEach(function(t){e[t]=this[t]},this),m.addEventListener("mousedown",this.onMouseDown.bind(e));var A,w,b,y,F,E,S,D,x,$,T,B=m.container,k=0;this.onDragStart=function(e){if(this.cancelDrag||!B.draggable){var t=this;return setTimeout(function(){t.startSelect(),t.captureMouse(e)},0),e.preventDefault()}F=m.getSelectionRange();var n=e.dataTransfer;n.effectAllowed=m.getReadOnly()?"copy":"copyMove",a.isOpera&&(m.container.appendChild(v),v.scrollTop=0),n.setDragImage&&n.setDragImage(v,0,0),a.isOpera&&m.container.removeChild(v),n.clearData(),n.setData("Text",m.session.getTextRange()),D=!0,this.setState("drag")},this.onDragEnd=function(e){if(B.draggable=!1,D=!1,this.setState(null),!m.getReadOnly()){var t=e.dataTransfer.dropEffect;S||"move"!=t||m.session.remove(m.getSelectionRange()),m.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("");
},this.onDragEnter=function(e){return!m.getReadOnly()&&g(e.dataTransfer)?(w=e.clientX,b=e.clientY,A||u(),k++,e.dataTransfer.dropEffect=S=p(e),o.preventDefault(e)):void 0},this.onDragOver=function(e){return!m.getReadOnly()&&g(e.dataTransfer)?(w=e.clientX,b=e.clientY,A||(u(),k++),null!==L&&(L=null),e.dataTransfer.dropEffect=S=p(e),o.preventDefault(e)):void 0},this.onDragLeave=function(e){return k--,0>=k&&A?(d(),S=null,o.preventDefault(e)):void 0},this.onDrop=function(e){if(E){var t=e.dataTransfer;if(D)switch(S){case"move":F=F.contains(E.row,E.column)?{start:E,end:E}:m.moveText(F,E);break;case"copy":F=m.moveText(F,E,!0)}else{var n=t.getData("Text");F={start:E,end:m.session.insert(E,n)},m.focus(),S=null}return d(),o.preventDefault(e)}},o.addListener(B,"dragstart",this.onDragStart.bind(e)),o.addListener(B,"dragend",this.onDragEnd.bind(e)),o.addListener(B,"dragenter",this.onDragEnter.bind(e)),o.addListener(B,"dragover",this.onDragOver.bind(e)),o.addListener(B,"dragleave",this.onDragLeave.bind(e)),o.addListener(B,"drop",this.onDrop.bind(e));var L=null}function s(e,t,n,i){return Math.sqrt(Math.pow(n-e,2)+Math.pow(i-t,2))}var r=e("../lib/dom"),o=e("../lib/event"),a=e("../lib/useragent"),l=200,c=200,h=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.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,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=a.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(a.isIE&&"dragReady"==this.state){var n=s(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if("dragWait"===this.state){var n=s(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),i=e.getButton(),s=e.domEvent.detail||1;if(1===s&&0===i&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var r=e.domEvent.target||e.domEvent.srcElement;if("unselectable"in r&&(r.unselectable="on"),t.getDragDelay()){if(a.isWebKit){this.cancelDrag=!0;var o=t.container;o.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(i.prototype),t.DragdropHandler=i}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var i=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){4===n.readyState&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=i.getDocumentHead(),s=document.createElement("script");s.src=e,n.appendChild(s),s.onload=s.onreadystatechange=function(e,n){(n||!s.readyState||"loaded"==s.readyState||"complete"==s.readyState)&&(s=s.onload=s.onreadystatechange=null,n||t())}},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,n){"use strict";var i={},s=function(){this.propagationStopped=!0},r=function(){this.defaultPrevented=!0};i._emit=i._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],i=this._defaultHandlers[e];if(n.length||i){"object"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=s),t.preventDefault||(t.preventDefault=r),n=n.slice();for(var o=0;o<n.length&&(n[o](t,this),!t.propagationStopped);o++);return i&&!t.defaultPrevented?i(t,this):void 0}},i._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(n){n=n.slice();for(var i=0;i<n.length;i++)n[i](t,this)}},i.once=function(e,t){var n=this;t&&this.addEventListener(e,function i(){n.removeEventListener(e,i),t.apply(null,arguments)})},i.setDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n||(n=this._defaultHandlers={_disabled_:{}}),n[e]){var i=n[e],s=n._disabled_[e];s||(n._disabled_[e]=s=[]),s.push(i);var r=s.indexOf(t);-1!=r&&s.splice(r,1)}n[e]=t},i.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n){var i=n._disabled_[e];if(n[e]==t){n[e];i&&this.setDefaultHandler(e,i.pop())}else if(i){var s=i.indexOf(t);-1!=s&&i.splice(s,1)}}},i.on=i.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[e];return i||(i=this._eventRegistry[e]=[]),-1==i.indexOf(t)&&i[n?"unshift":"push"](t),t},i.off=i.removeListener=i.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(n){var i=n.indexOf(t);-1!==i&&n.splice(i,1)}},i.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=i}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"no use strict";function i(e){"undefined"!=typeof console&&console.warn&&console.warn.apply(console,arguments)}function s(e,t){var n=new Error(e);n.data=t,"object"==typeof console&&console.error&&console.error(n),setTimeout(function(){throw n})}var r=e("./oop"),o=e("./event_emitter").EventEmitter,a={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]!==t){var n=this.$options[e];if(!n)return i('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)}},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]:i('misspelled option "'+e+'"')}},l=function(){this.$defaultOptions={}};(function(){r.implement(this,o),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var i=n[t];"string"==typeof i&&(i={forwardTo:i}),i.name||(i.name=t),e.$options[i.name]=i,"initialValue"in i&&(e["$"+i.name]=i.initialValue)}),r.implement(e,a),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){var i=this.$defaultOptions[e]||(this.$defaultOptions[e]={});i[t]&&(i.forwardTo?this.setDefaultValue(i.forwardTo,t,n):i[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=i,this.reportError=s}).call(l.prototype),t.AppConfig=l}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(e,t,i){"no use strict";function s(s){if(h.packaged=s||e.packaged||i.packaged||c.define&&n(104).packaged,!c.document)return"";for(var o={},a="",l=document.currentScript||document._currentScript,u=l&&l.ownerDocument||document,d=u.getElementsByTagName("script"),f=0;f<d.length;f++){var g=d[f],p=g.src||g.getAttribute("src");if(p){for(var m=g.attributes,v=0,C=m.length;C>v;v++){var A=m[v];0===A.name.indexOf("data-ace-")&&(o[r(A.name.replace(/^data-ace-/,""))]=A.value)}var w=p.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);w&&(a=w[1])}}a&&(o.base=o.base||a,o.packaged=!0),o.basePath=o.base,o.workerPath=o.workerPath||o.base,o.modePath=o.modePath||o.base,o.themePath=o.themePath||o.base,delete o.base;for(var b in o)"undefined"!=typeof o[b]&&t.set(b,o[b])}function r(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var o=e("./lib/lang"),a=(e("./lib/oop"),e("./lib/net")),l=e("./lib/app_config").AppConfig;i.exports=t=new l;var c=function(){return this||"undefined"!=typeof window&&window}(),h={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(e){if(!h.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return h[e]},t.set=function(e,t){if(!h.hasOwnProperty(e))throw new Error("Unknown config key: "+e);h[e]=t},t.all=function(){return o.copyObject(h)},t.moduleUrl=function(e,t){if(h.$moduleUrls[e])return h.$moduleUrls[e];var n=e.split("/");t=t||n[n.length-2]||"";var i="snippets"==t?"/":"-",s=n[n.length-1];if("worker"==t&&"-"==i){var r=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");s=s.replace(r,"")}(!s||s==t)&&n.length>1&&(s=n[n.length-2]);var o=h[t+"Path"];return null==o?o=h.basePath:"/"==i&&(t=i=""),o&&"/"!=o.slice(-1)&&(o+="/"),o+t+i+s+this.get("suffix")},t.setModuleUrl=function(e,t){return h.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,i){var s,r;Array.isArray(n)&&(r=n[0],n=n[1]);try{s=e(n)}catch(o){}if(s&&!t.$loading[n])return i&&i(s);if(t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(i),!(t.$loading[n].length>1)){var l=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var i=t.$loading[n];t.$loading[n]=null,i.forEach(function(t){t&&t(e)})})};return t.get("packaged")?void a.loadScript(t.moduleUrl(n,r),l):l()}},s(!0),t.init=s}),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,n){"use strict";var i=e("../lib/event"),s=e("../lib/useragent"),r=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,a=e("./mouse_event").MouseEvent,l=e("./dragdrop_handler").DragdropHandler,c=e("../config"),h=function(e){var t=this;this.editor=e,new r(this),new o(this),new l(this);var n=function(t){document.hasFocus&&document.hasFocus()||window.focus(),e.focus(),e.isFocused()||window.focus()},a=e.renderer.getMouseEventTarget();i.addListener(a,"click",this.onMouseEvent.bind(this,"click")),i.addListener(a,"mousemove",this.onMouseMove.bind(this,"mousemove")),i.addMultiMouseDownListener(a,[400,300,250],this,"onMouseEvent"),e.renderer.scrollBarV&&(i.addMultiMouseDownListener(e.renderer.scrollBarV.inner,[400,300,250],this,"onMouseEvent"),i.addMultiMouseDownListener(e.renderer.scrollBarH.inner,[400,300,250],this,"onMouseEvent"),s.isIE&&(i.addListener(e.renderer.scrollBarV.element,"mousedown",n),i.addListener(e.renderer.scrollBarH.element,"mousedown",n))),i.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),i.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var c=e.renderer.$gutter;i.addListener(c,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),i.addListener(c,"click",this.onMouseEvent.bind(this,"gutterclick")),i.addListener(c,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),i.addListener(c,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),i.addListener(a,"mousedown",n),i.addListener(c,"mousedown",function(t){return e.focus(),i.preventDefault(t)}),e.on("mousemove",function(n){if(!t.state&&!t.$dragDelay&&t.$dragEnabled){var i=e.renderer.screenToTextCoordinates(n.x,n.y),s=e.session.selection.getRange(),r=e.renderer;!s.isEmpty()&&s.insideStart(i.row,i.column)?r.setCursorStyle("default"):r.setCursorStyle("")}})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new a(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;n&&n.length&&this.editor._emit(e,new a(t,this.editor))},this.onMouseWheel=function(e,t){var n=new a(t,this.editor);n.speed=2*this.$scrollSpeed,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new a(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var r=this,o=function(e){if(e){if(s.isWebKit&&!e.which&&r.releaseMouse)return r.releaseMouse();r.x=e.clientX,r.y=e.clientY,t&&t(e),r.mouseEvent=new a(e,r.editor),r.$mouseMoved=!0}},l=function(e){clearInterval(h),c(),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)},c=function(){r[r.state]&&r[r.state](),r.$mouseMoved=!1};if(s.isOldIE&&"dblclick"==e.domEvent.type)return setTimeout(function(){l(e)});r.$onCaptureMouseMove=o,r.releaseMouse=i.capture(this.editor.container,o,l);var h=setInterval(c,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){t&&t.domEvent&&"contextmenu"!=t.domEvent.type||(this.editor.off("nativecontextmenu",e),t&&t.domEvent&&i.stopEvent(t.domEvent))}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(h.prototype),c.defineOptions(h.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:s.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=h}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function i(e){e.on("click",function(t){var n=t.getDocumentPosition(),i=e.session,s=i.getFoldAt(n.row,n.column,1);s&&(t.getAccelKey()?i.removeFold(s):i.expandFold(s),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if("foldWidgets"==n){var i=t.getDocumentPosition().row,s=e.session;s.foldWidgets&&s.foldWidgets[i]&&e.session.onFoldWidgetClick(i,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if("foldWidgets"==n){var i=t.getDocumentPosition().row,s=e.session,r=s.getParentFoldRangeData(i,!0),o=r.range||r.firstRange;if(o){i=o.start.row;var a=s.getFoldAt(i,s.getLine(i).length,1);a?s.removeFold(a):(s.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=i}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var i=e("../lib/keys"),s=e("../lib/event"),r=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(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 n=this.$handlers.indexOf(e);-1!=n&&this.$handlers.splice(n,1),void 0==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),-1==n&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return-1==t?!1:(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 e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,i){for(var r,o=!1,a=this.$editor.commands,l=this.$handlers.length;l--&&(r=this.$handlers[l].handleKeyboard(this.$data,e,t,n,i),!(r&&r.command&&(o="null"==r.command?!0:a.exec(r.command,this.$editor,r.args,i),o&&i&&-1!=e&&1!=r.passEvent&&1!=r.command.passEvent&&s.stopEvent(i),o))););return o||-1!=e||(r={command:"insertstring"},o=a.exec("insertstring",this.$editor,t)),o&&this.$editor._signal("keyboardActivity",r),o},this.onCommandKey=function(e,t,n){var s=i.keyCodeToString(n);this.$callKeyboardHandlers(t,s,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(r.prototype),t.KeyBinding=r}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var i=function(e,t){return e.row-t.row||e.column-t.column},s=function(e,t,n,i){this.start={row:e,column:t},this.end={row:n,column:i}};(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,n=e.end,i=e.start;return t=this.compare(n.row,n.column),1==t?(t=this.compare(i.row,i.column),1==t?2:0==t?1:0):-1==t?-2:(t=this.compare(i.row,i.column),-1==t?-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)?!1:!0:!1},this.insideStart=function(e,t){return 0==this.compare(e,t)?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return 0==this.compare(e,t)?this.isStart(e,t)?!1:!0:!1},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 n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var i={row:t+1,column:0};else if(this.start.row<e)var i={row:e,column:0};return s.fromPoints(i||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(0==n)return this;if(-1==n)var i={row:e,column:t};else var r={row:e,column:t};return s.fromPoints(i||this.start,r||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 s.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new s(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new s(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new s(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(s.prototype),s.fromPoints=function(e,t){return new s(e.row,e.column,t.row,t.column)},s.comparePoints=i,s.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=s}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var i=e("./lib/oop"),s=e("./lib/lang"),r=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,a=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),t.$keepDesiredColumnOnChange||e.old.column==e.value.column||(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){i.implement(this,r),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},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)return void this.moveCursorTo(this.lead.row,this.lead.column+e);var t=this.getSelectionAnchor(),n=this.getSelectionLead(),i=this.isBackwards();i&&0===t.column||this.setSelectionAnchor(t.row,t.column+e),(i||0!==n.column)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.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()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},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("undefined"==typeof t){var n=e||this.lead;e=n.row,t=n.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 n,i="number"==typeof e?e:this.lead.row,s=this.session.getFoldLine(i);return s?(i=s.start.row,n=s.end.row):n=i,t===!0?new o(i,0,n,this.session.getLine(n).length):new o(i,0,n+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},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)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(t)&&this.doc.getLine(t.row).slice(t.column-n,t.column).split(" ").length-1==n?this.moveCursorBy(0,-n):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 n=this.session.getTabSize(),t=this.lead;this.session.isTabStop(t)&&this.doc.getLine(t.row).slice(t.column,t.column+n).split(" ").length-1==n?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),i=this.session.screenToDocumentPosition(n,0),s=this.session.getDisplayLine(e,null,i.row,i.column),r=s.match(/^\s*/);r[0].length==t||this.session.$useEmacsStyleLineStart||(i.column+=r[0].length),this.moveCursorToPosition(i)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var i=n.search(/\s+$/);i>0&&(t.column=i)}}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,t=this.lead.row,n=this.lead.column,i=this.doc.getLine(t),s=i.substring(n);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var r=this.session.getFoldAt(t,n,1);return r?void this.moveCursorTo(r.end.row,r.end.column):((e=this.session.nonTokenRe.exec(s))&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,s=i.substring(n)),n>=i.length?(this.moveCursorTo(t,i.length),this.moveCursorRight(),void(t<this.doc.getLength()-1&&this.moveCursorWordRight())):((e=this.session.tokenRe.exec(s))&&(n+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),void this.moveCursorTo(t,n)))},this.moveCursorLongWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))return void this.moveCursorTo(e.start.row,e.start.column);var i=this.session.getFoldStringAt(t,n,-1);null==i&&(i=this.doc.getLine(t).substring(0,n));var r,o=s.stringReverse(i);return this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,(r=this.session.nonTokenRe.exec(o))&&(n-=this.session.nonTokenRe.lastIndex,o=o.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),0>=n?(this.moveCursorTo(t,0),this.moveCursorLeft(),void(t>0&&this.moveCursorWordLeft())):((r=this.session.tokenRe.exec(o))&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),void this.moveCursorTo(t,n))},this.$shortWordEndIndex=function(e){var t,n,i=0,s=/\s/,r=this.session.tokenRe;if(r.lastIndex=0,t=this.session.tokenRe.exec(e))i=this.session.tokenRe.lastIndex;else{for(;(n=e[i])&&s.test(n);)i++;if(1>i)for(r.lastIndex=0;(n=e[i])&&!r.test(n);)if(r.lastIndex=0,i++,s.test(n)){if(i>2){i--;break}for(;(n=e[i])&&s.test(n);)i++;if(i>2)break}}return r.lastIndex=0,i},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),i=n.substring(t),s=this.session.getFoldAt(e,t,1);if(s)return this.moveCursorTo(s.end.row,s.end.column);if(t==n.length){var r=this.doc.getLength();do e++,i=this.doc.getLine(e);while(r>e&&/^\s*$/.test(i));/^\s+/.test(i)||(i=""),t=0}var o=this.$shortWordEndIndex(i);this.moveCursorTo(e,t+o)},this.moveCursorShortWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))return this.moveCursorTo(e.start.row,e.start.column);var i=this.session.getLine(t).substring(0,n);if(0===n){do t--,i=this.doc.getLine(t);while(t>0&&/^\s*$/.test(i));n=i.length,/\s+$/.test(i)||(i="")}var r=s.stringReverse(i),o=this.$shortWordEndIndex(r);return this.moveCursorTo(t,n-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 n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===t&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var i=this.session.screenToDocumentPosition(n.row+e,n.column);0!==e&&0===t&&i.row===this.lead.row&&i.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[i.row]&&(i.row>0||e>0)&&i.row++,this.moveCursorTo(i.row,i.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var i=this.session.getFoldAt(e,t,1);i&&(e=i.start.row,t=i.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var i=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(i.row,i.column,n)},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.call(null,this);var n=this.getCursor();return o.fromPoints(t,n)}catch(i){return o.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{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(void 0==e.start){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!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(a.prototype),t.Selection=a}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var i=e("./config"),s=2e3,r=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){for(var n=this.states[t],i=[],s=0,r=this.matchMappings[t]={defaultToken:"text"},o="g",a=[],l=0;l<n.length;l++){var c=n[l];if(c.defaultToken&&(r.defaultToken=c.defaultToken),c.caseInsensitive&&(o="gi"),null!=c.regex){c.regex instanceof RegExp&&(c.regex=c.regex.toString().slice(1,-1));var h=c.regex,u=new RegExp("(?:("+h+")|(.))").exec("a").length-2;Array.isArray(c.token)?1==c.token.length||1==u?c.token=c.token[0]:u-1!=c.token.length?(this.reportError("number of classes and regexp groups doesn't match",{
rule:c,groupCount:u-1}),c.token=c.token[0]):(c.tokenArray=c.token,c.token=null,c.onMatch=this.$arrayTokens):"function"!=typeof c.token||c.onMatch||(u>1?c.onMatch=this.$applyToken:c.onMatch=c.token),u>1&&(/\\\d/.test(c.regex)?h=c.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+s+1)}):(u=1,h=this.removeCapturingGroups(c.regex)),c.splitRegex||"string"==typeof c.token||a.push(c)),r[s]=l,s+=u,i.push(h),c.onMatch||(c.onMatch=null)}}i.length||(r[0]=0,i.push("$")),a.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+i.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){s=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if("string"==typeof n)return[{type:n,value:e}];for(var i=[],s=0,r=n.length;r>s;s++)t[s]&&(i[i.length]={type:n[s],value:t[s]});return i},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";for(var n=[],i=this.tokenArray,s=0,r=i.length;r>s;s++)t[s+1]&&(n[n.length]={type:i[s],value:t[s+1]});return n},this.removeCapturingGroups=function(e){var t=e.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e});return t},this.createSplitterRegexp=function(e,t){if(-1!=e.indexOf("(?=")){var n=0,i=!1,s={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,r,o,a,l){return i?i="]"!=a:a?i=!0:o?(n==s.stack&&(s.end=l+1,s.stack=-1),n--):r&&(n++,1!=r.length&&(s.stack=n,s.start=l)),e}),null!=s.end&&/^\)*$/.test(e.substr(s.end))&&(e=e.substring(0,s.start)+e.substr(s.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){var n=t.slice(0);t=n[0],"#tmp"===t&&(n.shift(),t=n.shift())}else var n=[];var i=t||"start",r=this.states[i];r||(i="start",r=this.states[i]);var o=this.matchMappings[i],a=this.regExps[i];a.lastIndex=0;for(var l,c=[],h=0,u=0,d={type:null,value:""};l=a.exec(e);){var f=o.defaultToken,g=null,p=l[0],m=a.lastIndex;if(m-p.length>h){var v=e.substring(h,m-p.length);d.type==f?d.value+=v:(d.type&&c.push(d),d={type:f,value:v})}for(var C=0;C<l.length-2;C++)if(void 0!==l[C+1]){g=r[o[C]],f=g.onMatch?g.onMatch(p,i,n):g.token,g.next&&(i="string"==typeof g.next?g.next:g.next(i,n),r=this.states[i],r||(this.reportError("state doesn't exist",i),i="start",r=this.states[i]),o=this.matchMappings[i],h=m,a=this.regExps[i],a.lastIndex=m);break}if(p)if("string"==typeof f)g&&g.merge===!1||d.type!==f?(d.type&&c.push(d),d={type:f,value:p}):d.value+=p;else if(f){d.type&&c.push(d),d={type:null,value:""};for(var C=0;C<f.length;C++)c.push(f[C])}if(h==e.length)break;if(h=m,u++>s){for(u>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});h<e.length;)d.type&&c.push(d),d={value:e.substring(h,h+=2e3),type:"overflow"};i="start",n=[];break}}return d.type&&c.push(d),n.length>1&&n[0]!==i&&n.unshift("#tmp",i),{tokens:c,state:n.length?n:i}},this.reportError=i.reportError}).call(r.prototype),t.Tokenizer=r}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var i=e("../lib/lang"),s=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(t)for(var n in e){for(var i=e[n],s=0;s<i.length;s++){var r=i[s];(r.next||r.onMatch)&&("string"==typeof r.next&&0!==r.next.indexOf(t)&&(r.next=t+r.next),r.nextState&&0!==r.nextState.indexOf(t)&&(r.nextState=t+r.nextState))}this.$rules[t+n]=i}else for(var n in e)this.$rules[n]=e[n]},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,s,r){var o="function"==typeof e?(new e).getRules():e;if(s)for(var a=0;a<s.length;a++)s[a]=t+s[a];else{s=[];for(var l in o)s.push(t+l)}if(this.addRules(o,t),n)for(var c=Array.prototype[r?"push":"unshift"],a=0;a<s.length;a++)c.apply(this.$rules[s[a]],i.deepCopy(n));this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return("start"!=e||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){function n(r){var o=s[r];o.processed=!0;for(var a=0;a<o.length;a++){var l=o[a];!l.regex&&l.start&&(l.regex=l.start,l.next||(l.next=[]),l.next.push({defaultToken:l.token},{token:l.token+".end",regex:l.end||l.start,next:"pop"}),l.token=l.token+".start",l.push=!0);var c=l.next||l.push;if(c&&Array.isArray(c)){var h=l.stateName;h||(h=l.token,"string"!=typeof h&&(h=h[0]||""),s[h]&&(h+=i++)),s[h]=c,l.next=h,n(h)}else"pop"==c&&(l.next=t);if(l.push&&(l.nextState=l.next||l.push,l.next=e,delete l.push),l.rules)for(var u in l.rules)s[u]?s[u].push&&s[u].push.apply(s[u],l.rules[u]):s[u]=l.rules[u];if(l.include||"string"==typeof l)var d=l.include||l,f=s[d];else Array.isArray(l)&&(f=l);if(f){var g=[a,1].concat(f);l.noEscape&&(g=g.filter(function(e){return!e.next})),o.splice.apply(o,g),a--,f=null}l.keywordMap&&(l.token=this.createKeywordMapper(l.keywordMap,l.defaultToken||"text",l.caseInsensitive),delete l.defaultToken)}}var i=0,s=this.$rules;Object.keys(s).forEach(n,this)},this.createKeywordMapper=function(e,t,n,i){var s=Object.create(null);return Object.keys(e).forEach(function(t){var r=e[t];n&&(r=r.toLowerCase());for(var o=r.split(i||"|"),a=o.length;a--;)s[o[a]]=t}),Object.getPrototypeOf(s)&&(s.__proto__=null),this.$keywordList=Object.keys(s),e=null,n?function(e){return s[e.toLowerCase()]||t}:function(e){return s[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(s.prototype),t.TextHighlightRules=s}),ace.define("ace/mode/behaviour",["require","exports","module"],function(e,t,n){"use strict";var i=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if("function"==typeof e)var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(e){for(var t={},n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}return this.$behaviours}}).call(i.prototype),t.Behaviour=i}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";function i(e){var n=/\w{4}/g;for(var i in e)t.packages[i]=e[i].replace(n,"\\u$&")}t.packages={},i({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"
})}),ace.define("ace/token_iterator",["require","exports","module"],function(e,t,n){"use strict";var i=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var i=e.getTokenAt(t,n);this.$tokenIndex=i?i.index:-1};(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(){this.$tokenIndex+=1;for(var e;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,n=e[t].start;if(void 0!==n)return n;for(n=0;t>0;)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}}}).call(i.prototype),t.TokenIterator=i}),ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var i=e("../tokenizer").Tokenizer,s=e("./text_highlight_rules").TextHighlightRules,r=e("./behaviour").Behaviour,o=e("../unicode"),a=e("../lib/lang"),l=e("../token_iterator").TokenIterator,c=e("../range").Range,h=function(){this.HighlightRules=s,this.$behaviour=new r};(function(){this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules,this.$tokenizer=new i(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,i){function s(e){for(var t=n;i>=t;t++)e(r.getLine(t),t)}var r=t.doc,o=!0,l=!0,c=1/0,h=t.getTabSize(),u=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var d=this.lineCommentStart.map(a.escapeRegExp).join("|"),f=this.lineCommentStart[0];else var d=a.escapeRegExp(this.lineCommentStart),f=this.lineCommentStart;d=new RegExp("^(\\s*)(?:"+d+") ?"),u=t.getUseSoftTabs();var g=function(e,t){var n=e.match(d);if(n){var i=n[1].length,s=n[0].length;C(e,i,s)||" "!=n[0][s-1]||s--,r.removeInLine(t,i,s)}},p=f+" ",m=function(e,t){(!o||/\S/.test(e))&&(C(e,c,c)?r.insertInLine({row:t,column:c},p):r.insertInLine({row:t,column:c},f))},v=function(e,t){return d.test(e)},C=function(e,t,n){for(var i=0;t--&&" "==e.charAt(t);)i++;if(i%h!=0)return!1;for(var i=0;" "==e.charAt(n++);)i++;return h>2?i%h!=h-1:i%h==0}}else{if(!this.blockComment)return!1;var f=this.blockComment.start,A=this.blockComment.end,d=new RegExp("^(\\s*)(?:"+a.escapeRegExp(f)+")"),w=new RegExp("(?:"+a.escapeRegExp(A)+")\\s*$"),m=function(e,t){v(e,t)||(!o||/\S/.test(e))&&(r.insertInLine({row:t,column:e.length},A),r.insertInLine({row:t,column:c},f))},g=function(e,t){var n;(n=e.match(w))&&r.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(d))&&r.removeInLine(t,n[1].length,n[0].length)},v=function(e,n){if(d.test(e))return!0;for(var i=t.getTokens(n),s=0;s<i.length;s++)if("comment"===i[s].type)return!0}}var b=1/0;s(function(e,t){var n=e.search(/\S/);-1!==n?(c>n&&(c=n),l&&!v(e,t)&&(l=!1)):b>e.length&&(b=e.length)}),c==1/0&&(c=b,o=!1,l=!1),u&&c%h!=0&&(c=Math.floor(c/h)*h),s(l?g:m)},this.toggleBlockComment=function(e,t,n,i){var s=this.blockComment;if(s){!s.start&&s[0]&&(s=s[0]);var r,o,a=new l(t,i.row,i.column),h=a.getCurrentToken(),u=(t.selection,t.selection.toOrientedRange());if(h&&/comment/.test(h.type)){for(var d,f;h&&/comment/.test(h.type);){var g=h.value.indexOf(s.start);if(-1!=g){var p=a.getCurrentTokenRow(),m=a.getCurrentTokenColumn()+g;d=new c(p,m,p,m+s.start.length);break}h=a.stepBackward()}for(var a=new l(t,i.row,i.column),h=a.getCurrentToken();h&&/comment/.test(h.type);){var g=h.value.indexOf(s.end);if(-1!=g){var p=a.getCurrentTokenRow(),m=a.getCurrentTokenColumn()+g;f=new c(p,m,p,m+s.end.length);break}h=a.stepForward()}f&&t.remove(f),d&&(t.remove(d),r=d.start.row,o=-s.start.length)}else o=s.start.length,r=n.start.row,t.insert(n.end,s.end),t.insert(n.start,s.start);u.start.row==r&&(u.start.column+=o),u.end.row==r&&(u.end.column+=o),t.selection.fromOrientedRange(u)}},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);for(var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],t=0;t<n.length;t++)!function(e){var i=n[t],s=e[i];e[n[t]]=function(){return this.$delegator(i,arguments,s)}}(this)},this.$delegator=function(e,t,n){var i=t[0];"string"!=typeof i&&(i=i[0]);for(var s=0;s<this.$embeds.length;s++)if(this.$modes[this.$embeds[s]]){var r=i.split(this.$embeds[s]);if(!r[0]&&r[1]){t[0]=r[1];var o=this.$modes[this.$embeds[s]];return o[e].apply(o,t)}}var a=n.apply(this,t);return n?a:void 0},this.transformAction=function(e,t,n,i,s){if(this.$behaviour){var r=this.$behaviour.getBehaviours();for(var o in r)if(r[o][t]){var a=r[o][t].apply(this,arguments);if(a)return a}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var i in t)for(var s=t[i],r=0,o=s.length;o>r;r++)if("string"==typeof s[r].token)/keyword|support|storage/.test(s[r].token)&&n.push(s[r].regex);else if("object"==typeof s[r].token)for(var a=0,l=s[r].token.length;l>a;a++)if(/keyword|support|storage/.test(s[r].token[a])){var i=s[r].regex.match(/\(.+?\)/g)[a];n.push(i.substr(1,i.length-2))}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,i){var s=this.$keywordList||this.$createKeywordList();return s.map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(h.prototype),t.Mode=h}),ace.define("ace/apply_delta",["require","exports","module"],function(e,t,n){"use strict";t.applyDelta=function(e,t,n){var i=t.start.row,s=t.start.column,r=e[i]||"";switch(t.action){case"insert":var o=t.lines;if(1===o.length)e[i]=r.substring(0,s)+t.lines[0]+r.substring(s);else{var a=[i,1].concat(t.lines);e.splice.apply(e,a),e[i]=r.substring(0,s)+e[i],e[i+t.lines.length-1]+=r.substring(s)}break;case"remove":var l=t.end.column,c=t.end.row;i===c?e[i]=r.substring(0,s)+r.substring(l):e.splice(i,c-i+1,r.substring(0,s)+e[c].substring(l))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var i=e("./lib/oop"),s=e("./lib/event_emitter").EventEmitter,r=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),"undefined"==typeof n?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var i=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&i}function t(t,n,i){var s="insert"==t.action,r=(s?1:-1)*(t.end.row-t.start.row),o=(s?1:-1)*(t.end.column-t.start.column),a=t.start,l=s?a:t.end;return e(n,a,i)?{row:n.row,column:n.column}:e(l,n,!i)?{row:n.row+r,column:n.column+(n.row==l.row?o:0)}:{row:a.row,column:a.column}}i.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 n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},this.setPosition=function(e,t,n){var i;if(i=n?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=i.row||this.column!=i.column){var s={row:this.row,column:this.column};this.row=i.row,this.column=i.column,this._signal("change",{old:s,value:i})}},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 n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):0>e?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),0>t&&(n.column=0),n}}).call(r.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,n){"use strict";var i=e("./lib/oop"),s=e("./apply_delta").applyDelta,r=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,a=e("./anchor").Anchor,l=function(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)};(function(){i.implement(this,r),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(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),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].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 n=this.clippedPos(e.row,e.column),i=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:i,action:"insert",lines:[t]},!0),this.clonePos(i)},this.clippedPos=function(e,t){var n=this.getLength();void 0===e?e=n:0>e?e=0:e>=n&&(e=n-1,t=void 0);var i=this.getLine(e);return void 0==t&&(t=i.length),t=Math.min(Math.max(t,0),i.length),{row:e,column:t}},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){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),i={row:n.row+t.length-1,column:(1==t.length?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:i,action:"insert",lines:t}),this.clonePos(i)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var i=this.clippedPos(e,t),s=this.clippedPos(e,n);return this.applyDelta({start:i,end:s,action:"remove",lines:this.getLinesForRange({start:i,end:s})},!0),this.clonePos(i)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,i=t<this.getLength()-1,s=n?e-1:e,r=n?this.getLine(s).length:0,a=i?t+1:t,l=i?0:this.getLine(a).length,c=new o(s,r,a,l),h=this.$lines.slice(e,t+1);return this.applyDelta({start:c.start,end:c.end,action:"remove",lines:this.getLinesForRange(c)}),h},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){if(e instanceof o||(e=o.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return n=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;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n="insert"==e.action;(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))||(n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),s(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){for(var n=e.lines,i=n.length,s=e.start.row,r=e.start.column,o=0,a=0;;){o=a,a+=t-1;var l=n.slice(o,a);if(a>i){e.lines=l,e.start.row=s+o,e.start.column=r;break}l.push(""),this.applyDelta({start:this.pos(s+o,r),end:this.pos(s+a,r=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 n=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,s=t||0,r=n.length;r>s;s++)if(e-=n[s].length+i,0>e)return{row:s,column:e+n[s].length+i};return{row:r-1,column:n[r-1].length}},this.positionToIndex=function(e,t){for(var n=this.$lines||this.getAllLines(),i=this.getNewLineCharacter().length,s=0,r=Math.min(e.row,n.length),o=t||0;r>o;++o)s+=n[o].length+i;return s+e.column}}).call(l.prototype),t.Document=l}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var i=e("./lib/oop"),s=e("./lib/event_emitter").EventEmitter,r=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(n.running){for(var e=new Date,t=n.currentLine,i=-1,s=n.doc,r=t;n.lines[t];)t++;var o=s.getLength(),a=0;for(n.running=!1;o>t;){n.$tokenizeRow(t),i=t;do t++;while(n.lines[t]);if(a++,a%5===0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,i>=r&&n.fireUpdateEvent(r,i)}}};(function(){i.implement(this,s),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 n={first:e,last:t};this._signal("update",{data:n})},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,n=e.end.row-t;if(0===n)this.lines[t]=null;else if("remove"==e.action)this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var i=Array(n+1);i.unshift(t,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}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),n=this.states[e-1],i=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=i.state+""?(this.states[e]=i.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=i.tokens}}).call(r.prototype),t.BackgroundTokenizer=r}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var i=e("./lib/lang"),s=(e("./lib/oop"),e("./range").Range),r=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,n,r){if(this.regExp)for(var o=r.firstRow,a=r.lastRow,l=o;a>=l;l++){var c=this.cache[l];null==c&&(c=i.getMatchOffsets(n.getLine(l),this.regExp),c.length>this.MAX_RANGES&&(c=c.slice(0,this.MAX_RANGES)),c=c.map(function(e){return new s(l,e.offset,l,e.offset+e.length)}),this.cache[l]=c.length?c:"");for(var h=c.length;h--;)t.drawSingleLineMarker(e,c[h].toScreenRange(n),this.clazz,r)}}}).call(r.prototype),t.SearchHighlight=r}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new s(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var s=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},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)}),this.range.compareEnd(e.start.row,e.start.column)>0?(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,n){var i,s,r,o=0,a=this.folds,l=!0;null==t&&(t=this.end.row,n=this.end.column);for(var c=0;c<a.length;c++){if(i=a[c],s=i.range.compareStart(t,n),-1==s)return void e(null,t,n,o,l);if(r=e(null,i.start.row,i.start.column,o,l),r=!r&&e(i.placeholder,i.start.row,i.start.column,o),r||0===s)return;l=!i.sameRow,o=i.end.column}e(null,t,n,o,l)},this.getNextFoldTo=function(e,t){for(var n,i,s=0;s<this.folds.length;s++){if(n=this.folds[s],i=n.range.compareEnd(e,t),-1==i)return{fold:n,kind:"after"};if(0===i)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var i,s,r=this.getNextFoldTo(e,t);if(r)if(i=r.fold,"inside"==r.kind&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){s=this.folds;var o=s.indexOf(i);for(0===o&&(this.start.column+=n),o;o<s.length;o++){if(i=s[o],i.start.column+=n,!i.sameRow)return;i.end.column+=n}this.end.column+=n}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||"inside"==n.kind)return null;var s=n.fold,r=this.folds,o=this.foldData,a=r.indexOf(s),l=r[a-1];this.end.row=l.end.row,this.end.column=l.end.column,r=r.splice(a,r.length-a);var c=new i(o,r);return o.splice(o.indexOf(this)+1,0,c),c},this.merge=function(e){for(var t=e.folds,n=0;n<t.length;n++)this.addFold(t[n]);var i=this.foldData;i.splice(i.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push("  "+t.toString())}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){for(var t=0,n=0;n<this.folds.length;n++){var i=this.folds[n];if(e-=i.start.column-t,0>e)return{row:i.start.row,column:i.start.column+e};if(e-=i.placeholder.length,0>e)return i.start;t=i.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("./range").Range,s=i.comparePoints,r=function(){this.ranges=[]};(function(){this.comparePoints=s,this.pointIndex=function(e,t,n){for(var i=this.ranges,r=n||0;r<i.length;r++){var o=i[r],a=s(e,o.end);if(!(a>0)){var l=s(e,o.start);return 0===a?t&&0!==l?-r-2:r:l>0||0===l&&!t?r:-r-1}}return-r-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);0>n&&(n=-n-1);var i=this.pointIndex(e.end,t,n);return 0>i?i=-i-1:i++,this.ranges.splice(n,i-n,e)},this.addList=function(e){for(var t=[],n=e.length;n--;)t.push.call(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);return t>=0?this.ranges.splice(t,1):void 0},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return s(e.start,t.start)});for(var n,i=t[0],r=1;r<t.length;r++){n=i,i=t[r];var o=s(n.end,i.start);0>o||(0!=o||n.isEmpty()||i.isEmpty())&&(s(n.end,i.end)<0&&(n.end.row=i.end.row,n.end.column=i.end.column),t.splice(r,1),e.push(i),i=n,r--)}return this.ranges=t,e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);return t>=0?this.ranges[t]:void 0},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var i=this.pointIndex({row:e,column:0});0>i&&(i=-i-1);var s=this.pointIndex({row:t,column:0},i);0>s&&(s=-s-1);for(var r=[],o=i;s>o;o++)r.push(n[o]);return r},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,n=e.end;else var n=e.start,t=e.end;for(var i=t.row,s=n.row,r=s-i,o=-t.column+n.column,a=this.ranges,l=0,c=a.length;c>l;l++){var h=a[l];if(!(h.end.row<i)){if(h.start.row>i)break;if(h.start.row==i&&h.start.column>=t.column&&(h.start.column==t.column&&this.$insertRight||(h.start.column+=o,h.start.row+=r)),h.end.row==i&&h.end.column>=t.column){if(h.end.column==t.column&&this.$insertRight)continue;h.end.column==t.column&&o>0&&c-1>l&&h.end.column>h.start.column&&h.end.column==a[l+1].start.column&&(h.end.column-=o),h.end.column+=o,h.end.row+=r}}}if(0!=r&&c>l)for(;c>l;l++){var h=a[l];h.start.row+=r,h.end.row+=r}}}).call(r.prototype),t.RangeList=r}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(e,t,n){"use strict";function i(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}function s(e,t){i(e.start,t),i(e.end,t)}function r(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}function o(e,t){r(e.start,t),r(e.end,t)}var a=(e("../range").Range,e("../range_list").RangeList),l=e("../lib/oop"),c=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=[]};l.inherits(c,a),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new c(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);s(e,this.start);for(var t=e.start.row,n=e.start.column,i=0,r=-1;i<this.subFolds.length&&(r=this.subFolds[i].range.compare(t,n),1==r);i++);var o=this.subFolds[i];if(0==r)return o.addSubFold(e);for(var t=e.range.end.row,n=e.range.end.column,a=i,r=-1;a<this.subFolds.length&&(r=this.subFolds[a].range.compare(t,n),1==r);a++);this.subFolds[a];if(0==r)throw new Error("A fold can't intersect already existing fold"+e.range+this.range);this.subFolds.splice(i,a-i,e);return e.setFoldLine(this.foldLine),e}},this.restoreRange=function(e){return o(e,this.start)}}.call(c.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,n){"use strict";function i(){this.getFoldAt=function(e,t,n){var i=this.getFoldLine(e);if(!i)return null;for(var s=i.folds,r=0;r<s.length;r++){var o=s[r];if(o.range.contains(e,t)){if(1==n&&o.range.isEnd(e,t))continue;if(-1==n&&o.range.isStart(e,t))continue;return o}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,i=this.$foldData,s=[];t.column+=1,n.column-=1;for(var r=0;r<i.length;r++){var o=i[r].range.compareRange(e);if(2!=o){if(-2==o)break;for(var a=i[r].folds,l=0;l<a.length;l++){var c=a[l];if(o=c.range.compareRange(e),-2==o)break;if(2!=o){if(42==o)break;s.push(c)}}}}return t.column-=1,n.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 var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){for(var e=[],t=this.$foldData,n=0;n<t.length;n++)for(var i=0;i<t[n].folds.length;i++)e.push(t[n].folds[i]);return e},this.getFoldStringAt=function(e,t,n,i){if(i=i||this.getFoldLine(e),!i)return null;for(var s,r,o={end:{column:0}},a=0;a<i.folds.length;a++){r=i.folds[a];var l=r.range.compareEnd(e,t);if(-1==l){s=this.getLine(r.start.row).substring(o.end.column,r.start.column);break}if(0===l)return null;o=r}return s||(s=this.getLine(r.start.row).substring(o.end.column)),-1==n?s.substring(0,t-o.end.column):1==n?s.substring(t-o.end.column):s},this.getFoldLine=function(e,t){var n=this.$foldData,i=0;for(t&&(i=n.indexOf(t)),-1==i&&(i=0),i;i<n.length;i++){var s=n[i];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 n=this.$foldData,i=0;for(t&&(i=n.indexOf(t)),-1==i&&(i=0),i;i<n.length;i++){var s=n[i];if(s.end.row>=e)return s}return null},this.getFoldedRowCount=function(e,t){for(var n=this.$foldData,i=t-e+1,s=0;s<n.length;s++){var r=n[s],o=r.end.row,a=r.start.row;if(o>=t){t>a&&(a>=e?i-=t-a:i=0);break}o>=e&&(i-=a>=e?o-a:o-e+1)}return i},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 n,i=this.$foldData,s=!1;e instanceof o?n=e:(n=new o(t,e),n.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(n.range);var a=n.start.row,l=n.start.column,c=n.end.row,h=n.end.column;if(!(c>a||a==c&&h-2>=l))throw new Error("The range has to be at least 2 characters width");var u=this.getFoldAt(a,l,1),d=this.getFoldAt(c,h,-1);if(u&&d==u)return u.addSubFold(n);u&&!u.range.isStart(a,l)&&this.removeFold(u),d&&!d.range.isEnd(c,h)&&this.removeFold(d);var f=this.getFoldsInRange(n.range);f.length>0&&(this.removeFolds(f),f.forEach(function(e){n.addSubFold(e)}));for(var g=0;g<i.length;g++){var p=i[g];if(c==p.start.row){p.addFold(n),s=!0;break}if(a==p.end.row){if(p.addFold(n),s=!0,!n.sameRow){var m=i[g+1];if(m&&m.start.row==c){p.merge(m);break}}break}if(c<=p.start.row)break}return s||(p=this.$addFoldLine(new r(this.$foldData,n))),this.$useWrapMode?this.$updateWrapData(p.start.row,p.start.row):this.$updateRowLengthCache(p.start.row,p.start.row),this.$modified=!0,this._signal("changeFold",{data:n,action:"add"}),n},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,i=t.end.row,s=this.$foldData,r=t.folds;if(1==r.length)s.splice(s.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))r.pop(),t.end.row=r[r.length-1].end.row,t.end.column=r[r.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))r.shift(),t.start.row=r[0].start.row,t.start.column=r[0].start.column;else if(e.sameRow)r.splice(r.indexOf(e),1);else{var o=t.split(e.start.row,e.start.column);r=o.folds,r.shift(),o.start.row=r[0].start.row,o.start.column=r[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,i):this.$updateRowLengthCache(n,i)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){for(var t=[],n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;if(null==e?(n=new s(0,0,this.getLength(),0),t=!0):n="number"==typeof e?new s(e,0,e,this.getLine(e).length):"row"in e?s.fromPoints(e,e):e,i=this.getFoldsInRangeList(n),t)this.removeFolds(i);else for(var r=i;r.length;)this.expandFolds(r),r=this.getFoldsInRangeList(n);return i.length?i:void 0},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,i,s){null==i&&(i=e.start.row),null==s&&(s=0),null==t&&(t=e.end.row),null==n&&(n=this.getLine(t).length);var r=this.doc,o="";return e.walk(function(e,t,n,a){if(!(i>t)){if(t==i){if(s>n)return;a=Math.max(s,a)}o+=null!=e?e:r.getLine(t).substring(a,n)}},t,n),o},this.getDisplayLine=function(e,t,n,i){var s=this.getFoldLine(e);if(s)return this.getFoldDisplayLine(s,e,t,n,i);var r;return r=this.doc.getLine(e),r.substring(i||0,t||r.length)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new r(e,n);
})},this.toggleFold=function(e){var t,n,i=this.selection,s=i.getRange();if(s.isEmpty()){var r=s.start;if(t=this.getFoldAt(r.row,r.column))return void this.expandFold(t);(n=this.findMatchingBracket(r))?1==s.comparePoint(n)?s.end=n:(s.start=n,s.start.column++,s.end.column--):(n=this.findMatchingBracket({row:r.row,column:r.column+1}))?(1==s.comparePoint(n)?s.end=n:s.start=n,s.start.column++):s=this.getCommentFoldRange(r.row,r.column)||s}else{var o=this.getFoldsInRange(s);if(e&&o.length)return void this.expandFolds(o);1==o.length&&(t=o[0])}if(t||(t=this.getFoldAt(s.start.row,s.start.column)),t&&t.range.toString()==s.toString())return void this.expandFold(t);var a="...";if(!s.isMultiLine()){if(a=this.getTextRange(s),a.length<4)return;a=a.trim().substring(0,2)+".."}this.addFold(a,s)},this.getCommentFoldRange=function(e,t,n){var i=new a(this,e,t),r=i.getCurrentToken();if(r&&/^comment|string/.test(r.type)){var o=new s,l=new RegExp(r.type.replace(/\..*/,"\\."));if(1!=n){do r=i.stepBackward();while(r&&l.test(r.type));i.stepForward()}if(o.start.row=i.getCurrentTokenRow(),o.start.column=i.getCurrentTokenColumn()+2,i=new a(this,e,t),-1!=n){do r=i.stepForward();while(r&&l.test(r.type));r=i.stepBackward()}else r=i.getCurrentToken();return o.end.row=i.getCurrentTokenRow(),o.end.column=i.getCurrentTokenColumn()+r.value.length-2,o}},this.foldAll=function(e,t,n){void 0==n&&(n=1e5);var i=this.foldWidgets;if(i){t=t||this.getLength(),e=e||0;for(var s=e;t>s;s++)if(null==i[s]&&(i[s]=this.getFoldWidget(s)),"start"==i[s]){var r=this.getFoldWidgetRange(s);if(r&&r.isMultiLine()&&r.end.row<=t&&r.start.row>=e){s=r.end.row;try{var o=this.addFold("...",r);o&&(o.collapseChildren=n)}catch(a){}}}}},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){this.$foldStyle=e,"manual"==e&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){if(this.$foldMode!=e){if(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!e||"manual"==this.$foldStyle)return void(this.foldWidgets=null);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.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};for(var i,s=e-1;s>=0;){var r=n[s];if(null==r&&(r=n[s]=this.getFoldWidget(s)),"start"==r){var o=this.getFoldWidgetRange(s);if(i||(i=o),o&&o.end.row>=e)break}s--}return{range:-1!==s&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},i=this.$toggleFoldWidget(e,n);if(!i){var s=t.target||t.srcElement;s&&/ace_fold-widget/.test(s.className)&&(s.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var n=this.getFoldWidget(e),i=this.getLine(e),s="end"===n?-1:1,r=this.getFoldAt(e,-1===s?0:i.length,s);if(r)return void(t.children||t.all?this.removeFold(r):this.expandFold(r));var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()&&(r=this.getFoldAt(o.start.row,o.start.column,1),r&&o.isEqual(r.range)))return void this.removeFold(r);if(t.siblings){var a=this.getParentFoldRangeData(e);if(a.range)var l=a.range.start.row+1,c=a.range.end.row;this.foldAll(l,c,t.all?1e4:0)}else t.children?(c=o?o.end.row:this.getLength(),this.foldAll(e+1,c,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(!n){var i=this.getParentFoldRangeData(t,!0);if(n=i.range||i.firstRange){t=n.start.row;var s=this.getFoldAt(t,this.getLine(t).length,1);s?this.removeFold(s):this.addFold("...",n)}}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,n+1,null);else{var i=Array(n+1);i.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,i)}},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)}}var s=e("../range").Range,r=e("./fold_line").FoldLine,o=e("./fold").Fold,a=e("../token_iterator").TokenIterator;t.Folding=i}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function i(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(""==n)return null;var i=n.match(/([\(\[\{])|([\)\]\}])/);return i?i[1]?this.$findClosingBracket(i[1],e):this.$findOpeningBracket(i[2],e):null},this.getBracketRange=function(e){var t,n=this.getLine(e.row),i=!0,s=n.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);if(o||(s=n.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),i=!1),!o)return null;if(o[1]){var a=this.$findClosingBracket(o[1],e);if(!a)return null;t=r.fromPoints(e,a),i||(t.end.column++,t.start.column--),t.cursor=t.end}else{var a=this.$findOpeningBracket(o[2],e);if(!a)return null;t=r.fromPoints(a,e),i||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],r=1,o=new s(this,t.row,t.column),a=o.getCurrentToken();if(a||(a=o.stepForward()),a){n||(n=new RegExp("(\\.?"+a.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));for(var l=t.column-o.getCurrentTokenColumn()-2,c=a.value;;){for(;l>=0;){var h=c.charAt(l);if(h==i){if(r-=1,0==r)return{row:o.getCurrentTokenRow(),column:l+o.getCurrentTokenColumn()}}else h==e&&(r+=1);l-=1}do a=o.stepBackward();while(a&&!n.test(a.type));if(null==a)break;c=a.value,l=c.length-1}return null}},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],r=1,o=new s(this,t.row,t.column),a=o.getCurrentToken();if(a||(a=o.stepForward()),a){n||(n=new RegExp("(\\.?"+a.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));for(var l=t.column-o.getCurrentTokenColumn();;){for(var c=a.value,h=c.length;h>l;){var u=c.charAt(l);if(u==i){if(r-=1,0==r)return{row:o.getCurrentTokenRow(),column:l+o.getCurrentTokenColumn()}}else u==e&&(r+=1);l+=1}do a=o.stepForward();while(a&&!n.test(a.type));if(null==a)break;l=0}return null}}}var s=e("../token_iterator").TokenIterator,r=e("../range").Range;t.BracketMatch=i}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","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,n){"use strict";var i=e("./lib/oop"),s=e("./lib/lang"),r=e("./config"),o=e("./lib/event_emitter").EventEmitter,a=e("./selection").Selection,l=e("./mode/text").Mode,c=e("./range").Range,h=e("./document").Document,u=e("./background_tokenizer").BackgroundTokenizer,d=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.$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 h(e)),this.setDocument(e),this.selection=new a(this),r.resetOptions(this),this.setMode(t),r._signal("session",this)};(function(){function e(e){return 4352>e?!1:e>=4352&&4447>=e||e>=4515&&4519>=e||e>=4602&&4607>=e||e>=9001&&9002>=e||e>=11904&&11929>=e||e>=11931&&12019>=e||e>=12032&&12245>=e||e>=12272&&12283>=e||e>=12288&&12350>=e||e>=12353&&12438>=e||e>=12441&&12543>=e||e>=12549&&12589>=e||e>=12593&&12686>=e||e>=12688&&12730>=e||e>=12736&&12771>=e||e>=12784&&12830>=e||e>=12832&&12871>=e||e>=12880&&13054>=e||e>=13056&&19903>=e||e>=19968&&42124>=e||e>=42128&&42182>=e||e>=43360&&43388>=e||e>=44032&&55203>=e||e>=55216&&55238>=e||e>=55243&&55291>=e||e>=63744&&64255>=e||e>=65040&&65049>=e||e>=65072&&65106>=e||e>=65108&&65126>=e||e>=65128&&65131>=e||e>=65281&&65376>=e||e>=65504&&65510>=e}i.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,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,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){for(var n=0,i=e.length-1;i>=n;){var s=n+i>>1,r=e[s];if(t>r)n=s+1;else{if(!(r>t))return s;i=s-1}}return n-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.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);this.$fromUndo||!this.$undoManager||e.ignore||(this.$deltasDoc.push(e),t&&0!=t.length&&this.$deltasFold.push({action:"removeFolds",folds:t}),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.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],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 n,i=this.bgTokenizer.getTokens(e),s=0;if(null==t)r=i.length-1,s=this.getLine(e).length;else for(var r=0;r<i.length&&(s+=i[r].value.length,!(s>=t));r++);return(n=i[r])?(n.index=r,n.start=s-n.value.length,n):null},this.setUndoManager=function(e){if(this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=s.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?s.stringRepeat(" ",this.getTabSize()):"	"},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.$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,n,i){var s=this.$markerId++,r={range:e,type:n||"line",renderer:"function"==typeof n?n:null,clazz:t,inFront:!!i,id:s};return i?(this.$frontMarkers[s]=r,this._signal("changeFrontMarker")):(this.$backMarkers[s]=r,this._signal("changeBackMarker")),s},this.addDynamicMarker=function(e,t){if(e.update){var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e}},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(t){var n=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete n[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 d(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,i){"number"!=typeof t&&(n=t,t=e),n||(n="ace_step");var s=new c(e,0,t,1/0);return s.id=this.addMarker(s,n,"fullLine",i),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);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getWordRange=function(e,t){var n=this.getLine(e),i=!1;if(t>0&&(i=!!n.charAt(t-1).match(this.tokenRe)),i||(i=!!n.charAt(t).match(this.tokenRe)),i)var s=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var s=/\s/;else var s=this.nonTokenRe;var r=t;if(r>0){do r--;while(r>=0&&n.charAt(r).match(s));r++}for(var o=t;o<n.length&&n.charAt(o).match(s);)o++;return new c(e,r,e,o)},this.getAWordRange=function(e,t){for(var n=this.getWordRange(e,t),i=this.getLine(n.end.row);i.charAt(n.end.column).match(/[ \t]/);)n.end.column+=1;return n},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 n=e,i=n.path}else i=e||"ace/mode/text";return this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new l),this.$modes[i]&&!n?(this.$onChangeMode(this.$modes[i]),void(t&&t())):(this.$modeId=i,r.loadModule(["mode",i],function(e){return this.$modeId!==i?t&&t():(this.$modes[i]&&!n?this.$onChangeMode(this.$modes[i]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[i]=e,e.$id=i),this.$onChangeMode(e)),void(t&&t()))}.bind(this)),void(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 n=e.getTokenizer();if(void 0!==n.addEventListener){var i=this.onReloadTokenizer.bind(this);n.addEventListener("update",i)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(n);else{this.bgTokenizer=new u(n);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 e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},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(),n=this.$rowLengthCache,i=0,s=0,r=this.$foldData[s],o=r?r.start.row:1/0,a=t.length,l=0;a>l;l++){if(l>o){if(l=r.end.row+1,l>=a)break;r=this.$foldData[s++],o=r?r.start.row:1/0}null==n[l]&&(n[l]=this.$getStringScreenWidth(t[l])[0]),n[l]>i&&(i=n[l])}this.screenWidth=i}},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 n=null,i=e.length-1;-1!=i;i--){var s=e[i];"doc"==s.group?(this.doc.revertDeltas(s.deltas),n=this.$getUndoSelection(s.deltas,!0,n)):s.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=null,i=0;i<e.length;i++){var s=e[i];"doc"==s.group&&(this.doc.applyDeltas(s.deltas),n=this.$getUndoSelection(s.deltas,!1,n))}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n}},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t,n){function i(e){return t?"insert"!==e.action:"insert"===e.action}var s,r,o=e[0],a=!1;i(o)?(s=c.fromPoints(o.start,o.end),a=!0):(s=c.fromPoints(o.start,o.start),a=!1);for(var l=1;l<e.length;l++)o=e[l],i(o)?(r=o.start,-1==s.compare(r.row,r.column)&&s.setStart(r),r=o.end,1==s.compare(r.row,r.column)&&s.setEnd(r),a=!0):(r=o.start,-1==s.compare(r.row,r.column)&&(s=c.fromPoints(o.start,o.start)),a=!1);if(null!=n){0===c.comparePoints(n.start,s.start)&&(n.start.column+=s.end.column-s.start.column,n.end.column+=s.end.column-s.start.column);var h=n.compareRange(s);1==h?s.setStart(n.start):-1==h&&s.setEnd(n.end)}return s},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var i=this.getTextRange(e),s=this.getFoldsInRange(e),r=c.fromPoints(t,t);if(!n){this.remove(e);var o=e.start.row-e.end.row,a=o?-e.end.column:e.start.column-e.end.column;a&&(r.start.row==e.end.row&&r.start.column>e.end.column&&(r.start.column+=a),r.end.row==e.end.row&&r.end.column>e.end.column&&(r.end.column+=a)),o&&r.start.row>=e.end.row&&(r.start.row+=o,r.end.row+=o)}if(r.end=this.insert(r.start,i),s.length){var l=e.start,h=r.start,o=h.row-l.row,a=h.column-l.column;this.addFolds(s.map(function(e){return e=e.clone(),e.start.row==l.row&&(e.start.column+=a),e.end.row==l.row&&(e.end.column+=a),e.start.row+=o,e.end.row+=o,e}))}return r},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var i=e;t>=i;i++)this.doc.insertInLine({row:i,column:0},n)},this.outdentRows=function(e){for(var t=e.collapseRows(),n=new c(0,0,0,0),i=this.getTabSize(),s=t.start.row;s<=t.end.row;++s){var r=this.getLine(s);n.start.row=s,n.end.row=s;for(var o=0;i>o&&" "==r.charAt(o);++o);i>o&&"	"==r.charAt(o)?(n.start.column=o,n.end.column=o+1):(n.start.column=0,n.end.column=o),this.remove(n)}},this.$moveLines=function(e,t,n){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),0>n){var i=this.getRowFoldStart(e+n);if(0>i)return 0;var s=i-e}else if(n>0){var i=this.getRowFoldEnd(t+n);if(i>this.doc.getLength()-1)return 0;var s=i-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var s=t-e+1}var r=new c(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(r).map(function(e){return e=e.clone(),e.start.row+=s,e.end.row+=s,e}),a=0==n?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+s,a),o.length&&this.addFolds(o),s},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 0>t?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),0>e)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=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.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var i=this.$constrainWrapLimit(e,n.min,n.max);return i!=this.$wrapLimit&&i>1?(this.$wrapLimit=i,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,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,n=e.action,i=e.start,s=e.end,r=i.row,o=s.row,a=o-r,l=null;if(this.$updating=!0,0!=a)if("remove"===n){this[t?"$wrapData":"$rowLengthCache"].splice(r,a);var c=this.$foldData;l=this.getFoldsInRange(e),this.removeFolds(l);var h=this.getFoldLine(s.row),u=0;if(h){h.addRemoveChars(s.row,s.column,i.column-s.column),h.shiftRow(-a);var d=this.getFoldLine(r);d&&d!==h&&(d.merge(h),h=d),u=c.indexOf(h)+1}for(u;u<c.length;u++){var h=c[u];h.start.row>=s.row&&h.shiftRow(-a)}o=r}else{var f=Array(a);f.unshift(r,0);var g=t?this.$wrapData:this.$rowLengthCache;g.splice.apply(g,f);var c=this.$foldData,h=this.getFoldLine(r),u=0;if(h){var p=h.range.compareInside(i.row,i.column);0==p?(h=h.split(i.row,i.column),h&&(h.shiftRow(a),h.addRemoveChars(o,0,s.column-i.column))):-1==p&&(h.addRemoveChars(r,0,s.column-i.column),h.shiftRow(a)),u=c.indexOf(h)+1}for(u;u<c.length;u++){var h=c[u];h.start.row>=r&&h.shiftRow(a)}}else{a=Math.abs(e.start.column-e.end.column),"remove"===n&&(l=this.getFoldsInRange(e),this.removeFolds(l),a=-a);var h=this.getFoldLine(r);h&&h.addRemoveChars(r,i.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(r,o):this.$updateRowLengthCache(r,o),l},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var n,i,s=this.doc.getAllLines(),r=this.getTabSize(),o=this.$wrapData,l=this.$wrapLimit,c=e;for(t=Math.min(t,s.length-1);t>=c;)i=this.getFoldLine(c,i),i?(n=[],i.walk(function(e,t,i,r){var o;if(null!=e){o=this.$getDisplayTokens(e,n.length),o[0]=a;for(var l=1;l<o.length;l++)o[l]=h}else o=this.$getDisplayTokens(s[t].substring(r,i),n.length);n=n.concat(o)}.bind(this),i.end.row,s[i.end.row].length+1),o[i.start.row]=this.$computeWrapSplits(n,l,r),c=i.end.row+1):(n=this.$getDisplayTokens(s[c]),o[c]=this.$computeWrapSplits(n,l,r),c++)};var t=1,n=2,a=3,h=4,f=9,g=10,p=11,m=12;this.$computeWrapSplits=function(e,t,i){function s(){var t=0;if(0===C)return t;if(v)for(var n=0;n<e.length;n++){var s=e[n];if(s==g)t+=1;else{if(s!=p){if(s==m)continue;break}t+=i}}return d&&v!==!1&&(t+=i),Math.min(t,C)}function r(t){var n=e.slice(c,t),i=n.length;n.join("").replace(/12/g,function(){i-=1}).replace(/2/g,function(){i-=1}),o.length||(A=s(),o.indent=A),u+=i,o.push(u),c=t}if(0==e.length)return[];for(var o=[],l=e.length,c=0,u=0,d=this.$wrapAsCode,v=this.$indentedSoftWrap,C=t<=Math.max(2*i,8)||v===!1?0:Math.floor(t/2),A=0;l-c>t-A;){var w=c+t-A;if(e[w-1]>=g&&e[w]>=g)r(w);else if(e[w]!=a&&e[w]!=h){for(var b=Math.max(w-(t-(t>>2)),c-1);w>b&&e[w]<a;)w--;if(d){for(;w>b&&e[w]<a;)w--;for(;w>b&&e[w]==f;)w--}else for(;w>b&&e[w]<g;)w--;w>b?r(++w):(w=c+t,e[w]==n&&w--,r(w-A))}else{for(w;w!=c-1&&e[w]!=a;w--);if(w>c){r(w);continue}for(w=c+t;w<e.length&&e[w]==h;w++);if(w==e.length)break;r(w)}}return o},this.$getDisplayTokens=function(i,s){var r,o=[];s=s||0;for(var a=0;a<i.length;a++){var l=i.charCodeAt(a);if(9==l){r=this.getScreenTabSize(o.length+s),o.push(p);for(var c=1;r>c;c++)o.push(m)}else 32==l?o.push(g):l>39&&48>l||l>57&&64>l?o.push(f):l>=4352&&e(l)?o.push(t,n):o.push(t)}return o},this.$getStringScreenWidth=function(t,n,i){if(0==n)return[0,0];null==n&&(n=1/0),i=i||0;var s,r;for(r=0;r<t.length&&(s=t.charCodeAt(r),i+=9==s?this.getScreenTabSize(i):s>=4352&&e(s)?2:1,!(i>n));r++);return[i,r]},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),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.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 n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,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){if(0>e)return{row:0,column:0};var n,i,s=0,r=0,o=0,a=0,l=this.$screenRowCache,c=this.$getRowCacheIndex(l,e),h=l.length;if(h&&c>=0)var o=l[c],s=this.$docRowCache[c],u=e>l[h-1];else var u=!h;for(var d=this.getLength()-1,f=this.getNextFoldLine(s),g=f?f.start.row:1/0;e>=o&&(a=this.getRowLength(s),!(o+a>e||s>=d));)o+=a,s++,s>g&&(s=f.end.row+1,f=this.getNextFoldLine(s,f),g=f?f.start.row:1/0),u&&(this.$docRowCache.push(s),this.$screenRowCache.push(o));if(f&&f.start.row<=s)n=this.getFoldDisplayLine(f),s=f.start.row;else{if(e>=o+a||s>d)return{row:d,column:this.getLine(d).length};n=this.getLine(s),f=null}var p=0;if(this.$useWrapMode){var m=this.$wrapData[s];if(m){var v=Math.floor(e-o);i=m[v],v>0&&m.length&&(p=m.indent,r=m[v-1]||m[m.length-1],n=n.substring(r))}}return r+=this.$getStringScreenWidth(n,t-p)[1],this.$useWrapMode&&r>=i&&(r=i-1),f?f.idxToPosition(r):{row:s,column:r}},this.documentToScreenPosition=function(e,t){if("undefined"==typeof t)var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var i=0,s=null,r=null;r=this.getFoldAt(e,t,1),r&&(e=r.start.row,t=r.start.column);var o,a=0,l=this.$docRowCache,c=this.$getRowCacheIndex(l,e),h=l.length;if(h&&c>=0)var a=l[c],i=this.$screenRowCache[c],u=e>l[h-1];else var u=!h;for(var d=this.getNextFoldLine(a),f=d?d.start.row:1/0;e>a;){if(a>=f){if(o=d.end.row+1,o>e)break;d=this.getNextFoldLine(o,d),f=d?d.start.row:1/0}else o=a+1;i+=this.getRowLength(a),a=o,u&&(this.$docRowCache.push(a),this.$screenRowCache.push(i))}var g="";d&&a>=f?(g=this.getFoldDisplayLine(d,e,t),s=d.start.row):(g=this.getLine(e).substring(0,t),s=e);var p=0;if(this.$useWrapMode){var m=this.$wrapData[s];if(m){for(var v=0;g.length>=m[v];)i++,v++;g=g.substring(m[v-1]||0,g.length),p=v>0?m.indent:0}}return{row:i,column:p+this.$getStringScreenWidth(g)[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 n=this.$wrapData.length,i=0,s=0,t=this.$foldData[s++],r=t?t.start.row:1/0;n>i;){var o=this.$wrapData[i];e+=o?o.length+1:1,i++,i>r&&(i=t.end.row+1,t=this.$foldData[s++],r=t?t.start.row:1/0)}else{e=this.getLength();for(var a=this.$foldData,s=0;s<a.length;s++)t=a[s],e-=t.end.row-t.start.row}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){this.$enableVarChar&&(this.$getStringScreenWidth=function(t,n,i){if(0===n)return[0,0];n||(n=1/0),i=i||0;var s,r;for(r=0;r<t.length&&(s=t.charAt(r),i+="	"===s?this.getScreenTabSize(i):e.getCharacterWidth(s),!(i>n));r++);return[i,r]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).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,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,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},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,n){"use strict";var i=e("./lib/lang"),s=e("./lib/oop"),r=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return s.mixin(this.$options,e),this},this.getOptions=function(){return i.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var i=null;return n.forEach(function(e,n,s){if(e.start)i=e;else{var o=e.offset+(s||0);if(i=new r(n,o,n,o+e.length),!e.length&&t.start&&t.start.start&&0!=t.skipCurrent&&i.isEqual(t.start))return i=null,!1}return!0}),i},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,s=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],a=t.re;if(t.$isMultiLine){var l,c=a.length,h=s.length-c;e:for(var u=a.offset||0;h>=u;u++){for(var d=0;c>d;d++)if(-1==s[u+d].search(a[d]))continue e;var f=s[u],g=s[u+c-1],p=f.length-f.match(a[0])[0].length,m=g.match(a[c-1])[0].length;l&&l.end.row===u&&l.end.column>p||(o.push(l=new r(u,p,u+c-1,m)),c>2&&(u=u+c-2))}}else for(var v=0;v<s.length;v++)for(var C=i.getMatchOffsets(s[v],a),d=0;d<C.length;d++){var A=C[d];o.push(new r(v,A.offset,v,A.offset+A.length))}if(n){for(var w=n.start.column,b=n.start.column,v=0,d=o.length-1;d>v&&o[v].start.column<w&&o[v].start.row==n.start.row;)v++;for(;d>v&&o[d].end.column>b&&o[d].end.row==n.end.row;)d--;for(o=o.slice(v,d+1),v=0,d=o.length;d>v;v++)o[v].start.row+=n.start.row,o[v].end.row+=n.start.row}return o},this.replace=function(e,t){var n=this.$options,i=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(i){var s=i.exec(e);if(!s||s[0].length!=e.length)return null;if(t=e.replace(i,t),n.preserveCase){t=t.split("");for(var r=Math.min(e.length,e.length);r--;){var o=e[r];o&&o.toLowerCase()!=o?t[r]=t[r].toUpperCase():t[r]=t[r].toLowerCase()}t=t.join("")}return t}},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var s;if(t.$isMultiLine)var o=n.length,a=function(t,i,a){var l=t.search(n[0]);if(-1!=l){for(var c=1;o>c;c++)if(t=e.getLine(i+c),-1==t.search(n[c]))return;var h=t.match(n[o-1])[0].length,u=new r(i,l,i+o-1,h);return 1==n.offset?(u.start.row--,u.start.column=Number.MAX_VALUE):a&&(u.start.column+=a),s(u)?!0:void 0}};else if(t.backwards)var a=function(e,t,r){for(var o=i.getMatchOffsets(e,n),a=o.length-1;a>=0;a--)if(s(o[a],t,r))return!0};else var a=function(e,t,r){for(var o=i.getMatchOffsets(e,n),a=0;a<o.length;a++)if(s(o[a],t,r))return!0};var l=this.$lineIterator(e,t);return{forEach:function(e){s=e,l.forEach(a)}}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=i.escapeRegExp(n)),e.wholeWord&&(n="\\b"+n+"\\b");var s=e.caseSensitive?"gm":"gmi";if(e.$isMultiLine=!t&&/[\n\r]/.test(n),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,s);try{var r=new RegExp(n,s)}catch(o){r=!1}return e.re=r},this.$assembleMultilineRegExp=function(e,t){for(var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),i=[],s=0;s<n.length;s++)try{i.push(new RegExp(n[s],t))}catch(r){return!1}return""==n[0]?(i.shift(),i.offset=1):i.offset=0,i},this.$lineIterator=function(e,t){var n=1==t.backwards,i=0!=t.skipCurrent,s=t.range,r=t.start;r||(r=s?s[n?"end":"start"]:e.selection.getRange()),r.start&&(r=r[i!=n?"end":"start"]);var o=s?s.start.row:0,a=s?s.end.row:e.getLength()-1,l=n?function(n){var i=r.row,s=e.getLine(i).substring(0,r.column);if(!n(s,i)){for(i--;i>=o;i--)if(n(e.getLine(i),i))return;if(0!=t.wrap)for(i=a,o=r.row;i>=o;i--)if(n(e.getLine(i),i))return}}:function(n){var i=r.row,s=e.getLine(i).substr(r.column);if(!n(s,i,r.column)){for(i+=1;a>=i;i++)if(n(e.getLine(i),i))return;if(0!=t.wrap)for(i=o,a=r.row;a>=i;i++)if(n(e.getLine(i),i))return}};return{forEach:l}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function i(e,t){this.platform=t||(o.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function s(e,t){i.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),o=e("../lib/useragent"),a=r.KEY_MODS;s.prototype=i.prototype,function(){function e(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||0}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&("string"==typeof e?e:e.name);e=this.commands[n],t||delete this.commands[n];var i=this.commandKeyBinding;for(var s in i){var r=i[s];if(r==e)delete i[s];else if(Array.isArray(r)){var o=r.indexOf(e);-1!=o&&(r.splice(o,1),1==r.length&&(i[s]=r[0]))}}},this.bindKey=function(e,t,n){return"object"==typeof e&&(void 0==n&&(n=e.position),e=e[this.platform]),e?"function"==typeof t?this.addCommand({exec:t,bindKey:e,name:t.name||e}):void e.split("|").forEach(function(e){var i="";if(-1!=e.indexOf(" ")){var s=e.split(/\s+/);e=s.pop(),s.forEach(function(e){var t=this.parseKeys(e),n=a[t.hashId]+t.key;i+=(i?" ":"")+n,this._addCommandToBinding(i,"chainKeys")},this),i+=" "}var r=this.parseKeys(e),o=a[r.hashId]+r.key;this._addCommandToBinding(i+o,t,n)},this):void 0},this._addCommandToBinding=function(t,n,i){var s,r=this.commandKeyBinding;if(n)if(!r[t]||this.$singleCommand)r[t]=n;else{Array.isArray(r[t])?-1!=(s=r[t].indexOf(n))&&r[t].splice(s,1):r[t]=[r[t]],"number"!=typeof i&&(i=i||n.isDefault?-100:e(n));var o=r[t];for(s=0;s<o.length;s++){var a=o[s],l=e(a);if(l>i)break}o.splice(s,0,n)}else delete r[t]},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(n){if("string"==typeof n)return this.bindKey(n,t);"function"==typeof n&&(n={exec:n}),"object"==typeof n&&(n.name||(n.name=t),this.addCommand(n))}},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(1==t.length&&"shift"==t[0])return{key:n.toUpperCase(),hashId:-1}}for(var s=0,o=t.length;o--;){var a=r.KEY_MODS[t[o]];if(null==a)return"undefined"!=typeof console&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=a}return{key:n,hashId:s}},this.findKeyCommand=function(e,t){var n=a[e]+t;return this.commandKeyBinding[n]},this.handleKeyboard=function(e,t,n,i){if(!(0>i)){var s=a[t]+n,r=this.commandKeyBinding[s];return e.$keyChain&&(e.$keyChain+=" "+s,r=this.commandKeyBinding[e.$keyChain]||r),!r||"chainKeys"!=r&&"chainKeys"!=r[r.length-1]?(e.$keyChain&&(t&&4!=t||1!=n.length?(-1==t||i>0)&&(e.$keyChain=""):e.$keyChain=e.$keyChain.slice(0,-s.length-1)),{command:r}):(e.$keyChain=e.$keyChain||s,{command:"null"})}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(i.prototype),t.HashHandler=i,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,n){"use strict";var i=e("../lib/oop"),s=e("../keyboard/hash_handler").MultiHashHandler,r=e("../lib/event_emitter").EventEmitter,o=function(e,t){s.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};i.inherits(o,s),function(){i.implement(this,r),this.exec=function(e,t,n){if(Array.isArray(e)){for(var i=e.length;i--;)if(this.exec(e[i],t,n))return!0;return!1}if("string"==typeof e&&(e=this.commands[e]),!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var s={editor:t,command:e,args:n};return s.returnValue=this._emit("exec",s),this._signal("afterExec",s),s.returnValue===!1?!1:!0},this.toggleRecording=function(e){return this.$inReplay?void 0:(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(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){"string"==typeof t?this.exec(t,e):this.exec(t[0],e,t[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(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function i(e,t){return{win:e,mac:t}}var s=e("../lib/lang"),r=e("../config"),o=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:i("Ctrl-,","Command-,"),exec:function(e){r.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:i("Alt-E","Ctrl-E"),exec:function(e){r.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:i("Alt-Shift-E","Ctrl-Shift-E"),exec:function(e){r.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:i("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:i(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:i("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:i("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:i("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:i("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:i("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:i(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:i("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:i("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:i("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:i("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:i("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:i("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:i("Ctrl-F","Command-F"),exec:function(e){r.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:i("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:i("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:i("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:i("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:i("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:i("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:i("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:i("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:i("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:i("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:i("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:i("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:i("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:i("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:i("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:i("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:i("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:i("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:i("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:i("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:i(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:i("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:i(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:i("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:i("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:i("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:i("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:i("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:i("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:i("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:i(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.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:i("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:i("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:i("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:i("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:i("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:i("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:i("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:i("Ctrl-H","Command-Option-F"),exec:function(e){r.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:i("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:i("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:i("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:i("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:i("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:i("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:i("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:i("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:i("Shift-Delete",null),exec:function(e){return e.selection.isEmpty()?void e.remove("left"):!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:i("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:i("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:i("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:i("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:i("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:i("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:i("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:i("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(s.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:i(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:i("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:i("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:i("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:i("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:i(null,null),exec:function(e){for(var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),r=e.session.doc.getLine(n.row).length,a=e.session.doc.getTextRange(e.selection.getRange()),l=a.replace(/\n\s*/," ").length,c=e.session.doc.getLine(n.row),h=n.row+1;h<=i.row+1;h++){var u=s.stringTrimLeft(s.stringTrimRight(e.session.doc.getLine(h)));0!==u.length&&(u=" "+u),c+=u}i.row+1<e.session.doc.getLength()-1&&(c+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new o(n.row,0,i.row+2,0),c),l>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+l)):(r=e.session.doc.getLine(n.row).length>r?r+1:r,e.selection.moveCursorTo(n.row,r))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:i(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,i=e.selection.rangeList.ranges,s=[];i.length<1&&(i=[e.selection.getRange()]);for(var r=0;r<i.length;r++)r==i.length-1&&(i[r].end.row!==t||i[r].end.column!==n)&&s.push(new o(i[r].end.row,i[r].end.column,t,n)),0===r?(0!==i[r].start.row||0!==i[r].start.column)&&s.push(new o(0,0,i[r].start.row,i[r].start.column)):s.push(new o(i[r-1].end.row,i[r-1].end.column,i[r].start.row,i[r].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var r=0;r<s.length;r++)e.selection.addRange(s[r],!1)},readOnly:!0,scrollIntoView:"none"}]}),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"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var i=e("./lib/oop"),s=e("./lib/dom"),r=e("./lib/lang"),o=e("./lib/useragent"),a=e("./keyboard/textinput").TextInput,l=e("./mouse/mouse_handler").MouseHandler,c=e("./mouse/fold_handler").FoldHandler,h=e("./keyboard/keybinding").KeyBinding,u=e("./edit_session").EditSession,d=e("./search").Search,f=e("./range").Range,g=e("./lib/event_emitter").EventEmitter,p=e("./commands/command_manager").CommandManager,m=e("./commands/default_commands").commands,v=e("./config"),C=e("./token_iterator").TokenIterator,A=function(e,t){var n=e.getContainerElement();this.container=n,this.renderer=e,this.commands=new p(o.isMac?"mac":"win",m),this.textInput=new a(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new h(this),this.$mouseHandler=new l(this),new c(this),this.$blockScrolling=0,this.$search=(new d).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=r.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||new u("")),v.resetOptions(this),v._signal("editor",this)};(function(){i.implement(this,g),this.$initOperationListeners=function(){this.selections=[],this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=r.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),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={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.command.name&&void 0!==this.curOp.command.scrollIntoView&&this.$blockScrolling++},this.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1)return this.curOp=null;this._signal("beforeEndOperation");var t=this.curOp.command;t.name&&this.$blockScrolling>0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var i=this.selection.getRange(),s=this.renderer.layerConfig;(i.start.row>=s.lastRow||i.end.row<=s.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==n&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,n=this.$mergeableCommands,i=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var s=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),i=i&&this.mergeNextCommand&&(!/\s/.test(s)||/\s/.test(t.args)),this.mergeNextCommand=!0}else i=i&&-1!==n.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(i=!1),i?this.session.mergeUndoDeltas=!0:-1!==n.indexOf(e.command.name)&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(e,t){if(e&&"string"==typeof e){this.$keybindingId=e;var n=this;v.loadModule(["keybinding",e],function(i){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(i&&i.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},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.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.removeEventListener("changeCursor",this.$onCursorChange),n.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),
this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,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})}},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")||s.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 e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=t.findMatchingBracket(e.getCursorPosition());if(n)var i=new f(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var i=t.$mode.getMatching(e.session);i&&(t.$bracketHighlight=t.addMarker(i,"ace_bracket","text"))}},50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=e.getCursorPosition(),i=new C(e.session,n.row,n.column),s=i.getCurrentToken();if(!s||!/\b(?:tag-open|tag-name)/.test(s.type))return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);if(-1==s.type.indexOf("tag-open")||(s=i.stepForward())){var r=s.value,o=0,a=i.stepBackward();if("<"==a.value){do a=s,s=i.stepForward(),s&&s.value===r&&-1!==s.type.indexOf("tag-name")&&("<"===a.value?o++:"</"===a.value&&o--);while(s&&o>=0)}else{do s=a,a=i.stepBackward(),s&&s.value===r&&-1!==s.type.indexOf("tag-name")&&("<"===a.value?o++:"</"===a.value&&o--);while(a&&0>=o);i.stepForward()}if(!s)return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);var l=i.getCurrentTokenRow(),c=i.getCurrentTokenColumn(),h=new f(l,c,l,c+s.value.length);t.$tagHighlight&&0!==h.compareRange(t.$backMarkers[t.$tagHighlight].range)&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),h&&!t.$tagHighlight&&(t.$tagHighlight=t.addMarker(h,"ace_bracket","text"))}}},50)}},this.focus=function(){var e=this;setTimeout(function(){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,n=e.start.row==e.end.row?e.end.row:1/0;this.renderer.updateLines(e.start.row,n,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.$blockScrolling||(v.warn("Automatically scrolling cursor into view after selection change","this will be disabled in the next version","set editor.$blockScrolling = Infinity to disable this message"),this.renderer.scrollCursorIntoView()),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.$maxLines||1!==this.session.getLength()||this.renderer.$minLines>1||(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var n=new f(e.row,e.column,e.row,1/0);n.id=t.addMarker(n,"ace_active-line","screenLine"),t.$highlightLineMarker=n}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 n=this.selection.getRange(),i=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",i)}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 n=t.start.column-1,i=t.end.column+1,s=e.getLine(t.start.row),r=s.length,o=s.substring(Math.max(n,0),Math.min(i,r));if(!(n>=0&&/^[\w\d]/.test(o)||r>=i&&/[\w\d]$/.test(o))&&(o=s.substring(t.start.column,t.end.column),/^[\w\d]+$/.test(o))){var a=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return a}}},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();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){"string"==typeof e&&(e={text:e}),this._signal("paste",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\r\n|\r|\n/),i=this.selection.rangeList.ranges;if(n.length>i.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,t);for(var s=i.length;s--;){var r=i[s];r.isEmpty()||this.session.remove(r),this.session.insert(r.start,n[s])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,i=n.getMode(),s=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var r=i.transformAction(n.getState(s.row),"insertion",this,n,e);r&&(e!==r.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=r.text)}if("	"==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()){var o=new f.fromPoints(s,s);o.end.column+=e.length,this.session.remove(o)}}else{var o=this.getSelectionRange();s=this.session.remove(o),this.clearSelection()}if("\n"==e||"\r\n"==e){var a=n.getLine(s.row);if(s.column>a.search(/\S|$/)){var l=a.substr(s.column).search(/\S|$/);n.doc.removeInLine(s.row,s.column,s.column+l)}}this.clearSelection();var c=s.column,h=n.getState(s.row),a=n.getLine(s.row),u=i.checkOutdent(h,a,e);n.insert(s,e);if(r&&r.selection&&(2==r.selection.length?this.selection.setSelectionRange(new f(s.row,c+r.selection[0],s.row,c+r.selection[1])):this.selection.setSelectionRange(new f(s.row+r.selection[0],r.selection[1],s.row+r.selection[2],r.selection[3]))),n.getDocument().isNewLine(e)){var d=i.getNextLineIndent(h,a.slice(0,s.column),n.getTabString());n.insert({row:s.row+1,column:0},d)}u&&i.autoOutdent(h,n,s.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},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 n=this.session,i=n.getState(t.start.row),s=n.getMode().transformAction(i,"deletion",this,n,t);if(0===t.end.column){var r=n.getTextRange(t);if("\n"==r[r.length-1]){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.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 n,i,s=this.session.getLine(e.row);t<s.length?(n=s.charAt(t)+s.charAt(t-1),i=new f(e.row,t-1,e.row,t+1)):(n=s.charAt(t-1)+s.charAt(t-2),i=new f(e.row,t-2,e.row,t)),this.session.replace(i,n)}}},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();return void e.indentRows(n.first,n.last,"	")}if(t.start.column<t.end.column){var i=e.getTextRange(t);if(!/^\s+$/.test(i)){var n=this.$getSelectedRows();return void e.indentRows(n.first,n.last,"	")}}var s=e.getLine(t.start.row),o=t.start,a=e.getTabSize(),l=e.documentToScreenColumn(o.row,o.column);if(this.session.getUseSoftTabs())var c=a-l%a,h=r.stringRepeat(" ",c);else{for(var c=l%a;" "==s[t.start.column]&&c;)t.start.column--,c--;this.selection.setSelectionRange(t),h="	"}return this.insert(h)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last,"	")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,n=[];for(s=e.first;s<=e.last;s++)n.push(t.getLine(s));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});for(var i=new f(0,0,0,0),s=e.first;s<=e.last;s++){var r=t.getLine(s);i.start.row=s,i.end.row=s,i.end.column=r.length,t.replace(i,n[s-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),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;for(var i=this.session.getLine(e);n.lastIndex<t;){var s=n.exec(i);if(s.index<=t&&s.index+s[0].length>=t){var r={value:s[0],start:s.index,end:s.index+s[0].length};return r}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,i=new f(t,n-1,t,n),s=this.session.getTextRange(i);if(!isNaN(parseFloat(s))&&isFinite(s)){var r=this.getNumberAt(t,n);if(r){var o=r.value.indexOf(".")>=0?r.start+r.value.indexOf(".")+1:r.end,a=r.start+r.value.length-o,l=parseFloat(r.value);l*=Math.pow(10,a),e*=o!==r.end&&o>n?Math.pow(10,r.end-n-1):Math.pow(10,r.end-n),l+=e,l/=Math.pow(10,a);var c=l.toFixed(a),h=new f(t,r.start,t,r.end);this.session.replace(h,c),this.moveCursorTo(t,Math.max(r.start+1,n+c.length-r.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,n=e.getRange(),i=e.isBackwards();if(n.isEmpty()){var s=n.start.row;t.duplicateLines(s,s)}else{var r=i?n.start:n.end,o=t.insert(r,t.getTextRange(n),!1);n.start=r,n.end=o,e.setSelectionRange(n,i)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,i,s=this.selection;if(!s.inMultiSelectMode||this.inVirtualSelectionMode){var r=s.toOrientedRange();n=this.$getSelectedRows(r),i=this.session.$moveLines(n.first,n.last,t?0:e),t&&-1==e&&(i=0),r.moveBy(i,0),s.fromOrientedRange(r)}else{var o=s.rangeList.ranges;s.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var a=0,l=0,c=o.length,h=0;c>h;h++){var u=h;o[h].moveBy(a,0),n=this.$getSelectedRows(o[h]);for(var d=n.first,f=n.last;++h<c;){l&&o[h].moveBy(l,0);var g=this.$getSelectedRows(o[h]);if(t&&g.first!=f)break;if(!t&&g.first>f+1)break;f=g.last}for(h--,a=this.session.$moveLines(d,f,t?0:e),t&&-1==e&&(u=h+1);h>=u;)o[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 n=this.renderer,i=this.renderer.layerConfig,s=e*Math.floor(i.height/i.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(s,0)}):t===!1&&(this.selection.moveCursorBy(s,0),this.selection.clearSelection()),this.$blockScrolling--;var r=n.scrollTop;n.scrollBy(0,s*i.lineHeight),null!=t&&n.scrollCursorIntoView(null,.5),n.animateScrolling(r)},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,n,i){this.renderer.scrollToLine(e,t,n,i)},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.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},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 n=this.getCursorPosition(),i=new C(this.session,n.row,n.column),s=i.getCurrentToken(),r=s||i.stepForward();if(r){var o,a,l=!1,c={},h=n.column-r.start,u={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(r.value.match(/[{}()\[\]]/g)){for(;h<r.value.length&&!l;h++)if(u[r.value[h]])switch(a=u[r.value[h]]+"."+r.type.replace("rparen","lparen"),isNaN(c[a])&&(c[a]=0),r.value[h]){case"(":case"[":case"{":c[a]++;break;case")":case"]":case"}":c[a]--,-1===c[a]&&(o="bracket",l=!0)}}else r&&-1!==r.type.indexOf("tag-name")&&(isNaN(c[r.value])&&(c[r.value]=0),"<"===s.value?c[r.value]++:"</"===s.value&&c[r.value]--,-1===c[r.value]&&(o="tag",l=!0));l||(s=r,r=i.stepForward(),h=0)}while(r&&!l);if(o){var d,g;if("bracket"===o)d=this.session.getBracketRange(n),d||(d=new f(i.getCurrentTokenRow(),i.getCurrentTokenColumn()+h-1,i.getCurrentTokenRow(),i.getCurrentTokenColumn()+h-1),g=d.start,(t||g.row===n.row&&Math.abs(g.column-n.column)<2)&&(d=this.session.getBracketRange(g)));else if("tag"===o){if(!r||-1===r.type.indexOf("tag-name"))return;var p=r.value;if(d=new f(i.getCurrentTokenRow(),i.getCurrentTokenColumn()-2,i.getCurrentTokenRow(),i.getCurrentTokenColumn()-2),0===d.compare(n.row,n.column)){l=!1;do r=s,s=i.stepBackward(),s&&(-1!==s.type.indexOf("tag-close")&&d.setEnd(i.getCurrentTokenRow(),i.getCurrentTokenColumn()+1),r.value===p&&-1!==r.type.indexOf("tag-name")&&("<"===s.value?c[p]++:"</"===s.value&&c[p]--,0===c[p]&&(l=!0)));while(s&&!l)}r&&r.type.indexOf("tag-name")&&(g=d.start,g.row==n.row&&Math.abs(g.column-n.column)<2&&(g=d.end))}g=d&&d.cursor||g,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,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},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 n=this.$search.find(this.session),i=0;return n?(this.$tryReplace(n,e)&&(i=1),null!==n&&(this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end)),i):i},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),i=0;if(!n.length)return i;this.$blockScrolling+=1;var s=this.getSelectionRange();this.selection.moveTo(0,0);for(var r=n.length-1;r>=0;--r)this.$tryReplace(n[r],e)&&i++;return this.selection.setSelectionRange(s),this.$blockScrolling-=1,i},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),null!==t?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),"string"==typeof e||e instanceof RegExp?t.needle=e:"object"==typeof e&&i.mixin(t,e);var s=this.selection.getRange();null==t.needle&&(e=this.session.getTextRange(s)||this.$search.$options.needle,e||(s=this.session.getWordRange(s.start.row,s.start.column),e=this.session.getTextRange(s)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:s});var r=this.$search.find(this.session);return t.preventScroll?r:r?(this.revealRange(r,n),r):(t.backwards?s.start=s.end:s.end=s.start,void this.selection.setRange(s))},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.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,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 t,n=this,i=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var s=this.$scrollAnchor;s.style.cssText="position:absolute",this.container.insertBefore(s,this.container.firstChild);var r=this.on("changeSelection",function(){i=!0}),o=this.renderer.on("beforeRender",function(){i&&(t=n.renderer.container.getBoundingClientRect())}),a=this.renderer.on("afterRender",function(){if(i&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,r=e.$cursorLayer.$pixelPos,o=e.layerConfig,a=r.top-o.offset;i=r.top>=0&&a+t.top<0?!0:r.top<o.height&&r.top+t.top+o.lineHeight>window.innerHeight?!1:null,null!=i&&(s.style.top=a+"px",s.style.left=r.left+"px",s.style.height=o.lineHeight+"px",s.scrollIntoView(i)),i=t=null}});this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.removeEventListener("changeSelection",r),this.renderer.removeEventListener("afterRender",a),this.renderer.removeEventListener("beforeRender",o))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,s.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))}}).call(A.prototype),v.defineOptions(A.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},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)}},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",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=A}),ace.define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var i=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:1==e.lines.length?null:e.lines,text:1==e.lines.length?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){for(var n=new Array(e.length),i=0;i<e.length;i++){for(var s=e[i],r={group:s.group,deltas:new Array(s.length)},o=0;o<s.deltas.length;o++){var a=s.deltas[o];r.deltas[o]=t(a)}n[i]=r}return n}this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(this.$deserializeDeltas(t),e),this.$undoStack.push(t),this.dirtyCounter++),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return 0===this.dirtyCounter},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(i.prototype),t.UndoManager=i}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var i=e("../lib/dom"),s=e("../lib/oop"),r=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.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=[]};(function(){
s.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,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 n=e[t],i=n.row,s=this.$annotations[i];s||(s=this.$annotations[i]={text:[]});var o=n.text;o=o?r.escapeHTML(o):n.html||"",-1===s.text.indexOf(o)&&s.text.push(o);var a=n.type;"error"==a?s.className=" ace_error":"warning"==a&&" ace_error"!=s.className?s.className=" ace_warning":"info"!=a||s.className||(s.className=" ace_info")}},this.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.start.row,n=e.end.row-t;if(0===n);else if("remove"==e.action)this.$annotations.splice(t,n+1,null);else{var i=new Array(n+1);i.unshift(t,1),this.$annotations.splice.apply(this.$annotations,i)}}},this.update=function(e){for(var t=this.session,n=e.firstRow,s=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1),r=t.getNextFoldLine(n),o=r?r.start.row:1/0,a=this.$showFoldWidgets&&t.foldWidgets,l=t.$breakpoints,c=t.$decorations,h=t.$firstLineNumber,u=0,d=t.gutterRenderer||this.$renderer,f=null,g=-1,p=n;;){if(p>o&&(p=r.end.row+1,r=t.getNextFoldLine(p,r),o=r?r.start.row:1/0),p>s){for(;this.$cells.length>g+1;)f=this.$cells.pop(),this.element.removeChild(f.element);break}f=this.$cells[++g],f||(f={element:null,textNode:null,foldWidget:null},f.element=i.createElement("div"),f.textNode=document.createTextNode(""),f.element.appendChild(f.textNode),this.element.appendChild(f.element),this.$cells[g]=f);var m="ace_gutter-cell ";l[p]&&(m+=l[p]),c[p]&&(m+=c[p]),this.$annotations[p]&&(m+=this.$annotations[p].className),f.element.className!=m&&(f.element.className=m);var v=t.getRowLength(p)*e.lineHeight+"px";if(v!=f.element.style.height&&(f.element.style.height=v),a){var C=a[p];null==C&&(C=a[p]=t.getFoldWidget(p))}if(C){f.foldWidget||(f.foldWidget=i.createElement("span"),f.element.appendChild(f.foldWidget));var m="ace_fold-widget ace_"+C;m+="start"==C&&p==o&&p<r.end.row?" ace_closed":" ace_open",f.foldWidget.className!=m&&(f.foldWidget.className=m);var v=e.lineHeight+"px";f.foldWidget.style.height!=v&&(f.foldWidget.style.height=v)}else f.foldWidget&&(f.element.removeChild(f.foldWidget),f.foldWidget=null);var A=u=d?d.getText(t,p):p+h;A!=f.textNode.data&&(f.textNode.data=A),p++}this.element.style.height=e.minHeight+"px",(this.$fixedWidth||t.$useWrapMode)&&(u=t.getLength()+h);var w=d?d.getWidth(t,u,e):u.toString().length*e.characterWidth,b=this.$padding||this.$computePadding();w+=b.left+b.right,w===this.gutterWidth||isNaN(w)||(this.gutterWidth=w,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",w))},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?i.addCssClass(this.element,"ace_folding-enabled"):i.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=i.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(),n=this.element.getBoundingClientRect();return e.x<t.left+n.left?"markers":this.$showFoldWidgets&&e.x>n.right-t.right?"foldWidgets":void 0}}).call(a.prototype),t.Gutter=a}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var i=e("../range").Range,s=e("../lib/dom"),r=function(e){this.element=s.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,i){return(e?1:0)|(t?2:0)|(n?4:0)|(i?8:0)}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){var e=e||this.config;if(e){this.config=e;var t=[];for(var n in this.markers){var i=this.markers[n];if(i.range){var s=i.range.clipRows(e.firstRow,e.lastRow);if(!s.isEmpty())if(s=s.toScreenRange(this.session),i.renderer){var r=this.$getTop(s.start.row,e),o=this.$padding+s.start.column*e.characterWidth;i.renderer(t,s,o,r,e)}else"fullLine"==i.type?this.drawFullLineMarker(t,s,i.clazz,e):"screenLine"==i.type?this.drawScreenLineMarker(t,s,i.clazz,e):s.isMultiLine()?"text"==i.type?this.drawTextMarker(t,s,i.clazz,e):this.drawMultiLineMarker(t,s,i.clazz,e):this.drawSingleLineMarker(t,s,i.clazz+" ace_start ace_br15",e)}else i.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(t,n,s,r,o){for(var a=this.session,l=n.start.row,c=n.end.row,h=l,u=0,d=0,f=a.getScreenLastRowColumn(h),g=new i(h,n.start.column,h,d);c>=h;h++)g.start.row=g.end.row=h,g.start.column=h==l?n.start.column:a.getRowWrapIndent(h),g.end.column=f,u=d,d=f,f=c>h+1?a.getScreenLastRowColumn(h+1):h==c?0:n.end.column,this.drawSingleLineMarker(t,g,s+(h==l?" ace_start":"")+" ace_br"+e(h==l||h==l+1&&n.start.column,d>u,d>f,h==c),r,h==c?0:1,o)},this.drawMultiLineMarker=function(e,t,n,i,s){var r=this.$padding,o=i.lineHeight,a=this.$getTop(t.start.row,i),l=r+t.start.column*i.characterWidth;s=s||"",e.push("<div class='",n," ace_br1 ace_start' style='","height:",o,"px;","right:0;","top:",a,"px;","left:",l,"px;",s,"'></div>"),a=this.$getTop(t.end.row,i);var c=t.end.column*i.characterWidth;if(e.push("<div class='",n," ace_br12' style='","height:",o,"px;","width:",c,"px;","top:",a,"px;","left:",r,"px;",s,"'></div>"),o=(t.end.row-t.start.row-1)*i.lineHeight,!(0>=o)){a=this.$getTop(t.start.row+1,i);var h=(t.start.column?1:0)|(t.end.column?0:8);e.push("<div class='",n,h?" ace_br"+h:"","' style='","height:",o,"px;","right:0;","top:",a,"px;","left:",r,"px;",s,"'></div>")}},this.drawSingleLineMarker=function(e,t,n,i,s,r){var o=i.lineHeight,a=(t.end.column+(s||0)-t.start.column)*i.characterWidth,l=this.$getTop(t.start.row,i),c=this.$padding+t.start.column*i.characterWidth;e.push("<div class='",n,"' style='","height:",o,"px;","width:",a,"px;","top:",l,"px;","left:",c,"px;",r||"","'></div>")},this.drawFullLineMarker=function(e,t,n,i,s){var r=this.$getTop(t.start.row,i),o=i.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,i)-r),e.push("<div class='",n,"' style='","height:",o,"px;","top:",r,"px;","left:0;right:0;",s||"","'></div>")},this.drawScreenLineMarker=function(e,t,n,i,s){var r=this.$getTop(t.start.row,i),o=i.lineHeight;e.push("<div class='",n,"' style='","height:",o,"px;","top:",r,"px;","left:0;right:0;",s||"","'></div>")}}).call(r.prototype),t.Marker=r}),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,n){"use strict";var i=e("../lib/oop"),s=e("../lib/dom"),r=e("../lib/lang"),o=(e("../lib/useragent"),e("../lib/event_emitter").EventEmitter),a=function(e){this.element=s.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){i.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.$updateEolChar=function(){var e="\n"==this.session.doc.getNewLineCharacter()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;return this.EOL_CHAR!=e?(this.EOL_CHAR=e,!0):void 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,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(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],n=1;e+1>n;n++)this.showInvisibles?t.push("<span class='ace_invisible ace_invisible_tab'>"+r.stringRepeat(this.TAB_CHAR,n)+"</span>"):t.push(r.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var i="ace_indent-guide",s="",o="";if(this.showInvisibles){i+=" ace_invisible",s=" ace_invisible_space",o=" ace_invisible_tab";var a=r.stringRepeat(this.SPACE_CHAR,this.tabSize),l=r.stringRepeat(this.TAB_CHAR,this.tabSize)}else var a=r.stringRepeat(" ",this.tabSize),l=a;this.$tabStrings[" "]="<span class='"+i+s+"'>"+a+"</span>",this.$tabStrings["	"]="<span class='"+i+o+"'>"+l+"</span>"}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;for(var i=Math.max(t,e.firstRow),s=Math.min(n,e.lastRow),r=this.element.childNodes,o=0,a=e.firstRow;i>a;a++){var l=this.session.getFoldLine(a);if(l){if(l.containsRow(i)){i=l.start.row;break}a=l.end.row}o++}for(var a=i,l=this.session.getNextFoldLine(a),c=l?l.start.row:1/0;;){if(a>c&&(a=l.end.row+1,l=this.session.getNextFoldLine(a,l),c=l?l.start.row:1/0),a>s)break;var h=r[o++];if(h){var u=[];this.$renderLine(u,a,!this.$useLineGroups(),a==c?l:!1),h.style.height=e.lineHeight*this.session.getRowLength(a)+"px",h.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 n=this.element;if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)n.removeChild(n.lastChild);if(e.firstRow<t.firstRow){var s=this.$renderLinesFragment(e,e.firstRow,t.firstRow-1);n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s)}if(e.lastRow>t.lastRow){var s=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(s)}},this.$renderLinesFragment=function(e,t,n){for(var i=this.element.ownerDocument.createDocumentFragment(),r=t,o=this.session.getNextFoldLine(r),a=o?o.start.row:1/0;;){if(r>a&&(r=o.end.row+1,o=this.session.getNextFoldLine(r,o),a=o?o.start.row:1/0),r>n)break;var l=s.createElement("div"),c=[];if(this.$renderLine(c,r,!1,r==a?o:!1),l.innerHTML=c.join(""),this.$useLineGroups())l.className="ace_line_group",i.appendChild(l),l.style.height=e.lineHeight*this.session.getRowLength(r)+"px";else for(;l.firstChild;)i.appendChild(l.firstChild);r++}return i},this.update=function(e){this.config=e;for(var t=[],n=e.firstRow,i=e.lastRow,s=n,r=this.session.getNextFoldLine(s),o=r?r.start.row:1/0;;){if(s>o&&(s=r.end.row+1,r=this.session.getNextFoldLine(s,r),o=r?r.start.row:1/0),s>i)break;this.$useLineGroups()&&t.push("<div class='ace_line_group' style='height:",e.lineHeight*this.session.getRowLength(s),"px'>"),this.$renderLine(t,s,!1,s==o?r:!1),this.$useLineGroups()&&t.push("</div>"),s++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,i){var s=this,o=/\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]/g,a=function(e,n,i,o,a){if(n)return s.showInvisibles?"<span class='ace_invisible ace_invisible_space'>"+r.stringRepeat(s.SPACE_CHAR,e.length)+"</span>":e;if("&"==e)return"&#38;";if("<"==e)return"&#60;";if(">"==e)return"&#62;";if("	"==e){var l=s.session.getScreenTabSize(t+o);return t+=l-1,s.$tabStrings[l]}if("　"==e){var c=s.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",h=s.showInvisibles?s.SPACE_CHAR:"";return t+=1,"<span class='"+c+"' style='width:"+2*s.config.characterWidth+"px'>"+h+"</span>"}return i?"<span class='ace_invisible ace_invisible_space ace_invalid'>"+s.SPACE_CHAR+"</span>":(t+=1,"<span class='ace_cjk' style='width:"+2*s.config.characterWidth+"px'>"+e+"</span>")},l=i.replace(o,a);if(this.$textToken[n.type])e.push(l);else{var c="ace_"+n.type.replace(/\./g," ace_"),h="";"fold"==n.type&&(h=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("<span class='",c,"'",h,">",l,"</span>")}return t+i.length},this.renderIndentGuide=function(e,t,n){var i=t.search(this.$indentGuideRe);return 0>=i||i>=n?t:" "==t[0]?(i-=i%this.tabSize,e.push(r.stringRepeat(this.$tabStrings[" "],i/this.tabSize)),t.substr(i)):"	"==t[0]?(e.push(r.stringRepeat(this.$tabStrings["	"],i)),t.substr(i)):t},this.$renderWrappedLine=function(e,t,n,i){for(var s=0,o=0,a=n[0],l=0,c=0;c<t.length;c++){var h=t[c],u=h.value;if(0==c&&this.displayIndentGuides){if(s=u.length,u=this.renderIndentGuide(e,u,a),!u)continue;s-=u.length}if(s+u.length<a)l=this.$renderToken(e,l,h,u),s+=u.length;else{for(;s+u.length>=a;)l=this.$renderToken(e,l,h,u.substring(0,a-s)),u=u.substring(a-s),s=a,i||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),e.push(r.stringRepeat(" ",n.indent)),o++,l=0,a=n[o]||Number.MAX_VALUE;0!=u.length&&(s+=u.length,l=this.$renderToken(e,l,h,u))}}},this.$renderSimpleLine=function(e,t){var n=0,i=t[0],s=i.value;this.displayIndentGuides&&(s=this.renderIndentGuide(e,s)),s&&(n=this.$renderToken(e,n,i,s));for(var r=1;r<t.length;r++)i=t[r],s=i.value,n=this.$renderToken(e,n,i,s)},this.$renderLine=function(e,t,n,i){if(i||0==i||(i=this.session.getFoldLine(t)),i)var s=this.$getFoldLineTokens(t,i);else var s=this.session.getTokens(t);if(n||e.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),"px'>"),s.length){var r=this.session.getRowSplitData(t);r&&r.length?this.$renderWrappedLine(e,s,r,n):this.$renderSimpleLine(e,s)}this.showInvisibles&&(i&&(t=i.end.row),e.push("<span class='ace_invisible ace_invisible_eol'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),n||e.push("</div>")},this.$getFoldLineTokens=function(e,t){function n(e,t,n){for(var i=0,r=0;r+e[i].value.length<t;)if(r+=e[i].value.length,i++,i==e.length)return;if(r!=t){var o=e[i].value.substring(t-r);o.length>n-t&&(o=o.substring(0,n-t)),s.push({type:e[i].type,value:o}),r=t+o.length,i+=1}for(;n>r&&i<e.length;){var o=e[i].value;o.length+r>n?s.push({type:e[i].type,value:o.substring(0,n-r)}):s.push(e[i]),r+=o.length,i+=1}}var i=this.session,s=[],r=i.getTokens(e);return t.walk(function(e,t,o,a,l){null!=e?s.push({type:"fold",value:e}):(l&&(r=i.getTokens(t)),r.length&&n(r,a,o))},t.end.row,this.session.getLine(t.end.row).length),s},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(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var i,s=e("../lib/dom"),r=function(e){this.element=s.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),void 0===i&&(i=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),s.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(i?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].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||i||(this.smoothBlinking=e,s.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=s.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,s.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,s.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&s.removeCssClass(this.element,"ace_smooth-blinking"),e(!0),this.isBlinking&&this.blinkInterval&&this.isVisible){this.smoothBlinking&&setTimeout(function(){s.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 n=this.session.documentToScreenPosition(e),i=this.$padding+n.column*this.config.characterWidth,s=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:i,top:s}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,i=0;(void 0===t||0===t.length)&&(t=[{cursor:null}]);for(var n=0,s=t.length;s>n;n++){var r=this.getPixelPosition(t[n].cursor,!0);if(!((r.top>e.height+e.offset||r.top<0)&&n>1)){var o=(this.cursors[i++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,r,e,t[n],this.session):(o.left=r.left+"px",o.top=r.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}}for(;this.cursors.length>i;)this.removeCursor();var a=this.session.getOverwrite();this.$setOverwrite(a),this.$pixelPos=r,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?s.addCssClass(this.element,"ace_overwrite-cursors"):s.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(r.prototype),t.Cursor=r}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var i=e("./lib/oop"),s=e("./lib/dom"),r=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,a=function(e){this.element=s.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=s.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)};(function(){i.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e}}).call(a.prototype);var l=function(e,t){a.call(this,e),this.scrollTop=0,t.$scrollbarWidth=this.width=s.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};i.inherits(l,a),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}.call(l.prototype);var c=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};i.inherits(c,a),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(c.prototype),t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=c,t.VScrollBar=l,t.HScrollBar=c}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var i=e("./lib/event"),s=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){if(this.changes=this.changes|e,!this.pending&&this.changes){this.pending=!0;var t=this;i.nextFrame(function(){t.pending=!1;for(var e;e=t.changes;)t.changes=0,t.onRender(e)},this.window)}}}).call(s.prototype),t.RenderLoop=s}),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,n){var i=e("../lib/oop"),s=e("../lib/dom"),r=e("../lib/lang"),o=e("../lib/useragent"),a=e("../lib/event_emitter").EventEmitter,l=0,c=t.FontMetrics=function(e,t){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),l||this.$testFractionalRect(),this.$measureNode.innerHTML=r.stringRepeat("X",l),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){i.implement(this,a),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=s.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;l=t>0&&1>t?50:100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(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.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)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(){if(50===l){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/l}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/l};return 0===n.width||0===n.height?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=r.stringRepeat(e,l);var t=this.$main.getBoundingClientRect();return t.width/l},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(c.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,n){"use strict";var i=e("./lib/oop"),s=e("./lib/dom"),r=e("./config"),o=e("./lib/useragent"),a=e("./layer/gutter").Gutter,l=e("./layer/marker").Marker,c=e("./layer/text").Text,h=e("./layer/cursor").Cursor,u=e("./scrollbar").HScrollBar,d=e("./scrollbar").VScrollBar,f=e("./renderloop").RenderLoop,g=e("./layer/font_metrics").FontMetrics,p=e("./lib/event_emitter").EventEmitter,m='.ace_editor {	position: relative;	overflow: hidden;	font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;	direction: ltr;	}	.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;	-moz-box-sizing: border-box;	-webkit-box-sizing: border-box;	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_layer {	z-index: 1;	position: absolute;	overflow: hidden;	word-wrap: normal;	white-space: pre;	height: 100%;	width: 100%;	-moz-box-sizing: border-box;	-webkit-box-sizing: border-box;	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;	-moz-box-sizing: border-box;	-webkit-box-sizing: border-box;	box-sizing: border-box;	border-left: 2px solid;	transform: translatez(0);	}	.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 {	-webkit-transition: opacity 0.18s;	transition: opacity 0.18s;	}	.ace_editor.ace_multiselect .ace_cursor {	border-left-width: 1px;	}	.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;	-moz-box-sizing: border-box;	-webkit-box-sizing: border-box;	box-sizing: border-box;	}	.ace_line .ace_fold {	-moz-box-sizing: border-box;	-webkit-box-sizing: border-box;	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: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));	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;	-moz-box-sizing: border-box;	-webkit-box-sizing: border-box;	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 {	-moz-box-sizing: border-box;	-webkit-box-sizing: border-box;	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_fold-widget.ace_invalid {	background-color: #FFB4B4;	border-color: #DE5555;	}	.ace_fade-fold-widgets .ace_fold-widget {	-webkit-transition: opacity 0.4s ease 0.05s;	transition: opacity 0.4s ease 0.05s;	opacity: 0;	}	.ace_fade-fold-widgets:hover .ace_fold-widget {	-webkit-transition: opacity 0.05s ease 0.05s;	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;}	';
s.importCssString(m,"ace_editor.css");var v=function(e,t){var n=this;this.container=e||s.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,s.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=s.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=s.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=s.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 i=this.$textLayer=new c(this.content);this.canvas=i.element,this.$markerFront=new l(this.content),this.$cursorLayer=new h(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){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new g(this.container,500),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._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 f(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,i.implement(this,p),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,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.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,n){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(!n)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.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,n,i){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=e?1:0;var s=this.container;i||(i=s.clientHeight||s.scrollHeight),n||(n=s.clientWidth||s.scrollWidth);var r=this.$updateCachedSize(e,t,n,i);if(!this.$size.scrollerHeight||!n&&!i)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(r|this.$changes,!0):this.$loop.schedule(r|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(e,t,n,i){i-=this.$extraHeight||0;var s=0,r=this.$size,o={width:r.width,height:r.height,scrollerHeight:r.scrollerHeight,scrollerWidth:r.scrollerWidth};return i&&(e||r.height!=i)&&(r.height=i,s|=this.CHANGE_SIZE,r.scrollerHeight=r.height,this.$horizScroll&&(r.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",s|=this.CHANGE_SCROLL),n&&(e||r.width!=n)&&(s|=this.CHANGE_SIZE,r.width=n,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",r.scrollerWidth=Math.max(0,n-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)),r.$dirty=!n||!i,s&&this._signal("resize",o),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.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 n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.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=s.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=s.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=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,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var i=this.textarea.style,s=this.lineHeight;if(0>t||t>e.height-s)return void(i.top=i.left="0");var r=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");r*=this.session.$getStringScreenWidth(o)[0]+2,s+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-r&&(n=this.$size.scrollerWidth-r),n+=this.gutterWidth,i.height=s+"px",i.width=r+"px",i.left=Math.min(n,this.$size.scrollerWidth-r)+"px",i.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=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},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,n,i){var s=this.scrollMargin;s.top=0|e,s.bottom=0|t,s.right=0|i,s.left=0|n,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)return void(this.$changes|=e);if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=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(),n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var i=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;i>0&&(this.scrollTop=i,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.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(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),void this._signal("afterRender")):e&this.CHANGE_SCROLL?(e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),void this._signal("afterRender")):(e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),void this._signal("afterRender"))},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.max((this.$minLines||1)*this.lineHeight,Math.min(t,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight());var i=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||i!=this.$vScroll){i!=this.$vScroll&&(this.$vScroll=i,this.scrollBarV.setVisible(i));var s=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,s,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,i=this.session.getScreenLength(),s=i*this.lineHeight,r=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-r-2*this.$padding<0),a=this.$horizScroll!==o;a&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var l=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var c=this.scrollTop%this.lineHeight,h=t.scrollerHeight+this.lineHeight,u=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;s+=u;var d=this.scrollMargin;this.session.setScrollTop(Math.max(-d.top,Math.min(this.scrollTop,s-t.scrollerHeight+d.bottom))),this.session.setScrollLeft(Math.max(-d.left,Math.min(this.scrollLeft,r+2*this.$padding-t.scrollerWidth+d.right)));var f=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-s+u<0||this.scrollTop>d.top),g=l!==f;g&&(this.$vScroll=f,this.scrollBarV.setVisible(f));var p,m,v=Math.ceil(h/this.lineHeight)-1,C=Math.max(0,Math.round((this.scrollTop-c)/this.lineHeight)),A=C+v,w=this.lineHeight;C=e.screenToDocumentRow(C,0);var b=e.getFoldLine(C);b&&(C=b.start.row),p=e.documentToScreenRow(C,0),m=e.getRowLength(C)*w,A=Math.min(e.screenToDocumentRow(A,0),e.getLength()-1),h=t.scrollerHeight+e.getRowLength(A)*w+m,c=this.scrollTop-p*w;var y=0;return this.layerConfig.width!=r&&(y=this.CHANGE_H_SCROLL),(a||g)&&(y=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),g&&(r=this.$getLongestLine())),this.layerConfig={width:r,padding:this.$padding,firstRow:C,firstRowScreen:p,lastRow:A,lineHeight:w,characterWidth:this.characterWidth,minHeight:h,maxHeight:s,offset:c,gutterOffset:Math.max(0,Math.ceil((c+t.height-t.scrollerHeight)/w)),height:this.$size.scrollerHeight},y},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;return e>n.lastRow+1||t<n.firstRow?void 0:t===1/0?(this.$showGutter&&this.$gutterLayer.update(n),void this.$textLayer.update(n)):(this.$textLayer.updateLines(n,e,t),!0)},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),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,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(0!==this.$size.scrollerHeight){var i=this.$cursorLayer.getPixelPosition(e),s=i.left,r=i.top,o=n&&n.top||0,a=n&&n.bottom||0,l=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;l+o>r?(t&&(r-=t*this.$size.scrollerHeight),0===r&&(r=-this.scrollMargin.top),this.session.setScrollTop(r)):l+this.$size.scrollerHeight-a<r+this.lineHeight&&(t&&(r+=t*this.$size.scrollerHeight),this.session.setScrollTop(r+this.lineHeight-this.$size.scrollerHeight));var c=this.scrollLeft;c>s?(s<this.$padding+2*this.layerConfig.characterWidth&&(s=-this.scrollMargin.left),this.session.setScrollLeft(s)):c+this.$size.scrollerWidth<s+this.characterWidth?this.session.setScrollLeft(Math.round(s+this.characterWidth-this.$size.scrollerWidth)):c<=this.$padding&&s-c<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 n=this.$cursorLayer.getPixelPosition(e),i=this.$size.scrollerHeight-this.lineHeight,s=n.top-i*(t||0);return this.session.setScrollTop(s),s},this.STEPS=8,this.$calcSteps=function(e,t){var n=0,i=this.STEPS,s=[],r=function(e,t,n){return n*(Math.pow(e-1,3)+1)+t};for(n=0;i>n;++n)s.push(r(n/this.STEPS,e,t-e));return s},this.scrollToLine=function(e,t,n,i){var s=this.$cursorLayer.getPixelPosition({row:e,column:0}),r=s.top;t&&(r-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(r),n!==!1&&this.animateScrolling(o,i)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(this.$animatedScroll){var i=this;if(e!=n){if(this.$scrollAnimation){var s=this.$scrollAnimation.steps;if(s.length&&(e=s[0],e==n))return}var r=i.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:r},clearInterval(this.$timer),i.session.setScrollTop(r.shift()),i.session.$scrollTop=n,this.$timer=setInterval(function(){r.length?(i.session.setScrollTop(r.shift()),i.session.$scrollTop=n):null!=n?(i.session.$scrollTop=-1,i.session.setScrollTop(n),n=null):(i.$timer=clearInterval(i.$timer),i.$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 0>t&&this.session.getScrollTop()>=1-this.scrollMargin.top?!0:t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom?!0:0>e&&this.session.getScrollLeft()>=1-this.scrollMargin.left?!0:e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right?!0:void 0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),i=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,s=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),r=Math.round(i);return{row:s,column:r,side:i-r>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),i=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),s=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(s,Math.max(i,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),i=this.session.documentToScreenPosition(e,t),s=this.$padding+Math.round(i.column*this.characterWidth),r=i.row*this.lineHeight;return{pageX:n.left+s-this.scrollLeft,pageY:n.top+r-this.scrollTop}},this.visualizeFocus=function(){s.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){s.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,s.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(s.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)},this.setTheme=function(e,t){function n(n){if(i.$themeId!=e)return t&&t();if(n.cssClass){s.importCssString(n.cssText,n.cssClass,i.container.ownerDocument),i.theme&&s.removeCssClass(i.container,i.theme.cssClass);var r="padding"in n?n.padding:"padding"in(i.theme||{})?4:i.$padding;i.$padding&&r!=i.$padding&&i.setPadding(r),i.$theme=n.cssClass,i.theme=n,s.addCssClass(i.container,n.cssClass),s.setCssClass(i.container,"ace_dark",n.isDark),i.$size&&(i.$size.width=0,i.$updateSizeAsync()),i._dispatchEvent("themeLoaded",{theme:n}),t&&t()}}var i=this;if(this.$themeId=e,i._dispatchEvent("themeChange",{theme:e}),e&&"string"!=typeof e)n(e);else{var o=e||this.$options.theme.initialValue;r.loadModule(["theme",o],n)}},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){s.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){s.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(v.prototype),r.defineOptions(v.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){s.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){return this.$gutterLineHighlight?(this.$gutterLineHighlight.style.display=e?"":"none",void(this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight())):(this.$gutterLineHighlight=s.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",void this.$gutter.appendChild(this.$gutterLineHighlight))},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()}},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=v}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,i){"use strict";var s=e("../lib/oop"),r=e("../lib/net"),o=e("../lib/event_emitter").EventEmitter,a=e("../config"),l=function(t,i,s,r){if(this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),a.get("packaged")||!e.toUrl)r=r||a.moduleUrl(i.id,"worker");else{var o=this.$normalizePath;r=r||o(e.toUrl("ace/worker/worker.js",null,"_"));var l={};t.forEach(function(t){l[t]=o(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{var c=i.src,h=n(102),u=new h([c],{type:"application/javascript"}),d=(window.URL||window.webkitURL).createObjectURL(u);this.$worker=new Worker(d)}catch(f){if(!(f instanceof window.DOMException))throw f;var u=this.$workerBlob(r),g=window.URL||window.webkitURL,p=g.createObjectURL(u);this.$worker=new Worker(p),g.revokeObjectURL(p)}this.$worker.postMessage({init:!0,tlns:l,module:i.id,classname:s}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){s.implement(this,o),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(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 r.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,n){if(n){var i=this.callbackId++;this.callbacks[i]=n,t.push(i)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.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,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))},this.$workerBlob=function(e){var t="importScripts('"+r.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var i=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new i;return s.append(t),s.getBlob("application/javascript")}}}).call(l.prototype);var c=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var i=null,s=!1,r=Object.create(o),l=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){l.messageBuffer.push(e),i&&(s?setTimeout(c):c())},this.setEmitSync=function(e){s=e};var c=function(){var e=l.messageBuffer.shift();e.command?i[e.command].apply(i,e.args):e.event&&r._signal(e.event,e.data)};r.postMessage=function(e){l.onMessage({data:e})},r.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},r.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},a.loadModule(["worker",t],function(e){for(i=new e[n](r);l.messageBuffer.length;)c()})};c.prototype=l.prototype,t.UIWorkerClient=c,t.WorkerClient=l}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var i=e("./range").Range,s=e("./lib/event_emitter").EventEmitter,r=e("./lib/oop"),o=function(e,t,n,i,s,r){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=s,this.othersClass=r,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=i,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var a=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=a.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){r.implement(this,s),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var s=this.pos;s.$insertRight=!0,s.detach(),s.markerId=n.addMarker(new i(s.row,s.column,s.row,s.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var i=t.createAnchor(n.row,n.column);i.$insertRight=!0,i.detach(),e.others.push(i)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new i(n.row,n.column,n.row,n.column+t.length),t.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 n="insert"===e.action?t.end.column-t.start.column:t.start.column-t.end.column,s=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,r=t.start.column-this.pos.column;if(this.updateAnchors(e),s&&(this.length+=n),s&&!this.session.$fromUndo)if("insert"===e.action)for(var o=this.others.length-1;o>=0;o--){var a=this.others[o],l={row:a.row,column:a.column+r};this.doc.insertMergedLines(l,e.lines)}else if("remove"===e.action)for(var o=this.others.length-1;o>=0;o--){var a=this.others[o],l={row:a.row,column:a.column+r};this.doc.remove(new i(l.row,l.column,l.row,l.column-n))}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 e=this,t=this.session,n=function(n,s){t.removeMarker(n.markerId),n.markerId=t.addMarker(new i(n.row,n.column,n.row,n.column+e.length),s,null,!1)};n(this.pos,this.mainClass);for(var s=this.others.length;s--;)n(this.others[s],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,n=0;t>n;n++)e.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(o.prototype),t.PlaceHolder=o}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){function i(e,t){return e.row==t.row&&e.column==t.column}function s(e){var t=e.domEvent,n=t.altKey,s=t.shiftKey,a=t.ctrlKey,l=e.getAccelKey(),c=e.getButton();if(a&&o.isMac&&(c=t.button),e.editor.inMultiSelectMode&&2==c)return void e.editor.textInput.onContextMenu(e.domEvent);if(!a&&!n&&!l)return void(0===c&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode());if(0===c){var h,u=e.editor,d=u.selection,f=u.inMultiSelectMode,g=e.getDocumentPosition(),p=d.getCursor(),m=e.inSelection()||d.isEmpty()&&i(g,p),v=e.x,C=e.y,A=function(e){v=e.clientX,C=e.clientY},w=u.session,b=u.renderer.pixelToScreenCoordinates(v,C),y=b;if(u.$mouseHandler.$enableJumpToDef)a&&n||l&&n?h=s?"block":"add":n&&u.$blockSelectEnabled&&(h="block");else if(l&&!n){if(h="add",!f&&s)return}else n&&u.$blockSelectEnabled&&(h="block");if(h&&o.isMac&&t.ctrlKey&&u.$mouseHandler.cancelContextMenu(),"add"==h){if(!f&&m)return;if(!f){var F=d.toOrientedRange();u.addSelectionMarker(F)}var E=d.rangeList.rangeAtPoint(g);u.$blockScrolling++,u.inVirtualSelectionMode=!0,s&&(E=null,F=d.ranges[0]||F,u.removeSelectionMarker(F)),u.once("mouseup",function(){var e=d.toOrientedRange();E&&e.isEmpty()&&i(E.cursor,e.cursor)?d.substractPoint(e.cursor):(s?d.substractPoint(F.cursor):F&&(u.removeSelectionMarker(F),d.addRange(F)),d.addRange(e)),u.$blockScrolling--,u.inVirtualSelectionMode=!1})}else if("block"==h){e.stop(),u.inVirtualSelectionMode=!0;var S,D=[],x=function(){var e=u.renderer.pixelToScreenCoordinates(v,C),t=w.screenToDocumentPosition(e.row,e.column);i(y,e)&&i(t,d.lead)||(y=e,u.$blockScrolling++,u.selection.moveToPosition(t),u.renderer.scrollCursorIntoView(),u.removeSelectionMarkers(D),D=d.rectangularRangeBlock(y,b),u.$mouseHandler.$clickSelection&&1==D.length&&D[0].isEmpty()&&(D[0]=u.$mouseHandler.$clickSelection.clone()),D.forEach(u.addSelectionMarker,u),u.updateSelectionMarkers(),u.$blockScrolling--)};u.$blockScrolling++,f&&!l?d.toSingleRange():!f&&l&&(S=d.toOrientedRange(),u.addSelectionMarker(S)),s?b=w.documentToScreenPosition(d.lead):d.moveToPosition(g),u.$blockScrolling--,y={row:-1,column:-1};var $=function(e){clearInterval(B),u.removeSelectionMarkers(D),D.length||(D=[d.toOrientedRange()]),u.$blockScrolling++,S&&(u.removeSelectionMarker(S),d.toSingleRange(S));for(var t=0;t<D.length;t++)d.addRange(D[t]);u.inVirtualSelectionMode=!1,u.$mouseHandler.$clickSelection=null,u.$blockScrolling--},T=x;r.capture(u.container,A,$);var B=setInterval(function(){T()},20);return e.preventDefault()}}}var r=e("../lib/event"),o=e("../lib/useragent");t.onMouseDown=s}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,n){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 i=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new i(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,n){function i(e,t,n){return p.$options.wrap=!0,p.$options.needle=t,p.$options.backwards=-1==n,p.find(e)}function s(e,t){return e.row==t.row&&e.column==t.column}function r(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",h),e.commands.addCommands(f.defaultCommands),o(e))}function o(e){function t(t){i&&(e.renderer.setMouseCursor(""),i=!1)}var n=e.textInput.getElement(),i=!1;u.addListener(n,"keydown",function(n){var s=18==n.keyCode&&!(n.ctrlKey||n.shiftKey||n.metaKey);e.$blockSelectEnabled&&s?i||(e.renderer.setMouseCursor("crosshair"),i=!0):i&&t()}),u.addListener(n,"keyup",t),u.addListener(n,"blur",t)}var a=e("./range_list").RangeList,l=e("./range").Range,c=e("./selection").Selection,h=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),d=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var g=e("./search").Search,p=new g,m=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(m.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var n=this.toOrientedRange();if(this.rangeList.add(n),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var i=this.rangeList.add(e);return this.$onAddRange(e),i.length&&this.$onRemoveRange(i),this.rangeCount>1&&!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);return t?(this.$onRemoveRange(t),t[0]):void 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 n=e.length;n--;){var i=this.ranges.indexOf(e[n]);this.ranges.splice(i,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&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new a,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=l.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),i=this.isBackwards(),s=n.start.row,r=n.end.row;if(s==r){if(i)var o=n.end,a=n.start;else var o=n.start,a=n.end;return this.addRange(l.fromPoints(a,a)),void this.addRange(l.fromPoints(o,o))}var c=[],h=this.getLineRange(s,!0);h.start.column=n.start.column,c.push(h);for(var u=s+1;r>u;u++)c.push(this.getLineRange(u,!0));h=this.getLineRange(r,!0),h.end.column=n.end.column,c.push(h),c.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=l.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var i=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),r=this.rectangularRangeBlock(i,s);r.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var i=[],r=e.column<t.column;if(r)var o=e.column,a=t.column;else var o=t.column,a=e.column;var c=e.row<t.row;if(c)var h=e.row,u=t.row;else var h=t.row,u=e.row;0>o&&(o=0),0>h&&(h=0),h==u&&(n=!0);for(var d=h;u>=d;d++){var f=l.fromPoints(this.session.screenToDocumentPosition(d,o),this.session.screenToDocumentPosition(d,a));if(f.isEmpty()){if(g&&s(f.end,g))break;var g=f.end}f.cursor=r?f.start:f.end,i.push(f)}if(c&&i.reverse(),!n){for(var p=i.length-1;i[p].isEmpty()&&p>0;)p--;if(p>0)for(var m=0;i[m].isEmpty();)m++;for(var v=p;v>=m;v--)i[v].isEmpty()&&i.splice(v,1)}return i}}.call(c.prototype);var v=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,n=e.length;n--;){var i=e[n];if(i.marker){this.session.removeMarker(i.marker);var s=t.indexOf(i);-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(f.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(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(n.multiSelect){if(t.multiSelectAction)"forEach"==t.multiSelectAction?i=n.forEachSelection(t,e.args):"forEachLine"==t.multiSelectAction?i=n.forEachSelection(t,e.args,!0):"single"==t.multiSelectAction?(n.exitMultiSelectMode(),i=t.exec(n,e.args||{})):i=t.multiSelectAction(n,e.args||{});else{var i=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}return i}},this.forEachSelection=function(e,t,n){if(!this.inVirtualSelectionMode){var i,s=n&&n.keepOrder,r=1==n||n&&n.$byLines,o=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 u=a._eventRegistry;a._eventRegistry={};var d=new c(o);this.inVirtualSelectionMode=!0;for(var f=h.length;f--;){if(r)for(;f>0&&h[f].start.row==h[f-1].end.row;)f--;d.fromOrientedRange(h[f]),d.index=f,this.selection=o.selection=d;var g=e.exec?e.exec(this,t||{}):e(this,t||{});i||void 0===g||(i=g),d.toOrientedRange(h[f])}d.detach(),this.selection=o.selection=a,this.inVirtualSelectionMode=!1,a._eventRegistry=u,a.mergeOverlappingRanges();var p=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),p&&p.from==p.to&&this.renderer.animateScrolling(p.from),i}},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,n=[],i=0;i<t.length;i++)n.push(this.session.getTextRange(t[i]));var s=this.session.getDocument().getNewLineCharacter();e=n.join(s),e.length==(n.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 n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var i=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;(i.row!=t.row||this.session.$clipPositionToDocument(i.row,i.column).column!=t.column)&&this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange())}},this.findAll=function(e,t,n){if(t=t||{},t.needle=e||t.needle,void 0==t.needle){var i=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(i)}this.$search.set(t);var s=this.$search.findAll(this.session);if(!s.length)return 0;this.$blockScrolling+=1;var r=this.multiSelect;n||r.toSingleRange(s[0]);for(var o=s.length;o--;)r.addRange(s[o],!0);return i&&r.rangeList.rangeAtPoint(i.start)&&r.addRange(i,!0),this.$blockScrolling-=1,s.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),i=n.cursor==n.end,s=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var r=this.session.screenToDocumentPosition(s.row+e,s.column);if(n.isEmpty())var o=r;else var a=this.session.documentToScreenPosition(i?n.end:n.start),o=this.session.screenToDocumentPosition(a.row+e,a.column);if(i){var c=l.fromPoints(r,o);c.cursor=c.start}else{var c=l.fromPoints(o,r);c.cursor=c.end}if(c.desiredColumn=s.column,this.selection.inMultiSelectMode){if(t)var h=n.cursor}else this.selection.addRange(n);this.selection.addRange(c),h&&this.selection.substractPoint(h)},this.transposeSelections=function(e){for(var t=this.session,n=t.multiSelect,i=n.ranges,s=i.length;s--;){var r=i[s];if(r.isEmpty()){var o=t.getWordRange(r.start.row,r.start.column);r.start.row=o.start.row,r.start.column=o.start.column,r.end.row=o.end.row,r.end.column=o.end.column}}n.mergeOverlappingRanges();for(var a=[],s=i.length;s--;){var r=i[s];a.unshift(t.getTextRange(r))}0>e?a.unshift(a.pop()):a.push(a.shift());for(var s=i.length;s--;){var r=i[s],o=r.clone();t.replace(r,a[s]),r.start.row=o.start.row,r.start.column=o.start.column}},this.selectMore=function(e,t,n){var s=this.session,r=s.multiSelect,o=r.toOrientedRange();if(!o.isEmpty()||(o=s.getWordRange(o.start.row,o.start.column),o.cursor=-1==e?o.start:o.end,this.multiSelect.addRange(o),!n)){var a=s.getTextRange(o),l=i(s,a,e);l&&(l.cursor=-1==e?l.start:l.end,this.$blockScrolling+=1,this.session.unfold(l),this.multiSelect.addRange(l),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(o.cursor)}},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,i=-1,s=n.filter(function(e){return e.cursor.row==i?!0:void(i=e.cursor.row)});if(n.length&&s.length!=n.length-1){s.forEach(function(e){t.substractPoint(e.cursor)});var r=0,o=1/0,a=n.map(function(t){var n=t.cursor,i=e.getLine(n.row),s=i.substr(n.column).search(/\S/g);return-1==s&&(s=0),n.column>r&&(r=n.column),o>s&&(o=s),s});n.forEach(function(t,n){var i=t.cursor,s=r-i.column,c=a[n]-o;s>c?e.insert(i,d.stringRepeat(" ",s-c)):e.remove(new l(i.row,i.column,i.row,i.column-s+c)),t.start.column=t.end.column=r,t.start.row=t.end.row=i.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var c=this.selection.getRange(),h=c.start.row,u=c.end.row,f=h==u;if(f){var g,p=this.session.getLength();do g=this.session.getLine(u);while(/[=:]/.test(g)&&++u<p);do g=this.session.getLine(h);while(/[=:]/.test(g)&&--h>0);0>h&&(h=0),u>=p&&(u=p-1)}var m=this.session.removeFullLines(h,u);m=this.$reAlignText(m,f),this.session.insert({row:h,column:0},m.join("\n")+"\n"),f||(c.start.column=0,c.end.column=m[m.length-1].length),this.selection.setRange(c)}},this.$reAlignText=function(e,t){function n(e){return d.stringRepeat(" ",e)}function i(e){return e[2]?n(o)+e[2]+n(a-e[2].length+l)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function s(e){return e[2]?n(o+a-e[2].length)+e[2]+n(l," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function r(e){return e[2]?n(o)+e[2]+n(l)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var o,a,l,c=!0,h=!0;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?null==o?(o=t[1].length,a=t[2].length,l=t[3].length,t):(o+a+l!=t[1].length+t[2].length+t[3].length&&(h=!1),o!=t[1].length&&(c=!1),o>t[1].length&&(o=t[1].length),a<t[2].length&&(a=t[2].length),l>t[3].length&&(l=t[3].length),t):[e]}).map(t?i:c?h?s:i:r)}}).call(v.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 n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.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=r,e("./config").defineOptions(v.prototype,"editor",{enableMultiselect:{set:function(e){r(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",h)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",h))},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,n){"use strict";var i=e("../../range").Range,s=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var i=e.getLine(n);return this.foldingStartMarker.test(i)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(i)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var s=/\S/,r=e.getLine(t),o=r.search(s);if(-1!=o){for(var a=n||r.length,l=e.getLength(),c=t,h=t;++t<l;){var u=e.getLine(t).search(s);if(-1!=u){if(o>=u)break;h=t}}if(h>c){var d=e.getLine(h).length;return new i(c,a,h,d)}}},this.openingBracketBlock=function(e,t,n,s,r){var o={row:n,column:s+1},a=e.$findClosingBracket(t,o,r);if(a){var l=e.foldWidgets[a.row];return null==l&&(l=e.getFoldWidget(a.row)),"start"==l&&a.row>o.row&&(a.row--,a.column=e.getLine(a.row).length),i.fromPoints(o,a)}},this.closingBracketBlock=function(e,t,n,s,r){var o={row:n,column:s},a=e.$findOpeningBracket(t,o);return a?(a.column++,o.column--,i.fromPoints(a,o)):void 0}}).call(s.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"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;	}	';var i=e("../lib/dom");i.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function i(e){this.session=e,this.session.widgetManager=this,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)}var s=(e("./lib/oop"),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:0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},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&&(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 n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(n&&e.action){for(var i=e.data,s=i.start.row,r=i.end.row,o="add"==e.action,a=s+1;r>a;a++)n[a]&&(n[a].hidden=o);n[r]&&(o?n[s]?n[r].hidden=o:n[s]=n[r]:(n[s]==n[r]&&(n[s]=void 0),n[r].hidden=o))}},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(t){var n=e.start.row,i=e.end.row-n;if(0===i);else if("remove"==e.action){var s=t.splice(n+1,i);s.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var r=new Array(i);r.unshift(n,0),t.splice.apply(t,r),this.$updateRows()}}},this.$updateRows=function(){var e=this.session.lineWidgets;if(e){var t=!0;e.forEach(function(e,n){if(e)for(t=!1,e.row=n;e.$oldWidget;)e.$oldWidget.row=n,e=e.$oldWidget}),t&&(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,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e.session=this.session;var n=this.editor.renderer;e.html&&!e.el&&(e.el=s.createElement("div"),e.el.innerHTML=e.html),e.el&&(s.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,n.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight||(e.pixelHeight=e.el.offsetHeight),null==e.rowCount&&(e.rowCount=e.pixelHeight/n.layerConfig.lineHeight);var i=this.session.getFoldAt(e.row,0);if(e.$fold=i,i){var r=this.session.lineWidgets;e.row!=i.end.row||r[i.start.row]?e.hidden=!0:r[i.start.row]=e}return this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,n),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(t){}if(this.session.lineWidgets){var n=this.session.lineWidgets[e.row];if(n==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;n;){if(n.$oldWidget==e){n.$oldWidget=e.$oldWidget;break}n=n.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,n=t&&t[e],i=[];n;)i.push(n),n=n.$oldWidget;return i},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,i=t.layerConfig;if(n&&n.length){for(var s=1/0,r=0;r<n.length;r++){var o=n[r];if(o&&o.el&&o.session==this.session){if(!o._inDocument){if(this.session.lineWidgets[o.row]!=o)continue;o._inDocument=!0,t.container.appendChild(o.el)}o.h=o.el.offsetHeight,o.fixedWidth||(o.w=o.el.offsetWidth,o.screenWidth=Math.ceil(o.w/i.characterWidth));var a=o.h/i.lineHeight;o.coverLine&&(a-=this.session.getRowLineCount(o.row),0>a&&(a=0)),o.rowCount!=a&&(o.rowCount=a,o.row<s&&(s=o.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 n=t.layerConfig,i=this.session.lineWidgets;if(i){for(var s=Math.min(this.firstRow,n.firstRow),r=Math.max(this.lastRow,n.lastRow,i.length);s>0&&!i[s];)s--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=s;r>=o;o++){var a=i[o];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:o,column:0},!0).top;a.coverLine||(l+=n.lineHeight*this.session.getRowLineCount(a.row)),a.el.style.top=l-n.offset+"px";var c=a.coverGutter?0:t.gutterWidth;a.fixedWidth||(c-=t.scrollLeft),a.el.style.left=c+"px",a.fullWidth&&a.screenWidth&&(a.el.style.minWidth=n.width+2*n.padding+"px"),a.fixedWidth?a.el.style.right=t.scrollBar.getWidth()+"px":a.el.style.right=""}}}}}).call(i.prototype),t.LineWidgets=i}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function i(e,t,n){for(var i=0,s=e.length-1;s>=i;){var r=i+s>>1,o=n(t,e[r]);if(o>0)i=r+1;else{if(!(0>o))return r;s=r-1}}return-(i+1)}function s(e,t,n){var s=e.getAnnotations().sort(a.comparePoints);if(s.length){var r=i(s,{row:t,column:-1},a.comparePoints);0>r&&(r=-r-1),r>=s.length?r=n>0?0:s.length-1:0===r&&0>n&&(r=s.length-1);var o=s[r];if(o&&n){if(o.row===t){do o=s[r+=n];while(o&&o.row===t);if(!o)return s.slice()}var l=[];t=o.row;do l[0>n?"unshift":"push"](o),o=s[r+=n];while(o&&o.row==t);return l.length&&l}}}var r=e("../line_widgets").LineWidgets,o=e("../lib/dom"),a=e("../range").Range;
t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var i=e.getCursorPosition(),a=i.row,l=n.widgetManager.getWidgetsAtRow(a).filter(function(e){return"errorMarker"==e.type})[0];l?l.destroy():a-=t;var c,h=s(n,a,t);if(h){var u=h[0];i.column=(u.pos&&"number"!=typeof u.column?u.pos.sc:u.column)||0,i.row=u.row,c=e.renderer.$gutterLayer.$annotations[i.row]}else{if(l)return;c={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(i.row),e.selection.moveToPosition(i);var d={row:i.row,fixedWidth:!0,coverGutter:!0,el:o.createElement("div"),type:"errorMarker"},f=d.el.appendChild(o.createElement("div")),g=d.el.appendChild(o.createElement("div"));g.className="error_widget_arrow "+c.className;var p=e.renderer.$cursorLayer.getPixelPosition(i).left;g.style.left=p+e.renderer.gutterWidth-5+"px",d.el.className="error_widget_wrapper",f.className="error_widget "+c.className,f.innerHTML=c.text.join("<br>"),f.appendChild(o.createElement("div"));var m=function(e,t,n){return 0!==t||"esc"!==n&&"return"!==n?void 0:(d.destroy(),{command:"null"})};d.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(d),e.off("changeSelection",d.destroy),e.off("changeSession",d.destroy),e.off("mouseup",d.destroy),e.off("change",d.destroy))},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",d.destroy),e.on("changeSession",d.destroy),e.on("mouseup",d.destroy),e.on("change",d.destroy),e.session.widgetManager.addLineWidget(d),d.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:d.el.offsetHeight})},o.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,t,n){"use strict";e("./lib/fixoldbrowsers");var i=e("./lib/dom"),s=e("./lib/event"),r=e("./editor").Editor,o=e("./edit_session").EditSession,a=e("./undomanager").UndoManager,l=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"),t.config=e("./config"),t.acequire=e,t.edit=function(e){if("string"==typeof e){var n=e;if(e=document.getElementById(n),!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof r)return e.env.editor;var o="";if(e&&/input|textarea/i.test(e.tagName)){var a=e;o=a.value,e=i.createElement("pre"),a.parentNode.replaceChild(e,a)}else e&&(o=i.getInnerText(e),e.innerHTML="");var c=t.createEditSession(o),h=new r(new l(e));h.setSession(c);var u={document:c,editor:h,onResize:h.resize.bind(h,null)};return a&&(u.textarea=a),s.addListener(window,"resize",u.onResize),h.on("destroy",function(){s.removeListener(window,"resize",u.onResize),u.editor.container.env=null}),h.container.env=h.env=u,h},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new a),n},t.EditSession=o,t.UndoManager=a,t.version="1.2.2"}),function(){ace.acequire(["ace/ace"],function(e){e&&e.config.init(!0),window.ace||(window.ace=e);for(var t in e)e.hasOwnProperty(t)&&(window.ace[t]=e[t])})}(),e.exports=window.ace.acequire("ace/ace")},102:function(e,t){(function(t){function n(){if(t.Blob)try{return new Blob(["asdf"],{type:"text/plain"}),Blob}catch(e){}var n=t.WebKitBlobBuilder||t.MozBlobBuilder||t.MSBlobBuilder;return function(e,t){var i=new n,s=t.endings,r=t.type;if(s)for(var o=0,a=e.length;a>o;++o)i.append(e[o],s);else for(var o=0,a=e.length;a>o;++o)i.append(e[o]);return r?i.getBlob(r):i.getBlob()}}e.exports=n()}).call(t,function(){return this}())},103:function(e,t){ace.define("ace/theme/crimson_editor",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssText='.ace-crimson-editor .ace_gutter {	background: #ebebeb;	color: #333;	overflow : hidden;	}	.ace-crimson-editor .ace_gutter-layer {	width: 100%;	text-align: right;	}	.ace-crimson-editor .ace_print-margin {	width: 1px;	background: #e8e8e8;	}	.ace-crimson-editor {	background-color: #FFFFFF;	color: rgb(64, 64, 64);	}	.ace-crimson-editor .ace_cursor {	color: black;	}	.ace-crimson-editor .ace_invisible {	color: rgb(191, 191, 191);	}	.ace-crimson-editor .ace_identifier {	color: black;	}	.ace-crimson-editor .ace_keyword {	color: blue;	}	.ace-crimson-editor .ace_constant.ace_buildin {	color: rgb(88, 72, 246);	}	.ace-crimson-editor .ace_constant.ace_language {	color: rgb(255, 156, 0);	}	.ace-crimson-editor .ace_constant.ace_library {	color: rgb(6, 150, 14);	}	.ace-crimson-editor .ace_invalid {	text-decoration: line-through;	color: rgb(224, 0, 0);	}	.ace-crimson-editor .ace_fold {	}	.ace-crimson-editor .ace_support.ace_function {	color: rgb(192, 0, 0);	}	.ace-crimson-editor .ace_support.ace_constant {	color: rgb(6, 150, 14);	}	.ace-crimson-editor .ace_support.ace_type,	.ace-crimson-editor .ace_support.ace_class {	color: rgb(109, 121, 222);	}	.ace-crimson-editor .ace_keyword.ace_operator {	color: rgb(49, 132, 149);	}	.ace-crimson-editor .ace_string {	color: rgb(128, 0, 128);	}	.ace-crimson-editor .ace_comment {	color: rgb(76, 136, 107);	}	.ace-crimson-editor .ace_comment.ace_doc {	color: rgb(0, 102, 255);	}	.ace-crimson-editor .ace_comment.ace_doc.ace_tag {	color: rgb(128, 159, 191);	}	.ace-crimson-editor .ace_constant.ace_numeric {	color: rgb(0, 0, 64);	}	.ace-crimson-editor .ace_variable {	color: rgb(0, 64, 128);	}	.ace-crimson-editor .ace_xml-pe {	color: rgb(104, 104, 91);	}	.ace-crimson-editor .ace_marker-layer .ace_selection {	background: rgb(181, 213, 255);	}	.ace-crimson-editor .ace_marker-layer .ace_step {	background: rgb(252, 255, 0);	}	.ace-crimson-editor .ace_marker-layer .ace_stack {	background: rgb(164, 229, 101);	}	.ace-crimson-editor .ace_marker-layer .ace_bracket {	margin: -1px 0 0 -1px;	border: 1px solid rgb(192, 192, 192);	}	.ace-crimson-editor .ace_marker-layer .ace_active-line {	background: rgb(232, 242, 254);	}	.ace-crimson-editor .ace_gutter-active-line {	background-color : #dcdcdc;	}	.ace-crimson-editor .ace_meta.ace_tag {	color:rgb(28, 2, 255);	}	.ace-crimson-editor .ace_marker-layer .ace_selected-word {	background: rgb(250, 250, 255);	border: 1px solid rgb(200, 200, 250);	}	.ace-crimson-editor .ace_string.ace_regex {	color: rgb(192, 0, 192);	}	.ace-crimson-editor .ace_indent-guide {	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;	}',t.cssClass="ace-crimson-editor";var i=e("../lib/dom");i.importCssString(t.cssText,t.cssClass)})},104:function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},108:function(e,t){ace.define("ace/mode/sql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var i=e("../lib/oop"),s=e("./text_highlight_rules").TextHighlightRules,r=function(){var e="select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|foreign|not|references|default|null|inner|cross|natural|database|drop|grant",t="true|false",n="avg|count|first|last|max|min|sum|ucase|lcase|mid|len|round|rank|now|format|coalesce|ifnull|isnull|nvl",i="int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|money|real|number|integer",s=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t,"storage.type":i},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"comment",start:"/\\*",end:"\\*/"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:s,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]},this.normalizeRules()};i.inherits(r,s),t.SqlHighlightRules=r}),ace.define("ace/mode/sql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sql_highlight_rules","ace/range"],function(e,t,n){"use strict";var i=e("../lib/oop"),s=e("./text").Mode,r=e("./sql_highlight_rules").SqlHighlightRules,o=(e("../range").Range,function(){this.HighlightRules=r});i.inherits(o,s),function(){this.lineCommentStart="--",this.$id="ace/mode/sql"}.call(o.prototype),t.Mode=o})}});