1var Url={encode:function(string){return this._urlEncode(this._utf8Encode(string)); 2},decode:function(string){return this._utf8Decode(this._urlDecode(string)); 3},_urlEncode:function(clearString){var output=""; 4var x=0; 5clearString=clearString.toString(); 6var regex=/(^[a-zA-Z0-9_.]*)/; 7while(x<clearString.length){var match=regex.exec(clearString.substr(x)); 8if(match!=null&&match.length>1&&match[1]!=""){output+=match[1]; 9x+=match[1].length; 10}else{if(clearString[x]==" "){output+="+"; 11}else{var charCode=clearString.charCodeAt(x); 12var hexVal=charCode.toString(16); 13output+="%"+(hexVal.length<2?"0":"")+hexVal.toUpperCase(); 14}x++; 15}}return output; 16},_urlDecode:function(encodedString){var output=encodedString; 17var binVal,thisString; 18var myregexp=/(%[^%]{2})/; 19while((match=myregexp.exec(output))!=null&&match.length>1&&match[1]!=""){binVal=parseInt(match[1].substr(1),16); 20thisString=String.fromCharCode(binVal); 21output=output.replace(match[1],thisString); 22}return output; 23},_utf8Encode:function(string){var utftext=""; 24if(string){string=string.replace(/\r\n/g,"\n"); 25for(var n=0; 26n<string.length; 27n++){var c=string.charCodeAt(n); 28if(c<128){utftext+=String.fromCharCode(c); 29}else{if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192); 30utftext+=String.fromCharCode((c&63)|128); 31}else{utftext+=String.fromCharCode((c>>12)|224); 32utftext+=String.fromCharCode(((c>>6)&63)|128); 33utftext+=String.fromCharCode((c&63)|128); 34}}}}return utftext; 35},_utf8Decode:function(utftext){var string=""; 36var i=0; 37var c=c1=c2=0; 38if(utftext){while(i<utftext.length){c=utftext.charCodeAt(i); 39if(c<128){string+=String.fromCharCode(c); 40i++; 41}else{if((c>191)&&(c<224)){c2=utftext.charCodeAt(i+1); 42string+=String.fromCharCode(((c&31)<<6)|(c2&63)); 43i+=2; 44}else{c2=utftext.charCodeAt(i+1); 45c3=utftext.charCodeAt(i+2); 46string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63)); 47i+=3; 48}}}}return string; 49}};
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.