Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

appcd-response

Package Overview
Dependencies
Maintainers
3
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

appcd-response - npm Package Compare versions

Comparing version 2.0.0 to 2.0.1

5

CHANGELOG.md

@@ -0,1 +1,6 @@

# v2.0.1 (Aug 13, 2019)
* chore: Fixed eslint `hasOwnProperty` warnings.
* chore: Updated dependencies.
# v2.0.0 (Jun 4, 2019)

@@ -2,0 +7,0 @@

6

dist/appcd-error.js

@@ -138,7 +138,7 @@ "use strict";

if (opts.hasOwnProperty('defaultStatus') && typeof opts.defaultStatus !== 'number') {
if (Object.prototype.hasOwnProperty.call(opts, 'defaultStatus') && typeof opts.defaultStatus !== 'number') {
throw new TypeError('Expected default status to be a number');
}
if (opts.hasOwnProperty('defaultStatusCode') && typeof opts.defaultStatusCode !== 'number' && typeof opts.defaultStatusCode !== 'string') {
if (Object.prototype.hasOwnProperty.call(opts, 'defaultStatusCode') && typeof opts.defaultStatusCode !== 'number' && typeof opts.defaultStatusCode !== 'string') {
throw new TypeError('Expected default status code to be a string or number');

@@ -169,2 +169,2 @@ }

}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGNkLWVycm9yLmpzIl0sIm5hbWVzIjpbIkFwcGNkRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiYXJncyIsIk9iamVjdCIsImRlZmluZVByb3BlcnRpZXMiLCJuYW1lIiwid3JpdGFibGUiLCJ2YWx1ZSIsIm1zZyIsIk1lc3NhZ2UiLCJlcnIiLCJwcm9wIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInN0YWNrIiwicmVwbGFjZSIsImNhcHR1cmVTdGFja1RyYWNlIiwibWVzc2FnZSIsInRvU3RyaW5nIiwic3RhdHVzIiwic3RhdHVzQ29kZSIsImxvY2FsZSIsImNvZGUiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJjb2RlcyIsImNyZWF0ZUVycm9yQ2xhc3MiLCJjbGFzc05hbWUiLCJvcHRzIiwiVHlwZUVycm9yIiwiaGFzT3duUHJvcGVydHkiLCJkZWZhdWx0U3RhdHVzIiwiZGVmYXVsdFN0YXR1c0NvZGUiLCJDdXN0b21FcnJvciIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFFQTs7OztBQUVBOzs7QUFHZSxNQUFNQSxVQUFOLFNBQXlCQyxLQUF6QixDQUErQjtBQUM3Qzs7Ozs7QUFLQUMsRUFBQUEsV0FBVyxDQUFDLEdBQUdDLElBQUosRUFBVTtBQUNwQixZQURvQixDQUdwQjtBQUNBOztBQUNBQyxJQUFBQSxNQUFNLENBQUNDLGdCQUFQLENBQXdCLElBQXhCLEVBQThCO0FBQzdCQyxNQUFBQSxJQUFJLEVBQUU7QUFBRUMsUUFBQUEsUUFBUSxFQUFFLElBQVo7QUFBa0JDLFFBQUFBLEtBQUssRUFBRSxLQUFLTixXQUFMLENBQWlCSTtBQUExQyxPQUR1QjtBQUU3QkcsTUFBQUEsR0FBRyxFQUFFO0FBQUVGLFFBQUFBLFFBQVEsRUFBRSxJQUFaO0FBQWtCQyxRQUFBQSxLQUFLLEVBQUUsSUFBSUUsZ0JBQUosQ0FBWSxHQUFHUCxJQUFmO0FBQXpCO0FBRndCLEtBQTlCO0FBS0EsVUFBTVEsR0FBRyxHQUFH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QUFJLENBQUNJLGlCQUFaLEtBQWtDLFFBQTlFLElBQTBGLE9BQU9KLElBQUksQ0FBQ0ksaUJBQVosS0FBa0MsUUFBaEksRUFBMEk7QUFDekksWUFBTSxJQUFJSCxTQUFKLENBQWMsdURBQWQsQ0FBTjtBQUNBO0FBQ0Q7O0FBRUQsUUFBTUksV0FBTixTQUEwQmpDLFVBQTFCLENBQXFDO0FBQ3BDRSxJQUFBQSxXQUFXLENBQUMsR0FBR0MsSUFBSixFQUFVO0FBQ3BCLFlBQU0sR0FBR0EsSUFBVDs7QUFFQSxVQUFJLEtBQUtNLEdBQUwsQ0FBU1UsTUFBVCxLQUFvQmUsU0FBcEIsSUFBaUNOLElBQWpDLElBQXlDQSxJQUFJLENBQUNHLGFBQWxELEVBQWlFO0FBQ2hFLGFBQUt0QixHQUFMLENBQVNVLE1BQVQsR0FBa0JTLElBQUksQ0FBQ0csYUFBdkI7QUFDQTs7QUFFRCxVQUFJLEtBQUt0QixHQUFMLENBQVNXLFVBQVQsS0FBd0JjLFNBQXhCLElBQXFDTixJQUFyQyxJQUE2Q0EsSUFBSSxDQUFDSSxpQkFBdEQsRUFBeUU7QUFDeEUsYUFBS3ZCLEdBQUwsQ0FBU1csVUFBVCxHQUFzQlEsSUFBSSxDQUFDSSxpQkFBM0I7QUFDQTtBQUNEOztBQVhtQzs7QUFjckM1QixFQUFBQSxNQUFNLENBQUNtQixjQUFQLENBQXNCVSxXQUF0QixFQUFtQyxNQUFuQyxFQUEyQztBQUMxQ1QsSUFBQUEsVUFBVSxFQUFFLElBRDhCO0FBRTFDaEIsSUFBQUEsS0FBSyxFQUFFbUI7QUFGbUMsR0FBM0M7QUFLQSxTQUFPTSxXQUFQO0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTWVzc2FnZSBmcm9tICcuL21lc3NhZ2UnO1xuXG5pbXBvcnQgeyBjb2RlcyB9IGZyb20gJy4vY29kZXMnO1xuXG4vKipcbiAqIEEgQXBwYyBEYWVtb24gZXJyb3IuIFRoaXMgY2xhc3MgY2FuIGJlIGV4dGVuZGVkIG9yIHVzZWQgYXMgaXMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwcGNkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGVycm9yIGluc3RhbmNlLlxuXHQgKlxuXHQgKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBUaGUgY29kZSwgbWVzc2FnZSwgb3IgZXJyb3IuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvciguLi5hcmdzKSB7XG5cdFx0c3VwZXIoKTtcblxuXHRcdC8vIG11c3QgZGVmaW5lIGBtc2dgIGJlZm9yZSBjYXB0dXJpbmcgdGhlIHN0YWNrIHRyYWNlIHNpbmNlIGl0IGNhbGxzIGB0b1N0cmluZygpYCBhbmQgd2Vcblx0XHQvLyBuZWVkIGEgbWVzc2FnZSB0byByZW5kZXJcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0aGlzLCB7XG5cdFx0XHRuYW1lOiB7IHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0sXG5cdFx0XHRtc2c6IHsgd3JpdGFibGU6IHRydWUsIHZhbHVlOiBuZXcgTWVzc2FnZSguLi5hcmdzKSB9XG5cdFx0fSk7XG5cblx0XHRjb25zdCBlcnIgPSBhcmdzWzBdO1xuXHRcdGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuXHRcdFx0Zm9yIChjb25zdCBwcm9wIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGVycikpIHtcblx0XHRcdFx0aWYgKHByb3AgIT09ICdtZXNzYWdlJyAmJiBwcm9wICE9PSAnbmFtZScpIHtcblx0XHRcdFx0XHR0aGlzW3Byb3BdID0gZXJyW3Byb3BdO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIHRoZSBzdGFjayBtYXkgaGF2ZSB0aGUgd3JvbmcgY2xhc3MgbmFtZSwgc28gb3ZlcnJpZGUgaXRcblx0XHRcdGlmICh0aGlzLnN0YWNrKSB7XG5cdFx0XHRcdHRoaXMuc3RhY2sgPSB0aGlzLnN0YWNrLnJlcGxhY2UoL14oXFx3KkVycm9yOikvLCBgJHt0aGlzLm5hbWV9OmApO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgJ2VuJyBsb2NhbGUgc3BlY2lmaWMgbWVzc2FnZS5cblx0ICogQHR5cGUge1N0cmluZ31cblx0ICogQGFjY2VzcyBwdWJsaWNcblx0ICovXG5cdGdldCBtZXNzYWdlKCkge1xuXHRcdHJldHVybiB0aGlzLm1zZy50b1N0cmluZyhudWxsLCAnVW5rbm93biBFcnJvcicpO1xuXHR9XG5cblx0c2V0IG1lc3NhZ2UobXNnKSB7XG5cdFx0dGhpcy5tc2cgPSBtc2c7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGVycm9yIHN0YXR1cy5cblx0ICogQHR5cGUge051bWJlcn1cblx0ICovXG5cdGdldCBzdGF0dXMoKSB7XG5cdFx0cmV0dXJuIHRoaXMubXNnLnN0YXR1cztcblx0fVxuXG5cdHNldCBzdGF0dXModmFsdWUpIHtcblx0XHR0aGlzLm1zZy5zdGF0dXMgPSB2YWx1ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgZXJyb3IgY29kZS5cblx0ICogQHR5cGUge1N0cmluZ31cblx0ICovXG5cdGdldCBzdGF0dXNDb2RlKCkge1xuXHRcdHJldHVybiB0aGlzLm1zZy5zdGF0dXNDb2RlO1xuXHR9XG5cblx0c2V0IHN0YXR1c0NvZGUodmFsdWUpIHtcblx0XHR0aGlzLm1zZy5zdGF0dXNDb2RlID0gdmFsdWU7XG5cdH1cblxuXHQvKipcblx0ICogRm9ybWF0cyBhbmQgcmV0dXJucyB0aGUgZXJyb3IgbWVzc2FnZS5cblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IFtsb2NhbGVdIC0gVGhlIGxvY2FsZSB1c2VkIHRvIHRyYW5zbGF0ZSB0aGUgbWVzc2FnZS5cblx0ICogQHJldHVybnMge1N0cmluZ31cblx0ICogQGFjY2VzcyBwdWJsaWNcblx0ICovXG5cdHRvU3RyaW5nKGxvY2FsZSkge1xuXHRcdGNvbnN0IGNvZGUgPSB0aGlzLm1zZy5zdGF0dXNDb2RlID8gYCAoY29kZSAke3RoaXMubXNnLnN0YXR1c0NvZGV9KWAgOiAnJztcblx0XHRyZXR1cm4gYCR7dGhpcy5uYW1lfTogJHt0aGlzLm1zZy50b1N0cmluZyhsb2NhbGUsICdVbmtub3duIEVycm9yJyl9JHtjb2RlfWA7XG5cdH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEFwcGNkRXJyb3IsICduYW1lJywge1xuXHRlbnVtZXJhYmxlOiB0cnVlLFxuXHR2YWx1ZTogJ0FwcGNkRXJyb3InXG59KTtcblxuQXBwY2RFcnJvci5jb2RlcyA9IGNvZGVzO1xuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgb25lLW9mZiBjdXN0b20gZXJyb3Igb2JqZWN0cy4gSXQncyBlcXVpdmFsZW50IHRvIGNyZWF0aW5nIGEgY3VzdG9tXG4gKiBlcnJvciBjbGFzcyB0aGF0IGV4dGVuZHMgYEFwcGNkRXJyb3JgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBjbGFzc05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY3VzdG9tIGVycm9yLlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIEFkZGl0aW9uYWwgb3B0aW9ucy5cbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0cy5kZWZhdWx0U3RhdHVzXSAtIEEgZGVmYXVsdCBzdGF0dXMgaWYgdGhlIGVycm9yIGRvZXNuJ3QgZXhwbGljaXRseSBoYXZlIG9uZS5cbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0cy5kZWZhdWx0U3RhdHVzQ29kZV0gLSBBIGRlZmF1bHQgY29kZSBpZiB0aGUgZXJyb3IgZG9lc24ndCBleHBsaWNpdGx5IGhhdmUgb25lLlxuICogQHJldHVybnMge0Z1bmN0aW9ufVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRXJyb3JDbGFzcyhjbGFzc05hbWUsIG9wdHMgPSB7fSkge1xuXHRpZiAoIWNsYXNzTmFtZSB8fCB0eXBlb2YgY2xhc3NOYW1lICE9PSAnc3RyaW5nJykge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkIGN1c3RvbSBlcnJvciBjbGFzcyBuYW1lIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuXHR9XG5cblx0aWYgKG9wdHMpIHtcblx0XHRpZiAodHlwZW9mIG9wdHMgIT09ICdvYmplY3QnKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBvcHRpb25zIHRvIGJlIGFuIG9iamVjdCcpO1xuXHRcdH1cblxuXHRcdGlmIChvcHRzLmhhc093blByb3BlcnR5KCdkZWZhdWx0U3RhdHVzJykgJiYgdHlwZW9mIG9wdHMuZGVmYXVsdFN0YXR1cyAhPT0gJ251bWJlcicpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkIGRlZmF1bHQgc3RhdHVzIHRvIGJlIGEgbnVtYmVyJyk7XG5cdFx0fVxuXG5cdFx0aWYgKG9wdHMuaGFzT3duUHJvcGVydHkoJ2RlZmF1bHRTdGF0dXNDb2RlJykgJiYgdHlwZW9mIG9wdHMuZGVmYXVsdFN0YXR1c0NvZGUgIT09ICdudW1iZXInICYmIHR5cGVvZiBvcHRzLmRlZmF1bHRTdGF0dXNDb2RlICE9PSAnc3RyaW5nJykge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgZGVmYXVsdCBzdGF0dXMgY29kZSB0byBiZSBhIHN0cmluZyBvciBudW1iZXInKTtcblx0XHR9XG5cdH1cblxuXHRjbGFzcyBDdXN0b21FcnJvciBleHRlbmRzIEFwcGNkRXJyb3Ige1xuXHRcdGNvbnN0cnVjdG9yKC4uLmFyZ3MpIHtcblx0XHRcdHN1cGVyKC4uLmFyZ3MpO1xuXG5cdFx0XHRpZiAodGhpcy5tc2cuc3RhdHVzID09PSB1bmRlZmluZWQgJiYgb3B0cyAmJiBvcHRzLmRlZmF1bHRTdGF0dXMpIHtcblx0XHRcdFx0dGhpcy5tc2cuc3RhdHVzID0gb3B0cy5kZWZhdWx0U3RhdHVzO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAodGhpcy5tc2cuc3RhdHVzQ29kZSA9PT0gdW5kZWZpbmVkICYmIG9wdHMgJiYgb3B0cy5kZWZhdWx0U3RhdHVzQ29kZSkge1xuXHRcdFx0XHR0aGlzLm1zZy5zdGF0dXNDb2RlID0gb3B0cy5kZWZhdWx0U3RhdHVzQ29kZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoQ3VzdG9tRXJyb3IsICduYW1lJywge1xuXHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0dmFsdWU6IGNsYXNzTmFtZVxuXHR9KTtcblxuXHRyZXR1cm4gQ3VzdG9tRXJyb3I7XG59XG4iXSwiZmlsZSI6ImFwcGNkLWVycm9yLmpzIn0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGNkLWVycm9yLmpzIl0sIm5hbWVzIjpbIkFwcGNkRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiYXJncyIsIk9iamVjdCIsImRlZmluZVByb3BlcnRpZXMiLCJuYW1lIiwid3JpdGFibGUiLCJ2YWx1ZSIsIm1zZyIsIk1lc3NhZ2UiLCJlcnIiLCJwcm9wIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInN0YWNrIiwicmVwbGFjZSIsImNhcHR1cmVTdGFja1RyYWNlIiwibWVzc2FnZSIsInRvU3RyaW5nIiwic3RhdHVzIiwic3RhdHVzQ29kZSIsImxvY2FsZSIsImNvZGUiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJjb2RlcyIsImNyZWF0ZUVycm9yQ2xhc3MiLCJjbGFzc05hbWUiLCJvcHRzIiwiVHlwZUVycm9yIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVmYXVsdFN0YXR1cyIsImRlZmF1bHRTdGF0dXNDb2RlIiwiQ3VzdG9tRXJyb3IiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7O0FBRUE7Ozs7QUFFQTs7O0FBR2UsTUFBTUEsVUFBTixTQUF5QkMsS0FBekIsQ0FBK0I7QUFDN0M7Ozs7O0FBS0FDLEVBQUFBLFdBQVcsQ0FBQyxHQUFHQyxJQUFKLEVBQVU7QUFDcEIsWUFEb0IsQ0FHcEI7QUFDQTs7QUFDQUMsSUFBQUEsTUFBTSxDQUFDQyxnQkFBUCxDQUF3QixJQUF4QixFQUE4QjtBQUM3QkMsTUFBQUEsSUFBSSxFQUFFO0FBQUVDLFFBQUFBLFFBQVEsRUFBRSxJQUFaO0FBQWtCQyxRQUFBQSxLQUFLLEVBQUUsS0FBS04sV0FBTCxDQUFpQkk7QUFBMUMsT0FEdUI7QUFFN0JHLE1BQUFBLEdBQUcsRUFBRTtBQUFFRixRQUFBQSxRQUFRLEVBQUUsSUFBWjtBQUFrQkMsUUFBQUEsS0FBSyxFQUFFLElBQUlFLGdCQUFKLENBQVksR0FBR1AsSUFBZjtBQUF6QjtBQUZ3QixLQUE5QjtB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O0FBQ0E7O0FBRUQsUUFBSXpCLE1BQU0sQ0FBQzBCLFNBQVAsQ0FBaUJDLGNBQWpCLENBQWdDQyxJQUFoQyxDQUFxQ0osSUFBckMsRUFBMkMsbUJBQTNDLEtBQW1FLE9BQU9BLElBQUksQ0FBQ00saUJBQVosS0FBa0MsUUFBckcsSUFBaUgsT0FBT04sSUFBSSxDQUFDTSxpQkFBWixLQUFrQyxRQUF2SixFQUFpSztBQUNoSyxZQUFNLElBQUlMLFNBQUosQ0FBYyx1REFBZCxDQUFOO0FBQ0E7QUFDRDs7QUFFRCxRQUFNTSxXQUFOLFNBQTBCbkMsVUFBMUIsQ0FBcUM7QUFDcENFLElBQUFBLFdBQVcsQ0FBQyxHQUFHQyxJQUFKLEVBQVU7QUFDcEIsWUFBTSxHQUFHQSxJQUFUOztBQUVBLFVBQUksS0FBS00sR0FBTCxDQUFTVSxNQUFULEtBQW9CaUIsU0FBcEIsSUFBaUNSLElBQWpDLElBQXlDQSxJQUFJLENBQUNLLGFBQWxELEVBQWlFO0FBQ2hFLGFBQUt4QixHQUFMLENBQVNVLE1BQVQsR0FBa0JTLElBQUksQ0FBQ0ssYUFBdkI7QUFDQTs7QUFFRCxVQUFJLEtBQUt4QixHQUFMLENBQVNXLFVBQVQsS0FBd0JnQixTQUF4QixJQUFxQ1IsSUFBckMsSUFBNkNBLElBQUksQ0FBQ00saUJBQXRELEVBQXlFO0FBQ3hFLGFBQUt6QixHQUFMLENBQVNXLFVBQVQsR0FBc0JRLElBQUksQ0FBQ00saUJBQTNCO0FBQ0E7QUFDRDs7QUFYbUM7O0FBY3JDOUIsRUFBQUEsTUFBTSxDQUFDbUIsY0FBUCxDQUFzQlksV0FBdEIsRUFBbUMsTUFBbkMsRUFBMkM7QUFDMUNYLElBQUFBLFVBQVUsRUFBRSxJQUQ4QjtBQUUxQ2hCLElBQUFBLEtBQUssRUFBRW1CO0FBRm1DLEdBQTNDO0FBS0EsU0FBT1EsV0FBUDtBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1lc3NhZ2UgZnJvbSAnLi9tZXNzYWdlJztcblxuaW1wb3J0IHsgY29kZXMgfSBmcm9tICcuL2NvZGVzJztcblxuLyoqXG4gKiBBIEFwcGMgRGFlbW9uIGVycm9yLiBUaGlzIGNsYXNzIGNhbiBiZSBleHRlbmRlZCBvciB1c2VkIGFzIGlzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcHBjZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBlcnJvciBpbnN0YW5jZS5cblx0ICpcblx0ICogQHBhcmFtIHsuLi4qfSBhcmdzIC0gVGhlIGNvZGUsIG1lc3NhZ2UsIG9yIGVycm9yLlxuXHQgKi9cblx0Y29uc3RydWN0b3IoLi4uYXJncykge1xuXHRcdHN1cGVyKCk7XG5cblx0XHQvLyBtdXN0IGRlZmluZSBgbXNnYCBiZWZvcmUgY2FwdHVyaW5nIHRoZSBzdGFjayB0cmFjZSBzaW5jZSBpdCBjYWxscyBgdG9TdHJpbmcoKWAgYW5kIHdlXG5cdFx0Ly8gbmVlZCBhIG1lc3NhZ2UgdG8gcmVuZGVyXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcywge1xuXHRcdFx0bmFtZTogeyB3cml0YWJsZTogdHJ1ZSwgdmFsdWU6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9LFxuXHRcdFx0bXNnOiB7IHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogbmV3IE1lc3NhZ2UoLi4uYXJncykgfVxuXHRcdH0pO1xuXG5cdFx0Y29uc3QgZXJyID0gYXJnc1swXTtcblx0XHRpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRcdGZvciAoY29uc3QgcHJvcCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlcnIpKSB7XG5cdFx0XHRcdGlmIChwcm9wICE9PSAnbWVzc2FnZScgJiYgcHJvcCAhPT0gJ25hbWUnKSB7XG5cdFx0XHRcdFx0dGhpc1twcm9wXSA9IGVycltwcm9wXTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyB0aGUgc3RhY2sgbWF5IGhhdmUgdGhlIHdyb25nIGNsYXNzIG5hbWUsIHNvIG92ZXJyaWRlIGl0XG5cdFx0XHRpZiAodGhpcy5zdGFjaykge1xuXHRcdFx0XHR0aGlzLnN0YWNrID0gdGhpcy5zdGFjay5yZXBsYWNlKC9eKFxcdypFcnJvcjopLywgYCR7dGhpcy5uYW1lfTpgKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgdGhpcy5jb25zdHJ1Y3Rvcik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlICdlbicgbG9jYWxlIHNwZWNpZmljIG1lc3NhZ2UuXG5cdCAqIEB0eXBlIHtTdHJpbmd9XG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHRnZXQgbWVzc2FnZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5tc2cudG9TdHJpbmcobnVsbCwgJ1Vua25vd24gRXJyb3InKTtcblx0fVxuXG5cdHNldCBtZXNzYWdlKG1zZykge1xuXHRcdHRoaXMubXNnID0gbXNnO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBlcnJvciBzdGF0dXMuXG5cdCAqIEB0eXBlIHtOdW1iZXJ9XG5cdCAqL1xuXHRnZXQgc3RhdHVzKCkge1xuXHRcdHJldHVybiB0aGlzLm1zZy5zdGF0dXM7XG5cdH1cblxuXHRzZXQgc3RhdHVzKHZhbHVlKSB7XG5cdFx0dGhpcy5tc2cuc3RhdHVzID0gdmFsdWU7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGVycm9yIGNvZGUuXG5cdCAqIEB0eXBlIHtTdHJpbmd9XG5cdCAqL1xuXHRnZXQgc3RhdHVzQ29kZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5tc2cuc3RhdHVzQ29kZTtcblx0fVxuXG5cdHNldCBzdGF0dXNDb2RlKHZhbHVlKSB7XG5cdFx0dGhpcy5tc2cuc3RhdHVzQ29kZSA9IHZhbHVlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZvcm1hdHMgYW5kIHJldHVybnMgdGhlIGVycm9yIG1lc3NhZ2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBbbG9jYWxlXSAtIFRoZSBsb2NhbGUgdXNlZCB0byB0cmFuc2xhdGUgdGhlIG1lc3NhZ2UuXG5cdCAqIEByZXR1cm5zIHtTdHJpbmd9XG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHR0b1N0cmluZyhsb2NhbGUpIHtcblx0XHRjb25zdCBjb2RlID0gdGhpcy5tc2cuc3RhdHVzQ29kZSA/IGAgKGNvZGUgJHt0aGlzLm1zZy5zdGF0dXNDb2RlfSlgIDogJyc7XG5cdFx0cmV0dXJuIGAke3RoaXMubmFtZX06ICR7dGhpcy5tc2cudG9TdHJpbmcobG9jYWxlLCAnVW5rbm93biBFcnJvcicpfSR7Y29kZX1gO1xuXHR9XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcHBjZEVycm9yLCAnbmFtZScsIHtcblx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0dmFsdWU6ICdBcHBjZEVycm9yJ1xufSk7XG5cbkFwcGNkRXJyb3IuY29kZXMgPSBjb2RlcztcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIG9uZS1vZmYgY3VzdG9tIGVycm9yIG9iamVjdHMuIEl0J3MgZXF1aXZhbGVudCB0byBjcmVhdGluZyBhIGN1c3RvbVxuICogZXJyb3IgY2xhc3MgdGhhdCBleHRlbmRzIGBBcHBjZEVycm9yYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gY2xhc3NOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGN1c3RvbSBlcnJvci5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBBZGRpdGlvbmFsIG9wdGlvbnMuXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdHMuZGVmYXVsdFN0YXR1c10gLSBBIGRlZmF1bHQgc3RhdHVzIGlmIHRoZSBlcnJvciBkb2Vzbid0IGV4cGxpY2l0bHkgaGF2ZSBvbmUuXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdHMuZGVmYXVsdFN0YXR1c0NvZGVdIC0gQSBkZWZhdWx0IGNvZGUgaWYgdGhlIGVycm9yIGRvZXNuJ3QgZXhwbGljaXRseSBoYXZlIG9uZS5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVycm9yQ2xhc3MoY2xhc3NOYW1lLCBvcHRzID0ge30pIHtcblx0aWYgKCFjbGFzc05hbWUgfHwgdHlwZW9mIGNsYXNzTmFtZSAhPT0gJ3N0cmluZycpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBjdXN0b20gZXJyb3IgY2xhc3MgbmFtZSB0byBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcblx0fVxuXG5cdGlmIChvcHRzKSB7XG5cdFx0aWYgKHR5cGVvZiBvcHRzICE9PSAnb2JqZWN0Jykge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgb3B0aW9ucyB0byBiZSBhbiBvYmplY3QnKTtcblx0XHR9XG5cblx0XHRpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9wdHMsICdkZWZhdWx0U3RhdHVzJykgJiYgdHlwZW9mIG9wdHMuZGVmYXVsdFN0YXR1cyAhPT0gJ251bWJlcicpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkIGRlZmF1bHQgc3RhdHVzIHRvIGJlIGEgbnVtYmVyJyk7XG5cdFx0fVxuXG5cdFx0aWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvcHRzLCAnZGVmYXVsdFN0YXR1c0NvZGUnKSAmJiB0eXBlb2Ygb3B0cy5kZWZhdWx0U3RhdHVzQ29kZSAhPT0gJ251bWJlcicgJiYgdHlwZW9mIG9wdHMuZGVmYXVsdFN0YXR1c0NvZGUgIT09ICdzdHJpbmcnKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBkZWZhdWx0IHN0YXR1cyBjb2RlIHRvIGJlIGEgc3RyaW5nIG9yIG51bWJlcicpO1xuXHRcdH1cblx0fVxuXG5cdGNsYXNzIEN1c3RvbUVycm9yIGV4dGVuZHMgQXBwY2RFcnJvciB7XG5cdFx0Y29uc3RydWN0b3IoLi4uYXJncykge1xuXHRcdFx0c3VwZXIoLi4uYXJncyk7XG5cblx0XHRcdGlmICh0aGlzLm1zZy5zdGF0dXMgPT09IHVuZGVmaW5lZCAmJiBvcHRzICYmIG9wdHMuZGVmYXVsdFN0YXR1cykge1xuXHRcdFx0XHR0aGlzLm1zZy5zdGF0dXMgPSBvcHRzLmRlZmF1bHRTdGF0dXM7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0aGlzLm1zZy5zdGF0dXNDb2RlID09PSB1bmRlZmluZWQgJiYgb3B0cyAmJiBvcHRzLmRlZmF1bHRTdGF0dXNDb2RlKSB7XG5cdFx0XHRcdHRoaXMubXNnLnN0YXR1c0NvZGUgPSBvcHRzLmRlZmF1bHRTdGF0dXNDb2RlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDdXN0b21FcnJvciwgJ25hbWUnLCB7XG5cdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHR2YWx1ZTogY2xhc3NOYW1lXG5cdH0pO1xuXG5cdHJldHVybiBDdXN0b21FcnJvcjtcbn1cbiJdLCJmaWxlIjoiYXBwY2QtZXJyb3IuanMifQ==

@@ -8,2 +8,4 @@ "use strict";

/* eslint security/detect-child-process: 0 */
/**

@@ -51,2 +53,2 @@ * The cached locale value.

}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS5qcyJdLCJuYW1lcyI6WyJjYWNoZWRMb2NhbGUiLCJsb2NhbGUiLCJmb3JjZSIsInVuZGVmaW5lZCIsInByb2Nlc3MiLCJwbGF0Zm9ybSIsIndpbnJlZ2xpYiIsInJlcXVpcmUiLCJ2YWx1ZSIsImdldCIsInN1YnN0cmluZyIsImxlbmd0aCIsIm0iLCJtYXRjaCIsInJlcGxhY2UiLCJzcGF3blN5bmMiLCJzdGRvdXQiLCJ0b1N0cmluZyIsImUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7Ozs7QUFLQSxJQUFJQSxZQUFKO0FBRUE7Ozs7Ozs7QUFNTyxlQUFlQyxNQUFmLENBQXNCQyxLQUF0QixFQUE2QjtBQUNuQyxNQUFJLENBQUNBLEtBQUQsSUFBVUYsWUFBWSxLQUFLRyxTQUEvQixFQUEwQztBQUN6QyxXQUFPSCxZQUFQO0FBQ0E7O0FBRUQsTUFBSTtBQUNILFFBQUlJLE9BQU8sQ0FBQ0MsUUFBUixLQUFxQixPQUF6QixFQUFrQztBQUNqQyxZQUFNQyxTQUFTLEdBQUdDLE9BQU8sQ0FBQyxXQUFELENBQXpCOztBQUNBLFVBQUlDLEtBQUssR0FBR0YsU0FBUyxDQUFDRyxHQUFWLENBQWMsb0NBQWQsRUFBb0QsUUFBcEQsQ0FBWjs7QUFDQSxVQUFJRCxLQUFKLEVBQVc7QUFDVkEsUUFBQUEsS0FBSyxHQUFHQSxLQUFLLENBQUNFLFNBQU4sQ0FBZ0JGLEtBQUssQ0FBQ0csTUFBTixHQUFlLENBQS9CLEVBQWtDSCxLQUFLLENBQUNHLE1BQXhDLENBQVI7QUFDQSxjQUFNVixNQUFNLEdBQUdLLFNBQVMsQ0FBQ0csR0FBVixDQUFjLGtEQUFkLEVBQWtFRCxLQUFsRSxDQUFmO0FBQ0EsY0FBTUksQ0FBQyxHQUFHWCxNQUFNLENBQUNZLEtBQVAsQ0FBYSxjQUFiLENBQVY7QUFDQWIsUUFBQUEsWUFBWSxHQUFHWSxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFELENBQUQsQ0FBS0UsT0FBTCxDQUFhLElBQWIsRUFBbUIsR0FBbkIsQ0FBSCxHQUE2QixJQUE3QztBQUNBO0FBQ0QsS0FURCxNQVNPO0FBQ04sWUFBTUYsQ0FBQyxHQUFHTCxPQUFPLENBQUMsZUFBRCxDQUFQLENBQXlCUSxTQUF6QixDQUFtQyxRQUFuQyxFQUE2Q0MsTUFBN0MsQ0FBb0RDLFFBQXBELEdBQStESixLQUEvRCxDQUFxRSxvQkFBckUsQ0FBVjs7QUFDQWIsTUFBQUEsWUFBWSxHQUFHWSxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFELENBQUQsQ0FBS0UsT0FBTCxDQUFhLElBQWIsRUFBbUIsR0FBbkIsQ0FBSCxHQUE2QixJQUE3QztBQUNBO0FBQ0QsR0FkRCxDQWNFLE9BQU9JLENBQVAsRUFBVTtBQUNYO0FBQ0FsQixJQUFBQSxZQUFZLEdBQUcsSUFBZjtBQUNBOztBQUVELFNBQU9BLFlBQVA7QUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGNhY2hlZCBsb2NhbGUgdmFsdWUuXG4gKlxuICogQHR5cGUgez9TdHJpbmd9XG4gKi9cbmxldCBjYWNoZWRMb2NhbGU7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgY3VycmVudCBsb2NhbGUgb2YgdGhpcyBtYWNoaW5lLlxuICpcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gW2ZvcmNlPWZhbHNlXSAtIFdoZW4gYHRydWVgLCBpdCB3aWxsIGJ5cGFzcyB0aGUgY2FjaGVkIGxvY2FsZSBhbmQgcmVkZXRlY3QuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxTdHJpbmc+fVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9jYWxlKGZvcmNlKSB7XG5cdGlmICghZm9yY2UgJiYgY2FjaGVkTG9jYWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTG9jYWxlO1xuXHR9XG5cblx0dHJ5IHtcblx0XHRpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJykge1xuXHRcdFx0Y29uc3Qgd2lucmVnbGliID0gcmVxdWlyZSgnd2lucmVnbGliJyk7XG5cdFx0XHRsZXQgdmFsdWUgPSB3aW5yZWdsaWIuZ2V0KCdIS0NVXFxcXENvbnRyb2wgUGFuZWxcXFxcSW50ZXJuYXRpb25hbCcsICdMb2NhbGUnKTtcblx0XHRcdGlmICh2YWx1ZSkge1xuXHRcdFx0XHR2YWx1ZSA9IHZhbHVlLnN1YnN0cmluZyh2YWx1ZS5sZW5ndGggLSA0LCB2YWx1ZS5sZW5ndGgpO1xuXHRcdFx0XHRjb25zdCBsb2NhbGUgPSB3aW5yZWdsaWIuZ2V0KCdIS0xNXFxcXFNPRlRXQVJFXFxcXENsYXNzZXNcXFxcTUlNRVxcXFxEYXRhYmFzZVxcXFxSZmMxNzY2JywgdmFsdWUpO1xuXHRcdFx0XHRjb25zdCBtID0gbG9jYWxlLm1hdGNoKC8oW147LFxcbl0rPyk7Lyk7XG5cdFx0XHRcdGNhY2hlZExvY2FsZSA9IG0gPyBtWzFdLnJlcGxhY2UoL18vZywgJy0nKSA6IG51bGw7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IG0gPSByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJykuc3Bhd25TeW5jKCdsb2NhbGUnKS5zdGRvdXQudG9TdHJpbmcoKS5tYXRjaCgvXkxBTkc9XCI/KFteXCIuXFxzXSspLyk7XG5cdFx0XHRjYWNoZWRMb2NhbGUgPSBtID8gbVsxXS5yZXBsYWNlKC9fL2csICctJykgOiBudWxsO1xuXHRcdH1cblx0fSBjYXRjaCAoZSkge1xuXHRcdC8vIHRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgJ2xvY2FsZScgY29tbWFuZCBpcyBub3QgZm91bmQgaW4gdGhlIHN5c3RlbSBwYXRoXG5cdFx0Y2FjaGVkTG9jYWxlID0gbnVsbDtcblx0fVxuXG5cdHJldHVybiBjYWNoZWRMb2NhbGU7XG59XG4iXSwiZmlsZSI6ImxvY2FsZS5qcyJ9
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS5qcyJdLCJuYW1lcyI6WyJjYWNoZWRMb2NhbGUiLCJsb2NhbGUiLCJmb3JjZSIsInVuZGVmaW5lZCIsInByb2Nlc3MiLCJwbGF0Zm9ybSIsIndpbnJlZ2xpYiIsInJlcXVpcmUiLCJ2YWx1ZSIsImdldCIsInN1YnN0cmluZyIsImxlbmd0aCIsIm0iLCJtYXRjaCIsInJlcGxhY2UiLCJzcGF3blN5bmMiLCJzdGRvdXQiLCJ0b1N0cmluZyIsImUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7Ozs7QUFLQSxJQUFJQSxZQUFKO0FBRUE7Ozs7Ozs7QUFNTyxlQUFlQyxNQUFmLENBQXNCQyxLQUF0QixFQUE2QjtBQUNuQyxNQUFJLENBQUNBLEtBQUQsSUFBVUYsWUFBWSxLQUFLRyxTQUEvQixFQUEwQztBQUN6QyxXQUFPSCxZQUFQO0FBQ0E7O0FBRUQsTUFBSTtBQUNILFFBQUlJLE9BQU8sQ0FBQ0MsUUFBUixLQUFxQixPQUF6QixFQUFrQztBQUNqQyxZQUFNQyxTQUFTLEdBQUdDLE9BQU8sQ0FBQyxXQUFELENBQXpCOztBQUNBLFVBQUlDLEtBQUssR0FBR0YsU0FBUyxDQUFDRyxHQUFWLENBQWMsb0NBQWQsRUFBb0QsUUFBcEQsQ0FBWjs7QUFDQSxVQUFJRCxLQUFKLEVBQVc7QUFDVkEsUUFBQUEsS0FBSyxHQUFHQSxLQUFLLENBQUNFLFNBQU4sQ0FBZ0JGLEtBQUssQ0FBQ0csTUFBTixHQUFlLENBQS9CLEVBQWtDSCxLQUFLLENBQUNHLE1BQXhDLENBQVI7QUFDQSxjQUFNVixNQUFNLEdBQUdLLFNBQVMsQ0FBQ0csR0FBVixDQUFjLGtEQUFkLEVBQWtFRCxLQUFsRSxDQUFmO0FBQ0EsY0FBTUksQ0FBQyxHQUFHWCxNQUFNLENBQUNZLEtBQVAsQ0FBYSxjQUFiLENBQVY7QUFDQWIsUUFBQUEsWUFBWSxHQUFHWSxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFELENBQUQsQ0FBS0UsT0FBTCxDQUFhLElBQWIsRUFBbUIsR0FBbkIsQ0FBSCxHQUE2QixJQUE3QztBQUNBO0FBQ0QsS0FURCxNQVNPO0FBQ04sWUFBTUYsQ0FBQyxHQUFHTCxPQUFPLENBQUMsZUFBRCxDQUFQLENBQXlCUSxTQUF6QixDQUFtQyxRQUFuQyxFQUE2Q0MsTUFBN0MsQ0FBb0RDLFFBQXBELEdBQStESixLQUEvRCxDQUFxRSxvQkFBckUsQ0FBVjs7QUFDQWIsTUFBQUEsWUFBWSxHQUFHWSxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFELENBQUQsQ0FBS0UsT0FBTCxDQUFhLElBQWIsRUFBbUIsR0FBbkIsQ0FBSCxHQUE2QixJQUE3QztBQUNBO0FBQ0QsR0FkRCxDQWNFLE9BQU9JLENBQVAsRUFBVTtBQUNYO0FBQ0FsQixJQUFBQSxZQUFZLEdBQUcsSUFBZjtBQUNBOztBQUVELFNBQU9BLFlBQVA7QUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBzZWN1cml0eS9kZXRlY3QtY2hpbGQtcHJvY2VzczogMCAqL1xuXG4vKipcbiAqIFRoZSBjYWNoZWQgbG9jYWxlIHZhbHVlLlxuICpcbiAqIEB0eXBlIHs/U3RyaW5nfVxuICovXG5sZXQgY2FjaGVkTG9jYWxlO1xuXG4vKipcbiAqIERldGVybWluZXMgdGhlIGN1cnJlbnQgbG9jYWxlIG9mIHRoaXMgbWFjaGluZS5cbiAqXG4gKiBAcGFyYW0ge0Jvb2xlYW59IFtmb3JjZT1mYWxzZV0gLSBXaGVuIGB0cnVlYCwgaXQgd2lsbCBieXBhc3MgdGhlIGNhY2hlZCBsb2NhbGUgYW5kIHJlZGV0ZWN0LlxuICogQHJldHVybnMge1Byb21pc2U8U3RyaW5nPn1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvY2FsZShmb3JjZSkge1xuXHRpZiAoIWZvcmNlICYmIGNhY2hlZExvY2FsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZExvY2FsZTtcblx0fVxuXG5cdHRyeSB7XG5cdFx0aWYgKHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicpIHtcblx0XHRcdGNvbnN0IHdpbnJlZ2xpYiA9IHJlcXVpcmUoJ3dpbnJlZ2xpYicpO1xuXHRcdFx0bGV0IHZhbHVlID0gd2lucmVnbGliLmdldCgnSEtDVVxcXFxDb250cm9sIFBhbmVsXFxcXEludGVybmF0aW9uYWwnLCAnTG9jYWxlJyk7XG5cdFx0XHRpZiAodmFsdWUpIHtcblx0XHRcdFx0dmFsdWUgPSB2YWx1ZS5zdWJzdHJpbmcodmFsdWUubGVuZ3RoIC0gNCwgdmFsdWUubGVuZ3RoKTtcblx0XHRcdFx0Y29uc3QgbG9jYWxlID0gd2lucmVnbGliLmdldCgnSEtMTVxcXFxTT0ZUV0FSRVxcXFxDbGFzc2VzXFxcXE1JTUVcXFxcRGF0YWJhc2VcXFxcUmZjMTc2NicsIHZhbHVlKTtcblx0XHRcdFx0Y29uc3QgbSA9IGxvY2FsZS5tYXRjaCgvKFteOyxcXG5dKz8pOy8pO1xuXHRcdFx0XHRjYWNoZWRMb2NhbGUgPSBtID8gbVsxXS5yZXBsYWNlKC9fL2csICctJykgOiBudWxsO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25zdCBtID0gcmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpLnNwYXduU3luYygnbG9jYWxlJykuc3Rkb3V0LnRvU3RyaW5nKCkubWF0Y2goL15MQU5HPVwiPyhbXlwiLlxcc10rKS8pO1xuXHRcdFx0Y2FjaGVkTG9jYWxlID0gbSA/IG1bMV0ucmVwbGFjZSgvXy9nLCAnLScpIDogbnVsbDtcblx0XHR9XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHQvLyB0aGlzIGNhbiBoYXBwZW4gaWYgdGhlICdsb2NhbGUnIGNvbW1hbmQgaXMgbm90IGZvdW5kIGluIHRoZSBzeXN0ZW0gcGF0aFxuXHRcdGNhY2hlZExvY2FsZSA9IG51bGw7XG5cdH1cblxuXHRyZXR1cm4gY2FjaGVkTG9jYWxlO1xufVxuIl0sImZpbGUiOiJsb2NhbGUuanMifQ==

@@ -193,3 +193,3 @@ "use strict";

for (let locale of locales) {
if (codesCache[locale] && codesCache[locale].hasOwnProperty(code)) {
if (codesCache[locale] && Object.prototype.hasOwnProperty.call(codesCache[locale], code)) {
return codesCache[locale][code];

@@ -363,2 +363,2 @@ } // cache miss

}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY29kZXNDYWNoZSIsInN0cmluZ3NDYWNoZSIsIm1lc3NhZ2VzRGlyIiwicGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJjb2RlUmVnRXhwIiwiZmlyc3RMaW5lUmVnRXhwIiwibG9jYWxlUmVnRXhwIiwiTWVzc2FnZSIsImNvbnN0cnVjdG9yIiwiY29kZU9yTWVzc2FnZSIsImFyZ3MiLCJwYXJzZWQiLCJFcnJvciIsIm1lc3NhZ2UiLCJwYXJzZVN0YXR1c0NvZGUiLCJzdGF0dXMiLCJzdGF0dXNDb2RlIiwidW5kZWZpbmVkIiwiZm9ybWF0IiwidW5zaGlmdCIsInNoaWZ0Iiwic2VyaWFsaXplQXJncyIsIl9zdGF0dXMiLCJ2YWx1ZSIsInBhcnNlSW50IiwiaXNOYU4iLCJNYXRoIiwibWF4IiwidG9TdHJpbmciLCJsb2NhbGVzIiwiZGVmYXVsdE1zZyIsIm1zZyIsImxvYWRNZXNzYWdlIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwidXRpbCIsImkxOG4iLCJwcm9jZXNzTG9jYWxlcyIsIl9fIiwibG9hZFN0cmluZyIsIl9fbiIsImNvdW50Iiwic2luZ3VsYXIiLCJwbHVyYWwiLCJpbmRleE9mIiwibG9hZENvZGVGaWxlIiwiY2xzIiwiY29kZSIsImxvY2FsZSIsImhhc093blByb3BlcnR5IiwibmFtZSIsImxvb2t1cCIsImZpbGUiLCJqb2luIiwibSIsImZzIiwicmVhZEZpbGVTeW5jIiwibWF0Y2giLCJlIiwiU3RyaW5nIiwic3RyIiwiSlNPTiIsInBhcnNlIiwiZXhwYW5kZWRMb2NhbGVzIiwicHVzaCIsIm1hcCIsInMiLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7O0FBRUEsTUFBTUEsVUFBVSxHQUFHLEVBQW5CO0FBQ0EsTUFBTUMsWUFBWSxHQUFHLEVBQXJCOztBQUNBLE1BQU1DLFdBQVcsR0FBR0MsY0FBS0MsT0FBTCxDQUFh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LEdBQXdCTCxJQUFJLENBQUNNLFNBQUwsQ0FBZUQsQ0FBZixDQUF4QixHQUE0Q0EsQ0FBbkQ7QUFDQSxHQUZNLENBQVA7QUFHQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB1dGlsIGZyb20gJ3V0aWwnO1xuXG5pbXBvcnQgeyBsb29rdXAgfSBmcm9tICcuL2NvZGVzJztcbmltcG9ydCB7IHNwcmludGYgfSBmcm9tICdzcHJpbnRmLWpzJztcblxuY29uc3QgY29kZXNDYWNoZSA9IHt9O1xuY29uc3Qgc3RyaW5nc0NhY2hlID0ge307XG5jb25zdCBtZXNzYWdlc0RpciA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICdtZXNzYWdlcycpO1xuY29uc3QgY29kZVJlZ0V4cCA9IC9eKChcXGQpXFxkKikoPzpcXC4oXFxkKyk/KT8kLztcbmNvbnN0IGZpcnN0TGluZVJlZ0V4cCA9IC9eIz9cXHMqKC4qPylcXHMqJC9tO1xuY29uc3QgbG9jYWxlUmVnRXhwID0gL14oW2Etel17Mn0pKD86Wy1fXSg/OlxcdytbLV9dKT8oW0EtWl17Mn0pKT8kLztcblxuLyoqXG4gKiBBbiBpbnRlcm5hbCBtZXNzYWdlIGNvbnRhaW5lci4gSXQgaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBieSB2YXJpb3VzIHJlc3BvbnNlIG9iamVjdHMgYW5kIG5vdFxuICogZGlyZWN0bHkuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lc3NhZ2Uge1xuXHQvKipcblx0ICogTG9hZHMgYSBsb2NhbGl6ZWQgbWVzc2FnZSBiYXNlZCBvbiB0aGUgY29kZSBvciBtZXNzYWdlLlxuXHQgKlxuXHQgKiBAcGFyYW0geyp9IFtjb2RlT3JNZXNzYWdlXSAtIFRoZSBjb2RlIG9yIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIC0gQWRkaXRpb25hbCB2YWx1ZXMgdG8gZW1iZWQgaW4gdGhlIG1lc3NhZ2UuXG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHRjb25zdHJ1Y3Rvcihjb2RlT3JNZXNzYWdlLCAuLi5hcmdzKSB7XG5cdFx0bGV0IHBhcnNlZDtcblxuXHRcdGlmIChjb2RlT3JNZXNzYWdlIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRcdHBhcnNlZCA9IGNvZGVPck1lc3NhZ2U7XG5cdFx0XHRjb2RlT3JNZXNzYWdlID0gY29kZU9yTWVzc2FnZS5tZXNzYWdlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRwYXJzZWQgPSBwYXJzZVN0YXR1c0NvZGUoY29kZU9yTWVzc2FnZSk7XG5cdFx0fVxuXG5cdFx0dGhpcy5zdGF0dXMgICAgID0gcGFyc2VkLnN0YXR1cztcblx0XHR0aGlzLnN0YXR1c0NvZGUgPSBwYXJzZWQuc3RhdHVzQ29kZTtcblxuXHRcdGlmIChwYXJzZWQuc3RhdHVzID09PSB1bmRlZmluZWQpIHtcblx0XHRcdGlmICh0eXBlb2YgY29kZU9yTWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdFx0dGhpcy5mb3JtYXQgPSBjb2RlT3JNZXNzYWdlO1xuXHRcdFx0fSBlbHNlIGlmIChjb2RlT3JNZXNzYWdlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0YXJncy51bnNoaWZ0KGNvZGVPck1lc3NhZ2UpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmZvcm1hdCA9IGFyZ3Muc2hpZnQoKTtcblx0XHR9XG5cblx0XHR0aGlzLmFyZ3MgPSBzZXJpYWxpemVBcmdzKGFyZ3MpO1xuXG5cdFx0Ly8gY29uc29sZS5sb2codGhpcyk7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIG1lc3NhZ2UncyBzdGF0dXMuIFRoZSB2YWx1ZSBtdXN0IGJlIGVpdGhlciBhIHBvc2l0aXZlIGludGVnZXIgb3IgYHVuZGVmaW5lZGAuXG5cdCAqXG5cdCAqIEB0eXBlIHtOdW1iZXJ9XG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHRnZXQgc3RhdHVzKCkge1xuXHRcdHJldHVybiB0aGlzLl9zdGF0dXMgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHRoaXMuX3N0YXR1cztcblx0fVxuXG5cdHNldCBzdGF0dXModmFsdWUpIHtcblx0XHR2YWx1ZSA9IHBhcnNlSW50KHZhbHVlKTtcblx0XHR0aGlzLl9zdGF0dXMgPSBpc05hTih2YWx1ZSkgPyB1bmRlZmluZWQgOiBNYXRoLm1heCh2YWx1ZSwgMCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoaXMgZXJyb3IncyBtZXNzYWdlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ3xBcnJheS48U3RyaW5nPn0gW2xvY2FsZXNdIC0gQSBsaXN0IG9mIHByZWZlcnJlZCBsb2NhbGVzIHRvIGZvcm1hdCB0aGUgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtTdHJpbmc/fSBbZGVmYXVsdE1zZ10gLSBUaGUgZGVmYXVsdCBtZXNzYWdlIHRvIHVzZSB3aGVuIHRoZSBtZXNzYWdlIGlzIG51bGwsXG5cdCAqIHVuZGVmaW5lZCwgb3IgYW4gb2JqZWN0LlxuXHQgKiBAcmV0dXJucyB7U3RyaW5nfVxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKi9cblx0dG9TdHJpbmcobG9jYWxlcywgZGVmYXVsdE1zZykge1xuXHRcdGxldCBtc2c7XG5cblx0XHQvLyBjb25zb2xlLmxvZygnXFxuZm9ybWF0JywgdGhpcy5mb3JtYXQpO1xuXHRcdC8vIGNvbnNvbGUubG9nKCdhcmdzJywgdGhpcy5hcmdzKTtcblx0XHQvLyBjb25zb2xlLmxvZygnc3RhdHVzJywgdGhpcy5zdGF0dXMpO1xuXHRcdC8vIGNvbnNvbGUubG9nKCdzdGF0dXNDb2RlJywgdGhpcy5zdGF0dXNDb2RlKTtcblxuXHRcdGNvbnN0IGZvcm1hdCA9IHRoaXMuZm9ybWF0ID8gKG1zZyA9IGxvYWRNZXNzYWdlKHRoaXMuZm9ybWF0LCBsb2NhbGVzKSkgOiBudWxsO1xuXG5cdFx0Ly8gY29uc29sZS5sb2coJ21zZycsIG1zZyk7XG5cdFx0Ly8gY29uc29sZS5sb2coJ2Zvcm1hdCcsIGZvcm1hdCk7XG5cblx0XHRpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmFyZ3MpICYmIHRoaXMuYXJncy5sZW5ndGgpIHtcblx0XHRcdGlmIChmb3JtYXQpIHtcblx0XHRcdFx0bXNnID0gdXRpbC5mb3JtYXQoZm9ybWF0LCAuLi50aGlzLmFyZ3MpO1xuXHRcdFx0fSBlbHNlIGlmIChkZWZhdWx0TXNnKSB7XG5cdFx0XHRcdG1zZyA9IHV0aWwuZm9ybWF0KCclczogJXMnLCBsb2FkTWVzc2FnZShkZWZhdWx0TXNnLCBsb2NhbGVzKSwgLi4udGhpcy5hcmdzKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG1zZyA9IHV0aWwuZm9ybWF0KCclcycsIC4uLnRoaXMuYXJncyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKG1zZyA9PT0gdW5kZWZpbmVkICYmIHRoaXMuc3RhdHVzQ29kZSkge1xuXHRcdFx0bXNnID0gbG9hZE1lc3NhZ2UodGhpcy5zdGF0dXNDb2RlLCBsb2NhbGVzKTtcblx0XHR9XG5cblx0XHRpZiAobXNnID09PSB1bmRlZmluZWQpIHtcblx0XHRcdG1zZyA9IGxvYWRNZXNzYWdlKGRlZmF1bHRNc2csIGxvY2FsZXMpO1xuXHRcdH1cblxuXHRcdC8vIGNvbnNvbGUubG9nKG1zZywgdHlwZW9mIG1zZyk7XG5cblx0XHRyZXR1cm4gbXNnID09PSB1bmRlZmluZWQgPyAnJyA6IG1zZztcblx0fVxufVxuXG4vKipcbiAqIENyZWF0ZXMgaW50ZXJuYXRpb25hbGl6ZWQgbWVzc2FnZSBmdW5jdGlvbnMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd8QXJyYXkuPFN0cmluZz59IFtsb2NhbGVzXSAtIE9uZSBvciBtb3JlIGxvY2FsZXMgdGhhdCB0aGUgaTE4biBmdW5jdGlvbnMgc2hvdWxkXG4gKiB0cnkgdG8gbG9hZCB0aGUgc3RyaW5ncyBmcm9tLlxuICogQHJldHVybnMge09iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGkxOG4obG9jYWxlcykge1xuXHRsb2NhbGVzID0gcHJvY2Vzc0xvY2FsZXMobG9jYWxlcyk7XG5cblx0cmV0dXJuIHtcblx0XHQvKipcblx0XHQgKiBUcmFuc2xhdGVzIGEgc2luZ2xlIG1lc3NhZ2UuXG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge1N0cmluZ30gZm9ybWF0IC0gVGhlIG1lc3NhZ2UuXG5cdFx0ICogQHBhcmFtIHsuLi4qfSBhcmdzIC0gWmVybyBvciBtb3JlIGFyZ3MgdG8gaW5qZWN0IGludG8gdGhlIG1lc3NhZ2UuXG5cdFx0ICogQHJldHVybnMge1N0cmluZ31cblx0XHQgKi9cblx0XHRfXyhmb3JtYXQsIC4uLmFyZ3MpIHtcblx0XHRcdHJldHVybiB1dGlsLmZvcm1hdChsb2FkU3RyaW5nKGZvcm1hdCwgbG9jYWxlcyksIC4uLmFyZ3MpO1xuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBUcmFuc2xhdGVzIHRoZSBzaW5ndWxhciBvciBwbHVyYWwgdmVyc2lvbiBvZiBhIG1lc3NhZ2UgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBjb3VudC5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7TnVtYmVyfSBjb3VudCAtIFRoZSBudW1iZXIgdG8gY2hlY2sgaWYgdGhlIHNpbmd1bGFyIG9yIHBsdXJhbCBtZXNzYWdlIHNob3VsZCBiZVxuXHRcdCAqIHJldHVybmVkLlxuXHRcdCAqIEBwYXJhbSB7U3RyaW5nfSBzaW5ndWxhciAtIFRoZSBzaW5ndWxhciB2ZXJzaW9uIG9mIHRoZSBtZXNzYWdlLlxuXHRcdCAqIEBwYXJhbSB7U3RyaW5nfSBwbHVyYWwgLSBUaGUgcGx1cmFsIHZlcnNpb24gb2YgdGhlIG1lc3NhZ2UuXG5cdFx0ICogQHBhcmFtIHsuLi4qfSBhcmdzIC0gWmVybyBvciBtb3JlIGFyZ3MgdG8gaW5qZWN0IGludG8gdGhlIG1lc3NhZ2UuXG5cdFx0ICogQHJldHVybnMge1N0cmluZ31cblx0XHQgKi9cblx0XHRfX24oY291bnQsIHNpbmd1bGFyLCBwbHVyYWwsIC4uLmFyZ3MpIHtcblx0XHRcdGxldCBmb3JtYXQgPSBsb2FkU3RyaW5nKGNvdW50ID09PSAxID8gc2luZ3VsYXIgOiBwbHVyYWwsIGxvY2FsZXMpO1xuXHRcdFx0aWYgKCFmb3JtYXQpIHtcblx0XHRcdFx0cmV0dXJuICcnO1xuXHRcdFx0fVxuXHRcdFx0Zm9ybWF0ID0gc3ByaW50Zihmb3JtYXQsIGNvdW50KTtcblx0XHRcdGlmIChmb3JtYXQuaW5kZXhPZignJScpICE9PSAtMSkge1xuXHRcdFx0XHRmb3JtYXQgPSBzcHJpbnRmKGZvcm1hdCwgLi4uYXJncyk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gZm9ybWF0O1xuXHRcdH1cblx0fTtcbn1cblxuLyoqXG4gKiBBdHRlbXB0cyB0byBsb2FkIGEgZmlsZSBiYXNlZCBvbiB0aGUgY29kZS4gSWYgdGhlIGxvY2FsZXMgZG9lcyBub3QgY29udGFpbiAnZW4nLCB0aGVuIGl0IHdpbGwgdHJ5XG4gKiB0byBsb2FkIHRoZSAnZW4nIHZlcnNpb24uXG4gKlxuICogQHBhcmFtIHtBcnJheS48U3RyaW5nPn0gbG9jYWxlcyAtIFRoZSBsb2NhbGVzIHRvIHRyeSB0byBsb29rIHVwIHRoZSBjb2RlLlxuICogQHBhcmFtIHtTdHJpbmd9IGNscyAtIFRoZSBjb2RlIGNsYXNzLlxuICogQHBhcmFtIHtTdHJpbmd9IGNvZGUgLSBUaGUgY29kZS5cbiAqIEByZXR1cm5zIHtTdHJpbmd8dW5kZWZpbmVkfVxuICovXG5mdW5jdGlvbiBsb2FkQ29kZUZpbGUobG9jYWxlcywgY2xzLCBjb2RlKSB7XG5cdGZvciAobGV0IGxvY2FsZSBvZiBsb2NhbGVzKSB7XG5cdFx0aWYgKGNvZGVzQ2FjaGVbbG9jYWxlXSAmJiBjb2Rlc0NhY2hlW2xvY2FsZV0uaGFzT3duUHJvcGVydHkoY29kZSkpIHtcblx0XHRcdHJldHVybiBjb2Rlc0NhY2hlW2xvY2FsZV1bY29kZV07XG5cdFx0fVxuXG5cdFx0Ly8gY2FjaGUgbWlzc1xuXG5cdFx0Y29uc3QgbmFtZSA9IGxvb2t1cFtjb2RlXTtcblx0XHRjb25zdCBmaWxlID0gcGF0aC5qb2luKG1lc3NhZ2VzRGlyLCBsb2NhbGUsIGAke2Nsc314eGAsIG5hbWUgPyBgJHtjb2RlfS0ke25hbWV9Lm1kYCA6IGAke2NvZGV9Lm1kYCk7XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgbSA9IGZzLnJlYWRGaWxlU3luYyhmaWxlLCAndXRmOCcpLm1hdGNoKGZpcnN0TGluZVJlZ0V4cCk7XG5cdFx0XHRpZiAobSkge1xuXHRcdFx0XHRjb2Rlc0NhY2hlW2xvY2FsZXNdIHx8IChjb2Rlc0NhY2hlW2xvY2FsZXNdID0ge30pO1xuXHRcdFx0XHRjb2Rlc0NhY2hlW2xvY2FsZXNdW2NvZGVdID0gbVsxXTtcblx0XHRcdFx0cmV0dXJuIG1bMV07XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0Ly8gZmlsZSBwcm9iYWJseSBkb2Vzbid0IGV4aXN0IGZvciB0aGlzIGxvY2FsZVxuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEF0dGVtcHRzIHRvIGxvYWQgYSBtZXNzYWdlIGZvciB0aGUgZ2l2ZW4gdGhlIHNwZWNpZmljIGNvZGUgb3IgbWVzc2FnZSBhbmQgdGhlIGxvY2FsZS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xOdW1iZXJ9IGNvZGVPck1lc3NhZ2UgLSBUaGUgY29kZSBvciBtZXNzYWdlIHRvIGxvb2sgdXAuXG4gKiBAcGFyYW0ge1N0cmluZ3xBcnJheS48U3RyaW5nPn0gW2xvY2FsZXNdIC0gVGhlIG1lc3NhZ2UgbG9jYWxlIHRvIHJldHJpZXZlLiBGYWxscyBiYWNrIHRvIGBlbmBcbiAqIChFbmdsaXNoKSBpZiBub3QgZm91bmQuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZE1lc3NhZ2UoY29kZU9yTWVzc2FnZSwgbG9jYWxlcykge1xuXHRpZiAoY29kZU9yTWVzc2FnZSA9PT0gJyVzJyB8fCAodHlwZW9mIGNvZGVPck1lc3NhZ2UgIT09ICdzdHJpbmcnICYmIHR5cGVvZiBjb2RlT3JNZXNzYWdlICE9PSAnbnVtYmVyJykpIHtcblx0XHRyZXR1cm4gY29kZU9yTWVzc2FnZTtcblx0fVxuXG5cdGxvY2FsZXMgPSBwcm9jZXNzTG9jYWxlcyhsb2NhbGVzKTtcblxuXHRjb25zdCBtID0gU3RyaW5nKGNvZGVPck1lc3NhZ2UpLm1hdGNoKGNvZGVSZWdFeHApO1xuXHRsZXQgc3RyO1xuXG5cdGlmIChtICYmIG1bMl0pIHtcblx0XHRpZiAobVszXSkge1xuXHRcdFx0Ly8gY29kZSBhbmQgc3ViY29kZVxuXHRcdFx0c3RyID0gbG9hZENvZGVGaWxlKGxvY2FsZXMsIG1bMl0sIG1bMF0pO1xuXHRcdH1cblxuXHRcdGlmIChzdHIgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Ly8gY29kZSBvbmx5XG5cdFx0XHRzdHIgPSBsb2FkQ29kZUZpbGUobG9jYWxlcywgbVsyXSwgbVsxXSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHN0cjtcblx0fVxuXG5cdC8vIG11c3QgYmUgYSBzdHJpbmdcblx0cmV0dXJuIGxvYWRTdHJpbmcoY29kZU9yTWVzc2FnZSwgbG9jYWxlcyk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB0cmFuc2xhdGVkIHN0cmluZyBiYXNlZCBvbiB0aGUgbGlzdCBvZiBwcmVmZXJyZWQgbG9jYWxlcy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGxvYWQuXG4gKiBAcGFyYW0ge0FycmF5LjxTdHJpbmc+fSBsb2NhbGVzIC0gQW4gYXJyYXkgb2Ygb25lIG9yIG1vcmUgbG9jYWxlcyB0byB0cnkgdG8gbG9hZCB0aGUgc3RyaW5nIGZyb20uXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBsb2FkU3RyaW5nKG1lc3NhZ2UsIGxvY2FsZXMpIHtcblx0aWYgKCFtZXNzYWdlKSB7XG5cdFx0cmV0dXJuICcnO1xuXHR9XG5cblx0Zm9yIChsZXQgbG9jYWxlIG9mIGxvY2FsZXMpIHtcblx0XHRpZiAoIXN0cmluZ3NDYWNoZVtsb2NhbGVdKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRzdHJpbmdzQ2FjaGVbbG9jYWxlXSA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihtZXNzYWdlc0RpciwgbG9jYWxlLCAnc3RyaW5ncy5qc29uJyksICd1dGY4JykpO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHQvLyBmaWxlIHByb2JhYmx5IGRvZXNuJ3QgZXhpc3QgZm9yIHRoaXMgbG9jYWxlXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHN0cmluZ3NDYWNoZVtsb2NhbGVdKSB7XG5cdFx0XHRjb25zdCBzdHIgPSBzdHJpbmdzQ2FjaGVbbG9jYWxlXVttZXNzYWdlXTtcblx0XHRcdGlmIChzdHIgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRyZXR1cm4gc3RyO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiBtZXNzYWdlO1xufVxuXG4vKipcbiAqIFRyaWVzIHRvIHBhcnNlcyB0aGUgc3RhdHVzIGFuZCBzdGF0dXMgY29kZSBmcm9tIHRoZSBzdXBwbGllZCB2YXJpYWJsZS5cbiAqXG4gKiBAcGFyYW0geyp9IHZhbHVlIC0gVGhlIHZhcmlhYmxlIHRvIHBhcnNlLlxuICogQHJldHVybnMge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gcGFyc2VTdGF0dXNDb2RlKHZhbHVlKSB7XG5cdGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG5cdFx0aWYgKCFpc05hTih2YWx1ZSkpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHN0YXR1czogdmFsdWUsXG5cdFx0XHRcdHN0YXR1c0NvZGU6IHZhbHVlXG5cdFx0XHR9O1xuXHRcdH1cblx0fSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlKSB7XG5cdFx0Y29uc3QgbSA9IHZhbHVlLm1hdGNoKGNvZGVSZWdFeHApO1xuXHRcdGlmIChtKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRzdGF0dXM6IHBhcnNlSW50KG1bMV0pLFxuXHRcdFx0XHRzdGF0dXNDb2RlOiB2YWx1ZVxuXHRcdFx0fTtcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4ge307XG59XG5cbi8qKlxuICogUmV0dXJucyBhbiBleHBhbmRlZCBhcnJheSBvZiBsb2NhbGVzLiBJZiBgZW4tVVNgIGlzIHBhc3NlZCBpbiwgdGhlbiBpdCByZXR1cm5zIGBbJ2VuLVVTJywgJ2VuJ11gLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfEFycmF5LjxTdHJpbmc+fSBbbG9jYWxlc10gLSBPbmUgb3IgbW9yZSBsb2NhbGVzIHRvIGV4cGFuZC5cbiAqIEByZXR1cm4ge0FycmF5LjxTdHJpbmc+fVxuICovXG5mdW5jdGlvbiBwcm9jZXNzTG9jYWxlcyhsb2NhbGVzKSB7XG5cdC8vIGNyZWF0ZSB0aGUgbGlzdCBvZiBwcmVmZXJyZWQgbG9jYWxlcyB0byB0cnlcblx0Y29uc3QgZXhwYW5kZWRMb2NhbGVzID0gW107XG5cblx0aWYgKCFsb2NhbGVzKSB7XG5cdFx0bG9jYWxlcyA9IFtdO1xuXHR9IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KGxvY2FsZXMpKSB7XG5cdFx0bG9jYWxlcyA9IFsgbG9jYWxlcyBdO1xuXHR9XG5cdGlmIChsb2NhbGVzLmluZGV4T2YoJ2VuJykgPT09IC0xKSB7XG5cdFx0bG9jYWxlcy5wdXNoKCdlbicpO1xuXHR9XG5cblx0Zm9yIChjb25zdCBsb2NhbGUgb2YgbG9jYWxlcykge1xuXHRcdGNvbnN0IG0gPSBsb2NhbGUgJiYgbG9jYWxlLm1hdGNoKGxvY2FsZVJlZ0V4cCk7XG5cdFx0aWYgKG0pIHtcblx0XHRcdC8vIGFkZCB0aGUgb3JpZ2luYWwgbG9jYWxlXG5cdFx0XHRleHBhbmRlZExvY2FsZXMucHVzaChsb2NhbGUpO1xuXG5cdFx0XHQvLyBpZiB3ZSBoYXZlIGEgdGVycml0b3J5LCB0aGVuIGFkZCBqdXN0IHRoZSBsYW5ndWFnZVxuXHRcdFx0aWYgKG1bMl0pIHtcblx0XHRcdFx0ZXhwYW5kZWRMb2NhbGVzLnB1c2gobVsxXSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGV4cGFuZGVkTG9jYWxlcztcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIG9iamVjdCBhbmQgYXJyYXkgZWxlbWVudHMgb2YgdGhlIGFyZ3MgYXJyYXkgdG8gc3RyaW5ncy5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBhcmdzIC0gVGhlIGFycmF5IG9mIGFyZ3VtZW50cyB0byBzZXJpYWxpemUuXG4gKiBAcmV0dXJuIHtBcnJheX1cbiAqL1xuZnVuY3Rpb24gc2VyaWFsaXplQXJncyhhcmdzKSB7XG5cdHJldHVybiBhcmdzLm1hcChzID0+IHtcblx0XHRyZXR1cm4gdHlwZW9mIHMgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkocykgOiBzO1xuXHR9KTtcbn1cbiJdLCJmaWxlIjoibWVzc2FnZS5qcyJ9
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY29kZXNDYWNoZSIsInN0cmluZ3NDYWNoZSIsIm1lc3NhZ2VzRGlyIiwicGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJjb2RlUmVnRXhwIiwiZmlyc3RMaW5lUmVnRXhwIiwibG9jYWxlUmVnRXhwIiwiTWVzc2FnZSIsImNvbnN0cnVjdG9yIiwiY29kZU9yTWVzc2FnZSIsImFyZ3MiLCJwYXJzZWQiLCJFcnJvciIsIm1lc3NhZ2UiLCJwYXJzZVN0YXR1c0NvZGUiLCJzdGF0dXMiLCJzdGF0dXNDb2RlIiwidW5kZWZpbmVkIiwiZm9ybWF0IiwidW5zaGlmdCIsInNoaWZ0Iiwic2VyaWFsaXplQXJncyIsIl9zdGF0dXMiLCJ2YWx1ZSIsInBhcnNlSW50IiwiaXNOYU4iLCJNYXRoIiwibWF4IiwidG9TdHJpbmciLCJsb2NhbGVzIiwiZGVmYXVsdE1zZyIsIm1zZyIsImxvYWRNZXNzYWdlIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwidXRpbCIsImkxOG4iLCJwcm9jZXNzTG9jYWxlcyIsIl9fIiwibG9hZFN0cmluZyIsIl9fbiIsImNvdW50Iiwic2luZ3VsYXIiLCJwbHVyYWwiLCJpbmRleE9mIiwibG9hZENvZGVGaWxlIiwiY2xzIiwiY29kZSIsImxvY2FsZSIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIm5hbWUiLCJsb29rdXAiLCJmaWxlIiwiam9pbiIsIm0iLCJmcyIsInJlYWRGaWxlU3luYyIsIm1hdGNoIiwiZSIsIlN0cmluZyIsInN0ciIsIkpTT04iLCJwYXJzZSIsImV4cGFuZGVkTG9jYWxlcyIsInB1c2giLCJtYXAiLCJzIiwic3RyaW5naWZ5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7OztBQUVBLE1BQU1BLFVBQVUsR0FBRyxFQUFuQjtBQUNBLE1BQU1DLFlBQVksR0FBRyxFQUFyQjs7QUFDQSxNQUFN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QU9BLElBQUksQ0FBQzJELEdBQUwsQ0FBU0MsQ0FBQyxJQUFJO0FBQ3BCLFdBQU8sT0FBT0EsQ0FBUCxLQUFhLFFBQWIsR0FBd0JMLElBQUksQ0FBQ00sU0FBTCxDQUFlRCxDQUFmLENBQXhCLEdBQTRDQSxDQUFuRDtBQUNBLEdBRk0sQ0FBUDtBQUdBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHV0aWwgZnJvbSAndXRpbCc7XG5cbmltcG9ydCB7IGxvb2t1cCB9IGZyb20gJy4vY29kZXMnO1xuaW1wb3J0IHsgc3ByaW50ZiB9IGZyb20gJ3NwcmludGYtanMnO1xuXG5jb25zdCBjb2Rlc0NhY2hlID0ge307XG5jb25zdCBzdHJpbmdzQ2FjaGUgPSB7fTtcbmNvbnN0IG1lc3NhZ2VzRGlyID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJ21lc3NhZ2VzJyk7XG5jb25zdCBjb2RlUmVnRXhwID0gL14oKFxcZClcXGQqKSg/OlxcLihcXGQrKT8pPyQvO1xuY29uc3QgZmlyc3RMaW5lUmVnRXhwID0gL14jP1xccyooLio/KVxccyokL207XG5jb25zdCBsb2NhbGVSZWdFeHAgPSAvXihbYS16XXsyfSkoPzpbLV9dKD86XFx3K1stX10pPyhbQS1aXXsyfSkpPyQvO1xuXG4vKipcbiAqIEFuIGludGVybmFsIG1lc3NhZ2UgY29udGFpbmVyLiBJdCBpcyBkZXNpZ25lZCB0byBiZSB1c2VkIGJ5IHZhcmlvdXMgcmVzcG9uc2Ugb2JqZWN0cyBhbmQgbm90XG4gKiBkaXJlY3RseS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWVzc2FnZSB7XG5cdC8qKlxuXHQgKiBMb2FkcyBhIGxvY2FsaXplZCBtZXNzYWdlIGJhc2VkIG9uIHRoZSBjb2RlIG9yIG1lc3NhZ2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7Kn0gW2NvZGVPck1lc3NhZ2VdIC0gVGhlIGNvZGUgb3IgbWVzc2FnZS5cblx0ICogQHBhcmFtIHsuLi4qfSBbYXJnc10gLSBBZGRpdGlvbmFsIHZhbHVlcyB0byBlbWJlZCBpbiB0aGUgbWVzc2FnZS5cblx0ICogQGFjY2VzcyBwdWJsaWNcblx0ICovXG5cdGNvbnN0cnVjdG9yKGNvZGVPck1lc3NhZ2UsIC4uLmFyZ3MpIHtcblx0XHRsZXQgcGFyc2VkO1xuXG5cdFx0aWYgKGNvZGVPck1lc3NhZ2UgaW5zdGFuY2VvZiBFcnJvcikge1xuXHRcdFx0cGFyc2VkID0gY29kZU9yTWVzc2FnZTtcblx0XHRcdGNvZGVPck1lc3NhZ2UgPSBjb2RlT3JNZXNzYWdlLm1lc3NhZ2U7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHBhcnNlZCA9IHBhcnNlU3RhdHVzQ29kZShjb2RlT3JNZXNzYWdlKTtcblx0XHR9XG5cblx0XHR0aGlzLnN0YXR1cyAgICAgPSBwYXJzZWQuc3RhdHVzO1xuXHRcdHRoaXMuc3RhdHVzQ29kZSA9IHBhcnNlZC5zdGF0dXNDb2RlO1xuXG5cdFx0aWYgKHBhcnNlZC5zdGF0dXMgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0aWYgKHR5cGVvZiBjb2RlT3JNZXNzYWdlID09PSAnc3RyaW5nJykge1xuXHRcdFx0XHR0aGlzLmZvcm1hdCA9IGNvZGVPck1lc3NhZ2U7XG5cdFx0XHR9IGVsc2UgaWYgKGNvZGVPck1lc3NhZ2UgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRhcmdzLnVuc2hpZnQoY29kZU9yTWVzc2FnZSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZm9ybWF0ID0gYXJncy5zaGlmdCgpO1xuXHRcdH1cblxuXHRcdHRoaXMuYXJncyA9IHNlcmlhbGl6ZUFyZ3MoYXJncyk7XG5cblx0XHQvLyBjb25zb2xlLmxvZyh0aGlzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgbWVzc2FnZSdzIHN0YXR1cy4gVGhlIHZhbHVlIG11c3QgYmUgZWl0aGVyIGEgcG9zaXRpdmUgaW50ZWdlciBvciBgdW5kZWZpbmVkYC5cblx0ICpcblx0ICogQHR5cGUge051bWJlcn1cblx0ICogQGFjY2VzcyBwdWJsaWNcblx0ICovXG5cdGdldCBzdGF0dXMoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX3N0YXR1cyA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogdGhpcy5fc3RhdHVzO1xuXHR9XG5cblx0c2V0IHN0YXR1cyh2YWx1ZSkge1xuXHRcdHZhbHVlID0gcGFyc2VJbnQodmFsdWUpO1xuXHRcdHRoaXMuX3N0YXR1cyA9IGlzTmFOKHZhbHVlKSA/IHVuZGVmaW5lZCA6IE1hdGgubWF4KHZhbHVlLCAwKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhpcyBlcnJvcidzIG1lc3NhZ2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfEFycmF5LjxTdHJpbmc+fSBbbG9jYWxlc10gLSBBIGxpc3Qgb2YgcHJlZmVycmVkIGxvY2FsZXMgdG8gZm9ybWF0IHRoZSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0ge1N0cmluZz99IFtkZWZhdWx0TXNnXSAtIFRoZSBkZWZhdWx0IG1lc3NhZ2UgdG8gdXNlIHdoZW4gdGhlIG1lc3NhZ2UgaXMgbnVsbCxcblx0ICogdW5kZWZpbmVkLCBvciBhbiBvYmplY3QuXG5cdCAqIEByZXR1cm5zIHtTdHJpbmd9XG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHR0b1N0cmluZyhsb2NhbGVzLCBkZWZhdWx0TXNnKSB7XG5cdFx0bGV0IG1zZztcblxuXHRcdC8vIGNvbnNvbGUubG9nKCdcXG5mb3JtYXQnLCB0aGlzLmZvcm1hdCk7XG5cdFx0Ly8gY29uc29sZS5sb2coJ2FyZ3MnLCB0aGlzLmFyZ3MpO1xuXHRcdC8vIGNvbnNvbGUubG9nKCdzdGF0dXMnLCB0aGlzLnN0YXR1cyk7XG5cdFx0Ly8gY29uc29sZS5sb2coJ3N0YXR1c0NvZGUnLCB0aGlzLnN0YXR1c0NvZGUpO1xuXG5cdFx0Y29uc3QgZm9ybWF0ID0gdGhpcy5mb3JtYXQgPyAobXNnID0gbG9hZE1lc3NhZ2UodGhpcy5mb3JtYXQsIGxvY2FsZXMpKSA6IG51bGw7XG5cblx0XHQvLyBjb25zb2xlLmxvZygnbXNnJywgbXNnKTtcblx0XHQvLyBjb25zb2xlLmxvZygnZm9ybWF0JywgZm9ybWF0KTtcblxuXHRcdGlmIChBcnJheS5pc0FycmF5KHRoaXMuYXJncykgJiYgdGhpcy5hcmdzLmxlbmd0aCkge1xuXHRcdFx0aWYgKGZvcm1hdCkge1xuXHRcdFx0XHRtc2cgPSB1dGlsLmZvcm1hdChmb3JtYXQsIC4uLnRoaXMuYXJncyk7XG5cdFx0XHR9IGVsc2UgaWYgKGRlZmF1bHRNc2cpIHtcblx0XHRcdFx0bXNnID0gdXRpbC5mb3JtYXQoJyVzOiAlcycsIGxvYWRNZXNzYWdlKGRlZmF1bHRNc2csIGxvY2FsZXMpLCAuLi50aGlzLmFyZ3MpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0bXNnID0gdXRpbC5mb3JtYXQoJyVzJywgLi4udGhpcy5hcmdzKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAobXNnID09PSB1bmRlZmluZWQgJiYgdGhpcy5zdGF0dXNDb2RlKSB7XG5cdFx0XHRtc2cgPSBsb2FkTWVzc2FnZSh0aGlzLnN0YXR1c0NvZGUsIGxvY2FsZXMpO1xuXHRcdH1cblxuXHRcdGlmIChtc2cgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0bXNnID0gbG9hZE1lc3NhZ2UoZGVmYXVsdE1zZywgbG9jYWxlcyk7XG5cdFx0fVxuXG5cdFx0Ly8gY29uc29sZS5sb2cobXNnLCB0eXBlb2YgbXNnKTtcblxuXHRcdHJldHVybiBtc2cgPT09IHVuZGVmaW5lZCA/ICcnIDogbXNnO1xuXHR9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBpbnRlcm5hdGlvbmFsaXplZCBtZXNzYWdlIGZ1bmN0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xBcnJheS48U3RyaW5nPn0gW2xvY2FsZXNdIC0gT25lIG9yIG1vcmUgbG9jYWxlcyB0aGF0IHRoZSBpMThuIGZ1bmN0aW9ucyBzaG91bGRcbiAqIHRyeSB0byBsb2FkIHRoZSBzdHJpbmdzIGZyb20uXG4gKiBAcmV0dXJucyB7T2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gaTE4bihsb2NhbGVzKSB7XG5cdGxvY2FsZXMgPSBwcm9jZXNzTG9jYWxlcyhsb2NhbGVzKTtcblxuXHRyZXR1cm4ge1xuXHRcdC8qKlxuXHRcdCAqIFRyYW5zbGF0ZXMgYSBzaW5nbGUgbWVzc2FnZS5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7U3RyaW5nfSBmb3JtYXQgLSBUaGUgbWVzc2FnZS5cblx0XHQgKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBaZXJvIG9yIG1vcmUgYXJncyB0byBpbmplY3QgaW50byB0aGUgbWVzc2FnZS5cblx0XHQgKiBAcmV0dXJucyB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdF9fKGZvcm1hdCwgLi4uYXJncykge1xuXHRcdFx0cmV0dXJuIHV0aWwuZm9ybWF0KGxvYWRTdHJpbmcoZm9ybWF0LCBsb2NhbGVzKSwgLi4uYXJncyk7XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFRyYW5zbGF0ZXMgdGhlIHNpbmd1bGFyIG9yIHBsdXJhbCB2ZXJzaW9uIG9mIGEgbWVzc2FnZSBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIGNvdW50LlxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtOdW1iZXJ9IGNvdW50IC0gVGhlIG51bWJlciB0byBjaGVjayBpZiB0aGUgc2luZ3VsYXIgb3IgcGx1cmFsIG1lc3NhZ2Ugc2hvdWxkIGJlXG5cdFx0ICogcmV0dXJuZWQuXG5cdFx0ICogQHBhcmFtIHtTdHJpbmd9IHNpbmd1bGFyIC0gVGhlIHNpbmd1bGFyIHZlcnNpb24gb2YgdGhlIG1lc3NhZ2UuXG5cdFx0ICogQHBhcmFtIHtTdHJpbmd9IHBsdXJhbCAtIFRoZSBwbHVyYWwgdmVyc2lvbiBvZiB0aGUgbWVzc2FnZS5cblx0XHQgKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBaZXJvIG9yIG1vcmUgYXJncyB0byBpbmplY3QgaW50byB0aGUgbWVzc2FnZS5cblx0XHQgKiBAcmV0dXJucyB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdF9fbihjb3VudCwgc2luZ3VsYXIsIHBsdXJhbCwgLi4uYXJncykge1xuXHRcdFx0bGV0IGZvcm1hdCA9IGxvYWRTdHJpbmcoY291bnQgPT09IDEgPyBzaW5ndWxhciA6IHBsdXJhbCwgbG9jYWxlcyk7XG5cdFx0XHRpZiAoIWZvcm1hdCkge1xuXHRcdFx0XHRyZXR1cm4gJyc7XG5cdFx0XHR9XG5cdFx0XHRmb3JtYXQgPSBzcHJpbnRmKGZvcm1hdCwgY291bnQpO1xuXHRcdFx0aWYgKGZvcm1hdC5pbmRleE9mKCclJykgIT09IC0xKSB7XG5cdFx0XHRcdGZvcm1hdCA9IHNwcmludGYoZm9ybWF0LCAuLi5hcmdzKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBmb3JtYXQ7XG5cdFx0fVxuXHR9O1xufVxuXG4vKipcbiAqIEF0dGVtcHRzIHRvIGxvYWQgYSBmaWxlIGJhc2VkIG9uIHRoZSBjb2RlLiBJZiB0aGUgbG9jYWxlcyBkb2VzIG5vdCBjb250YWluICdlbicsIHRoZW4gaXQgd2lsbCB0cnlcbiAqIHRvIGxvYWQgdGhlICdlbicgdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0ge0FycmF5LjxTdHJpbmc+fSBsb2NhbGVzIC0gVGhlIGxvY2FsZXMgdG8gdHJ5IHRvIGxvb2sgdXAgdGhlIGNvZGUuXG4gKiBAcGFyYW0ge1N0cmluZ30gY2xzIC0gVGhlIGNvZGUgY2xhc3MuXG4gKiBAcGFyYW0ge1N0cmluZ30gY29kZSAtIFRoZSBjb2RlLlxuICogQHJldHVybnMge1N0cmluZ3x1bmRlZmluZWR9XG4gKi9cbmZ1bmN0aW9uIGxvYWRDb2RlRmlsZShsb2NhbGVzLCBjbHMsIGNvZGUpIHtcblx0Zm9yIChsZXQgbG9jYWxlIG9mIGxvY2FsZXMpIHtcblx0XHRpZiAoY29kZXNDYWNoZVtsb2NhbGVdICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjb2Rlc0NhY2hlW2xvY2FsZV0sIGNvZGUpKSB7XG5cdFx0XHRyZXR1cm4gY29kZXNDYWNoZVtsb2NhbGVdW2NvZGVdO1xuXHRcdH1cblxuXHRcdC8vIGNhY2hlIG1pc3NcblxuXHRcdGNvbnN0IG5hbWUgPSBsb29rdXBbY29kZV07XG5cdFx0Y29uc3QgZmlsZSA9IHBhdGguam9pbihtZXNzYWdlc0RpciwgbG9jYWxlLCBgJHtjbHN9eHhgLCBuYW1lID8gYCR7Y29kZX0tJHtuYW1lfS5tZGAgOiBgJHtjb2RlfS5tZGApO1xuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IG0gPSBmcy5yZWFkRmlsZVN5bmMoZmlsZSwgJ3V0ZjgnKS5tYXRjaChmaXJzdExpbmVSZWdFeHApO1xuXHRcdFx0aWYgKG0pIHtcblx0XHRcdFx0Y29kZXNDYWNoZVtsb2NhbGVzXSB8fCAoY29kZXNDYWNoZVtsb2NhbGVzXSA9IHt9KTtcblx0XHRcdFx0Y29kZXNDYWNoZVtsb2NhbGVzXVtjb2RlXSA9IG1bMV07XG5cdFx0XHRcdHJldHVybiBtWzFdO1xuXHRcdFx0fVxuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdC8vIGZpbGUgcHJvYmFibHkgZG9lc24ndCBleGlzdCBmb3IgdGhpcyBsb2NhbGVcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBBdHRlbXB0cyB0byBsb2FkIGEgbWVzc2FnZSBmb3IgdGhlIGdpdmVuIHRoZSBzcGVjaWZpYyBjb2RlIG9yIG1lc3NhZ2UgYW5kIHRoZSBsb2NhbGUuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd8TnVtYmVyfSBjb2RlT3JNZXNzYWdlIC0gVGhlIGNvZGUgb3IgbWVzc2FnZSB0byBsb29rIHVwLlxuICogQHBhcmFtIHtTdHJpbmd8QXJyYXkuPFN0cmluZz59IFtsb2NhbGVzXSAtIFRoZSBtZXNzYWdlIGxvY2FsZSB0byByZXRyaWV2ZS4gRmFsbHMgYmFjayB0byBgZW5gXG4gKiAoRW5nbGlzaCkgaWYgbm90IGZvdW5kLlxuICogQHJldHVybnMge1N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRNZXNzYWdlKGNvZGVPck1lc3NhZ2UsIGxvY2FsZXMpIHtcblx0aWYgKGNvZGVPck1lc3NhZ2UgPT09ICclcycgfHwgKHR5cGVvZiBjb2RlT3JNZXNzYWdlICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgY29kZU9yTWVzc2FnZSAhPT0gJ251bWJlcicpKSB7XG5cdFx0cmV0dXJuIGNvZGVPck1lc3NhZ2U7XG5cdH1cblxuXHRsb2NhbGVzID0gcHJvY2Vzc0xvY2FsZXMobG9jYWxlcyk7XG5cblx0Y29uc3QgbSA9IFN0cmluZyhjb2RlT3JNZXNzYWdlKS5tYXRjaChjb2RlUmVnRXhwKTtcblx0bGV0IHN0cjtcblxuXHRpZiAobSAmJiBtWzJdKSB7XG5cdFx0aWYgKG1bM10pIHtcblx0XHRcdC8vIGNvZGUgYW5kIHN1YmNvZGVcblx0XHRcdHN0ciA9IGxvYWRDb2RlRmlsZShsb2NhbGVzLCBtWzJdLCBtWzBdKTtcblx0XHR9XG5cblx0XHRpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcblx0XHRcdC8vIGNvZGUgb25seVxuXHRcdFx0c3RyID0gbG9hZENvZGVGaWxlKGxvY2FsZXMsIG1bMl0sIG1bMV0pO1xuXHRcdH1cblxuXHRcdHJldHVybiBzdHI7XG5cdH1cblxuXHQvLyBtdXN0IGJlIGEgc3RyaW5nXG5cdHJldHVybiBsb2FkU3RyaW5nKGNvZGVPck1lc3NhZ2UsIGxvY2FsZXMpO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdHJhbnNsYXRlZCBzdHJpbmcgYmFzZWQgb24gdGhlIGxpc3Qgb2YgcHJlZmVycmVkIGxvY2FsZXMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBsb2FkLlxuICogQHBhcmFtIHtBcnJheS48U3RyaW5nPn0gbG9jYWxlcyAtIEFuIGFycmF5IG9mIG9uZSBvciBtb3JlIGxvY2FsZXMgdG8gdHJ5IHRvIGxvYWQgdGhlIHN0cmluZyBmcm9tLlxuICogQHJldHVybnMge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gbG9hZFN0cmluZyhtZXNzYWdlLCBsb2NhbGVzKSB7XG5cdGlmICghbWVzc2FnZSkge1xuXHRcdHJldHVybiAnJztcblx0fVxuXG5cdGZvciAobGV0IGxvY2FsZSBvZiBsb2NhbGVzKSB7XG5cdFx0aWYgKCFzdHJpbmdzQ2FjaGVbbG9jYWxlXSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0c3RyaW5nc0NhY2hlW2xvY2FsZV0gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4obWVzc2FnZXNEaXIsIGxvY2FsZSwgJ3N0cmluZ3MuanNvbicpLCAndXRmOCcpKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0Ly8gZmlsZSBwcm9iYWJseSBkb2Vzbid0IGV4aXN0IGZvciB0aGlzIGxvY2FsZVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmIChzdHJpbmdzQ2FjaGVbbG9jYWxlXSkge1xuXHRcdFx0Y29uc3Qgc3RyID0gc3RyaW5nc0NhY2hlW2xvY2FsZV1bbWVzc2FnZV07XG5cdFx0XHRpZiAoc3RyICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0cmV0dXJuIHN0cjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gbWVzc2FnZTtcbn1cblxuLyoqXG4gKiBUcmllcyB0byBwYXJzZXMgdGhlIHN0YXR1cyBhbmQgc3RhdHVzIGNvZGUgZnJvbSB0aGUgc3VwcGxpZWQgdmFyaWFibGUuXG4gKlxuICogQHBhcmFtIHsqfSB2YWx1ZSAtIFRoZSB2YXJpYWJsZSB0byBwYXJzZS5cbiAqIEByZXR1cm5zIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIHBhcnNlU3RhdHVzQ29kZSh2YWx1ZSkge1xuXHRpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuXHRcdGlmICghaXNOYU4odmFsdWUpKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRzdGF0dXM6IHZhbHVlLFxuXHRcdFx0XHRzdGF0dXNDb2RlOiB2YWx1ZVxuXHRcdFx0fTtcblx0XHR9XG5cdH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSkge1xuXHRcdGNvbnN0IG0gPSB2YWx1ZS5tYXRjaChjb2RlUmVnRXhwKTtcblx0XHRpZiAobSkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0c3RhdHVzOiBwYXJzZUludChtWzFdKSxcblx0XHRcdFx0c3RhdHVzQ29kZTogdmFsdWVcblx0XHRcdH07XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHt9O1xufVxuXG4vKipcbiAqIFJldHVybnMgYW4gZXhwYW5kZWQgYXJyYXkgb2YgbG9jYWxlcy4gSWYgYGVuLVVTYCBpcyBwYXNzZWQgaW4sIHRoZW4gaXQgcmV0dXJucyBgWydlbi1VUycsICdlbiddYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xBcnJheS48U3RyaW5nPn0gW2xvY2FsZXNdIC0gT25lIG9yIG1vcmUgbG9jYWxlcyB0byBleHBhbmQuXG4gKiBAcmV0dXJuIHtBcnJheS48U3RyaW5nPn1cbiAqL1xuZnVuY3Rpb24gcHJvY2Vzc0xvY2FsZXMobG9jYWxlcykge1xuXHQvLyBjcmVhdGUgdGhlIGxpc3Qgb2YgcHJlZmVycmVkIGxvY2FsZXMgdG8gdHJ5XG5cdGNvbnN0IGV4cGFuZGVkTG9jYWxlcyA9IFtdO1xuXG5cdGlmICghbG9jYWxlcykge1xuXHRcdGxvY2FsZXMgPSBbXTtcblx0fSBlbHNlIGlmICghQXJyYXkuaXNBcnJheShsb2NhbGVzKSkge1xuXHRcdGxvY2FsZXMgPSBbIGxvY2FsZXMgXTtcblx0fVxuXHRpZiAobG9jYWxlcy5pbmRleE9mKCdlbicpID09PSAtMSkge1xuXHRcdGxvY2FsZXMucHVzaCgnZW4nKTtcblx0fVxuXG5cdGZvciAoY29uc3QgbG9jYWxlIG9mIGxvY2FsZXMpIHtcblx0XHRjb25zdCBtID0gbG9jYWxlICYmIGxvY2FsZS5tYXRjaChsb2NhbGVSZWdFeHApO1xuXHRcdGlmIChtKSB7XG5cdFx0XHQvLyBhZGQgdGhlIG9yaWdpbmFsIGxvY2FsZVxuXHRcdFx0ZXhwYW5kZWRMb2NhbGVzLnB1c2gobG9jYWxlKTtcblxuXHRcdFx0Ly8gaWYgd2UgaGF2ZSBhIHRlcnJpdG9yeSwgdGhlbiBhZGQganVzdCB0aGUgbGFuZ3VhZ2Vcblx0XHRcdGlmIChtWzJdKSB7XG5cdFx0XHRcdGV4cGFuZGVkTG9jYWxlcy5wdXNoKG1bMV0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiBleHBhbmRlZExvY2FsZXM7XG59XG5cbi8qKlxuICogU2VyaWFsaXplcyBvYmplY3QgYW5kIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBhcmdzIGFycmF5IHRvIHN0cmluZ3MuXG4gKlxuICogQHBhcmFtIHtBcnJheX0gYXJncyAtIFRoZSBhcnJheSBvZiBhcmd1bWVudHMgdG8gc2VyaWFsaXplLlxuICogQHJldHVybiB7QXJyYXl9XG4gKi9cbmZ1bmN0aW9uIHNlcmlhbGl6ZUFyZ3MoYXJncykge1xuXHRyZXR1cm4gYXJncy5tYXAocyA9PiB7XG5cdFx0cmV0dXJuIHR5cGVvZiBzID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KHMpIDogcztcblx0fSk7XG59XG4iXSwiZmlsZSI6Im1lc3NhZ2UuanMifQ==
{
"name": "appcd-response",
"version": "2.0.0",
"version": "2.0.1",
"description": "Library for responses and errors with i18n support and error codes.",

@@ -19,10 +19,10 @@ "main": "./dist/index",

"dependencies": {
"appcd-fs": "^1.1.7",
"appcd-path": "^1.1.6",
"source-map-support": "^0.5.12",
"appcd-fs": "^1.1.8",
"appcd-path": "^1.1.7",
"source-map-support": "^0.5.13",
"sprintf-js": "^1.1.2",
"winreglib": "^1.0.2"
"winreglib": "^1.0.5"
},
"devDependencies": {
"appcd-gulp": "^2.1.1"
"appcd-gulp": "^2.2.0"
},

@@ -29,0 +29,0 @@ "homepage": "https://github.com/appcelerator/appc-daemon/tree/master/packages/appcd-response",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc