public static RowKeyElastic parseFunctionId(String val) {
		if (val.length() != 14) {
			return new RowKeyElastic(Long.parseLong(val));
		}
		int extra = Base64Lite.decode[val.charAt(0)];
		extra <<= 6;
		extra |= Base64Lite.decode[val.charAt(1)];
		extra <<= 6;
		extra |= Base64Lite.decode[val.charAt(2)];
		long low = Base64Lite.decodeLongBase64(val.substring(3));
		return new RowKeyElastic(extra,(int)(low>>>32),(int)low);
	}
Parse an encoded document id of a function back into a key
This handles both the normal function form: 64-bits encoded as decimal and
the library function form: 80-bits encoded in base64
@param val is the encoded String
@return the decoded RowKey
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/elastic/RowKeyElastic.java