"use strict";if(!this.bkmkscrub){this.bkmkscrub={};}
(function(){function jsonsafe(str){var escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;var meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};escapable.lastIndex=0;return escapable.test(str)?'"'+str.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+str+'"';}
function htmlsafe(str){return str.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;').replace(/'/g,'&#39;');}
if(typeof bkmkscrub.jsonbkmks!=='function'){bkmkscrub.jsonbkmks=function(jsonobj,flip,scrub,scrubtitles,_depth){if(_depth==null)_depth=0;var result="";var indent="";for(var i=_depth;i--;){indent+="\t";}
if(jsonobj.type=="text/x-moz-place-container"){if(scrub){if(jsonobj.title){for(var i in scrubtitles){if(jsonobj.title==scrubtitles[i])
{return"";}}}
if(jsonobj.annos&&jsonobj.annos[0].name=="bookmarkProperties/description"){if(jsonobj.annos[0].value&&jsonobj.annos[0].value.match(/DO_NOT_EXPORT/))
{return"";}}}
if(jsonobj.root&&root_folders_to_scrub.test(jsonobj.root))
{return"";}
result+=indent+'{ "title" : ';if(jsonobj.title)
{result+=jsonsafe(jsonobj.title)+', ';}
else
{result+='"", ';}
if(jsonobj.root)
{result+='"root" : "'+jsonobj.root+'", ';}
if(jsonobj.livemark)
{result+='"livemark" : '+jsonobj.livemark+', ';}
result+='"type" : "text/x-moz-place-container",';var closed=0;if(jsonobj.annos){_depth+=1;indent="";for(var i=_depth;i--;){indent+="\t";}
result+='\n'+indent+'"annos" : [';if(jsonobj.livemark){for(var x=0;x<jsonobj.annos.length;x++){if(jsonobj.annos[x].name=="livemark/feedURI"){result+='\n'+indent+'{ "value" : '
+jsonsafe(jsonobj.annos[x].value)
+', "name" : "livemark/feedURI", },';}
if(jsonobj.annos[x].name=="livemark/siteURI"){result+='\n'+indent+'{ "value" : '
+jsonsafe(jsonobj.annos[x].value)
+', "name" : "livemark/siteURI", },';}}
result+=' ],';}else{result+=' { "value" : '+jsonsafe(jsonobj.annos[0].value)
+', "name" : '+jsonsafe(jsonobj.annos[0].name)+', }, ],';}
if(!jsonobj.children||jsonobj.children.length<=0)
{result+=' },\n';}
_depth-=1;indent="";for(var i=_depth;i--;){indent+="\t";}
closed=1;}
if(jsonobj.children&&jsonobj.children.length>0){_depth+=1;indent="";for(var i=_depth;i--;){indent+="\t";}
result+='\n'+indent+'"children" : [\n';if(flip&&_depth==2){for(var x=jsonobj.children.length;x--;)
{result+=bkmkscrub.jsonbkmks(jsonobj.children[x],flip,scrub,scrubtitles,_depth);}}else{for(var x=0;x<jsonobj.children.length;x++)
{result+=bkmkscrub.jsonbkmks(jsonobj.children[x],flip,scrub,scrubtitles,_depth);}}
_depth-=1;indent="";for(var i=_depth;i--;){indent+="\t";}
if(_depth>0)
{result+=indent+'], },\n';}
else
{result+='], }\n';}
closed=1;}
if(!closed)
{result+=' },\n';}}else{if(jsonobj.type=="text/x-moz-place-separator"){result+=indent+'{ "title" : "", "type" : "text/x-moz-place-separator", },\n';}else{if(jsonobj.annos&&jsonobj.annos[0].name=="bookmarkProperties/description"){if(scrub&&jsonobj.annos[0].value&&jsonobj.annos[0].value.match(/DO_NOT_EXPORT/))
{return"";}}
result+=indent+'{ "title" : ';if(jsonobj.title)
{result+=jsonsafe(jsonobj.title);}
else
{result+='""';}
result+=', "uri" : '+jsonsafe(jsonobj.uri)+', ';if(jsonobj.keyword)
{result+='"keyword" : '+jsonsafe(jsonobj.keyword)+', ';}
result+='"type" : "text/x-moz-place",';if(jsonobj.annos){_depth+=1;indent="";for(var i=_depth;i--;){indent+="\t";}
result+='\n'+indent+'"annos" : [ { "value" : '+jsonsafe(jsonobj.annos[0].value)
+', "name" : '+jsonsafe(jsonobj.annos[0].name)+', }, ], },\n';_depth-=1;indent="";for(var i=_depth;i--;){indent+="\t";}}else{result+=' },\n';}}}
return result;};}
var scrub_extra_uri=/^file:\/\/|^http[s]?:\/\/localhost|^http[s]?:\/\/10.|^http[s]?:\/\/192.168|^http[s]?:\/\/172.16|^http[s]?:\/\/169.254|^http[s]?:\/\/127.0.0.1/;var root_folders_to_scrub=/tagsFolder|unfiledBookmarksFolder/;function extractURI(jsonobj,scrub,indent){var result="";if(scrub&&scrub_extra_uri.test(jsonobj.uri))
{return"";}
result+=indent+"<DT><A HREF=\""+jsonobj.uri+"\"";if(jsonobj.keyword)
{result+=" SHORTCUTURL=\""+htmlsafe(jsonobj.keyword)+"\"";}
if(jsonobj.title)
{result+=">"+htmlsafe(jsonobj.title)+"</A></DT>\n";}
return result;}
if(typeof bkmkscrub.json2html!=='function'){bkmkscrub.json2html=function(jsonobj,scrub,scrubtitles,_depth){if(_depth==null)_depth=0;var result="";var indent="";for(var i=_depth;i--;){indent+="\t";}
if(jsonobj.title){if(jsonobj.type=="text/x-moz-place-container"){if(scrub){for(var i in scrubtitles){if(jsonobj.title==scrubtitles[i])
{return"";}}}
if(jsonobj.root&&root_folders_to_scrub.test(jsonobj.root))
{return"";}}
if(jsonobj.uri)
{result+=extractURI(jsonobj,scrub,indent);}
else if(jsonobj.livemark){result+=indent+"<DT><A";for(var x=0;x<jsonobj.annos.length;x++){switch(jsonobj.annos[x].name){case"livemark/feedURI":result+=" FEEDURL=\""+htmlsafe(jsonobj.annos[x].value)+"\"";break;case"livemark/siteURI":result+=" HREF=\""+htmlsafe(jsonobj.annos[x].value)+"\"";break;}}
if(jsonobj.keyword)
{result+=" SHORTCUTURL=\""+htmlsafe(jsonobj.keyword)+"\"";}
result+=">"+htmlsafe(jsonobj.title)+"</A></DT>\n";}else{result+=indent+"<DT><H3";if(jsonobj.root=="toolbarFolder")
{result+=" PERSONAL_TOOLBAR_FOLDER=\"true\"";}
result+=">"+htmlsafe(jsonobj.title)+"</H3>\n";}
if(jsonobj.annos&&jsonobj.annos[0].name=="bookmarkProperties/description"){if(scrub&&jsonobj.annos[0].value&&jsonobj.annos[0].value.match(/DO_NOT_EXPORT/))
{return"";}
result+="<DD>"+htmlsafe(jsonobj.annos[0].value)+"</DD>\n";}}else{if(jsonobj.type=="text/x-moz-place-separator")
{result+=indent+"<HR>\n";}
else if(jsonobj.uri)
{result+=extractURI(jsonobj,scrub,indent);}}
if(jsonobj.children){_depth+=1;subresult="";for(var x=0;x<jsonobj.children.length;x++)
{subresult+=bkmkscrub.json2html(jsonobj.children[x],scrub,scrubtitles,_depth);}
_depth-=1;if(subresult.length!=0)
{result+=indent+"<DL>\n"+subresult+indent+"</DL>\n";}}
return result;};}}());
