static L localUserWebEdits() { new Matches m; new L programsToScan; for (S s : listFileNames(getProgramDir(circlesEditorDBID()))) pcall { if (swic(s, "webs.posted.at.", m)) programsToScan.add(fsI($1)); } new L webs; for (S progID : programsToScan) pcall { for (S s : scanLog(progID, "user-web-edits")) pcall { webs.add(parseWeb(trim(afterSpace(s)))); } } ret webs; }