ace.define("ace/mode/cirru_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,r){"use strict";var i=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,n=function(){this.$rules={start:[{token:"constant.numeric",regex:/[\d\.]+/},{token:"comment.line.double-dash",regex:/--/,next:"comment"},{token:"storage.modifier",regex:/\(/},{token:"storage.modifier",regex:/,/,next:"line"},{token:"support.function",regex:/[^\(\)"\s]+/,next:"line"},{token:"string.quoted.double",regex:/"/,next:"string"},{token:"storage.modifier",regex:/\)/}],comment:[{token:"comment.line.double-dash",regex:/ +[^\n]+/,next:"start"}],string:[{token:"string.quoted.double",regex:/"/,next:"line"},{token:"constant.character.escape",regex:/\\/,next:"escape"},{token:"string.quoted.double",regex:/[^\\"]+/}],escape:[{token:"constant.character.escape",regex:/./,next:"string"}],line:[{token:"constant.numeric",regex:/[\d\.]+/},{token:"markup.raw",regex:/^\s*/,next:"start"},{token:"storage.modifier",regex:/\$/,next:"start"},{token:"variable.parameter",regex:/[^\(\)"\s]+/},{token:"storage.modifier",regex:/\(/,next:"start"},{token:"storage.modifier",regex:/\)/},{token:"markup.raw",regex:/^ */,next:"start"},{token:"string.quoted.double",regex:/"/,next:"string"}]}};i.inherits(n,o),t.CirruHighlightRules=n}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,r){"use strict";var i=e("../../lib/oop"),o=e("./fold_mode").FoldMode,n=e("../../range").Range,s=t.FoldMode=function(){};i.inherits(s,o),function(){this.getFoldWidgetRange=function(e,t,r){var i=this.indentationBlock(e,r);if(i)return i;var o=e.getLine(r),s=o.search(/\S/);if(-1!=s&&"#"==o[s]){for(var a=o.length,g=e.getLength(),d=r,l=r;++rd){var u=e.getLine(l).length;return new n(d,a,l,u)}}},this.getFoldWidget=function(e,t,r){var i=e.getLine(r),o=i.search(/\S/),n=e.getLine(r+1),s=e.getLine(r-1),a=s.search(/\S/),g=n.search(/\S/);if(-1==o)return e.foldWidgets[r-1]=-1!=a&&a