text: // Generated by LiveScript 1.4.0
  var os, fs, http, https, chalk, express, highland, commander, child_process, io, DaemonPlugin, program, i$, x$, ref$, len$, that, y$, runTests, checkModules;
  os = require('os');
  fs = require('fs');
  http = require('http');
  https = require('https');
  chalk = require('chalk');
  express = require('express');
  highland = require('highland');
  commander = require('commander');
  child_process = require('child_process');
  io = require('socket.io');
  import$(global, require('prelude-ls'));
  DaemonPlugin = (function(){
    DaemonPlugin.displayName = 'DaemonPlugin';
    var prototype = DaemonPlugin.prototype, constructor = DaemonPlugin;
    prototype.enabled = false;
    prototype.description = 'This module does not have a description specified';
    function DaemonPlugin(){
      "You should not be calling this directly.";
    }
    prototype.install = function(){
      return global[this.constructor.displayName] = this;
    };
    prototype.register = function(){
      return this.program.option.apply(this.program, arguments);
    };
    prototype.notice = function(name, parameters, scope){};
    prototype.handle = function(name){
      var $self;
      $self = this;
      return function(){
        return $self.notice.call($self, name, arguments, this);
      };
    };
    prototype.verify = function(){
      return false;
    };
    prototype.initialize = function(){
      return false;
    };
    prototype.setProgram = function(program){
      this.program = program;
      return true;
    };
    return DaemonPlugin;
  }());
  global.DaemonPlugin = DaemonPlugin;
  program = commander;
  commander.version('1.0.0');
  commander.option('-C, --command', 'specify the command to be run');
  commander.option('-W, --cwd', 'specify the current working directory for the child process');
  commander.option('-D, --detached', 'wether it should be detached or not');
  commander.option('-S, --shell [string]', 'run in selected shell', false);
  global.libraries = [];
  function library(name){
    var Library, instance;
    Library = require("./lib" + name);
    instance = new Library;
    instance.setProgram(commander);
    return global.libraries.push(instance);
  }
  for (i$ = 0, len$ = (ref$ = fs.readdirSync(__dirname)).length; i$ < len$; ++i$) {
    x$ = ref$[i$];
    if (that = x$.match(/^lib(.+)\..+$/m)) {
      library(that[1]);
    }
  }
  for (i$ = 0, len$ = (ref$ = libraries).length; i$ < len$; ++i$) {
    y$ = ref$[i$];
    y$.configure(commander);
  }
  commander.parse(process.argv);
  runTests = function(it){
    var i$, ref$, keyValue$, own$ = {}.hasOwnProperty, resultObj$ = {};
    for (i$ in ref$ = {
      enabled: fn$,
      verified: fn1$
    }) if (own$.call(ref$, i$)) {
      resultObj$[(keyValue$ = (fn2$.call(this, i$, ref$[i$])))[0]] = keyValue$[1];
    }
    return resultObj$;
    function fn$(it){
      return it.enabled;
    }
    function fn1$(it){
      return it.verify() != null;
    }
    function fn2$(key, value){
      return [key, value(it)];
    }
  };
  checkModules = function(){
    var i$, x$, ref$, len$, resultObj$ = {};
    for (i$ = 0, len$ = (ref$ = libraries).length; i$ < len$; ++i$) {
      x$ = ref$[i$];
      resultObj$[x$.constructor.displayName] = runTests(x$);
    }
    return resultObj$;
  };
  function import$(obj, src){
    var own = {}.hasOwnProperty;
    for (var key in src) if (own.call(src, key)) obj[key] = src[key];
    return obj;
  }