You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by sh...@apache.org on 2015/12/03 03:33:44 UTC

[12/51] [partial] ios commit: CB-9827 Implement and expose PlatformApi for iOS

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isArray.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isArray.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isArray.js
new file mode 100644
index 0000000..7ef5cd1
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isArray.js
@@ -0,0 +1,45 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isNative = require('../internals/isNative');
+
+/** `Object#toString` result shortcuts */
+var arrayClass = '[object Array]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/* Native method shortcuts for methods with the same name as other `lodash` methods */
+var nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;
+
+/**
+ * Checks if `value` is an array.
+ *
+ * @static
+ * @memberOf _
+ * @type Function
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is an array, else `false`.
+ * @example
+ *
+ * (function() { return _.isArray(arguments); })();
+ * // => false
+ *
+ * _.isArray([1, 2, 3]);
+ * // => true
+ */
+var isArray = nativeIsArray || function(value) {
+  return value && typeof value == 'object' && typeof value.length == 'number' &&
+    toString.call(value) == arrayClass || false;
+};
+
+module.exports = isArray;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isBoolean.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isBoolean.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isBoolean.js
new file mode 100644
index 0000000..ac09e8f
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isBoolean.js
@@ -0,0 +1,37 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** `Object#toString` result shortcuts */
+var boolClass = '[object Boolean]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/**
+ * Checks if `value` is a boolean value.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is a boolean value, else `false`.
+ * @example
+ *
+ * _.isBoolean(null);
+ * // => false
+ */
+function isBoolean(value) {
+  return value === true || value === false ||
+    value && typeof value == 'object' && toString.call(value) == boolClass || false;
+}
+
+module.exports = isBoolean;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isDate.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isDate.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isDate.js
new file mode 100644
index 0000000..2c9416a
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isDate.js
@@ -0,0 +1,36 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** `Object#toString` result shortcuts */
+var dateClass = '[object Date]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/**
+ * Checks if `value` is a date.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is a date, else `false`.
+ * @example
+ *
+ * _.isDate(new Date);
+ * // => true
+ */
+function isDate(value) {
+  return value && typeof value == 'object' && toString.call(value) == dateClass || false;
+}
+
+module.exports = isDate;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isElement.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isElement.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isElement.js
new file mode 100644
index 0000000..86a26a0
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isElement.js
@@ -0,0 +1,27 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * Checks if `value` is a DOM element.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is a DOM element, else `false`.
+ * @example
+ *
+ * _.isElement(document.body);
+ * // => true
+ */
+function isElement(value) {
+  return value && value.nodeType === 1 || false;
+}
+
+module.exports = isElement;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isEmpty.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isEmpty.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isEmpty.js
new file mode 100644
index 0000000..1b90fb5
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isEmpty.js
@@ -0,0 +1,54 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isArray = require('./isArray'),
+    isString = require('./isString');
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Native method shortcuts */
+var hasOwnProperty = objectProto.hasOwnProperty;
+
+/**
+ * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a
+ * length of `0` and objects with no own enumerable properties are considered
+ * "empty".
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Array|Object|string} value The value to inspect.
+ * @returns {boolean} Returns `true` if the `value` is empty, else `false`.
+ * @example
+ *
+ * _.isEmpty([1, 2, 3]);
+ * // => false
+ *
+ * _.isEmpty({});
+ * // => true
+ *
+ * _.isEmpty('');
+ * // => true
+ */
+function isEmpty(value) {
+  if (!value) {
+    return true;
+  }
+  if (isArray(value) || isString(value)) {
+    return !value.length;
+  }
+  for (var key in value) {
+    if (hasOwnProperty.call(value, key)) {
+      return false;
+    }
+  }
+  return true;
+}
+
+module.exports = isEmpty;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isEqual.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isEqual.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isEqual.js
new file mode 100644
index 0000000..741f165
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isEqual.js
@@ -0,0 +1,53 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseIsEqual = require('../internals/baseIsEqual');
+
+/**
+ * Performs a deep comparison between two values to determine if they are
+ * equivalent to each other. If a callback is provided it will be executed
+ * to compare values. If the callback returns `undefined` comparisons will
+ * be handled by the method instead. The callback is bound to `thisArg` and
+ * invoked with two arguments; (a, b).
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} a The value to compare.
+ * @param {*} b The other value to compare.
+ * @param {Function} [callback] The function to customize comparing values.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ * @example
+ *
+ * var object = { 'name': 'fred' };
+ * var copy = { 'name': 'fred' };
+ *
+ * object == copy;
+ * // => false
+ *
+ * _.isEqual(object, copy);
+ * // => true
+ *
+ * var words = ['hello', 'goodbye'];
+ * var otherWords = ['hi', 'goodbye'];
+ *
+ * _.isEqual(words, otherWords, function(a, b) {
+ *   var reGreet = /^(?:hello|hi)$/i,
+ *       aGreet = _.isString(a) && reGreet.test(a),
+ *       bGreet = _.isString(b) && reGreet.test(b);
+ *
+ *   return (aGreet || bGreet) ? (aGreet == bGreet) : undefined;
+ * });
+ * // => true
+ */
+function isEqual(a, b) {
+  return baseIsEqual(a, b);
+}
+
+module.exports = isEqual;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isFinite.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isFinite.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isFinite.js
new file mode 100644
index 0000000..bc29c51
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isFinite.js
@@ -0,0 +1,46 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/* Native method shortcuts for methods with the same name as other `lodash` methods */
+var nativeIsFinite = global.isFinite,
+    nativeIsNaN = global.isNaN;
+
+/**
+ * Checks if `value` is, or can be coerced to, a finite number.
+ *
+ * Note: This is not the same as native `isFinite` which will return true for
+ * booleans and empty strings. See http://es5.github.io/#x15.1.2.5.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is finite, else `false`.
+ * @example
+ *
+ * _.isFinite(-101);
+ * // => true
+ *
+ * _.isFinite('10');
+ * // => true
+ *
+ * _.isFinite(true);
+ * // => false
+ *
+ * _.isFinite('');
+ * // => false
+ *
+ * _.isFinite(Infinity);
+ * // => false
+ */
+function isFinite(value) {
+  return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value));
+}
+
+module.exports = isFinite;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isFunction.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isFunction.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isFunction.js
new file mode 100644
index 0000000..2ef33dc
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isFunction.js
@@ -0,0 +1,42 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** `Object#toString` result shortcuts */
+var funcClass = '[object Function]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/**
+ * Checks if `value` is a function.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is a function, else `false`.
+ * @example
+ *
+ * _.isFunction(_);
+ * // => true
+ */
+function isFunction(value) {
+  return typeof value == 'function';
+}
+// fallback for older versions of Chrome and Safari
+if (isFunction(/x/)) {
+  isFunction = function(value) {
+    return typeof value == 'function' && toString.call(value) == funcClass;
+  };
+}
+
+module.exports = isFunction;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNaN.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNaN.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNaN.js
new file mode 100644
index 0000000..cc807b7
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNaN.js
@@ -0,0 +1,42 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isNumber = require('./isNumber');
+
+/**
+ * Checks if `value` is `NaN`.
+ *
+ * Note: This is not the same as native `isNaN` which will return `true` for
+ * `undefined` and other non-numeric values. See http://es5.github.io/#x15.1.2.4.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is `NaN`, else `false`.
+ * @example
+ *
+ * _.isNaN(NaN);
+ * // => true
+ *
+ * _.isNaN(new Number(NaN));
+ * // => true
+ *
+ * isNaN(undefined);
+ * // => true
+ *
+ * _.isNaN(undefined);
+ * // => false
+ */
+function isNaN(value) {
+  // `NaN` as a primitive is the only value that is not equal to itself
+  // (perform the [[Class]] check first to avoid errors with some host objects in IE)
+  return isNumber(value) && value != +value;
+}
+
+module.exports = isNaN;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNull.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNull.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNull.js
new file mode 100644
index 0000000..8dc0797
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNull.js
@@ -0,0 +1,30 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * Checks if `value` is `null`.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is `null`, else `false`.
+ * @example
+ *
+ * _.isNull(null);
+ * // => true
+ *
+ * _.isNull(undefined);
+ * // => false
+ */
+function isNull(value) {
+  return value === null;
+}
+
+module.exports = isNull;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNumber.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNumber.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNumber.js
new file mode 100644
index 0000000..f9d88af
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isNumber.js
@@ -0,0 +1,39 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** `Object#toString` result shortcuts */
+var numberClass = '[object Number]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/**
+ * Checks if `value` is a number.
+ *
+ * Note: `NaN` is considered a number. See http://es5.github.io/#x8.5.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is a number, else `false`.
+ * @example
+ *
+ * _.isNumber(8.4 * 5);
+ * // => true
+ */
+function isNumber(value) {
+  return typeof value == 'number' ||
+    value && typeof value == 'object' && toString.call(value) == numberClass || false;
+}
+
+module.exports = isNumber;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isObject.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isObject.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isObject.js
new file mode 100644
index 0000000..53ceabb
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isObject.js
@@ -0,0 +1,39 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var objectTypes = require('../internals/objectTypes');
+
+/**
+ * Checks if `value` is the language type of Object.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+  // check if the value is the ECMAScript language type of Object
+  // http://es5.github.io/#x8
+  // and avoid a V8 bug
+  // http://code.google.com/p/v8/issues/detail?id=2291
+  return !!(value && objectTypes[typeof value]);
+}
+
+module.exports = isObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isRegExp.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isRegExp.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isRegExp.js
new file mode 100644
index 0000000..48626e5
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isRegExp.js
@@ -0,0 +1,37 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var objectTypes = require('../internals/objectTypes');
+
+/** `Object#toString` result shortcuts */
+var regexpClass = '[object RegExp]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/**
+ * Checks if `value` is a regular expression.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is a regular expression, else `false`.
+ * @example
+ *
+ * _.isRegExp(/fred/);
+ * // => true
+ */
+function isRegExp(value) {
+  return value && objectTypes[typeof value] && toString.call(value) == regexpClass || false;
+}
+
+module.exports = isRegExp;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isString.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isString.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isString.js
new file mode 100644
index 0000000..e8df7c4
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isString.js
@@ -0,0 +1,37 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** `Object#toString` result shortcuts */
+var stringClass = '[object String]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/**
+ * Checks if `value` is a string.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is a string, else `false`.
+ * @example
+ *
+ * _.isString('fred');
+ * // => true
+ */
+function isString(value) {
+  return typeof value == 'string' ||
+    value && typeof value == 'object' && toString.call(value) == stringClass || false;
+}
+
+module.exports = isString;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isUndefined.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isUndefined.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isUndefined.js
new file mode 100644
index 0000000..4d54db3
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/isUndefined.js
@@ -0,0 +1,27 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * Checks if `value` is `undefined`.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is `undefined`, else `false`.
+ * @example
+ *
+ * _.isUndefined(void 0);
+ * // => true
+ */
+function isUndefined(value) {
+  return typeof value == 'undefined';
+}
+
+module.exports = isUndefined;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/keys.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/keys.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/keys.js
new file mode 100644
index 0000000..ae7401d
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/keys.js
@@ -0,0 +1,36 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isNative = require('../internals/isNative'),
+    isObject = require('./isObject'),
+    shimKeys = require('../internals/shimKeys');
+
+/* Native method shortcuts for methods with the same name as other `lodash` methods */
+var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
+
+/**
+ * Creates an array composed of the own enumerable property names of an object.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The object to inspect.
+ * @returns {Array} Returns an array of property names.
+ * @example
+ *
+ * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
+ * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
+ */
+var keys = !nativeKeys ? shimKeys : function(object) {
+  if (!isObject(object)) {
+    return [];
+  }
+  return nativeKeys(object);
+};
+
+module.exports = keys;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/omit.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/omit.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/omit.js
new file mode 100644
index 0000000..33c65ae
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/omit.js
@@ -0,0 +1,57 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseDifference = require('../internals/baseDifference'),
+    baseFlatten = require('../internals/baseFlatten'),
+    forIn = require('./forIn');
+
+/**
+ * Creates a shallow clone of `object` excluding the specified properties.
+ * Property names may be specified as individual arguments or as arrays of
+ * property names. If a callback is provided it will be executed for each
+ * property of `object` omitting the properties the callback returns truey
+ * for. The callback is bound to `thisArg` and invoked with three arguments;
+ * (value, key, object).
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The source object.
+ * @param {Function|...string|string[]} [callback] The properties to omit or the
+ *  function called per iteration.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Object} Returns an object without the omitted properties.
+ * @example
+ *
+ * _.omit({ 'name': 'fred', 'age': 40 }, 'age');
+ * // => { 'name': 'fred' }
+ *
+ * _.omit({ 'name': 'fred', 'age': 40 }, function(value) {
+ *   return typeof value == 'number';
+ * });
+ * // => { 'name': 'fred' }
+ */
+function omit(object) {
+  var props = [];
+  forIn(object, function(value, key) {
+    props.push(key);
+  });
+  props = baseDifference(props, baseFlatten(arguments, true, false, 1));
+
+  var index = -1,
+      length = props.length,
+      result = {};
+
+  while (++index < length) {
+    var key = props[index];
+    result[key] = object[key];
+  }
+  return result;
+}
+
+module.exports = omit;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/pairs.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/pairs.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/pairs.js
new file mode 100644
index 0000000..ea8c7ae
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/pairs.js
@@ -0,0 +1,38 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var keys = require('./keys');
+
+/**
+ * Creates a two dimensional array of an object's key-value pairs,
+ * i.e. `[[key1, value1], [key2, value2]]`.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The object to inspect.
+ * @returns {Array} Returns new array of key-value pairs.
+ * @example
+ *
+ * _.pairs({ 'barney': 36, 'fred': 40 });
+ * // => [['barney', 36], ['fred', 40]] (property order is not guaranteed across environments)
+ */
+function pairs(object) {
+  var index = -1,
+      props = keys(object),
+      length = props.length,
+      result = Array(length);
+
+  while (++index < length) {
+    var key = props[index];
+    result[index] = [key, object[key]];
+  }
+  return result;
+}
+
+module.exports = pairs;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/pick.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/pick.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/pick.js
new file mode 100644
index 0000000..d195fb5
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/pick.js
@@ -0,0 +1,53 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseFlatten = require('../internals/baseFlatten');
+
+/**
+ * Creates a shallow clone of `object` composed of the specified properties.
+ * Property names may be specified as individual arguments or as arrays of
+ * property names. If a callback is provided it will be executed for each
+ * property of `object` picking the properties the callback returns truey
+ * for. The callback is bound to `thisArg` and invoked with three arguments;
+ * (value, key, object).
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The source object.
+ * @param {Function|...string|string[]} [callback] The function called per
+ *  iteration or property names to pick, specified as individual property
+ *  names or arrays of property names.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Object} Returns an object composed of the picked properties.
+ * @example
+ *
+ * _.pick({ 'name': 'fred', '_userid': 'fred1' }, 'name');
+ * // => { 'name': 'fred' }
+ *
+ * _.pick({ 'name': 'fred', '_userid': 'fred1' }, function(value, key) {
+ *   return key.charAt(0) != '_';
+ * });
+ * // => { 'name': 'fred' }
+ */
+function pick(object) {
+  var index = -1,
+      props = baseFlatten(arguments, true, false, 1),
+      length = props.length,
+      result = {};
+
+  while (++index < length) {
+    var key = props[index];
+    if (key in object) {
+      result[key] = object[key];
+    }
+  }
+  return result;
+}
+
+module.exports = pick;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/values.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/values.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/values.js
new file mode 100644
index 0000000..d11055e
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/objects/values.js
@@ -0,0 +1,36 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var keys = require('./keys');
+
+/**
+ * Creates an array composed of the own enumerable property values of `object`.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The object to inspect.
+ * @returns {Array} Returns an array of property values.
+ * @example
+ *
+ * _.values({ 'one': 1, 'two': 2, 'three': 3 });
+ * // => [1, 2, 3] (property order is not guaranteed across environments)
+ */
+function values(object) {
+  var index = -1,
+      props = keys(object),
+      length = props.length,
+      result = Array(length);
+
+  while (++index < length) {
+    result[index] = object[props[index]];
+  }
+  return result;
+}
+
+module.exports = values;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/support.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/support.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/support.js
new file mode 100644
index 0000000..90fbe96
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/support.js
@@ -0,0 +1,46 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isNative = require('./internals/isNative');
+
+/**
+ * Used for `Array` method references.
+ *
+ * Normally `Array.prototype` would suffice, however, using an array literal
+ * avoids issues in Narwhal.
+ */
+var arrayRef = [];
+
+/**
+ * An object used to flag environments features.
+ *
+ * @static
+ * @memberOf _
+ * @type Object
+ */
+var support = {};
+
+(function() {
+  var object = { '0': 1, 'length': 1 };
+
+  /**
+   * Detect if `Array#shift` and `Array#splice` augment array-like objects correctly.
+   *
+   * Firefox < 10, IE compatibility mode, and IE < 9 have buggy Array `shift()`
+   * and `splice()` functions that fail to remove the last element, `value[0]`,
+   * of array-like objects even though the `length` property is set to `0`.
+   * The `shift()` method is buggy in IE 8 compatibility mode, while `splice()`
+   * is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9.
+   *
+   * @memberOf _.support
+   * @type boolean
+   */
+  support.spliceObjects = (arrayRef.splice.call(object, 0, 1), !object[0]);
+}(1));
+
+module.exports = support;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities.js
new file mode 100644
index 0000000..cef5f20
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities.js
@@ -0,0 +1,26 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+module.exports = {
+  'createCallback': require('./functions/createCallback'),
+  'escape': require('./utilities/escape'),
+  'identity': require('./utilities/identity'),
+  'mixin': require('./utilities/mixin'),
+  'noConflict': require('./utilities/noConflict'),
+  'noop': require('./utilities/noop'),
+  'now': require('./utilities/now'),
+  'property': require('./utilities/property'),
+  'random': require('./utilities/random'),
+  'result': require('./utilities/result'),
+  'template': require('./utilities/template'),
+  'templateSettings': require('./utilities/templateSettings'),
+  'times': require('./utilities/times'),
+  'unescape': require('./utilities/unescape'),
+  'uniqueId': require('./utilities/uniqueId')
+};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/escape.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/escape.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/escape.js
new file mode 100644
index 0000000..2e1f5c0
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/escape.js
@@ -0,0 +1,31 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var escapeHtmlChar = require('../internals/escapeHtmlChar'),
+    keys = require('../objects/keys'),
+    reUnescapedHtml = require('../internals/reUnescapedHtml');
+
+/**
+ * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their
+ * corresponding HTML entities.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} string The string to escape.
+ * @returns {string} Returns the escaped string.
+ * @example
+ *
+ * _.escape('Fred, Wilma, & Pebbles');
+ * // => 'Fred, Wilma, &amp; Pebbles'
+ */
+function escape(string) {
+  return string == null ? '' : String(string).replace(reUnescapedHtml, escapeHtmlChar);
+}
+
+module.exports = escape;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/identity.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/identity.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/identity.js
new file mode 100644
index 0000000..5734880
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/identity.js
@@ -0,0 +1,28 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * This method returns the first argument provided to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {*} value Any value.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * var object = { 'name': 'fred' };
+ * _.identity(object) === object;
+ * // => true
+ */
+function identity(value) {
+  return value;
+}
+
+module.exports = identity;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/mixin.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/mixin.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/mixin.js
new file mode 100644
index 0000000..9865704
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/mixin.js
@@ -0,0 +1,74 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var forEach = require('../collections/forEach'),
+    functions = require('../objects/functions'),
+    isFunction = require('../objects/isFunction');
+
+/**
+ * Used for `Array` method references.
+ *
+ * Normally `Array.prototype` would suffice, however, using an array literal
+ * avoids issues in Narwhal.
+ */
+var arrayRef = [];
+
+/** Native method shortcuts */
+var push = arrayRef.push;
+
+/**
+ * Adds function properties of a source object to the destination object.
+ * If `object` is a function methods will be added to its prototype as well.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {Function|Object} [object=lodash] object The destination object.
+ * @param {Object} source The object of functions to add.
+ * @param {Object} [options] The options object.
+ * @param {boolean} [options.chain=true] Specify whether the functions added are chainable.
+ * @example
+ *
+ * function capitalize(string) {
+ *   return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
+ * }
+ *
+ * _.mixin({ 'capitalize': capitalize });
+ * _.capitalize('fred');
+ * // => 'Fred'
+ *
+ * _('fred').capitalize().value();
+ * // => 'Fred'
+ *
+ * _.mixin({ 'capitalize': capitalize }, { 'chain': false });
+ * _('fred').capitalize();
+ * // => 'Fred'
+ */
+function mixin(object, source) {
+  var ctor = object,
+      isFunc = isFunction(ctor);
+
+  forEach(functions(source), function(methodName) {
+    var func = object[methodName] = source[methodName];
+    if (isFunc) {
+      ctor.prototype[methodName] = function() {
+        var args = [this.__wrapped__];
+        push.apply(args, arguments);
+
+        var result = func.apply(object, args);
+        if (this.__chain__) {
+          result = new ctor(result);
+          result.__chain__ = true;
+        }
+        return result;
+      };
+    }
+  });
+}
+
+module.exports = mixin;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/noConflict.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/noConflict.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/noConflict.js
new file mode 100644
index 0000000..349a093
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/noConflict.js
@@ -0,0 +1,30 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** Used to restore the original `_` reference in `noConflict` */
+var oldDash = global._;
+
+/**
+ * Reverts the '_' variable to its previous value and returns a reference to
+ * the `lodash` function.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @returns {Function} Returns the `lodash` function.
+ * @example
+ *
+ * var lodash = _.noConflict();
+ */
+function noConflict() {
+  global._ = oldDash;
+  return this;
+}
+
+module.exports = noConflict;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/noop.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/noop.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/noop.js
new file mode 100644
index 0000000..2756a24
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/noop.js
@@ -0,0 +1,26 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * A no-operation function.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @example
+ *
+ * var object = { 'name': 'fred' };
+ * _.noop(object) === undefined;
+ * // => true
+ */
+function noop() {
+  // no operation performed
+}
+
+module.exports = noop;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/now.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/now.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/now.js
new file mode 100644
index 0000000..c340513
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/now.js
@@ -0,0 +1,28 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isNative = require('../internals/isNative');
+
+/**
+ * Gets the number of milliseconds that have elapsed since the Unix epoch
+ * (1 January 1970 00:00:00 UTC).
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @example
+ *
+ * var stamp = _.now();
+ * _.defer(function() { console.log(_.now() - stamp); });
+ * // => logs the number of milliseconds it took for the deferred function to be called
+ */
+var now = isNative(now = Date.now) && now || function() {
+  return new Date().getTime();
+};
+
+module.exports = now;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/property.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/property.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/property.js
new file mode 100644
index 0000000..232d11d
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/property.js
@@ -0,0 +1,40 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * Creates a "_.pluck" style function, which returns the `key` value of a
+ * given object.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} key The name of the property to retrieve.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var characters = [
+ *   { 'name': 'fred',   'age': 40 },
+ *   { 'name': 'barney', 'age': 36 }
+ * ];
+ *
+ * var getName = _.property('name');
+ *
+ * _.map(characters, getName);
+ * // => ['barney', 'fred']
+ *
+ * _.sortBy(characters, getName);
+ * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred',   'age': 40 }]
+ */
+function property(key) {
+  return function(object) {
+    return object[key];
+  };
+}
+
+module.exports = property;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/random.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/random.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/random.js
new file mode 100644
index 0000000..fb6640e
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/random.js
@@ -0,0 +1,58 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseRandom = require('../internals/baseRandom');
+
+/** Native method shortcuts */
+var floor = Math.floor;
+
+/* Native method shortcuts for methods with the same name as other `lodash` methods */
+var nativeRandom = Math.random;
+
+/**
+ * Produces a random number between `min` and `max` (inclusive). If only one
+ * argument is provided a number between `0` and the given number will be
+ * returned. If `floating` is truey or either `min` or `max` are floats a
+ * floating-point number will be returned instead of an integer.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {number} [min=0] The minimum possible value.
+ * @param {number} [max=1] The maximum possible value.
+ * @param {boolean} [floating=false] Specify returning a floating-point number.
+ * @returns {number} Returns a random number.
+ * @example
+ *
+ * _.random(0, 5);
+ * // => an integer between 0 and 5
+ *
+ * _.random(5);
+ * // => also an integer between 0 and 5
+ *
+ * _.random(5, true);
+ * // => a floating-point number between 0 and 5
+ *
+ * _.random(1.2, 5.2);
+ * // => a floating-point number between 1.2 and 5.2
+ */
+function random(min, max) {
+  if (min == null && max == null) {
+    max = 1;
+  }
+  min = +min || 0;
+  if (max == null) {
+    max = min;
+    min = 0;
+  } else {
+    max = +max || 0;
+  }
+  return min + floor(nativeRandom() * (max - min + 1));
+}
+
+module.exports = random;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/result.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/result.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/result.js
new file mode 100644
index 0000000..95d44c6
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/result.js
@@ -0,0 +1,45 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isFunction = require('../objects/isFunction');
+
+/**
+ * Resolves the value of property `key` on `object`. If `key` is a function
+ * it will be invoked with the `this` binding of `object` and its result returned,
+ * else the property value is returned. If `object` is falsey then `undefined`
+ * is returned.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {Object} object The object to inspect.
+ * @param {string} key The name of the property to resolve.
+ * @returns {*} Returns the resolved value.
+ * @example
+ *
+ * var object = {
+ *   'cheese': 'crumpets',
+ *   'stuff': function() {
+ *     return 'nonsense';
+ *   }
+ * };
+ *
+ * _.result(object, 'cheese');
+ * // => 'crumpets'
+ *
+ * _.result(object, 'stuff');
+ * // => 'nonsense'
+ */
+function result(object, key) {
+  if (object) {
+    var value = object[key];
+    return isFunction(value) ? object[key]() : value;
+  }
+}
+
+module.exports = result;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/template.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/template.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/template.js
new file mode 100644
index 0000000..b6e8807
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/template.js
@@ -0,0 +1,163 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var defaults = require('../objects/defaults'),
+    escape = require('./escape'),
+    escapeStringChar = require('../internals/escapeStringChar'),
+    reInterpolate = require('../internals/reInterpolate'),
+    templateSettings = require('./templateSettings');
+
+/** Used to ensure capturing order of template delimiters */
+var reNoMatch = /($^)/;
+
+/** Used to match unescaped characters in compiled string literals */
+var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g;
+
+/**
+ * A micro-templating method that handles arbitrary delimiters, preserves
+ * whitespace, and correctly escapes quotes within interpolated code.
+ *
+ * Note: In the development build, `_.template` utilizes sourceURLs for easier
+ * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl
+ *
+ * For more information on precompiling templates see:
+ * http://lodash.com/custom-builds
+ *
+ * For more information on Chrome extension sandboxes see:
+ * http://developer.chrome.com/stable/extensions/sandboxingEval.html
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} text The template text.
+ * @param {Object} data The data object used to populate the text.
+ * @param {Object} [options] The options object.
+ * @param {RegExp} [options.escape] The "escape" delimiter.
+ * @param {RegExp} [options.evaluate] The "evaluate" delimiter.
+ * @param {Object} [options.imports] An object to import into the template as local variables.
+ * @param {RegExp} [options.interpolate] The "interpolate" delimiter.
+ * @param {string} [sourceURL] The sourceURL of the template's compiled source.
+ * @param {string} [variable] The data object variable name.
+ * @returns {Function|string} Returns a compiled function when no `data` object
+ *  is given, else it returns the interpolated text.
+ * @example
+ *
+ * // using the "interpolate" delimiter to create a compiled template
+ * var compiled = _.template('hello <%= name %>');
+ * compiled({ 'name': 'fred' });
+ * // => 'hello fred'
+ *
+ * // using the "escape" delimiter to escape HTML in data property values
+ * _.template('<b><%- value %></b>', { 'value': '<script>' });
+ * // => '<b>&lt;script&gt;</b>'
+ *
+ * // using the "evaluate" delimiter to generate HTML
+ * var list = '<% _.forEach(people, function(name) { %><li><%- name %></li><% }); %>';
+ * _.template(list, { 'people': ['fred', 'barney'] });
+ * // => '<li>fred</li><li>barney</li>'
+ *
+ * // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
+ * _.template('hello ${ name }', { 'name': 'pebbles' });
+ * // => 'hello pebbles'
+ *
+ * // using the internal `print` function in "evaluate" delimiters
+ * _.template('<% print("hello " + name); %>!', { 'name': 'barney' });
+ * // => 'hello barney!'
+ *
+ * // using a custom template delimiters
+ * _.templateSettings = {
+ *   'interpolate': /{{([\s\S]+?)}}/g
+ * };
+ *
+ * _.template('hello {{ name }}!', { 'name': 'mustache' });
+ * // => 'hello mustache!'
+ *
+ * // using the `imports` option to import jQuery
+ * var list = '<% jq.each(people, function(name) { %><li><%- name %></li><% }); %>';
+ * _.template(list, { 'people': ['fred', 'barney'] }, { 'imports': { 'jq': jQuery } });
+ * // => '<li>fred</li><li>barney</li>'
+ *
+ * // using the `sourceURL` option to specify a custom sourceURL for the template
+ * var compiled = _.template('hello <%= name %>', null, { 'sourceURL': '/basic/greeting.jst' });
+ * compiled(data);
+ * // => find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector
+ *
+ * // using the `variable` option to ensure a with-statement isn't used in the compiled template
+ * var compiled = _.template('hi <%= data.name %>!', null, { 'variable': 'data' });
+ * compiled.source;
+ * // => function(data) {
+ *   var __t, __p = '', __e = _.escape;
+ *   __p += 'hi ' + ((__t = ( data.name )) == null ? '' : __t) + '!';
+ *   return __p;
+ * }
+ *
+ * // using the `source` property to inline compiled templates for meaningful
+ * // line numbers in error messages and a stack trace
+ * fs.writeFileSync(path.join(cwd, 'jst.js'), '\
+ *   var JST = {\
+ *     "main": ' + _.template(mainText).source + '\
+ *   };\
+ * ');
+ */
+function template(text, data, options) {
+  var _ = templateSettings.imports._,
+      settings = _.templateSettings || templateSettings;
+
+  text = String(text || '');
+  options = defaults({}, options, settings);
+
+  var index = 0,
+      source = "__p += '",
+      variable = options.variable;
+
+  var reDelimiters = RegExp(
+    (options.escape || reNoMatch).source + '|' +
+    (options.interpolate || reNoMatch).source + '|' +
+    (options.evaluate || reNoMatch).source + '|$'
+  , 'g');
+
+  text.replace(reDelimiters, function(match, escapeValue, interpolateValue, evaluateValue, offset) {
+    source += text.slice(index, offset).replace(reUnescapedString, escapeStringChar);
+    if (escapeValue) {
+      source += "' +\n_.escape(" + escapeValue + ") +\n'";
+    }
+    if (evaluateValue) {
+      source += "';\n" + evaluateValue + ";\n__p += '";
+    }
+    if (interpolateValue) {
+      source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
+    }
+    index = offset + match.length;
+    return match;
+  });
+
+  source += "';\n";
+  if (!variable) {
+    variable = 'obj';
+    source = 'with (' + variable + ' || {}) {\n' + source + '\n}\n';
+  }
+  source = 'function(' + variable + ') {\n' +
+    "var __t, __p = '', __j = Array.prototype.join;\n" +
+    "function print() { __p += __j.call(arguments, '') }\n" +
+    source +
+    'return __p\n}';
+
+  try {
+    var result = Function('_', 'return ' + source)(_);
+  } catch(e) {
+    e.source = source;
+    throw e;
+  }
+  if (data) {
+    return result(data);
+  }
+  result.source = source;
+  return result;
+}
+
+module.exports = template;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/templateSettings.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/templateSettings.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/templateSettings.js
new file mode 100644
index 0000000..8459664
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/templateSettings.js
@@ -0,0 +1,73 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var escape = require('./escape'),
+    reInterpolate = require('../internals/reInterpolate');
+
+/**
+ * By default, the template delimiters used by Lo-Dash are similar to those in
+ * embedded Ruby (ERB). Change the following template settings to use alternative
+ * delimiters.
+ *
+ * @static
+ * @memberOf _
+ * @type Object
+ */
+var templateSettings = {
+
+  /**
+   * Used to detect `data` property values to be HTML-escaped.
+   *
+   * @memberOf _.templateSettings
+   * @type RegExp
+   */
+  'escape': /<%-([\s\S]+?)%>/g,
+
+  /**
+   * Used to detect code to be evaluated.
+   *
+   * @memberOf _.templateSettings
+   * @type RegExp
+   */
+  'evaluate': /<%([\s\S]+?)%>/g,
+
+  /**
+   * Used to detect `data` property values to inject.
+   *
+   * @memberOf _.templateSettings
+   * @type RegExp
+   */
+  'interpolate': reInterpolate,
+
+  /**
+   * Used to reference the data object in the template text.
+   *
+   * @memberOf _.templateSettings
+   * @type string
+   */
+  'variable': '',
+
+  /**
+   * Used to import variables into the compiled template.
+   *
+   * @memberOf _.templateSettings
+   * @type Object
+   */
+  'imports': {
+
+    /**
+     * A reference to the `lodash` function.
+     *
+     * @memberOf _.templateSettings.imports
+     * @type Function
+     */
+    '_': { 'escape': escape }
+  }
+};
+
+module.exports = templateSettings;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/times.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/times.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/times.js
new file mode 100644
index 0000000..b87e512
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/times.js
@@ -0,0 +1,46 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseCreateCallback = require('../internals/baseCreateCallback');
+
+/**
+ * Executes the callback `n` times, returning an array of the results
+ * of each callback execution. The callback is bound to `thisArg` and invoked
+ * with one argument; (index).
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {number} n The number of times to execute the callback.
+ * @param {Function} callback The function called per iteration.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Array} Returns an array of the results of each `callback` execution.
+ * @example
+ *
+ * var diceRolls = _.times(3, _.partial(_.random, 1, 6));
+ * // => [3, 6, 4]
+ *
+ * _.times(3, function(n) { mage.castSpell(n); });
+ * // => calls `mage.castSpell(n)` three times, passing `n` of `0`, `1`, and `2` respectively
+ *
+ * _.times(3, function(n) { this.cast(n); }, mage);
+ * // => also calls `mage.castSpell(n)` three times
+ */
+function times(n, callback, thisArg) {
+  n = (n = +n) > -1 ? n : 0;
+  var index = -1,
+      result = Array(n);
+
+  callback = baseCreateCallback(callback, thisArg, 1);
+  while (++index < n) {
+    result[index] = callback(index);
+  }
+  return result;
+}
+
+module.exports = times;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/unescape.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/unescape.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/unescape.js
new file mode 100644
index 0000000..d6050ea
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/unescape.js
@@ -0,0 +1,32 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var keys = require('../objects/keys'),
+    reEscapedHtml = require('../internals/reEscapedHtml'),
+    unescapeHtmlChar = require('../internals/unescapeHtmlChar');
+
+/**
+ * The inverse of `_.escape` this method converts the HTML entities
+ * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to their
+ * corresponding characters.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} string The string to unescape.
+ * @returns {string} Returns the unescaped string.
+ * @example
+ *
+ * _.unescape('Fred, Barney &amp; Pebbles');
+ * // => 'Fred, Barney & Pebbles'
+ */
+function unescape(string) {
+  return string == null ? '' : String(string).replace(reEscapedHtml, unescapeHtmlChar);
+}
+
+module.exports = unescape;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/uniqueId.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/uniqueId.js b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/uniqueId.js
new file mode 100644
index 0000000..e9178b6
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/utilities/uniqueId.js
@@ -0,0 +1,34 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** Used to generate unique IDs */
+var idCounter = 0;
+
+/**
+ * Generates a unique ID. If `prefix` is provided the ID will be appended to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} [prefix] The value to prefix the ID with.
+ * @returns {string} Returns the unique ID.
+ * @example
+ *
+ * _.uniqueId('contact_');
+ * // => 'contact_104'
+ *
+ * _.uniqueId();
+ * // => '105'
+ */
+function uniqueId(prefix) {
+  var id = ++idCounter + '';
+  return prefix ? prefix + id : id;
+}
+
+module.exports = uniqueId;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/package.json
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmlbuilder/package.json b/bin/node_modules/plist/node_modules/xmlbuilder/package.json
new file mode 100644
index 0000000..35fb8d0
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmlbuilder/package.json
@@ -0,0 +1,65 @@
+{
+  "name": "xmlbuilder",
+  "version": "2.2.1",
+  "keywords": [
+    "xml",
+    "xmlbuilder"
+  ],
+  "homepage": "http://github.com/oozcitak/xmlbuilder-js",
+  "description": "An XML builder for node.js",
+  "author": {
+    "name": "Ozgur Ozcitak",
+    "email": "oozcitak@gmail.com"
+  },
+  "licenses": [
+    {
+      "type": "MIT",
+      "url": "http://opensource.org/licenses/mit-license.php"
+    }
+  ],
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/oozcitak/xmlbuilder-js.git"
+  },
+  "bugs": {
+    "url": "http://github.com/oozcitak/xmlbuilder-js/issues"
+  },
+  "main": "./lib/index",
+  "engines": {
+    "node": "0.8.x || 0.10.x"
+  },
+  "dependencies": {
+    "lodash-node": "~2.4.1"
+  },
+  "devDependencies": {
+    "coffee-script": "~1.6.3",
+    "vows": "*",
+    "memwatch": "*"
+  },
+  "scripts": {
+    "prepublish": "coffee -co lib/ src/*.coffee",
+    "postpublish": "rm -rf lib",
+    "test": "vows test/*"
+  },
+  "_id": "xmlbuilder@2.2.1",
+  "dist": {
+    "shasum": "9326430f130d87435d4c4086643aa2926e105a32",
+    "tarball": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.2.1.tgz"
+  },
+  "_from": "xmlbuilder@2.2.1",
+  "_npmVersion": "1.4.6",
+  "_npmUser": {
+    "name": "oozcitak",
+    "email": "oozcitak@gmail.com"
+  },
+  "maintainers": [
+    {
+      "name": "oozcitak",
+      "email": "oozcitak@gmail.com"
+    }
+  ],
+  "directories": {},
+  "_shasum": "9326430f130d87435d4c4086643aa2926e105a32",
+  "_resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.2.1.tgz",
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmldom/.npmignore
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmldom/.npmignore b/bin/node_modules/plist/node_modules/xmldom/.npmignore
new file mode 100644
index 0000000..b094a44
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmldom/.npmignore
@@ -0,0 +1,5 @@
+test
+t
+travis.yml
+.project
+changelog

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmldom/.travis.yml
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmldom/.travis.yml b/bin/node_modules/plist/node_modules/xmldom/.travis.yml
new file mode 100644
index 0000000..b95408e
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmldom/.travis.yml
@@ -0,0 +1,22 @@
+language: node_js
+
+node_js:
+  - '0.10'
+
+branches:
+  only:
+    - master
+    - proof
+    - travis-ci
+
+# Not using `npm install --dev` because it is recursive. It will pull in the all
+# development dependencies for CoffeeScript. Way too much spew in the Travis CI
+# build output.
+
+before_install:
+  - npm install
+  - npm install istanbul coveralls
+
+env:
+  global:
+  - secure: "BxUHTsa1WVANLQoimilbZwa1MCWSdM9hOmPWBE/rsYb7uT/iiqkRXXwnWhKtN5CLvTvIQbiAzq4iyPID0S8UHrnxClYQrOuA6QkrtwgIEuDAmijao/bgxobPOremvkwXcpMGIwzYKyYQQtSEaEIQbqf6gSSKW9dBh/GZ/vfTsqo="

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmldom/LICENSE
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmldom/LICENSE b/bin/node_modules/plist/node_modules/xmldom/LICENSE
new file mode 100644
index 0000000..68a9b5e
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmldom/LICENSE
@@ -0,0 +1,8 @@
+You can choose any one of those:
+
+The MIT License (MIT):
+
+link:http://opensource.org/licenses/MIT
+
+LGPL:
+http://www.gnu.org/licenses/lgpl.html

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmldom/__package__.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmldom/__package__.js b/bin/node_modules/plist/node_modules/xmldom/__package__.js
new file mode 100644
index 0000000..b4cad28
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmldom/__package__.js
@@ -0,0 +1,4 @@
+this.addScript('dom.js',['DOMImplementation','XMLSerializer']);
+this.addScript('dom-parser.js',['DOMHandler','DOMParser'],
+		['DOMImplementation','XMLReader']);
+this.addScript('sax.js','XMLReader');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmldom/component.json
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmldom/component.json b/bin/node_modules/plist/node_modules/xmldom/component.json
new file mode 100644
index 0000000..93b4d57
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmldom/component.json
@@ -0,0 +1,10 @@
+{
+  "name": "xmldom",
+  "version": "0.1.15",
+  "main": "dom-parser.js",
+  "ignore": [
+    "**/.*",
+    "node_modules",
+    "components"
+  ]
+}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmldom/dom-parser.js
----------------------------------------------------------------------
diff --git a/bin/node_modules/plist/node_modules/xmldom/dom-parser.js b/bin/node_modules/plist/node_modules/xmldom/dom-parser.js
new file mode 100644
index 0000000..19282ef
--- /dev/null
+++ b/bin/node_modules/plist/node_modules/xmldom/dom-parser.js
@@ -0,0 +1,255 @@
+function DOMParser(options){
+	this.options = options ||{locator:{}};
+	
+}
+DOMParser.prototype.parseFromString = function(source,mimeType){	
+	var options = this.options;
+	var sax =  new XMLReader();
+	var domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler
+	var errorHandler = options.errorHandler;
+	var locator = options.locator;
+	var defaultNSMap = options.xmlns||{};
+	var entityMap = {'lt':'<','gt':'>','amp':'&','quot':'"','apos':"'"}
+	if(locator){
+		domBuilder.setDocumentLocator(locator)
+	}
+	
+	sax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);
+	sax.domBuilder = options.domBuilder || domBuilder;
+	if(/\/x?html?$/.test(mimeType)){
+		entityMap.nbsp = '\xa0';
+		entityMap.copy = '\xa9';
+		defaultNSMap['']= 'http://www.w3.org/1999/xhtml';
+	}
+	if(source){
+		sax.parse(source,defaultNSMap,entityMap);
+	}else{
+		sax.errorHandler.error("invalid document source");
+	}
+	return domBuilder.document;
+}
+function buildErrorHandler(errorImpl,domBuilder,locator){
+	if(!errorImpl){
+		if(domBuilder instanceof DOMHandler){
+			return domBuilder;
+		}
+		errorImpl = domBuilder ;
+	}
+	var errorHandler = {}
+	var isCallback = errorImpl instanceof Function;
+	locator = locator||{}
+	function build(key){
+		var fn = errorImpl[key];
+		if(!fn){
+			if(isCallback){
+				fn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;
+			}else{
+				var i=arguments.length;
+				while(--i){
+					if(fn = errorImpl[arguments[i]]){
+						break;
+					}
+				}
+			}
+		}
+		errorHandler[key] = fn && function(msg){
+			fn(msg+_locator(locator));
+		}||function(){};
+	}
+	build('warning','warn');
+	build('error','warn','warning');
+	build('fatalError','warn','warning','error');
+	return errorHandler;
+}
+/**
+ * +ContentHandler+ErrorHandler
+ * +LexicalHandler+EntityResolver2
+ * -DeclHandler-DTDHandler 
+ * 
+ * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler
+ * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html
+ */
+function DOMHandler() {
+    this.cdata = false;
+}
+function position(locator,node){
+	node.lineNumber = locator.lineNumber;
+	node.columnNumber = locator.columnNumber;
+}
+/**
+ * @see org.xml.sax.ContentHandler#startDocument
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html
+ */ 
+DOMHandler.prototype = {
+	startDocument : function() {
+    	this.document = new DOMImplementation().createDocument(null, null, null);
+    	if (this.locator) {
+        	this.document.documentURI = this.locator.systemId;
+    	}
+	},
+	startElement:function(namespaceURI, localName, qName, attrs) {
+		var doc = this.document;
+	    var el = doc.createElementNS(namespaceURI, qName||localName);
+	    var len = attrs.length;
+	    appendElement(this, el);
+	    this.currentElement = el;
+	    
+		this.locator && position(this.locator,el)
+	    for (var i = 0 ; i < len; i++) {
+	        var namespaceURI = attrs.getURI(i);
+	        var value = attrs.getValue(i);
+	        var qName = attrs.getQName(i);
+			var attr = doc.createAttributeNS(namespaceURI, qName);
+			if( attr.getOffset){
+				position(attr.getOffset(1),attr)
+			}
+			attr.value = attr.nodeValue = value;
+			el.setAttributeNode(attr)
+	    }
+	},
+	endElement:function(namespaceURI, localName, qName) {
+		var current = this.currentElement
+	    var tagName = current.tagName;
+	    this.currentElement = current.parentNode;
+	},
+	startPrefixMapping:function(prefix, uri) {
+	},
+	endPrefixMapping:function(prefix) {
+	},
+	processingInstruction:function(target, data) {
+	    var ins = this.document.createProcessingInstruction(target, data);
+	    this.locator && position(this.locator,ins)
+	    appendElement(this, ins);
+	},
+	ignorableWhitespace:function(ch, start, length) {
+	},
+	characters:function(chars, start, length) {
+		chars = _toString.apply(this,arguments)
+		//console.log(chars)
+		if(this.currentElement && chars){
+			if (this.cdata) {
+				var charNode = this.document.createCDATASection(chars);
+				this.currentElement.appendChild(charNode);
+			} else {
+				var charNode = this.document.createTextNode(chars);
+				this.currentElement.appendChild(charNode);
+			}
+			this.locator && position(this.locator,charNode)
+		}
+	},
+	skippedEntity:function(name) {
+	},
+	endDocument:function() {
+		this.document.normalize();
+	},
+	setDocumentLocator:function (locator) {
+	    if(this.locator = locator){// && !('lineNumber' in locator)){
+	    	locator.lineNumber = 0;
+	    }
+	},
+	//LexicalHandler
+	comment:function(chars, start, length) {
+		chars = _toString.apply(this,arguments)
+	    var comm = this.document.createComment(chars);
+	    this.locator && position(this.locator,comm)
+	    appendElement(this, comm);
+	},
+	
+	startCDATA:function() {
+	    //used in characters() methods
+	    this.cdata = true;
+	},
+	endCDATA:function() {
+	    this.cdata = false;
+	},
+	
+	startDTD:function(name, publicId, systemId) {
+		var impl = this.document.implementation;
+	    if (impl && impl.createDocumentType) {
+	        var dt = impl.createDocumentType(name, publicId, systemId);
+	        this.locator && position(this.locator,dt)
+	        appendElement(this, dt);
+	    }
+	},
+	/**
+	 * @see org.xml.sax.ErrorHandler
+	 * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html
+	 */
+	warning:function(error) {
+		console.warn(error,_locator(this.locator));
+	},
+	error:function(error) {
+		console.error(error,_locator(this.locator));
+	},
+	fatalError:function(error) {
+		console.error(error,_locator(this.locator));
+	    throw error;
+	}
+}
+function _locator(l){
+	if(l){
+		return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'
+	}
+}
+function _toString(chars,start,length){
+	if(typeof chars == 'string'){
+		return chars.substr(start,length)
+	}else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)")
+		if(chars.length >= start+length || start){
+			return new java.lang.String(chars,start,length)+'';
+		}
+		return chars;
+	}
+}
+
+/*
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html
+ * used method of org.xml.sax.ext.LexicalHandler:
+ *  #comment(chars, start, length)
+ *  #startCDATA()
+ *  #endCDATA()
+ *  #startDTD(name, publicId, systemId)
+ *
+ *
+ * IGNORED method of org.xml.sax.ext.LexicalHandler:
+ *  #endDTD()
+ *  #startEntity(name)
+ *  #endEntity(name)
+ *
+ *
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html
+ * IGNORED method of org.xml.sax.ext.DeclHandler
+ * 	#attributeDecl(eName, aName, type, mode, value)
+ *  #elementDecl(name, model)
+ *  #externalEntityDecl(name, publicId, systemId)
+ *  #internalEntityDecl(name, value)
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html
+ * IGNORED method of org.xml.sax.EntityResolver2
+ *  #resolveEntity(String name,String publicId,String baseURI,String systemId)
+ *  #resolveEntity(publicId, systemId)
+ *  #getExternalSubset(name, baseURI)
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html
+ * IGNORED method of org.xml.sax.DTDHandler
+ *  #notationDecl(name, publicId, systemId) {};
+ *  #unparsedEntityDecl(name, publicId, systemId, notationName) {};
+ */
+"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){
+	DOMHandler.prototype[key] = function(){return null}
+})
+
+/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */
+function appendElement (hander,node) {
+    if (!hander.currentElement) {
+        hander.document.appendChild(node);
+    } else {
+        hander.currentElement.appendChild(node);
+    }
+}//appendChild and setAttributeNS are preformance key
+
+if(typeof require == 'function'){
+	var XMLReader = require('./sax').XMLReader;
+	var DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation;
+	exports.XMLSerializer = require('./dom').XMLSerializer ;
+	exports.DOMParser = DOMParser;
+}


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