anchor.diff:    synapseWhitelist: [
       'topic1', 'topic2', 'category', 'desc', 'description', 'permission'
     ],
  -  cidMappings: {}, //to be filled by import_id => cid mappings
  -
  -  init: function() {
  -    var self = Metamaps.Import;
  -
  -    $('body').bind('paste', function(e) {
  -      if (e.target.tagName === "INPUT") return;
  -
  -      var text = e.originalEvent.clipboardData.getData('text/plain');
  -
  -      var results;
  +  cidMappings: {}, // to be filled by import_id => cid mappings
  +
  +  init: function () {
  +    var self = Metamaps.Import
  +
  +    $('body').bind('paste', function (e) {
  +      if (e.target.tagName === 'INPUT') return
  +
  +      var text = e.originalEvent.clipboardData.getData('text/plain')
  +
  +      var results
         if (text.trimLeft()[0] === '{') {
           try {
  -          results = JSON.parse(text);
  +          results = JSON.parse(text)
           } catch (e) {
  -          results = false;
  +          results = false
           }
         } else {
  -        results = self.parseTabbedString(text);
  +        results = self.parseTabbedString(text)
         }
  -      if (results === false) return;
  -
  -      var topics = results.topics;
  -      var synapses = results.synapses;
  +      if (results === false) return
  +
  +      var topics = results.topics
  +      var synapses = results.synapses
   
         if (topics.length > 0 || synapses.length > 0) {
  -        if (confirm("Are you sure you want to create " + topics.length +
  -                    " new topics and " + synapses.length + " new synapses?")) {
  -          self.importTopics(topics);
  -          self.importSynapses(synapses);
  -        }//if
  -      }//if
  -    });
  -  },
  -
  -  abort: function(message) {
  -    console.error(message);
  -  },
  -
  -	simplify: function(string) {
  -		return string
  +        if (window.confirm('Are you sure you want to create ' + topics.length +
  +            ' new topics and ' + synapses.length + ' new synapses?')) {
  +          self.importTopics(topics)
  +          self.importSynapses(synapses)
  +        } // if
  +      } // if
  +    })
  +  },
  +
  +  abort: function (message) {
  +    console.error(message)
  +  },
  +
  +  simplify: function (string) {
  +    return string
         .replace(/(^\s*|\s*$)/g, '')
  -      .toLowerCase();
  -	},
  -
  -  parseTabbedString: function(text) {
  -    var self = Metamaps.Import;
  +      .toLowerCase()
  +  },
  +
  +  parseTabbedString: function (text) {
  +    var self = Metamaps.Import
   
       // determine line ending and split lines
  -    var delim = "\n";
  -    if (text.indexOf("\r\n") !== -1) {
  -      delim = "\r\n";
  -    } else if (text.indexOf("\r") !== -1) {
  -      delim = "\r";
  -    }//if
  +    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,
  
positive.code:       permission: permission,
        node1_id: topic1.id,
        node2_id: topic2.id
      });
      Metamaps.Synapses.add(synapse);
  
      var mapping = new Metamaps.Backbone.Mapping({
        mappable_type: "Synapse",
        mappable_id: synapse.cid,
      });
      Metamaps.Mappings.add(mapping);
  
      Metamaps.Synapse.renderSynapse(mapping, synapse, node1, node2, true);
    },
  };
  
negative.code: /* global Metamaps, $ */
  
  /*
   * Metamaps.Import.js.erb
   *
   * Dependencies:
   *  - Metamaps.Active
   *  - Metamaps.Backbone
   *  - Metamaps.Famous    // TODO remove dependency
   *  - Metamaps.Map
   *  - Metamaps.Mappings
   *  - Metamaps.Metacodes
   *  - Metamaps.Synapses
   *  - Metamaps.Topics
   */
  
  Metamaps.Import = {
  