anchor.diff:      var delim = "\n";
       if (text.indexOf("\r\n") !== -1) {
         delim = "\r\n";
  +    } else if (text.indexOf("\r") !== -1) {
  +      delim = "\r";
       }//if
   
       var STATES = {
  +      ABORT: -1,
         UNKNOWN: 0,
         TOPICS_NEED_HEADERS: 1,
         SYNAPSES_NEED_HEADERS: 2,
  
positive.code: 
          case STATES.TOPICS_NEED_HEADERS:
            if (noblanks.length < 2) {
              return self.abort("Not enough topic headers on line " + index);
            }
            topicHeaders = line.map(function(header, index) {
              return header.toLowerCase().replace('description', 'desc');
  
negative.code:   },
  
    abort: function(message) {
      alert("Sorry, something went wrong!\n\n" + message);
      console.error(message);
    },
  
  	simplify: function(string) {
  		return string
        .replace(/(^\s*|\s*$)/g, '')
        .toLowerCase();
  	},
  
    parseTabbedString: function(text) {
      var self = Metamaps.Import;
  