add: ':|':    'plain', 
context: function processEmoticons(xmlMessageBody) {    function makeMatcher(listOfStrings) {        return new RegExp(listOfStrings.map(escape).join('|'), 'g');    }    function escape(string) {        return string.replace(/(\(|\)|\*|\|)/g, '\\$1');    }    function getKeys(object) {        var keys = [];        for(var key in object)            keys.push(key);        return keys;    }    var _ = arguments.callee;    _.emoticons = _.emoticons || {        '0:-)':  'angel',        '0:)':   'angel',        ':\'(':  'crying',        '>:-)':  'devil-grin',        '>:)':   'devil-grin',        '8-)':   'glasses',        '8)':    'glasses',        ':-*':   'kiss',        ':*':    'kiss',        ':-(|)': 'monkey',        ':(|)':  'monkey',        ':-|':   'plain',        ':-(':   'sad',        ':(':    'sad',        ':-))':  'smile-big',        ':))':   'smile-big',        ':-)':   'smile',        ':)':    'smile',        ':-D':   'grin',        ':D':    'grin',        ':-O':   'surprise',        ':O':    'surprise',        ';)':    'wink',        ';-)':   'wink',        '<3':	 'heart',        'B-)':   'cool',        'B)':    'cool'   };    _.regexp = _.regexp || makeMatcher(getKeys(_.emoticons));    return xml.mapTextNodes(xmlMessageBody, function(textNode) {        return text.mapMatch(            textNode.toString(), _.regexp,            function(emoticonSymbol) {                var url = 'emoticons/' + _.emoticons[emoticonSymbol] + '.png';                var cls = "smiley smiley-" + _.emoticons[emoticonSymbol];                return <span class={cls}>{emoticonSymbol}</span>;            });    });}
meta: 1705	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/1705/e5e4c848fa60214bb1d3c4b7906f3ce339e65031/display_filters.js/buggy/chrome/content/app/lib/display_filters.js