text: /**
   * lodash (Custom Build) <https://lodash.com/>
   * Build: `lodash modularize category="object,lang,array,collection" -o lodash`
   * Copyright jQuery Foundation and other contributors <https://jquery.org/>
   * Released under MIT license <https://lodash.com/license>
   * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
   * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
   */
  var arrayMap = require('./_arrayMap'),
      baseDifference = require('./_baseDifference'),
      baseFlatten = require('./_baseFlatten'),
      basePick = require('./_basePick'),
      getAllKeysIn = require('./_getAllKeysIn'),
      rest = require('./rest'),
      toKey = require('./_toKey');
  
  /**
   * The opposite of `_.pick`; this method creates an object composed of the
   * own and inherited enumerable string keyed properties of `object` that are
   * not omitted.
   *
   * @static
   * @since 0.1.0
   * @memberOf _
   * @category Object
   * @param {Object} object The source object.
   * @param {...(string|string[])} [props] The property identifiers to omit.
   * @returns {Object} Returns the new object.
   * @example
   *
   * var object = { 'a': 1, 'b': '2', 'c': 3 };
   *
   * _.omit(object, ['a', 'c']);
   * // => { 'b': '2' }
   */
  var omit = rest(function(object, props) {
    if (object == null) {
      return {};
    }
    props = arrayMap(baseFlatten(props, 1), toKey);
    return basePick(object, baseDifference(getAllKeysIn(object), props));
  });
  
  module.exports = omit;
  