diff --git a/.gitignore b/.gitignore
index bed4b5e..cb67298 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
*.crt
*.key
*.p12
+node_modules/
diff --git a/Gruntfile.coffee b/Gruntfile.coffee
new file mode 100644
index 0000000..237b24a
--- /dev/null
+++ b/Gruntfile.coffee
@@ -0,0 +1,78 @@
+module.exports = (grunt) ->
+
+ grunt.initConfig
+ pkg: grunt.file.readJSON('package.json')
+
+ uglify:
+ options:
+ banner: '/*! <%= pkg.name %>
+ <%= grunt.template.today("yyyy-mm-dd") %> */\n'
+ sourceMap: true
+
+ butterfly:
+ files:
+ 'butterfly/static/main.min.js': 'butterfly/static/main.js'
+
+
+ sass_to_scss:
+ butterfly:
+ expand: true
+ cwd: 'sass/'
+ src: '*.sass'
+ dest: 'sass/scss/'
+ ext: '.scss'
+
+ sass:
+ butterfly:
+ expand: true
+ cwd: 'sass/scss'
+ src: '*.scss'
+ dest: 'butterfly/static/'
+ ext: '.css'
+
+ coffee:
+ options:
+ sourceMap: true
+
+ butterfly:
+ files:
+ 'butterfly/static/main.js': [
+ 'coffees/term.coffee'
+ 'coffees/selection.coffee'
+ 'coffees/virtual_input.coffee'
+ 'coffees/main.coffee'
+ ]
+
+ coffeelint:
+ butterfly:
+ 'coffees/*.coffee'
+
+ watch:
+ coffee:
+ files: [
+ 'coffees/*.coffee'
+ 'Gruntfile.coffee'
+ ]
+ tasks: ['coffeelint', 'coffee']
+
+ sass:
+ files: [
+ 'sass/*.sass'
+ ]
+ tasks: ['sass_to_scss', 'sass']
+
+ grunt.loadNpmTasks 'grunt-contrib-coffee'
+ grunt.loadNpmTasks 'grunt-contrib-watch'
+ grunt.loadNpmTasks 'grunt-contrib-uglify'
+ grunt.loadNpmTasks 'grunt-contrib-cssmin'
+ grunt.loadNpmTasks 'grunt-coffeelint'
+ grunt.loadNpmTasks 'grunt-sass'
+ grunt.loadNpmTasks 'grunt-sass-to-scss'
+ grunt.loadNpmTasks 'grunt-bower-task'
+
+ grunt.registerTask 'dev', ['coffeelint', 'coffee', 'watch']
+ grunt.registerTask 'css', ['sass_to_scss', 'sass']
+ grunt.registerTask 'default', [
+ 'coffeelint', 'coffee',
+ 'sass_to_scss', 'sass',
+ 'uglify', 'cssmin']
diff --git a/butterfly.server.py b/butterfly.server.py
index 74d84ee..f1fedeb 100644
--- a/butterfly.server.py
+++ b/butterfly.server.py
@@ -43,6 +43,9 @@ tornado.options.define("generate_certs", default=False,
tornado.options.define("generate_user_pkcs", default='',
help="Generate user pfx for client authentication")
+tornado.options.define("unminified", default=False,
+ help="Use the unminified js (for development only)")
+
tornado.options.parse_command_line()
diff --git a/butterfly/__init__.py b/butterfly/__init__.py
index a2d1f30..633b07b 100644
--- a/butterfly/__init__.py
+++ b/butterfly/__init__.py
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
-__version__ = '1.4.3'
+__version__ = '1.4.5'
import os
diff --git a/butterfly/routes.py b/butterfly/routes.py
index ce53b69..15296f9 100644
--- a/butterfly/routes.py
+++ b/butterfly/routes.py
@@ -138,14 +138,17 @@ class TermWebSocket(Route, tornado.websocket.WebSocketHandler):
self.caller == self.callee and
server == self.callee):
# User has been auth with ssl or is the same user as server
- try:
- os.initgroups(self.callee.name, self.callee.gid)
- os.setgid(self.callee.gid)
- os.setuid(self.callee.uid)
- except:
- print('The server must be run as root '
- 'if you want to log as different user\n')
- sys.exit(1)
+ if not tornado.options.options.unsecure:
+ # User is authed by ssl, setting groups
+ try:
+ os.initgroups(self.callee.name, self.callee.gid)
+ os.setgid(self.callee.gid)
+ os.setuid(self.callee.uid)
+ except:
+ print('The server must be run as root '
+ 'if you want to log as different user\n')
+ sys.exit(1)
+
args = [tornado.options.options.shell or self.callee.shell]
args.append('-i')
os.execvpe(args[0], args, env)
@@ -200,9 +203,9 @@ class TermWebSocket(Route, tornado.websocket.WebSocketHandler):
self.fd, self.shell_handler, ioloop.READ | ioloop.ERROR)
def open(self, user, path):
- if self.request.headers['Origin'] != 'http%s://%s' % (
- "s" if not tornado.options.options.unsecure else "",
- self.request.headers['Host']):
+ if self.request.headers['Origin'] not in (
+ 'http://%s' % self.request.headers['Host'],
+ 'https://%s' % self.request.headers['Host']):
self.log.warning(
'Unauthorized connection attempt: from : %s to: %s' % (
self.request.headers['Origin'],
diff --git a/butterfly/static/javascripts/main.js b/butterfly/static/javascripts/main.js
index cedd952..8c6793e 100644
--- a/butterfly/static/javascripts/main.js
+++ b/butterfly/static/javascripts/main.js
@@ -1,2 +1,2870 @@
-var $,Selection,State,Terminal,alt,bench,cancel,cbench,cols,ctl,ctrl,first,next_leaf,open_ts,previous_leaf,quit,rows,s,selection,send,term,virtual_input,ws,ws_url,__indexOf=[].indexOf||function(t){for(var e=0,s=this.length;s>e;e++)if(e in this&&this[e]===t)return e;return-1},__slice=[].slice;cancel=function(t){return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,!1},s=0,State={normal:s++,escaped:s++,csi:s++,osc:s++,charset:s++,dcs:s++,ignore:s++},Terminal=function(){function t(t,e,s){var i,r,n;for(this.parent=t,this.out=e,this.ctl=null!=s?s:function(){},this.context=this.parent.ownerDocument.defaultView,this.document=this.parent.ownerDocument,this.body=this.document.getElementsByTagName("body")[0],this.element=this.document.createElement("div"),this.element.className="terminal focus",this.element.style.outline="none",this.element.setAttribute("tabindex",0),this.parent.appendChild(this.element),i=this.document.createElement("div"),i.className="line",this.element.appendChild(i),this.children=[i],this.compute_char_size(),i.style.height=this.char_size.height+"px",n=this.parent.getBoundingClientRect(),this.cols=Math.floor(n.width/this.char_size.width)-1,this.rows=Math.floor(n.height/this.char_size.height),r=this.rows-1;r--;)i=this.document.createElement("div"),i.style.height=this.char_size.height+"px",i.className="line",this.element.appendChild(i),this.children.push(i);this.scrollback=1e5,this.visualBell=100,this.convertEol=!1,this.termName="xterm",this.cursorBlink=!0,this.cursorState=0,this.last_cc=0,this.reset_vars(),this.refresh(0,this.rows-1),this.focus(),this.startBlink(),addEventListener("keydown",this.keyDown.bind(this)),addEventListener("keypress",this.keyPress.bind(this)),addEventListener("focus",this.focus.bind(this)),addEventListener("blur",this.blur.bind(this)),addEventListener("paste",this.paste.bind(this)),addEventListener("resize",this.resize.bind(this)),"undefined"!=typeof InstallTrigger&&(this.element.contentEditable="true",this.element.addEventListener("mouseup",function(){return function(){var t;return t=getSelection().getRangeAt(0),t.startOffset===t.endOffset?getSelection().removeAllRanges():void 0}}(this))),this.initmouse()}return t.prototype.reset_vars=function(){var t;for(this.ybase=0,this.ydisp=0,this.x=0,this.y=0,this.cursorHidden=!1,this.state=State.normal,this.queue="",this.scrollTop=0,this.scrollBottom=this.rows-1,this.applicationKeypad=!1,this.applicationCursor=!1,this.originMode=!1,this.wraparoundMode=!1,this.normal=null,this.charset=null,this.gcharset=null,this.glevel=0,this.charsets=[null],this.defAttr=131840,this.curAttr=this.defAttr,this.params=[],this.currentParam=0,this.prefix="",this.lines=[],t=this.rows;t--;)this.lines.push(this.blankLine());return this.setupStops(),this.skipNextKey=null},t.prototype.compute_char_size=function(){var t;return t=document.createElement("span"),t.textContent="0123456789",this.children[0].appendChild(t),this.char_size={width:t.getBoundingClientRect().width/10,height:this.children[0].getBoundingClientRect().height},this.children[0].removeChild(t)},t.prototype.eraseAttr=function(){return-512&this.defAttr|511&this.curAttr},t.prototype.focus=function(){return this.sendFocus&&this.send("[I"),this.showCursor(),this.element.classList.add("focus"),this.element.classList.remove("blur")},t.prototype.blur=function(){return this.cursorState=1,this.refresh(this.y,this.y),this.sendFocus&&this.send("[O"),this.element.classList.add("blur"),this.element.classList.remove("focus")},t.prototype.paste=function(t){return t.clipboardData?this.send(t.clipboardData.getData("text/plain")):this.context.clipboardData&&this.send(this.context.clipboardData.getData("Text")),cancel(t)},t.prototype.initmouse=function(){var t,e,s,i,r,n,o;return i=32,r=function(){return function(t){var r,o;if(r=e(t),o=s(t))switch(n(r,o),t.type){case"mousedown":return i=r;case"mouseup":return i=32}}}(this),o=function(){return function(t){var e,r;return e=i,(r=s(t))?(e+=32,n(e,r)):void 0}}(this),t=function(t){return function(e,s){return t.utfMouse?2047===s?e.push(0):127>s?e.push(s):(s>2047&&(s=2047),e.push(192|s>>6),e.push(128|63&s)):255===s?e.push(0):(s>127&&(s=127),e.push(s))}}(this),n=function(e){return function(s,i){var r;return e.urxvtMouse?(i.x-=32,i.y-=32,i.x++,i.y++,void e.send("["+s+";"+i.x+";"+i.y+"M")):e.sgrMouse?(i.x-=32,i.y-=32,void e.send("[<"+(3===(3&s)?-4&s:s)+";"+i.x+";"+i.y+(3===(3&s)?"m":"M"))):(r=[],t(r,s),t(r,i.x),t(r,i.y),e.send("[M"+String.fromCharCode.apply(String,r)))}}(this),e=function(t){return function(e){var s,i,r,n,o;switch(e.type){case"mousedown":s=null!=e.button?+e.button:null!=e.which?e.which-1:null;break;case"mouseup":s=3;break;case"wheel":s=e.deltaY<0?64:65}return o=e.shiftKey?4:0,r=e.metaKey?8:0,i=e.ctrlKey?16:0,n=o|r|i,t.vt200Mouse?n&=i:t.normalMouse||(n=0),32+(n<<2)+s}}(this),s=function(t){return function(e){var s,i,r,n,o;for(n=e.pageX,o=e.pageY,s=t.element;s&&s!==t.document.documentElement;)n-=s.offsetLeft,o-=s.offsetTop,s="offsetParent"in s?s.offsetParent:s.parentNode;return r=t.element.clientWidth,i=t.element.clientHeight,n=Math.ceil(n/r*t.cols),o=Math.ceil(o/i*t.rows),0>n&&(n=0),n>t.cols&&(n=t.cols),0>o&&(o=0),o>t.rows&&(o=t.rows),n+=32,o+=32,{x:n,y:o,type:e.type}}}(this),addEventListener("mousedown",function(t){return function(e){var s;if(t.mouseEvents)return r(e),t.vt200Mouse?(r({__proto__:e,type:"mouseup"}),cancel(e)):(t.normalMouse&&addEventListener("mousemove",o.bind(t)),t.x10Mouse||addEventListener("mouseup",s=function(e){return r(e),t.normalMouse&&removeEventListener("mousemove",o),removeEventListener("mouseup",s),cancel(e)}),cancel(e))}}(this)),addEventListener("wheel",function(t){return function(e){if(t.mouseEvents){if(t.x10Mouse)return;r(e)}else{if(t.applicationKeypad)return;t.scrollDisp(e.deltaY>0?5:-5)}return cancel(e)}}(this))},t.prototype.refresh=function(t,e){var s,i,r,n,o,a,h,c,l,u,p,d,f,y,m;for(e-t>=this.rows/3&&(p=this.element.parentNode,null!=p&&p.removeChild(this.element)),f=this.cols,m=t,e>=this.lines.length&&(e=this.lines.length-1);e>=m;){for(d=m+this.ydisp,l=this.lines[d],u="",y=m!==this.y||this.ydisp!==this.ybase&&!this.selectMode||this.cursorHidden?-1/0:this.x,s=this.defAttr,c=0;f>c;){if(o=l[c][0],r=l[c][1],o!==s&&(s!==this.defAttr&&(u+=""),o!==this.defAttr&&(n=[],u+=">9&511,h=o>>18,1&h&&n.push("bold"),2&h&&n.push("underline"),4&h&&n.push("blink"),8&h&&n.push("reverse-video"),16&h&&n.push("invisible"),1&h&&8>a&&(a+=8),n.push("bg-color-"+i),n.push("fg-color-"+a),u+='class="',u+=n.join(" "),u+='">')),c===y&&(u+=''),r.length>1)u+=r;else switch(r){case"&":u+="&";break;case"<":u+="<";break;case">":u+=">";break;default:" ">=r?u+=" ":(r>""&&"">r&&c++,u+=r)}c===y&&(u+=""),s=o,c++}s!==this.defAttr&&(u+=""),this.children[m].innerHTML=u,m++}return null!=p?p.appendChild(this.element):void 0},t.prototype._cursorBlink=function(){var t;return this.cursorState^=1,(t=this.element.querySelector(".cursor"))?t.classList.contains("reverse-video")?t.classList.remove("reverse-video"):t.classList.add("reverse-video"):void 0},t.prototype.showCursor=function(){return this.cursorState?void 0:(this.cursorState=1,this.refresh(this.y,this.y))},t.prototype.startBlink=function(){return this.cursorBlink?(this._blinker=function(t){return function(){return t._cursorBlink()}}(this),this.t_blink=setInterval(this._blinker,500)):void 0},t.prototype.refreshBlink=function(){return this.cursorBlink?(clearInterval(this.t_blink),this.t_blink=setInterval(this._blinker,500)):void 0},t.prototype.scroll=function(){var t;return++this.ybase===this.scrollback&&(this.ybase=this.ybase/2|0,this.lines=this.lines.slice(-(this.ybase+this.rows)+1)),this.ydisp=this.ybase,t=this.ybase+this.rows-1,t-=this.rows-1-this.scrollBottom,t===this.lines.length?this.lines.push(this.blankLine()):this.lines.splice(t,0,this.blankLine()),0!==this.scrollTop&&(0!==this.ybase&&(this.ybase--,this.ydisp=this.ybase),this.lines.splice(this.ybase+this.scrollTop,1)),this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom)},t.prototype.scrollDisp=function(t){return this.ydisp+=t,this.ydisp>this.ybase?this.ydisp=this.ybase:this.ydisp<0&&(this.ydisp=0),this.refresh(0,this.rows-1)},t.prototype.write=function(e){var s,i,r,n,o,a,h,c;for(this.refreshStart=this.y,this.refreshEnd=this.y,this.ybase!==this.ydisp&&(this.ydisp=this.ybase,this.maxRange()),r=0,o=e.length;o>r;){switch(s=e[r],this.state){case State.normal:switch(s){case"":this.bell();break;case"\n":case"":case"\f":this.convertEol&&(this.x=0),this.y++,this.y>this.scrollBottom&&(this.y--,this.scroll());break;case"\r":this.x=0;break;case"\b":this.x>0&&this.x--;break;case" ":this.x=this.nextStop();break;case"":this.setgLevel(1);break;case"":this.setgLevel(0);break;case"":this.state=State.escaped;break;default:if(s>=" "&&((null!=(c=this.charset)?c[s]:void 0)&&(s=this.charset[s]),this.x>=this.cols&&(this.x=0,this.y++,this.y>this.scrollBottom&&(this.y--,this.scroll())),this.lines[this.y+this.ybase][this.x]=[this.curAttr,s],this.x++,this.updateRange(this.y),s>""&&"">s)){if(n=this.y+this.ybase,this.cols<2||this.x>=this.cols){this.lines[n][this.x-1]=[this.curAttr," "];break}this.lines[n][this.x]=[this.curAttr," "],this.x++}}break;case State.escaped:switch(s){case"[":this.params=[],this.currentParam=0,this.state=State.csi;break;case"]":this.params=[],this.currentParam=0,this.state=State.osc;break;case"P":this.params=[],this.currentParam=0,this.state=State.dcs;break;case"_":this.state=State.ignore;break;case"^":this.state=State.ignore;break;case"c":this.reset();break;case"E":this.x=0,this.index();break;case"D":this.index();break;case"M":this.reverseIndex();break;case"%":this.setgLevel(0),this.setgCharset(0,t.prototype.charsets.US),this.state=State.normal,r++;break;case"(":case")":case"*":case"+":case"-":case".":switch(s){case"(":this.gcharset=0;break;case")":case"-":this.gcharset=1;break;case"*":case".":this.gcharset=2;break;case"+":this.gcharset=3}this.state=State.charset;break;case"/":this.gcharset=3,this.state=State.charset,r--;break;case"n":this.setgLevel(2);break;case"o":this.setgLevel(3);break;case"|":this.setgLevel(3);break;case"}":this.setgLevel(2);break;case"~":this.setgLevel(1);break;case"7":this.saveCursor(),this.state=State.normal;break;case"8":this.restoreCursor(),this.state=State.normal;break;case"#":this.state=State.normal,r++;break;case"H":this.tabSet();break;case"=":this.applicationKeypad=!0,this.state=State.normal;break;case">":this.applicationKeypad=!1,this.state=State.normal;break;default:this.state=State.normal,console.log("Unknown ESC control:",s)}break;case State.charset:switch(s){case"0":i=t.prototype.charsets.SCLD;break;case"A":i=t.prototype.charsets.UK;break;case"B":i=t.prototype.charsets.US;break;case"4":i=t.prototype.charsets.Dutch;break;case"C":case"5":i=t.prototype.charsets.Finnish;break;case"R":i=t.prototype.charsets.French;break;case"Q":i=t.prototype.charsets.FrenchCanadian;break;case"K":i=t.prototype.charsets.German;break;case"Y":i=t.prototype.charsets.Italian;break;case"E":case"6":i=t.prototype.charsets.NorwegianDanish;break;case"Z":i=t.prototype.charsets.Spanish;break;case"H":case"7":i=t.prototype.charsets.Swedish;break;case"=":i=t.prototype.charsets.Swiss;break;case"/":i=t.prototype.charsets.ISOLatin,r++;break;default:i=t.prototype.charsets.US}this.setgCharset(this.gcharset,i),this.gcharset=null,this.state=State.normal;break;case State.osc:if(""===s||""===s){switch(""===s&&r++,this.params.push(this.currentParam),this.params[0]){case 0:case 1:case 2:this.params[1]&&(this.title=this.params[1]+" - ƸӜƷ butterfly",this.handleTitle(this.title))}this.params=[],this.currentParam=0,this.state=State.normal}else this.params.length?this.currentParam+=s:s>="0"&&"9">=s?this.currentParam=10*this.currentParam+s.charCodeAt(0)-48:";"===s&&(this.params.push(this.currentParam),this.currentParam="");break;case State.csi:if("?"===s||">"===s||"!"===s){this.prefix=s;break}if(s>="0"&&"9">=s){this.currentParam=10*this.currentParam+s.charCodeAt(0)-48;break}if("$"===s||'"'===s||" "===s||"'"===s)break;if(this.params.push(this.currentParam),this.currentParam=0,";"===s)break;switch(this.state=State.normal,s){case"A":this.cursorUp(this.params);break;case"B":this.cursorDown(this.params);break;case"C":this.cursorForward(this.params);break;case"D":this.cursorBackward(this.params);break;case"H":this.cursorPos(this.params);break;case"J":this.eraseInDisplay(this.params);break;case"K":this.eraseInLine(this.params);break;case"m":this.prefix||this.charAttributes(this.params);break;case"n":this.prefix||this.deviceStatus(this.params);break;case"@":this.insertChars(this.params);break;case"E":this.cursorNextLine(this.params);break;case"F":this.cursorPrecedingLine(this.params);break;case"G":this.cursorCharAbsolute(this.params);break;case"L":this.insertLines(this.params);break;case"M":this.deleteLines(this.params);break;case"P":this.deleteChars(this.params);break;case"X":this.eraseChars(this.params);break;case"`":this.charPosAbsolute(this.params);break;case"a":this.HPositionRelative(this.params);break;case"c":this.sendDeviceAttributes(this.params);break;case"d":this.linePosAbsolute(this.params);break;case"e":this.VPositionRelative(this.params);break;case"f":this.HVPosition(this.params);break;case"h":this.setMode(this.params);break;case"l":this.resetMode(this.params);break;case"r":this.setScrollRegion(this.params);break;case"s":this.saveCursor(this.params);break;case"u":this.restoreCursor(this.params);break;case"I":this.cursorForwardTab(this.params);break;case"S":this.scrollUp(this.params);break;case"T":this.params.length<2&&!this.prefix&&this.scrollDown(this.params);break;case"Z":this.cursorBackwardTab(this.params);break;case"b":this.repeatPrecedingCharacter(this.params);break;case"g":this.tabClear(this.params);break;case"p":"!"===this.prefix&&this.softReset(this.params);break;default:console.error("Unknown CSI code: %s.",s)}this.prefix="";break;case State.dcs:if(""===s||""===s){switch(""===s&&r++,this.prefix){case"":break;case"$q":switch(a=this.currentParam,h=!1,a){case'"q':a='0"q';break;case'"p':a='61"p';break;case"r":a=""+(this.scrollTop+1)+";"+(this.scrollBottom+1)+"r";break;case"m":a="0m";break;default:console.error("Unknown DCS Pt: %s.",a),a=""}this.send("P"+ +h+"$r"+a+"\\");break;case"+q":a=this.currentParam,h=!1,this.send("P"+ +h+"+r"+a+"\\");break;default:console.error("Unknown DCS prefix: %s.",this.prefix)}this.currentParam=0,this.prefix="",this.state=State.normal}else this.currentParam?this.currentParam+=s:this.prefix||"$"===s||"+"===s?2===this.prefix.length?this.currentParam=s:this.prefix+=s:this.currentParam=s;break;case State.ignore:(""===s||""===s)&&(""===s&&r++,this.state=State.normal)}r++}return this.updateRange(this.y),this.refresh(this.refreshStart,this.refreshEnd)},t.prototype.writeln=function(t){return this.write(""+t+"\r\n")},t.prototype.keyDown=function(t){var e,s,i,r;if(t.keyCode>15&&t.keyCode<19)return!0;if((t.shiftKey||t.ctrlKey)&&45===t.keyCode)return!0;if(t.shiftKey&&t.ctrlKey&&(67===(r=t.keyCode)||86===r))return!0;if(t.altKey&&90===t.keyCode&&!this.skipNextKey)return this.skipNextKey=!0,this.element.classList.add("skip"),cancel(t);if(this.skipNextKey)return this.skipNextKey=!1,this.element.classList.remove("skip"),!0;switch(t.keyCode){case 8:if(s=t.altKey?"":"",t.shiftKey){s+="\b";break}s+="";break;case 9:if(t.shiftKey){s="[Z";break}s=" ";break;case 13:s="\r";break;case 27:s="";break;case 37:if(this.applicationCursor){s="OD";break}s="[D";break;case 39:if(this.applicationCursor){s="OC";break}s="[C";break;case 38:if(this.applicationCursor){s="OA";break}if(t.ctrlKey)return this.scrollDisp(-1),cancel(t);s="[A";break;case 40:if(this.applicationCursor){s="OB";break}if(t.ctrlKey)return this.scrollDisp(1),cancel(t);s="[B";break;case 46:s="[3~";break;case 45:s="[2~";break;case 36:if(this.applicationKeypad){s="OH";break}s="OH";break;case 35:if(this.applicationKeypad){s="OF";break}s="OF";break;case 33:if(t.shiftKey)return this.scrollDisp(-(this.rows-1)),cancel(t);s="[5~";break;case 34:if(t.shiftKey)return this.scrollDisp(this.rows-1),cancel(t);s="[6~";break;case 112:s="OP";break;case 113:s="OQ";break;case 114:s="OR";break;case 115:s="OS";break;case 116:s="[15~";break;case 117:s="[17~";break;case 118:s="[18~";break;case 119:s="[19~";break;case 120:s="[20~";break;case 121:s="[21~";break;case 122:s="[23~";break;case 123:s="[24~";break;default:if(t.ctrlKey)if(t.keyCode>=65&&t.keyCode<=90){if(67===t.keyCode){if(i=(new Date).getTime(),i-this.last_cc<75)for(e=setTimeout(function(){})-6,this.write("\r\n --8<------8<-- Sectioned --8<------8<-- \r\n\r\n");e--;)e!==this.t_bell&&e!==this.t_queue&&e!==this.t_blink&&clearTimeout(e);this.last_cc=i}s=String.fromCharCode(t.keyCode-64)}else 32===t.keyCode?s=String.fromCharCode(0):t.keyCode>=51&&t.keyCode<=55?s=String.fromCharCode(t.keyCode-51+27):56===t.keyCode?s=String.fromCharCode(127):219===t.keyCode?s=String.fromCharCode(27):221===t.keyCode&&(s=String.fromCharCode(29));else(t.altKey&&__indexOf.call(navigator.platform,"Mac")<0||t.metaKey&&__indexOf.call(navigator.platform,"Mac")>=0)&&(t.keyCode>=65&&t.keyCode<=90?s=""+String.fromCharCode(t.keyCode+32):192===t.keyCode?s="`":t.keyCode>=48&&t.keyCode<=57&&(s=""+(t.keyCode-48)))}return t.keyCode>=37&&t.keyCode<=40&&(t.ctrlKey?s=s.slice(0,-1)+"1;5"+s.slice(-1):t.altKey?s=s.slice(0,-1)+"1;3"+s.slice(-1):t.shiftKey&&(s=s.slice(0,-1)+"1;4"+s.slice(-1))),s?this.prefixMode?(this.leavePrefix(),cancel(t)):this.selectMode?(this.keySelect(t,s),cancel(t)):(this.showCursor(),this.handler(s),cancel(t)):!0},t.prototype.setgLevel=function(t){return this.glevel=t,this.charset=this.charsets[t]},t.prototype.setgCharset=function(t,e){return this.charsets[t]=e,this.glevel===t?this.charset=e:void 0},t.prototype.keyPress=function(t){var e;if(this.skipNextKey===!1)return this.skipNextKey=null,!0;if(cancel(t),t.charCode)e=t.charCode;else if(null==t.which)e=t.keyCode;else{if(0===t.which||0===t.charCode)return!1;e=t.which}return!e||t.ctrlKey||t.altKey||t.metaKey?!1:(e=String.fromCharCode(e),this.showCursor(),this.handler(e),!1)},t.prototype.send=function(t){return this.queue||(this.t_queue=setTimeout(function(t){return function(){return t.handler(t.queue),t.queue=""}}(this),1)),this.queue+=t},t.prototype.bell=function(){return this.visualBell?(this.element.classList.add("bell"),this.t_bell=setTimeout(function(t){return function(){return t.element.classList.remove("bell")}}(this),this.visualBell)):void 0},t.prototype.resize=function(){var t,e,s,i,r,n,o,a;if(n=this.cols,o=this.rows,a=this.parent.getBoundingClientRect(),this.cols=Math.floor(a.width/this.char_size.width)-1,this.rows=Math.floor(a.height/this.char_size.height),n!==this.cols||o!==this.rows){if(this.ctl("Resize",this.cols,this.rows),nthis.cols)for(s=this.lines.length;s--;)for(;this.lines[s].length>this.cols;)this.lines[s].pop();if(this.setupStops(n),i=o,ithis.rows)for(;i-->this.rows;)if(this.lines.length>this.rows+this.ybase&&this.lines.pop(),this.children.length>this.rows){if(e=this.children.pop(),!e)continue;e.parentNode.removeChild(e)}return this.y>=this.rows&&(this.y=this.rows-1),this.x>=this.cols&&(this.x=this.cols-1),this.scrollTop=0,this.scrollBottom=this.rows-1,this.refresh(0,this.rows-1),this.normal=null}},t.prototype.updateRange=function(t){return tthis.refreshEnd?this.refreshEnd=t:void 0},t.prototype.maxRange=function(){return this.refreshStart=0,this.refreshEnd=this.rows-1},t.prototype.setupStops=function(t){var e;for(null!=t?this.tabs[t]||(t=this.prevStop(t)):(this.tabs={},t=0),e=[];t0;);return t>=this.cols?this.cols-1:0>t?0:t},t.prototype.nextStop=function(t){for(null==t&&(t=this.x);!this.tabs[++t]&&t=this.cols?this.cols-1:0>t?0:t},t.prototype.eraseRight=function(t,e){var s,i;for(i=this.lines[this.ybase+e],s=[this.eraseAttr()," "];tthis.scrollBottom&&(this.y--,this.scroll()),this.state=State.normal},t.prototype.reverseIndex=function(){var t;return this.y--,this.ye&&(e=1),this.y-=e,this.y<0?this.y=0:void 0},t.prototype.cursorDown=function(t){var e;return e=t[0],1>e&&(e=1),this.y+=e,this.y>=this.rows?this.y=this.rows-1:void 0},t.prototype.cursorForward=function(t){var e;return e=t[0],1>e&&(e=1),this.x+=e,this.x>=this.cols?this.x=this.cols-1:void 0},t.prototype.cursorBackward=function(t){var e;return e=t[0],1>e&&(e=1),this.x-=e,this.x<0?this.x=0:void 0},t.prototype.cursorPos=function(t){var e,s;return s=t[0]-1,e=t.length>=2?t[1]-1:0,0>s?s=0:s>=this.rows&&(s=this.rows-1),0>e?e=0:e>=this.cols&&(e=this.cols-1),this.x=e,this.y=s},t.prototype.eraseInDisplay=function(t){var e,s,i,r;switch(t[0]){case 0:for(this.eraseRight(this.x,this.y),e=this.y+1,s=[];e>18,s=this.curAttr>>9&511,e=511&this.curAttr,n=t.length,r=0;n>r;)o=t[r],o>=30&&37>=o?s=o-30:o>=40&&47>=o?e=o-40:o>=90&&97>=o?(o+=8,s=o-90):o>=100&&107>=o?(o+=8,e=o-100):0===o?(i=this.defAttr>>18,s=this.defAttr>>9&511,e=511&this.defAttr):1===o?i|=1:4===o?i|=2:5===o?i|=4:7===o?i|=8:8===o?i|=16:22===o?i&=-2:24===o?i&=-3:25===o?i&=-5:27===o?i&=-9:28===o?i&=-17:39===o?s=this.defAttr>>9&511:49===o?e=511&this.defAttr:38===o?2===t[r+1]?(r+=2,s="#"+t[r]&255+t[r+1]&255+t[r+2]&255,r+=2):5===t[r+1]&&(r+=2,s=255&t[r]):48===o?2===t[r+1]?(r+=2,e="#"+t[r]&255+t[r+1]&255+t[r+2]&255,r+=2):5===t[r+1]&&(r+=2,e=255&t[r]):100===o?(s=this.defAttr>>9&511,e=511&this.defAttr):console.error("Unknown SGR attribute: %d.",o),r++;return this.curAttr=i<<18|s<<9|e},t.prototype.deviceStatus=function(t){if(this.prefix){if("?"===this.prefix&&6===t[0])return this.send("[?"+(this.y+1)+";"+(this.x+1)+"R")}else switch(t[0]){case 5:return this.send("[0n");case 6:return this.send("["+(this.y+1)+";"+(this.x+1)+"R")}},t.prototype.insertChars=function(t){var e,s,i,r,n;for(i=t[0],1>i&&(i=1),r=this.y+this.ybase,s=this.x,e=[this.eraseAttr()," "],n=[];i--&&se&&(e=1),this.y+=e,this.y>=this.rows&&(this.y=this.rows-1),this.x=0},t.prototype.cursorPrecedingLine=function(t){var e;return e=t[0],1>e&&(e=1),this.y-=e,this.y<0&&(this.y=0),this.x=0},t.prototype.cursorCharAbsolute=function(t){var e;return e=t[0],1>e&&(e=1),this.x=e-1},t.prototype.insertLines=function(t){var e,s,i;for(s=t[0],1>s&&(s=1),i=this.y+this.ybase,e=this.rows-1-this.scrollBottom,e=this.rows-1+this.ybase-e+1;s--;)this.lines.splice(i,0,this.blankLine(!0)),this.lines.splice(e,1);return this.updateRange(this.y),this.updateRange(this.scrollBottom)},t.prototype.deleteLines=function(t){var e,s,i;for(s=t[0],1>s&&(s=1),i=this.y+this.ybase,e=this.rows-1-this.scrollBottom,e=this.rows-1+this.ybase-e;s--;)this.lines.splice(e+1,0,this.blankLine(!0)),this.lines.splice(i,1);return this.updateRange(this.y),this.updateRange(this.scrollBottom)},t.prototype.deleteChars=function(t){var e,s,i,r;for(s=t[0],1>s&&(s=1),i=this.y+this.ybase,e=[this.eraseAttr()," "],r=[];s--;)this.lines[i].splice(this.x,1),r.push(this.lines[i].push(e));return r},t.prototype.eraseChars=function(t){var e,s,i,r,n;for(i=t[0],1>i&&(i=1),r=this.y+this.ybase,s=this.x,e=[this.eraseAttr()," "],n=[];i--&&se&&(e=1),this.x=e-1,this.x>=this.cols?this.x=this.cols-1:void 0},t.prototype.HPositionRelative=function(t){var e;return e=t[0],1>e&&(e=1),this.x+=e,this.x>=this.cols?this.x=this.cols-1:void 0},t.prototype.sendDeviceAttributes=function(t){if(!(t[0]>0))if(this.prefix){if(">"===this.prefix){if(this.isterm("xterm"))return this.send("[>0;276;0c");if(this.isterm("rxvt-unicode"))return this.send("[>85;95;0c");if(this.isterm("linux"))return this.send(t[0]+"c");if(this.isterm("screen"))return this.send("[>83;40003;0c")}}else{if(this.isterm("xterm")||this.isterm("rxvt-unicode")||this.isterm("screen"))return this.send("[?1;2c");if(this.isterm("linux"))return this.send("[?6c")}},t.prototype.linePosAbsolute=function(t){var e;return e=t[0],1>e&&(e=1),this.y=e-1,this.y>=this.rows?this.y=this.rows-1:void 0},t.prototype.VPositionRelative=function(t){var e;return e=t[0],1>e&&(e=1),this.y+=e,this.y>=this.rows?this.y=this.rows-1:void 0},t.prototype.HVPosition=function(t){return t[0]<1&&(t[0]=1),t[1]<1&&(t[1]=1),this.y=t[0]-1,this.y>=this.rows&&(this.y=this.rows-1),this.x=t[1]-1,this.x>=this.cols?this.x=this.cols-1:void 0},t.prototype.setMode=function(e){var s,i,r;if("object"!=typeof e){if("?"===this.prefix)switch(e){case 1:return this.applicationCursor=!0;case 2:return this.setgCharset(0,t.prototype.charsets.US),this.setgCharset(1,t.prototype.charsets.US),this.setgCharset(2,t.prototype.charsets.US),this.setgCharset(3,t.prototype.charsets.US);case 3:return this.savedCols=this.cols,this.resize(132,this.rows);case 6:return this.originMode=!0;case 7:return this.wraparoundMode=!0;case 66:return this.applicationKeypad=!0;case 9:case 1e3:case 1002:case 1003:return this.x10Mouse=9===e,this.vt200Mouse=1e3===e,this.normalMouse=e>1e3,this.mouseEvents=!0,this.element.style.cursor="pointer";case 1004:return this.sendFocus=!0;case 1005:return this.utfMouse=!0;case 1006:return this.sgrMouse=!0;case 1015:return this.urxvtMouse=!0;case 25:return this.cursorHidden=!1;case 1049:case 47:case 1047:if(!this.normal)return r={lines:this.lines,ybase:this.ybase,ydisp:this.ydisp,x:this.x,y:this.y,scrollTop:this.scrollTop,scrollBottom:this.scrollBottom,tabs:this.tabs},this.reset(),this.normal=r,this.showCursor()}}else for(i=e.length,s=0;i>s;)this.setMode(e[s]),s++},t.prototype.resetMode=function(t){var e,s;if("object"!=typeof t){if("?"===this.prefix)switch(t){case 1:return this.applicationCursor=!1;case 3:return 132===this.cols&&this.savedCols&&this.resize(this.savedCols,this.rows),delete this.savedCols;case 6:return this.originMode=!1;case 7:return this.wraparoundMode=!1;case 66:return this.applicationKeypad=!1;case 9:case 1e3:case 1002:case 1003:return this.x10Mouse=!1,this.vt200Mouse=!1,this.normalMouse=!1,this.mouseEvents=!1,this.element.style.cursor="";case 1004:return this.sendFocus=!1;case 1005:return this.utfMouse=!1;case 1006:return this.sgrMouse=!1;case 1015:return this.urxvtMouse=!1;case 25:return this.cursorHidden=!0;case 1049:case 47:case 1047:if(this.normal)return this.lines=this.normal.lines,this.ybase=this.normal.ybase,this.ydisp=this.normal.ydisp,this.x=this.normal.x,this.y=this.normal.y,this.scrollTop=this.normal.scrollTop,this.scrollBottom=this.normal.scrollBottom,this.tabs=this.normal.tabs,this.normal=null,this.refresh(0,this.rows-1),this.showCursor()}}else for(s=t.length,e=0;s>e;)this.resetMode(t[e]),e++},t.prototype.setScrollRegion=function(t){return this.prefix?void 0:(this.scrollTop=(t[0]||1)-1,this.scrollBottom=(t[1]||this.rows)-1,this.x=0,this.y=0)},t.prototype.saveCursor=function(){return this.savedX=this.x,this.savedY=this.y},t.prototype.restoreCursor=function(){return this.x=this.savedX||0,this.y=this.savedY||0},t.prototype.cursorForwardTab=function(t){var e,s;for(e=t[0]||1,s=[];e--;)s.push(this.x=this.nextStop());return s},t.prototype.scrollUp=function(t){var e;for(e=t[0]||1;e--;)this.lines.splice(this.ybase+this.scrollTop,1),this.lines.splice(this.ybase+this.scrollBottom,0,this.blankLine());return this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom)},t.prototype.scrollDown=function(t){var e;for(e=t[0]||1;e--;)this.lines.splice(this.ybase+this.scrollBottom,1),this.lines.splice(this.ybase+this.scrollTop,0,this.blankLine());return this.updateRange(this.scrollTop),this.updateRange(this.scrollBottom)},t.prototype.initMouseTracking=function(){},t.prototype.resetTitleModes=function(){},t.prototype.cursorBackwardTab=function(t){var e,s;for(e=t[0]||1,s=[];e--;)s.push(this.x=this.prevStop());return s},t.prototype.repeatPrecedingCharacter=function(t){var e,s,i,r;for(i=t[0]||1,s=this.lines[this.ybase+this.y],e=s[this.x-1]||[this.defAttr," "],r=[];i--;)r.push(s[this.x++]=e);return r},t.prototype.tabClear=function(t){var e;return e=t[0],0>=e?delete this.tabs[this.x]:3===e?this.tabs={}:void 0},t.prototype.mediaCopy=function(){},t.prototype.setResources=function(){},t.prototype.disableModifiers=function(){},t.prototype.setPointerMode=function(){},t.prototype.softReset=function(){return this.cursorHidden=!1,this.insertMode=!1,this.originMode=!1,this.wraparoundMode=!1,this.applicationKeypad=!1,this.applicationCursor=!1,this.scrollTop=0,this.scrollBottom=this.rows-1,this.curAttr=this.defAttr,this.x=this.y=0,this.charset=null,this.glevel=0,this.charsets=[null]},t.prototype.requestAnsiMode=function(){},t.prototype.requestPrivateMode=function(){},t.prototype.setConformanceLevel=function(){},t.prototype.loadLEDs=function(){},t.prototype.setCursorStyle=function(){},t.prototype.setCharProtectionAttr=function(){},t.prototype.restorePrivateValues=function(){},t.prototype.setAttrInRectangle=function(t){var e,s,i,r,n,o,a;for(a=t[0],r=t[1],s=t[2],o=t[3],e=t[4];s+1>a;){for(n=this.lines[this.ybase+a],i=r;o>i;)n[i]=[e,n[i][1]],i++;a++}return this.updateRange(t[0]),this.updateRange(t[2])},t.prototype.savePrivateValues=function(){},t.prototype.manipulateWindow=function(){},t.prototype.reverseAttrInRectangle=function(){},t.prototype.setTitleModeFeature=function(){},t.prototype.setWarningBellVolume=function(){},t.prototype.setMarginBellVolume=function(){},t.prototype.copyRectangle=function(){},t.prototype.enableFilterRectangle=function(){},t.prototype.requestParameters=function(){},t.prototype.selectChangeExtent=function(){},t.prototype.fillRectangle=function(t){var e,s,i,r,n,o,a;for(s=t[0],a=t[1],r=t[2],e=t[3],o=t[4];e+1>a;){for(n=this.lines[this.ybase+a],i=r;o>i;)n[i]=[n[i][0],String.fromCharCode(s)],i++;
-a++}return this.updateRange(t[1]),this.updateRange(t[3])},t.prototype.enableLocatorReporting=function(t){var e;return e=t[0]>0},t.prototype.eraseRectangle=function(t){var e,s,i,r,n,o,a;for(a=t[0],r=t[1],e=t[2],o=t[3],s=[this.eraseAttr()," "];e+1>a;){for(n=this.lines[this.ybase+a],i=r;o>i;)n[i]=s,i++;a++}return this.updateRange(t[0]),this.updateRange(t[2])},t.prototype.setLocatorEvents=function(){},t.prototype.selectiveEraseRectangle=function(){},t.prototype.requestLocatorPosition=function(){},t.prototype.insertColumns=function(){var t,e,s,i;for(i=params[0],s=this.ybase+this.rows,t=[this.eraseAttr()," "];i--;)for(e=this.ybase;s>e;)this.lines[e].splice(this.x+1,0,t),this.lines[e].pop(),e++;return this.maxRange()},t.prototype.deleteColumns=function(){var t,e,s,i;for(i=params[0],s=this.ybase+this.rows,t=[this.eraseAttr()," "];i--;)for(e=this.ybase;s>e;)this.lines[e].splice(this.x,1),this.lines[e].push(t),e++;return this.maxRange()},t.prototype.get_html_height_in_lines=function(t){var e,s;return s=document.createElement("div"),s.innerHTML=t,this.element.appendChild(s),e=s.getBoundingClientRect().height,this.element.removeChild(s),Math.ceil(e/this.char_size.height)},t.prototype.charsets={SCLD:{"`":"◆",a:"▒",b:" ",c:"\f",d:"\r",e:"\n",f:"°",g:"±",h:"",i:"",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},UK:null,US:null,Dutch:null,Finnish:null,French:null,FrenchCanadian:null,German:null,Italian:null,NorwegianDanish:null,Spanish:null,Swedish:null,Swiss:null,ISOLatin:null},t}(),selection=null,previous_leaf=function(t){var e;for(e=t.previousSibling,e||(e=t.parentNode.previousSibling),e||(e=t.parentNode.parentNode.previousSibling);e.lastChild;)e=e.lastChild;return e},next_leaf=function(t){var e;for(e=t.nextSibling,e||(e=t.parentNode.nextSibling),e||(e=t.parentNode.parentNode.nextSibling);e.firstChild;)e=e.firstChild;return e},Selection=function(){function t(){term.element.classList.add("selection"),this.selection=getSelection()}return t.prototype.reset=function(){var t,e,s;for(this.selection=getSelection(),t=document.createRange(),t.setStart(this.selection.anchorNode,this.selection.anchorOffset),t.setEnd(this.selection.focusNode,this.selection.focusOffset),this.start={node:this.selection.anchorNode,offset:this.selection.anchorOffset},this.end={node:this.selection.focusNode,offset:this.selection.focusOffset},t.collapsed&&(e=[this.end,this.start],this.start=e[0],this.end=e[1]),this.start_line=this.start.node;!this.start_line.classList||__indexOf.call(this.start_line.classList,"line")<0;)this.start_line=this.start_line.parentNode;for(this.end_line=this.end.node,s=[];!this.end_line.classList||__indexOf.call(this.end_line.classList,"line")<0;)s.push(this.end_line=this.end_line.parentNode);return s},t.prototype.clear=function(){return this.selection.removeAllRanges()},t.prototype.destroy=function(){return term.element.classList.remove("selection"),this.clear()},t.prototype.text=function(){return this.selection.toString()},t.prototype.up=function(){return this.go(-1)},t.prototype.down=function(){return this.go(1)},t.prototype.go=function(t){var e;if(e=term.children.indexOf(this.start_line)+t,e>=0&&e=0&&e0;)if(n[--i].match(e))return{node:r,offset:i+1};r=previous_leaf(r),n=r.textContent,i=n.length}else for(;r;){for(;i=0)return!0;if(t.shiftKey&&13===t.keyCode&&!selection&&!getSelection().isCollapsed)return term.handler(getSelection().toString()),getSelection().removeAllRanges(),cancel(t);if(selection){if(selection.reset(),!t.ctrlKey&&t.shiftKey&&37<=(s=t.keyCode)&&40>=s)return!0;if(t.shiftKey&&t.ctrlKey)38===t.keyCode?selection.up():40===t.keyCode&&selection.down();else if(39===t.keyCode)selection.shrink_left();else if(38===t.keyCode)selection.expand_left();else if(37===t.keyCode)selection.shrink_right();else{if(40!==t.keyCode)return cancel(t);selection.expand_right()}return null!=selection&&selection.apply(),cancel(t)}return!selection&&t.ctrlKey&&t.shiftKey&&38===t.keyCode?(selection=new Selection,selection.select_line(term.y-1),selection.apply(),cancel(t)):!0}),document.addEventListener("keyup",function(t){var e,s;if(e=t.keyCode,__indexOf.call([16,17,18,19],e)>=0)return!0;if(selection){if(13===t.keyCode)return term.handler(selection.text()),selection.destroy(),selection=null,cancel(t);if(s=t.keyCode,__indexOf.call([37,38,39,40],s)<0)return selection.destroy(),selection=null,!0}return!0}),document.addEventListener("dblclick",function(t){var e,s,i,r,n;if(!(t.ctrlKey||t.altkey||(n=getSelection(),n.isCollapsed||n.toString().match(/\s/)))){for(r=document.createRange(),r.setStart(n.anchorNode,n.anchorOffset),r.setEnd(n.focusNode,n.focusOffset),r.collapsed&&(n.removeAllRanges(),i=document.createRange(),i.setStart(n.focusNode,n.focusOffset),i.setEnd(n.anchorNode,n.anchorOffset),n.addRange(i)),r.detach();!n.toString().match(/\s/)&&n.toString();)n.modify("extend","forward","character");for(n.modify("extend","backward","character"),e=n.anchorNode,s=n.anchorOffset,n.collapseToEnd(),n.extend(e,s);!n.toString().match(/\s/)&&n.toString();)n.modify("extend","backward","character");return n.modify("extend","forward","character")}}),/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)&&(ctrl=!1,alt=!1,first=!0,virtual_input=document.createElement("input"),virtual_input.type="password",virtual_input.style.position="fixed",virtual_input.style.top=0,virtual_input.style.left=0,virtual_input.style.border="none",virtual_input.style.outline="none",virtual_input.style.opacity=0,virtual_input.value="0",document.body.appendChild(virtual_input),virtual_input.addEventListener("blur",function(){return setTimeout(function(t){return function(){return t.focus()}}(this),10)}),addEventListener("click",function(){return virtual_input.focus()}),addEventListener("touchstart",function(t){return 2===t.touches.length?ctrl=!0:3===t.touches.length?(ctrl=!1,alt=!0):4===t.touches.length?(ctrl=!0,alt=!0):void 0}),virtual_input.addEventListener("keydown",function(t){return term.keyDown(t),!0}),virtual_input.addEventListener("input",function(t){var e;return e=this.value.length,0===e?(t.keyCode=8,term.keyDown(t),this.value="0",!0):(t.keyCode=this.value.charAt(1).charCodeAt(0),!ctrl&&!alt||first?(term.keyPress(t),first=!1,this.value="0",!0):(t.keyCode=this.value.charAt(1).charCodeAt(0),t.ctrlKey=ctrl,t.altKey=alt,t.keyCode>=97&&t.keyCode<=122&&(t.keyCode-=32),term.keyDown(t),this.value="0",ctrl=alt=!1,!0))})),cols=rows=null,quit=!1,open_ts=(new Date).getTime(),$=document.querySelectorAll.bind(document),send=function(t){return ws.send("S"+t)},ctl=function(){var t,e,s;return s=arguments[0],t=2<=arguments.length?__slice.call(arguments,1):[],e=t.join(","),"Resize"===s?ws.send("R"+e):void 0},ws_url="https:"===location.protocol?"wss://":"ws://",ws_url+=document.location.host+"/ws"+location.pathname,ws=new WebSocket(ws_url),ws.addEventListener("open",function(){return console.log("WebSocket open",arguments),ws.send("R"+term.cols+","+term.rows),open_ts=(new Date).getTime()}),ws.addEventListener("error",function(){return console.log("WebSocket error",arguments)}),ws.addEventListener("message",function(t){return setTimeout(function(){return term.write(t.data)},1)}),ws.addEventListener("close",function(){return console.log("WebSocket closed",arguments),setTimeout(function(){return term.write("Closed"),term.skipNextKey=!0,term.element.classList.add("skip")},1),quit=!0,(new Date).getTime()-open_ts>6e4?open("","_self").close():void 0}),term=new Terminal($("#wrapper")[0],send,ctl),addEventListener("beforeunload",function(){return quit?void 0:"This will exit the terminal session"}),bench=function(t){var e,s;for(null==t&&(t=1e8),e="";e.length 127) {
+ ch = 127;
+ }
+ return data.push(ch);
+ } else {
+ if (ch === 2047) {
+ return data.push(0);
+ }
+ if (ch < 127) {
+ return data.push(ch);
+ } else {
+ if (ch > 2047) {
+ ch = 2047;
+ }
+ data.push(0xC0 | (ch >> 6));
+ return data.push(0x80 | (ch & 0x3F));
+ }
+ }
+ };
+ })(this);
+ sendEvent = (function(_this) {
+ return function(button, pos) {
+ var data;
+ if (_this.urxvtMouse) {
+ pos.x -= 32;
+ pos.y -= 32;
+ pos.x++;
+ pos.y++;
+ _this.send("\x1b[" + button + ";" + pos.x + ";" + pos.y + "M");
+ return;
+ }
+ if (_this.sgrMouse) {
+ pos.x -= 32;
+ pos.y -= 32;
+ _this.send("\x1b[<" + ((button & 3) === 3 ? button & ~3 : button) + ";" + pos.x + ";" + pos.y + ((button & 3) === 3 ? "m" : "M"));
+ return;
+ }
+ data = [];
+ encode(data, button);
+ encode(data, pos.x);
+ encode(data, pos.y);
+ return _this.send("\x1b[M" + String.fromCharCode.apply(String, data));
+ };
+ })(this);
+ getButton = (function(_this) {
+ return function(ev) {
+ var button, ctrl, meta, mod, shift;
+ switch (ev.type) {
+ case "mousedown":
+ button = ev.button != null ? +ev.button : (ev.which != null ? ev.which - 1 : null);
+ break;
+ case "mouseup":
+ button = 3;
+ break;
+ case "wheel":
+ button = ev.deltaY < 0 ? 64 : 65;
+ }
+ shift = ev.shiftKey ? 4 : 0;
+ meta = ev.metaKey ? 8 : 0;
+ ctrl = ev.ctrlKey ? 16 : 0;
+ mod = shift | meta | ctrl;
+ if (_this.vt200Mouse) {
+ mod &= ctrl;
+ } else {
+ if (!_this.normalMouse) {
+ mod = 0;
+ }
+ }
+ return (32 + (mod << 2)) + button;
+ };
+ })(this);
+ getCoords = (function(_this) {
+ return function(ev) {
+ var el, h, w, x, y;
+ x = ev.pageX;
+ y = ev.pageY;
+ el = _this.element;
+ while (el && el !== _this.document.documentElement) {
+ x -= el.offsetLeft;
+ y -= el.offsetTop;
+ el = "offsetParent" in el ? el.offsetParent : el.parentNode;
+ }
+ w = _this.element.clientWidth;
+ h = _this.element.clientHeight;
+ x = Math.ceil((x / w) * _this.cols);
+ y = Math.ceil((y / h) * _this.rows);
+ if (x < 0) {
+ x = 0;
+ }
+ if (x > _this.cols) {
+ x = _this.cols;
+ }
+ if (y < 0) {
+ y = 0;
+ }
+ if (y > _this.rows) {
+ y = _this.rows;
+ }
+ x += 32;
+ y += 32;
+ return {
+ x: x,
+ y: y,
+ type: ev.type
+ };
+ };
+ })(this);
+ addEventListener("mousedown", (function(_this) {
+ return function(ev) {
+ var up;
+ if (!_this.mouseEvents) {
+ return;
+ }
+ sendButton(ev);
+ if (_this.vt200Mouse) {
+ sendButton({
+ __proto__: ev,
+ type: "mouseup"
+ });
+ return cancel(ev);
+ }
+ if (_this.normalMouse) {
+ addEventListener("mousemove", sendMove.bind(_this));
+ }
+ if (!_this.x10Mouse) {
+ addEventListener("mouseup", up = function(ev) {
+ sendButton(ev);
+ if (_this.normalMouse) {
+ removeEventListener("mousemove", sendMove);
+ }
+ removeEventListener("mouseup", up);
+ return cancel(ev);
+ });
+ }
+ return cancel(ev);
+ };
+ })(this));
+ return addEventListener("wheel", (function(_this) {
+ return function(ev) {
+ if (_this.mouseEvents) {
+ if (_this.x10Mouse) {
+ return;
+ }
+ sendButton(ev);
+ } else {
+ if (_this.applicationKeypad) {
+ return;
+ }
+ _this.scrollDisp(ev.deltaY > 0 ? 5 : -5);
+ }
+ return cancel(ev);
+ };
+ })(this));
+ };
+
+ Terminal.prototype.refresh = function(start, end) {
+ var attr, bg, ch, classes, data, fg, flags, i, line, out, parent, row, width, x, y;
+ if (end - start >= this.rows / 3) {
+ parent = this.element.parentNode;
+ if (parent != null) {
+ parent.removeChild(this.element);
+ }
+ }
+ width = this.cols;
+ y = start;
+ if (end >= this.lines.length) {
+ end = this.lines.length - 1;
+ }
+ while (y <= end) {
+ row = y + this.ydisp;
+ line = this.lines[row];
+ out = "";
+ if (y === this.y && (this.ydisp === this.ybase || this.selectMode) && !this.cursorHidden) {
+ x = this.x;
+ } else {
+ x = -Infinity;
+ }
+ attr = this.defAttr;
+ i = 0;
+ while (i < width) {
+ data = line[i][0];
+ ch = line[i][1];
+ if (data !== attr) {
+ if (attr !== this.defAttr) {
+ out += "";
+ }
+ if (data !== this.defAttr) {
+ classes = [];
+ out += "> 9) & 0x1ff;
+ flags = data >> 18;
+ if (flags & 1) {
+ classes.push("bold");
+ }
+ if (flags & 2) {
+ classes.push("underline");
+ }
+ if (flags & 4) {
+ classes.push("blink");
+ }
+ if (flags & 8) {
+ classes.push("reverse-video");
+ }
+ if (flags & 16) {
+ classes.push("invisible");
+ }
+ if (flags & 1 && fg < 8) {
+ fg += 8;
+ }
+ classes.push("bg-color-" + bg);
+ classes.push("fg-color-" + fg);
+ out += "class=\"";
+ out += classes.join(" ");
+ out += "\">";
+ }
+ }
+ if (i === x) {
+ out += "";
+ }
+ if (ch.length > 1) {
+ out += ch;
+ } else {
+ switch (ch) {
+ case "&":
+ out += "&";
+ break;
+ case "<":
+ out += "<";
+ break;
+ case ">":
+ out += ">";
+ break;
+ default:
+ if (ch <= " ") {
+ out += " ";
+ } else {
+ if (("\uff00" < ch && ch < "\uffef")) {
+ i++;
+ }
+ out += ch;
+ }
+ }
+ }
+ if (i === x) {
+ out += "";
+ }
+ attr = data;
+ i++;
+ }
+ if (attr !== this.defAttr) {
+ out += "";
+ }
+ this.children[y].innerHTML = out;
+ y++;
+ }
+ return parent != null ? parent.appendChild(this.element) : void 0;
+ };
+
+ Terminal.prototype._cursorBlink = function() {
+ var cursor;
+ this.cursorState ^= 1;
+ cursor = this.element.querySelector(".cursor");
+ if (!cursor) {
+ return;
+ }
+ if (cursor.classList.contains("reverse-video")) {
+ return cursor.classList.remove("reverse-video");
+ } else {
+ return cursor.classList.add("reverse-video");
+ }
+ };
+
+ Terminal.prototype.showCursor = function() {
+ if (!this.cursorState) {
+ this.cursorState = 1;
+ return this.refresh(this.y, this.y);
+ }
+ };
+
+ Terminal.prototype.startBlink = function() {
+ if (!this.cursorBlink) {
+ return;
+ }
+ this._blinker = (function(_this) {
+ return function() {
+ return _this._cursorBlink();
+ };
+ })(this);
+ return this.t_blink = setInterval(this._blinker, 500);
+ };
+
+ Terminal.prototype.refreshBlink = function() {
+ if (!this.cursorBlink) {
+ return;
+ }
+ clearInterval(this.t_blink);
+ return this.t_blink = setInterval(this._blinker, 500);
+ };
+
+ Terminal.prototype.scroll = function() {
+ var row;
+ if (++this.ybase === this.scrollback) {
+ this.ybase = this.ybase / 2 | 0;
+ this.lines = this.lines.slice(-(this.ybase + this.rows) + 1);
+ }
+ this.ydisp = this.ybase;
+ row = this.ybase + this.rows - 1;
+ row -= this.rows - 1 - this.scrollBottom;
+ if (row === this.lines.length) {
+ this.lines.push(this.blankLine());
+ } else {
+ this.lines.splice(row, 0, this.blankLine());
+ }
+ if (this.scrollTop !== 0) {
+ if (this.ybase !== 0) {
+ this.ybase--;
+ this.ydisp = this.ybase;
+ }
+ this.lines.splice(this.ybase + this.scrollTop, 1);
+ }
+ this.updateRange(this.scrollTop);
+ return this.updateRange(this.scrollBottom);
+ };
+
+ Terminal.prototype.scrollDisp = function(disp) {
+ this.ydisp += disp;
+ if (this.ydisp > this.ybase) {
+ this.ydisp = this.ybase;
+ } else {
+ if (this.ydisp < 0) {
+ this.ydisp = 0;
+ }
+ }
+ return this.refresh(0, this.rows - 1);
+ };
+
+ Terminal.prototype.write = function(data) {
+ var ch, cs, i, j, l, pt, valid, _ref;
+ this.refreshStart = this.y;
+ this.refreshEnd = this.y;
+ if (this.ybase !== this.ydisp) {
+ this.ydisp = this.ybase;
+ this.maxRange();
+ }
+ i = 0;
+ l = data.length;
+ while (i < l) {
+ ch = data[i];
+ switch (this.state) {
+ case State.normal:
+ switch (ch) {
+ case "\x07":
+ this.bell();
+ break;
+ case "\n":
+ case "\x0b":
+ case "\x0c":
+ if (this.convertEol) {
+ this.x = 0;
+ }
+ this.y++;
+ if (this.y > this.scrollBottom) {
+ this.y--;
+ this.scroll();
+ }
+ break;
+ case "\r":
+ this.x = 0;
+ break;
+ case "\b":
+ if (this.x > 0) {
+ this.x--;
+ }
+ break;
+ case "\t":
+ this.x = this.nextStop();
+ break;
+ case "\x0e":
+ this.setgLevel(1);
+ break;
+ case "\x0f":
+ this.setgLevel(0);
+ break;
+ case "\x1b":
+ this.state = State.escaped;
+ break;
+ default:
+ if (ch >= " ") {
+ if ((_ref = this.charset) != null ? _ref[ch] : void 0) {
+ ch = this.charset[ch];
+ }
+ if (this.x >= this.cols) {
+ this.x = 0;
+ this.y++;
+ if (this.y > this.scrollBottom) {
+ this.y--;
+ this.scroll();
+ }
+ }
+ this.lines[this.y + this.ybase][this.x] = [this.curAttr, ch];
+ this.x++;
+ this.updateRange(this.y);
+ if (("\uff00" < ch && ch < "\uffef")) {
+ j = this.y + this.ybase;
+ if (this.cols < 2 || this.x >= this.cols) {
+ this.lines[j][this.x - 1] = [this.curAttr, " "];
+ break;
+ }
+ this.lines[j][this.x] = [this.curAttr, " "];
+ this.x++;
+ }
+ }
+ }
+ break;
+ case State.escaped:
+ switch (ch) {
+ case "[":
+ this.params = [];
+ this.currentParam = 0;
+ this.state = State.csi;
+ break;
+ case "]":
+ this.params = [];
+ this.currentParam = 0;
+ this.state = State.osc;
+ break;
+ case "P":
+ this.params = [];
+ this.currentParam = 0;
+ this.state = State.dcs;
+ break;
+ case "_":
+ this.state = State.ignore;
+ break;
+ case "^":
+ this.state = State.ignore;
+ break;
+ case "c":
+ this.reset();
+ break;
+ case "E":
+ this.x = 0;
+ this.index();
+ break;
+ case "D":
+ this.index();
+ break;
+ case "M":
+ this.reverseIndex();
+ break;
+ case "%":
+ this.setgLevel(0);
+ this.setgCharset(0, Terminal.prototype.charsets.US);
+ this.state = State.normal;
+ i++;
+ break;
+ case "(":
+ case ")":
+ case "*":
+ case "+":
+ case "-":
+ case ".":
+ switch (ch) {
+ case "(":
+ this.gcharset = 0;
+ break;
+ case ")":
+ case "-":
+ this.gcharset = 1;
+ break;
+ case "*":
+ case ".":
+ this.gcharset = 2;
+ break;
+ case "+":
+ this.gcharset = 3;
+ }
+ this.state = State.charset;
+ break;
+ case "/":
+ this.gcharset = 3;
+ this.state = State.charset;
+ i--;
+ break;
+ case "n":
+ this.setgLevel(2);
+ break;
+ case "o":
+ this.setgLevel(3);
+ break;
+ case "|":
+ this.setgLevel(3);
+ break;
+ case "}":
+ this.setgLevel(2);
+ break;
+ case "~":
+ this.setgLevel(1);
+ break;
+ case "7":
+ this.saveCursor();
+ this.state = State.normal;
+ break;
+ case "8":
+ this.restoreCursor();
+ this.state = State.normal;
+ break;
+ case "#":
+ this.state = State.normal;
+ i++;
+ break;
+ case "H":
+ this.tabSet();
+ break;
+ case "=":
+ this.applicationKeypad = true;
+ this.state = State.normal;
+ break;
+ case ">":
+ this.applicationKeypad = false;
+ this.state = State.normal;
+ break;
+ default:
+ this.state = State.normal;
+ console.log("Unknown ESC control:", ch);
+ }
+ break;
+ case State.charset:
+ switch (ch) {
+ case "0":
+ cs = Terminal.prototype.charsets.SCLD;
+ break;
+ case "A":
+ cs = Terminal.prototype.charsets.UK;
+ break;
+ case "B":
+ cs = Terminal.prototype.charsets.US;
+ break;
+ case "4":
+ cs = Terminal.prototype.charsets.Dutch;
+ break;
+ case "C":
+ case "5":
+ cs = Terminal.prototype.charsets.Finnish;
+ break;
+ case "R":
+ cs = Terminal.prototype.charsets.French;
+ break;
+ case "Q":
+ cs = Terminal.prototype.charsets.FrenchCanadian;
+ break;
+ case "K":
+ cs = Terminal.prototype.charsets.German;
+ break;
+ case "Y":
+ cs = Terminal.prototype.charsets.Italian;
+ break;
+ case "E":
+ case "6":
+ cs = Terminal.prototype.charsets.NorwegianDanish;
+ break;
+ case "Z":
+ cs = Terminal.prototype.charsets.Spanish;
+ break;
+ case "H":
+ case "7":
+ cs = Terminal.prototype.charsets.Swedish;
+ break;
+ case "=":
+ cs = Terminal.prototype.charsets.Swiss;
+ break;
+ case "/":
+ cs = Terminal.prototype.charsets.ISOLatin;
+ i++;
+ break;
+ default:
+ cs = Terminal.prototype.charsets.US;
+ }
+ this.setgCharset(this.gcharset, cs);
+ this.gcharset = null;
+ this.state = State.normal;
+ break;
+ case State.osc:
+ if (ch === "\x1b" || ch === "\x07") {
+ if (ch === "\x1b") {
+ i++;
+ }
+ this.params.push(this.currentParam);
+ switch (this.params[0]) {
+ case 0:
+ case 1:
+ case 2:
+ if (this.params[1]) {
+ this.title = this.params[1] + " - ƸӜƷ butterfly";
+ this.handleTitle(this.title);
+ }
+ }
+ this.params = [];
+ this.currentParam = 0;
+ this.state = State.normal;
+ } else {
+ if (!this.params.length) {
+ if (ch >= "0" && ch <= "9") {
+ this.currentParam = this.currentParam * 10 + ch.charCodeAt(0) - 48;
+ } else if (ch === ";") {
+ this.params.push(this.currentParam);
+ this.currentParam = "";
+ }
+ } else {
+ this.currentParam += ch;
+ }
+ }
+ break;
+ case State.csi:
+ if (ch === "?" || ch === ">" || ch === "!") {
+ this.prefix = ch;
+ break;
+ }
+ if (ch >= "0" && ch <= "9") {
+ this.currentParam = this.currentParam * 10 + ch.charCodeAt(0) - 48;
+ break;
+ }
+ if (ch === "$" || ch === "\"" || ch === " " || ch === "'") {
+ break;
+ }
+ this.params.push(this.currentParam);
+ this.currentParam = 0;
+ if (ch === ";") {
+ break;
+ }
+ this.state = State.normal;
+ switch (ch) {
+ case "A":
+ this.cursorUp(this.params);
+ break;
+ case "B":
+ this.cursorDown(this.params);
+ break;
+ case "C":
+ this.cursorForward(this.params);
+ break;
+ case "D":
+ this.cursorBackward(this.params);
+ break;
+ case "H":
+ this.cursorPos(this.params);
+ break;
+ case "J":
+ this.eraseInDisplay(this.params);
+ break;
+ case "K":
+ this.eraseInLine(this.params);
+ break;
+ case "m":
+ if (!this.prefix) {
+ this.charAttributes(this.params);
+ }
+ break;
+ case "n":
+ if (!this.prefix) {
+ this.deviceStatus(this.params);
+ }
+ break;
+ case "@":
+ this.insertChars(this.params);
+ break;
+ case "E":
+ this.cursorNextLine(this.params);
+ break;
+ case "F":
+ this.cursorPrecedingLine(this.params);
+ break;
+ case "G":
+ this.cursorCharAbsolute(this.params);
+ break;
+ case "L":
+ this.insertLines(this.params);
+ break;
+ case "M":
+ this.deleteLines(this.params);
+ break;
+ case "P":
+ this.deleteChars(this.params);
+ break;
+ case "X":
+ this.eraseChars(this.params);
+ break;
+ case "`":
+ this.charPosAbsolute(this.params);
+ break;
+ case "a":
+ this.HPositionRelative(this.params);
+ break;
+ case "c":
+ this.sendDeviceAttributes(this.params);
+ break;
+ case "d":
+ this.linePosAbsolute(this.params);
+ break;
+ case "e":
+ this.VPositionRelative(this.params);
+ break;
+ case "f":
+ this.HVPosition(this.params);
+ break;
+ case "h":
+ this.setMode(this.params);
+ break;
+ case "l":
+ this.resetMode(this.params);
+ break;
+ case "r":
+ this.setScrollRegion(this.params);
+ break;
+ case "s":
+ this.saveCursor(this.params);
+ break;
+ case "u":
+ this.restoreCursor(this.params);
+ break;
+ case "I":
+ this.cursorForwardTab(this.params);
+ break;
+ case "S":
+ this.scrollUp(this.params);
+ break;
+ case "T":
+ if (this.params.length < 2 && !this.prefix) {
+ this.scrollDown(this.params);
+ }
+ break;
+ case "Z":
+ this.cursorBackwardTab(this.params);
+ break;
+ case "b":
+ this.repeatPrecedingCharacter(this.params);
+ break;
+ case "g":
+ this.tabClear(this.params);
+ break;
+ case "p":
+ if (this.prefix === '!') {
+ this.softReset(this.params);
+ }
+ break;
+ default:
+ console.error("Unknown CSI code: %s.", ch);
+ }
+ this.prefix = "";
+ break;
+ case State.dcs:
+ if (ch === "\x1b" || ch === "\x07") {
+ if (ch === "\x1b") {
+ i++;
+ }
+ switch (this.prefix) {
+ case "":
+ break;
+ case "$q":
+ pt = this.currentParam;
+ valid = false;
+ switch (pt) {
+ case "\"q":
+ pt = "0\"q";
+ break;
+ case "\"p":
+ pt = "61\"p";
+ break;
+ case "r":
+ pt = "" + (this.scrollTop + 1) + ";" + (this.scrollBottom + 1) + "r";
+ break;
+ case "m":
+ pt = "0m";
+ break;
+ default:
+ console.error("Unknown DCS Pt: %s.", pt);
+ pt = "";
+ }
+ this.send("\x1bP" + +valid + "$r" + pt + "\x1b\\");
+ break;
+ case "+q":
+ pt = this.currentParam;
+ valid = false;
+ this.send("\x1bP" + +valid + "+r" + pt + "\x1b\\");
+ break;
+ default:
+ console.error("Unknown DCS prefix: %s.", this.prefix);
+ }
+ this.currentParam = 0;
+ this.prefix = "";
+ this.state = State.normal;
+ } else if (!this.currentParam) {
+ if (!this.prefix && ch !== "$" && ch !== "+") {
+ this.currentParam = ch;
+ } else if (this.prefix.length === 2) {
+ this.currentParam = ch;
+ } else {
+ this.prefix += ch;
+ }
+ } else {
+ this.currentParam += ch;
+ }
+ break;
+ case State.ignore:
+ if (ch === "\x1b" || ch === "\x07") {
+ if (ch === "\x1b") {
+ i++;
+ }
+ this.state = State.normal;
+ }
+ }
+ i++;
+ }
+ this.updateRange(this.y);
+ return this.refresh(this.refreshStart, this.refreshEnd);
+ };
+
+ Terminal.prototype.writeln = function(data) {
+ return this.write("" + data + "\r\n");
+ };
+
+ Terminal.prototype.keyDown = function(ev) {
+ var id, key, t, _ref;
+ if (ev.keyCode > 15 && ev.keyCode < 19) {
+ return true;
+ }
+ if ((ev.shiftKey || ev.ctrlKey) && ev.keyCode === 45) {
+ return true;
+ }
+ if ((ev.shiftKey && ev.ctrlKey) && ((_ref = ev.keyCode) === 67 || _ref === 86)) {
+ return true;
+ }
+ if (ev.altKey && ev.keyCode === 90 && !this.skipNextKey) {
+ this.skipNextKey = true;
+ this.element.classList.add('skip');
+ return cancel(ev);
+ }
+ if (this.skipNextKey) {
+ this.skipNextKey = false;
+ this.element.classList.remove('skip');
+ return true;
+ }
+ switch (ev.keyCode) {
+ case 8:
+ key = ev.altKey ? "\x1b" : "";
+ if (ev.shiftKey) {
+ key += "\x08";
+ break;
+ }
+ key += "\x7f";
+ break;
+ case 9:
+ if (ev.shiftKey) {
+ key = "\x1b[Z";
+ break;
+ }
+ key = "\t";
+ break;
+ case 13:
+ key = "\r";
+ break;
+ case 27:
+ key = "\x1b";
+ break;
+ case 37:
+ if (this.applicationCursor) {
+ key = "\x1bOD";
+ break;
+ }
+ key = "\x1b[D";
+ break;
+ case 39:
+ if (this.applicationCursor) {
+ key = "\x1bOC";
+ break;
+ }
+ key = "\x1b[C";
+ break;
+ case 38:
+ if (this.applicationCursor) {
+ key = "\x1bOA";
+ break;
+ }
+ if (ev.ctrlKey) {
+ this.scrollDisp(-1);
+ return cancel(ev);
+ } else {
+ key = "\x1b[A";
+ }
+ break;
+ case 40:
+ if (this.applicationCursor) {
+ key = "\x1bOB";
+ break;
+ }
+ if (ev.ctrlKey) {
+ this.scrollDisp(1);
+ return cancel(ev);
+ } else {
+ key = "\x1b[B";
+ }
+ break;
+ case 46:
+ key = "\x1b[3~";
+ break;
+ case 45:
+ key = "\x1b[2~";
+ break;
+ case 36:
+ if (this.applicationKeypad) {
+ key = "\x1bOH";
+ break;
+ }
+ key = "\x1bOH";
+ break;
+ case 35:
+ if (this.applicationKeypad) {
+ key = "\x1bOF";
+ break;
+ }
+ key = "\x1bOF";
+ break;
+ case 33:
+ if (ev.shiftKey) {
+ this.scrollDisp(-(this.rows - 1));
+ return cancel(ev);
+ } else {
+ key = "\x1b[5~";
+ }
+ break;
+ case 34:
+ if (ev.shiftKey) {
+ this.scrollDisp(this.rows - 1);
+ return cancel(ev);
+ } else {
+ key = "\x1b[6~";
+ }
+ break;
+ case 112:
+ key = "\x1bOP";
+ break;
+ case 113:
+ key = "\x1bOQ";
+ break;
+ case 114:
+ key = "\x1bOR";
+ break;
+ case 115:
+ key = "\x1bOS";
+ break;
+ case 116:
+ key = "\x1b[15~";
+ break;
+ case 117:
+ key = "\x1b[17~";
+ break;
+ case 118:
+ key = "\x1b[18~";
+ break;
+ case 119:
+ key = "\x1b[19~";
+ break;
+ case 120:
+ key = "\x1b[20~";
+ break;
+ case 121:
+ key = "\x1b[21~";
+ break;
+ case 122:
+ key = "\x1b[23~";
+ break;
+ case 123:
+ key = "\x1b[24~";
+ break;
+ default:
+ if (ev.ctrlKey) {
+ if (ev.keyCode >= 65 && ev.keyCode <= 90) {
+ if (ev.keyCode === 67) {
+ t = (new Date()).getTime();
+ if ((t - this.last_cc) < 75) {
+ id = (setTimeout(function() {})) - 6;
+ this.write('\r\n --8<------8<-- Sectioned --8<------8<-- \r\n\r\n');
+ while (id--) {
+ if (id !== this.t_bell && id !== this.t_queue && id !== this.t_blink) {
+ clearTimeout(id);
+ }
+ }
+ }
+ this.last_cc = t;
+ }
+ key = String.fromCharCode(ev.keyCode - 64);
+ } else if (ev.keyCode === 32) {
+ key = String.fromCharCode(0);
+ } else if (ev.keyCode >= 51 && ev.keyCode <= 55) {
+ key = String.fromCharCode(ev.keyCode - 51 + 27);
+ } else if (ev.keyCode === 56) {
+ key = String.fromCharCode(127);
+ } else if (ev.keyCode === 219) {
+ key = String.fromCharCode(27);
+ } else {
+ if (ev.keyCode === 221) {
+ key = String.fromCharCode(29);
+ }
+ }
+ } else if ((ev.altKey && __indexOf.call(navigator.platform, 'Mac') < 0) || (ev.metaKey && __indexOf.call(navigator.platform, 'Mac') >= 0)) {
+ if (ev.keyCode >= 65 && ev.keyCode <= 90) {
+ key = "\x1b" + String.fromCharCode(ev.keyCode + 32);
+ } else if (ev.keyCode === 192) {
+ key = "\x1b`";
+ } else {
+ if (ev.keyCode >= 48 && ev.keyCode <= 57) {
+ key = "\x1b" + (ev.keyCode - 48);
+ }
+ }
+ }
+ }
+ if (ev.keyCode >= 37 && ev.keyCode <= 40) {
+ if (ev.ctrlKey) {
+ key = key.slice(0, -1) + "1;5" + key.slice(-1);
+ } else if (ev.altKey) {
+ key = key.slice(0, -1) + "1;3" + key.slice(-1);
+ } else if (ev.shiftKey) {
+ key = key.slice(0, -1) + "1;4" + key.slice(-1);
+ }
+ }
+ if (!key) {
+ return true;
+ }
+ if (this.prefixMode) {
+ this.leavePrefix();
+ return cancel(ev);
+ }
+ if (this.selectMode) {
+ this.keySelect(ev, key);
+ return cancel(ev);
+ }
+ this.showCursor();
+ this.handler(key);
+ return cancel(ev);
+ };
+
+ Terminal.prototype.setgLevel = function(g) {
+ this.glevel = g;
+ return this.charset = this.charsets[g];
+ };
+
+ Terminal.prototype.setgCharset = function(g, charset) {
+ this.charsets[g] = charset;
+ if (this.glevel === g) {
+ return this.charset = charset;
+ }
+ };
+
+ Terminal.prototype.keyPress = function(ev) {
+ var key;
+ if (this.skipNextKey === false) {
+ this.skipNextKey = null;
+ return true;
+ }
+ cancel(ev);
+ if (ev.charCode) {
+ key = ev.charCode;
+ } else if (ev.which == null) {
+ key = ev.keyCode;
+ } else if (ev.which !== 0 && ev.charCode !== 0) {
+ key = ev.which;
+ } else {
+ return false;
+ }
+ if (!key || ev.ctrlKey || ev.altKey || ev.metaKey) {
+ return false;
+ }
+ key = String.fromCharCode(key);
+ this.showCursor();
+ this.handler(key);
+ return false;
+ };
+
+ Terminal.prototype.send = function(data) {
+ if (!this.queue) {
+ this.t_queue = setTimeout(((function(_this) {
+ return function() {
+ _this.handler(_this.queue);
+ return _this.queue = "";
+ };
+ })(this)), 1);
+ }
+ return this.queue += data;
+ };
+
+ Terminal.prototype.bell = function() {
+ if (!this.visualBell) {
+ return;
+ }
+ this.element.classList.add("bell");
+ return this.t_bell = setTimeout(((function(_this) {
+ return function() {
+ return _this.element.classList.remove("bell");
+ };
+ })(this)), this.visualBell);
+ };
+
+ Terminal.prototype.resize = function() {
+ var ch, el, i, j, line, old_cols, old_rows, term_size;
+ old_cols = this.cols;
+ old_rows = this.rows;
+ term_size = this.parent.getBoundingClientRect();
+ this.cols = Math.floor(term_size.width / this.char_size.width) - 1;
+ this.rows = Math.floor(term_size.height / this.char_size.height);
+ if (old_cols === this.cols && old_rows === this.rows) {
+ return;
+ }
+ this.ctl('Resize', this.cols, this.rows);
+ if (old_cols < this.cols) {
+ ch = [this.defAttr, " "];
+ i = this.lines.length;
+ while (i--) {
+ while (this.lines[i].length < this.cols) {
+ this.lines[i].push(ch);
+ }
+ }
+ } else if (old_cols > this.cols) {
+ i = this.lines.length;
+ while (i--) {
+ while (this.lines[i].length > this.cols) {
+ this.lines[i].pop();
+ }
+ }
+ }
+ this.setupStops(old_cols);
+ j = old_rows;
+ if (j < this.rows) {
+ el = this.element;
+ while (j++ < this.rows) {
+ if (this.lines.length < this.rows + this.ybase) {
+ this.lines.push(this.blankLine());
+ }
+ if (this.children.length < this.rows) {
+ line = this.document.createElement("div");
+ line.className = 'line';
+ line.style.height = this.char_size.height + 'px';
+ el.appendChild(line);
+ this.children.push(line);
+ }
+ }
+ } else if (j > this.rows) {
+ while (j-- > this.rows) {
+ if (this.lines.length > this.rows + this.ybase) {
+ this.lines.pop();
+ }
+ if (this.children.length > this.rows) {
+ el = this.children.pop();
+ if (!el) {
+ continue;
+ }
+ el.parentNode.removeChild(el);
+ }
+ }
+ }
+ if (this.y >= this.rows) {
+ this.y = this.rows - 1;
+ }
+ if (this.x >= this.cols) {
+ this.x = this.cols - 1;
+ }
+ this.scrollTop = 0;
+ this.scrollBottom = this.rows - 1;
+ this.refresh(0, this.rows - 1);
+ return this.normal = null;
+ };
+
+ Terminal.prototype.updateRange = function(y) {
+ if (y < this.refreshStart) {
+ this.refreshStart = y;
+ }
+ if (y > this.refreshEnd) {
+ return this.refreshEnd = y;
+ }
+ };
+
+ Terminal.prototype.maxRange = function() {
+ this.refreshStart = 0;
+ return this.refreshEnd = this.rows - 1;
+ };
+
+ Terminal.prototype.setupStops = function(i) {
+ var _results;
+ if (i != null) {
+ if (!this.tabs[i]) {
+ i = this.prevStop(i);
+ }
+ } else {
+ this.tabs = {};
+ i = 0;
+ }
+ _results = [];
+ while (i < this.cols) {
+ this.tabs[i] = true;
+ _results.push(i += 8);
+ }
+ return _results;
+ };
+
+ Terminal.prototype.prevStop = function(x) {
+ if (x == null) {
+ x = this.x;
+ }
+ while (!this.tabs[--x] && x > 0) {
+ 1;
+ }
+ if (x >= this.cols) {
+ return this.cols - 1;
+ } else {
+ if (x < 0) {
+ return 0;
+ } else {
+ return x;
+ }
+ }
+ };
+
+ Terminal.prototype.nextStop = function(x) {
+ if (x == null) {
+ x = this.x;
+ }
+ while (!this.tabs[++x] && x < this.cols) {
+ 1;
+ }
+ if (x >= this.cols) {
+ return this.cols - 1;
+ } else {
+ if (x < 0) {
+ return 0;
+ } else {
+ return x;
+ }
+ }
+ };
+
+ Terminal.prototype.eraseRight = function(x, y) {
+ var ch, line;
+ line = this.lines[this.ybase + y];
+ ch = [this.eraseAttr(), " "];
+ while (x < this.cols) {
+ line[x] = ch;
+ x++;
+ }
+ return this.updateRange(y);
+ };
+
+ Terminal.prototype.eraseLeft = function(x, y) {
+ var ch, line;
+ line = this.lines[this.ybase + y];
+ ch = [this.eraseAttr(), " "];
+ x++;
+ while (x--) {
+ line[x] = ch;
+ }
+ return this.updateRange(y);
+ };
+
+ Terminal.prototype.eraseLine = function(y) {
+ return this.eraseRight(0, y);
+ };
+
+ Terminal.prototype.blankLine = function(cur) {
+ var attr, ch, i, line;
+ attr = (cur ? this.eraseAttr() : this.defAttr);
+ ch = [attr, " "];
+ line = [];
+ i = 0;
+ while (i < this.cols) {
+ line[i] = ch;
+ i++;
+ }
+ return line;
+ };
+
+ Terminal.prototype.ch = function(cur) {
+ if (cur) {
+ return [this.eraseAttr(), " "];
+ } else {
+ return [this.defAttr, " "];
+ }
+ };
+
+ Terminal.prototype.isterm = function(term) {
+ return ("" + this.termName).indexOf(term) === 0;
+ };
+
+ Terminal.prototype.handler = function(data) {
+ return this.out(data);
+ };
+
+ Terminal.prototype.handleTitle = function(title) {
+ return document.title = title;
+ };
+
+ Terminal.prototype.index = function() {
+ this.y++;
+ if (this.y > this.scrollBottom) {
+ this.y--;
+ this.scroll();
+ }
+ return this.state = State.normal;
+ };
+
+ Terminal.prototype.reverseIndex = function() {
+ var j;
+ this.y--;
+ if (this.y < this.scrollTop) {
+ this.y++;
+ this.lines.splice(this.y + this.ybase, 0, this.blankLine(true));
+ j = this.rows - 1 - this.scrollBottom;
+ this.lines.splice(this.rows - 1 + this.ybase - j + 1, 1);
+ this.updateRange(this.scrollTop);
+ this.updateRange(this.scrollBottom);
+ }
+ return this.state = State.normal;
+ };
+
+ Terminal.prototype.reset = function() {
+ this.reset_vars();
+ return this.refresh(0, this.rows - 1);
+ };
+
+ Terminal.prototype.tabSet = function() {
+ this.tabs[this.x] = true;
+ return this.state = State.normal;
+ };
+
+ Terminal.prototype.cursorUp = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ this.y -= param;
+ if (this.y < 0) {
+ return this.y = 0;
+ }
+ };
+
+ Terminal.prototype.cursorDown = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ this.y += param;
+ if (this.y >= this.rows) {
+ return this.y = this.rows - 1;
+ }
+ };
+
+ Terminal.prototype.cursorForward = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ this.x += param;
+ if (this.x >= this.cols) {
+ return this.x = this.cols - 1;
+ }
+ };
+
+ Terminal.prototype.cursorBackward = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ this.x -= param;
+ if (this.x < 0) {
+ return this.x = 0;
+ }
+ };
+
+ Terminal.prototype.cursorPos = function(params) {
+ var col, row;
+ row = params[0] - 1;
+ if (params.length >= 2) {
+ col = params[1] - 1;
+ } else {
+ col = 0;
+ }
+ if (row < 0) {
+ row = 0;
+ } else {
+ if (row >= this.rows) {
+ row = this.rows - 1;
+ }
+ }
+ if (col < 0) {
+ col = 0;
+ } else {
+ if (col >= this.cols) {
+ col = this.cols - 1;
+ }
+ }
+ this.x = col;
+ return this.y = row;
+ };
+
+ Terminal.prototype.eraseInDisplay = function(params) {
+ var j, _results, _results1, _results2;
+ switch (params[0]) {
+ case 0:
+ this.eraseRight(this.x, this.y);
+ j = this.y + 1;
+ _results = [];
+ while (j < this.rows) {
+ this.eraseLine(j);
+ _results.push(j++);
+ }
+ return _results;
+ break;
+ case 1:
+ this.eraseLeft(this.x, this.y);
+ j = this.y;
+ _results1 = [];
+ while (j--) {
+ _results1.push(this.eraseLine(j));
+ }
+ return _results1;
+ break;
+ case 2:
+ j = this.rows;
+ _results2 = [];
+ while (j--) {
+ _results2.push(this.eraseLine(j));
+ }
+ return _results2;
+ }
+ };
+
+ Terminal.prototype.eraseInLine = function(params) {
+ switch (params[0]) {
+ case 0:
+ return this.eraseRight(this.x, this.y);
+ case 1:
+ return this.eraseLeft(this.x, this.y);
+ case 2:
+ return this.eraseLine(this.y);
+ }
+ };
+
+ Terminal.prototype.charAttributes = function(params) {
+ var bg, fg, flags, i, l, p;
+ if (params.length === 1 && params[0] === 0) {
+ this.curAttr = this.defAttr;
+ return;
+ }
+ flags = this.curAttr >> 18;
+ fg = (this.curAttr >> 9) & 0x1ff;
+ bg = this.curAttr & 0x1ff;
+ l = params.length;
+ i = 0;
+ while (i < l) {
+ p = params[i];
+ if (p >= 30 && p <= 37) {
+ fg = p - 30;
+ } else if (p >= 40 && p <= 47) {
+ bg = p - 40;
+ } else if (p >= 90 && p <= 97) {
+ p += 8;
+ fg = p - 90;
+ } else if (p >= 100 && p <= 107) {
+ p += 8;
+ bg = p - 100;
+ } else if (p === 0) {
+ flags = this.defAttr >> 18;
+ fg = (this.defAttr >> 9) & 0x1ff;
+ bg = this.defAttr & 0x1ff;
+ } else if (p === 1) {
+ flags |= 1;
+ } else if (p === 4) {
+ flags |= 2;
+ } else if (p === 5) {
+ flags |= 4;
+ } else if (p === 7) {
+ flags |= 8;
+ } else if (p === 8) {
+ flags |= 16;
+ } else if (p === 22) {
+ flags &= ~1;
+ } else if (p === 24) {
+ flags &= ~2;
+ } else if (p === 25) {
+ flags &= ~4;
+ } else if (p === 27) {
+ flags &= ~8;
+ } else if (p === 28) {
+ flags &= ~16;
+ } else if (p === 39) {
+ fg = (this.defAttr >> 9) & 0x1ff;
+ } else if (p === 49) {
+ bg = this.defAttr & 0x1ff;
+ } else if (p === 38) {
+ if (params[i + 1] === 2) {
+ i += 2;
+ fg = "#" + params[i] & 0xff + params[i + 1] & 0xff + params[i + 2] & 0xff;
+ i += 2;
+ } else if (params[i + 1] === 5) {
+ i += 2;
+ fg = params[i] & 0xff;
+ }
+ } else if (p === 48) {
+ if (params[i + 1] === 2) {
+ i += 2;
+ bg = "#" + params[i] & 0xff + params[i + 1] & 0xff + params[i + 2] & 0xff;
+ i += 2;
+ } else if (params[i + 1] === 5) {
+ i += 2;
+ bg = params[i] & 0xff;
+ }
+ } else if (p === 100) {
+ fg = (this.defAttr >> 9) & 0x1ff;
+ bg = this.defAttr & 0x1ff;
+ } else {
+ console.error("Unknown SGR attribute: %d.", p);
+ }
+ i++;
+ }
+ return this.curAttr = (flags << 18) | (fg << 9) | bg;
+ };
+
+ Terminal.prototype.deviceStatus = function(params) {
+ if (!this.prefix) {
+ switch (params[0]) {
+ case 5:
+ return this.send("\x1b[0n");
+ case 6:
+ return this.send("\x1b[" + (this.y + 1) + ";" + (this.x + 1) + "R");
+ }
+ } else if (this.prefix === "?") {
+ if (params[0] === 6) {
+ return this.send("\x1b[?" + (this.y + 1) + ";" + (this.x + 1) + "R");
+ }
+ }
+ };
+
+ Terminal.prototype.insertChars = function(params) {
+ var ch, j, param, row, _results;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ row = this.y + this.ybase;
+ j = this.x;
+ ch = [this.eraseAttr(), " "];
+ _results = [];
+ while (param-- && j < this.cols) {
+ this.lines[row].splice(j++, 0, ch);
+ _results.push(this.lines[row].pop());
+ }
+ return _results;
+ };
+
+ Terminal.prototype.cursorNextLine = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ this.y += param;
+ if (this.y >= this.rows) {
+ this.y = this.rows - 1;
+ }
+ return this.x = 0;
+ };
+
+ Terminal.prototype.cursorPrecedingLine = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ this.y -= param;
+ if (this.y < 0) {
+ this.y = 0;
+ }
+ return this.x = 0;
+ };
+
+ Terminal.prototype.cursorCharAbsolute = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ return this.x = param - 1;
+ };
+
+ Terminal.prototype.insertLines = function(params) {
+ var j, param, row;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ row = this.y + this.ybase;
+ j = this.rows - 1 - this.scrollBottom;
+ j = this.rows - 1 + this.ybase - j + 1;
+ while (param--) {
+ this.lines.splice(row, 0, this.blankLine(true));
+ this.lines.splice(j, 1);
+ }
+ this.updateRange(this.y);
+ return this.updateRange(this.scrollBottom);
+ };
+
+ Terminal.prototype.deleteLines = function(params) {
+ var j, param, row;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ row = this.y + this.ybase;
+ j = this.rows - 1 - this.scrollBottom;
+ j = this.rows - 1 + this.ybase - j;
+ while (param--) {
+ this.lines.splice(j + 1, 0, this.blankLine(true));
+ this.lines.splice(row, 1);
+ }
+ this.updateRange(this.y);
+ return this.updateRange(this.scrollBottom);
+ };
+
+ Terminal.prototype.deleteChars = function(params) {
+ var ch, param, row, _results;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ row = this.y + this.ybase;
+ ch = [this.eraseAttr(), " "];
+ _results = [];
+ while (param--) {
+ this.lines[row].splice(this.x, 1);
+ _results.push(this.lines[row].push(ch));
+ }
+ return _results;
+ };
+
+ Terminal.prototype.eraseChars = function(params) {
+ var ch, j, param, row, _results;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ row = this.y + this.ybase;
+ j = this.x;
+ ch = [this.eraseAttr(), " "];
+ _results = [];
+ while (param-- && j < this.cols) {
+ _results.push(this.lines[row][j++] = ch);
+ }
+ return _results;
+ };
+
+ Terminal.prototype.charPosAbsolute = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ this.x = param - 1;
+ if (this.x >= this.cols) {
+ return this.x = this.cols - 1;
+ }
+ };
+
+ Terminal.prototype.HPositionRelative = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ this.x += param;
+ if (this.x >= this.cols) {
+ return this.x = this.cols - 1;
+ }
+ };
+
+ Terminal.prototype.sendDeviceAttributes = function(params) {
+ if (params[0] > 0) {
+ return;
+ }
+ if (!this.prefix) {
+ if (this.isterm("xterm") || this.isterm("rxvt-unicode") || this.isterm("screen")) {
+ return this.send("\x1b[?1;2c");
+ } else {
+ if (this.isterm("linux")) {
+ return this.send("\x1b[?6c");
+ }
+ }
+ } else if (this.prefix === ">") {
+ if (this.isterm("xterm")) {
+ return this.send("\x1b[>0;276;0c");
+ } else if (this.isterm("rxvt-unicode")) {
+ return this.send("\x1b[>85;95;0c");
+ } else if (this.isterm("linux")) {
+ return this.send(params[0] + "c");
+ } else {
+ if (this.isterm("screen")) {
+ return this.send("\x1b[>83;40003;0c");
+ }
+ }
+ }
+ };
+
+ Terminal.prototype.linePosAbsolute = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ this.y = param - 1;
+ if (this.y >= this.rows) {
+ return this.y = this.rows - 1;
+ }
+ };
+
+ Terminal.prototype.VPositionRelative = function(params) {
+ var param;
+ param = params[0];
+ if (param < 1) {
+ param = 1;
+ }
+ this.y += param;
+ if (this.y >= this.rows) {
+ return this.y = this.rows - 1;
+ }
+ };
+
+ Terminal.prototype.HVPosition = function(params) {
+ if (params[0] < 1) {
+ params[0] = 1;
+ }
+ if (params[1] < 1) {
+ params[1] = 1;
+ }
+ this.y = params[0] - 1;
+ if (this.y >= this.rows) {
+ this.y = this.rows - 1;
+ }
+ this.x = params[1] - 1;
+ if (this.x >= this.cols) {
+ return this.x = this.cols - 1;
+ }
+ };
+
+ Terminal.prototype.setMode = function(params) {
+ var i, l, normal;
+ if (typeof params === "object") {
+ l = params.length;
+ i = 0;
+ while (i < l) {
+ this.setMode(params[i]);
+ i++;
+ }
+ return;
+ }
+ if (this.prefix === "?") {
+ switch (params) {
+ case 1:
+ return this.applicationCursor = true;
+ case 2:
+ this.setgCharset(0, Terminal.prototype.charsets.US);
+ this.setgCharset(1, Terminal.prototype.charsets.US);
+ this.setgCharset(2, Terminal.prototype.charsets.US);
+ return this.setgCharset(3, Terminal.prototype.charsets.US);
+ case 3:
+ this.savedCols = this.cols;
+ return this.resize(132, this.rows);
+ case 6:
+ return this.originMode = true;
+ case 7:
+ return this.wraparoundMode = true;
+ case 66:
+ return this.applicationKeypad = true;
+ case 9:
+ case 1000:
+ case 1002:
+ case 1003:
+ this.x10Mouse = params === 9;
+ this.vt200Mouse = params === 1000;
+ this.normalMouse = params > 1000;
+ this.mouseEvents = true;
+ return this.element.style.cursor = 'pointer';
+ case 1004:
+ return this.sendFocus = true;
+ case 1005:
+ return this.utfMouse = true;
+ case 1006:
+ return this.sgrMouse = true;
+ case 1015:
+ return this.urxvtMouse = true;
+ case 25:
+ return this.cursorHidden = false;
+ case 1049:
+ case 47:
+ case 1047:
+ if (!this.normal) {
+ normal = {
+ lines: this.lines,
+ ybase: this.ybase,
+ ydisp: this.ydisp,
+ x: this.x,
+ y: this.y,
+ scrollTop: this.scrollTop,
+ scrollBottom: this.scrollBottom,
+ tabs: this.tabs
+ };
+ this.reset();
+ this.normal = normal;
+ return this.showCursor();
+ }
+ }
+ }
+ };
+
+ Terminal.prototype.resetMode = function(params) {
+ var i, l;
+ if (typeof params === "object") {
+ l = params.length;
+ i = 0;
+ while (i < l) {
+ this.resetMode(params[i]);
+ i++;
+ }
+ return;
+ }
+ if (this.prefix === "?") {
+ switch (params) {
+ case 1:
+ return this.applicationCursor = false;
+ case 3:
+ if (this.cols === 132 && this.savedCols) {
+ this.resize(this.savedCols, this.rows);
+ }
+ return delete this.savedCols;
+ case 6:
+ return this.originMode = false;
+ case 7:
+ return this.wraparoundMode = false;
+ case 66:
+ return this.applicationKeypad = false;
+ case 9:
+ case 1000:
+ case 1002:
+ case 1003:
+ this.x10Mouse = false;
+ this.vt200Mouse = false;
+ this.normalMouse = false;
+ this.mouseEvents = false;
+ return this.element.style.cursor = "";
+ case 1004:
+ return this.sendFocus = false;
+ case 1005:
+ return this.utfMouse = false;
+ case 1006:
+ return this.sgrMouse = false;
+ case 1015:
+ return this.urxvtMouse = false;
+ case 25:
+ return this.cursorHidden = true;
+ case 1049:
+ case 47:
+ case 1047:
+ if (this.normal) {
+ this.lines = this.normal.lines;
+ this.ybase = this.normal.ybase;
+ this.ydisp = this.normal.ydisp;
+ this.x = this.normal.x;
+ this.y = this.normal.y;
+ this.scrollTop = this.normal.scrollTop;
+ this.scrollBottom = this.normal.scrollBottom;
+ this.tabs = this.normal.tabs;
+ this.normal = null;
+ this.refresh(0, this.rows - 1);
+ return this.showCursor();
+ }
+ }
+ }
+ };
+
+ Terminal.prototype.setScrollRegion = function(params) {
+ if (this.prefix) {
+ return;
+ }
+ this.scrollTop = (params[0] || 1) - 1;
+ this.scrollBottom = (params[1] || this.rows) - 1;
+ this.x = 0;
+ return this.y = 0;
+ };
+
+ Terminal.prototype.saveCursor = function(params) {
+ this.savedX = this.x;
+ return this.savedY = this.y;
+ };
+
+ Terminal.prototype.restoreCursor = function(params) {
+ this.x = this.savedX || 0;
+ return this.y = this.savedY || 0;
+ };
+
+ Terminal.prototype.cursorForwardTab = function(params) {
+ var param, _results;
+ param = params[0] || 1;
+ _results = [];
+ while (param--) {
+ _results.push(this.x = this.nextStop());
+ }
+ return _results;
+ };
+
+ Terminal.prototype.scrollUp = function(params) {
+ var param;
+ param = params[0] || 1;
+ while (param--) {
+ this.lines.splice(this.ybase + this.scrollTop, 1);
+ this.lines.splice(this.ybase + this.scrollBottom, 0, this.blankLine());
+ }
+ this.updateRange(this.scrollTop);
+ return this.updateRange(this.scrollBottom);
+ };
+
+ Terminal.prototype.scrollDown = function(params) {
+ var param;
+ param = params[0] || 1;
+ while (param--) {
+ this.lines.splice(this.ybase + this.scrollBottom, 1);
+ this.lines.splice(this.ybase + this.scrollTop, 0, this.blankLine());
+ }
+ this.updateRange(this.scrollTop);
+ return this.updateRange(this.scrollBottom);
+ };
+
+ Terminal.prototype.initMouseTracking = function(params) {};
+
+ Terminal.prototype.resetTitleModes = function(params) {};
+
+ Terminal.prototype.cursorBackwardTab = function(params) {
+ var param, _results;
+ param = params[0] || 1;
+ _results = [];
+ while (param--) {
+ _results.push(this.x = this.prevStop());
+ }
+ return _results;
+ };
+
+ Terminal.prototype.repeatPrecedingCharacter = function(params) {
+ var ch, line, param, _results;
+ param = params[0] || 1;
+ line = this.lines[this.ybase + this.y];
+ ch = line[this.x - 1] || [this.defAttr, " "];
+ _results = [];
+ while (param--) {
+ _results.push(line[this.x++] = ch);
+ }
+ return _results;
+ };
+
+ Terminal.prototype.tabClear = function(params) {
+ var param;
+ param = params[0];
+ if (param <= 0) {
+ return delete this.tabs[this.x];
+ } else {
+ if (param === 3) {
+ return this.tabs = {};
+ }
+ }
+ };
+
+ Terminal.prototype.mediaCopy = function(params) {};
+
+ Terminal.prototype.setResources = function(params) {};
+
+ Terminal.prototype.disableModifiers = function(params) {};
+
+ Terminal.prototype.setPointerMode = function(params) {};
+
+ Terminal.prototype.softReset = function(params) {
+ this.cursorHidden = false;
+ this.insertMode = false;
+ this.originMode = false;
+ this.wraparoundMode = false;
+ this.applicationKeypad = false;
+ this.applicationCursor = false;
+ this.scrollTop = 0;
+ this.scrollBottom = this.rows - 1;
+ this.curAttr = this.defAttr;
+ this.x = this.y = 0;
+ this.charset = null;
+ this.glevel = 0;
+ return this.charsets = [null];
+ };
+
+ Terminal.prototype.requestAnsiMode = function(params) {};
+
+ Terminal.prototype.requestPrivateMode = function(params) {};
+
+ Terminal.prototype.setConformanceLevel = function(params) {};
+
+ Terminal.prototype.loadLEDs = function(params) {};
+
+ Terminal.prototype.setCursorStyle = function(params) {};
+
+ Terminal.prototype.setCharProtectionAttr = function(params) {};
+
+ Terminal.prototype.restorePrivateValues = function(params) {};
+
+ Terminal.prototype.setAttrInRectangle = function(params) {
+ var attr, b, i, l, line, r, t;
+ t = params[0];
+ l = params[1];
+ b = params[2];
+ r = params[3];
+ attr = params[4];
+ while (t < b + 1) {
+ line = this.lines[this.ybase + t];
+ i = l;
+ while (i < r) {
+ line[i] = [attr, line[i][1]];
+ i++;
+ }
+ t++;
+ }
+ this.updateRange(params[0]);
+ return this.updateRange(params[2]);
+ };
+
+ Terminal.prototype.savePrivateValues = function(params) {};
+
+ Terminal.prototype.manipulateWindow = function(params) {};
+
+ Terminal.prototype.reverseAttrInRectangle = function(params) {};
+
+ Terminal.prototype.setTitleModeFeature = function(params) {};
+
+ Terminal.prototype.setWarningBellVolume = function(params) {};
+
+ Terminal.prototype.setMarginBellVolume = function(params) {};
+
+ Terminal.prototype.copyRectangle = function(params) {};
+
+ Terminal.prototype.enableFilterRectangle = function(params) {};
+
+ Terminal.prototype.requestParameters = function(params) {};
+
+ Terminal.prototype.selectChangeExtent = function(params) {};
+
+ Terminal.prototype.fillRectangle = function(params) {
+ var b, ch, i, l, line, r, t;
+ ch = params[0];
+ t = params[1];
+ l = params[2];
+ b = params[3];
+ r = params[4];
+ while (t < b + 1) {
+ line = this.lines[this.ybase + t];
+ i = l;
+ while (i < r) {
+ line[i] = [line[i][0], String.fromCharCode(ch)];
+ i++;
+ }
+ t++;
+ }
+ this.updateRange(params[1]);
+ return this.updateRange(params[3]);
+ };
+
+ Terminal.prototype.enableLocatorReporting = function(params) {
+ var val;
+ return val = params[0] > 0;
+ };
+
+ Terminal.prototype.eraseRectangle = function(params) {
+ var b, ch, i, l, line, r, t;
+ t = params[0];
+ l = params[1];
+ b = params[2];
+ r = params[3];
+ ch = [this.eraseAttr(), " "];
+ while (t < b + 1) {
+ line = this.lines[this.ybase + t];
+ i = l;
+ while (i < r) {
+ line[i] = ch;
+ i++;
+ }
+ t++;
+ }
+ this.updateRange(params[0]);
+ return this.updateRange(params[2]);
+ };
+
+ Terminal.prototype.setLocatorEvents = function(params) {};
+
+ Terminal.prototype.selectiveEraseRectangle = function(params) {};
+
+ Terminal.prototype.requestLocatorPosition = function(params) {};
+
+ Terminal.prototype.insertColumns = function() {
+ var ch, i, l, param;
+ param = params[0];
+ l = this.ybase + this.rows;
+ ch = [this.eraseAttr(), " "];
+ while (param--) {
+ i = this.ybase;
+ while (i < l) {
+ this.lines[i].splice(this.x + 1, 0, ch);
+ this.lines[i].pop();
+ i++;
+ }
+ }
+ return this.maxRange();
+ };
+
+ Terminal.prototype.deleteColumns = function() {
+ var ch, i, l, param;
+ param = params[0];
+ l = this.ybase + this.rows;
+ ch = [this.eraseAttr(), " "];
+ while (param--) {
+ i = this.ybase;
+ while (i < l) {
+ this.lines[i].splice(this.x, 1);
+ this.lines[i].push(ch);
+ i++;
+ }
+ }
+ return this.maxRange();
+ };
+
+ Terminal.prototype.get_html_height_in_lines = function(html) {
+ var html_height, temp_node;
+ temp_node = document.createElement("div");
+ temp_node.innerHTML = html;
+ this.element.appendChild(temp_node);
+ html_height = temp_node.getBoundingClientRect().height;
+ this.element.removeChild(temp_node);
+ return Math.ceil(html_height / this.char_size.height);
+ };
+
+ Terminal.prototype.charsets = {
+ SCLD: {
+ "`": "◆",
+ a: "▒",
+ b: "\t",
+ c: "\f",
+ d: "\r",
+ e: "\n",
+ f: "°",
+ g: "±",
+ h: "",
+ i: "\x0b",
+ j: "┘",
+ k: "┐",
+ l: "┌",
+ m: "└",
+ n: "┼",
+ o: "⎺",
+ p: "⎻",
+ q: "─",
+ r: "⎼",
+ s: "⎽",
+ t: "├",
+ u: "┤",
+ v: "┴",
+ w: "┬",
+ x: "│",
+ y: "≤",
+ z: "≥",
+ "{": "π",
+ "|": "≠",
+ "}": "£",
+ "~": "·"
+ },
+ UK: null,
+ US: null,
+ Dutch: null,
+ Finnish: null,
+ French: null,
+ FrenchCanadian: null,
+ German: null,
+ Italian: null,
+ NorwegianDanish: null,
+ Spanish: null,
+ Swedish: null,
+ Swiss: null,
+ ISOLatin: null
+ };
+
+ return Terminal;
+
+})();
+
+selection = null;
+
+previous_leaf = function(node) {
+ var previous;
+ previous = node.previousSibling;
+ if (!previous) {
+ previous = node.parentNode.previousSibling;
+ }
+ if (!previous) {
+ previous = node.parentNode.parentNode.previousSibling;
+ }
+ while (previous.lastChild) {
+ previous = previous.lastChild;
+ }
+ return previous;
+};
+
+next_leaf = function(node) {
+ var next;
+ next = node.nextSibling;
+ if (!next) {
+ next = node.parentNode.nextSibling;
+ }
+ if (!next) {
+ next = node.parentNode.parentNode.nextSibling;
+ }
+ while (next.firstChild) {
+ next = next.firstChild;
+ }
+ return next;
+};
+
+Selection = (function() {
+ function Selection() {
+ term.element.classList.add('selection');
+ this.selection = getSelection();
+ }
+
+ Selection.prototype.reset = function() {
+ var fake_range, _ref, _results;
+ this.selection = getSelection();
+ fake_range = document.createRange();
+ fake_range.setStart(this.selection.anchorNode, this.selection.anchorOffset);
+ fake_range.setEnd(this.selection.focusNode, this.selection.focusOffset);
+ this.start = {
+ node: this.selection.anchorNode,
+ offset: this.selection.anchorOffset
+ };
+ this.end = {
+ node: this.selection.focusNode,
+ offset: this.selection.focusOffset
+ };
+ if (fake_range.collapsed) {
+ _ref = [this.end, this.start], this.start = _ref[0], this.end = _ref[1];
+ }
+ this.start_line = this.start.node;
+ while (!this.start_line.classList || __indexOf.call(this.start_line.classList, 'line') < 0) {
+ this.start_line = this.start_line.parentNode;
+ }
+ this.end_line = this.end.node;
+ _results = [];
+ while (!this.end_line.classList || __indexOf.call(this.end_line.classList, 'line') < 0) {
+ _results.push(this.end_line = this.end_line.parentNode);
+ }
+ return _results;
+ };
+
+ Selection.prototype.clear = function() {
+ return this.selection.removeAllRanges();
+ };
+
+ Selection.prototype.destroy = function() {
+ term.element.classList.remove('selection');
+ return this.clear();
+ };
+
+ Selection.prototype.text = function() {
+ return this.selection.toString();
+ };
+
+ Selection.prototype.up = function() {
+ return this.go(-1);
+ };
+
+ Selection.prototype.down = function() {
+ return this.go(+1);
+ };
+
+ Selection.prototype.go = function(n) {
+ var index;
+ index = term.children.indexOf(this.start_line) + n;
+ if (!((0 <= index && index < term.children.length))) {
+ return;
+ }
+ while (!term.children[index].textContent.match(/\S/)) {
+ index += n;
+ if (!((0 <= index && index < term.children.length))) {
+ return;
+ }
+ }
+ return this.select_line(index);
+ };
+
+ Selection.prototype.apply = function() {
+ var range;
+ this.clear();
+ range = document.createRange();
+ range.setStart(this.start.node, this.start.offset);
+ range.setEnd(this.end.node, this.end.offset);
+ return this.selection.addRange(range);
+ };
+
+ Selection.prototype.select_line = function(index) {
+ var line, line_end, line_start;
+ line = term.children[index];
+ line_start = {
+ node: line.firstChild,
+ offset: 0
+ };
+ line_end = {
+ node: line.lastChild,
+ offset: line.lastChild.textContent.length
+ };
+ this.start = this.walk(line_start, /\S/);
+ return this.end = this.walk(line_end, /\S/, true);
+ };
+
+ Selection.prototype.shrink_right = function() {
+ var node;
+ node = this.walk(this.end, /\s/, true);
+ return this.end = this.walk(node, /\S/, true);
+ };
+
+ Selection.prototype.shrink_left = function() {
+ var node;
+ node = this.walk(this.start, /\s/);
+ return this.start = this.walk(node, /\S/);
+ };
+
+ Selection.prototype.expand_right = function() {
+ var node;
+ node = this.walk(this.end, /\S/);
+ return this.end = this.walk(node, /\s/);
+ };
+
+ Selection.prototype.expand_left = function() {
+ var node;
+ node = this.walk(this.start, /\S/, true);
+ return this.start = this.walk(node, /\s/, true);
+ };
+
+ Selection.prototype.walk = function(needle, til, backward) {
+ var i, node, text;
+ if (backward == null) {
+ backward = false;
+ }
+ node = needle.node.firstChild ? needle.node.firstChild : needle.node;
+ text = node.textContent;
+ i = needle.offset;
+ if (backward) {
+ while (node) {
+ while (i > 0) {
+ if (text[--i].match(til)) {
+ return {
+ node: node,
+ offset: i + 1
+ };
+ }
+ }
+ node = previous_leaf(node);
+ text = node.textContent;
+ i = text.length;
+ }
+ } else {
+ while (node) {
+ while (i < text.length) {
+ if (text[i++].match(til)) {
+ return {
+ node: node,
+ offset: i - 1
+ };
+ }
+ }
+ node = next_leaf(node);
+ text = node.textContent;
+ i = 0;
+ }
+ }
+ return needle;
+ };
+
+ return Selection;
+
+})();
+
+document.addEventListener('keydown', function(e) {
+ var _ref, _ref1;
+ if (_ref = e.keyCode, __indexOf.call([16, 17, 18, 19], _ref) >= 0) {
+ return true;
+ }
+ if (e.shiftKey && e.keyCode === 13 && !selection && !getSelection().isCollapsed) {
+ term.handler(getSelection().toString());
+ getSelection().removeAllRanges();
+ return cancel(e);
+ }
+ if (selection) {
+ selection.reset();
+ if (!e.ctrlKey && e.shiftKey && (37 <= (_ref1 = e.keyCode) && _ref1 <= 40)) {
+ return true;
+ }
+ if (e.shiftKey && e.ctrlKey) {
+ if (e.keyCode === 38) {
+ selection.up();
+ } else if (e.keyCode === 40) {
+ selection.down();
+ }
+ } else if (e.keyCode === 39) {
+ selection.shrink_left();
+ } else if (e.keyCode === 38) {
+ selection.expand_left();
+ } else if (e.keyCode === 37) {
+ selection.shrink_right();
+ } else if (e.keyCode === 40) {
+ selection.expand_right();
+ } else {
+ return cancel(e);
+ }
+ if (selection != null) {
+ selection.apply();
+ }
+ return cancel(e);
+ }
+ if (!selection && e.ctrlKey && e.shiftKey && e.keyCode === 38) {
+ selection = new Selection();
+ selection.select_line(term.y - 1);
+ selection.apply();
+ return cancel(e);
+ }
+ return true;
+});
+
+document.addEventListener('keyup', function(e) {
+ var _ref, _ref1;
+ if (_ref = e.keyCode, __indexOf.call([16, 17, 18, 19], _ref) >= 0) {
+ return true;
+ }
+ if (selection) {
+ if (e.keyCode === 13) {
+ term.handler(selection.text());
+ selection.destroy();
+ selection = null;
+ return cancel(e);
+ }
+ if (_ref1 = e.keyCode, __indexOf.call([37, 38, 39, 40], _ref1) < 0) {
+ selection.destroy();
+ selection = null;
+ return true;
+ }
+ }
+ return true;
+});
+
+document.addEventListener('dblclick', function(e) {
+ var anchorNode, anchorOffset, new_range, range, sel;
+ if (e.ctrlKey || e.altkey) {
+ return;
+ }
+ sel = getSelection();
+ if (sel.isCollapsed || sel.toString().match(/\s/)) {
+ return;
+ }
+ range = document.createRange();
+ range.setStart(sel.anchorNode, sel.anchorOffset);
+ range.setEnd(sel.focusNode, sel.focusOffset);
+ if (range.collapsed) {
+ sel.removeAllRanges();
+ new_range = document.createRange();
+ new_range.setStart(sel.focusNode, sel.focusOffset);
+ new_range.setEnd(sel.anchorNode, sel.anchorOffset);
+ sel.addRange(new_range);
+ }
+ range.detach();
+ while (!(sel.toString().match(/\s/) || !sel.toString())) {
+ sel.modify('extend', 'forward', 'character');
+ }
+ sel.modify('extend', 'backward', 'character');
+ anchorNode = sel.anchorNode;
+ anchorOffset = sel.anchorOffset;
+ sel.collapseToEnd();
+ sel.extend(anchorNode, anchorOffset);
+ while (!(sel.toString().match(/\s/) || !sel.toString())) {
+ sel.modify('extend', 'backward', 'character');
+ }
+ return sel.modify('extend', 'forward', 'character');
+});
+
+if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
+ ctrl = false;
+ alt = false;
+ first = true;
+ virtual_input = document.createElement('input');
+ virtual_input.type = 'password';
+ virtual_input.style.position = 'fixed';
+ virtual_input.style.top = 0;
+ virtual_input.style.left = 0;
+ virtual_input.style.border = 'none';
+ virtual_input.style.outline = 'none';
+ virtual_input.style.opacity = 0;
+ virtual_input.value = '0';
+ document.body.appendChild(virtual_input);
+ virtual_input.addEventListener('blur', function() {
+ return setTimeout(((function(_this) {
+ return function() {
+ return _this.focus();
+ };
+ })(this)), 10);
+ });
+ addEventListener('click', function() {
+ return virtual_input.focus();
+ });
+ addEventListener('touchstart', function(e) {
+ if (e.touches.length === 2) {
+ return ctrl = true;
+ } else if (e.touches.length === 3) {
+ ctrl = false;
+ return alt = true;
+ } else if (e.touches.length === 4) {
+ ctrl = true;
+ return alt = true;
+ }
+ });
+ virtual_input.addEventListener('keydown', function(e) {
+ term.keyDown(e);
+ return true;
+ });
+ virtual_input.addEventListener('input', function(e) {
+ var len;
+ len = this.value.length;
+ if (len === 0) {
+ e.keyCode = 8;
+ term.keyDown(e);
+ this.value = '0';
+ return true;
+ }
+ e.keyCode = this.value.charAt(1).charCodeAt(0);
+ if ((ctrl || alt) && !first) {
+ e.keyCode = this.value.charAt(1).charCodeAt(0);
+ e.ctrlKey = ctrl;
+ e.altKey = alt;
+ if (e.keyCode >= 97 && e.keyCode <= 122) {
+ e.keyCode -= 32;
+ }
+ term.keyDown(e);
+ this.value = '0';
+ ctrl = alt = false;
+ return true;
+ }
+ term.keyPress(e);
+ first = false;
+ this.value = '0';
+ return true;
+ });
+}
+
+cols = rows = null;
+
+quit = false;
+
+open_ts = (new Date()).getTime();
+
+$ = document.querySelectorAll.bind(document);
+
+send = function(data) {
+ return ws.send('S' + data);
+};
+
+ctl = function() {
+ var args, params, type;
+ type = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
+ params = args.join(',');
+ if (type === 'Resize') {
+ return ws.send('R' + params);
+ }
+};
+
+if (location.protocol === 'https:') {
+ ws_url = 'wss://';
+} else {
+ ws_url = 'ws://';
+}
+
+ws_url += document.location.host + '/ws' + location.pathname;
+
+ws = new WebSocket(ws_url);
+
+ws.addEventListener('open', function() {
+ console.log("WebSocket open", arguments);
+ ws.send('R' + term.cols + ',' + term.rows);
+ return open_ts = (new Date()).getTime();
+});
+
+ws.addEventListener('error', function() {
+ return console.log("WebSocket error", arguments);
+});
+
+ws.addEventListener('message', function(e) {
+ return setTimeout(function() {
+ return term.write(e.data);
+ }, 1);
+});
+
+ws.addEventListener('close', function() {
+ console.log("WebSocket closed", arguments);
+ setTimeout(function() {
+ term.write('Closed');
+ term.skipNextKey = true;
+ return term.element.classList.add('skip');
+ }, 1);
+ quit = true;
+ if ((new Date()).getTime() - open_ts > 60 * 1000) {
+ return open('', '_self').close();
+ }
+});
+
+term = new Terminal($('#wrapper')[0], send, ctl);
+
+addEventListener('beforeunload', function() {
+ if (!quit) {
+ return 'This will exit the terminal session';
+ }
+});
+
+bench = function(n) {
+ var rnd, t0;
+ if (n == null) {
+ n = 100000000;
+ }
+ rnd = '';
+ while (rnd.length < n) {
+ rnd += Math.random().toString(36).substring(2);
+ }
+ t0 = (new Date()).getTime();
+ term.write(rnd);
+ return console.log("" + n + " chars in " + ((new Date()).getTime() - t0) + " ms");
+};
+
+cbench = function(n) {
+ var rnd, t0;
+ if (n == null) {
+ n = 100000000;
+ }
+ rnd = '';
+ while (rnd.length < n) {
+ rnd += "\x1b[" + (30 + parseInt(Math.random() * 20)) + "m";
+ rnd += Math.random().toString(36).substring(2);
+ }
+ t0 = (new Date()).getTime();
+ term.write(rnd);
+ return console.log("" + n + " chars + colors in " + ((new Date()).getTime() - t0) + " ms");
+};
diff --git a/butterfly/static/stylesheets/main.css b/butterfly/static/stylesheets/main.css
index c690fb2..76d1df4 100644
--- a/butterfly/static/stylesheets/main.css
+++ b/butterfly/static/stylesheets/main.css
@@ -1 +1,5075 @@
-@font-face{font-family:"SourceCodePro";src:url('/static/fonts/');src:url('/static/fonts/?#iefix') format('embedded-opentype'),url('/static/fonts/SourceCodePro-ExtraLight.otf') format('opentype');font-weight:100;font-style:normal}@font-face{font-family:"SourceCodePro";src:url('/static/fonts/');src:url('/static/fonts/?#iefix') format('embedded-opentype'),url('/static/fonts/SourceCodePro-Light.otf') format('opentype');font-weight:300;font-style:normal}@font-face{font-family:"SourceCodePro";src:url('/static/fonts/');src:url('/static/fonts/?#iefix') format('embedded-opentype'),url('/static/fonts/SourceCodePro-Regular.otf') format('opentype');font-weight:400;font-style:normal}@font-face{font-family:"SourceCodePro";src:url('/static/fonts/');src:url('/static/fonts/?#iefix') format('embedded-opentype'),url('/static/fonts/SourceCodePro-Medium.otf') format('opentype');font-weight:500;font-style:normal}@font-face{font-family:"SourceCodePro";src:url('/static/fonts/');src:url('/static/fonts/?#iefix') format('embedded-opentype'),url('/static/fonts/SourceCodePro-Semibold.otf') format('opentype');font-weight:600;font-style:normal}@font-face{font-family:"SourceCodePro";src:url('/static/fonts/');src:url('/static/fonts/?#iefix') format('embedded-opentype'),url('/static/fonts/SourceCodePro-Bold.otf') format('opentype');font-weight:700;font-style:normal}@font-face{font-family:"SourceCodePro";src:url('/static/fonts/');src:url('/static/fonts/?#iefix') format('embedded-opentype'),url('/static/fonts/SourceCodePro-Black.otf') format('opentype');font-weight:900;font-style:normal}html,body{height:100%;font-family:"SourceCodePro";margin:0;padding:0;line-height:1.2}#wrapper{height:100%;background-color:#110f13;overflow:hidden;white-space:nowrap}.terminal{outline:none;background-color:#110f13;color:#f4ead5;text-shadow:0 0 6px rgba(244,234,213,0.5);-webkit-transition:200ms;-moz-transition:200ms;-o-transition:200ms;transition:200ms}.terminal.bell{-webkit-filter:blur(2px);-moz-filter:blur(2px);filter:blur(2px)}.terminal.skip{-webkit-filter:sepia(1);-moz-filter:sepia(1);filter:sepia(1)}.terminal.selection{-webkit-filter:saturate(2);-moz-filter:saturate(2);filter:saturate(2)}.line{overflow:visible}.line .inline-html{white-space:normal}.focus .cursor{-webkit-transition:300ms;-moz-transition:300ms;-o-transition:300ms;transition:300ms}.cursor.reverse-video{box-shadow:0 0 10px #f4ead5}.bold{font-weight:bold}.underline{text-decoration:underline}.blink{text-decoration:blink}.invisible{visibility:hidden}.reverse-video{color:#110f13;background-color:#f4ead5}.blur .cursor.reverse-video{background:none}.bg-color-0{background-color:#2e3436}.bg-color-0.reverse-video{color:#2e3436 !important}.fg-color-0{color:#2e3436;text-shadow:0 0 6px rgba(46,52,54,0.5)}.fg-color-0.reverse-video{background-color:#2e3436 !important}.bg-color-1{background-color:#c00}.bg-color-1.reverse-video{color:#c00 !important}.fg-color-1{color:#c00;text-shadow:0 0 6px rgba(204,0,0,0.5)}.fg-color-1.reverse-video{background-color:#c00 !important}.bg-color-2{background-color:#4e9a06}.bg-color-2.reverse-video{color:#4e9a06 !important}.fg-color-2{color:#4e9a06;text-shadow:0 0 6px rgba(78,154,6,0.5)}.fg-color-2.reverse-video{background-color:#4e9a06 !important}.bg-color-3{background-color:#c4a000}.bg-color-3.reverse-video{color:#c4a000 !important}.fg-color-3{color:#c4a000;text-shadow:0 0 6px rgba(196,160,0,0.5)}.fg-color-3.reverse-video{background-color:#c4a000 !important}.bg-color-4{background-color:#3465a4}.bg-color-4.reverse-video{color:#3465a4 !important}.fg-color-4{color:#3465a4;text-shadow:0 0 6px rgba(52,101,164,0.5)}.fg-color-4.reverse-video{background-color:#3465a4 !important}.bg-color-5{background-color:#75507b}.bg-color-5.reverse-video{color:#75507b !important}.fg-color-5{color:#75507b;text-shadow:0 0 6px rgba(117,80,123,0.5)}.fg-color-5.reverse-video{background-color:#75507b !important}.bg-color-6{background-color:#06989a}.bg-color-6.reverse-video{color:#06989a !important}.fg-color-6{color:#06989a;text-shadow:0 0 6px rgba(6,152,154,0.5)}.fg-color-6.reverse-video{background-color:#06989a !important}.bg-color-7{background-color:#d3d7cf}.bg-color-7.reverse-video{color:#d3d7cf !important}.fg-color-7{color:#d3d7cf;text-shadow:0 0 6px rgba(211,215,207,0.5)}.fg-color-7.reverse-video{background-color:#d3d7cf !important}.bg-color-8{background-color:#555753}.bg-color-8.reverse-video{color:#555753 !important}.fg-color-8{color:#555753;text-shadow:0 0 6px rgba(85,87,83,0.5)}.fg-color-8.reverse-video{background-color:#555753 !important}.bg-color-9{background-color:#ef2929}.bg-color-9.reverse-video{color:#ef2929 !important}.fg-color-9{color:#ef2929;text-shadow:0 0 6px rgba(239,41,41,0.5)}.fg-color-9.reverse-video{background-color:#ef2929 !important}.bg-color-10{background-color:#8ae234}.bg-color-10.reverse-video{color:#8ae234 !important}.fg-color-10{color:#8ae234;text-shadow:0 0 6px rgba(138,226,52,0.5)}.fg-color-10.reverse-video{background-color:#8ae234 !important}.bg-color-11{background-color:#fce94f}.bg-color-11.reverse-video{color:#fce94f !important}.fg-color-11{color:#fce94f;text-shadow:0 0 6px rgba(252,233,79,0.5)}.fg-color-11.reverse-video{background-color:#fce94f !important}.bg-color-12{background-color:#729fcf}.bg-color-12.reverse-video{color:#729fcf !important}.fg-color-12{color:#729fcf;text-shadow:0 0 6px rgba(114,159,207,0.5)}.fg-color-12.reverse-video{background-color:#729fcf !important}.bg-color-13{background-color:#ad7fa8}.bg-color-13.reverse-video{color:#ad7fa8 !important}.fg-color-13{color:#ad7fa8;text-shadow:0 0 6px rgba(173,127,168,0.5)}.fg-color-13.reverse-video{background-color:#ad7fa8 !important}.bg-color-14{background-color:#34e2e2}.bg-color-14.reverse-video{color:#34e2e2 !important}.fg-color-14{color:#34e2e2;text-shadow:0 0 6px rgba(52,226,226,0.5)}.fg-color-14.reverse-video{background-color:#34e2e2 !important}.bg-color-15{background-color:#eeeeec}.bg-color-15.reverse-video{color:#eeeeec !important}.fg-color-15{color:#eeeeec;text-shadow:0 0 6px rgba(238,238,236,0.5)}.fg-color-15.reverse-video{background-color:#eeeeec !important}.bg-color-16{background-color:#000}.bg-color-16.reverse-video{color:#000 !important}.fg-color-16{color:#000;text-shadow:0 0 6px rgba(0,0,0,0.5)}.fg-color-16.reverse-video{background-color:#000 !important}.bg-color-17{background-color:#00005f}.bg-color-17.reverse-video{color:#00005f !important}.fg-color-17{color:#00005f;text-shadow:0 0 6px rgba(0,0,95,0.5)}.fg-color-17.reverse-video{background-color:#00005f !important}.bg-color-18{background-color:#000087}.bg-color-18.reverse-video{color:#000087 !important}.fg-color-18{color:#000087;text-shadow:0 0 6px rgba(0,0,135,0.5)}.fg-color-18.reverse-video{background-color:#000087 !important}.bg-color-19{background-color:#0000af}.bg-color-19.reverse-video{color:#0000af !important}.fg-color-19{color:#0000af;text-shadow:0 0 6px rgba(0,0,175,0.5)}.fg-color-19.reverse-video{background-color:#0000af !important}.bg-color-20{background-color:#0000d7}.bg-color-20.reverse-video{color:#0000d7 !important}.fg-color-20{color:#0000d7;text-shadow:0 0 6px rgba(0,0,215,0.5)}.fg-color-20.reverse-video{background-color:#0000d7 !important}.bg-color-21{background-color:blue}.bg-color-21.reverse-video{color:blue !important}.fg-color-21{color:blue;text-shadow:0 0 6px rgba(0,0,255,0.5)}.fg-color-21.reverse-video{background-color:blue !important}.bg-color-22{background-color:#005f00}.bg-color-22.reverse-video{color:#005f00 !important}.fg-color-22{color:#005f00;text-shadow:0 0 6px rgba(0,95,0,0.5)}.fg-color-22.reverse-video{background-color:#005f00 !important}.bg-color-23{background-color:#005f5f}.bg-color-23.reverse-video{color:#005f5f !important}.fg-color-23{color:#005f5f;text-shadow:0 0 6px rgba(0,95,95,0.5)}.fg-color-23.reverse-video{background-color:#005f5f !important}.bg-color-24{background-color:#005f87}.bg-color-24.reverse-video{color:#005f87 !important}.fg-color-24{color:#005f87;text-shadow:0 0 6px rgba(0,95,135,0.5)}.fg-color-24.reverse-video{background-color:#005f87 !important}.bg-color-25{background-color:#005faf}.bg-color-25.reverse-video{color:#005faf !important}.fg-color-25{color:#005faf;text-shadow:0 0 6px rgba(0,95,175,0.5)}.fg-color-25.reverse-video{background-color:#005faf !important}.bg-color-26{background-color:#005fd7}.bg-color-26.reverse-video{color:#005fd7 !important}.fg-color-26{color:#005fd7;text-shadow:0 0 6px rgba(0,95,215,0.5)}.fg-color-26.reverse-video{background-color:#005fd7 !important}.bg-color-27{background-color:#005fff}.bg-color-27.reverse-video{color:#005fff !important}.fg-color-27{color:#005fff;text-shadow:0 0 6px rgba(0,95,255,0.5)}.fg-color-27.reverse-video{background-color:#005fff !important}.bg-color-28{background-color:#008700}.bg-color-28.reverse-video{color:#008700 !important}.fg-color-28{color:#008700;text-shadow:0 0 6px rgba(0,135,0,0.5)}.fg-color-28.reverse-video{background-color:#008700 !important}.bg-color-29{background-color:#00875f}.bg-color-29.reverse-video{color:#00875f !important}.fg-color-29{color:#00875f;text-shadow:0 0 6px rgba(0,135,95,0.5)}.fg-color-29.reverse-video{background-color:#00875f !important}.bg-color-30{background-color:#008787}.bg-color-30.reverse-video{color:#008787 !important}.fg-color-30{color:#008787;text-shadow:0 0 6px rgba(0,135,135,0.5)}.fg-color-30.reverse-video{background-color:#008787 !important}.bg-color-31{background-color:#0087af}.bg-color-31.reverse-video{color:#0087af !important}.fg-color-31{color:#0087af;text-shadow:0 0 6px rgba(0,135,175,0.5)}.fg-color-31.reverse-video{background-color:#0087af !important}.bg-color-32{background-color:#0087d7}.bg-color-32.reverse-video{color:#0087d7 !important}.fg-color-32{color:#0087d7;text-shadow:0 0 6px rgba(0,135,215,0.5)}.fg-color-32.reverse-video{background-color:#0087d7 !important}.bg-color-33{background-color:#0087ff}.bg-color-33.reverse-video{color:#0087ff !important}.fg-color-33{color:#0087ff;text-shadow:0 0 6px rgba(0,135,255,0.5)}.fg-color-33.reverse-video{background-color:#0087ff !important}.bg-color-34{background-color:#00af00}.bg-color-34.reverse-video{color:#00af00 !important}.fg-color-34{color:#00af00;text-shadow:0 0 6px rgba(0,175,0,0.5)}.fg-color-34.reverse-video{background-color:#00af00 !important}.bg-color-35{background-color:#00af5f}.bg-color-35.reverse-video{color:#00af5f !important}.fg-color-35{color:#00af5f;text-shadow:0 0 6px rgba(0,175,95,0.5)}.fg-color-35.reverse-video{background-color:#00af5f !important}.bg-color-36{background-color:#00af87}.bg-color-36.reverse-video{color:#00af87 !important}.fg-color-36{color:#00af87;text-shadow:0 0 6px rgba(0,175,135,0.5)}.fg-color-36.reverse-video{background-color:#00af87 !important}.bg-color-37{background-color:#00afaf}.bg-color-37.reverse-video{color:#00afaf !important}.fg-color-37{color:#00afaf;text-shadow:0 0 6px rgba(0,175,175,0.5)}.fg-color-37.reverse-video{background-color:#00afaf !important}.bg-color-38{background-color:#00afd7}.bg-color-38.reverse-video{color:#00afd7 !important}.fg-color-38{color:#00afd7;text-shadow:0 0 6px rgba(0,175,215,0.5)}.fg-color-38.reverse-video{background-color:#00afd7 !important}.bg-color-39{background-color:#00afff}.bg-color-39.reverse-video{color:#00afff !important}.fg-color-39{color:#00afff;text-shadow:0 0 6px rgba(0,175,255,0.5)}.fg-color-39.reverse-video{background-color:#00afff !important}.bg-color-40{background-color:#00d700}.bg-color-40.reverse-video{color:#00d700 !important}.fg-color-40{color:#00d700;text-shadow:0 0 6px rgba(0,215,0,0.5)}.fg-color-40.reverse-video{background-color:#00d700 !important}.bg-color-41{background-color:#00d75f}.bg-color-41.reverse-video{color:#00d75f !important}.fg-color-41{color:#00d75f;text-shadow:0 0 6px rgba(0,215,95,0.5)}.fg-color-41.reverse-video{background-color:#00d75f !important}.bg-color-42{background-color:#00d787}.bg-color-42.reverse-video{color:#00d787 !important}.fg-color-42{color:#00d787;text-shadow:0 0 6px rgba(0,215,135,0.5)}.fg-color-42.reverse-video{background-color:#00d787 !important}.bg-color-43{background-color:#00d7af}.bg-color-43.reverse-video{color:#00d7af !important}.fg-color-43{color:#00d7af;text-shadow:0 0 6px rgba(0,215,175,0.5)}.fg-color-43.reverse-video{background-color:#00d7af !important}.bg-color-44{background-color:#00d7d7}.bg-color-44.reverse-video{color:#00d7d7 !important}.fg-color-44{color:#00d7d7;text-shadow:0 0 6px rgba(0,215,215,0.5)}.fg-color-44.reverse-video{background-color:#00d7d7 !important}.bg-color-45{background-color:#00d7ff}.bg-color-45.reverse-video{color:#00d7ff !important}.fg-color-45{color:#00d7ff;text-shadow:0 0 6px rgba(0,215,255,0.5)}.fg-color-45.reverse-video{background-color:#00d7ff !important}.bg-color-46{background-color:lime}.bg-color-46.reverse-video{color:lime !important}.fg-color-46{color:lime;text-shadow:0 0 6px rgba(0,255,0,0.5)}.fg-color-46.reverse-video{background-color:lime !important}.bg-color-47{background-color:#00ff5f}.bg-color-47.reverse-video{color:#00ff5f !important}.fg-color-47{color:#00ff5f;text-shadow:0 0 6px rgba(0,255,95,0.5)}.fg-color-47.reverse-video{background-color:#00ff5f !important}.bg-color-48{background-color:#00ff87}.bg-color-48.reverse-video{color:#00ff87 !important}.fg-color-48{color:#00ff87;text-shadow:0 0 6px rgba(0,255,135,0.5)}.fg-color-48.reverse-video{background-color:#00ff87 !important}.bg-color-49{background-color:#00ffaf}.bg-color-49.reverse-video{color:#00ffaf !important}.fg-color-49{color:#00ffaf;text-shadow:0 0 6px rgba(0,255,175,0.5)}.fg-color-49.reverse-video{background-color:#00ffaf !important}.bg-color-50{background-color:#00ffd7}.bg-color-50.reverse-video{color:#00ffd7 !important}.fg-color-50{color:#00ffd7;text-shadow:0 0 6px rgba(0,255,215,0.5)}.fg-color-50.reverse-video{background-color:#00ffd7 !important}.bg-color-51{background-color:cyan}.bg-color-51.reverse-video{color:cyan !important}.fg-color-51{color:cyan;text-shadow:0 0 6px rgba(0,255,255,0.5)}.fg-color-51.reverse-video{background-color:cyan !important}.bg-color-52{background-color:#5f0000}.bg-color-52.reverse-video{color:#5f0000 !important}.fg-color-52{color:#5f0000;text-shadow:0 0 6px rgba(95,0,0,0.5)}.fg-color-52.reverse-video{background-color:#5f0000 !important}.bg-color-53{background-color:#5f005f}.bg-color-53.reverse-video{color:#5f005f !important}.fg-color-53{color:#5f005f;text-shadow:0 0 6px rgba(95,0,95,0.5)}.fg-color-53.reverse-video{background-color:#5f005f !important}.bg-color-54{background-color:#5f0087}.bg-color-54.reverse-video{color:#5f0087 !important}.fg-color-54{color:#5f0087;text-shadow:0 0 6px rgba(95,0,135,0.5)}.fg-color-54.reverse-video{background-color:#5f0087 !important}.bg-color-55{background-color:#5f00af}.bg-color-55.reverse-video{color:#5f00af !important}.fg-color-55{color:#5f00af;text-shadow:0 0 6px rgba(95,0,175,0.5)}.fg-color-55.reverse-video{background-color:#5f00af !important}.bg-color-56{background-color:#5f00d7}.bg-color-56.reverse-video{color:#5f00d7 !important}.fg-color-56{color:#5f00d7;text-shadow:0 0 6px rgba(95,0,215,0.5)}.fg-color-56.reverse-video{background-color:#5f00d7 !important}.bg-color-57{background-color:#5f00ff}.bg-color-57.reverse-video{color:#5f00ff !important}.fg-color-57{color:#5f00ff;text-shadow:0 0 6px rgba(95,0,255,0.5)}.fg-color-57.reverse-video{background-color:#5f00ff !important}.bg-color-58{background-color:#5f5f00}.bg-color-58.reverse-video{color:#5f5f00 !important}.fg-color-58{color:#5f5f00;text-shadow:0 0 6px rgba(95,95,0,0.5)}.fg-color-58.reverse-video{background-color:#5f5f00 !important}.bg-color-59{background-color:#5f5f5f}.bg-color-59.reverse-video{color:#5f5f5f !important}.fg-color-59{color:#5f5f5f;text-shadow:0 0 6px rgba(95,95,95,0.5)}.fg-color-59.reverse-video{background-color:#5f5f5f !important}.bg-color-60{background-color:#5f5f87}.bg-color-60.reverse-video{color:#5f5f87 !important}.fg-color-60{color:#5f5f87;text-shadow:0 0 6px rgba(95,95,135,0.5)}.fg-color-60.reverse-video{background-color:#5f5f87 !important}.bg-color-61{background-color:#5f5faf}.bg-color-61.reverse-video{color:#5f5faf !important}.fg-color-61{color:#5f5faf;text-shadow:0 0 6px rgba(95,95,175,0.5)}.fg-color-61.reverse-video{background-color:#5f5faf !important}.bg-color-62{background-color:#5f5fd7}.bg-color-62.reverse-video{color:#5f5fd7 !important}.fg-color-62{color:#5f5fd7;text-shadow:0 0 6px rgba(95,95,215,0.5)}.fg-color-62.reverse-video{background-color:#5f5fd7 !important}.bg-color-63{background-color:#5f5fff}.bg-color-63.reverse-video{color:#5f5fff !important}.fg-color-63{color:#5f5fff;text-shadow:0 0 6px rgba(95,95,255,0.5)}.fg-color-63.reverse-video{background-color:#5f5fff !important}.bg-color-64{background-color:#5f8700}.bg-color-64.reverse-video{color:#5f8700 !important}.fg-color-64{color:#5f8700;text-shadow:0 0 6px rgba(95,135,0,0.5)}.fg-color-64.reverse-video{background-color:#5f8700 !important}.bg-color-65{background-color:#5f875f}.bg-color-65.reverse-video{color:#5f875f !important}.fg-color-65{color:#5f875f;text-shadow:0 0 6px rgba(95,135,95,0.5)}.fg-color-65.reverse-video{background-color:#5f875f !important}.bg-color-66{background-color:#5f8787}.bg-color-66.reverse-video{color:#5f8787 !important}.fg-color-66{color:#5f8787;text-shadow:0 0 6px rgba(95,135,135,0.5)}.fg-color-66.reverse-video{background-color:#5f8787 !important}.bg-color-67{background-color:#5f87af}.bg-color-67.reverse-video{color:#5f87af !important}.fg-color-67{color:#5f87af;text-shadow:0 0 6px rgba(95,135,175,0.5)}.fg-color-67.reverse-video{background-color:#5f87af !important}.bg-color-68{background-color:#5f87d7}.bg-color-68.reverse-video{color:#5f87d7 !important}.fg-color-68{color:#5f87d7;text-shadow:0 0 6px rgba(95,135,215,0.5)}.fg-color-68.reverse-video{background-color:#5f87d7 !important}.bg-color-69{background-color:#5f87ff}.bg-color-69.reverse-video{color:#5f87ff !important}.fg-color-69{color:#5f87ff;text-shadow:0 0 6px rgba(95,135,255,0.5)}.fg-color-69.reverse-video{background-color:#5f87ff !important}.bg-color-70{background-color:#5faf00}.bg-color-70.reverse-video{color:#5faf00 !important}.fg-color-70{color:#5faf00;text-shadow:0 0 6px rgba(95,175,0,0.5)}.fg-color-70.reverse-video{background-color:#5faf00 !important}.bg-color-71{background-color:#5faf5f}.bg-color-71.reverse-video{color:#5faf5f !important}.fg-color-71{color:#5faf5f;text-shadow:0 0 6px rgba(95,175,95,0.5)}.fg-color-71.reverse-video{background-color:#5faf5f !important}.bg-color-72{background-color:#5faf87}.bg-color-72.reverse-video{color:#5faf87 !important}.fg-color-72{color:#5faf87;text-shadow:0 0 6px rgba(95,175,135,0.5)}.fg-color-72.reverse-video{background-color:#5faf87 !important}.bg-color-73{background-color:#5fafaf}.bg-color-73.reverse-video{color:#5fafaf !important}.fg-color-73{color:#5fafaf;text-shadow:0 0 6px rgba(95,175,175,0.5)}.fg-color-73.reverse-video{background-color:#5fafaf !important}.bg-color-74{background-color:#5fafd7}.bg-color-74.reverse-video{color:#5fafd7 !important}.fg-color-74{color:#5fafd7;text-shadow:0 0 6px rgba(95,175,215,0.5)}.fg-color-74.reverse-video{background-color:#5fafd7 !important}.bg-color-75{background-color:#5fafff}.bg-color-75.reverse-video{color:#5fafff !important}.fg-color-75{color:#5fafff;text-shadow:0 0 6px rgba(95,175,255,0.5)}.fg-color-75.reverse-video{background-color:#5fafff !important}.bg-color-76{background-color:#5fd700}.bg-color-76.reverse-video{color:#5fd700 !important}.fg-color-76{color:#5fd700;text-shadow:0 0 6px rgba(95,215,0,0.5)}.fg-color-76.reverse-video{background-color:#5fd700 !important}.bg-color-77{background-color:#5fd75f}.bg-color-77.reverse-video{color:#5fd75f !important}.fg-color-77{color:#5fd75f;text-shadow:0 0 6px rgba(95,215,95,0.5)}.fg-color-77.reverse-video{background-color:#5fd75f !important}.bg-color-78{background-color:#5fd787}.bg-color-78.reverse-video{color:#5fd787 !important}.fg-color-78{color:#5fd787;text-shadow:0 0 6px rgba(95,215,135,0.5)}.fg-color-78.reverse-video{background-color:#5fd787 !important}.bg-color-79{background-color:#5fd7af}.bg-color-79.reverse-video{color:#5fd7af !important}.fg-color-79{color:#5fd7af;text-shadow:0 0 6px rgba(95,215,175,0.5)}.fg-color-79.reverse-video{background-color:#5fd7af !important}.bg-color-80{background-color:#5fd7d7}.bg-color-80.reverse-video{color:#5fd7d7 !important}.fg-color-80{color:#5fd7d7;text-shadow:0 0 6px rgba(95,215,215,0.5)}.fg-color-80.reverse-video{background-color:#5fd7d7 !important}.bg-color-81{background-color:#5fd7ff}.bg-color-81.reverse-video{color:#5fd7ff !important}.fg-color-81{color:#5fd7ff;text-shadow:0 0 6px rgba(95,215,255,0.5)}.fg-color-81.reverse-video{background-color:#5fd7ff !important}.bg-color-82{background-color:#5fff00}.bg-color-82.reverse-video{color:#5fff00 !important}.fg-color-82{color:#5fff00;text-shadow:0 0 6px rgba(95,255,0,0.5)}.fg-color-82.reverse-video{background-color:#5fff00 !important}.bg-color-83{background-color:#5fff5f}.bg-color-83.reverse-video{color:#5fff5f !important}.fg-color-83{color:#5fff5f;text-shadow:0 0 6px rgba(95,255,95,0.5)}.fg-color-83.reverse-video{background-color:#5fff5f !important}.bg-color-84{background-color:#5fff87}.bg-color-84.reverse-video{color:#5fff87 !important}.fg-color-84{color:#5fff87;text-shadow:0 0 6px rgba(95,255,135,0.5)}.fg-color-84.reverse-video{background-color:#5fff87 !important}.bg-color-85{background-color:#5fffaf}.bg-color-85.reverse-video{color:#5fffaf !important}.fg-color-85{color:#5fffaf;text-shadow:0 0 6px rgba(95,255,175,0.5)}.fg-color-85.reverse-video{background-color:#5fffaf !important}.bg-color-86{background-color:#5fffd7}.bg-color-86.reverse-video{color:#5fffd7 !important}.fg-color-86{color:#5fffd7;text-shadow:0 0 6px rgba(95,255,215,0.5)}.fg-color-86.reverse-video{background-color:#5fffd7 !important}.bg-color-87{background-color:#5fffff}.bg-color-87.reverse-video{color:#5fffff !important}.fg-color-87{color:#5fffff;text-shadow:0 0 6px rgba(95,255,255,0.5)}.fg-color-87.reverse-video{background-color:#5fffff !important}.bg-color-88{background-color:#870000}.bg-color-88.reverse-video{color:#870000 !important}.fg-color-88{color:#870000;text-shadow:0 0 6px rgba(135,0,0,0.5)}.fg-color-88.reverse-video{background-color:#870000 !important}.bg-color-89{background-color:#87005f}.bg-color-89.reverse-video{color:#87005f !important}.fg-color-89{color:#87005f;text-shadow:0 0 6px rgba(135,0,95,0.5)}.fg-color-89.reverse-video{background-color:#87005f !important}.bg-color-90{background-color:#870087}.bg-color-90.reverse-video{color:#870087 !important}.fg-color-90{color:#870087;text-shadow:0 0 6px rgba(135,0,135,0.5)}.fg-color-90.reverse-video{background-color:#870087 !important}.bg-color-91{background-color:#8700af}.bg-color-91.reverse-video{color:#8700af !important}.fg-color-91{color:#8700af;text-shadow:0 0 6px rgba(135,0,175,0.5)}.fg-color-91.reverse-video{background-color:#8700af !important}.bg-color-92{background-color:#8700d7}.bg-color-92.reverse-video{color:#8700d7 !important}.fg-color-92{color:#8700d7;text-shadow:0 0 6px rgba(135,0,215,0.5)}.fg-color-92.reverse-video{background-color:#8700d7 !important}.bg-color-93{background-color:#8700ff}.bg-color-93.reverse-video{color:#8700ff !important}.fg-color-93{color:#8700ff;text-shadow:0 0 6px rgba(135,0,255,0.5)}.fg-color-93.reverse-video{background-color:#8700ff !important}.bg-color-94{background-color:#875f00}.bg-color-94.reverse-video{color:#875f00 !important}.fg-color-94{color:#875f00;text-shadow:0 0 6px rgba(135,95,0,0.5)}.fg-color-94.reverse-video{background-color:#875f00 !important}.bg-color-95{background-color:#875f5f}.bg-color-95.reverse-video{color:#875f5f !important}.fg-color-95{color:#875f5f;text-shadow:0 0 6px rgba(135,95,95,0.5)}.fg-color-95.reverse-video{background-color:#875f5f !important}.bg-color-96{background-color:#875f87}.bg-color-96.reverse-video{color:#875f87 !important}.fg-color-96{color:#875f87;text-shadow:0 0 6px rgba(135,95,135,0.5)}.fg-color-96.reverse-video{background-color:#875f87 !important}.bg-color-97{background-color:#875faf}.bg-color-97.reverse-video{color:#875faf !important}.fg-color-97{color:#875faf;text-shadow:0 0 6px rgba(135,95,175,0.5)}.fg-color-97.reverse-video{background-color:#875faf !important}.bg-color-98{background-color:#875fd7}.bg-color-98.reverse-video{color:#875fd7 !important}.fg-color-98{color:#875fd7;text-shadow:0 0 6px rgba(135,95,215,0.5)}.fg-color-98.reverse-video{background-color:#875fd7 !important}.bg-color-99{background-color:#875fff}.bg-color-99.reverse-video{color:#875fff !important}.fg-color-99{color:#875fff;text-shadow:0 0 6px rgba(135,95,255,0.5)}.fg-color-99.reverse-video{background-color:#875fff !important}.bg-color-100{background-color:#878700}.bg-color-100.reverse-video{color:#878700 !important}.fg-color-100{color:#878700;text-shadow:0 0 6px rgba(135,135,0,0.5)}.fg-color-100.reverse-video{background-color:#878700 !important}.bg-color-101{background-color:#87875f}.bg-color-101.reverse-video{color:#87875f !important}.fg-color-101{color:#87875f;text-shadow:0 0 6px rgba(135,135,95,0.5)}.fg-color-101.reverse-video{background-color:#87875f !important}.bg-color-102{background-color:#878787}.bg-color-102.reverse-video{color:#878787 !important}.fg-color-102{color:#878787;text-shadow:0 0 6px rgba(135,135,135,0.5)}.fg-color-102.reverse-video{background-color:#878787 !important}.bg-color-103{background-color:#8787af}.bg-color-103.reverse-video{color:#8787af !important}.fg-color-103{color:#8787af;text-shadow:0 0 6px rgba(135,135,175,0.5)}.fg-color-103.reverse-video{background-color:#8787af !important}.bg-color-104{background-color:#8787d7}.bg-color-104.reverse-video{color:#8787d7 !important}.fg-color-104{color:#8787d7;text-shadow:0 0 6px rgba(135,135,215,0.5)}.fg-color-104.reverse-video{background-color:#8787d7 !important}.bg-color-105{background-color:#8787ff}.bg-color-105.reverse-video{color:#8787ff !important}.fg-color-105{color:#8787ff;text-shadow:0 0 6px rgba(135,135,255,0.5)}.fg-color-105.reverse-video{background-color:#8787ff !important}.bg-color-106{background-color:#87af00}.bg-color-106.reverse-video{color:#87af00 !important}.fg-color-106{color:#87af00;text-shadow:0 0 6px rgba(135,175,0,0.5)}.fg-color-106.reverse-video{background-color:#87af00 !important}.bg-color-107{background-color:#87af5f}.bg-color-107.reverse-video{color:#87af5f !important}.fg-color-107{color:#87af5f;text-shadow:0 0 6px rgba(135,175,95,0.5)}.fg-color-107.reverse-video{background-color:#87af5f !important}.bg-color-108{background-color:#87af87}.bg-color-108.reverse-video{color:#87af87 !important}.fg-color-108{color:#87af87;text-shadow:0 0 6px rgba(135,175,135,0.5)}.fg-color-108.reverse-video{background-color:#87af87 !important}.bg-color-109{background-color:#87afaf}.bg-color-109.reverse-video{color:#87afaf !important}.fg-color-109{color:#87afaf;text-shadow:0 0 6px rgba(135,175,175,0.5)}.fg-color-109.reverse-video{background-color:#87afaf !important}.bg-color-110{background-color:#87afd7}.bg-color-110.reverse-video{color:#87afd7 !important}.fg-color-110{color:#87afd7;text-shadow:0 0 6px rgba(135,175,215,0.5)}.fg-color-110.reverse-video{background-color:#87afd7 !important}.bg-color-111{background-color:#87afff}.bg-color-111.reverse-video{color:#87afff !important}.fg-color-111{color:#87afff;text-shadow:0 0 6px rgba(135,175,255,0.5)}.fg-color-111.reverse-video{background-color:#87afff !important}.bg-color-112{background-color:#87d700}.bg-color-112.reverse-video{color:#87d700 !important}.fg-color-112{color:#87d700;text-shadow:0 0 6px rgba(135,215,0,0.5)}.fg-color-112.reverse-video{background-color:#87d700 !important}.bg-color-113{background-color:#87d75f}.bg-color-113.reverse-video{color:#87d75f !important}.fg-color-113{color:#87d75f;text-shadow:0 0 6px rgba(135,215,95,0.5)}.fg-color-113.reverse-video{background-color:#87d75f !important}.bg-color-114{background-color:#87d787}.bg-color-114.reverse-video{color:#87d787 !important}.fg-color-114{color:#87d787;text-shadow:0 0 6px rgba(135,215,135,0.5)}.fg-color-114.reverse-video{background-color:#87d787 !important}.bg-color-115{background-color:#87d7af}.bg-color-115.reverse-video{color:#87d7af !important}.fg-color-115{color:#87d7af;text-shadow:0 0 6px rgba(135,215,175,0.5)}.fg-color-115.reverse-video{background-color:#87d7af !important}.bg-color-116{background-color:#87d7d7}.bg-color-116.reverse-video{color:#87d7d7 !important}.fg-color-116{color:#87d7d7;text-shadow:0 0 6px rgba(135,215,215,0.5)}.fg-color-116.reverse-video{background-color:#87d7d7 !important}.bg-color-117{background-color:#87d7ff}.bg-color-117.reverse-video{color:#87d7ff !important}.fg-color-117{color:#87d7ff;text-shadow:0 0 6px rgba(135,215,255,0.5)}.fg-color-117.reverse-video{background-color:#87d7ff !important}.bg-color-118{background-color:#87ff00}.bg-color-118.reverse-video{color:#87ff00 !important}.fg-color-118{color:#87ff00;text-shadow:0 0 6px rgba(135,255,0,0.5)}.fg-color-118.reverse-video{background-color:#87ff00 !important}.bg-color-119{background-color:#87ff5f}.bg-color-119.reverse-video{color:#87ff5f !important}.fg-color-119{color:#87ff5f;text-shadow:0 0 6px rgba(135,255,95,0.5)}.fg-color-119.reverse-video{background-color:#87ff5f !important}.bg-color-120{background-color:#87ff87}.bg-color-120.reverse-video{color:#87ff87 !important}.fg-color-120{color:#87ff87;text-shadow:0 0 6px rgba(135,255,135,0.5)}.fg-color-120.reverse-video{background-color:#87ff87 !important}.bg-color-121{background-color:#87ffaf}.bg-color-121.reverse-video{color:#87ffaf !important}.fg-color-121{color:#87ffaf;text-shadow:0 0 6px rgba(135,255,175,0.5)}.fg-color-121.reverse-video{background-color:#87ffaf !important}.bg-color-122{background-color:#87ffd7}.bg-color-122.reverse-video{color:#87ffd7 !important}.fg-color-122{color:#87ffd7;text-shadow:0 0 6px rgba(135,255,215,0.5)}.fg-color-122.reverse-video{background-color:#87ffd7 !important}.bg-color-123{background-color:#87ffff}.bg-color-123.reverse-video{color:#87ffff !important}.fg-color-123{color:#87ffff;text-shadow:0 0 6px rgba(135,255,255,0.5)}.fg-color-123.reverse-video{background-color:#87ffff !important}.bg-color-124{background-color:#af0000}.bg-color-124.reverse-video{color:#af0000 !important}.fg-color-124{color:#af0000;text-shadow:0 0 6px rgba(175,0,0,0.5)}.fg-color-124.reverse-video{background-color:#af0000 !important}.bg-color-125{background-color:#af005f}.bg-color-125.reverse-video{color:#af005f !important}.fg-color-125{color:#af005f;text-shadow:0 0 6px rgba(175,0,95,0.5)}.fg-color-125.reverse-video{background-color:#af005f !important}.bg-color-126{background-color:#af0087}.bg-color-126.reverse-video{color:#af0087 !important}.fg-color-126{color:#af0087;text-shadow:0 0 6px rgba(175,0,135,0.5)}.fg-color-126.reverse-video{background-color:#af0087 !important}.bg-color-127{background-color:#af00af}.bg-color-127.reverse-video{color:#af00af !important}.fg-color-127{color:#af00af;text-shadow:0 0 6px rgba(175,0,175,0.5)}.fg-color-127.reverse-video{background-color:#af00af !important}.bg-color-128{background-color:#af00d7}.bg-color-128.reverse-video{color:#af00d7 !important}.fg-color-128{color:#af00d7;text-shadow:0 0 6px rgba(175,0,215,0.5)}.fg-color-128.reverse-video{background-color:#af00d7 !important}.bg-color-129{background-color:#af00ff}.bg-color-129.reverse-video{color:#af00ff !important}.fg-color-129{color:#af00ff;text-shadow:0 0 6px rgba(175,0,255,0.5)}.fg-color-129.reverse-video{background-color:#af00ff !important}.bg-color-130{background-color:#af5f00}.bg-color-130.reverse-video{color:#af5f00 !important}.fg-color-130{color:#af5f00;text-shadow:0 0 6px rgba(175,95,0,0.5)}.fg-color-130.reverse-video{background-color:#af5f00 !important}.bg-color-131{background-color:#af5f5f}.bg-color-131.reverse-video{color:#af5f5f !important}.fg-color-131{color:#af5f5f;text-shadow:0 0 6px rgba(175,95,95,0.5)}.fg-color-131.reverse-video{background-color:#af5f5f !important}.bg-color-132{background-color:#af5f87}.bg-color-132.reverse-video{color:#af5f87 !important}.fg-color-132{color:#af5f87;text-shadow:0 0 6px rgba(175,95,135,0.5)}.fg-color-132.reverse-video{background-color:#af5f87 !important}.bg-color-133{background-color:#af5faf}.bg-color-133.reverse-video{color:#af5faf !important}.fg-color-133{color:#af5faf;text-shadow:0 0 6px rgba(175,95,175,0.5)}.fg-color-133.reverse-video{background-color:#af5faf !important}.bg-color-134{background-color:#af5fd7}.bg-color-134.reverse-video{color:#af5fd7 !important}.fg-color-134{color:#af5fd7;text-shadow:0 0 6px rgba(175,95,215,0.5)}.fg-color-134.reverse-video{background-color:#af5fd7 !important}.bg-color-135{background-color:#af5fff}.bg-color-135.reverse-video{color:#af5fff !important}.fg-color-135{color:#af5fff;text-shadow:0 0 6px rgba(175,95,255,0.5)}.fg-color-135.reverse-video{background-color:#af5fff !important}.bg-color-136{background-color:#af8700}.bg-color-136.reverse-video{color:#af8700 !important}.fg-color-136{color:#af8700;text-shadow:0 0 6px rgba(175,135,0,0.5)}.fg-color-136.reverse-video{background-color:#af8700 !important}.bg-color-137{background-color:#af875f}.bg-color-137.reverse-video{color:#af875f !important}.fg-color-137{color:#af875f;text-shadow:0 0 6px rgba(175,135,95,0.5)}.fg-color-137.reverse-video{background-color:#af875f !important}.bg-color-138{background-color:#af8787}.bg-color-138.reverse-video{color:#af8787 !important}.fg-color-138{color:#af8787;text-shadow:0 0 6px rgba(175,135,135,0.5)}.fg-color-138.reverse-video{background-color:#af8787 !important}.bg-color-139{background-color:#af87af}.bg-color-139.reverse-video{color:#af87af !important}.fg-color-139{color:#af87af;text-shadow:0 0 6px rgba(175,135,175,0.5)}.fg-color-139.reverse-video{background-color:#af87af !important}.bg-color-140{background-color:#af87d7}.bg-color-140.reverse-video{color:#af87d7 !important}.fg-color-140{color:#af87d7;text-shadow:0 0 6px rgba(175,135,215,0.5)}.fg-color-140.reverse-video{background-color:#af87d7 !important}.bg-color-141{background-color:#af87ff}.bg-color-141.reverse-video{color:#af87ff !important}.fg-color-141{color:#af87ff;text-shadow:0 0 6px rgba(175,135,255,0.5)}.fg-color-141.reverse-video{background-color:#af87ff !important}.bg-color-142{background-color:#afaf00}.bg-color-142.reverse-video{color:#afaf00 !important}.fg-color-142{color:#afaf00;text-shadow:0 0 6px rgba(175,175,0,0.5)}.fg-color-142.reverse-video{background-color:#afaf00 !important}.bg-color-143{background-color:#afaf5f}.bg-color-143.reverse-video{color:#afaf5f !important}.fg-color-143{color:#afaf5f;text-shadow:0 0 6px rgba(175,175,95,0.5)}.fg-color-143.reverse-video{background-color:#afaf5f !important}.bg-color-144{background-color:#afaf87}.bg-color-144.reverse-video{color:#afaf87 !important}.fg-color-144{color:#afaf87;text-shadow:0 0 6px rgba(175,175,135,0.5)}.fg-color-144.reverse-video{background-color:#afaf87 !important}.bg-color-145{background-color:#afafaf}.bg-color-145.reverse-video{color:#afafaf !important}.fg-color-145{color:#afafaf;text-shadow:0 0 6px rgba(175,175,175,0.5)}.fg-color-145.reverse-video{background-color:#afafaf !important}.bg-color-146{background-color:#afafd7}.bg-color-146.reverse-video{color:#afafd7 !important}.fg-color-146{color:#afafd7;text-shadow:0 0 6px rgba(175,175,215,0.5)}.fg-color-146.reverse-video{background-color:#afafd7 !important}.bg-color-147{background-color:#afafff}.bg-color-147.reverse-video{color:#afafff !important}.fg-color-147{color:#afafff;text-shadow:0 0 6px rgba(175,175,255,0.5)}.fg-color-147.reverse-video{background-color:#afafff !important}.bg-color-148{background-color:#afd700}.bg-color-148.reverse-video{color:#afd700 !important}.fg-color-148{color:#afd700;text-shadow:0 0 6px rgba(175,215,0,0.5)}.fg-color-148.reverse-video{background-color:#afd700 !important}.bg-color-149{background-color:#afd75f}.bg-color-149.reverse-video{color:#afd75f !important}.fg-color-149{color:#afd75f;text-shadow:0 0 6px rgba(175,215,95,0.5)}.fg-color-149.reverse-video{background-color:#afd75f !important}.bg-color-150{background-color:#afd787}.bg-color-150.reverse-video{color:#afd787 !important}.fg-color-150{color:#afd787;text-shadow:0 0 6px rgba(175,215,135,0.5)}.fg-color-150.reverse-video{background-color:#afd787 !important}.bg-color-151{background-color:#afd7af}.bg-color-151.reverse-video{color:#afd7af !important}.fg-color-151{color:#afd7af;text-shadow:0 0 6px rgba(175,215,175,0.5)}.fg-color-151.reverse-video{background-color:#afd7af !important}.bg-color-152{background-color:#afd7d7}.bg-color-152.reverse-video{color:#afd7d7 !important}.fg-color-152{color:#afd7d7;text-shadow:0 0 6px rgba(175,215,215,0.5)}.fg-color-152.reverse-video{background-color:#afd7d7 !important}.bg-color-153{background-color:#afd7ff}.bg-color-153.reverse-video{color:#afd7ff !important}.fg-color-153{color:#afd7ff;text-shadow:0 0 6px rgba(175,215,255,0.5)}.fg-color-153.reverse-video{background-color:#afd7ff !important}.bg-color-154{background-color:#afff00}.bg-color-154.reverse-video{color:#afff00 !important}.fg-color-154{color:#afff00;text-shadow:0 0 6px rgba(175,255,0,0.5)}.fg-color-154.reverse-video{background-color:#afff00 !important}.bg-color-155{background-color:#afff5f}.bg-color-155.reverse-video{color:#afff5f !important}.fg-color-155{color:#afff5f;text-shadow:0 0 6px rgba(175,255,95,0.5)}.fg-color-155.reverse-video{background-color:#afff5f !important}.bg-color-156{background-color:#afff87}.bg-color-156.reverse-video{color:#afff87 !important}.fg-color-156{color:#afff87;text-shadow:0 0 6px rgba(175,255,135,0.5)}.fg-color-156.reverse-video{background-color:#afff87 !important}.bg-color-157{background-color:#afffaf}.bg-color-157.reverse-video{color:#afffaf !important}.fg-color-157{color:#afffaf;text-shadow:0 0 6px rgba(175,255,175,0.5)}.fg-color-157.reverse-video{background-color:#afffaf !important}.bg-color-158{background-color:#afffd7}.bg-color-158.reverse-video{color:#afffd7 !important}.fg-color-158{color:#afffd7;text-shadow:0 0 6px rgba(175,255,215,0.5)}.fg-color-158.reverse-video{background-color:#afffd7 !important}.bg-color-159{background-color:#afffff}.bg-color-159.reverse-video{color:#afffff !important}.fg-color-159{color:#afffff;text-shadow:0 0 6px rgba(175,255,255,0.5)}.fg-color-159.reverse-video{background-color:#afffff !important}.bg-color-160{background-color:#d70000}.bg-color-160.reverse-video{color:#d70000 !important}.fg-color-160{color:#d70000;text-shadow:0 0 6px rgba(215,0,0,0.5)}.fg-color-160.reverse-video{background-color:#d70000 !important}.bg-color-161{background-color:#d7005f}.bg-color-161.reverse-video{color:#d7005f !important}.fg-color-161{color:#d7005f;text-shadow:0 0 6px rgba(215,0,95,0.5)}.fg-color-161.reverse-video{background-color:#d7005f !important}.bg-color-162{background-color:#d70087}.bg-color-162.reverse-video{color:#d70087 !important}.fg-color-162{color:#d70087;text-shadow:0 0 6px rgba(215,0,135,0.5)}.fg-color-162.reverse-video{background-color:#d70087 !important}.bg-color-163{background-color:#d700af}.bg-color-163.reverse-video{color:#d700af !important}.fg-color-163{color:#d700af;text-shadow:0 0 6px rgba(215,0,175,0.5)}.fg-color-163.reverse-video{background-color:#d700af !important}.bg-color-164{background-color:#d700d7}.bg-color-164.reverse-video{color:#d700d7 !important}.fg-color-164{color:#d700d7;text-shadow:0 0 6px rgba(215,0,215,0.5)}.fg-color-164.reverse-video{background-color:#d700d7 !important}.bg-color-165{background-color:#d700ff}.bg-color-165.reverse-video{color:#d700ff !important}.fg-color-165{color:#d700ff;text-shadow:0 0 6px rgba(215,0,255,0.5)}.fg-color-165.reverse-video{background-color:#d700ff !important}.bg-color-166{background-color:#d75f00}.bg-color-166.reverse-video{color:#d75f00 !important}.fg-color-166{color:#d75f00;text-shadow:0 0 6px rgba(215,95,0,0.5)}.fg-color-166.reverse-video{background-color:#d75f00 !important}.bg-color-167{background-color:#d75f5f}.bg-color-167.reverse-video{color:#d75f5f !important}.fg-color-167{color:#d75f5f;text-shadow:0 0 6px rgba(215,95,95,0.5)}.fg-color-167.reverse-video{background-color:#d75f5f !important}.bg-color-168{background-color:#d75f87}.bg-color-168.reverse-video{color:#d75f87 !important}.fg-color-168{color:#d75f87;text-shadow:0 0 6px rgba(215,95,135,0.5)}.fg-color-168.reverse-video{background-color:#d75f87 !important}.bg-color-169{background-color:#d75faf}.bg-color-169.reverse-video{color:#d75faf !important}.fg-color-169{color:#d75faf;text-shadow:0 0 6px rgba(215,95,175,0.5)}.fg-color-169.reverse-video{background-color:#d75faf !important}.bg-color-170{background-color:#d75fd7}.bg-color-170.reverse-video{color:#d75fd7 !important}.fg-color-170{color:#d75fd7;text-shadow:0 0 6px rgba(215,95,215,0.5)}.fg-color-170.reverse-video{background-color:#d75fd7 !important}.bg-color-171{background-color:#d75fff}.bg-color-171.reverse-video{color:#d75fff !important}.fg-color-171{color:#d75fff;text-shadow:0 0 6px rgba(215,95,255,0.5)}.fg-color-171.reverse-video{background-color:#d75fff !important}.bg-color-172{background-color:#d78700}.bg-color-172.reverse-video{color:#d78700 !important}.fg-color-172{color:#d78700;text-shadow:0 0 6px rgba(215,135,0,0.5)}.fg-color-172.reverse-video{background-color:#d78700 !important}.bg-color-173{background-color:#d7875f}.bg-color-173.reverse-video{color:#d7875f !important}.fg-color-173{color:#d7875f;text-shadow:0 0 6px rgba(215,135,95,0.5)}.fg-color-173.reverse-video{background-color:#d7875f !important}.bg-color-174{background-color:#d78787}.bg-color-174.reverse-video{color:#d78787 !important}.fg-color-174{color:#d78787;text-shadow:0 0 6px rgba(215,135,135,0.5)}.fg-color-174.reverse-video{background-color:#d78787 !important}.bg-color-175{background-color:#d787af}.bg-color-175.reverse-video{color:#d787af !important}.fg-color-175{color:#d787af;text-shadow:0 0 6px rgba(215,135,175,0.5)}.fg-color-175.reverse-video{background-color:#d787af !important}.bg-color-176{background-color:#d787d7}.bg-color-176.reverse-video{color:#d787d7 !important}.fg-color-176{color:#d787d7;text-shadow:0 0 6px rgba(215,135,215,0.5)}.fg-color-176.reverse-video{background-color:#d787d7 !important}.bg-color-177{background-color:#d787ff}.bg-color-177.reverse-video{color:#d787ff !important}.fg-color-177{color:#d787ff;text-shadow:0 0 6px rgba(215,135,255,0.5)}.fg-color-177.reverse-video{background-color:#d787ff !important}.bg-color-178{background-color:#d7af00}.bg-color-178.reverse-video{color:#d7af00 !important}.fg-color-178{color:#d7af00;text-shadow:0 0 6px rgba(215,175,0,0.5)}.fg-color-178.reverse-video{background-color:#d7af00 !important}.bg-color-179{background-color:#d7af5f}.bg-color-179.reverse-video{color:#d7af5f !important}.fg-color-179{color:#d7af5f;text-shadow:0 0 6px rgba(215,175,95,0.5)}.fg-color-179.reverse-video{background-color:#d7af5f !important}.bg-color-180{background-color:#d7af87}.bg-color-180.reverse-video{color:#d7af87 !important}.fg-color-180{color:#d7af87;text-shadow:0 0 6px rgba(215,175,135,0.5)}.fg-color-180.reverse-video{background-color:#d7af87 !important}.bg-color-181{background-color:#d7afaf}.bg-color-181.reverse-video{color:#d7afaf !important}.fg-color-181{color:#d7afaf;text-shadow:0 0 6px rgba(215,175,175,0.5)}.fg-color-181.reverse-video{background-color:#d7afaf !important}.bg-color-182{background-color:#d7afd7}.bg-color-182.reverse-video{color:#d7afd7 !important}.fg-color-182{color:#d7afd7;text-shadow:0 0 6px rgba(215,175,215,0.5)}.fg-color-182.reverse-video{background-color:#d7afd7 !important}.bg-color-183{background-color:#d7afff}.bg-color-183.reverse-video{color:#d7afff !important}.fg-color-183{color:#d7afff;text-shadow:0 0 6px rgba(215,175,255,0.5)}.fg-color-183.reverse-video{background-color:#d7afff !important}.bg-color-184{background-color:#d7d700}.bg-color-184.reverse-video{color:#d7d700 !important}.fg-color-184{color:#d7d700;text-shadow:0 0 6px rgba(215,215,0,0.5)}.fg-color-184.reverse-video{background-color:#d7d700 !important}.bg-color-185{background-color:#d7d75f}.bg-color-185.reverse-video{color:#d7d75f !important}.fg-color-185{color:#d7d75f;text-shadow:0 0 6px rgba(215,215,95,0.5)}.fg-color-185.reverse-video{background-color:#d7d75f !important}.bg-color-186{background-color:#d7d787}.bg-color-186.reverse-video{color:#d7d787 !important}.fg-color-186{color:#d7d787;text-shadow:0 0 6px rgba(215,215,135,0.5)}.fg-color-186.reverse-video{background-color:#d7d787 !important}.bg-color-187{background-color:#d7d7af}.bg-color-187.reverse-video{color:#d7d7af !important}.fg-color-187{color:#d7d7af;text-shadow:0 0 6px rgba(215,215,175,0.5)}.fg-color-187.reverse-video{background-color:#d7d7af !important}.bg-color-188{background-color:#d7d7d7}.bg-color-188.reverse-video{color:#d7d7d7 !important}.fg-color-188{color:#d7d7d7;text-shadow:0 0 6px rgba(215,215,215,0.5)}.fg-color-188.reverse-video{background-color:#d7d7d7 !important}.bg-color-189{background-color:#d7d7ff}.bg-color-189.reverse-video{color:#d7d7ff !important}.fg-color-189{color:#d7d7ff;text-shadow:0 0 6px rgba(215,215,255,0.5)}.fg-color-189.reverse-video{background-color:#d7d7ff !important}.bg-color-190{background-color:#d7ff00}.bg-color-190.reverse-video{color:#d7ff00 !important}.fg-color-190{color:#d7ff00;text-shadow:0 0 6px rgba(215,255,0,0.5)}.fg-color-190.reverse-video{background-color:#d7ff00 !important}.bg-color-191{background-color:#d7ff5f}.bg-color-191.reverse-video{color:#d7ff5f !important}.fg-color-191{color:#d7ff5f;text-shadow:0 0 6px rgba(215,255,95,0.5)}.fg-color-191.reverse-video{background-color:#d7ff5f !important}.bg-color-192{background-color:#d7ff87}.bg-color-192.reverse-video{color:#d7ff87 !important}.fg-color-192{color:#d7ff87;text-shadow:0 0 6px rgba(215,255,135,0.5)}.fg-color-192.reverse-video{background-color:#d7ff87 !important}.bg-color-193{background-color:#d7ffaf}.bg-color-193.reverse-video{color:#d7ffaf !important}.fg-color-193{color:#d7ffaf;text-shadow:0 0 6px rgba(215,255,175,0.5)}.fg-color-193.reverse-video{background-color:#d7ffaf !important}.bg-color-194{background-color:#d7ffd7}.bg-color-194.reverse-video{color:#d7ffd7 !important}.fg-color-194{color:#d7ffd7;text-shadow:0 0 6px rgba(215,255,215,0.5)}.fg-color-194.reverse-video{background-color:#d7ffd7 !important}.bg-color-195{background-color:#d7ffff}.bg-color-195.reverse-video{color:#d7ffff !important}.fg-color-195{color:#d7ffff;text-shadow:0 0 6px rgba(215,255,255,0.5)}.fg-color-195.reverse-video{background-color:#d7ffff !important}.bg-color-196{background-color:red}.bg-color-196.reverse-video{color:red !important}.fg-color-196{color:red;text-shadow:0 0 6px rgba(255,0,0,0.5)}.fg-color-196.reverse-video{background-color:red !important}.bg-color-197{background-color:#ff005f}.bg-color-197.reverse-video{color:#ff005f !important}.fg-color-197{color:#ff005f;text-shadow:0 0 6px rgba(255,0,95,0.5)}.fg-color-197.reverse-video{background-color:#ff005f !important}.bg-color-198{background-color:#ff0087}.bg-color-198.reverse-video{color:#ff0087 !important}.fg-color-198{color:#ff0087;text-shadow:0 0 6px rgba(255,0,135,0.5)}.fg-color-198.reverse-video{background-color:#ff0087 !important}.bg-color-199{background-color:#ff00af}.bg-color-199.reverse-video{color:#ff00af !important}.fg-color-199{color:#ff00af;text-shadow:0 0 6px rgba(255,0,175,0.5)}.fg-color-199.reverse-video{background-color:#ff00af !important}.bg-color-200{background-color:#ff00d7}.bg-color-200.reverse-video{color:#ff00d7 !important}.fg-color-200{color:#ff00d7;text-shadow:0 0 6px rgba(255,0,215,0.5)}.fg-color-200.reverse-video{background-color:#ff00d7 !important}.bg-color-201{background-color:#f0f}.bg-color-201.reverse-video{color:#f0f !important}.fg-color-201{color:#f0f;text-shadow:0 0 6px rgba(255,0,255,0.5)}.fg-color-201.reverse-video{background-color:#f0f !important}.bg-color-202{background-color:#ff5f00}.bg-color-202.reverse-video{color:#ff5f00 !important}.fg-color-202{color:#ff5f00;text-shadow:0 0 6px rgba(255,95,0,0.5)}.fg-color-202.reverse-video{background-color:#ff5f00 !important}.bg-color-203{background-color:#ff5f5f}.bg-color-203.reverse-video{color:#ff5f5f !important}.fg-color-203{color:#ff5f5f;text-shadow:0 0 6px rgba(255,95,95,0.5)}.fg-color-203.reverse-video{background-color:#ff5f5f !important}.bg-color-204{background-color:#ff5f87}.bg-color-204.reverse-video{color:#ff5f87 !important}.fg-color-204{color:#ff5f87;text-shadow:0 0 6px rgba(255,95,135,0.5)}.fg-color-204.reverse-video{background-color:#ff5f87 !important}.bg-color-205{background-color:#ff5faf}.bg-color-205.reverse-video{color:#ff5faf !important}.fg-color-205{color:#ff5faf;text-shadow:0 0 6px rgba(255,95,175,0.5)}.fg-color-205.reverse-video{background-color:#ff5faf !important}.bg-color-206{background-color:#ff5fd7}.bg-color-206.reverse-video{color:#ff5fd7 !important}.fg-color-206{color:#ff5fd7;text-shadow:0 0 6px rgba(255,95,215,0.5)}.fg-color-206.reverse-video{background-color:#ff5fd7 !important}.bg-color-207{background-color:#ff5fff}.bg-color-207.reverse-video{color:#ff5fff !important}.fg-color-207{color:#ff5fff;text-shadow:0 0 6px rgba(255,95,255,0.5)}.fg-color-207.reverse-video{background-color:#ff5fff !important}.bg-color-208{background-color:#ff8700}.bg-color-208.reverse-video{color:#ff8700 !important}.fg-color-208{color:#ff8700;text-shadow:0 0 6px rgba(255,135,0,0.5)}.fg-color-208.reverse-video{background-color:#ff8700 !important}.bg-color-209{background-color:#ff875f}.bg-color-209.reverse-video{color:#ff875f !important}.fg-color-209{color:#ff875f;text-shadow:0 0 6px rgba(255,135,95,0.5)}.fg-color-209.reverse-video{background-color:#ff875f !important}.bg-color-210{background-color:#ff8787}.bg-color-210.reverse-video{color:#ff8787 !important}.fg-color-210{color:#ff8787;text-shadow:0 0 6px rgba(255,135,135,0.5)}.fg-color-210.reverse-video{background-color:#ff8787 !important}.bg-color-211{background-color:#ff87af}.bg-color-211.reverse-video{color:#ff87af !important}.fg-color-211{color:#ff87af;text-shadow:0 0 6px rgba(255,135,175,0.5)}.fg-color-211.reverse-video{background-color:#ff87af !important}.bg-color-212{background-color:#ff87d7}.bg-color-212.reverse-video{color:#ff87d7 !important}.fg-color-212{color:#ff87d7;text-shadow:0 0 6px rgba(255,135,215,0.5)}.fg-color-212.reverse-video{background-color:#ff87d7 !important}.bg-color-213{background-color:#ff87ff}.bg-color-213.reverse-video{color:#ff87ff !important}.fg-color-213{color:#ff87ff;text-shadow:0 0 6px rgba(255,135,255,0.5)}.fg-color-213.reverse-video{background-color:#ff87ff !important}.bg-color-214{background-color:#ffaf00}.bg-color-214.reverse-video{color:#ffaf00 !important}.fg-color-214{color:#ffaf00;text-shadow:0 0 6px rgba(255,175,0,0.5)}.fg-color-214.reverse-video{background-color:#ffaf00 !important}.bg-color-215{background-color:#ffaf5f}.bg-color-215.reverse-video{color:#ffaf5f !important}.fg-color-215{color:#ffaf5f;text-shadow:0 0 6px rgba(255,175,95,0.5)}.fg-color-215.reverse-video{background-color:#ffaf5f !important}.bg-color-216{background-color:#ffaf87}.bg-color-216.reverse-video{color:#ffaf87 !important}.fg-color-216{color:#ffaf87;text-shadow:0 0 6px rgba(255,175,135,0.5)}.fg-color-216.reverse-video{background-color:#ffaf87 !important}.bg-color-217{background-color:#ffafaf}.bg-color-217.reverse-video{color:#ffafaf !important}.fg-color-217{color:#ffafaf;text-shadow:0 0 6px rgba(255,175,175,0.5)}.fg-color-217.reverse-video{background-color:#ffafaf !important}.bg-color-218{background-color:#ffafd7}.bg-color-218.reverse-video{color:#ffafd7 !important}.fg-color-218{color:#ffafd7;text-shadow:0 0 6px rgba(255,175,215,0.5)}.fg-color-218.reverse-video{background-color:#ffafd7 !important}.bg-color-219{background-color:#ffafff}.bg-color-219.reverse-video{color:#ffafff !important}.fg-color-219{color:#ffafff;text-shadow:0 0 6px rgba(255,175,255,0.5)}.fg-color-219.reverse-video{background-color:#ffafff !important}.bg-color-220{background-color:gold}.bg-color-220.reverse-video{color:gold !important}.fg-color-220{color:gold;text-shadow:0 0 6px rgba(255,215,0,0.5)}.fg-color-220.reverse-video{background-color:gold !important}.bg-color-221{background-color:#ffd75f}.bg-color-221.reverse-video{color:#ffd75f !important}.fg-color-221{color:#ffd75f;text-shadow:0 0 6px rgba(255,215,95,0.5)}.fg-color-221.reverse-video{background-color:#ffd75f !important}.bg-color-222{background-color:#ffd787}.bg-color-222.reverse-video{color:#ffd787 !important}.fg-color-222{color:#ffd787;text-shadow:0 0 6px rgba(255,215,135,0.5)}.fg-color-222.reverse-video{background-color:#ffd787 !important}.bg-color-223{background-color:#ffd7af}.bg-color-223.reverse-video{color:#ffd7af !important}.fg-color-223{color:#ffd7af;text-shadow:0 0 6px rgba(255,215,175,0.5)}.fg-color-223.reverse-video{background-color:#ffd7af !important}.bg-color-224{background-color:#ffd7d7}.bg-color-224.reverse-video{color:#ffd7d7 !important}.fg-color-224{color:#ffd7d7;text-shadow:0 0 6px rgba(255,215,215,0.5)}.fg-color-224.reverse-video{background-color:#ffd7d7 !important}.bg-color-225{background-color:#ffd7ff}.bg-color-225.reverse-video{color:#ffd7ff !important}.fg-color-225{color:#ffd7ff;text-shadow:0 0 6px rgba(255,215,255,0.5)}.fg-color-225.reverse-video{background-color:#ffd7ff !important}.bg-color-226{background-color:#ff0}.bg-color-226.reverse-video{color:#ff0 !important}.fg-color-226{color:#ff0;text-shadow:0 0 6px rgba(255,255,0,0.5)}.fg-color-226.reverse-video{background-color:#ff0 !important}.bg-color-227{background-color:#ffff5f}.bg-color-227.reverse-video{color:#ffff5f !important}.fg-color-227{color:#ffff5f;text-shadow:0 0 6px rgba(255,255,95,0.5)}.fg-color-227.reverse-video{background-color:#ffff5f !important}.bg-color-228{background-color:#ffff87}.bg-color-228.reverse-video{color:#ffff87 !important}.fg-color-228{color:#ffff87;text-shadow:0 0 6px rgba(255,255,135,0.5)}.fg-color-228.reverse-video{background-color:#ffff87 !important}.bg-color-229{background-color:#ffffaf}.bg-color-229.reverse-video{color:#ffffaf !important}.fg-color-229{color:#ffffaf;text-shadow:0 0 6px rgba(255,255,175,0.5)}.fg-color-229.reverse-video{background-color:#ffffaf !important}.bg-color-230{background-color:#ffffd7}.bg-color-230.reverse-video{color:#ffffd7 !important}.fg-color-230{color:#ffffd7;text-shadow:0 0 6px rgba(255,255,215,0.5)}.fg-color-230.reverse-video{background-color:#ffffd7 !important}.bg-color-231{background-color:#fff}.bg-color-231.reverse-video{color:#fff !important}.fg-color-231{color:#fff;text-shadow:0 0 6px rgba(255,255,255,0.5)}.fg-color-231.reverse-video{background-color:#fff !important}.bg-color-232{background-color:#080808}.bg-color-232.reverse-video{color:#080808 !important}.fg-color-232{color:#080808;text-shadow:0 0 6px rgba(8,8,8,0.5)}.fg-color-232.reverse-video{background-color:#080808 !important}.bg-color-233{background-color:#121212}.bg-color-233.reverse-video{color:#121212 !important}.fg-color-233{color:#121212;text-shadow:0 0 6px rgba(18,18,18,0.5)}.fg-color-233.reverse-video{background-color:#121212 !important}.bg-color-234{background-color:#1c1c1c}.bg-color-234.reverse-video{color:#1c1c1c !important}.fg-color-234{color:#1c1c1c;text-shadow:0 0 6px rgba(28,28,28,0.5)}.fg-color-234.reverse-video{background-color:#1c1c1c !important}.bg-color-235{background-color:#262626}.bg-color-235.reverse-video{color:#262626 !important}.fg-color-235{color:#262626;text-shadow:0 0 6px rgba(38,38,38,0.5)}.fg-color-235.reverse-video{background-color:#262626 !important}.bg-color-236{background-color:#303030}.bg-color-236.reverse-video{color:#303030 !important}.fg-color-236{color:#303030;text-shadow:0 0 6px rgba(48,48,48,0.5)}.fg-color-236.reverse-video{background-color:#303030 !important}.bg-color-237{background-color:#3a3a3a}.bg-color-237.reverse-video{color:#3a3a3a !important}.fg-color-237{color:#3a3a3a;text-shadow:0 0 6px rgba(58,58,58,0.5)}.fg-color-237.reverse-video{background-color:#3a3a3a !important}.bg-color-238{background-color:#444}.bg-color-238.reverse-video{color:#444 !important}.fg-color-238{color:#444;text-shadow:0 0 6px rgba(68,68,68,0.5)}.fg-color-238.reverse-video{background-color:#444 !important}.bg-color-239{background-color:#4e4e4e}.bg-color-239.reverse-video{color:#4e4e4e !important}.fg-color-239{color:#4e4e4e;text-shadow:0 0 6px rgba(78,78,78,0.5)}.fg-color-239.reverse-video{background-color:#4e4e4e !important}.bg-color-240{background-color:#585858}.bg-color-240.reverse-video{color:#585858 !important}.fg-color-240{color:#585858;text-shadow:0 0 6px rgba(88,88,88,0.5)}.fg-color-240.reverse-video{background-color:#585858 !important}.bg-color-241{background-color:#626262}.bg-color-241.reverse-video{color:#626262 !important}.fg-color-241{color:#626262;text-shadow:0 0 6px rgba(98,98,98,0.5)}.fg-color-241.reverse-video{background-color:#626262 !important}.bg-color-242{background-color:#6c6c6c}.bg-color-242.reverse-video{color:#6c6c6c !important}.fg-color-242{color:#6c6c6c;text-shadow:0 0 6px rgba(108,108,108,0.5)}.fg-color-242.reverse-video{background-color:#6c6c6c !important}.bg-color-243{background-color:#767676}.bg-color-243.reverse-video{color:#767676 !important}.fg-color-243{color:#767676;text-shadow:0 0 6px rgba(118,118,118,0.5)}.fg-color-243.reverse-video{background-color:#767676 !important}.bg-color-244{background-color:gray}.bg-color-244.reverse-video{color:gray !important}.fg-color-244{color:gray;text-shadow:0 0 6px rgba(128,128,128,0.5)}.fg-color-244.reverse-video{background-color:gray !important}.bg-color-245{background-color:#8a8a8a}.bg-color-245.reverse-video{color:#8a8a8a !important}.fg-color-245{color:#8a8a8a;text-shadow:0 0 6px rgba(138,138,138,0.5)}.fg-color-245.reverse-video{background-color:#8a8a8a !important}.bg-color-246{background-color:#949494}.bg-color-246.reverse-video{color:#949494 !important}.fg-color-246{color:#949494;text-shadow:0 0 6px rgba(148,148,148,0.5)}.fg-color-246.reverse-video{background-color:#949494 !important}.bg-color-247{background-color:#9e9e9e}.bg-color-247.reverse-video{color:#9e9e9e !important}.fg-color-247{color:#9e9e9e;text-shadow:0 0 6px rgba(158,158,158,0.5)}.fg-color-247.reverse-video{background-color:#9e9e9e !important}.bg-color-248{background-color:#a8a8a8}.bg-color-248.reverse-video{color:#a8a8a8 !important}.fg-color-248{color:#a8a8a8;text-shadow:0 0 6px rgba(168,168,168,0.5)}.fg-color-248.reverse-video{background-color:#a8a8a8 !important}.bg-color-249{background-color:#b2b2b2}.bg-color-249.reverse-video{color:#b2b2b2 !important}.fg-color-249{color:#b2b2b2;text-shadow:0 0 6px rgba(178,178,178,0.5)}.fg-color-249.reverse-video{background-color:#b2b2b2 !important}.bg-color-250{background-color:#bcbcbc}.bg-color-250.reverse-video{color:#bcbcbc !important}.fg-color-250{color:#bcbcbc;text-shadow:0 0 6px rgba(188,188,188,0.5)}.fg-color-250.reverse-video{background-color:#bcbcbc !important}.bg-color-251{background-color:#c6c6c6}.bg-color-251.reverse-video{color:#c6c6c6 !important}.fg-color-251{color:#c6c6c6;text-shadow:0 0 6px rgba(198,198,198,0.5)}.fg-color-251.reverse-video{background-color:#c6c6c6 !important}.bg-color-252{background-color:#d0d0d0}.bg-color-252.reverse-video{color:#d0d0d0 !important}.fg-color-252{color:#d0d0d0;text-shadow:0 0 6px rgba(208,208,208,0.5)}.fg-color-252.reverse-video{background-color:#d0d0d0 !important}.bg-color-253{background-color:#dadada}.bg-color-253.reverse-video{color:#dadada !important}.fg-color-253{color:#dadada;text-shadow:0 0 6px rgba(218,218,218,0.5)}.fg-color-253.reverse-video{background-color:#dadada !important}.bg-color-254{background-color:#e4e4e4}.bg-color-254.reverse-video{color:#e4e4e4 !important}.fg-color-254{color:#e4e4e4;text-shadow:0 0 6px rgba(228,228,228,0.5)}.fg-color-254.reverse-video{background-color:#e4e4e4 !important}.bg-color-255{background-color:#eee}.bg-color-255.reverse-video{color:#eee !important}.fg-color-255{color:#eee;text-shadow:0 0 6px rgba(238,238,238,0.5)}.fg-color-255.reverse-video{background-color:#eee !important}.bg-color-256{background-color:#110f13}.bg-color-256.reverse-video{color:#110f13 !important}.fg-color-256{color:#110f13;text-shadow:0 0 6px rgba(17,15,19,0.5)}.fg-color-256.reverse-video{background-color:#110f13 !important}.bg-color-257{background-color:#f4ead5}.bg-color-257.reverse-video{color:#f4ead5 !important}.fg-color-257{color:#f4ead5;text-shadow:0 0 6px rgba(244,234,213,0.5)}.fg-color-257.reverse-video{background-color:#f4ead5 !important}
+/* *-* coding: utf-8 *-* */
+/* This file is part of butterfly */
+/* */
+/* butterfly Copyright (C) 2014 Florian Mounier */
+/* This program is free software: you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation, either version 3 of the License, or */
+/* (at your option) any later version. */
+/* */
+/* This program is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
+/* GNU General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program. If not, see . */
+@font-face {
+ font-family: "SourceCodePro";
+ src: url('/static/fonts/');
+ src: url('/static/fonts/?#iefix') format('embedded-opentype'), url('/static/fonts/SourceCodePro-ExtraLight.otf') format('opentype');
+ font-weight: 100;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: "SourceCodePro";
+ src: url('/static/fonts/');
+ src: url('/static/fonts/?#iefix') format('embedded-opentype'), url('/static/fonts/SourceCodePro-Light.otf') format('opentype');
+ font-weight: 300;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: "SourceCodePro";
+ src: url('/static/fonts/');
+ src: url('/static/fonts/?#iefix') format('embedded-opentype'), url('/static/fonts/SourceCodePro-Regular.otf') format('opentype');
+ font-weight: 400;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: "SourceCodePro";
+ src: url('/static/fonts/');
+ src: url('/static/fonts/?#iefix') format('embedded-opentype'), url('/static/fonts/SourceCodePro-Medium.otf') format('opentype');
+ font-weight: 500;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: "SourceCodePro";
+ src: url('/static/fonts/');
+ src: url('/static/fonts/?#iefix') format('embedded-opentype'), url('/static/fonts/SourceCodePro-Semibold.otf') format('opentype');
+ font-weight: 600;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: "SourceCodePro";
+ src: url('/static/fonts/');
+ src: url('/static/fonts/?#iefix') format('embedded-opentype'), url('/static/fonts/SourceCodePro-Bold.otf') format('opentype');
+ font-weight: 700;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: "SourceCodePro";
+ src: url('/static/fonts/');
+ src: url('/static/fonts/?#iefix') format('embedded-opentype'), url('/static/fonts/SourceCodePro-Black.otf') format('opentype');
+ font-weight: 900;
+ font-style: normal;
+}
+
+/* line 34, ../sass/main.sass */
+html, body {
+ height: 100%;
+ font-family: "SourceCodePro";
+ margin: 0;
+ padding: 0;
+ line-height: 1.2;
+}
+
+/* line 42, ../sass/main.sass */
+#wrapper {
+ height: 100%;
+ background-color: #110f13;
+ overflow: hidden;
+ white-space: nowrap;
+}
+
+/* line 48, ../sass/main.sass */
+.terminal {
+ outline: none;
+ background-color: #110f13;
+ color: #f4ead5;
+ text-shadow: 0 0 6px rgba(244, 234, 213, 0.5);
+ -webkit-transition: 200ms;
+ -moz-transition: 200ms;
+ -o-transition: 200ms;
+ transition: 200ms;
+}
+/* line 55, ../sass/main.sass */
+.terminal.bell {
+ -webkit-filter: blur(2px);
+ -moz-filter: blur(2px);
+ filter: blur(2px);
+}
+/* line 58, ../sass/main.sass */
+.terminal.skip {
+ -webkit-filter: sepia(1);
+ -moz-filter: sepia(1);
+ filter: sepia(1);
+}
+/* line 61, ../sass/main.sass */
+.terminal.selection {
+ -webkit-filter: saturate(2);
+ -moz-filter: saturate(2);
+ filter: saturate(2);
+}
+
+/* line 64, ../sass/main.sass */
+.line {
+ overflow: visible;
+}
+/* line 67, ../sass/main.sass */
+.line .inline-html {
+ white-space: normal;
+}
+
+/* line 71, ../sass/main.sass */
+.focus .cursor {
+ -webkit-transition: 300ms;
+ -moz-transition: 300ms;
+ -o-transition: 300ms;
+ transition: 300ms;
+}
+
+/* line 74, ../sass/main.sass */
+.cursor.reverse-video {
+ box-shadow: 0 0 10px #f4ead5;
+}
+
+/* Terminal styles */
+/* line 78, ../sass/main.sass */
+.bold {
+ font-weight: bold;
+}
+
+/* line 81, ../sass/main.sass */
+.underline {
+ text-decoration: underline;
+}
+
+/* line 84, ../sass/main.sass */
+.blink {
+ text-decoration: blink;
+}
+
+/* line 87, ../sass/main.sass */
+.invisible {
+ visibility: hidden;
+}
+
+/* line 90, ../sass/main.sass */
+.reverse-video {
+ color: #110f13;
+ background-color: #f4ead5;
+}
+
+/* line 94, ../sass/main.sass */
+.blur .cursor.reverse-video {
+ background: none;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-0 {
+ background-color: #2e3436;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-0.reverse-video {
+ color: #2e3436 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-0 {
+ color: #2e3436;
+ text-shadow: 0 0 6px rgba(46, 52, 54, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-0.reverse-video {
+ background-color: #2e3436 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-1 {
+ background-color: #cc0000;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-1.reverse-video {
+ color: #cc0000 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-1 {
+ color: #cc0000;
+ text-shadow: 0 0 6px rgba(204, 0, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-1.reverse-video {
+ background-color: #cc0000 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-2 {
+ background-color: #4e9a06;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-2.reverse-video {
+ color: #4e9a06 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-2 {
+ color: #4e9a06;
+ text-shadow: 0 0 6px rgba(78, 154, 6, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-2.reverse-video {
+ background-color: #4e9a06 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-3 {
+ background-color: #c4a000;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-3.reverse-video {
+ color: #c4a000 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-3 {
+ color: #c4a000;
+ text-shadow: 0 0 6px rgba(196, 160, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-3.reverse-video {
+ background-color: #c4a000 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-4 {
+ background-color: #3465a4;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-4.reverse-video {
+ color: #3465a4 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-4 {
+ color: #3465a4;
+ text-shadow: 0 0 6px rgba(52, 101, 164, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-4.reverse-video {
+ background-color: #3465a4 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-5 {
+ background-color: #75507b;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-5.reverse-video {
+ color: #75507b !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-5 {
+ color: #75507b;
+ text-shadow: 0 0 6px rgba(117, 80, 123, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-5.reverse-video {
+ background-color: #75507b !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-6 {
+ background-color: #06989a;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-6.reverse-video {
+ color: #06989a !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-6 {
+ color: #06989a;
+ text-shadow: 0 0 6px rgba(6, 152, 154, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-6.reverse-video {
+ background-color: #06989a !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-7 {
+ background-color: #d3d7cf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-7.reverse-video {
+ color: #d3d7cf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-7 {
+ color: #d3d7cf;
+ text-shadow: 0 0 6px rgba(211, 215, 207, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-7.reverse-video {
+ background-color: #d3d7cf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-8 {
+ background-color: #555753;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-8.reverse-video {
+ color: #555753 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-8 {
+ color: #555753;
+ text-shadow: 0 0 6px rgba(85, 87, 83, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-8.reverse-video {
+ background-color: #555753 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-9 {
+ background-color: #ef2929;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-9.reverse-video {
+ color: #ef2929 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-9 {
+ color: #ef2929;
+ text-shadow: 0 0 6px rgba(239, 41, 41, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-9.reverse-video {
+ background-color: #ef2929 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-10 {
+ background-color: #8ae234;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-10.reverse-video {
+ color: #8ae234 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-10 {
+ color: #8ae234;
+ text-shadow: 0 0 6px rgba(138, 226, 52, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-10.reverse-video {
+ background-color: #8ae234 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-11 {
+ background-color: #fce94f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-11.reverse-video {
+ color: #fce94f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-11 {
+ color: #fce94f;
+ text-shadow: 0 0 6px rgba(252, 233, 79, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-11.reverse-video {
+ background-color: #fce94f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-12 {
+ background-color: #729fcf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-12.reverse-video {
+ color: #729fcf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-12 {
+ color: #729fcf;
+ text-shadow: 0 0 6px rgba(114, 159, 207, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-12.reverse-video {
+ background-color: #729fcf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-13 {
+ background-color: #ad7fa8;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-13.reverse-video {
+ color: #ad7fa8 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-13 {
+ color: #ad7fa8;
+ text-shadow: 0 0 6px rgba(173, 127, 168, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-13.reverse-video {
+ background-color: #ad7fa8 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-14 {
+ background-color: #34e2e2;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-14.reverse-video {
+ color: #34e2e2 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-14 {
+ color: #34e2e2;
+ text-shadow: 0 0 6px rgba(52, 226, 226, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-14.reverse-video {
+ background-color: #34e2e2 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-15 {
+ background-color: #eeeeec;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-15.reverse-video {
+ color: #eeeeec !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-15 {
+ color: #eeeeec;
+ text-shadow: 0 0 6px rgba(238, 238, 236, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-15.reverse-video {
+ background-color: #eeeeec !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-16 {
+ background-color: black;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-16.reverse-video {
+ color: black !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-16 {
+ color: black;
+ text-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-16.reverse-video {
+ background-color: black !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-17 {
+ background-color: #00005f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-17.reverse-video {
+ color: #00005f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-17 {
+ color: #00005f;
+ text-shadow: 0 0 6px rgba(0, 0, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-17.reverse-video {
+ background-color: #00005f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-18 {
+ background-color: #000087;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-18.reverse-video {
+ color: #000087 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-18 {
+ color: #000087;
+ text-shadow: 0 0 6px rgba(0, 0, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-18.reverse-video {
+ background-color: #000087 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-19 {
+ background-color: #0000af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-19.reverse-video {
+ color: #0000af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-19 {
+ color: #0000af;
+ text-shadow: 0 0 6px rgba(0, 0, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-19.reverse-video {
+ background-color: #0000af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-20 {
+ background-color: #0000d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-20.reverse-video {
+ color: #0000d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-20 {
+ color: #0000d7;
+ text-shadow: 0 0 6px rgba(0, 0, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-20.reverse-video {
+ background-color: #0000d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-21 {
+ background-color: blue;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-21.reverse-video {
+ color: blue !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-21 {
+ color: blue;
+ text-shadow: 0 0 6px rgba(0, 0, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-21.reverse-video {
+ background-color: blue !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-22 {
+ background-color: #005f00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-22.reverse-video {
+ color: #005f00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-22 {
+ color: #005f00;
+ text-shadow: 0 0 6px rgba(0, 95, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-22.reverse-video {
+ background-color: #005f00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-23 {
+ background-color: #005f5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-23.reverse-video {
+ color: #005f5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-23 {
+ color: #005f5f;
+ text-shadow: 0 0 6px rgba(0, 95, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-23.reverse-video {
+ background-color: #005f5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-24 {
+ background-color: #005f87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-24.reverse-video {
+ color: #005f87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-24 {
+ color: #005f87;
+ text-shadow: 0 0 6px rgba(0, 95, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-24.reverse-video {
+ background-color: #005f87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-25 {
+ background-color: #005faf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-25.reverse-video {
+ color: #005faf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-25 {
+ color: #005faf;
+ text-shadow: 0 0 6px rgba(0, 95, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-25.reverse-video {
+ background-color: #005faf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-26 {
+ background-color: #005fd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-26.reverse-video {
+ color: #005fd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-26 {
+ color: #005fd7;
+ text-shadow: 0 0 6px rgba(0, 95, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-26.reverse-video {
+ background-color: #005fd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-27 {
+ background-color: #005fff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-27.reverse-video {
+ color: #005fff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-27 {
+ color: #005fff;
+ text-shadow: 0 0 6px rgba(0, 95, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-27.reverse-video {
+ background-color: #005fff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-28 {
+ background-color: #008700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-28.reverse-video {
+ color: #008700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-28 {
+ color: #008700;
+ text-shadow: 0 0 6px rgba(0, 135, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-28.reverse-video {
+ background-color: #008700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-29 {
+ background-color: #00875f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-29.reverse-video {
+ color: #00875f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-29 {
+ color: #00875f;
+ text-shadow: 0 0 6px rgba(0, 135, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-29.reverse-video {
+ background-color: #00875f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-30 {
+ background-color: #008787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-30.reverse-video {
+ color: #008787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-30 {
+ color: #008787;
+ text-shadow: 0 0 6px rgba(0, 135, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-30.reverse-video {
+ background-color: #008787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-31 {
+ background-color: #0087af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-31.reverse-video {
+ color: #0087af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-31 {
+ color: #0087af;
+ text-shadow: 0 0 6px rgba(0, 135, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-31.reverse-video {
+ background-color: #0087af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-32 {
+ background-color: #0087d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-32.reverse-video {
+ color: #0087d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-32 {
+ color: #0087d7;
+ text-shadow: 0 0 6px rgba(0, 135, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-32.reverse-video {
+ background-color: #0087d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-33 {
+ background-color: #0087ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-33.reverse-video {
+ color: #0087ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-33 {
+ color: #0087ff;
+ text-shadow: 0 0 6px rgba(0, 135, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-33.reverse-video {
+ background-color: #0087ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-34 {
+ background-color: #00af00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-34.reverse-video {
+ color: #00af00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-34 {
+ color: #00af00;
+ text-shadow: 0 0 6px rgba(0, 175, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-34.reverse-video {
+ background-color: #00af00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-35 {
+ background-color: #00af5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-35.reverse-video {
+ color: #00af5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-35 {
+ color: #00af5f;
+ text-shadow: 0 0 6px rgba(0, 175, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-35.reverse-video {
+ background-color: #00af5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-36 {
+ background-color: #00af87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-36.reverse-video {
+ color: #00af87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-36 {
+ color: #00af87;
+ text-shadow: 0 0 6px rgba(0, 175, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-36.reverse-video {
+ background-color: #00af87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-37 {
+ background-color: #00afaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-37.reverse-video {
+ color: #00afaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-37 {
+ color: #00afaf;
+ text-shadow: 0 0 6px rgba(0, 175, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-37.reverse-video {
+ background-color: #00afaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-38 {
+ background-color: #00afd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-38.reverse-video {
+ color: #00afd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-38 {
+ color: #00afd7;
+ text-shadow: 0 0 6px rgba(0, 175, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-38.reverse-video {
+ background-color: #00afd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-39 {
+ background-color: #00afff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-39.reverse-video {
+ color: #00afff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-39 {
+ color: #00afff;
+ text-shadow: 0 0 6px rgba(0, 175, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-39.reverse-video {
+ background-color: #00afff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-40 {
+ background-color: #00d700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-40.reverse-video {
+ color: #00d700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-40 {
+ color: #00d700;
+ text-shadow: 0 0 6px rgba(0, 215, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-40.reverse-video {
+ background-color: #00d700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-41 {
+ background-color: #00d75f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-41.reverse-video {
+ color: #00d75f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-41 {
+ color: #00d75f;
+ text-shadow: 0 0 6px rgba(0, 215, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-41.reverse-video {
+ background-color: #00d75f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-42 {
+ background-color: #00d787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-42.reverse-video {
+ color: #00d787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-42 {
+ color: #00d787;
+ text-shadow: 0 0 6px rgba(0, 215, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-42.reverse-video {
+ background-color: #00d787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-43 {
+ background-color: #00d7af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-43.reverse-video {
+ color: #00d7af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-43 {
+ color: #00d7af;
+ text-shadow: 0 0 6px rgba(0, 215, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-43.reverse-video {
+ background-color: #00d7af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-44 {
+ background-color: #00d7d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-44.reverse-video {
+ color: #00d7d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-44 {
+ color: #00d7d7;
+ text-shadow: 0 0 6px rgba(0, 215, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-44.reverse-video {
+ background-color: #00d7d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-45 {
+ background-color: #00d7ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-45.reverse-video {
+ color: #00d7ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-45 {
+ color: #00d7ff;
+ text-shadow: 0 0 6px rgba(0, 215, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-45.reverse-video {
+ background-color: #00d7ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-46 {
+ background-color: lime;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-46.reverse-video {
+ color: lime !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-46 {
+ color: lime;
+ text-shadow: 0 0 6px rgba(0, 255, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-46.reverse-video {
+ background-color: lime !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-47 {
+ background-color: #00ff5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-47.reverse-video {
+ color: #00ff5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-47 {
+ color: #00ff5f;
+ text-shadow: 0 0 6px rgba(0, 255, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-47.reverse-video {
+ background-color: #00ff5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-48 {
+ background-color: #00ff87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-48.reverse-video {
+ color: #00ff87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-48 {
+ color: #00ff87;
+ text-shadow: 0 0 6px rgba(0, 255, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-48.reverse-video {
+ background-color: #00ff87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-49 {
+ background-color: #00ffaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-49.reverse-video {
+ color: #00ffaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-49 {
+ color: #00ffaf;
+ text-shadow: 0 0 6px rgba(0, 255, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-49.reverse-video {
+ background-color: #00ffaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-50 {
+ background-color: #00ffd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-50.reverse-video {
+ color: #00ffd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-50 {
+ color: #00ffd7;
+ text-shadow: 0 0 6px rgba(0, 255, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-50.reverse-video {
+ background-color: #00ffd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-51 {
+ background-color: cyan;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-51.reverse-video {
+ color: cyan !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-51 {
+ color: cyan;
+ text-shadow: 0 0 6px rgba(0, 255, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-51.reverse-video {
+ background-color: cyan !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-52 {
+ background-color: #5f0000;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-52.reverse-video {
+ color: #5f0000 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-52 {
+ color: #5f0000;
+ text-shadow: 0 0 6px rgba(95, 0, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-52.reverse-video {
+ background-color: #5f0000 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-53 {
+ background-color: #5f005f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-53.reverse-video {
+ color: #5f005f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-53 {
+ color: #5f005f;
+ text-shadow: 0 0 6px rgba(95, 0, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-53.reverse-video {
+ background-color: #5f005f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-54 {
+ background-color: #5f0087;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-54.reverse-video {
+ color: #5f0087 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-54 {
+ color: #5f0087;
+ text-shadow: 0 0 6px rgba(95, 0, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-54.reverse-video {
+ background-color: #5f0087 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-55 {
+ background-color: #5f00af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-55.reverse-video {
+ color: #5f00af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-55 {
+ color: #5f00af;
+ text-shadow: 0 0 6px rgba(95, 0, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-55.reverse-video {
+ background-color: #5f00af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-56 {
+ background-color: #5f00d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-56.reverse-video {
+ color: #5f00d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-56 {
+ color: #5f00d7;
+ text-shadow: 0 0 6px rgba(95, 0, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-56.reverse-video {
+ background-color: #5f00d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-57 {
+ background-color: #5f00ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-57.reverse-video {
+ color: #5f00ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-57 {
+ color: #5f00ff;
+ text-shadow: 0 0 6px rgba(95, 0, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-57.reverse-video {
+ background-color: #5f00ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-58 {
+ background-color: #5f5f00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-58.reverse-video {
+ color: #5f5f00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-58 {
+ color: #5f5f00;
+ text-shadow: 0 0 6px rgba(95, 95, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-58.reverse-video {
+ background-color: #5f5f00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-59 {
+ background-color: #5f5f5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-59.reverse-video {
+ color: #5f5f5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-59 {
+ color: #5f5f5f;
+ text-shadow: 0 0 6px rgba(95, 95, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-59.reverse-video {
+ background-color: #5f5f5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-60 {
+ background-color: #5f5f87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-60.reverse-video {
+ color: #5f5f87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-60 {
+ color: #5f5f87;
+ text-shadow: 0 0 6px rgba(95, 95, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-60.reverse-video {
+ background-color: #5f5f87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-61 {
+ background-color: #5f5faf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-61.reverse-video {
+ color: #5f5faf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-61 {
+ color: #5f5faf;
+ text-shadow: 0 0 6px rgba(95, 95, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-61.reverse-video {
+ background-color: #5f5faf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-62 {
+ background-color: #5f5fd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-62.reverse-video {
+ color: #5f5fd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-62 {
+ color: #5f5fd7;
+ text-shadow: 0 0 6px rgba(95, 95, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-62.reverse-video {
+ background-color: #5f5fd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-63 {
+ background-color: #5f5fff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-63.reverse-video {
+ color: #5f5fff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-63 {
+ color: #5f5fff;
+ text-shadow: 0 0 6px rgba(95, 95, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-63.reverse-video {
+ background-color: #5f5fff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-64 {
+ background-color: #5f8700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-64.reverse-video {
+ color: #5f8700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-64 {
+ color: #5f8700;
+ text-shadow: 0 0 6px rgba(95, 135, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-64.reverse-video {
+ background-color: #5f8700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-65 {
+ background-color: #5f875f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-65.reverse-video {
+ color: #5f875f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-65 {
+ color: #5f875f;
+ text-shadow: 0 0 6px rgba(95, 135, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-65.reverse-video {
+ background-color: #5f875f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-66 {
+ background-color: #5f8787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-66.reverse-video {
+ color: #5f8787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-66 {
+ color: #5f8787;
+ text-shadow: 0 0 6px rgba(95, 135, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-66.reverse-video {
+ background-color: #5f8787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-67 {
+ background-color: #5f87af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-67.reverse-video {
+ color: #5f87af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-67 {
+ color: #5f87af;
+ text-shadow: 0 0 6px rgba(95, 135, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-67.reverse-video {
+ background-color: #5f87af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-68 {
+ background-color: #5f87d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-68.reverse-video {
+ color: #5f87d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-68 {
+ color: #5f87d7;
+ text-shadow: 0 0 6px rgba(95, 135, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-68.reverse-video {
+ background-color: #5f87d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-69 {
+ background-color: #5f87ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-69.reverse-video {
+ color: #5f87ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-69 {
+ color: #5f87ff;
+ text-shadow: 0 0 6px rgba(95, 135, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-69.reverse-video {
+ background-color: #5f87ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-70 {
+ background-color: #5faf00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-70.reverse-video {
+ color: #5faf00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-70 {
+ color: #5faf00;
+ text-shadow: 0 0 6px rgba(95, 175, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-70.reverse-video {
+ background-color: #5faf00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-71 {
+ background-color: #5faf5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-71.reverse-video {
+ color: #5faf5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-71 {
+ color: #5faf5f;
+ text-shadow: 0 0 6px rgba(95, 175, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-71.reverse-video {
+ background-color: #5faf5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-72 {
+ background-color: #5faf87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-72.reverse-video {
+ color: #5faf87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-72 {
+ color: #5faf87;
+ text-shadow: 0 0 6px rgba(95, 175, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-72.reverse-video {
+ background-color: #5faf87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-73 {
+ background-color: #5fafaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-73.reverse-video {
+ color: #5fafaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-73 {
+ color: #5fafaf;
+ text-shadow: 0 0 6px rgba(95, 175, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-73.reverse-video {
+ background-color: #5fafaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-74 {
+ background-color: #5fafd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-74.reverse-video {
+ color: #5fafd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-74 {
+ color: #5fafd7;
+ text-shadow: 0 0 6px rgba(95, 175, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-74.reverse-video {
+ background-color: #5fafd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-75 {
+ background-color: #5fafff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-75.reverse-video {
+ color: #5fafff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-75 {
+ color: #5fafff;
+ text-shadow: 0 0 6px rgba(95, 175, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-75.reverse-video {
+ background-color: #5fafff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-76 {
+ background-color: #5fd700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-76.reverse-video {
+ color: #5fd700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-76 {
+ color: #5fd700;
+ text-shadow: 0 0 6px rgba(95, 215, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-76.reverse-video {
+ background-color: #5fd700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-77 {
+ background-color: #5fd75f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-77.reverse-video {
+ color: #5fd75f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-77 {
+ color: #5fd75f;
+ text-shadow: 0 0 6px rgba(95, 215, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-77.reverse-video {
+ background-color: #5fd75f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-78 {
+ background-color: #5fd787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-78.reverse-video {
+ color: #5fd787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-78 {
+ color: #5fd787;
+ text-shadow: 0 0 6px rgba(95, 215, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-78.reverse-video {
+ background-color: #5fd787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-79 {
+ background-color: #5fd7af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-79.reverse-video {
+ color: #5fd7af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-79 {
+ color: #5fd7af;
+ text-shadow: 0 0 6px rgba(95, 215, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-79.reverse-video {
+ background-color: #5fd7af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-80 {
+ background-color: #5fd7d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-80.reverse-video {
+ color: #5fd7d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-80 {
+ color: #5fd7d7;
+ text-shadow: 0 0 6px rgba(95, 215, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-80.reverse-video {
+ background-color: #5fd7d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-81 {
+ background-color: #5fd7ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-81.reverse-video {
+ color: #5fd7ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-81 {
+ color: #5fd7ff;
+ text-shadow: 0 0 6px rgba(95, 215, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-81.reverse-video {
+ background-color: #5fd7ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-82 {
+ background-color: #5fff00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-82.reverse-video {
+ color: #5fff00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-82 {
+ color: #5fff00;
+ text-shadow: 0 0 6px rgba(95, 255, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-82.reverse-video {
+ background-color: #5fff00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-83 {
+ background-color: #5fff5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-83.reverse-video {
+ color: #5fff5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-83 {
+ color: #5fff5f;
+ text-shadow: 0 0 6px rgba(95, 255, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-83.reverse-video {
+ background-color: #5fff5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-84 {
+ background-color: #5fff87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-84.reverse-video {
+ color: #5fff87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-84 {
+ color: #5fff87;
+ text-shadow: 0 0 6px rgba(95, 255, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-84.reverse-video {
+ background-color: #5fff87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-85 {
+ background-color: #5fffaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-85.reverse-video {
+ color: #5fffaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-85 {
+ color: #5fffaf;
+ text-shadow: 0 0 6px rgba(95, 255, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-85.reverse-video {
+ background-color: #5fffaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-86 {
+ background-color: #5fffd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-86.reverse-video {
+ color: #5fffd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-86 {
+ color: #5fffd7;
+ text-shadow: 0 0 6px rgba(95, 255, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-86.reverse-video {
+ background-color: #5fffd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-87 {
+ background-color: #5fffff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-87.reverse-video {
+ color: #5fffff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-87 {
+ color: #5fffff;
+ text-shadow: 0 0 6px rgba(95, 255, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-87.reverse-video {
+ background-color: #5fffff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-88 {
+ background-color: #870000;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-88.reverse-video {
+ color: #870000 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-88 {
+ color: #870000;
+ text-shadow: 0 0 6px rgba(135, 0, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-88.reverse-video {
+ background-color: #870000 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-89 {
+ background-color: #87005f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-89.reverse-video {
+ color: #87005f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-89 {
+ color: #87005f;
+ text-shadow: 0 0 6px rgba(135, 0, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-89.reverse-video {
+ background-color: #87005f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-90 {
+ background-color: #870087;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-90.reverse-video {
+ color: #870087 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-90 {
+ color: #870087;
+ text-shadow: 0 0 6px rgba(135, 0, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-90.reverse-video {
+ background-color: #870087 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-91 {
+ background-color: #8700af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-91.reverse-video {
+ color: #8700af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-91 {
+ color: #8700af;
+ text-shadow: 0 0 6px rgba(135, 0, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-91.reverse-video {
+ background-color: #8700af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-92 {
+ background-color: #8700d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-92.reverse-video {
+ color: #8700d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-92 {
+ color: #8700d7;
+ text-shadow: 0 0 6px rgba(135, 0, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-92.reverse-video {
+ background-color: #8700d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-93 {
+ background-color: #8700ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-93.reverse-video {
+ color: #8700ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-93 {
+ color: #8700ff;
+ text-shadow: 0 0 6px rgba(135, 0, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-93.reverse-video {
+ background-color: #8700ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-94 {
+ background-color: #875f00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-94.reverse-video {
+ color: #875f00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-94 {
+ color: #875f00;
+ text-shadow: 0 0 6px rgba(135, 95, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-94.reverse-video {
+ background-color: #875f00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-95 {
+ background-color: #875f5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-95.reverse-video {
+ color: #875f5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-95 {
+ color: #875f5f;
+ text-shadow: 0 0 6px rgba(135, 95, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-95.reverse-video {
+ background-color: #875f5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-96 {
+ background-color: #875f87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-96.reverse-video {
+ color: #875f87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-96 {
+ color: #875f87;
+ text-shadow: 0 0 6px rgba(135, 95, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-96.reverse-video {
+ background-color: #875f87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-97 {
+ background-color: #875faf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-97.reverse-video {
+ color: #875faf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-97 {
+ color: #875faf;
+ text-shadow: 0 0 6px rgba(135, 95, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-97.reverse-video {
+ background-color: #875faf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-98 {
+ background-color: #875fd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-98.reverse-video {
+ color: #875fd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-98 {
+ color: #875fd7;
+ text-shadow: 0 0 6px rgba(135, 95, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-98.reverse-video {
+ background-color: #875fd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-99 {
+ background-color: #875fff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-99.reverse-video {
+ color: #875fff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-99 {
+ color: #875fff;
+ text-shadow: 0 0 6px rgba(135, 95, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-99.reverse-video {
+ background-color: #875fff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-100 {
+ background-color: #878700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-100.reverse-video {
+ color: #878700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-100 {
+ color: #878700;
+ text-shadow: 0 0 6px rgba(135, 135, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-100.reverse-video {
+ background-color: #878700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-101 {
+ background-color: #87875f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-101.reverse-video {
+ color: #87875f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-101 {
+ color: #87875f;
+ text-shadow: 0 0 6px rgba(135, 135, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-101.reverse-video {
+ background-color: #87875f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-102 {
+ background-color: #878787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-102.reverse-video {
+ color: #878787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-102 {
+ color: #878787;
+ text-shadow: 0 0 6px rgba(135, 135, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-102.reverse-video {
+ background-color: #878787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-103 {
+ background-color: #8787af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-103.reverse-video {
+ color: #8787af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-103 {
+ color: #8787af;
+ text-shadow: 0 0 6px rgba(135, 135, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-103.reverse-video {
+ background-color: #8787af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-104 {
+ background-color: #8787d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-104.reverse-video {
+ color: #8787d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-104 {
+ color: #8787d7;
+ text-shadow: 0 0 6px rgba(135, 135, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-104.reverse-video {
+ background-color: #8787d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-105 {
+ background-color: #8787ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-105.reverse-video {
+ color: #8787ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-105 {
+ color: #8787ff;
+ text-shadow: 0 0 6px rgba(135, 135, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-105.reverse-video {
+ background-color: #8787ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-106 {
+ background-color: #87af00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-106.reverse-video {
+ color: #87af00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-106 {
+ color: #87af00;
+ text-shadow: 0 0 6px rgba(135, 175, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-106.reverse-video {
+ background-color: #87af00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-107 {
+ background-color: #87af5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-107.reverse-video {
+ color: #87af5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-107 {
+ color: #87af5f;
+ text-shadow: 0 0 6px rgba(135, 175, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-107.reverse-video {
+ background-color: #87af5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-108 {
+ background-color: #87af87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-108.reverse-video {
+ color: #87af87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-108 {
+ color: #87af87;
+ text-shadow: 0 0 6px rgba(135, 175, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-108.reverse-video {
+ background-color: #87af87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-109 {
+ background-color: #87afaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-109.reverse-video {
+ color: #87afaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-109 {
+ color: #87afaf;
+ text-shadow: 0 0 6px rgba(135, 175, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-109.reverse-video {
+ background-color: #87afaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-110 {
+ background-color: #87afd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-110.reverse-video {
+ color: #87afd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-110 {
+ color: #87afd7;
+ text-shadow: 0 0 6px rgba(135, 175, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-110.reverse-video {
+ background-color: #87afd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-111 {
+ background-color: #87afff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-111.reverse-video {
+ color: #87afff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-111 {
+ color: #87afff;
+ text-shadow: 0 0 6px rgba(135, 175, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-111.reverse-video {
+ background-color: #87afff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-112 {
+ background-color: #87d700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-112.reverse-video {
+ color: #87d700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-112 {
+ color: #87d700;
+ text-shadow: 0 0 6px rgba(135, 215, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-112.reverse-video {
+ background-color: #87d700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-113 {
+ background-color: #87d75f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-113.reverse-video {
+ color: #87d75f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-113 {
+ color: #87d75f;
+ text-shadow: 0 0 6px rgba(135, 215, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-113.reverse-video {
+ background-color: #87d75f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-114 {
+ background-color: #87d787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-114.reverse-video {
+ color: #87d787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-114 {
+ color: #87d787;
+ text-shadow: 0 0 6px rgba(135, 215, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-114.reverse-video {
+ background-color: #87d787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-115 {
+ background-color: #87d7af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-115.reverse-video {
+ color: #87d7af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-115 {
+ color: #87d7af;
+ text-shadow: 0 0 6px rgba(135, 215, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-115.reverse-video {
+ background-color: #87d7af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-116 {
+ background-color: #87d7d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-116.reverse-video {
+ color: #87d7d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-116 {
+ color: #87d7d7;
+ text-shadow: 0 0 6px rgba(135, 215, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-116.reverse-video {
+ background-color: #87d7d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-117 {
+ background-color: #87d7ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-117.reverse-video {
+ color: #87d7ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-117 {
+ color: #87d7ff;
+ text-shadow: 0 0 6px rgba(135, 215, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-117.reverse-video {
+ background-color: #87d7ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-118 {
+ background-color: #87ff00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-118.reverse-video {
+ color: #87ff00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-118 {
+ color: #87ff00;
+ text-shadow: 0 0 6px rgba(135, 255, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-118.reverse-video {
+ background-color: #87ff00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-119 {
+ background-color: #87ff5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-119.reverse-video {
+ color: #87ff5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-119 {
+ color: #87ff5f;
+ text-shadow: 0 0 6px rgba(135, 255, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-119.reverse-video {
+ background-color: #87ff5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-120 {
+ background-color: #87ff87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-120.reverse-video {
+ color: #87ff87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-120 {
+ color: #87ff87;
+ text-shadow: 0 0 6px rgba(135, 255, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-120.reverse-video {
+ background-color: #87ff87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-121 {
+ background-color: #87ffaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-121.reverse-video {
+ color: #87ffaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-121 {
+ color: #87ffaf;
+ text-shadow: 0 0 6px rgba(135, 255, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-121.reverse-video {
+ background-color: #87ffaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-122 {
+ background-color: #87ffd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-122.reverse-video {
+ color: #87ffd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-122 {
+ color: #87ffd7;
+ text-shadow: 0 0 6px rgba(135, 255, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-122.reverse-video {
+ background-color: #87ffd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-123 {
+ background-color: #87ffff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-123.reverse-video {
+ color: #87ffff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-123 {
+ color: #87ffff;
+ text-shadow: 0 0 6px rgba(135, 255, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-123.reverse-video {
+ background-color: #87ffff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-124 {
+ background-color: #af0000;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-124.reverse-video {
+ color: #af0000 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-124 {
+ color: #af0000;
+ text-shadow: 0 0 6px rgba(175, 0, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-124.reverse-video {
+ background-color: #af0000 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-125 {
+ background-color: #af005f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-125.reverse-video {
+ color: #af005f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-125 {
+ color: #af005f;
+ text-shadow: 0 0 6px rgba(175, 0, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-125.reverse-video {
+ background-color: #af005f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-126 {
+ background-color: #af0087;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-126.reverse-video {
+ color: #af0087 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-126 {
+ color: #af0087;
+ text-shadow: 0 0 6px rgba(175, 0, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-126.reverse-video {
+ background-color: #af0087 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-127 {
+ background-color: #af00af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-127.reverse-video {
+ color: #af00af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-127 {
+ color: #af00af;
+ text-shadow: 0 0 6px rgba(175, 0, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-127.reverse-video {
+ background-color: #af00af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-128 {
+ background-color: #af00d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-128.reverse-video {
+ color: #af00d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-128 {
+ color: #af00d7;
+ text-shadow: 0 0 6px rgba(175, 0, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-128.reverse-video {
+ background-color: #af00d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-129 {
+ background-color: #af00ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-129.reverse-video {
+ color: #af00ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-129 {
+ color: #af00ff;
+ text-shadow: 0 0 6px rgba(175, 0, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-129.reverse-video {
+ background-color: #af00ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-130 {
+ background-color: #af5f00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-130.reverse-video {
+ color: #af5f00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-130 {
+ color: #af5f00;
+ text-shadow: 0 0 6px rgba(175, 95, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-130.reverse-video {
+ background-color: #af5f00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-131 {
+ background-color: #af5f5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-131.reverse-video {
+ color: #af5f5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-131 {
+ color: #af5f5f;
+ text-shadow: 0 0 6px rgba(175, 95, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-131.reverse-video {
+ background-color: #af5f5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-132 {
+ background-color: #af5f87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-132.reverse-video {
+ color: #af5f87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-132 {
+ color: #af5f87;
+ text-shadow: 0 0 6px rgba(175, 95, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-132.reverse-video {
+ background-color: #af5f87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-133 {
+ background-color: #af5faf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-133.reverse-video {
+ color: #af5faf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-133 {
+ color: #af5faf;
+ text-shadow: 0 0 6px rgba(175, 95, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-133.reverse-video {
+ background-color: #af5faf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-134 {
+ background-color: #af5fd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-134.reverse-video {
+ color: #af5fd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-134 {
+ color: #af5fd7;
+ text-shadow: 0 0 6px rgba(175, 95, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-134.reverse-video {
+ background-color: #af5fd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-135 {
+ background-color: #af5fff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-135.reverse-video {
+ color: #af5fff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-135 {
+ color: #af5fff;
+ text-shadow: 0 0 6px rgba(175, 95, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-135.reverse-video {
+ background-color: #af5fff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-136 {
+ background-color: #af8700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-136.reverse-video {
+ color: #af8700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-136 {
+ color: #af8700;
+ text-shadow: 0 0 6px rgba(175, 135, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-136.reverse-video {
+ background-color: #af8700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-137 {
+ background-color: #af875f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-137.reverse-video {
+ color: #af875f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-137 {
+ color: #af875f;
+ text-shadow: 0 0 6px rgba(175, 135, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-137.reverse-video {
+ background-color: #af875f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-138 {
+ background-color: #af8787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-138.reverse-video {
+ color: #af8787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-138 {
+ color: #af8787;
+ text-shadow: 0 0 6px rgba(175, 135, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-138.reverse-video {
+ background-color: #af8787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-139 {
+ background-color: #af87af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-139.reverse-video {
+ color: #af87af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-139 {
+ color: #af87af;
+ text-shadow: 0 0 6px rgba(175, 135, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-139.reverse-video {
+ background-color: #af87af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-140 {
+ background-color: #af87d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-140.reverse-video {
+ color: #af87d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-140 {
+ color: #af87d7;
+ text-shadow: 0 0 6px rgba(175, 135, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-140.reverse-video {
+ background-color: #af87d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-141 {
+ background-color: #af87ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-141.reverse-video {
+ color: #af87ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-141 {
+ color: #af87ff;
+ text-shadow: 0 0 6px rgba(175, 135, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-141.reverse-video {
+ background-color: #af87ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-142 {
+ background-color: #afaf00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-142.reverse-video {
+ color: #afaf00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-142 {
+ color: #afaf00;
+ text-shadow: 0 0 6px rgba(175, 175, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-142.reverse-video {
+ background-color: #afaf00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-143 {
+ background-color: #afaf5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-143.reverse-video {
+ color: #afaf5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-143 {
+ color: #afaf5f;
+ text-shadow: 0 0 6px rgba(175, 175, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-143.reverse-video {
+ background-color: #afaf5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-144 {
+ background-color: #afaf87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-144.reverse-video {
+ color: #afaf87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-144 {
+ color: #afaf87;
+ text-shadow: 0 0 6px rgba(175, 175, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-144.reverse-video {
+ background-color: #afaf87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-145 {
+ background-color: #afafaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-145.reverse-video {
+ color: #afafaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-145 {
+ color: #afafaf;
+ text-shadow: 0 0 6px rgba(175, 175, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-145.reverse-video {
+ background-color: #afafaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-146 {
+ background-color: #afafd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-146.reverse-video {
+ color: #afafd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-146 {
+ color: #afafd7;
+ text-shadow: 0 0 6px rgba(175, 175, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-146.reverse-video {
+ background-color: #afafd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-147 {
+ background-color: #afafff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-147.reverse-video {
+ color: #afafff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-147 {
+ color: #afafff;
+ text-shadow: 0 0 6px rgba(175, 175, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-147.reverse-video {
+ background-color: #afafff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-148 {
+ background-color: #afd700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-148.reverse-video {
+ color: #afd700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-148 {
+ color: #afd700;
+ text-shadow: 0 0 6px rgba(175, 215, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-148.reverse-video {
+ background-color: #afd700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-149 {
+ background-color: #afd75f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-149.reverse-video {
+ color: #afd75f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-149 {
+ color: #afd75f;
+ text-shadow: 0 0 6px rgba(175, 215, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-149.reverse-video {
+ background-color: #afd75f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-150 {
+ background-color: #afd787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-150.reverse-video {
+ color: #afd787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-150 {
+ color: #afd787;
+ text-shadow: 0 0 6px rgba(175, 215, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-150.reverse-video {
+ background-color: #afd787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-151 {
+ background-color: #afd7af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-151.reverse-video {
+ color: #afd7af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-151 {
+ color: #afd7af;
+ text-shadow: 0 0 6px rgba(175, 215, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-151.reverse-video {
+ background-color: #afd7af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-152 {
+ background-color: #afd7d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-152.reverse-video {
+ color: #afd7d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-152 {
+ color: #afd7d7;
+ text-shadow: 0 0 6px rgba(175, 215, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-152.reverse-video {
+ background-color: #afd7d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-153 {
+ background-color: #afd7ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-153.reverse-video {
+ color: #afd7ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-153 {
+ color: #afd7ff;
+ text-shadow: 0 0 6px rgba(175, 215, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-153.reverse-video {
+ background-color: #afd7ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-154 {
+ background-color: #afff00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-154.reverse-video {
+ color: #afff00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-154 {
+ color: #afff00;
+ text-shadow: 0 0 6px rgba(175, 255, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-154.reverse-video {
+ background-color: #afff00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-155 {
+ background-color: #afff5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-155.reverse-video {
+ color: #afff5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-155 {
+ color: #afff5f;
+ text-shadow: 0 0 6px rgba(175, 255, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-155.reverse-video {
+ background-color: #afff5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-156 {
+ background-color: #afff87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-156.reverse-video {
+ color: #afff87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-156 {
+ color: #afff87;
+ text-shadow: 0 0 6px rgba(175, 255, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-156.reverse-video {
+ background-color: #afff87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-157 {
+ background-color: #afffaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-157.reverse-video {
+ color: #afffaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-157 {
+ color: #afffaf;
+ text-shadow: 0 0 6px rgba(175, 255, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-157.reverse-video {
+ background-color: #afffaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-158 {
+ background-color: #afffd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-158.reverse-video {
+ color: #afffd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-158 {
+ color: #afffd7;
+ text-shadow: 0 0 6px rgba(175, 255, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-158.reverse-video {
+ background-color: #afffd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-159 {
+ background-color: #afffff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-159.reverse-video {
+ color: #afffff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-159 {
+ color: #afffff;
+ text-shadow: 0 0 6px rgba(175, 255, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-159.reverse-video {
+ background-color: #afffff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-160 {
+ background-color: #d70000;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-160.reverse-video {
+ color: #d70000 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-160 {
+ color: #d70000;
+ text-shadow: 0 0 6px rgba(215, 0, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-160.reverse-video {
+ background-color: #d70000 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-161 {
+ background-color: #d7005f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-161.reverse-video {
+ color: #d7005f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-161 {
+ color: #d7005f;
+ text-shadow: 0 0 6px rgba(215, 0, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-161.reverse-video {
+ background-color: #d7005f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-162 {
+ background-color: #d70087;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-162.reverse-video {
+ color: #d70087 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-162 {
+ color: #d70087;
+ text-shadow: 0 0 6px rgba(215, 0, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-162.reverse-video {
+ background-color: #d70087 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-163 {
+ background-color: #d700af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-163.reverse-video {
+ color: #d700af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-163 {
+ color: #d700af;
+ text-shadow: 0 0 6px rgba(215, 0, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-163.reverse-video {
+ background-color: #d700af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-164 {
+ background-color: #d700d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-164.reverse-video {
+ color: #d700d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-164 {
+ color: #d700d7;
+ text-shadow: 0 0 6px rgba(215, 0, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-164.reverse-video {
+ background-color: #d700d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-165 {
+ background-color: #d700ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-165.reverse-video {
+ color: #d700ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-165 {
+ color: #d700ff;
+ text-shadow: 0 0 6px rgba(215, 0, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-165.reverse-video {
+ background-color: #d700ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-166 {
+ background-color: #d75f00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-166.reverse-video {
+ color: #d75f00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-166 {
+ color: #d75f00;
+ text-shadow: 0 0 6px rgba(215, 95, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-166.reverse-video {
+ background-color: #d75f00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-167 {
+ background-color: #d75f5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-167.reverse-video {
+ color: #d75f5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-167 {
+ color: #d75f5f;
+ text-shadow: 0 0 6px rgba(215, 95, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-167.reverse-video {
+ background-color: #d75f5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-168 {
+ background-color: #d75f87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-168.reverse-video {
+ color: #d75f87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-168 {
+ color: #d75f87;
+ text-shadow: 0 0 6px rgba(215, 95, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-168.reverse-video {
+ background-color: #d75f87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-169 {
+ background-color: #d75faf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-169.reverse-video {
+ color: #d75faf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-169 {
+ color: #d75faf;
+ text-shadow: 0 0 6px rgba(215, 95, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-169.reverse-video {
+ background-color: #d75faf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-170 {
+ background-color: #d75fd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-170.reverse-video {
+ color: #d75fd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-170 {
+ color: #d75fd7;
+ text-shadow: 0 0 6px rgba(215, 95, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-170.reverse-video {
+ background-color: #d75fd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-171 {
+ background-color: #d75fff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-171.reverse-video {
+ color: #d75fff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-171 {
+ color: #d75fff;
+ text-shadow: 0 0 6px rgba(215, 95, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-171.reverse-video {
+ background-color: #d75fff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-172 {
+ background-color: #d78700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-172.reverse-video {
+ color: #d78700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-172 {
+ color: #d78700;
+ text-shadow: 0 0 6px rgba(215, 135, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-172.reverse-video {
+ background-color: #d78700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-173 {
+ background-color: #d7875f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-173.reverse-video {
+ color: #d7875f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-173 {
+ color: #d7875f;
+ text-shadow: 0 0 6px rgba(215, 135, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-173.reverse-video {
+ background-color: #d7875f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-174 {
+ background-color: #d78787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-174.reverse-video {
+ color: #d78787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-174 {
+ color: #d78787;
+ text-shadow: 0 0 6px rgba(215, 135, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-174.reverse-video {
+ background-color: #d78787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-175 {
+ background-color: #d787af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-175.reverse-video {
+ color: #d787af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-175 {
+ color: #d787af;
+ text-shadow: 0 0 6px rgba(215, 135, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-175.reverse-video {
+ background-color: #d787af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-176 {
+ background-color: #d787d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-176.reverse-video {
+ color: #d787d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-176 {
+ color: #d787d7;
+ text-shadow: 0 0 6px rgba(215, 135, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-176.reverse-video {
+ background-color: #d787d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-177 {
+ background-color: #d787ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-177.reverse-video {
+ color: #d787ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-177 {
+ color: #d787ff;
+ text-shadow: 0 0 6px rgba(215, 135, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-177.reverse-video {
+ background-color: #d787ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-178 {
+ background-color: #d7af00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-178.reverse-video {
+ color: #d7af00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-178 {
+ color: #d7af00;
+ text-shadow: 0 0 6px rgba(215, 175, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-178.reverse-video {
+ background-color: #d7af00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-179 {
+ background-color: #d7af5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-179.reverse-video {
+ color: #d7af5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-179 {
+ color: #d7af5f;
+ text-shadow: 0 0 6px rgba(215, 175, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-179.reverse-video {
+ background-color: #d7af5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-180 {
+ background-color: #d7af87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-180.reverse-video {
+ color: #d7af87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-180 {
+ color: #d7af87;
+ text-shadow: 0 0 6px rgba(215, 175, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-180.reverse-video {
+ background-color: #d7af87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-181 {
+ background-color: #d7afaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-181.reverse-video {
+ color: #d7afaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-181 {
+ color: #d7afaf;
+ text-shadow: 0 0 6px rgba(215, 175, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-181.reverse-video {
+ background-color: #d7afaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-182 {
+ background-color: #d7afd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-182.reverse-video {
+ color: #d7afd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-182 {
+ color: #d7afd7;
+ text-shadow: 0 0 6px rgba(215, 175, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-182.reverse-video {
+ background-color: #d7afd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-183 {
+ background-color: #d7afff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-183.reverse-video {
+ color: #d7afff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-183 {
+ color: #d7afff;
+ text-shadow: 0 0 6px rgba(215, 175, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-183.reverse-video {
+ background-color: #d7afff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-184 {
+ background-color: #d7d700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-184.reverse-video {
+ color: #d7d700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-184 {
+ color: #d7d700;
+ text-shadow: 0 0 6px rgba(215, 215, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-184.reverse-video {
+ background-color: #d7d700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-185 {
+ background-color: #d7d75f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-185.reverse-video {
+ color: #d7d75f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-185 {
+ color: #d7d75f;
+ text-shadow: 0 0 6px rgba(215, 215, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-185.reverse-video {
+ background-color: #d7d75f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-186 {
+ background-color: #d7d787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-186.reverse-video {
+ color: #d7d787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-186 {
+ color: #d7d787;
+ text-shadow: 0 0 6px rgba(215, 215, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-186.reverse-video {
+ background-color: #d7d787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-187 {
+ background-color: #d7d7af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-187.reverse-video {
+ color: #d7d7af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-187 {
+ color: #d7d7af;
+ text-shadow: 0 0 6px rgba(215, 215, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-187.reverse-video {
+ background-color: #d7d7af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-188 {
+ background-color: #d7d7d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-188.reverse-video {
+ color: #d7d7d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-188 {
+ color: #d7d7d7;
+ text-shadow: 0 0 6px rgba(215, 215, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-188.reverse-video {
+ background-color: #d7d7d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-189 {
+ background-color: #d7d7ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-189.reverse-video {
+ color: #d7d7ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-189 {
+ color: #d7d7ff;
+ text-shadow: 0 0 6px rgba(215, 215, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-189.reverse-video {
+ background-color: #d7d7ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-190 {
+ background-color: #d7ff00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-190.reverse-video {
+ color: #d7ff00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-190 {
+ color: #d7ff00;
+ text-shadow: 0 0 6px rgba(215, 255, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-190.reverse-video {
+ background-color: #d7ff00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-191 {
+ background-color: #d7ff5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-191.reverse-video {
+ color: #d7ff5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-191 {
+ color: #d7ff5f;
+ text-shadow: 0 0 6px rgba(215, 255, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-191.reverse-video {
+ background-color: #d7ff5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-192 {
+ background-color: #d7ff87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-192.reverse-video {
+ color: #d7ff87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-192 {
+ color: #d7ff87;
+ text-shadow: 0 0 6px rgba(215, 255, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-192.reverse-video {
+ background-color: #d7ff87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-193 {
+ background-color: #d7ffaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-193.reverse-video {
+ color: #d7ffaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-193 {
+ color: #d7ffaf;
+ text-shadow: 0 0 6px rgba(215, 255, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-193.reverse-video {
+ background-color: #d7ffaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-194 {
+ background-color: #d7ffd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-194.reverse-video {
+ color: #d7ffd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-194 {
+ color: #d7ffd7;
+ text-shadow: 0 0 6px rgba(215, 255, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-194.reverse-video {
+ background-color: #d7ffd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-195 {
+ background-color: #d7ffff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-195.reverse-video {
+ color: #d7ffff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-195 {
+ color: #d7ffff;
+ text-shadow: 0 0 6px rgba(215, 255, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-195.reverse-video {
+ background-color: #d7ffff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-196 {
+ background-color: red;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-196.reverse-video {
+ color: red !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-196 {
+ color: red;
+ text-shadow: 0 0 6px rgba(255, 0, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-196.reverse-video {
+ background-color: red !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-197 {
+ background-color: #ff005f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-197.reverse-video {
+ color: #ff005f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-197 {
+ color: #ff005f;
+ text-shadow: 0 0 6px rgba(255, 0, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-197.reverse-video {
+ background-color: #ff005f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-198 {
+ background-color: #ff0087;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-198.reverse-video {
+ color: #ff0087 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-198 {
+ color: #ff0087;
+ text-shadow: 0 0 6px rgba(255, 0, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-198.reverse-video {
+ background-color: #ff0087 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-199 {
+ background-color: #ff00af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-199.reverse-video {
+ color: #ff00af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-199 {
+ color: #ff00af;
+ text-shadow: 0 0 6px rgba(255, 0, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-199.reverse-video {
+ background-color: #ff00af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-200 {
+ background-color: #ff00d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-200.reverse-video {
+ color: #ff00d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-200 {
+ color: #ff00d7;
+ text-shadow: 0 0 6px rgba(255, 0, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-200.reverse-video {
+ background-color: #ff00d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-201 {
+ background-color: magenta;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-201.reverse-video {
+ color: magenta !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-201 {
+ color: magenta;
+ text-shadow: 0 0 6px rgba(255, 0, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-201.reverse-video {
+ background-color: magenta !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-202 {
+ background-color: #ff5f00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-202.reverse-video {
+ color: #ff5f00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-202 {
+ color: #ff5f00;
+ text-shadow: 0 0 6px rgba(255, 95, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-202.reverse-video {
+ background-color: #ff5f00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-203 {
+ background-color: #ff5f5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-203.reverse-video {
+ color: #ff5f5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-203 {
+ color: #ff5f5f;
+ text-shadow: 0 0 6px rgba(255, 95, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-203.reverse-video {
+ background-color: #ff5f5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-204 {
+ background-color: #ff5f87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-204.reverse-video {
+ color: #ff5f87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-204 {
+ color: #ff5f87;
+ text-shadow: 0 0 6px rgba(255, 95, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-204.reverse-video {
+ background-color: #ff5f87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-205 {
+ background-color: #ff5faf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-205.reverse-video {
+ color: #ff5faf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-205 {
+ color: #ff5faf;
+ text-shadow: 0 0 6px rgba(255, 95, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-205.reverse-video {
+ background-color: #ff5faf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-206 {
+ background-color: #ff5fd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-206.reverse-video {
+ color: #ff5fd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-206 {
+ color: #ff5fd7;
+ text-shadow: 0 0 6px rgba(255, 95, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-206.reverse-video {
+ background-color: #ff5fd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-207 {
+ background-color: #ff5fff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-207.reverse-video {
+ color: #ff5fff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-207 {
+ color: #ff5fff;
+ text-shadow: 0 0 6px rgba(255, 95, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-207.reverse-video {
+ background-color: #ff5fff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-208 {
+ background-color: #ff8700;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-208.reverse-video {
+ color: #ff8700 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-208 {
+ color: #ff8700;
+ text-shadow: 0 0 6px rgba(255, 135, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-208.reverse-video {
+ background-color: #ff8700 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-209 {
+ background-color: #ff875f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-209.reverse-video {
+ color: #ff875f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-209 {
+ color: #ff875f;
+ text-shadow: 0 0 6px rgba(255, 135, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-209.reverse-video {
+ background-color: #ff875f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-210 {
+ background-color: #ff8787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-210.reverse-video {
+ color: #ff8787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-210 {
+ color: #ff8787;
+ text-shadow: 0 0 6px rgba(255, 135, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-210.reverse-video {
+ background-color: #ff8787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-211 {
+ background-color: #ff87af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-211.reverse-video {
+ color: #ff87af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-211 {
+ color: #ff87af;
+ text-shadow: 0 0 6px rgba(255, 135, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-211.reverse-video {
+ background-color: #ff87af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-212 {
+ background-color: #ff87d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-212.reverse-video {
+ color: #ff87d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-212 {
+ color: #ff87d7;
+ text-shadow: 0 0 6px rgba(255, 135, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-212.reverse-video {
+ background-color: #ff87d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-213 {
+ background-color: #ff87ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-213.reverse-video {
+ color: #ff87ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-213 {
+ color: #ff87ff;
+ text-shadow: 0 0 6px rgba(255, 135, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-213.reverse-video {
+ background-color: #ff87ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-214 {
+ background-color: #ffaf00;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-214.reverse-video {
+ color: #ffaf00 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-214 {
+ color: #ffaf00;
+ text-shadow: 0 0 6px rgba(255, 175, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-214.reverse-video {
+ background-color: #ffaf00 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-215 {
+ background-color: #ffaf5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-215.reverse-video {
+ color: #ffaf5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-215 {
+ color: #ffaf5f;
+ text-shadow: 0 0 6px rgba(255, 175, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-215.reverse-video {
+ background-color: #ffaf5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-216 {
+ background-color: #ffaf87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-216.reverse-video {
+ color: #ffaf87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-216 {
+ color: #ffaf87;
+ text-shadow: 0 0 6px rgba(255, 175, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-216.reverse-video {
+ background-color: #ffaf87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-217 {
+ background-color: #ffafaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-217.reverse-video {
+ color: #ffafaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-217 {
+ color: #ffafaf;
+ text-shadow: 0 0 6px rgba(255, 175, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-217.reverse-video {
+ background-color: #ffafaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-218 {
+ background-color: #ffafd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-218.reverse-video {
+ color: #ffafd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-218 {
+ color: #ffafd7;
+ text-shadow: 0 0 6px rgba(255, 175, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-218.reverse-video {
+ background-color: #ffafd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-219 {
+ background-color: #ffafff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-219.reverse-video {
+ color: #ffafff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-219 {
+ color: #ffafff;
+ text-shadow: 0 0 6px rgba(255, 175, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-219.reverse-video {
+ background-color: #ffafff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-220 {
+ background-color: gold;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-220.reverse-video {
+ color: gold !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-220 {
+ color: gold;
+ text-shadow: 0 0 6px rgba(255, 215, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-220.reverse-video {
+ background-color: gold !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-221 {
+ background-color: #ffd75f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-221.reverse-video {
+ color: #ffd75f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-221 {
+ color: #ffd75f;
+ text-shadow: 0 0 6px rgba(255, 215, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-221.reverse-video {
+ background-color: #ffd75f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-222 {
+ background-color: #ffd787;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-222.reverse-video {
+ color: #ffd787 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-222 {
+ color: #ffd787;
+ text-shadow: 0 0 6px rgba(255, 215, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-222.reverse-video {
+ background-color: #ffd787 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-223 {
+ background-color: #ffd7af;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-223.reverse-video {
+ color: #ffd7af !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-223 {
+ color: #ffd7af;
+ text-shadow: 0 0 6px rgba(255, 215, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-223.reverse-video {
+ background-color: #ffd7af !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-224 {
+ background-color: #ffd7d7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-224.reverse-video {
+ color: #ffd7d7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-224 {
+ color: #ffd7d7;
+ text-shadow: 0 0 6px rgba(255, 215, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-224.reverse-video {
+ background-color: #ffd7d7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-225 {
+ background-color: #ffd7ff;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-225.reverse-video {
+ color: #ffd7ff !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-225 {
+ color: #ffd7ff;
+ text-shadow: 0 0 6px rgba(255, 215, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-225.reverse-video {
+ background-color: #ffd7ff !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-226 {
+ background-color: yellow;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-226.reverse-video {
+ color: yellow !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-226 {
+ color: yellow;
+ text-shadow: 0 0 6px rgba(255, 255, 0, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-226.reverse-video {
+ background-color: yellow !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-227 {
+ background-color: #ffff5f;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-227.reverse-video {
+ color: #ffff5f !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-227 {
+ color: #ffff5f;
+ text-shadow: 0 0 6px rgba(255, 255, 95, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-227.reverse-video {
+ background-color: #ffff5f !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-228 {
+ background-color: #ffff87;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-228.reverse-video {
+ color: #ffff87 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-228 {
+ color: #ffff87;
+ text-shadow: 0 0 6px rgba(255, 255, 135, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-228.reverse-video {
+ background-color: #ffff87 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-229 {
+ background-color: #ffffaf;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-229.reverse-video {
+ color: #ffffaf !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-229 {
+ color: #ffffaf;
+ text-shadow: 0 0 6px rgba(255, 255, 175, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-229.reverse-video {
+ background-color: #ffffaf !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-230 {
+ background-color: #ffffd7;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-230.reverse-video {
+ color: #ffffd7 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-230 {
+ color: #ffffd7;
+ text-shadow: 0 0 6px rgba(255, 255, 215, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-230.reverse-video {
+ background-color: #ffffd7 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-231 {
+ background-color: white;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-231.reverse-video {
+ color: white !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-231 {
+ color: white;
+ text-shadow: 0 0 6px rgba(255, 255, 255, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-231.reverse-video {
+ background-color: white !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-232 {
+ background-color: #080808;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-232.reverse-video {
+ color: #080808 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-232 {
+ color: #080808;
+ text-shadow: 0 0 6px rgba(8, 8, 8, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-232.reverse-video {
+ background-color: #080808 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-233 {
+ background-color: #121212;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-233.reverse-video {
+ color: #121212 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-233 {
+ color: #121212;
+ text-shadow: 0 0 6px rgba(18, 18, 18, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-233.reverse-video {
+ background-color: #121212 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-234 {
+ background-color: #1c1c1c;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-234.reverse-video {
+ color: #1c1c1c !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-234 {
+ color: #1c1c1c;
+ text-shadow: 0 0 6px rgba(28, 28, 28, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-234.reverse-video {
+ background-color: #1c1c1c !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-235 {
+ background-color: #262626;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-235.reverse-video {
+ color: #262626 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-235 {
+ color: #262626;
+ text-shadow: 0 0 6px rgba(38, 38, 38, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-235.reverse-video {
+ background-color: #262626 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-236 {
+ background-color: #303030;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-236.reverse-video {
+ color: #303030 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-236 {
+ color: #303030;
+ text-shadow: 0 0 6px rgba(48, 48, 48, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-236.reverse-video {
+ background-color: #303030 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-237 {
+ background-color: #3a3a3a;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-237.reverse-video {
+ color: #3a3a3a !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-237 {
+ color: #3a3a3a;
+ text-shadow: 0 0 6px rgba(58, 58, 58, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-237.reverse-video {
+ background-color: #3a3a3a !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-238 {
+ background-color: #444444;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-238.reverse-video {
+ color: #444444 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-238 {
+ color: #444444;
+ text-shadow: 0 0 6px rgba(68, 68, 68, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-238.reverse-video {
+ background-color: #444444 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-239 {
+ background-color: #4e4e4e;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-239.reverse-video {
+ color: #4e4e4e !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-239 {
+ color: #4e4e4e;
+ text-shadow: 0 0 6px rgba(78, 78, 78, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-239.reverse-video {
+ background-color: #4e4e4e !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-240 {
+ background-color: #585858;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-240.reverse-video {
+ color: #585858 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-240 {
+ color: #585858;
+ text-shadow: 0 0 6px rgba(88, 88, 88, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-240.reverse-video {
+ background-color: #585858 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-241 {
+ background-color: #626262;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-241.reverse-video {
+ color: #626262 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-241 {
+ color: #626262;
+ text-shadow: 0 0 6px rgba(98, 98, 98, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-241.reverse-video {
+ background-color: #626262 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-242 {
+ background-color: #6c6c6c;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-242.reverse-video {
+ color: #6c6c6c !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-242 {
+ color: #6c6c6c;
+ text-shadow: 0 0 6px rgba(108, 108, 108, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-242.reverse-video {
+ background-color: #6c6c6c !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-243 {
+ background-color: #767676;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-243.reverse-video {
+ color: #767676 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-243 {
+ color: #767676;
+ text-shadow: 0 0 6px rgba(118, 118, 118, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-243.reverse-video {
+ background-color: #767676 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-244 {
+ background-color: gray;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-244.reverse-video {
+ color: gray !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-244 {
+ color: gray;
+ text-shadow: 0 0 6px rgba(128, 128, 128, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-244.reverse-video {
+ background-color: gray !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-245 {
+ background-color: #8a8a8a;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-245.reverse-video {
+ color: #8a8a8a !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-245 {
+ color: #8a8a8a;
+ text-shadow: 0 0 6px rgba(138, 138, 138, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-245.reverse-video {
+ background-color: #8a8a8a !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-246 {
+ background-color: #949494;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-246.reverse-video {
+ color: #949494 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-246 {
+ color: #949494;
+ text-shadow: 0 0 6px rgba(148, 148, 148, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-246.reverse-video {
+ background-color: #949494 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-247 {
+ background-color: #9e9e9e;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-247.reverse-video {
+ color: #9e9e9e !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-247 {
+ color: #9e9e9e;
+ text-shadow: 0 0 6px rgba(158, 158, 158, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-247.reverse-video {
+ background-color: #9e9e9e !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-248 {
+ background-color: #a8a8a8;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-248.reverse-video {
+ color: #a8a8a8 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-248 {
+ color: #a8a8a8;
+ text-shadow: 0 0 6px rgba(168, 168, 168, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-248.reverse-video {
+ background-color: #a8a8a8 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-249 {
+ background-color: #b2b2b2;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-249.reverse-video {
+ color: #b2b2b2 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-249 {
+ color: #b2b2b2;
+ text-shadow: 0 0 6px rgba(178, 178, 178, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-249.reverse-video {
+ background-color: #b2b2b2 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-250 {
+ background-color: #bcbcbc;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-250.reverse-video {
+ color: #bcbcbc !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-250 {
+ color: #bcbcbc;
+ text-shadow: 0 0 6px rgba(188, 188, 188, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-250.reverse-video {
+ background-color: #bcbcbc !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-251 {
+ background-color: #c6c6c6;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-251.reverse-video {
+ color: #c6c6c6 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-251 {
+ color: #c6c6c6;
+ text-shadow: 0 0 6px rgba(198, 198, 198, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-251.reverse-video {
+ background-color: #c6c6c6 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-252 {
+ background-color: #d0d0d0;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-252.reverse-video {
+ color: #d0d0d0 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-252 {
+ color: #d0d0d0;
+ text-shadow: 0 0 6px rgba(208, 208, 208, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-252.reverse-video {
+ background-color: #d0d0d0 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-253 {
+ background-color: #dadada;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-253.reverse-video {
+ color: #dadada !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-253 {
+ color: #dadada;
+ text-shadow: 0 0 6px rgba(218, 218, 218, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-253.reverse-video {
+ background-color: #dadada !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-254 {
+ background-color: #e4e4e4;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-254.reverse-video {
+ color: #e4e4e4 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-254 {
+ color: #e4e4e4;
+ text-shadow: 0 0 6px rgba(228, 228, 228, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-254.reverse-video {
+ background-color: #e4e4e4 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-255 {
+ background-color: #eeeeee;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-255.reverse-video {
+ color: #eeeeee !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-255 {
+ color: #eeeeee;
+ text-shadow: 0 0 6px rgba(238, 238, 238, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-255.reverse-video {
+ background-color: #eeeeee !important;
+}
+
+/* ?? */
+/* line 98, ../sass/main.sass */
+.bg-color-256 {
+ background-color: #110f13;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-256.reverse-video {
+ color: #110f13 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-256 {
+ color: #110f13;
+ text-shadow: 0 0 6px rgba(17, 15, 19, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-256.reverse-video {
+ background-color: #110f13 !important;
+}
+
+/* line 98, ../sass/main.sass */
+.bg-color-257 {
+ background-color: #f4ead5;
+}
+/* line 100, ../sass/main.sass */
+.bg-color-257.reverse-video {
+ color: #f4ead5 !important;
+}
+
+/* line 103, ../sass/main.sass */
+.fg-color-257 {
+ color: #f4ead5;
+ text-shadow: 0 0 6px rgba(244, 234, 213, 0.5);
+}
+/* line 105, ../sass/main.sass */
+.fg-color-257.reverse-video {
+ background-color: #f4ead5 !important;
+}
diff --git a/butterfly/templates/index.html b/butterfly/templates/index.html
index 15063a8..4c976b0 100644
--- a/butterfly/templates/index.html
+++ b/butterfly/templates/index.html
@@ -1,4 +1,5 @@
+{% from tornado.options import options %}
@@ -14,6 +15,7 @@
-
+
diff --git a/butterfly/static/coffees/main.coffee b/coffees/main.coffee
similarity index 100%
rename from butterfly/static/coffees/main.coffee
rename to coffees/main.coffee
diff --git a/butterfly/static/coffees/selection.coffee b/coffees/selection.coffee
similarity index 100%
rename from butterfly/static/coffees/selection.coffee
rename to coffees/selection.coffee
diff --git a/butterfly/static/coffees/term.coffee b/coffees/term.coffee
similarity index 100%
rename from butterfly/static/coffees/term.coffee
rename to coffees/term.coffee
diff --git a/butterfly/static/coffees/virtual_input.coffee b/coffees/virtual_input.coffee
similarity index 100%
rename from butterfly/static/coffees/virtual_input.coffee
rename to coffees/virtual_input.coffee
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..f367423
--- /dev/null
+++ b/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "butterfly",
+ "version": "1.4.5",
+ "description": "A sleek web based terminal emulator",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/paradoxxxzero/butterfly.git"
+ },
+ "private": true,
+ "license": "GPLv3",
+ "bugs": {
+ "url": "https://github.com/paradoxxxzero/butterfly/issues"
+ },
+ "homepage": "https://github.com/paradoxxxzero/butterfly",
+ "devDependencies": {
+ "grunt": "~0.4.4",
+ "grunt-contrib-coffee": "^0.10.1",
+ "grunt-contrib-watch": "^0.6.1",
+ "grunt-contrib-uglify": "^0.4.0",
+ "grunt-contrib-cssmin": "^0.9.0",
+ "grunt-coffeelint": "0.0.8",
+ "grunt-sass": "^0.12.1",
+ "grunt-sass-to-scss": "^0.1.9"
+ }
+}
diff --git a/butterfly/static/sass/main.sass b/sass/main.sass
similarity index 100%
rename from butterfly/static/sass/main.sass
rename to sass/main.sass