anchor.diff:   * Example tab-separated input:
    * Some fields will be ignored
    *
  - * id	name	metacode	desc	link	user.name	permission	synapses		
  - * 1	topic1	Catalyst			admin	commons	1->7		
  - * 2	topic2	Event			admin	commons			
  - * 5	topic	Action			admin	commons			
  - * 6	topic6	Action			admin	commons	6->7		
  - * 7	topic7	Action			admin	commons	7->8	 7<-6	 7<-1
  - * 8	topic8	Action			admin	commons	8<-7		
  + * Topics								
  + * Id	Name	Metacode	X	Y	Description	Link	User	Permission
  + * 8	topic8	Action	-231	131			admin	commons
  + * 5	topic	Action	-229	-131			admin	commons
  + * 7	topic7.1	Action	-470	-55	hey		admin	commons
  + * 2	topic2	Event	-57	-63			admin	commons
  + * 1	topic1	Catalyst	-51	50			admin	commons
  + * 6	topic6	Action	-425	63			admin	commons
  + * 								
  + * Synapses								
  + * Id	Description	Category	Topic1	Topic2	User	Permission		
  + * 43		from-to	6	2	admin	commons		
  + * 44		from-to	6	1	admin	commons		
  + * 45		from-to	6	5	admin	commons		
  + * 46		from-to	2	7	admin	commons		
  + * 47		from-to	8	6	admin	commons		
  + * 48		from-to	8	1	admin	commons		
  + *
    */
   
   Metamaps.Import = {
     topicWhitelist: [
       'name', 'metacode', 'description', 'link', 'permission'
  -	],
  +  ],
     synapseWhitelist: [
       'desc', 'description', 'category', 'topic1', 'topic2', 'permission'
     ],
  
positive.code:           if (noblanks.length === 0) {
              state = STATES.UNKNOWN;
              break;
            } else if (noblanks.length === 1 && line[0].toLowerCase() === 'topics') {
              state = STATES.TOPICS_NEED_HEADERS;
              break;
            } else if (noblanks.length === 1 && line[0].toLowerCase() === 'synapses') {
              state = STATES.SYNAPSES_NEED_HEADERS;
              break;
            }
  
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;
  