anchor.diff: -<%@ page language="java" contentType="text/csv; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="org.json.JSONObject" %><%@ page import="org.json.JSONArray" %><%!
  +<%@ page language="java" contentType="text/csv; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="org.json.JSONObject" %><%@ page import="org.json.JSONArray" %><%@ page import="java.io.OutputStream" %><%!
   
   /*
   
  
positive.code: 	
  	// if not data yet look for backwards compatible location
  	if (data == null) data = request.getParameter("data");
  	
  	// if we got some data
  	if (data != null) {
  		
  		// turn it into a proper json object 
  		JSONObject jsonData = new JSONObject(data);
  		
  		// get its rows 2d-array
  
negative.code: 	// Expect that the data from the front-end is encoded as UTF-8
  	request.setCharacterEncoding("UTF-8");
  
  	// get the output stream (we want to write bytes so we can't use the default out print writer)
  	OutputStream o = response.getOutputStream();
  	
  	// UTF-8 byte order marker - https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8
  	byte[] sig = {(byte) 0xef,(byte) 0xbb,(byte) 0xbf};
  	
  	// write the UTF-8 byte order mark
  	o.write(sig, 0, sig.length);
  	
  	// get any file name provided to us
  	String fileName = request.getParameter("downloadFileName");
  
  