        setTemplates: function() {
            var iconHTML = '';
            if (this.options.suggestionIcon !== '') {
                iconHTML = '<span class="fa-' + this.options.suggestionIcon + ' icon"></span>';
            }

            // suggestions
            if (this.options.fields.length) {
                this.suggestionTpl = this.sandbox.util.template('' +
                    '<div class="' + this.options.suggestionClass + '" data-id="<%= context[\'id \']%>">' +
                    '   <div class="border">' +
                    '       <div class="text">' +
                    '           <% _.each(fields, function(field, idx) { %>' +
                    '           <div class="suggestion-column" style="width: <%= field.width %>;"><%= context[field.id] %></div>' +
                    '           <% }) %>' +
                    '       </div>' +
                    '   </div>' +
                    '</div>');
            } else {
                this.suggestionTpl = this.sandbox.util.template('' +
                    '<div class="' + this.options.suggestionClass + '" data-id="<%= context[\'id \']%>">' +
                    '   <div class="border">' +
                            iconHTML +
                    '       <div class="text"><%= context[this.options.valueKey] %></div>' +
                    '   </div>' +
                    '</div>');
            }

            if (!!this.options.footerContent) {
                this.footerTpl = this.sandbox.util.template(
                    '<div class="auto-complete-footer">' +
                        this.options.footerContent +
                    '</div>'
                );
            }
        },
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.