text: (function() {
    var createServer, createServerUsingSocketIO, createSocketIOServerAdapter;
  
    createServer = function(opts) {
      var LoggingConfig, Server, ServerMessageFactory, SyncManager, TurnManager, adapter, loggingConfig, period, server, serverMessageFactory, syncManager, turnManager;
      if (opts == null) {
        opts = {};
      }
      TurnManager = require('./lib/turn_manager');
      ServerMessageFactory = require('./lib/server_message_factory');
      SyncManager = require('./lib/sync_manager');
      LoggingConfig = require('./lib/logging_config');
      Server = require('./lib/server');
      period = opts.period || 100;
      adapter = opts.adapter || (function() {
        throw new Error("adapter required");
      })();
      turnManager = opts.turnManager || new TurnManager(period);
      serverMessageFactory = opts.serverMessageFactory || new ServerMessageFactory();
      syncManager = opts.syncManager || new SyncManager();
      loggingConfig = opts.logging ? new LoggingConfig(opts.logging) : new LoggingConfig({
        "off": true
      });
      server = new Server(adapter, turnManager, serverMessageFactory, syncManager, loggingConfig);
      return server;
    };
  
    createSocketIOServerAdapter = function(socketIO) {
      var SocketIOServerAdapter, adapter;
      if (!socketIO) {
        throw new Error("socketIO required");
      }
      SocketIOServerAdapter = require('./lib/socket_io_server_adapter');
      adapter = new SocketIOServerAdapter(socketIO);
      return adapter;
    };
  
    createServerUsingSocketIO = function(opts) {
      if (opts == null) {
        opts = {};
      }
      opts.adapter = createSocketIOServerAdapter(opts.socketIO);
      return createServer(opts);
    };
  
    exports.create = {
      server: createServer,
      socketIOServer: createServerUsingSocketIO
    };
  
    exports.clientAssets = "" + __dirname + "/client";
  
  }).call(this);
  