| /** | 
 |  * The base implementation of `_.slice` without an iteratee call guard. | 
 |  * | 
 |  * @private | 
 |  * @param {Array} array The array to slice. | 
 |  * @param {number} [start=0] The start position. | 
 |  * @param {number} [end=array.length] The end position. | 
 |  * @returns {Array} Returns the slice of `array`. | 
 |  */ | 
 | function baseSlice(array, start, end) { | 
 |   var index = -1, | 
 |       length = array.length; | 
 |  | 
 |   if (start < 0) { | 
 |     start = -start > length ? 0 : (length + start); | 
 |   } | 
 |   end = end > length ? length : end; | 
 |   if (end < 0) { | 
 |     end += length; | 
 |   } | 
 |   length = start > end ? 0 : ((end - start) >>> 0); | 
 |   start >>>= 0; | 
 |  | 
 |   var result = Array(length); | 
 |   while (++index < length) { | 
 |     result[index] = array[index + start]; | 
 |   } | 
 |   return result; | 
 | } | 
 |  | 
 | module.exports = baseSlice; |