b0VIM 7.4^[j+mikebruce~mike/projects/oss/jshint/jshint/src/jshint.jsutf-8 3210#"! Utp4rs.~t6|i&ks{mhnP}Az8sR  yR w mB  y1 y \# ~ p ompsLs{2x}%*ptu|vgsk^v?PXadrKH  l : 7 w t $ 9 } | ` J I # y Q ! ih"yx&nm%mZG4"vjY xg@3d" return false; error("E001", t, type, name); if (t.type !== "jslint" && !_.has(options.removed, name)) { if (validNames.indexOf(name) === -1) { } return true; if (/^[+-]W\d{3}$/g.test(name)) { name = name.trim(); } validNames = options.unstableNames; type = "unstable "; } else { validNames = options.validNames; type = ""; if (isStable) { var type, validNames; function checkOption(name, isStable, t) { emitter = new events.EventEmitter(); extraModules = [], urls, predefined, // Global variables defined by option membersOnly, member, lex, lookahead, indent, inblock, functions, // All of the functions declared, // Globals that were declared using /*global ... */ syntax. }, "%" : true "/" : true, "*" : true, "-" : true, "+" : true, ">=" : true, ">" : true, "!=" : true, "!==": true, "===": true, "==" : true, "<=" : true, "<" : true, bang = { // These are operators that should not be used with the ! operator. var api, // Extension API "use strict";var JSHINT = (function() {// the JSHINT function itself.// variable. That function will be invoked immediately, and its return value is// We build the application inside a function so that we produce only a singletonvar console = require("console-browserify");// it to log things. It's a sad state of affair, really.// don't necessarilly expose the 'console' API and browserify uses// We need this module here because environments such as IE and Rhinovar prodParams = require("./prod-params.js");var scopeManager = require("./scope-manager.js");var options = require("./options.js");var style = require("./style.js");var state = require("./state.js").state;var reg = require("./reg.js");var Lexer = require("./lex.js").Lexer;var messages = require("./messages.js");var vars = require("./vars.js");var events = require("events");var _ = require("lodash");/*exported console *//*jshint quotmark:double */ */ * * DEALINGS IN THE SOFTWARE. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * * The Software shall be used for Good, not Evil. * * in all copies or substantial portions of the Software. * The above copyright notice and this permission notice shall be included * * the Software is furnished to do so, subject to the following conditions: * and/or sell copies of the Software, and to permit persons to whom * the rights to use, copy, modify, merge, publish, distribute, sublicense, * to deal in the Software without restriction, including without limitation * a copy of this software and associated documentation files (the "Software"), * Permission is hereby granted, free of charge, to any person obtaining * * Copyright (c) 2002 Douglas Crockford (www.JSLint.com) * * MIT license that JSLint is. It stops evil-doers everywhere: * This file (and this file only) is licensed under the same slightly modified * * JSHint, by JSHint Community./*!ad9 PwbF?> W2  m O I H  o R # " } t s T N M  s d \ V U D ? > $ #  } exports.JSHINT = JSHINT;if (typeof exports === "object" && exports) {// Make JSHINT a Node module, if possible.}()); return itself; itself.jshint = itself; }; return data; } } break; data.member = member; if (typeof member[n] === "number") { for (n in member) { } data.unused = unuseds; if (unuseds.length > 0) { var unuseds = state.funct["(scope)"].getUnuseds(); } data.functions.push(fu); }; statements: f["(metrics)"].statementCount parameters: f["(metrics)"].arity, complexity: f["(metrics)"].ComplexityCount, fu.metrics = { fu.lastcharacter = f["(lastcharacter)"]; fu.last = f["(last)"]; fu.character = f["(character)"]; fu.line = f["(line)"]; fu.param = f["(params)"]; fu.name = f["(name)"]; fu = {}; f = functions[i]; for (i = 1; i < functions.length; i += 1) { } data.globals = globals; if (globals.length > 0) { globals = state.funct["(scope)"].getUsedOrDefinedGlobals(); } data.urls = urls; if (urls.length > 0) { } data.implieds = impliedGlobals; if (impliedGlobals.length > 0) { var impliedGlobals = state.funct["(scope)"].getImpliedGlobals(); } data.json = true; if (state.jsonMode) { } data.errors = itself.errors; if (itself.errors.length) { var fu, f, i, n, globals; }; options: state.option functions: [], var data = { itself.data = function() { // Data summary. itself.addModule(style.register); }; extraModules.push(func);