You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by an...@apache.org on 2016/03/11 08:08:30 UTC

[09/37] cordova-windows git commit: CB-10838 Upgrade cordova-common to 1.1.0

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/map.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/map.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/map.js
new file mode 100644
index 0000000..5381110
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/map.js
@@ -0,0 +1,68 @@
+var arrayMap = require('../internal/arrayMap'),
+    baseCallback = require('../internal/baseCallback'),
+    baseMap = require('../internal/baseMap'),
+    isArray = require('../lang/isArray');
+
+/**
+ * Creates an array of values by running each element in `collection` through
+ * `iteratee`. The `iteratee` is bound to `thisArg` and invoked with three
+ * arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * Many lodash methods are guarded to work as iteratees for methods like
+ * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
+ *
+ * The guarded methods are:
+ * `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`,
+ * `drop`, `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`,
+ * `parseInt`, `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`,
+ * `trimLeft`, `trimRight`, `trunc`, `random`, `range`, `sample`, `some`,
+ * `sum`, `uniq`, and `words`
+ *
+ * @static
+ * @memberOf _
+ * @alias collect
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ *  per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new mapped array.
+ * @example
+ *
+ * function timesThree(n) {
+ *   return n * 3;
+ * }
+ *
+ * _.map([1, 2], timesThree);
+ * // => [3, 6]
+ *
+ * _.map({ 'a': 1, 'b': 2 }, timesThree);
+ * // => [3, 6] (iteration order is not guaranteed)
+ *
+ * var users = [
+ *   { 'user': 'barney' },
+ *   { 'user': 'fred' }
+ * ];
+ *
+ * // using the `_.property` callback shorthand
+ * _.map(users, 'user');
+ * // => ['barney', 'fred']
+ */
+function map(collection, iteratee, thisArg) {
+  var func = isArray(collection) ? arrayMap : baseMap;
+  iteratee = baseCallback(iteratee, thisArg, 3);
+  return func(collection, iteratee);
+}
+
+module.exports = map;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/max.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/max.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/max.js
new file mode 100644
index 0000000..bb1d213
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/max.js
@@ -0,0 +1 @@
+module.exports = require('../math/max');

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/min.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/min.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/min.js
new file mode 100644
index 0000000..eef13d0
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/min.js
@@ -0,0 +1 @@
+module.exports = require('../math/min');

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/partition.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/partition.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/partition.js
new file mode 100644
index 0000000..ee35f27
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/partition.js
@@ -0,0 +1,66 @@
+var createAggregator = require('../internal/createAggregator');
+
+/**
+ * Creates an array of elements split into two groups, the first of which
+ * contains elements `predicate` returns truthy for, while the second of which
+ * contains elements `predicate` returns falsey for. The predicate is bound
+ * to `thisArg` and invoked with three arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ *  per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the array of grouped elements.
+ * @example
+ *
+ * _.partition([1, 2, 3], function(n) {
+ *   return n % 2;
+ * });
+ * // => [[1, 3], [2]]
+ *
+ * _.partition([1.2, 2.3, 3.4], function(n) {
+ *   return this.floor(n) % 2;
+ * }, Math);
+ * // => [[1.2, 3.4], [2.3]]
+ *
+ * var users = [
+ *   { 'user': 'barney',  'age': 36, 'active': false },
+ *   { 'user': 'fred',    'age': 40, 'active': true },
+ *   { 'user': 'pebbles', 'age': 1,  'active': false }
+ * ];
+ *
+ * var mapper = function(array) {
+ *   return _.pluck(array, 'user');
+ * };
+ *
+ * // using the `_.matches` callback shorthand
+ * _.map(_.partition(users, { 'age': 1, 'active': false }), mapper);
+ * // => [['pebbles'], ['barney', 'fred']]
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.map(_.partition(users, 'active', false), mapper);
+ * // => [['barney', 'pebbles'], ['fred']]
+ *
+ * // using the `_.property` callback shorthand
+ * _.map(_.partition(users, 'active'), mapper);
+ * // => [['fred'], ['barney', 'pebbles']]
+ */
+var partition = createAggregator(function(result, value, key) {
+  result[key ? 0 : 1].push(value);
+}, function() { return [[], []]; });
+
+module.exports = partition;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/pluck.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/pluck.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/pluck.js
new file mode 100644
index 0000000..5ee1ec8
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/pluck.js
@@ -0,0 +1,31 @@
+var map = require('./map'),
+    property = require('../utility/property');
+
+/**
+ * Gets the property value of `path` from all elements in `collection`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Array|string} path The path of the property to pluck.
+ * @returns {Array} Returns the property values.
+ * @example
+ *
+ * var users = [
+ *   { 'user': 'barney', 'age': 36 },
+ *   { 'user': 'fred',   'age': 40 }
+ * ];
+ *
+ * _.pluck(users, 'user');
+ * // => ['barney', 'fred']
+ *
+ * var userIndex = _.indexBy(users, 'user');
+ * _.pluck(userIndex, 'age');
+ * // => [36, 40] (iteration order is not guaranteed)
+ */
+function pluck(collection, path) {
+  return map(collection, property(path));
+}
+
+module.exports = pluck;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reduce.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reduce.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reduce.js
new file mode 100644
index 0000000..5d5e8c9
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reduce.js
@@ -0,0 +1,44 @@
+var arrayReduce = require('../internal/arrayReduce'),
+    baseEach = require('../internal/baseEach'),
+    createReduce = require('../internal/createReduce');
+
+/**
+ * Reduces `collection` to a value which is the accumulated result of running
+ * each element in `collection` through `iteratee`, where each successive
+ * invocation is supplied the return value of the previous. If `accumulator`
+ * is not provided the first element of `collection` is used as the initial
+ * value. The `iteratee` is bound to `thisArg` and invoked with four arguments:
+ * (accumulator, value, index|key, collection).
+ *
+ * Many lodash methods are guarded to work as iteratees for methods like
+ * `_.reduce`, `_.reduceRight`, and `_.transform`.
+ *
+ * The guarded methods are:
+ * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `sortByAll`,
+ * and `sortByOrder`
+ *
+ * @static
+ * @memberOf _
+ * @alias foldl, inject
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the accumulated value.
+ * @example
+ *
+ * _.reduce([1, 2], function(total, n) {
+ *   return total + n;
+ * });
+ * // => 3
+ *
+ * _.reduce({ 'a': 1, 'b': 2 }, function(result, n, key) {
+ *   result[key] = n * 3;
+ *   return result;
+ * }, {});
+ * // => { 'a': 3, 'b': 6 } (iteration order is not guaranteed)
+ */
+var reduce = createReduce(arrayReduce, baseEach);
+
+module.exports = reduce;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reduceRight.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reduceRight.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reduceRight.js
new file mode 100644
index 0000000..5a5753b
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reduceRight.js
@@ -0,0 +1,29 @@
+var arrayReduceRight = require('../internal/arrayReduceRight'),
+    baseEachRight = require('../internal/baseEachRight'),
+    createReduce = require('../internal/createReduce');
+
+/**
+ * This method is like `_.reduce` except that it iterates over elements of
+ * `collection` from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @alias foldr
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {*} Returns the accumulated value.
+ * @example
+ *
+ * var array = [[0, 1], [2, 3], [4, 5]];
+ *
+ * _.reduceRight(array, function(flattened, other) {
+ *   return flattened.concat(other);
+ * }, []);
+ * // => [4, 5, 2, 3, 0, 1]
+ */
+var reduceRight = createReduce(arrayReduceRight, baseEachRight);
+
+module.exports = reduceRight;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reject.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reject.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reject.js
new file mode 100644
index 0000000..5592453
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reject.js
@@ -0,0 +1,50 @@
+var arrayFilter = require('../internal/arrayFilter'),
+    baseCallback = require('../internal/baseCallback'),
+    baseFilter = require('../internal/baseFilter'),
+    isArray = require('../lang/isArray');
+
+/**
+ * The opposite of `_.filter`; this method returns the elements of `collection`
+ * that `predicate` does **not** return truthy for.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ *  per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {Array} Returns the new filtered array.
+ * @example
+ *
+ * _.reject([1, 2, 3, 4], function(n) {
+ *   return n % 2 == 0;
+ * });
+ * // => [1, 3]
+ *
+ * var users = [
+ *   { 'user': 'barney', 'age': 36, 'active': false },
+ *   { 'user': 'fred',   'age': 40, 'active': true }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.pluck(_.reject(users, { 'age': 40, 'active': true }), 'user');
+ * // => ['barney']
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.pluck(_.reject(users, 'active', false), 'user');
+ * // => ['fred']
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.reject(users, 'active'), 'user');
+ * // => ['barney']
+ */
+function reject(collection, predicate, thisArg) {
+  var func = isArray(collection) ? arrayFilter : baseFilter;
+  predicate = baseCallback(predicate, thisArg, 3);
+  return func(collection, function(value, index, collection) {
+    return !predicate(value, index, collection);
+  });
+}
+
+module.exports = reject;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sample.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sample.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sample.js
new file mode 100644
index 0000000..8e01533
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sample.js
@@ -0,0 +1,50 @@
+var baseRandom = require('../internal/baseRandom'),
+    isIterateeCall = require('../internal/isIterateeCall'),
+    toArray = require('../lang/toArray'),
+    toIterable = require('../internal/toIterable');
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeMin = Math.min;
+
+/**
+ * Gets a random element or `n` random elements from a collection.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to sample.
+ * @param {number} [n] The number of elements to sample.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {*} Returns the random sample(s).
+ * @example
+ *
+ * _.sample([1, 2, 3, 4]);
+ * // => 2
+ *
+ * _.sample([1, 2, 3, 4], 2);
+ * // => [3, 1]
+ */
+function sample(collection, n, guard) {
+  if (guard ? isIterateeCall(collection, n, guard) : n == null) {
+    collection = toIterable(collection);
+    var length = collection.length;
+    return length > 0 ? collection[baseRandom(0, length - 1)] : undefined;
+  }
+  var index = -1,
+      result = toArray(collection),
+      length = result.length,
+      lastIndex = length - 1;
+
+  n = nativeMin(n < 0 ? 0 : (+n || 0), length);
+  while (++index < n) {
+    var rand = baseRandom(index, lastIndex),
+        value = result[rand];
+
+    result[rand] = result[index];
+    result[index] = value;
+  }
+  result.length = n;
+  return result;
+}
+
+module.exports = sample;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/select.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/select.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/select.js
new file mode 100644
index 0000000..ade80f6
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/select.js
@@ -0,0 +1 @@
+module.exports = require('./filter');

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/shuffle.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/shuffle.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/shuffle.js
new file mode 100644
index 0000000..949689c
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/shuffle.js
@@ -0,0 +1,24 @@
+var sample = require('./sample');
+
+/** Used as references for `-Infinity` and `Infinity`. */
+var POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
+
+/**
+ * Creates an array of shuffled values, using a version of the
+ * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to shuffle.
+ * @returns {Array} Returns the new shuffled array.
+ * @example
+ *
+ * _.shuffle([1, 2, 3, 4]);
+ * // => [4, 1, 3, 2]
+ */
+function shuffle(collection) {
+  return sample(collection, POSITIVE_INFINITY);
+}
+
+module.exports = shuffle;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/size.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/size.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/size.js
new file mode 100644
index 0000000..78dcf4c
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/size.js
@@ -0,0 +1,30 @@
+var getLength = require('../internal/getLength'),
+    isLength = require('../internal/isLength'),
+    keys = require('../object/keys');
+
+/**
+ * Gets the size of `collection` by returning its length for array-like
+ * values or the number of own enumerable properties for objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to inspect.
+ * @returns {number} Returns the size of `collection`.
+ * @example
+ *
+ * _.size([1, 2, 3]);
+ * // => 3
+ *
+ * _.size({ 'a': 1, 'b': 2 });
+ * // => 2
+ *
+ * _.size('pebbles');
+ * // => 7
+ */
+function size(collection) {
+  var length = collection ? getLength(collection) : 0;
+  return isLength(length) ? length : keys(collection).length;
+}
+
+module.exports = size;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/some.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/some.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/some.js
new file mode 100644
index 0000000..d0b09a4
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/some.js
@@ -0,0 +1,67 @@
+var arraySome = require('../internal/arraySome'),
+    baseCallback = require('../internal/baseCallback'),
+    baseSome = require('../internal/baseSome'),
+    isArray = require('../lang/isArray'),
+    isIterateeCall = require('../internal/isIterateeCall');
+
+/**
+ * Checks if `predicate` returns truthy for **any** element of `collection`.
+ * The function returns as soon as it finds a passing value and does not iterate
+ * over the entire collection. The predicate is bound to `thisArg` and invoked
+ * with three arguments: (value, index|key, collection).
+ *
+ * If a property name is provided for `predicate` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `predicate` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias any
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [predicate=_.identity] The function invoked
+ *  per iteration.
+ * @param {*} [thisArg] The `this` binding of `predicate`.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ *  else `false`.
+ * @example
+ *
+ * _.some([null, 0, 'yes', false], Boolean);
+ * // => true
+ *
+ * var users = [
+ *   { 'user': 'barney', 'active': true },
+ *   { 'user': 'fred',   'active': false }
+ * ];
+ *
+ * // using the `_.matches` callback shorthand
+ * _.some(users, { 'user': 'barney', 'active': false });
+ * // => false
+ *
+ * // using the `_.matchesProperty` callback shorthand
+ * _.some(users, 'active', false);
+ * // => true
+ *
+ * // using the `_.property` callback shorthand
+ * _.some(users, 'active');
+ * // => true
+ */
+function some(collection, predicate, thisArg) {
+  var func = isArray(collection) ? arraySome : baseSome;
+  if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
+    predicate = undefined;
+  }
+  if (typeof predicate != 'function' || thisArg !== undefined) {
+    predicate = baseCallback(predicate, thisArg, 3);
+  }
+  return func(collection, predicate);
+}
+
+module.exports = some;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortBy.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortBy.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortBy.js
new file mode 100644
index 0000000..4401c77
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortBy.js
@@ -0,0 +1,71 @@
+var baseCallback = require('../internal/baseCallback'),
+    baseMap = require('../internal/baseMap'),
+    baseSortBy = require('../internal/baseSortBy'),
+    compareAscending = require('../internal/compareAscending'),
+    isIterateeCall = require('../internal/isIterateeCall');
+
+/**
+ * Creates an array of elements, sorted in ascending order by the results of
+ * running each element in a collection through `iteratee`. This method performs
+ * a stable sort, that is, it preserves the original sort order of equal elements.
+ * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+ * (value, index|key, collection).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+ *  per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new sorted array.
+ * @example
+ *
+ * _.sortBy([1, 2, 3], function(n) {
+ *   return Math.sin(n);
+ * });
+ * // => [3, 1, 2]
+ *
+ * _.sortBy([1, 2, 3], function(n) {
+ *   return this.sin(n);
+ * }, Math);
+ * // => [3, 1, 2]
+ *
+ * var users = [
+ *   { 'user': 'fred' },
+ *   { 'user': 'pebbles' },
+ *   { 'user': 'barney' }
+ * ];
+ *
+ * // using the `_.property` callback shorthand
+ * _.pluck(_.sortBy(users, 'user'), 'user');
+ * // => ['barney', 'fred', 'pebbles']
+ */
+function sortBy(collection, iteratee, thisArg) {
+  if (collection == null) {
+    return [];
+  }
+  if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
+    iteratee = undefined;
+  }
+  var index = -1;
+  iteratee = baseCallback(iteratee, thisArg, 3);
+
+  var result = baseMap(collection, function(value, key, collection) {
+    return { 'criteria': iteratee(value, key, collection), 'index': ++index, 'value': value };
+  });
+  return baseSortBy(result, compareAscending);
+}
+
+module.exports = sortBy;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortByAll.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortByAll.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortByAll.js
new file mode 100644
index 0000000..4766c20
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortByAll.js
@@ -0,0 +1,52 @@
+var baseFlatten = require('../internal/baseFlatten'),
+    baseSortByOrder = require('../internal/baseSortByOrder'),
+    isIterateeCall = require('../internal/isIterateeCall'),
+    restParam = require('../function/restParam');
+
+/**
+ * This method is like `_.sortBy` except that it can sort by multiple iteratees
+ * or property names.
+ *
+ * If a property name is provided for an iteratee the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If an object is provided for an iteratee the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {...(Function|Function[]|Object|Object[]|string|string[])} iteratees
+ *  The iteratees to sort by, specified as individual values or arrays of values.
+ * @returns {Array} Returns the new sorted array.
+ * @example
+ *
+ * var users = [
+ *   { 'user': 'fred',   'age': 48 },
+ *   { 'user': 'barney', 'age': 36 },
+ *   { 'user': 'fred',   'age': 42 },
+ *   { 'user': 'barney', 'age': 34 }
+ * ];
+ *
+ * _.map(_.sortByAll(users, ['user', 'age']), _.values);
+ * // => [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]]
+ *
+ * _.map(_.sortByAll(users, 'user', function(chr) {
+ *   return Math.floor(chr.age / 10);
+ * }), _.values);
+ * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
+ */
+var sortByAll = restParam(function(collection, iteratees) {
+  if (collection == null) {
+    return [];
+  }
+  var guard = iteratees[2];
+  if (guard && isIterateeCall(iteratees[0], iteratees[1], guard)) {
+    iteratees.length = 1;
+  }
+  return baseSortByOrder(collection, baseFlatten(iteratees), []);
+});
+
+module.exports = sortByAll;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortByOrder.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortByOrder.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortByOrder.js
new file mode 100644
index 0000000..8b4fc19
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortByOrder.js
@@ -0,0 +1,55 @@
+var baseSortByOrder = require('../internal/baseSortByOrder'),
+    isArray = require('../lang/isArray'),
+    isIterateeCall = require('../internal/isIterateeCall');
+
+/**
+ * This method is like `_.sortByAll` except that it allows specifying the
+ * sort orders of the iteratees to sort by. If `orders` is unspecified, all
+ * values are sorted in ascending order. Otherwise, a value is sorted in
+ * ascending order if its corresponding order is "asc", and descending if "desc".
+ *
+ * If a property name is provided for an iteratee the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If an object is provided for an iteratee the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
+ * @param {boolean[]} [orders] The sort orders of `iteratees`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`.
+ * @returns {Array} Returns the new sorted array.
+ * @example
+ *
+ * var users = [
+ *   { 'user': 'fred',   'age': 48 },
+ *   { 'user': 'barney', 'age': 34 },
+ *   { 'user': 'fred',   'age': 42 },
+ *   { 'user': 'barney', 'age': 36 }
+ * ];
+ *
+ * // sort by `user` in ascending order and by `age` in descending order
+ * _.map(_.sortByOrder(users, ['user', 'age'], ['asc', 'desc']), _.values);
+ * // => [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
+ */
+function sortByOrder(collection, iteratees, orders, guard) {
+  if (collection == null) {
+    return [];
+  }
+  if (guard && isIterateeCall(iteratees, orders, guard)) {
+    orders = undefined;
+  }
+  if (!isArray(iteratees)) {
+    iteratees = iteratees == null ? [] : [iteratees];
+  }
+  if (!isArray(orders)) {
+    orders = orders == null ? [] : [orders];
+  }
+  return baseSortByOrder(collection, iteratees, orders);
+}
+
+module.exports = sortByOrder;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sum.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sum.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sum.js
new file mode 100644
index 0000000..a2e9380
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sum.js
@@ -0,0 +1 @@
+module.exports = require('../math/sum');

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/where.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/where.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/where.js
new file mode 100644
index 0000000..f603bf8
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/where.js
@@ -0,0 +1,37 @@
+var baseMatches = require('../internal/baseMatches'),
+    filter = require('./filter');
+
+/**
+ * Performs a deep comparison between each element in `collection` and the
+ * source object, returning an array of all elements that have equivalent
+ * property values.
+ *
+ * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+ * numbers, `Object` objects, regexes, and strings. Objects are compared by
+ * their own, not inherited, enumerable properties. For comparing a single
+ * own or inherited property value see `_.matchesProperty`.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to search.
+ * @param {Object} source The object of property values to match.
+ * @returns {Array} Returns the new filtered array.
+ * @example
+ *
+ * var users = [
+ *   { 'user': 'barney', 'age': 36, 'active': false, 'pets': ['hoppy'] },
+ *   { 'user': 'fred',   'age': 40, 'active': true, 'pets': ['baby puss', 'dino'] }
+ * ];
+ *
+ * _.pluck(_.where(users, { 'age': 36, 'active': false }), 'user');
+ * // => ['barney']
+ *
+ * _.pluck(_.where(users, { 'pets': ['dino'] }), 'user');
+ * // => ['fred']
+ */
+function where(collection, source) {
+  return filter(collection, baseMatches(source));
+}
+
+module.exports = where;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/date.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/date.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/date.js
new file mode 100644
index 0000000..195366e
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/date.js
@@ -0,0 +1,3 @@
+module.exports = {
+  'now': require('./date/now')
+};

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/date/now.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/date/now.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/date/now.js
new file mode 100644
index 0000000..ffe3060
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/date/now.js
@@ -0,0 +1,24 @@
+var getNative = require('../internal/getNative');
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeNow = getNative(Date, 'now');
+
+/**
+ * Gets the number of milliseconds that have elapsed since the Unix epoch
+ * (1 January 1970 00:00:00 UTC).
+ *
+ * @static
+ * @memberOf _
+ * @category Date
+ * @example
+ *
+ * _.defer(function(stamp) {
+ *   console.log(_.now() - stamp);
+ * }, _.now());
+ * // => logs the number of milliseconds it took for the deferred function to be invoked
+ */
+var now = nativeNow || function() {
+  return new Date().getTime();
+};
+
+module.exports = now;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function.js
new file mode 100644
index 0000000..71f8ebe
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function.js
@@ -0,0 +1,28 @@
+module.exports = {
+  'after': require('./function/after'),
+  'ary': require('./function/ary'),
+  'backflow': require('./function/backflow'),
+  'before': require('./function/before'),
+  'bind': require('./function/bind'),
+  'bindAll': require('./function/bindAll'),
+  'bindKey': require('./function/bindKey'),
+  'compose': require('./function/compose'),
+  'curry': require('./function/curry'),
+  'curryRight': require('./function/curryRight'),
+  'debounce': require('./function/debounce'),
+  'defer': require('./function/defer'),
+  'delay': require('./function/delay'),
+  'flow': require('./function/flow'),
+  'flowRight': require('./function/flowRight'),
+  'memoize': require('./function/memoize'),
+  'modArgs': require('./function/modArgs'),
+  'negate': require('./function/negate'),
+  'once': require('./function/once'),
+  'partial': require('./function/partial'),
+  'partialRight': require('./function/partialRight'),
+  'rearg': require('./function/rearg'),
+  'restParam': require('./function/restParam'),
+  'spread': require('./function/spread'),
+  'throttle': require('./function/throttle'),
+  'wrap': require('./function/wrap')
+};

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/after.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/after.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/after.js
new file mode 100644
index 0000000..96a51fd
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/after.js
@@ -0,0 +1,48 @@
+/** Used as the `TypeError` message for "Functions" methods. */
+var FUNC_ERROR_TEXT = 'Expected a function';
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeIsFinite = global.isFinite;
+
+/**
+ * The opposite of `_.before`; this method creates a function that invokes
+ * `func` once it's called `n` or more times.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {number} n The number of calls before `func` is invoked.
+ * @param {Function} func The function to restrict.
+ * @returns {Function} Returns the new restricted function.
+ * @example
+ *
+ * var saves = ['profile', 'settings'];
+ *
+ * var done = _.after(saves.length, function() {
+ *   console.log('done saving!');
+ * });
+ *
+ * _.forEach(saves, function(type) {
+ *   asyncSave({ 'type': type, 'complete': done });
+ * });
+ * // => logs 'done saving!' after the two async saves have completed
+ */
+function after(n, func) {
+  if (typeof func != 'function') {
+    if (typeof n == 'function') {
+      var temp = n;
+      n = func;
+      func = temp;
+    } else {
+      throw new TypeError(FUNC_ERROR_TEXT);
+    }
+  }
+  n = nativeIsFinite(n = +n) ? n : 0;
+  return function() {
+    if (--n < 1) {
+      return func.apply(this, arguments);
+    }
+  };
+}
+
+module.exports = after;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/ary.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/ary.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/ary.js
new file mode 100644
index 0000000..53a6913
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/ary.js
@@ -0,0 +1,34 @@
+var createWrapper = require('../internal/createWrapper'),
+    isIterateeCall = require('../internal/isIterateeCall');
+
+/** Used to compose bitmasks for wrapper metadata. */
+var ARY_FLAG = 128;
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeMax = Math.max;
+
+/**
+ * Creates a function that accepts up to `n` arguments ignoring any
+ * additional arguments.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to cap arguments for.
+ * @param {number} [n=func.length] The arity cap.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * _.map(['6', '8', '10'], _.ary(parseInt, 1));
+ * // => [6, 8, 10]
+ */
+function ary(func, n, guard) {
+  if (guard && isIterateeCall(func, n, guard)) {
+    n = undefined;
+  }
+  n = (func && n == null) ? func.length : nativeMax(+n || 0, 0);
+  return createWrapper(func, ARY_FLAG, undefined, undefined, undefined, undefined, n);
+}
+
+module.exports = ary;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/backflow.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/backflow.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/backflow.js
new file mode 100644
index 0000000..1954e94
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/backflow.js
@@ -0,0 +1 @@
+module.exports = require('./flowRight');

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/before.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/before.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/before.js
new file mode 100644
index 0000000..3d94216
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/before.js
@@ -0,0 +1,42 @@
+/** Used as the `TypeError` message for "Functions" methods. */
+var FUNC_ERROR_TEXT = 'Expected a function';
+
+/**
+ * Creates a function that invokes `func`, with the `this` binding and arguments
+ * of the created function, while it's called less than `n` times. Subsequent
+ * calls to the created function return the result of the last `func` invocation.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {number} n The number of calls at which `func` is no longer invoked.
+ * @param {Function} func The function to restrict.
+ * @returns {Function} Returns the new restricted function.
+ * @example
+ *
+ * jQuery('#add').on('click', _.before(5, addContactToList));
+ * // => allows adding up to 4 contacts to the list
+ */
+function before(n, func) {
+  var result;
+  if (typeof func != 'function') {
+    if (typeof n == 'function') {
+      var temp = n;
+      n = func;
+      func = temp;
+    } else {
+      throw new TypeError(FUNC_ERROR_TEXT);
+    }
+  }
+  return function() {
+    if (--n > 0) {
+      result = func.apply(this, arguments);
+    }
+    if (n <= 1) {
+      func = undefined;
+    }
+    return result;
+  };
+}
+
+module.exports = before;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bind.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bind.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bind.js
new file mode 100644
index 0000000..0de126a
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bind.js
@@ -0,0 +1,56 @@
+var createWrapper = require('../internal/createWrapper'),
+    replaceHolders = require('../internal/replaceHolders'),
+    restParam = require('./restParam');
+
+/** Used to compose bitmasks for wrapper metadata. */
+var BIND_FLAG = 1,
+    PARTIAL_FLAG = 32;
+
+/**
+ * Creates a function that invokes `func` with the `this` binding of `thisArg`
+ * and prepends any additional `_.bind` arguments to those provided to the
+ * bound function.
+ *
+ * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
+ * may be used as a placeholder for partially applied arguments.
+ *
+ * **Note:** Unlike native `Function#bind` this method does not set the "length"
+ * property of bound functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to bind.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new bound function.
+ * @example
+ *
+ * var greet = function(greeting, punctuation) {
+ *   return greeting + ' ' + this.user + punctuation;
+ * };
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * var bound = _.bind(greet, object, 'hi');
+ * bound('!');
+ * // => 'hi fred!'
+ *
+ * // using placeholders
+ * var bound = _.bind(greet, object, _, '!');
+ * bound('hi');
+ * // => 'hi fred!'
+ */
+var bind = restParam(function(func, thisArg, partials) {
+  var bitmask = BIND_FLAG;
+  if (partials.length) {
+    var holders = replaceHolders(partials, bind.placeholder);
+    bitmask |= PARTIAL_FLAG;
+  }
+  return createWrapper(func, bitmask, thisArg, partials, holders);
+});
+
+// Assign default placeholders.
+bind.placeholder = {};
+
+module.exports = bind;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bindAll.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bindAll.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bindAll.js
new file mode 100644
index 0000000..a09e948
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bindAll.js
@@ -0,0 +1,50 @@
+var baseFlatten = require('../internal/baseFlatten'),
+    createWrapper = require('../internal/createWrapper'),
+    functions = require('../object/functions'),
+    restParam = require('./restParam');
+
+/** Used to compose bitmasks for wrapper metadata. */
+var BIND_FLAG = 1;
+
+/**
+ * Binds methods of an object to the object itself, overwriting the existing
+ * method. Method names may be specified as individual arguments or as arrays
+ * of method names. If no method names are provided all enumerable function
+ * properties, own and inherited, of `object` are bound.
+ *
+ * **Note:** This method does not set the "length" property of bound functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Object} object The object to bind and assign the bound methods to.
+ * @param {...(string|string[])} [methodNames] The object method names to bind,
+ *  specified as individual method names or arrays of method names.
+ * @returns {Object} Returns `object`.
+ * @example
+ *
+ * var view = {
+ *   'label': 'docs',
+ *   'onClick': function() {
+ *     console.log('clicked ' + this.label);
+ *   }
+ * };
+ *
+ * _.bindAll(view);
+ * jQuery('#docs').on('click', view.onClick);
+ * // => logs 'clicked docs' when the element is clicked
+ */
+var bindAll = restParam(function(object, methodNames) {
+  methodNames = methodNames.length ? baseFlatten(methodNames) : functions(object);
+
+  var index = -1,
+      length = methodNames.length;
+
+  while (++index < length) {
+    var key = methodNames[index];
+    object[key] = createWrapper(object[key], BIND_FLAG, object);
+  }
+  return object;
+});
+
+module.exports = bindAll;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bindKey.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bindKey.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bindKey.js
new file mode 100644
index 0000000..b787fe7
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bindKey.js
@@ -0,0 +1,66 @@
+var createWrapper = require('../internal/createWrapper'),
+    replaceHolders = require('../internal/replaceHolders'),
+    restParam = require('./restParam');
+
+/** Used to compose bitmasks for wrapper metadata. */
+var BIND_FLAG = 1,
+    BIND_KEY_FLAG = 2,
+    PARTIAL_FLAG = 32;
+
+/**
+ * Creates a function that invokes the method at `object[key]` and prepends
+ * any additional `_.bindKey` arguments to those provided to the bound function.
+ *
+ * This method differs from `_.bind` by allowing bound functions to reference
+ * methods that may be redefined or don't yet exist.
+ * See [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
+ * for more details.
+ *
+ * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for partially applied arguments.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Object} object The object the method belongs to.
+ * @param {string} key The key of the method.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new bound function.
+ * @example
+ *
+ * var object = {
+ *   'user': 'fred',
+ *   'greet': function(greeting, punctuation) {
+ *     return greeting + ' ' + this.user + punctuation;
+ *   }
+ * };
+ *
+ * var bound = _.bindKey(object, 'greet', 'hi');
+ * bound('!');
+ * // => 'hi fred!'
+ *
+ * object.greet = function(greeting, punctuation) {
+ *   return greeting + 'ya ' + this.user + punctuation;
+ * };
+ *
+ * bound('!');
+ * // => 'hiya fred!'
+ *
+ * // using placeholders
+ * var bound = _.bindKey(object, 'greet', _, '!');
+ * bound('hi');
+ * // => 'hiya fred!'
+ */
+var bindKey = restParam(function(object, key, partials) {
+  var bitmask = BIND_FLAG | BIND_KEY_FLAG;
+  if (partials.length) {
+    var holders = replaceHolders(partials, bindKey.placeholder);
+    bitmask |= PARTIAL_FLAG;
+  }
+  return createWrapper(key, bitmask, object, partials, holders);
+});
+
+// Assign default placeholders.
+bindKey.placeholder = {};
+
+module.exports = bindKey;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/compose.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/compose.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/compose.js
new file mode 100644
index 0000000..1954e94
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/compose.js
@@ -0,0 +1 @@
+module.exports = require('./flowRight');

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/curry.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/curry.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/curry.js
new file mode 100644
index 0000000..b7db3fd
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/curry.js
@@ -0,0 +1,51 @@
+var createCurry = require('../internal/createCurry');
+
+/** Used to compose bitmasks for wrapper metadata. */
+var CURRY_FLAG = 8;
+
+/**
+ * Creates a function that accepts one or more arguments of `func` that when
+ * called either invokes `func` returning its result, if all `func` arguments
+ * have been provided, or returns a function that accepts one or more of the
+ * remaining `func` arguments, and so on. The arity of `func` may be specified
+ * if `func.length` is not sufficient.
+ *
+ * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,
+ * may be used as a placeholder for provided arguments.
+ *
+ * **Note:** This method does not set the "length" property of curried functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to curry.
+ * @param {number} [arity=func.length] The arity of `func`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the new curried function.
+ * @example
+ *
+ * var abc = function(a, b, c) {
+ *   return [a, b, c];
+ * };
+ *
+ * var curried = _.curry(abc);
+ *
+ * curried(1)(2)(3);
+ * // => [1, 2, 3]
+ *
+ * curried(1, 2)(3);
+ * // => [1, 2, 3]
+ *
+ * curried(1, 2, 3);
+ * // => [1, 2, 3]
+ *
+ * // using placeholders
+ * curried(1)(_, 3)(2);
+ * // => [1, 2, 3]
+ */
+var curry = createCurry(CURRY_FLAG);
+
+// Assign default placeholders.
+curry.placeholder = {};
+
+module.exports = curry;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/curryRight.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/curryRight.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/curryRight.js
new file mode 100644
index 0000000..11c5403
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/curryRight.js
@@ -0,0 +1,48 @@
+var createCurry = require('../internal/createCurry');
+
+/** Used to compose bitmasks for wrapper metadata. */
+var CURRY_RIGHT_FLAG = 16;
+
+/**
+ * This method is like `_.curry` except that arguments are applied to `func`
+ * in the manner of `_.partialRight` instead of `_.partial`.
+ *
+ * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for provided arguments.
+ *
+ * **Note:** This method does not set the "length" property of curried functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to curry.
+ * @param {number} [arity=func.length] The arity of `func`.
+ * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+ * @returns {Function} Returns the new curried function.
+ * @example
+ *
+ * var abc = function(a, b, c) {
+ *   return [a, b, c];
+ * };
+ *
+ * var curried = _.curryRight(abc);
+ *
+ * curried(3)(2)(1);
+ * // => [1, 2, 3]
+ *
+ * curried(2, 3)(1);
+ * // => [1, 2, 3]
+ *
+ * curried(1, 2, 3);
+ * // => [1, 2, 3]
+ *
+ * // using placeholders
+ * curried(3)(1, _)(2);
+ * // => [1, 2, 3]
+ */
+var curryRight = createCurry(CURRY_RIGHT_FLAG);
+
+// Assign default placeholders.
+curryRight.placeholder = {};
+
+module.exports = curryRight;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/debounce.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/debounce.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/debounce.js
new file mode 100644
index 0000000..163af90
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/debounce.js
@@ -0,0 +1,181 @@
+var isObject = require('../lang/isObject'),
+    now = require('../date/now');
+
+/** Used as the `TypeError` message for "Functions" methods. */
+var FUNC_ERROR_TEXT = 'Expected a function';
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeMax = Math.max;
+
+/**
+ * Creates a debounced function that delays invoking `func` until after `wait`
+ * milliseconds have elapsed since the last time the debounced function was
+ * invoked. The debounced function comes with a `cancel` method to cancel
+ * delayed invocations. Provide an options object to indicate that `func`
+ * should be invoked on the leading and/or trailing edge of the `wait` timeout.
+ * Subsequent calls to the debounced function return the result of the last
+ * `func` invocation.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
+ * on the trailing edge of the timeout only if the the debounced function is
+ * invoked more than once during the `wait` timeout.
+ *
+ * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+ * for details over the differences between `_.debounce` and `_.throttle`.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to debounce.
+ * @param {number} [wait=0] The number of milliseconds to delay.
+ * @param {Object} [options] The options object.
+ * @param {boolean} [options.leading=false] Specify invoking on the leading
+ *  edge of the timeout.
+ * @param {number} [options.maxWait] The maximum time `func` is allowed to be
+ *  delayed before it's invoked.
+ * @param {boolean} [options.trailing=true] Specify invoking on the trailing
+ *  edge of the timeout.
+ * @returns {Function} Returns the new debounced function.
+ * @example
+ *
+ * // avoid costly calculations while the window size is in flux
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
+ *
+ * // invoke `sendMail` when the click event is fired, debouncing subsequent calls
+ * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
+ *   'leading': true,
+ *   'trailing': false
+ * }));
+ *
+ * // ensure `batchLog` is invoked once after 1 second of debounced calls
+ * var source = new EventSource('/stream');
+ * jQuery(source).on('message', _.debounce(batchLog, 250, {
+ *   'maxWait': 1000
+ * }));
+ *
+ * // cancel a debounced call
+ * var todoChanges = _.debounce(batchLog, 1000);
+ * Object.observe(models.todo, todoChanges);
+ *
+ * Object.observe(models, function(changes) {
+ *   if (_.find(changes, { 'user': 'todo', 'type': 'delete'})) {
+ *     todoChanges.cancel();
+ *   }
+ * }, ['delete']);
+ *
+ * // ...at some point `models.todo` is changed
+ * models.todo.completed = true;
+ *
+ * // ...before 1 second has passed `models.todo` is deleted
+ * // which cancels the debounced `todoChanges` call
+ * delete models.todo;
+ */
+function debounce(func, wait, options) {
+  var args,
+      maxTimeoutId,
+      result,
+      stamp,
+      thisArg,
+      timeoutId,
+      trailingCall,
+      lastCalled = 0,
+      maxWait = false,
+      trailing = true;
+
+  if (typeof func != 'function') {
+    throw new TypeError(FUNC_ERROR_TEXT);
+  }
+  wait = wait < 0 ? 0 : (+wait || 0);
+  if (options === true) {
+    var leading = true;
+    trailing = false;
+  } else if (isObject(options)) {
+    leading = !!options.leading;
+    maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait);
+    trailing = 'trailing' in options ? !!options.trailing : trailing;
+  }
+
+  function cancel() {
+    if (timeoutId) {
+      clearTimeout(timeoutId);
+    }
+    if (maxTimeoutId) {
+      clearTimeout(maxTimeoutId);
+    }
+    lastCalled = 0;
+    maxTimeoutId = timeoutId = trailingCall = undefined;
+  }
+
+  function complete(isCalled, id) {
+    if (id) {
+      clearTimeout(id);
+    }
+    maxTimeoutId = timeoutId = trailingCall = undefined;
+    if (isCalled) {
+      lastCalled = now();
+      result = func.apply(thisArg, args);
+      if (!timeoutId && !maxTimeoutId) {
+        args = thisArg = undefined;
+      }
+    }
+  }
+
+  function delayed() {
+    var remaining = wait - (now() - stamp);
+    if (remaining <= 0 || remaining > wait) {
+      complete(trailingCall, maxTimeoutId);
+    } else {
+      timeoutId = setTimeout(delayed, remaining);
+    }
+  }
+
+  function maxDelayed() {
+    complete(trailing, timeoutId);
+  }
+
+  function debounced() {
+    args = arguments;
+    stamp = now();
+    thisArg = this;
+    trailingCall = trailing && (timeoutId || !leading);
+
+    if (maxWait === false) {
+      var leadingCall = leading && !timeoutId;
+    } else {
+      if (!maxTimeoutId && !leading) {
+        lastCalled = stamp;
+      }
+      var remaining = maxWait - (stamp - lastCalled),
+          isCalled = remaining <= 0 || remaining > maxWait;
+
+      if (isCalled) {
+        if (maxTimeoutId) {
+          maxTimeoutId = clearTimeout(maxTimeoutId);
+        }
+        lastCalled = stamp;
+        result = func.apply(thisArg, args);
+      }
+      else if (!maxTimeoutId) {
+        maxTimeoutId = setTimeout(maxDelayed, remaining);
+      }
+    }
+    if (isCalled && timeoutId) {
+      timeoutId = clearTimeout(timeoutId);
+    }
+    else if (!timeoutId && wait !== maxWait) {
+      timeoutId = setTimeout(delayed, wait);
+    }
+    if (leadingCall) {
+      isCalled = true;
+      result = func.apply(thisArg, args);
+    }
+    if (isCalled && !timeoutId && !maxTimeoutId) {
+      args = thisArg = undefined;
+    }
+    return result;
+  }
+  debounced.cancel = cancel;
+  return debounced;
+}
+
+module.exports = debounce;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/defer.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/defer.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/defer.js
new file mode 100644
index 0000000..3accbf9
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/defer.js
@@ -0,0 +1,25 @@
+var baseDelay = require('../internal/baseDelay'),
+    restParam = require('./restParam');
+
+/**
+ * Defers invoking the `func` until the current call stack has cleared. Any
+ * additional arguments are provided to `func` when it's invoked.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to defer.
+ * @param {...*} [args] The arguments to invoke the function with.
+ * @returns {number} Returns the timer id.
+ * @example
+ *
+ * _.defer(function(text) {
+ *   console.log(text);
+ * }, 'deferred');
+ * // logs 'deferred' after one or more milliseconds
+ */
+var defer = restParam(function(func, args) {
+  return baseDelay(func, 1, args);
+});
+
+module.exports = defer;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/delay.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/delay.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/delay.js
new file mode 100644
index 0000000..d5eef27
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/delay.js
@@ -0,0 +1,26 @@
+var baseDelay = require('../internal/baseDelay'),
+    restParam = require('./restParam');
+
+/**
+ * Invokes `func` after `wait` milliseconds. Any additional arguments are
+ * provided to `func` when it's invoked.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to delay.
+ * @param {number} wait The number of milliseconds to delay invocation.
+ * @param {...*} [args] The arguments to invoke the function with.
+ * @returns {number} Returns the timer id.
+ * @example
+ *
+ * _.delay(function(text) {
+ *   console.log(text);
+ * }, 1000, 'later');
+ * // => logs 'later' after one second
+ */
+var delay = restParam(function(func, wait, args) {
+  return baseDelay(func, wait, args);
+});
+
+module.exports = delay;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/flow.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/flow.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/flow.js
new file mode 100644
index 0000000..a435a3d
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/flow.js
@@ -0,0 +1,25 @@
+var createFlow = require('../internal/createFlow');
+
+/**
+ * Creates a function that returns the result of invoking the provided
+ * functions with the `this` binding of the created function, where each
+ * successive invocation is supplied the return value of the previous.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {...Function} [funcs] Functions to invoke.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function square(n) {
+ *   return n * n;
+ * }
+ *
+ * var addSquare = _.flow(_.add, square);
+ * addSquare(1, 2);
+ * // => 9
+ */
+var flow = createFlow();
+
+module.exports = flow;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/flowRight.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/flowRight.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/flowRight.js
new file mode 100644
index 0000000..23b9d76
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/flowRight.js
@@ -0,0 +1,25 @@
+var createFlow = require('../internal/createFlow');
+
+/**
+ * This method is like `_.flow` except that it creates a function that
+ * invokes the provided functions from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @alias backflow, compose
+ * @category Function
+ * @param {...Function} [funcs] Functions to invoke.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function square(n) {
+ *   return n * n;
+ * }
+ *
+ * var addSquare = _.flowRight(square, _.add);
+ * addSquare(1, 2);
+ * // => 9
+ */
+var flowRight = createFlow(true);
+
+module.exports = flowRight;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/memoize.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/memoize.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/memoize.js
new file mode 100644
index 0000000..f3b8d69
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/memoize.js
@@ -0,0 +1,80 @@
+var MapCache = require('../internal/MapCache');
+
+/** Used as the `TypeError` message for "Functions" methods. */
+var FUNC_ERROR_TEXT = 'Expected a function';
+
+/**
+ * Creates a function that memoizes the result of `func`. If `resolver` is
+ * provided it determines the cache key for storing the result based on the
+ * arguments provided to the memoized function. By default, the first argument
+ * provided to the memoized function is coerced to a string and used as the
+ * cache key. The `func` is invoked with the `this` binding of the memoized
+ * function.
+ *
+ * **Note:** The cache is exposed as the `cache` property on the memoized
+ * function. Its creation may be customized by replacing the `_.memoize.Cache`
+ * constructor with one whose instances implement the [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)
+ * method interface of `get`, `has`, and `set`.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to have its output memoized.
+ * @param {Function} [resolver] The function to resolve the cache key.
+ * @returns {Function} Returns the new memoizing function.
+ * @example
+ *
+ * var upperCase = _.memoize(function(string) {
+ *   return string.toUpperCase();
+ * });
+ *
+ * upperCase('fred');
+ * // => 'FRED'
+ *
+ * // modifying the result cache
+ * upperCase.cache.set('fred', 'BARNEY');
+ * upperCase('fred');
+ * // => 'BARNEY'
+ *
+ * // replacing `_.memoize.Cache`
+ * var object = { 'user': 'fred' };
+ * var other = { 'user': 'barney' };
+ * var identity = _.memoize(_.identity);
+ *
+ * identity(object);
+ * // => { 'user': 'fred' }
+ * identity(other);
+ * // => { 'user': 'fred' }
+ *
+ * _.memoize.Cache = WeakMap;
+ * var identity = _.memoize(_.identity);
+ *
+ * identity(object);
+ * // => { 'user': 'fred' }
+ * identity(other);
+ * // => { 'user': 'barney' }
+ */
+function memoize(func, resolver) {
+  if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
+    throw new TypeError(FUNC_ERROR_TEXT);
+  }
+  var memoized = function() {
+    var args = arguments,
+        key = resolver ? resolver.apply(this, args) : args[0],
+        cache = memoized.cache;
+
+    if (cache.has(key)) {
+      return cache.get(key);
+    }
+    var result = func.apply(this, args);
+    memoized.cache = cache.set(key, result);
+    return result;
+  };
+  memoized.cache = new memoize.Cache;
+  return memoized;
+}
+
+// Assign cache to `_.memoize`.
+memoize.Cache = MapCache;
+
+module.exports = memoize;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/modArgs.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/modArgs.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/modArgs.js
new file mode 100644
index 0000000..49b9b5e
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/modArgs.js
@@ -0,0 +1,58 @@
+var arrayEvery = require('../internal/arrayEvery'),
+    baseFlatten = require('../internal/baseFlatten'),
+    baseIsFunction = require('../internal/baseIsFunction'),
+    restParam = require('./restParam');
+
+/** Used as the `TypeError` message for "Functions" methods. */
+var FUNC_ERROR_TEXT = 'Expected a function';
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeMin = Math.min;
+
+/**
+ * Creates a function that runs each argument through a corresponding
+ * transform function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to wrap.
+ * @param {...(Function|Function[])} [transforms] The functions to transform
+ * arguments, specified as individual functions or arrays of functions.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function doubled(n) {
+ *   return n * 2;
+ * }
+ *
+ * function square(n) {
+ *   return n * n;
+ * }
+ *
+ * var modded = _.modArgs(function(x, y) {
+ *   return [x, y];
+ * }, square, doubled);
+ *
+ * modded(1, 2);
+ * // => [1, 4]
+ *
+ * modded(5, 10);
+ * // => [25, 20]
+ */
+var modArgs = restParam(function(func, transforms) {
+  transforms = baseFlatten(transforms);
+  if (typeof func != 'function' || !arrayEvery(transforms, baseIsFunction)) {
+    throw new TypeError(FUNC_ERROR_TEXT);
+  }
+  var length = transforms.length;
+  return restParam(function(args) {
+    var index = nativeMin(args.length, length);
+    while (index--) {
+      args[index] = transforms[index](args[index]);
+    }
+    return func.apply(this, args);
+  });
+});
+
+module.exports = modArgs;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/negate.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/negate.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/negate.js
new file mode 100644
index 0000000..8247939
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/negate.js
@@ -0,0 +1,32 @@
+/** Used as the `TypeError` message for "Functions" methods. */
+var FUNC_ERROR_TEXT = 'Expected a function';
+
+/**
+ * Creates a function that negates the result of the predicate `func`. The
+ * `func` predicate is invoked with the `this` binding and arguments of the
+ * created function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} predicate The predicate to negate.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * function isEven(n) {
+ *   return n % 2 == 0;
+ * }
+ *
+ * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
+ * // => [1, 3, 5]
+ */
+function negate(predicate) {
+  if (typeof predicate != 'function') {
+    throw new TypeError(FUNC_ERROR_TEXT);
+  }
+  return function() {
+    return !predicate.apply(this, arguments);
+  };
+}
+
+module.exports = negate;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/once.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/once.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/once.js
new file mode 100644
index 0000000..0b5bd85
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/once.js
@@ -0,0 +1,24 @@
+var before = require('./before');
+
+/**
+ * Creates a function that is restricted to invoking `func` once. Repeat calls
+ * to the function return the value of the first call. The `func` is invoked
+ * with the `this` binding and arguments of the created function.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to restrict.
+ * @returns {Function} Returns the new restricted function.
+ * @example
+ *
+ * var initialize = _.once(createApplication);
+ * initialize();
+ * initialize();
+ * // `initialize` invokes `createApplication` once
+ */
+function once(func) {
+  return before(2, func);
+}
+
+module.exports = once;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/partial.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/partial.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/partial.js
new file mode 100644
index 0000000..fb1d04f
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/partial.js
@@ -0,0 +1,43 @@
+var createPartial = require('../internal/createPartial');
+
+/** Used to compose bitmasks for wrapper metadata. */
+var PARTIAL_FLAG = 32;
+
+/**
+ * Creates a function that invokes `func` with `partial` arguments prepended
+ * to those provided to the new function. This method is like `_.bind` except
+ * it does **not** alter the `this` binding.
+ *
+ * The `_.partial.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for partially applied arguments.
+ *
+ * **Note:** This method does not set the "length" property of partially
+ * applied functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to partially apply arguments to.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new partially applied function.
+ * @example
+ *
+ * var greet = function(greeting, name) {
+ *   return greeting + ' ' + name;
+ * };
+ *
+ * var sayHelloTo = _.partial(greet, 'hello');
+ * sayHelloTo('fred');
+ * // => 'hello fred'
+ *
+ * // using placeholders
+ * var greetFred = _.partial(greet, _, 'fred');
+ * greetFred('hi');
+ * // => 'hi fred'
+ */
+var partial = createPartial(PARTIAL_FLAG);
+
+// Assign default placeholders.
+partial.placeholder = {};
+
+module.exports = partial;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/partialRight.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/partialRight.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/partialRight.js
new file mode 100644
index 0000000..634e6a4
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/partialRight.js
@@ -0,0 +1,42 @@
+var createPartial = require('../internal/createPartial');
+
+/** Used to compose bitmasks for wrapper metadata. */
+var PARTIAL_RIGHT_FLAG = 64;
+
+/**
+ * This method is like `_.partial` except that partially applied arguments
+ * are appended to those provided to the new function.
+ *
+ * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic
+ * builds, may be used as a placeholder for partially applied arguments.
+ *
+ * **Note:** This method does not set the "length" property of partially
+ * applied functions.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to partially apply arguments to.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new partially applied function.
+ * @example
+ *
+ * var greet = function(greeting, name) {
+ *   return greeting + ' ' + name;
+ * };
+ *
+ * var greetFred = _.partialRight(greet, 'fred');
+ * greetFred('hi');
+ * // => 'hi fred'
+ *
+ * // using placeholders
+ * var sayHelloTo = _.partialRight(greet, 'hello', _);
+ * sayHelloTo('fred');
+ * // => 'hello fred'
+ */
+var partialRight = createPartial(PARTIAL_RIGHT_FLAG);
+
+// Assign default placeholders.
+partialRight.placeholder = {};
+
+module.exports = partialRight;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/rearg.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/rearg.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/rearg.js
new file mode 100644
index 0000000..f2bd9c4
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/rearg.js
@@ -0,0 +1,40 @@
+var baseFlatten = require('../internal/baseFlatten'),
+    createWrapper = require('../internal/createWrapper'),
+    restParam = require('./restParam');
+
+/** Used to compose bitmasks for wrapper metadata. */
+var REARG_FLAG = 256;
+
+/**
+ * Creates a function that invokes `func` with arguments arranged according
+ * to the specified indexes where the argument value at the first index is
+ * provided as the first argument, the argument value at the second index is
+ * provided as the second argument, and so on.
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to rearrange arguments for.
+ * @param {...(number|number[])} indexes The arranged argument indexes,
+ *  specified as individual indexes or arrays of indexes.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var rearged = _.rearg(function(a, b, c) {
+ *   return [a, b, c];
+ * }, 2, 0, 1);
+ *
+ * rearged('b', 'c', 'a')
+ * // => ['a', 'b', 'c']
+ *
+ * var map = _.rearg(_.map, [1, 0]);
+ * map(function(n) {
+ *   return n * 3;
+ * }, [1, 2, 3]);
+ * // => [3, 6, 9]
+ */
+var rearg = restParam(function(func, indexes) {
+  return createWrapper(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes));
+});
+
+module.exports = rearg;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/restParam.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/restParam.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/restParam.js
new file mode 100644
index 0000000..8852286
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/restParam.js
@@ -0,0 +1,58 @@
+/** Used as the `TypeError` message for "Functions" methods. */
+var FUNC_ERROR_TEXT = 'Expected a function';
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeMax = Math.max;
+
+/**
+ * Creates a function that invokes `func` with the `this` binding of the
+ * created function and arguments from `start` and beyond provided as an array.
+ *
+ * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/Web/JavaScript/Reference/Functions/rest_parameters).
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to apply a rest parameter to.
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var say = _.restParam(function(what, names) {
+ *   return what + ' ' + _.initial(names).join(', ') +
+ *     (_.size(names) > 1 ? ', & ' : '') + _.last(names);
+ * });
+ *
+ * say('hello', 'fred', 'barney', 'pebbles');
+ * // => 'hello fred, barney, & pebbles'
+ */
+function restParam(func, start) {
+  if (typeof func != 'function') {
+    throw new TypeError(FUNC_ERROR_TEXT);
+  }
+  start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0);
+  return function() {
+    var args = arguments,
+        index = -1,
+        length = nativeMax(args.length - start, 0),
+        rest = Array(length);
+
+    while (++index < length) {
+      rest[index] = args[start + index];
+    }
+    switch (start) {
+      case 0: return func.call(this, rest);
+      case 1: return func.call(this, args[0], rest);
+      case 2: return func.call(this, args[0], args[1], rest);
+    }
+    var otherArgs = Array(start + 1);
+    index = -1;
+    while (++index < start) {
+      otherArgs[index] = args[index];
+    }
+    otherArgs[start] = rest;
+    return func.apply(this, otherArgs);
+  };
+}
+
+module.exports = restParam;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/166ec9ad/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/spread.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/spread.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/spread.js
new file mode 100644
index 0000000..780f504
--- /dev/null
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/spread.js
@@ -0,0 +1,44 @@
+/** Used as the `TypeError` message for "Functions" methods. */
+var FUNC_ERROR_TEXT = 'Expected a function';
+
+/**
+ * Creates a function that invokes `func` with the `this` binding of the created
+ * function and an array of arguments much like [`Function#apply`](https://es5.github.io/#x15.3.4.3).
+ *
+ * **Note:** This method is based on the [spread operator](https://developer.mozilla.org/Web/JavaScript/Reference/Operators/Spread_operator).
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to spread arguments over.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var say = _.spread(function(who, what) {
+ *   return who + ' says ' + what;
+ * });
+ *
+ * say(['fred', 'hello']);
+ * // => 'fred says hello'
+ *
+ * // with a Promise
+ * var numbers = Promise.all([
+ *   Promise.resolve(40),
+ *   Promise.resolve(36)
+ * ]);
+ *
+ * numbers.then(_.spread(function(x, y) {
+ *   return x + y;
+ * }));
+ * // => a Promise of 76
+ */
+function spread(func) {
+  if (typeof func != 'function') {
+    throw new TypeError(FUNC_ERROR_TEXT);
+  }
+  return function(array) {
+    return func.apply(this, array);
+  };
+}
+
+module.exports = spread;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org