1/*! json-export-excel 29-06-2016 */ 2!function(){"use strict";angular.module("ngJsonExportExcel",[]).directive("ngJsonExportExcel",function(){return{restrict:"AE",scope:{data:"=",filename:"=?",reportFields:"=",separator:"@"},link:function(a,b){function c(){var b=a.data,c="";return angular.forEach(b,function(a){var d=[];angular.forEach(f,function(c){if(c.indexOf(".")){c=c.split(".");var f=a;angular.forEach(c,function(a){null!==f&&void 0!==f&&(f=f[a])}),b=f}else b=a[c];var g=null!==b?b:" ";void 0!==g&&angular.isObject(g)&&(g=e(g)),"string"==typeof g?d.push('"'+g.replace(/"/g,'""')+'"'):d.push(g)}),c+=d.join(h)+"\n"}),c}function d(a){return g.join(h)+"\n"+a}function e(a){var b="";return angular.forEach(a,function(a,c){b+=c+":"+a+" "}),'"'+b+'"'}a.filename=a.filename?a.filename:"export-excel";var f=[],g=[],h=a.separator||";";angular.forEach(a.reportFields,function(a,b){if(!a||!b)throw new Error("error json report fields");f.push(b),g.push(a)}),b.bind("click",function(){var b=c(),e=d(b),f=new Blob([e],{type:"text/plain;charset=utf-8"});return saveAs(f,[a.filename+".csv"])})}}})}();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.