israeli-bank-scrapers 3.10.0 → 3.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -121,16 +121,17 @@ function convertParsedDataToTransactions(parsedData) {
121
121
  }
122
122
 
123
123
  const result = {
124
- chargedAmount,
125
124
  identifier: transaction.trnIntId,
126
- description: transaction.merchantName,
127
- originalAmount,
128
- originalCurrency: transaction.trnCurrencySymbol,
129
- processedDate: transaction.debCrdDate,
125
+ type: [trnTypeCode.regular, trnTypeCode.standingOrder].includes(transaction.trnTypeCode) ? _transactions2.TransactionTypes.Normal : _transactions2.TransactionTypes.Installments,
130
126
  status: _transactions2.TransactionStatuses.Completed,
131
127
  date: installments ? date.add(installments.number - 1, 'month').toISOString() : date.toISOString(),
132
- type: [trnTypeCode.regular, trnTypeCode.standingOrder].includes(transaction.trnTypeCode) ? _transactions2.TransactionTypes.Normal : _transactions2.TransactionTypes.Installments,
133
- memo: transaction.transTypeCommentDetails.toString() || undefined,
128
+ processedDate: new Date(transaction.debCrdDate).toISOString(),
129
+ originalAmount,
130
+ originalCurrency: transaction.trnCurrencySymbol,
131
+ chargedAmount,
132
+ chargedCurrency: transaction.debCrdCurrencySymbol,
133
+ description: transaction.merchantName,
134
+ memo: transaction.transTypeCommentDetails.toString(),
134
135
  category: transaction.branchCodeDesc
135
136
  };
136
137
 
@@ -296,4 +297,4 @@ class VisaCalScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
296
297
 
297
298
  var _default = VisaCalScraper;
298
299
  exports.default = _default;
299
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy92aXNhLWNhbC50cyJdLCJuYW1lcyI6WyJMT0dJTl9VUkwiLCJUUkFOU0FDVElPTlNfUkVRVUVTVF9FTkRQT0lOVCIsIkludmFsaWRQYXNzd29yZE1lc3NhZ2UiLCJkZWJ1ZyIsInRyblR5cGVDb2RlIiwiZ2V0TG9naW5GcmFtZSIsInBhZ2UiLCJmcmFtZSIsImZyYW1lcyIsImZpbmQiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkVycm9yIiwiaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IiLCJlcnJvckZvdW5kIiwiZXJyb3JNZXNzYWdlIiwiaXRlbSIsImlubmVyVGV4dCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJvcHRpb25zIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiY29udmVydFBhcnNlZERhdGFUb1RyYW5zYWN0aW9ucyIsInBhcnNlZERhdGEiLCJmbGF0TWFwIiwibW9udGhEYXRhIiwicmVzdWx0IiwiYmFua0FjY291bnRzIiwiYWNjb3VudHMiLCJkZWJpdERhdGVzIiwiZGViaXREYXRlIiwidHJhbnNhY3Rpb25zIiwibWFwIiwidHJhbnNhY3Rpb24iLCJpbnN0YWxsbWVudHMiLCJjdXJQYXltZW50TnVtIiwibnVtT2ZQYXltZW50cyIsIm51bWJlciIsInRvdGFsIiwidW5kZWZpbmVkIiwiZGF0ZSIsInRyblB1cmNoYXNlRGF0ZSIsImNoYXJnZWRBbW91bnQiLCJhbXRCZWZvcmVDb252QW5kSW5kZXgiLCJvcmlnaW5hbEFtb3VudCIsInRybkFtdCIsImNyZWRpdCIsImlkZW50aWZpZXIiLCJ0cm5JbnRJZCIsImRlc2NyaXB0aW9uIiwibWVyY2hhbnROYW1lIiwib3JpZ2luYWxDdXJyZW5jeSIsInRybkN1cnJlbmN5U3ltYm9sIiwicHJvY2Vzc2VkRGF0ZSIsImRlYkNyZERhdGUiLCJzdGF0dXMiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiQ29tcGxldGVkIiwiYWRkIiwidG9JU09TdHJpbmciLCJ0eXBlIiwicmVndWxhciIsInN0YW5kaW5nT3JkZXIiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwiSW5zdGFsbG1lbnRzIiwibWVtbyIsInRyYW5zVHlwZUNvbW1lbnREZXRhaWxzIiwidG9TdHJpbmciLCJjYXRlZ29yeSIsImJyYW5jaENvZGVEZXNjIiwiVmlzYUNhbFNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0Q2FyZHMiLCJpbml0RGF0YSIsImNhcmRzIiwiY2FyZFVuaXF1ZUlkIiwibGFzdDREaWdpdHMiLCJnZXRBdXRob3JpemF0aW9uSGVhZGVyIiwiYXV0aE1vZHVsZSIsImF1dGgiLCJjYWxDb25uZWN0VG9rZW4iLCJnZXRYU2l0ZUlkIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInBvc3NpYmxlUmVzdWx0cyIsImNoZWNrUmVhZGluZXNzIiwicHJlQWN0aW9uIiwib3BlbkxvZ2luUG9wdXAiLCJwb3N0QWN0aW9uIiwiY3VycmVudFVybCIsImVuZHNXaXRoIiwiZSIsInVzZXJBZ2VudCIsImlzQ2FyZFRyYW5zYWN0aW9uRGV0YWlscyIsImZldGNoRGF0YSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0Iiwic3RhcnREYXRlIiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJmb3JtYXQiLCJBdXRob3JpemF0aW9uIiwieFNpdGVJZCIsImZ1dHVyZU1vbnRoc1RvU2NyYXBlIiwiYWxsIiwiY2FyZCIsImZpbmFsTW9udGhUb0ZldGNoTW9tZW50IiwibW9udGhzIiwiZGlmZiIsImFsbE1vbnRoc0RhdGEiLCJpIiwibW9udGgiLCJjbG9uZSIsInllYXIiLCJzdGF0dXNDb2RlIiwidGl0bGUiLCJwdXNoIiwidHhucyIsIm91dHB1dERhdGEiLCJlbmFibGVUcmFuc2FjdGlvbnNGaWx0ZXJCeURhdGUiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwiYWNjb3VudE51bWJlciIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdWNjZXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFHQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFNQTs7Ozs7O0FBR0EsTUFBTUEsU0FBUyxHQUFHLCtCQUFsQjtBQUNBLE1BQU1DLDZCQUE2QixHQUFHLDhGQUF0QztBQUVBLE1BQU1DLHNCQUFzQixHQUFHLG1DQUEvQjtBQUVBLE1BQU1DLEtBQUssR0FBRyxxQkFBUyxVQUFULENBQWQ7SUFFS0MsVzs7V0FBQUEsVztBQUFBQSxFQUFBQSxXO0FBQUFBLEVBQUFBLFc7QUFBQUEsRUFBQUEsVztBQUFBQSxFQUFBQSxXO0dBQUFBLFcsS0FBQUEsVzs7QUFpR0wsZUFBZUMsYUFBZixDQUE2QkMsSUFBN0IsRUFBeUM7QUFDdkMsTUFBSUMsS0FBbUIsR0FBRyxJQUExQjtBQUNBSixFQUFBQSxLQUFLLENBQUMsOEJBQUQsQ0FBTDtBQUNBLFFBQU0sd0JBQVUsTUFBTTtBQUNwQkksSUFBQUEsS0FBSyxHQUFHRCxJQUFJLENBQ1RFLE1BREssR0FFTEMsSUFGSyxDQUVDQyxDQUFELElBQU9BLENBQUMsQ0FBQ0MsR0FBRixHQUFRQyxRQUFSLENBQWlCLFlBQWpCLENBRlAsS0FFMEMsSUFGbEQ7QUFHQSxXQUFPQyxPQUFPLENBQUNDLE9BQVIsQ0FBZ0IsQ0FBQyxDQUFDUCxLQUFsQixDQUFQO0FBQ0QsR0FMSyxFQUtILGlDQUxHLEVBS2dDLEtBTGhDLEVBS3VDLElBTHZDLENBQU47O0FBT0EsTUFBSSxDQUFDQSxLQUFMLEVBQVk7QUFDVkosSUFBQUEsS0FBSyxDQUFDLDJDQUFELENBQUw7QUFDQSxVQUFNLElBQUlZLEtBQUosQ0FBVSxnQ0FBVixDQUFOO0FBQ0Q7O0FBRUQsU0FBT1IsS0FBUDtBQUNEOztBQUVELGVBQWVTLHVCQUFmLENBQXVDVixJQUF2QyxFQUFtRDtBQUNqRCxRQUFNQyxLQUFLLEdBQUcsTUFBTUYsYUFBYSxDQUFDQyxJQUFELENBQWpDO0FBQ0EsUUFBTVcsVUFBVSxHQUFHLE1BQU0sZ0RBQXFCVixLQUFyQixFQUE0Qix5QkFBNUIsQ0FBekI7QUFDQSxRQUFNVyxZQUFZLEdBQUdELFVBQVUsR0FBRyxNQUFNLG9DQUFTVixLQUFULEVBQWdCLHlCQUFoQixFQUEyQyxFQUEzQyxFQUFnRFksSUFBRCxJQUFVO0FBQy9GLFdBQVFBLElBQUQsQ0FBeUJDLFNBQWhDO0FBQ0QsR0FGdUMsQ0FBVCxHQUUxQixFQUZMO0FBR0EsU0FBT0YsWUFBWSxLQUFLaEIsc0JBQXhCO0FBQ0Q7O0FBRUQsU0FBU21CLHVCQUFULEdBQW1DO0FBQ2pDbEIsRUFBQUEsS0FBSyxDQUFDLCtCQUFELENBQUw7QUFDQSxRQUFNbUIsSUFBcUMsR0FBRztBQUM1QyxLQUFDQyxxQ0FBYUMsT0FBZCxHQUF3QixDQUFDLFlBQUQsQ0FEb0I7QUFFNUMsS0FBQ0QscUNBQWFFLGVBQWQsR0FBZ0MsQ0FBQyxNQUFPQyxPQUFQLElBQXFDO0FBQ3BFLFlBQU1wQixJQUFJLEdBQUdvQixPQUFILGFBQUdBLE9BQUgsdUJBQUdBLE9BQU8sQ0FBRXBCLElBQXRCOztBQUNBLFVBQUksQ0FBQ0EsSUFBTCxFQUFXO0FBQ1QsZUFBTyxLQUFQO0FBQ0Q7O0FBQ0QsYUFBT1UsdUJBQXVCLENBQUNWLElBQUQsQ0FBOUI7QUFDRCxLQU4rQixDQUZZLENBUzVDO0FBQ0E7O0FBVjRDLEdBQTlDO0FBWUEsU0FBT2dCLElBQVA7QUFDRDs7QUFFRCxTQUFTSyxpQkFBVCxDQUEyQkMsV0FBM0IsRUFBb0U7QUFDbEV6QixFQUFBQSxLQUFLLENBQUMsK0NBQUQsQ0FBTDtBQUNBLFNBQU8sQ0FDTDtBQUFFMEIsSUFBQUEsUUFBUSxFQUFFLDhCQUFaO0FBQTRDQyxJQUFBQSxLQUFLLEVBQUVGLFdBQVcsQ0FBQ0c7QUFBL0QsR0FESyxFQUVMO0FBQUVGLElBQUFBLFFBQVEsRUFBRSw4QkFBWjtBQUE0Q0MsSUFBQUEsS0FBSyxFQUFFRixXQUFXLENBQUNJO0FBQS9ELEdBRkssQ0FBUDtBQUlEOztBQUVELFNBQVNDLCtCQUFULENBQXlDQyxVQUF6QyxFQUE4RjtBQUM1RixTQUFPQSxVQUFVLENBQ2RDLE9BREksQ0FDS0MsU0FBRCxJQUFlQSxTQUFTLENBQUNDLE1BQVYsQ0FBaUJDLFlBRHBDLEVBRUpILE9BRkksQ0FFS0ksUUFBRCxJQUFjQSxRQUFRLENBQUNDLFVBRjNCLEVBR0pMLE9BSEksQ0FHS00sU0FBRCxJQUFlQSxTQUFTLENBQUNDLFlBSDdCLEVBSUpDLEdBSkksQ0FJQ0MsV0FBRCxJQUFpQjtBQUNwQixVQUFNQyxZQUFZLEdBQUlELFdBQVcsQ0FBQ0UsYUFBWixJQUE2QkYsV0FBVyxDQUFDRyxhQUF6QyxJQUN0QjtBQUNFQyxNQUFBQSxNQUFNLEVBQUVKLFdBQVcsQ0FBQ0UsYUFEdEI7QUFFRUcsTUFBQUEsS0FBSyxFQUFFTCxXQUFXLENBQUNHO0FBRnJCLEtBRHFCLElBS25CRyxTQUxGO0FBT0EsVUFBTUMsSUFBSSxHQUFHLHFCQUFPUCxXQUFXLENBQUNRLGVBQW5CLENBQWI7QUFFQSxRQUFJQyxhQUFhLEdBQUdULFdBQVcsQ0FBQ1UscUJBQVosR0FBcUMsQ0FBQyxDQUExRDtBQUNBLFFBQUlDLGNBQWMsR0FBR1gsV0FBVyxDQUFDWSxNQUFaLEdBQXNCLENBQUMsQ0FBNUM7O0FBRUEsUUFBSVosV0FBVyxDQUFDeEMsV0FBWixLQUE0QkEsV0FBVyxDQUFDcUQsTUFBNUMsRUFBb0Q7QUFDbERKLE1BQUFBLGFBQWEsR0FBR1QsV0FBVyxDQUFDVSxxQkFBNUI7QUFDQUMsTUFBQUEsY0FBYyxHQUFHWCxXQUFXLENBQUNZLE1BQTdCO0FBQ0Q7O0FBRUQsVUFBTW5CLE1BQW1CLEdBQUc7QUFDMUJnQixNQUFBQSxhQUQwQjtBQUUxQkssTUFBQUEsVUFBVSxFQUFFZCxXQUFXLENBQUNlLFFBRkU7QUFHMUJDLE1BQUFBLFdBQVcsRUFBRWhCLFdBQVcsQ0FBQ2lCLFlBSEM7QUFJMUJOLE1BQUFBLGNBSjBCO0FBSzFCTyxNQUFBQSxnQkFBZ0IsRUFBRWxCLFdBQVcsQ0FBQ21CLGlCQUxKO0FBTTFCQyxNQUFBQSxhQUFhLEVBQUVwQixXQUFXLENBQUNxQixVQU5EO0FBTzFCQyxNQUFBQSxNQUFNLEVBQUVDLG1DQUFvQkMsU0FQRjtBQVExQmpCLE1BQUFBLElBQUksRUFBRU4sWUFBWSxHQUNoQk0sSUFBSSxDQUFDa0IsR0FBTCxDQUFTeEIsWUFBWSxDQUFDRyxNQUFiLEdBQXNCLENBQS9CLEVBQWtDLE9BQWxDLEVBQTJDc0IsV0FBM0MsRUFEZ0IsR0FFaEJuQixJQUFJLENBQUNtQixXQUFMLEVBVndCO0FBVzFCQyxNQUFBQSxJQUFJLEVBQUUsQ0FBQ25FLFdBQVcsQ0FBQ29FLE9BQWIsRUFBc0JwRSxXQUFXLENBQUNxRSxhQUFsQyxFQUFpRDdELFFBQWpELENBQTBEZ0MsV0FBVyxDQUFDeEMsV0FBdEUsSUFDSnNFLGdDQUFpQkMsTUFEYixHQUVKRCxnQ0FBaUJFLFlBYk87QUFjMUJDLE1BQUFBLElBQUksRUFBRWpDLFdBQVcsQ0FBQ2tDLHVCQUFaLENBQW9DQyxRQUFwQyxNQUFrRDdCLFNBZDlCO0FBZTFCOEIsTUFBQUEsUUFBUSxFQUFFcEMsV0FBVyxDQUFDcUM7QUFmSSxLQUE1Qjs7QUFrQkEsUUFBSXBDLFlBQUosRUFBa0I7QUFDaEJSLE1BQUFBLE1BQU0sQ0FBQ1EsWUFBUCxHQUFzQkEsWUFBdEI7QUFDRDs7QUFFRCxXQUFPUixNQUFQO0FBQ0QsR0E3Q0ksQ0FBUDtBQThDRDs7QUFJRCxNQUFNNkMsY0FBTixTQUE2QkMsOENBQTdCLENBQWdGO0FBQUE7QUFBQTs7QUFBQSw0Q0FDN0QsWUFBWTtBQUMzQmhGLE1BQUFBLEtBQUssQ0FBQyxxREFBRCxDQUFMO0FBQ0EsWUFBTSxpREFBc0IsS0FBS0csSUFBM0IsRUFBaUMsb0JBQWpDLEVBQXVELElBQXZELENBQU47QUFDQUgsTUFBQUEsS0FBSyxDQUFDLDJCQUFELENBQUw7QUFDQSxZQUFNLHVDQUFZLEtBQUtHLElBQWpCLEVBQXVCLG9CQUF2QixDQUFOO0FBQ0FILE1BQUFBLEtBQUssQ0FBQyxvQ0FBRCxDQUFMO0FBQ0EsWUFBTUksS0FBSyxHQUFHLE1BQU1GLGFBQWEsQ0FBQyxLQUFLQyxJQUFOLENBQWpDO0FBQ0FILE1BQUFBLEtBQUssQ0FBQyx1REFBRCxDQUFMO0FBQ0EsWUFBTSxpREFBc0JJLEtBQXRCLEVBQTZCLGdCQUE3QixDQUFOO0FBQ0FKLE1BQUFBLEtBQUssQ0FBQyxvQ0FBRCxDQUFMO0FBQ0EsWUFBTSx1Q0FBWUksS0FBWixFQUFtQixnQkFBbkIsQ0FBTjtBQUNBSixNQUFBQSxLQUFLLENBQUMsNkNBQUQsQ0FBTDtBQUNBLFlBQU0saURBQXNCSSxLQUF0QixFQUE2QixlQUE3QixDQUFOO0FBRUEsYUFBT0EsS0FBUDtBQUNELEtBaEI2RTtBQUFBOztBQWtCOUUsUUFBTTZFLFFBQU4sR0FBaUI7QUFDZixVQUFNQyxRQUFRLEdBQUcsTUFBTSx3QkFDckIsTUFBTSxvQ0FBb0MsS0FBSy9FLElBQXpDLEVBQStDLE1BQS9DLENBRGUsRUFFckIsa0NBRnFCLEVBR3JCLEtBSHFCLEVBSXJCLElBSnFCLENBQXZCOztBQU1BLFFBQUksQ0FBQytFLFFBQUwsRUFBZTtBQUNiLFlBQU0sSUFBSXRFLEtBQUosQ0FBVSxpREFBVixDQUFOO0FBQ0Q7O0FBQ0QsV0FBT3NFLFFBQVAsYUFBT0EsUUFBUCx1QkFBT0EsUUFBUSxDQUFFaEQsTUFBVixDQUFpQmlELEtBQWpCLENBQXVCM0MsR0FBdkIsQ0FBMkIsQ0FBQztBQUFFNEMsTUFBQUEsWUFBRjtBQUFnQkMsTUFBQUE7QUFBaEIsS0FBRCxNQUFvQztBQUFFRCxNQUFBQSxZQUFGO0FBQWdCQyxNQUFBQTtBQUFoQixLQUFwQyxDQUEzQixDQUFQO0FBQ0Q7O0FBRUQsUUFBTUMsc0JBQU4sR0FBK0I7QUFDN0IsVUFBTUMsVUFBVSxHQUFHLE1BQU0sb0NBQTZELEtBQUtwRixJQUFsRSxFQUF3RSxhQUF4RSxDQUF6Qjs7QUFDQSxRQUFJLENBQUNvRixVQUFMLEVBQWlCO0FBQ2YsWUFBTSxJQUFJM0UsS0FBSixDQUFVLG1EQUFWLENBQU47QUFDRDs7QUFDRCxXQUFRLGlCQUFnQjJFLFVBQVUsQ0FBQ0MsSUFBWCxDQUFnQkMsZUFBZ0IsRUFBeEQ7QUFDRDs7QUFFRCxRQUFNQyxVQUFOLEdBQW1CO0FBQ2pCOzs7Ozs7Ozs7Ozs7QUFjQSxXQUFPaEYsT0FBTyxDQUFDQyxPQUFSLENBQWdCLHNDQUFoQixDQUFQO0FBQ0Q7O0FBRURnRixFQUFBQSxlQUFlLENBQUNsRSxXQUFELEVBQXdEO0FBQ3JFLFdBQU87QUFDTG1FLE1BQUFBLFFBQVEsRUFBRyxHQUFFL0YsU0FBVSxFQURsQjtBQUVMZ0csTUFBQUEsTUFBTSxFQUFFckUsaUJBQWlCLENBQUNDLFdBQUQsQ0FGcEI7QUFHTHFFLE1BQUFBLG9CQUFvQixFQUFFLHVCQUhqQjtBQUlMQyxNQUFBQSxlQUFlLEVBQUU3RSx1QkFBdUIsRUFKbkM7QUFLTDhFLE1BQUFBLGNBQWMsRUFBRSxZQUFZLGlEQUFzQixLQUFLN0YsSUFBM0IsRUFBaUMsb0JBQWpDLENBTHZCO0FBTUw4RixNQUFBQSxTQUFTLEVBQUUsS0FBS0MsY0FOWDtBQU9MQyxNQUFBQSxVQUFVLEVBQUUsWUFBWTtBQUN0QixZQUFJO0FBQ0YsZ0JBQU0saURBQXNCLEtBQUtoRyxJQUEzQixFQUFpQyxrQkFBakMsQ0FBTjtBQUNBLGdCQUFNaUcsVUFBVSxHQUFHLE1BQU0sK0JBQWMsS0FBS2pHLElBQW5CLENBQXpCOztBQUNBLGNBQUlpRyxVQUFVLENBQUNDLFFBQVgsQ0FBb0IsZUFBcEIsQ0FBSixFQUEwQztBQUN4QyxrQkFBTSx1Q0FBWSxLQUFLbEcsSUFBakIsRUFBdUIsa0JBQXZCLENBQU47QUFDRDtBQUNGLFNBTkQsQ0FNRSxPQUFPbUcsQ0FBUCxFQUFVO0FBQ1YsZ0JBQU1GLFVBQVUsR0FBRyxNQUFNLCtCQUFjLEtBQUtqRyxJQUFuQixDQUF6QjtBQUNBLGNBQUlpRyxVQUFVLENBQUNDLFFBQVgsQ0FBb0IsV0FBcEIsQ0FBSixFQUFzQztBQUN0QyxnQkFBTUMsQ0FBTjtBQUNEO0FBQ0YsT0FuQkk7QUFvQkxDLE1BQUFBLFNBQVMsRUFBRTtBQXBCTixLQUFQO0FBc0JEOztBQUVEQyxFQUFBQSx3QkFBd0IsQ0FBQ3RFLE1BQUQsRUFDVztBQUNqQyxXQUFRQSxNQUFELENBQW1DQSxNQUFuQyxLQUE4Q2EsU0FBckQ7QUFDRDs7QUFFRCxRQUFNMEQsU0FBTixHQUFrRDtBQUFBOztBQUNoRCxVQUFNQyxrQkFBa0IsR0FBRyx1QkFBU0MsUUFBVCxDQUFrQixDQUFsQixFQUFxQixPQUFyQixFQUE4QkEsUUFBOUIsQ0FBdUMsQ0FBdkMsRUFBMEMsUUFBMUMsRUFBb0R6QyxHQUFwRCxDQUF3RCxDQUF4RCxFQUEyRCxLQUEzRCxDQUEzQjtBQUNBLFVBQU0wQyxTQUFTLEdBQUcsS0FBS3JGLE9BQUwsQ0FBYXFGLFNBQWIsSUFBMEJGLGtCQUFrQixDQUFDRyxNQUFuQixFQUE1Qzs7QUFDQSxVQUFNQyxXQUFXLEdBQUdDLGdCQUFPQyxHQUFQLENBQVdOLGtCQUFYLEVBQStCLHFCQUFPRSxTQUFQLENBQS9CLENBQXBCOztBQUNBNUcsSUFBQUEsS0FBSyxDQUFFLCtCQUE4QjhHLFdBQVcsQ0FBQ0csTUFBWixFQUFxQixFQUFyRCxDQUFMO0FBRUEsVUFBTUMsYUFBYSxHQUFHLE1BQU0sS0FBSzVCLHNCQUFMLEVBQTVCO0FBQ0EsVUFBTUgsS0FBSyxHQUFHLE1BQU0sS0FBS0YsUUFBTCxFQUFwQjtBQUNBLFVBQU1rQyxPQUFPLEdBQUcsTUFBTSxLQUFLekIsVUFBTCxFQUF0QjtBQUNBLFVBQU0wQixvQkFBb0IsNEJBQUcsS0FBSzdGLE9BQUwsQ0FBYTZGLG9CQUFoQix5RUFBd0MsQ0FBbEU7QUFFQSxVQUFNaEYsUUFBUSxHQUFHLE1BQU0xQixPQUFPLENBQUMyRyxHQUFSLENBQ3JCbEMsS0FBSyxDQUFDM0MsR0FBTixDQUFVLE1BQU84RSxJQUFQLElBQWdCO0FBQUE7O0FBQ3hCdEgsTUFBQUEsS0FBSyxDQUFFLCtCQUE4QnNILElBQUksQ0FBQ2xDLFlBQWEsRUFBbEQsQ0FBTDtBQUVBLFlBQU1tQyx1QkFBdUIsR0FBRyx1QkFBU3JELEdBQVQsQ0FBYWtELG9CQUFiLEVBQW1DLE9BQW5DLENBQWhDO0FBQ0EsWUFBTUksTUFBTSxHQUFHRCx1QkFBdUIsQ0FBQ0UsSUFBeEIsQ0FBNkJYLFdBQTdCLEVBQTBDLFFBQTFDLENBQWY7QUFFQSxZQUFNWSxhQUF5QyxHQUFHLEVBQWxEOztBQUNBLFdBQUssSUFBSUMsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsSUFBSUgsTUFBckIsRUFBNkJHLENBQUMsSUFBSSxDQUFsQyxFQUFxQztBQUNuQyxjQUFNQyxLQUFLLEdBQUdMLHVCQUF1QixDQUFDTSxLQUF4QixHQUFnQ2xCLFFBQWhDLENBQXlDZ0IsQ0FBekMsRUFBNEMsUUFBNUMsQ0FBZDtBQUNBLGNBQU0xRixTQUFTLEdBQUcsTUFBTSxnQ0FDdEIsS0FBSzlCLElBRGlCLEVBQ1hMLDZCQURXLEVBRXRCO0FBQUVzRixVQUFBQSxZQUFZLEVBQUVrQyxJQUFJLENBQUNsQyxZQUFyQjtBQUFtQ3dDLFVBQUFBLEtBQUssRUFBRUEsS0FBSyxDQUFDWCxNQUFOLENBQWEsR0FBYixDQUExQztBQUE2RGEsVUFBQUEsSUFBSSxFQUFFRixLQUFLLENBQUNYLE1BQU4sQ0FBYSxNQUFiO0FBQW5FLFNBRnNCLEVBR3RCO0FBQ0VDLFVBQUFBLGFBREY7QUFFRSx1QkFBYUMsT0FGZjtBQUdFLDBCQUFnQjtBQUhsQixTQUhzQixDQUF4QjtBQVVBLFlBQUksQ0FBQWxGLFNBQVMsU0FBVCxJQUFBQSxTQUFTLFdBQVQsWUFBQUEsU0FBUyxDQUFFOEYsVUFBWCxNQUEwQixDQUE5QixFQUFpQyxNQUFNLElBQUluSCxLQUFKLENBQVcseUNBQXdDMEcsSUFBSSxDQUFDakMsV0FBWSxjQUFhLENBQUFwRCxTQUFTLFNBQVQsSUFBQUEsU0FBUyxXQUFULFlBQUFBLFNBQVMsQ0FBRStGLEtBQVgsS0FBb0IsRUFBRyxFQUF4RyxDQUFOOztBQUVqQyxZQUFJLENBQUMsS0FBS3hCLHdCQUFMLENBQThCdkUsU0FBOUIsQ0FBTCxFQUErQztBQUM3QyxnQkFBTSxJQUFJckIsS0FBSixDQUFVLGlEQUFWLENBQU47QUFDRDs7QUFFRDhHLFFBQUFBLGFBQWEsQ0FBQ08sSUFBZCxDQUFtQmhHLFNBQW5CO0FBQ0Q7O0FBRUQsWUFBTU0sWUFBWSxHQUFHVCwrQkFBK0IsQ0FBQzRGLGFBQUQsQ0FBcEQ7QUFFQTFILE1BQUFBLEtBQUssQ0FBQyw0QkFBRCxDQUFMO0FBQ0EsWUFBTWtJLElBQUksR0FBRyxvREFBQyxLQUFLM0csT0FBTCxDQUFhNEcsVUFBZCwyREFBQyx1QkFBeUJDLDhCQUExQix5RUFBNEQsSUFBNUQsSUFDWCx5Q0FBc0I3RixZQUF0QixFQUFvQyxxQkFBT3FFLFNBQVAsQ0FBcEMsRUFBdUQsS0FBS3JGLE9BQUwsQ0FBYThHLG1CQUFiLElBQW9DLEtBQTNGLENBRFcsR0FFWDlGLFlBRkY7QUFJQSxhQUFPO0FBQ0wyRixRQUFBQSxJQURLO0FBRUxJLFFBQUFBLGFBQWEsRUFBRWhCLElBQUksQ0FBQ2pDO0FBRmYsT0FBUDtBQUlELEtBdkNELENBRHFCLENBQXZCO0FBMkNBckYsSUFBQUEsS0FBSyxDQUFDLDZCQUFELENBQUw7QUFFQUEsSUFBQUEsS0FBSyxDQUFDdUksSUFBSSxDQUFDQyxTQUFMLENBQWVwRyxRQUFmLEVBQXlCLElBQXpCLEVBQStCLENBQS9CLENBQUQsQ0FBTDtBQUNBLFdBQU87QUFDTHFHLE1BQUFBLE9BQU8sRUFBRSxJQURKO0FBRUxyRyxNQUFBQTtBQUZLLEtBQVA7QUFJRDs7QUFwSjZFOztlQXVKakUyQyxjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgRnJhbWUsIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuXG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuaW1wb3J0IHtcbiAgY2xpY2tCdXR0b24sIGVsZW1lbnRQcmVzZW50T25QYWdlLCBwYWdlRXZhbCwgd2FpdFVudGlsRWxlbWVudEZvdW5kLFxufSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaFBvc3RXaXRoaW5QYWdlIH0gZnJvbSAnLi4vaGVscGVycy9mZXRjaCc7XG5pbXBvcnQgeyBnZXRDdXJyZW50VXJsIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IGdldEZyb21TZXNzaW9uU3RvcmFnZSB9IGZyb20gJy4uL2hlbHBlcnMvc3RvcmFnZSc7XG5pbXBvcnQgeyBmaWx0ZXJPbGRUcmFuc2FjdGlvbnMgfSBmcm9tICcuLi9oZWxwZXJzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyB3YWl0VW50aWwgfSBmcm9tICcuLi9oZWxwZXJzL3dhaXRpbmcnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb24sXG4gIFRyYW5zYWN0aW9uU3RhdHVzZXMsXG4gIFRyYW5zYWN0aW9uVHlwZXMsXG4gIFRyYW5zYWN0aW9uc0FjY291bnQsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpbk9wdGlvbnMsIExvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyBTY3JhcGVyU2NyYXBpbmdSZXN1bHQgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbmNvbnN0IExPR0lOX1VSTCA9ICdodHRwczovL3d3dy5jYWwtb25saW5lLmNvLmlsLyc7XG5jb25zdCBUUkFOU0FDVElPTlNfUkVRVUVTVF9FTkRQT0lOVCA9ICdodHRwczovL2FwaS5jYWwtb25saW5lLmNvLmlsL1RyYW5zYWN0aW9ucy9hcGkvdHJhbnNhY3Rpb25zRGV0YWlscy9nZXRDYXJkVHJhbnNhY3Rpb25zRGV0YWlscyc7XG5cbmNvbnN0IEludmFsaWRQYXNzd29yZE1lc3NhZ2UgPSAn16nXnSDXlNee16nXqtee16kg15DXlSDXlNeh15nXodee15Qg16nXlNeV15bXoNeVINep15LXldeZ15nXnSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ3Zpc2EtY2FsJyk7XG5cbmVudW0gdHJuVHlwZUNvZGUge1xuICByZWd1bGFyID0gJzUnLFxuICBjcmVkaXQgPSAnNicsXG4gIGluc3RhbGxtZW50cyA9ICc4JyxcbiAgc3RhbmRpbmdPcmRlciA9ICc5Jyxcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIGFtdEJlZm9yZUNvbnZBbmRJbmRleDogbnVtYmVyO1xuICBicmFuY2hDb2RlRGVzYzogc3RyaW5nO1xuICBjYXNoQWNjTWFuYWdlck5hbWU6IG51bGw7XG4gIGNhc2hBY2NvdW50TWFuYWdlcjogbnVsbDtcbiAgY2FzaEFjY291bnRUcm5BbXQ6IG51bWJlcjtcbiAgY2hhcmdlRXh0ZXJuYWxUb0NhcmRDb21tZW50OiBzdHJpbmc7XG4gIGNvbW1lbnRzOiBbXTtcbiAgY3VyUGF5bWVudE51bTogbnVtYmVyO1xuICBkZWJDcmRDdXJyZW5jeVN5bWJvbDogQ3VycmVuY3lTeW1ib2w7XG4gIGRlYkNyZERhdGU6IHN0cmluZztcbiAgZGViaXRTcHJlYWRJbmQ6IGJvb2xlYW47XG4gIGRpc2NvdW50QW1vdW50OiB1bmtub3duO1xuICBkaXNjb3VudFJlYXNvbjogdW5rbm93bjtcbiAgaW1tZWRpYXRlQ29tbWVudHM6IFtdO1xuICBpc0ltbWVkaWF0ZUNvbW1lbnRJbmQ6IGJvb2xlYW47XG4gIGlzSW1tZWRpYXRlSEhLSW5kOiBib29sZWFuO1xuICBpc01hcmdhcml0YTogYm9vbGVhbjtcbiAgaXNTcHJlYWRQYXltZW5zdEFicm9hZDogYm9vbGVhbjtcbiAgbGlua2VkQ29tbWVudHM6IFtdO1xuICBtZXJjaGFudEFkZHJlc3M6IHN0cmluZztcbiAgbWVyY2hhbnROYW1lOiBzdHJpbmc7XG4gIG1lcmNoYW50UGhvbmVObzogc3RyaW5nO1xuICBudW1PZlBheW1lbnRzOiBudW1iZXI7XG4gIG9uR29pbmdUcmFuc2FjdGlvbnNDb21tZW50OiBzdHJpbmc7XG4gIHJlZnVuZEluZDogYm9vbGVhbjtcbiAgcm91bmRpbmdBbW91bnQ6IHVua25vd247XG4gIHJvdW5kaW5nUmVhc29uOiB1bmtub3duO1xuICB0b2tlbkluZDogMDtcbiAgdG9rZW5OdW1iZXJQYXJ0NDogJyc7XG4gIHRyYW5zQ2FyZFByZXNlbnRJbmQ6IGJvb2xlYW47XG4gIHRyYW5zVHlwZUNvbW1lbnREZXRhaWxzOiBbXTtcbiAgdHJuQW10OiBudW1iZXI7XG4gIHRybkN1cnJlbmN5U3ltYm9sOiBDdXJyZW5jeVN5bWJvbDtcbiAgdHJuRXhhY1dheTogbnVtYmVyO1xuICB0cm5JbnRJZDogc3RyaW5nO1xuICB0cm5OdW1hcmV0b3I6IG51bWJlcjtcbiAgdHJuUHVyY2hhc2VEYXRlOiBzdHJpbmc7XG4gIHRyblR5cGU6IHN0cmluZztcbiAgdHJuVHlwZUNvZGU6IHRyblR5cGVDb2RlO1xuICB3YWxsZXRQcm92aWRlckNvZGU6IDA7XG4gIHdhbGxldFByb3ZpZGVyRGVzYzogJyc7XG59XG5pbnRlcmZhY2UgSW5pdFJlc3BvbnNlIHtcbiAgcmVzdWx0OiB7XG4gICAgY2FyZHM6IHtcbiAgICAgIGNhcmRVbmlxdWVJZDogc3RyaW5nO1xuICAgICAgbGFzdDREaWdpdHM6IHN0cmluZztcbiAgICAgIFtrZXk6IHN0cmluZ106IHVua25vd247XG4gICAgfVtdO1xuICB9O1xufVxudHlwZSBDdXJyZW5jeVN5bWJvbCA9ICfigqonIHwgc3RyaW5nO1xuaW50ZXJmYWNlIENhcmRUcmFuc2FjdGlvbkRldGFpbHNFcnJvciB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN0YXR1c0NvZGU6IG51bWJlcjtcbn1cbmludGVyZmFjZSBDYXJkVHJhbnNhY3Rpb25EZXRhaWxzIGV4dGVuZHMgQ2FyZFRyYW5zYWN0aW9uRGV0YWlsc0Vycm9yIHtcbiAgcmVzdWx0OiB7XG4gICAgYmFua0FjY291bnRzOiB7XG4gICAgICBiYW5rQWNjb3VudE51bTogc3RyaW5nO1xuICAgICAgYmFua05hbWU6IHN0cmluZztcbiAgICAgIGNob2ljZUV4dGVybmFsVHJhbnNhY3Rpb25zOiBhbnk7XG4gICAgICBjdXJyZW50QmFua0FjY291bnRJbmQ6IGJvb2xlYW47XG4gICAgICBkZWJpdERhdGVzOiB7XG4gICAgICAgIGJhc2tldEFtb3VudENvbW1lbnQ6IHVua25vd247XG4gICAgICAgIGNob2ljZUhIS0RlYml0OiBudW1iZXI7XG4gICAgICAgIGRhdGU6IHN0cmluZztcbiAgICAgICAgZGViaXRSZWFzb246IHVua25vd247XG4gICAgICAgIGZpeERlYml0QW1vdW50OiBudW1iZXI7XG4gICAgICAgIGZyb21QdXJjaGFzZURhdGU6IHN0cmluZztcbiAgICAgICAgaXNDaG9pY2VSZXBhaW1lbnQ6IGJvb2xlYW47XG4gICAgICAgIHRvUHVyY2hhc2VEYXRlOiBzdHJpbmc7XG4gICAgICAgIHRvdGFsQmFza2V0QW1vdW50OiBudW1iZXI7XG4gICAgICAgIHRvdGFsRGViaXRzOiB7XG4gICAgICAgICAgY3VycmVuY3lTeW1ib2w6IEN1cnJlbmN5U3ltYm9sO1xuICAgICAgICAgIGFtb3VudDogbnVtYmVyO1xuICAgICAgICB9W107XG4gICAgICAgIHRyYW5zYWN0aW9uczogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgICB9W107XG4gICAgICBpbW1pZGlhdGVEZWJpdHM6IHsgdG90YWxEZWJpdHM6IFtdLCBkZWJpdERheXM6IFtdIH07XG4gICAgfVtdO1xuICAgIGJsb2NrZWRDYXJkSW5kOiBib29sZWFuO1xuICB9O1xuICBzdGF0dXNDb2RlOiAxO1xuICBzdGF0dXNEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzdGF0dXNUaXRsZTogc3RyaW5nO1xufVxuXG5cbmFzeW5jIGZ1bmN0aW9uIGdldExvZ2luRnJhbWUocGFnZTogUGFnZSkge1xuICBsZXQgZnJhbWU6IEZyYW1lIHwgbnVsbCA9IG51bGw7XG4gIGRlYnVnKCd3YWl0IHVudGlsIGxvZ2luIGZyYW1lIGZvdW5kJyk7XG4gIGF3YWl0IHdhaXRVbnRpbCgoKSA9PiB7XG4gICAgZnJhbWUgPSBwYWdlXG4gICAgICAuZnJhbWVzKClcbiAgICAgIC5maW5kKChmKSA9PiBmLnVybCgpLmluY2x1ZGVzKCdjYWxjb25uZWN0JykpIHx8IG51bGw7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSghIWZyYW1lKTtcbiAgfSwgJ3dhaXQgZm9yIGlmcmFtZSB3aXRoIGxvZ2luIGZvcm0nLCAxMDAwMCwgMTAwMCk7XG5cbiAgaWYgKCFmcmFtZSkge1xuICAgIGRlYnVnKCdmYWlsZWQgdG8gZmluZCBsb2dpbiBmcmFtZSBmb3IgMTAgc2Vjb25kcycpO1xuICAgIHRocm93IG5ldyBFcnJvcignZmFpbGVkIHRvIGV4dHJhY3QgbG9naW4gaWZyYW1lJyk7XG4gIH1cblxuICByZXR1cm4gZnJhbWU7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhc0ludmFsaWRQYXNzd29yZEVycm9yKHBhZ2U6IFBhZ2UpIHtcbiAgY29uc3QgZnJhbWUgPSBhd2FpdCBnZXRMb2dpbkZyYW1lKHBhZ2UpO1xuICBjb25zdCBlcnJvckZvdW5kID0gYXdhaXQgZWxlbWVudFByZXNlbnRPblBhZ2UoZnJhbWUsICdkaXYuZ2VuZXJhbC1lcnJvciA+IGRpdicpO1xuICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvckZvdW5kID8gYXdhaXQgcGFnZUV2YWwoZnJhbWUsICdkaXYuZ2VuZXJhbC1lcnJvciA+IGRpdicsICcnLCAoaXRlbSkgPT4ge1xuICAgIHJldHVybiAoaXRlbSBhcyBIVE1MRGl2RWxlbWVudCkuaW5uZXJUZXh0O1xuICB9KSA6ICcnO1xuICByZXR1cm4gZXJyb3JNZXNzYWdlID09PSBJbnZhbGlkUGFzc3dvcmRNZXNzYWdlO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpIHtcbiAgZGVidWcoJ3JldHVybiBwb3NzaWJsZSBsb2dpbiByZXN1bHRzJyk7XG4gIGNvbnN0IHVybHM6IExvZ2luT3B0aW9uc1sncG9zc2libGVSZXN1bHRzJ10gPSB7XG4gICAgW0xvZ2luUmVzdWx0cy5TdWNjZXNzXTogWy9kYXNoYm9hcmQvaV0sXG4gICAgW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdOiBbYXN5bmMgKG9wdGlvbnM/OiB7IHBhZ2U/OiBQYWdlIH0pID0+IHtcbiAgICAgIGNvbnN0IHBhZ2UgPSBvcHRpb25zPy5wYWdlO1xuICAgICAgaWYgKCFwYWdlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXNJbnZhbGlkUGFzc3dvcmRFcnJvcihwYWdlKTtcbiAgICB9XSxcbiAgICAvLyBbTG9naW5SZXN1bHRzLkFjY291bnRCbG9ja2VkXTogW10sIC8vIFRPRE8gYWRkIHdoZW4gcmVhY2hpbmcgdGhpcyBzY2VuYXJpb1xuICAgIC8vIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbXSwgLy8gVE9ETyBhZGQgd2hlbiByZWFjaGluZyB0aGlzIHNjZW5hcmlvXG4gIH07XG4gIHJldHVybiB1cmxzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgZGVidWcoJ2NyZWF0ZSBsb2dpbiBmaWVsZHMgZm9yIHVzZXJuYW1lIGFuZCBwYXNzd29yZCcpO1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6ICdbZm9ybWNvbnRyb2xuYW1lPVwidXNlck5hbWVcIl0nLCB2YWx1ZTogY3JlZGVudGlhbHMudXNlcm5hbWUgfSxcbiAgICB7IHNlbGVjdG9yOiAnW2Zvcm1jb250cm9sbmFtZT1cInBhc3N3b3JkXCJdJywgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gIF07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRQYXJzZWREYXRhVG9UcmFuc2FjdGlvbnMocGFyc2VkRGF0YTogQ2FyZFRyYW5zYWN0aW9uRGV0YWlsc1tdKTogVHJhbnNhY3Rpb25bXSB7XG4gIHJldHVybiBwYXJzZWREYXRhXG4gICAgLmZsYXRNYXAoKG1vbnRoRGF0YSkgPT4gbW9udGhEYXRhLnJlc3VsdC5iYW5rQWNjb3VudHMpXG4gICAgLmZsYXRNYXAoKGFjY291bnRzKSA9PiBhY2NvdW50cy5kZWJpdERhdGVzKVxuICAgIC5mbGF0TWFwKChkZWJpdERhdGUpID0+IGRlYml0RGF0ZS50cmFuc2FjdGlvbnMpXG4gICAgLm1hcCgodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IGluc3RhbGxtZW50cyA9ICh0cmFuc2FjdGlvbi5jdXJQYXltZW50TnVtICYmIHRyYW5zYWN0aW9uLm51bU9mUGF5bWVudHMgJiZcbiAgICAgIHtcbiAgICAgICAgbnVtYmVyOiB0cmFuc2FjdGlvbi5jdXJQYXltZW50TnVtLFxuICAgICAgICB0b3RhbDogdHJhbnNhY3Rpb24ubnVtT2ZQYXltZW50cyxcbiAgICAgIH0pIHx8XG4gICAgICAgIHVuZGVmaW5lZDtcblxuICAgICAgY29uc3QgZGF0ZSA9IG1vbWVudCh0cmFuc2FjdGlvbi50cm5QdXJjaGFzZURhdGUpO1xuXG4gICAgICBsZXQgY2hhcmdlZEFtb3VudCA9IHRyYW5zYWN0aW9uLmFtdEJlZm9yZUNvbnZBbmRJbmRleCAqICgtMSk7XG4gICAgICBsZXQgb3JpZ2luYWxBbW91bnQgPSB0cmFuc2FjdGlvbi50cm5BbXQgKiAoLTEpO1xuXG4gICAgICBpZiAodHJhbnNhY3Rpb24udHJuVHlwZUNvZGUgPT09IHRyblR5cGVDb2RlLmNyZWRpdCkge1xuICAgICAgICBjaGFyZ2VkQW1vdW50ID0gdHJhbnNhY3Rpb24uYW10QmVmb3JlQ29udkFuZEluZGV4O1xuICAgICAgICBvcmlnaW5hbEFtb3VudCA9IHRyYW5zYWN0aW9uLnRybkFtdDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzdWx0OiBUcmFuc2FjdGlvbiA9IHtcbiAgICAgICAgY2hhcmdlZEFtb3VudCxcbiAgICAgICAgaWRlbnRpZmllcjogdHJhbnNhY3Rpb24udHJuSW50SWQsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0cmFuc2FjdGlvbi5tZXJjaGFudE5hbWUsXG4gICAgICAgIG9yaWdpbmFsQW1vdW50LFxuICAgICAgICBvcmlnaW5hbEN1cnJlbmN5OiB0cmFuc2FjdGlvbi50cm5DdXJyZW5jeVN5bWJvbCxcbiAgICAgICAgcHJvY2Vzc2VkRGF0ZTogdHJhbnNhY3Rpb24uZGViQ3JkRGF0ZSxcbiAgICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICAgICAgZGF0ZTogaW5zdGFsbG1lbnRzID9cbiAgICAgICAgICBkYXRlLmFkZChpbnN0YWxsbWVudHMubnVtYmVyIC0gMSwgJ21vbnRoJykudG9JU09TdHJpbmcoKSA6XG4gICAgICAgICAgZGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICB0eXBlOiBbdHJuVHlwZUNvZGUucmVndWxhciwgdHJuVHlwZUNvZGUuc3RhbmRpbmdPcmRlcl0uaW5jbHVkZXModHJhbnNhY3Rpb24udHJuVHlwZUNvZGUpID9cbiAgICAgICAgICBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCA6XG4gICAgICAgICAgVHJhbnNhY3Rpb25UeXBlcy5JbnN0YWxsbWVudHMsXG4gICAgICAgIG1lbW86IHRyYW5zYWN0aW9uLnRyYW5zVHlwZUNvbW1lbnREZXRhaWxzLnRvU3RyaW5nKCkgfHwgdW5kZWZpbmVkLFxuICAgICAgICBjYXRlZ29yeTogdHJhbnNhY3Rpb24uYnJhbmNoQ29kZURlc2MsXG4gICAgICB9O1xuXG4gICAgICBpZiAoaW5zdGFsbG1lbnRzKSB7XG4gICAgICAgIHJlc3VsdC5pbnN0YWxsbWVudHMgPSBpbnN0YWxsbWVudHM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG59XG5cbnR5cGUgU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMgPSB7IHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcgfTtcblxuY2xhc3MgVmlzYUNhbFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyPFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzPiB7XG4gIG9wZW5Mb2dpblBvcHVwID0gYXN5bmMgKCkgPT4ge1xuICAgIGRlYnVnKCdvcGVuIGxvZ2luIHBvcHVwLCB3YWl0IHVudGlsIGxvZ2luIGJ1dHRvbiBhdmFpbGFibGUnKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI2NjTG9naW5EZXNrdG9wQnRuJywgdHJ1ZSk7XG4gICAgZGVidWcoJ2NsaWNrIG9uIHRoZSBsb2dpbiBidXR0b24nKTtcbiAgICBhd2FpdCBjbGlja0J1dHRvbih0aGlzLnBhZ2UsICcjY2NMb2dpbkRlc2t0b3BCdG4nKTtcbiAgICBkZWJ1ZygnZ2V0IHRoZSBmcmFtZSB0aGF0IGhvbGRzIHRoZSBsb2dpbicpO1xuICAgIGNvbnN0IGZyYW1lID0gYXdhaXQgZ2V0TG9naW5GcmFtZSh0aGlzLnBhZ2UpO1xuICAgIGRlYnVnKCd3YWl0IHVudGlsIHRoZSBwYXNzd29yZCBsb2dpbiB0YWIgaGVhZGVyIGlzIGF2YWlsYWJsZScpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChmcmFtZSwgJyNyZWd1bGFyLWxvZ2luJyk7XG4gICAgZGVidWcoJ25hdmlnYXRlIHRvIHRoZSBwYXNzd29yZCBsb2dpbiB0YWInKTtcbiAgICBhd2FpdCBjbGlja0J1dHRvbihmcmFtZSwgJyNyZWd1bGFyLWxvZ2luJyk7XG4gICAgZGVidWcoJ3dhaXQgdW50aWwgdGhlIHBhc3N3b3JkIGxvZ2luIHRhYiBpcyBhY3RpdmUnKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQoZnJhbWUsICdyZWd1bGFyLWxvZ2luJyk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH07XG5cbiAgYXN5bmMgZ2V0Q2FyZHMoKSB7XG4gICAgY29uc3QgaW5pdERhdGEgPSBhd2FpdCB3YWl0VW50aWwoXG4gICAgICAoKSA9PiBnZXRGcm9tU2Vzc2lvblN0b3JhZ2U8SW5pdFJlc3BvbnNlPih0aGlzLnBhZ2UsICdpbml0JyksXG4gICAgICAnZ2V0IGluaXQgZGF0YSBpbiBzZXNzaW9uIHN0b3JhZ2UnLFxuICAgICAgMTAwMDAsXG4gICAgICAxMDAwLFxuICAgICk7XG4gICAgaWYgKCFpbml0RGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb3VsZCBub3QgZmluZCBcXCdpbml0XFwnIGRhdGEgaW4gc2Vzc2lvbiBzdG9yYWdlJyk7XG4gICAgfVxuICAgIHJldHVybiBpbml0RGF0YT8ucmVzdWx0LmNhcmRzLm1hcCgoeyBjYXJkVW5pcXVlSWQsIGxhc3Q0RGlnaXRzIH0pID0+ICh7IGNhcmRVbmlxdWVJZCwgbGFzdDREaWdpdHMgfSkpO1xuICB9XG5cbiAgYXN5bmMgZ2V0QXV0aG9yaXphdGlvbkhlYWRlcigpIHtcbiAgICBjb25zdCBhdXRoTW9kdWxlID0gYXdhaXQgZ2V0RnJvbVNlc3Npb25TdG9yYWdlPHsgYXV0aDogeyBjYWxDb25uZWN0VG9rZW46IHN0cmluZyB9IH0+KHRoaXMucGFnZSwgJ2F1dGgtbW9kdWxlJyk7XG4gICAgaWYgKCFhdXRoTW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvdWxkIG5vdCBmaW5kIFxcJ2F1dGgtbW9kdWxlXFwnIGluIHNlc3Npb24gc3RvcmFnZScpO1xuICAgIH1cbiAgICByZXR1cm4gYENBTEF1dGhTY2hlbWUgJHthdXRoTW9kdWxlLmF1dGguY2FsQ29ubmVjdFRva2VufWA7XG4gIH1cblxuICBhc3luYyBnZXRYU2l0ZUlkKCkge1xuICAgIC8qXG4gICAgICBJIGRvbid0IGtub3cgaWYgdGhlIGNvbnN0YW50IGJlbG93IHdpbGwgY2hhbmdlIGluIHRoZSBmZWF0dXJlLlxuICAgICAgSWYgc28sIHVzZSB0aGUgbmV4dCBjb2RlOlxuXG4gICAgICByZXR1cm4gdGhpcy5wYWdlLmV2YWx1YXRlKCgpID0+IG5ldyBVdCgpLnhTaXRlSWQpO1xuXG4gICAgICBUbyBnZXQgdGhlIGNsYXNzbmFtZSBzZWFyY2ggZm9yICd4U2l0ZUlkJyBpbiB0aGUgcGFnZSBzb3VyY2VcbiAgICAgIGNsYXNzIFV0IHtcbiAgICAgICAgY29uc3RydWN0b3IoX2UsIG9uLCB5bikge1xuICAgICAgICAgICAgdGhpcy5zdG9yZSA9IF9lLFxuICAgICAgICAgICAgdGhpcy5jb25maWcgPSBvbixcbiAgICAgICAgICAgIHRoaXMuZXZlbnRCdXNTZXJ2aWNlID0geW4sXG4gICAgICAgICAgICB0aGlzLnhTaXRlSWQgPSBcIjA5MDMxOTg3LTI3M0UtMjMxMS05MDZDLThBRjg1QjE3QzhEOVwiLFxuICAgICovXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgnMDkwMzE5ODctMjczRS0yMzExLTkwNkMtOEFGODVCMTdDOEQ5Jyk7XG4gIH1cblxuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzKTogTG9naW5PcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0xPR0lOX1VSTH1gLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJ2J1dHRvblt0eXBlPVwic3VibWl0XCJdJyxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKSxcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCAnI2NjTG9naW5EZXNrdG9wQnRuJyksXG4gICAgICBwcmVBY3Rpb246IHRoaXMub3BlbkxvZ2luUG9wdXAsXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJ2J1dHRvbi5idG4tY2xvc2UnKTtcbiAgICAgICAgICBjb25zdCBjdXJyZW50VXJsID0gYXdhaXQgZ2V0Q3VycmVudFVybCh0aGlzLnBhZ2UpO1xuICAgICAgICAgIGlmIChjdXJyZW50VXJsLmVuZHNXaXRoKCdzaXRlLXR1dG9yaWFsJykpIHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWNrQnV0dG9uKHRoaXMucGFnZSwgJ2J1dHRvbi5idG4tY2xvc2UnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zdCBjdXJyZW50VXJsID0gYXdhaXQgZ2V0Q3VycmVudFVybCh0aGlzLnBhZ2UpO1xuICAgICAgICAgIGlmIChjdXJyZW50VXJsLmVuZHNXaXRoKCdkYXNoYm9hcmQnKSkgcmV0dXJuO1xuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1c2VyQWdlbnQ6ICdNb3ppbGxhLzUuMCAoWDExOyBMaW51eCB4ODZfNjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS83OC4wLjM5MDQuMTA4IFNhZmFyaS81MzcuMzYnLFxuICAgIH07XG4gIH1cblxuICBpc0NhcmRUcmFuc2FjdGlvbkRldGFpbHMocmVzdWx0OiBDYXJkVHJhbnNhY3Rpb25EZXRhaWxzIHwgQ2FyZFRyYW5zYWN0aW9uRGV0YWlsc0Vycm9yKTpcbiAgICByZXN1bHQgaXMgQ2FyZFRyYW5zYWN0aW9uRGV0YWlscyB7XG4gICAgcmV0dXJuIChyZXN1bHQgYXMgQ2FyZFRyYW5zYWN0aW9uRGV0YWlscykucmVzdWx0ICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKTogUHJvbWlzZTxTY3JhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKS5zdWJ0cmFjdCg2LCAnbW9udGhzJykuYWRkKDEsICdkYXknKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLm9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG4gICAgZGVidWcoYGZldGNoIHRyYW5zYWN0aW9ucyBzdGFydGluZyAke3N0YXJ0TW9tZW50LmZvcm1hdCgpfWApO1xuXG4gICAgY29uc3QgQXV0aG9yaXphdGlvbiA9IGF3YWl0IHRoaXMuZ2V0QXV0aG9yaXphdGlvbkhlYWRlcigpO1xuICAgIGNvbnN0IGNhcmRzID0gYXdhaXQgdGhpcy5nZXRDYXJkcygpO1xuICAgIGNvbnN0IHhTaXRlSWQgPSBhd2FpdCB0aGlzLmdldFhTaXRlSWQoKTtcbiAgICBjb25zdCBmdXR1cmVNb250aHNUb1NjcmFwZSA9IHRoaXMub3B0aW9ucy5mdXR1cmVNb250aHNUb1NjcmFwZSA/PyAxO1xuXG4gICAgY29uc3QgYWNjb3VudHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGNhcmRzLm1hcChhc3luYyAoY2FyZCkgPT4ge1xuICAgICAgICBkZWJ1ZyhgZmV0Y2ggdHJhbnNhY3Rpb25zIGZvciBjYXJkICR7Y2FyZC5jYXJkVW5pcXVlSWR9YCk7XG5cbiAgICAgICAgY29uc3QgZmluYWxNb250aFRvRmV0Y2hNb21lbnQgPSBtb21lbnQoKS5hZGQoZnV0dXJlTW9udGhzVG9TY3JhcGUsICdtb250aCcpO1xuICAgICAgICBjb25zdCBtb250aHMgPSBmaW5hbE1vbnRoVG9GZXRjaE1vbWVudC5kaWZmKHN0YXJ0TW9tZW50LCAnbW9udGhzJyk7XG5cbiAgICAgICAgY29uc3QgYWxsTW9udGhzRGF0YTogKENhcmRUcmFuc2FjdGlvbkRldGFpbHMpW10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gbW9udGhzOyBpICs9IDEpIHtcbiAgICAgICAgICBjb25zdCBtb250aCA9IGZpbmFsTW9udGhUb0ZldGNoTW9tZW50LmNsb25lKCkuc3VidHJhY3QoaSwgJ21vbnRocycpO1xuICAgICAgICAgIGNvbnN0IG1vbnRoRGF0YSA9IGF3YWl0IGZldGNoUG9zdFdpdGhpblBhZ2U8Q2FyZFRyYW5zYWN0aW9uRGV0YWlscyB8IENhcmRUcmFuc2FjdGlvbkRldGFpbHNFcnJvcj4oXG4gICAgICAgICAgICB0aGlzLnBhZ2UsIFRSQU5TQUNUSU9OU19SRVFVRVNUX0VORFBPSU5ULFxuICAgICAgICAgICAgeyBjYXJkVW5pcXVlSWQ6IGNhcmQuY2FyZFVuaXF1ZUlkLCBtb250aDogbW9udGguZm9ybWF0KCdNJyksIHllYXI6IG1vbnRoLmZvcm1hdCgnWVlZWScpIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIEF1dGhvcml6YXRpb24sXG4gICAgICAgICAgICAgICdYLVNpdGUtSWQnOiB4U2l0ZUlkLFxuICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKG1vbnRoRGF0YT8uc3RhdHVzQ29kZSAhPT0gMSkgdGhyb3cgbmV3IEVycm9yKGBmYWlsZWQgdG8gZmV0Y2ggdHJhbnNhY3Rpb25zIGZvciBjYXJkICR7Y2FyZC5sYXN0NERpZ2l0c30uIE1lc3NhZ2U6ICR7bW9udGhEYXRhPy50aXRsZSB8fCAnJ31gKTtcblxuICAgICAgICAgIGlmICghdGhpcy5pc0NhcmRUcmFuc2FjdGlvbkRldGFpbHMobW9udGhEYXRhKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtb250aERhdGEgaXMgbm90IG9mIHR5cGUgQ2FyZFRyYW5zYWN0aW9uRGV0YWlscycpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGFsbE1vbnRoc0RhdGEucHVzaChtb250aERhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25zID0gY29udmVydFBhcnNlZERhdGFUb1RyYW5zYWN0aW9ucyhhbGxNb250aHNEYXRhKTtcblxuICAgICAgICBkZWJ1ZygnZmlsZXIgb3V0IG9sZCB0cmFuc2FjdGlvbnMnKTtcbiAgICAgICAgY29uc3QgdHhucyA9ICh0aGlzLm9wdGlvbnMub3V0cHV0RGF0YT8uZW5hYmxlVHJhbnNhY3Rpb25zRmlsdGVyQnlEYXRlID8/IHRydWUpID9cbiAgICAgICAgICBmaWx0ZXJPbGRUcmFuc2FjdGlvbnModHJhbnNhY3Rpb25zLCBtb21lbnQoc3RhcnREYXRlKSwgdGhpcy5vcHRpb25zLmNvbWJpbmVJbnN0YWxsbWVudHMgfHwgZmFsc2UpIDpcbiAgICAgICAgICB0cmFuc2FjdGlvbnM7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eG5zLFxuICAgICAgICAgIGFjY291bnROdW1iZXI6IGNhcmQubGFzdDREaWdpdHMsXG4gICAgICAgIH0gYXMgVHJhbnNhY3Rpb25zQWNjb3VudDtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBkZWJ1ZygncmV0dXJuIHRoZSBzY3JhcGVkIGFjY291bnRzJyk7XG5cbiAgICBkZWJ1ZyhKU09OLnN0cmluZ2lmeShhY2NvdW50cywgbnVsbCwgMikpO1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBWaXNhQ2FsU2NyYXBlcjtcbiJdfQ==
300
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy92aXNhLWNhbC50cyJdLCJuYW1lcyI6WyJMT0dJTl9VUkwiLCJUUkFOU0FDVElPTlNfUkVRVUVTVF9FTkRQT0lOVCIsIkludmFsaWRQYXNzd29yZE1lc3NhZ2UiLCJkZWJ1ZyIsInRyblR5cGVDb2RlIiwiZ2V0TG9naW5GcmFtZSIsInBhZ2UiLCJmcmFtZSIsImZyYW1lcyIsImZpbmQiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkVycm9yIiwiaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IiLCJlcnJvckZvdW5kIiwiZXJyb3JNZXNzYWdlIiwiaXRlbSIsImlubmVyVGV4dCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJvcHRpb25zIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiY29udmVydFBhcnNlZERhdGFUb1RyYW5zYWN0aW9ucyIsInBhcnNlZERhdGEiLCJmbGF0TWFwIiwibW9udGhEYXRhIiwicmVzdWx0IiwiYmFua0FjY291bnRzIiwiYWNjb3VudHMiLCJkZWJpdERhdGVzIiwiZGViaXREYXRlIiwidHJhbnNhY3Rpb25zIiwibWFwIiwidHJhbnNhY3Rpb24iLCJpbnN0YWxsbWVudHMiLCJjdXJQYXltZW50TnVtIiwibnVtT2ZQYXltZW50cyIsIm51bWJlciIsInRvdGFsIiwidW5kZWZpbmVkIiwiZGF0ZSIsInRyblB1cmNoYXNlRGF0ZSIsImNoYXJnZWRBbW91bnQiLCJhbXRCZWZvcmVDb252QW5kSW5kZXgiLCJvcmlnaW5hbEFtb3VudCIsInRybkFtdCIsImNyZWRpdCIsImlkZW50aWZpZXIiLCJ0cm5JbnRJZCIsInR5cGUiLCJyZWd1bGFyIiwic3RhbmRpbmdPcmRlciIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJJbnN0YWxsbWVudHMiLCJzdGF0dXMiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiQ29tcGxldGVkIiwiYWRkIiwidG9JU09TdHJpbmciLCJwcm9jZXNzZWREYXRlIiwiRGF0ZSIsImRlYkNyZERhdGUiLCJvcmlnaW5hbEN1cnJlbmN5IiwidHJuQ3VycmVuY3lTeW1ib2wiLCJjaGFyZ2VkQ3VycmVuY3kiLCJkZWJDcmRDdXJyZW5jeVN5bWJvbCIsImRlc2NyaXB0aW9uIiwibWVyY2hhbnROYW1lIiwibWVtbyIsInRyYW5zVHlwZUNvbW1lbnREZXRhaWxzIiwidG9TdHJpbmciLCJjYXRlZ29yeSIsImJyYW5jaENvZGVEZXNjIiwiVmlzYUNhbFNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0Q2FyZHMiLCJpbml0RGF0YSIsImNhcmRzIiwiY2FyZFVuaXF1ZUlkIiwibGFzdDREaWdpdHMiLCJnZXRBdXRob3JpemF0aW9uSGVhZGVyIiwiYXV0aE1vZHVsZSIsImF1dGgiLCJjYWxDb25uZWN0VG9rZW4iLCJnZXRYU2l0ZUlkIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInBvc3NpYmxlUmVzdWx0cyIsImNoZWNrUmVhZGluZXNzIiwicHJlQWN0aW9uIiwib3BlbkxvZ2luUG9wdXAiLCJwb3N0QWN0aW9uIiwiY3VycmVudFVybCIsImVuZHNXaXRoIiwiZSIsInVzZXJBZ2VudCIsImlzQ2FyZFRyYW5zYWN0aW9uRGV0YWlscyIsImZldGNoRGF0YSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0Iiwic3RhcnREYXRlIiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJmb3JtYXQiLCJBdXRob3JpemF0aW9uIiwieFNpdGVJZCIsImZ1dHVyZU1vbnRoc1RvU2NyYXBlIiwiYWxsIiwiY2FyZCIsImZpbmFsTW9udGhUb0ZldGNoTW9tZW50IiwibW9udGhzIiwiZGlmZiIsImFsbE1vbnRoc0RhdGEiLCJpIiwibW9udGgiLCJjbG9uZSIsInllYXIiLCJzdGF0dXNDb2RlIiwidGl0bGUiLCJwdXNoIiwidHhucyIsIm91dHB1dERhdGEiLCJlbmFibGVUcmFuc2FjdGlvbnNGaWx0ZXJCeURhdGUiLCJjb21iaW5lSW5zdGFsbG1lbnRzIiwiYWNjb3VudE51bWJlciIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdWNjZXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFHQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFNQTs7Ozs7O0FBR0EsTUFBTUEsU0FBUyxHQUFHLCtCQUFsQjtBQUNBLE1BQU1DLDZCQUE2QixHQUFHLDhGQUF0QztBQUVBLE1BQU1DLHNCQUFzQixHQUFHLG1DQUEvQjtBQUVBLE1BQU1DLEtBQUssR0FBRyxxQkFBUyxVQUFULENBQWQ7SUFFS0MsVzs7V0FBQUEsVztBQUFBQSxFQUFBQSxXO0FBQUFBLEVBQUFBLFc7QUFBQUEsRUFBQUEsVztBQUFBQSxFQUFBQSxXO0dBQUFBLFcsS0FBQUEsVzs7QUFpR0wsZUFBZUMsYUFBZixDQUE2QkMsSUFBN0IsRUFBeUM7QUFDdkMsTUFBSUMsS0FBbUIsR0FBRyxJQUExQjtBQUNBSixFQUFBQSxLQUFLLENBQUMsOEJBQUQsQ0FBTDtBQUNBLFFBQU0sd0JBQVUsTUFBTTtBQUNwQkksSUFBQUEsS0FBSyxHQUFHRCxJQUFJLENBQ1RFLE1BREssR0FFTEMsSUFGSyxDQUVDQyxDQUFELElBQU9BLENBQUMsQ0FBQ0MsR0FBRixHQUFRQyxRQUFSLENBQWlCLFlBQWpCLENBRlAsS0FFMEMsSUFGbEQ7QUFHQSxXQUFPQyxPQUFPLENBQUNDLE9BQVIsQ0FBZ0IsQ0FBQyxDQUFDUCxLQUFsQixDQUFQO0FBQ0QsR0FMSyxFQUtILGlDQUxHLEVBS2dDLEtBTGhDLEVBS3VDLElBTHZDLENBQU47O0FBT0EsTUFBSSxDQUFDQSxLQUFMLEVBQVk7QUFDVkosSUFBQUEsS0FBSyxDQUFDLDJDQUFELENB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QXZELFNBQVMsU0FBVCxJQUFBQSxTQUFTLFdBQVQsWUFBQUEsU0FBUyxDQUFFa0csS0FBWCxLQUFvQixFQUFHLEVBQXhHLENBQU47O0FBRWpDLFlBQUksQ0FBQyxLQUFLeEIsd0JBQUwsQ0FBOEIxRSxTQUE5QixDQUFMLEVBQStDO0FBQzdDLGdCQUFNLElBQUlyQixLQUFKLENBQVUsaURBQVYsQ0FBTjtBQUNEOztBQUVEaUgsUUFBQUEsYUFBYSxDQUFDTyxJQUFkLENBQW1CbkcsU0FBbkI7QUFDRDs7QUFFRCxZQUFNTSxZQUFZLEdBQUdULCtCQUErQixDQUFDK0YsYUFBRCxDQUFwRDtBQUVBN0gsTUFBQUEsS0FBSyxDQUFDLDRCQUFELENBQUw7QUFDQSxZQUFNcUksSUFBSSxHQUFHLG9EQUFDLEtBQUs5RyxPQUFMLENBQWErRyxVQUFkLDJEQUFDLHVCQUF5QkMsOEJBQTFCLHlFQUE0RCxJQUE1RCxJQUNYLHlDQUFzQmhHLFlBQXRCLEVBQW9DLHFCQUFPd0UsU0FBUCxDQUFwQyxFQUF1RCxLQUFLeEYsT0FBTCxDQUFhaUgsbUJBQWIsSUFBb0MsS0FBM0YsQ0FEVyxHQUVYakcsWUFGRjtBQUlBLGFBQU87QUFDTDhGLFFBQUFBLElBREs7QUFFTEksUUFBQUEsYUFBYSxFQUFFaEIsSUFBSSxDQUFDakM7QUFGZixPQUFQO0FBSUQsS0F2Q0QsQ0FEcUIsQ0FBdkI7QUEyQ0F4RixJQUFBQSxLQUFLLENBQUMsNkJBQUQsQ0FBTDtBQUVBQSxJQUFBQSxLQUFLLENBQUMwSSxJQUFJLENBQUNDLFNBQUwsQ0FBZXZHLFFBQWYsRUFBeUIsSUFBekIsRUFBK0IsQ0FBL0IsQ0FBRCxDQUFMO0FBQ0EsV0FBTztBQUNMd0csTUFBQUEsT0FBTyxFQUFFLElBREo7QUFFTHhHLE1BQUFBO0FBRkssS0FBUDtBQUlEOztBQXBKNkU7O2VBdUpqRThDLGMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBGcmFtZSwgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5cbmltcG9ydCB7IGdldERlYnVnIH0gZnJvbSAnLi4vaGVscGVycy9kZWJ1Zyc7XG5pbXBvcnQge1xuICBjbGlja0J1dHRvbiwgZWxlbWVudFByZXNlbnRPblBhZ2UsIHBhZ2VFdmFsLCB3YWl0VW50aWxFbGVtZW50Rm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9zdFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IGdldEN1cnJlbnRVcmwgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgZ2V0RnJvbVNlc3Npb25TdG9yYWdlIH0gZnJvbSAnLi4vaGVscGVycy9zdG9yYWdlJztcbmltcG9ydCB7IGZpbHRlck9sZFRyYW5zYWN0aW9ucyB9IGZyb20gJy4uL2hlbHBlcnMvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IHdhaXRVbnRpbCB9IGZyb20gJy4uL2hlbHBlcnMvd2FpdGluZyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25TdGF0dXNlcyxcbiAgVHJhbnNhY3Rpb25UeXBlcyxcbiAgVHJhbnNhY3Rpb25zQWNjb3VudCxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luT3B0aW9ucywgTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IFNjcmFwZXJTY3JhcGluZ1Jlc3VsdCB9IGZyb20gJy4vaW50ZXJmYWNlJztcblxuY29uc3QgTE9HSU5fVVJMID0gJ2h0dHBzOi8vd3d3LmNhbC1vbmxpbmUuY28uaWwvJztcbmNvbnN0IFRSQU5TQUNUSU9OU19SRVFVRVNUX0VORFBPSU5UID0gJ2h0dHBzOi8vYXBpLmNhbC1vbmxpbmUuY28uaWwvVHJhbnNhY3Rpb25zL2FwaS90cmFuc2FjdGlvbnNEZXRhaWxzL2dldENhcmRUcmFuc2FjdGlvbnNEZXRhaWxzJztcblxuY29uc3QgSW52YWxpZFBhc3N3b3JkTWVzc2FnZSA9ICfXqdedINeU157Xqdeq157XqSDXkNeVINeU16HXmdeh157XlCDXqdeU15XXlteg15Ug16nXkteV15nXmdedJztcblxuY29uc3QgZGVidWcgPSBnZXREZWJ1ZygndmlzYS1jYWwnKTtcblxuZW51bSB0cm5UeXBlQ29kZSB7XG4gIHJlZ3VsYXIgPSAnNScsXG4gIGNyZWRpdCA9ICc2JyxcbiAgaW5zdGFsbG1lbnRzID0gJzgnLFxuICBzdGFuZGluZ09yZGVyID0gJzknLFxufVxuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgYW10QmVmb3JlQ29udkFuZEluZGV4OiBudW1iZXI7XG4gIGJyYW5jaENvZGVEZXNjOiBzdHJpbmc7XG4gIGNhc2hBY2NNYW5hZ2VyTmFtZTogbnVsbDtcbiAgY2FzaEFjY291bnRNYW5hZ2VyOiBudWxsO1xuICBjYXNoQWNjb3VudFRybkFtdDogbnVtYmVyO1xuICBjaGFyZ2VFeHRlcm5hbFRvQ2FyZENvbW1lbnQ6IHN0cmluZztcbiAgY29tbWVudHM6IFtdO1xuICBjdXJQYXltZW50TnVtOiBudW1iZXI7XG4gIGRlYkNyZEN1cnJlbmN5U3ltYm9sOiBDdXJyZW5jeVN5bWJvbDtcbiAgZGViQ3JkRGF0ZTogc3RyaW5nO1xuICBkZWJpdFNwcmVhZEluZDogYm9vbGVhbjtcbiAgZGlzY291bnRBbW91bnQ6IHVua25vd247XG4gIGRpc2NvdW50UmVhc29uOiB1bmtub3duO1xuICBpbW1lZGlhdGVDb21tZW50czogW107XG4gIGlzSW1tZWRpYXRlQ29tbWVudEluZDogYm9vbGVhbjtcbiAgaXNJbW1lZGlhdGVISEtJbmQ6IGJvb2xlYW47XG4gIGlzTWFyZ2FyaXRhOiBib29sZWFuO1xuICBpc1NwcmVhZFBheW1lbnN0QWJyb2FkOiBib29sZWFuO1xuICBsaW5rZWRDb21tZW50czogW107XG4gIG1lcmNoYW50QWRkcmVzczogc3RyaW5nO1xuICBtZXJjaGFudE5hbWU6IHN0cmluZztcbiAgbWVyY2hhbnRQaG9uZU5vOiBzdHJpbmc7XG4gIG51bU9mUGF5bWVudHM6IG51bWJlcjtcbiAgb25Hb2luZ1RyYW5zYWN0aW9uc0NvbW1lbnQ6IHN0cmluZztcbiAgcmVmdW5kSW5kOiBib29sZWFuO1xuICByb3VuZGluZ0Ftb3VudDogdW5rbm93bjtcbiAgcm91bmRpbmdSZWFzb246IHVua25vd247XG4gIHRva2VuSW5kOiAwO1xuICB0b2tlbk51bWJlclBhcnQ0OiAnJztcbiAgdHJhbnNDYXJkUHJlc2VudEluZDogYm9vbGVhbjtcbiAgdHJhbnNUeXBlQ29tbWVudERldGFpbHM6IFtdO1xuICB0cm5BbXQ6IG51bWJlcjtcbiAgdHJuQ3VycmVuY3lTeW1ib2w6IEN1cnJlbmN5U3ltYm9sO1xuICB0cm5FeGFjV2F5OiBudW1iZXI7XG4gIHRybkludElkOiBzdHJpbmc7XG4gIHRybk51bWFyZXRvcjogbnVtYmVyO1xuICB0cm5QdXJjaGFzZURhdGU6IHN0cmluZztcbiAgdHJuVHlwZTogc3RyaW5nO1xuICB0cm5UeXBlQ29kZTogdHJuVHlwZUNvZGU7XG4gIHdhbGxldFByb3ZpZGVyQ29kZTogMDtcbiAgd2FsbGV0UHJvdmlkZXJEZXNjOiAnJztcbn1cbmludGVyZmFjZSBJbml0UmVzcG9uc2Uge1xuICByZXN1bHQ6IHtcbiAgICBjYXJkczoge1xuICAgICAgY2FyZFVuaXF1ZUlkOiBzdHJpbmc7XG4gICAgICBsYXN0NERpZ2l0czogc3RyaW5nO1xuICAgICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgICB9W107XG4gIH07XG59XG50eXBlIEN1cnJlbmN5U3ltYm9sID0gJ+KCqicgfCBzdHJpbmc7XG5pbnRlcmZhY2UgQ2FyZFRyYW5zYWN0aW9uRGV0YWlsc0Vycm9yIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3RhdHVzQ29kZTogbnVtYmVyO1xufVxuaW50ZXJmYWNlIENhcmRUcmFuc2FjdGlvbkRldGFpbHMgZXh0ZW5kcyBDYXJkVHJhbnNhY3Rpb25EZXRhaWxzRXJyb3Ige1xuICByZXN1bHQ6IHtcbiAgICBiYW5rQWNjb3VudHM6IHtcbiAgICAgIGJhbmtBY2NvdW50TnVtOiBzdHJpbmc7XG4gICAgICBiYW5rTmFtZTogc3RyaW5nO1xuICAgICAgY2hvaWNlRXh0ZXJuYWxUcmFuc2FjdGlvbnM6IGFueTtcbiAgICAgIGN1cnJlbnRCYW5rQWNjb3VudEluZDogYm9vbGVhbjtcbiAgICAgIGRlYml0RGF0ZXM6IHtcbiAgICAgICAgYmFza2V0QW1vdW50Q29tbWVudDogdW5rbm93bjtcbiAgICAgICAgY2hvaWNlSEhLRGViaXQ6IG51bWJlcjtcbiAgICAgICAgZGF0ZTogc3RyaW5nO1xuICAgICAgICBkZWJpdFJlYXNvbjogdW5rbm93bjtcbiAgICAgICAgZml4RGViaXRBbW91bnQ6IG51bWJlcjtcbiAgICAgICAgZnJvbVB1cmNoYXNlRGF0ZTogc3RyaW5nO1xuICAgICAgICBpc0Nob2ljZVJlcGFpbWVudDogYm9vbGVhbjtcbiAgICAgICAgdG9QdXJjaGFzZURhdGU6IHN0cmluZztcbiAgICAgICAgdG90YWxCYXNrZXRBbW91bnQ6IG51bWJlcjtcbiAgICAgICAgdG90YWxEZWJpdHM6IHtcbiAgICAgICAgICBjdXJyZW5jeVN5bWJvbDogQ3VycmVuY3lTeW1ib2w7XG4gICAgICAgICAgYW1vdW50OiBudW1iZXI7XG4gICAgICAgIH1bXTtcbiAgICAgICAgdHJhbnNhY3Rpb25zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXTtcbiAgICAgIH1bXTtcbiAgICAgIGltbWlkaWF0ZURlYml0czogeyB0b3RhbERlYml0czogW10sIGRlYml0RGF5czogW10gfTtcbiAgICB9W107XG4gICAgYmxvY2tlZENhcmRJbmQ6IGJvb2xlYW47XG4gIH07XG4gIHN0YXR1c0NvZGU6IDE7XG4gIHN0YXR1c0Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHN0YXR1c1RpdGxlOiBzdHJpbmc7XG59XG5cblxuYXN5bmMgZnVuY3Rpb24gZ2V0TG9naW5GcmFtZShwYWdlOiBQYWdlKSB7XG4gIGxldCBmcmFtZTogRnJhbWUgfCBudWxsID0gbnVsbDtcbiAgZGVidWcoJ3dhaXQgdW50aWwgbG9naW4gZnJhbWUgZm91bmQnKTtcbiAgYXdhaXQgd2FpdFVudGlsKCgpID0+IHtcbiAgICBmcmFtZSA9IHBhZ2VcbiAgICAgIC5mcmFtZXMoKVxuICAgICAgLmZpbmQoKGYpID0+IGYudXJsKCkuaW5jbHVkZXMoJ2NhbGNvbm5lY3QnKSkgfHwgbnVsbDtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCEhZnJhbWUpO1xuICB9LCAnd2FpdCBmb3IgaWZyYW1lIHdpdGggbG9naW4gZm9ybScsIDEwMDAwLCAxMDAwKTtcblxuICBpZiAoIWZyYW1lKSB7XG4gICAgZGVidWcoJ2ZhaWxlZCB0byBmaW5kIGxvZ2luIGZyYW1lIGZvciAxMCBzZWNvbmRzJyk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdmYWlsZWQgdG8gZXh0cmFjdCBsb2dpbiBpZnJhbWUnKTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaGFzSW52YWxpZFBhc3N3b3JkRXJyb3IocGFnZTogUGFnZSkge1xuICBjb25zdCBmcmFtZSA9IGF3YWl0IGdldExvZ2luRnJhbWUocGFnZSk7XG4gIGNvbnN0IGVycm9yRm91bmQgPSBhd2FpdCBlbGVtZW50UHJlc2VudE9uUGFnZShmcmFtZSwgJ2Rpdi5nZW5lcmFsLWVycm9yID4gZGl2Jyk7XG4gIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yRm91bmQgPyBhd2FpdCBwYWdlRXZhbChmcmFtZSwgJ2Rpdi5nZW5lcmFsLWVycm9yID4gZGl2JywgJycsIChpdGVtKSA9PiB7XG4gICAgcmV0dXJuIChpdGVtIGFzIEhUTUxEaXZFbGVtZW50KS5pbm5lclRleHQ7XG4gIH0pIDogJyc7XG4gIHJldHVybiBlcnJvck1lc3NhZ2UgPT09IEludmFsaWRQYXNzd29yZE1lc3NhZ2U7XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCkge1xuICBkZWJ1ZygncmV0dXJuIHBvc3NpYmxlIGxvZ2luIHJlc3VsdHMnKTtcbiAgY29uc3QgdXJsczogTG9naW5PcHRpb25zWydwb3NzaWJsZVJlc3VsdHMnXSA9IHtcbiAgICBbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdOiBbL2Rhc2hib2FyZC9pXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFthc3luYyAob3B0aW9ucz86IHsgcGFnZT86IFBhZ2UgfSkgPT4ge1xuICAgICAgY29uc3QgcGFnZSA9IG9wdGlvbnM/LnBhZ2U7XG4gICAgICBpZiAoIXBhZ2UpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGhhc0ludmFsaWRQYXNzd29yZEVycm9yKHBhZ2UpO1xuICAgIH1dLFxuICAgIC8vIFtMb2dpblJlc3VsdHMuQWNjb3VudEJsb2NrZWRdOiBbXSwgLy8gVE9ETyBhZGQgd2hlbiByZWFjaGluZyB0aGlzIHNjZW5hcmlvXG4gICAgLy8gW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF06IFtdLCAvLyBUT0RPIGFkZCB3aGVuIHJlYWNoaW5nIHRoaXMgc2NlbmFyaW9cbiAgfTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscykge1xuICBkZWJ1ZygnY3JlYXRlIGxvZ2luIGZpZWxkcyBmb3IgdXNlcm5hbWUgYW5kIHBhc3N3b3JkJyk7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJ1tmb3JtY29udHJvbG5hbWU9XCJ1c2VyTmFtZVwiXScsIHZhbHVlOiBjcmVkZW50aWFscy51c2VybmFtZSB9LFxuICAgIHsgc2VsZWN0b3I6ICdbZm9ybWNvbnRyb2xuYW1lPVwicGFzc3dvcmRcIl0nLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxuZnVuY3Rpb24gY29udmVydFBhcnNlZERhdGFUb1RyYW5zYWN0aW9ucyhwYXJzZWREYXRhOiBDYXJkVHJhbnNhY3Rpb25EZXRhaWxzW10pOiBUcmFuc2FjdGlvbltdIHtcbiAgcmV0dXJuIHBhcnNlZERhdGFcbiAgICAuZmxhdE1hcCgobW9udGhEYXRhKSA9PiBtb250aERhdGEucmVzdWx0LmJhbmtBY2NvdW50cylcbiAgICAuZmxhdE1hcCgoYWNjb3VudHMpID0+IGFjY291bnRzLmRlYml0RGF0ZXMpXG4gICAgLmZsYXRNYXAoKGRlYml0RGF0ZSkgPT4gZGViaXREYXRlLnRyYW5zYWN0aW9ucylcbiAgICAubWFwKCh0cmFuc2FjdGlvbikgPT4ge1xuICAgICAgY29uc3QgaW5zdGFsbG1lbnRzID0gKHRyYW5zYWN0aW9uLmN1clBheW1lbnROdW0gJiYgdHJhbnNhY3Rpb24ubnVtT2ZQYXltZW50cyAmJlxuICAgICAge1xuICAgICAgICBudW1iZXI6IHRyYW5zYWN0aW9uLmN1clBheW1lbnROdW0sXG4gICAgICAgIHRvdGFsOiB0cmFuc2FjdGlvbi5udW1PZlBheW1lbnRzLFxuICAgICAgfSkgfHxcbiAgICAgICAgdW5kZWZpbmVkO1xuXG4gICAgICBjb25zdCBkYXRlID0gbW9tZW50KHRyYW5zYWN0aW9uLnRyblB1cmNoYXNlRGF0ZSk7XG5cbiAgICAgIGxldCBjaGFyZ2VkQW1vdW50ID0gdHJhbnNhY3Rpb24uYW10QmVmb3JlQ29udkFuZEluZGV4ICogKC0xKTtcbiAgICAgIGxldCBvcmlnaW5hbEFtb3VudCA9IHRyYW5zYWN0aW9uLnRybkFtdCAqICgtMSk7XG5cbiAgICAgIGlmICh0cmFuc2FjdGlvbi50cm5UeXBlQ29kZSA9PT0gdHJuVHlwZUNvZGUuY3JlZGl0KSB7XG4gICAgICAgIGNoYXJnZWRBbW91bnQgPSB0cmFuc2FjdGlvbi5hbXRCZWZvcmVDb252QW5kSW5kZXg7XG4gICAgICAgIG9yaWdpbmFsQW1vdW50ID0gdHJhbnNhY3Rpb24udHJuQW10O1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQ6IFRyYW5zYWN0aW9uID0ge1xuICAgICAgICBpZGVudGlmaWVyOiB0cmFuc2FjdGlvbi50cm5JbnRJZCxcbiAgICAgICAgdHlwZTogW3RyblR5cGVDb2RlLnJlZ3VsYXIsIHRyblR5cGVDb2RlLnN0YW5kaW5nT3JkZXJdLmluY2x1ZGVzKHRyYW5zYWN0aW9uLnRyblR5cGVDb2RlKSA/XG4gICAgICAgICAgVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwgOlxuICAgICAgICAgIFRyYW5zYWN0aW9uVHlwZXMuSW5zdGFsbG1lbnRzLFxuICAgICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgICAgICBkYXRlOiBpbnN0YWxsbWVudHMgP1xuICAgICAgICAgIGRhdGUuYWRkKGluc3RhbGxtZW50cy5udW1iZXIgLSAxLCAnbW9udGgnKS50b0lTT1N0cmluZygpIDpcbiAgICAgICAgICBkYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIHByb2Nlc3NlZERhdGU6IG5ldyBEYXRlKHRyYW5zYWN0aW9uLmRlYkNyZERhdGUpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIG9yaWdpbmFsQW1vdW50LFxuICAgICAgICBvcmlnaW5hbEN1cnJlbmN5OiB0cmFuc2FjdGlvbi50cm5DdXJyZW5jeVN5bWJvbCxcbiAgICAgICAgY2hhcmdlZEFtb3VudCxcbiAgICAgICAgY2hhcmdlZEN1cnJlbmN5OiB0cmFuc2FjdGlvbi5kZWJDcmRDdXJyZW5jeVN5bWJvbCxcbiAgICAgICAgZGVzY3JpcHRpb246IHRyYW5zYWN0aW9uLm1lcmNoYW50TmFtZSxcbiAgICAgICAgbWVtbzogdHJhbnNhY3Rpb24udHJhbnNUeXBlQ29tbWVudERldGFpbHMudG9TdHJpbmcoKSxcbiAgICAgICAgY2F0ZWdvcnk6IHRyYW5zYWN0aW9uLmJyYW5jaENvZGVEZXNjLFxuICAgICAgfTtcblxuICAgICAgaWYgKGluc3RhbGxtZW50cykge1xuICAgICAgICByZXN1bHQuaW5zdGFsbG1lbnRzID0gaW5zdGFsbG1lbnRzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xufVxuXG50eXBlIFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzID0geyB1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nIH07XG5cbmNsYXNzIFZpc2FDYWxTY3JhcGVyIGV4dGVuZHMgQmFzZVNjcmFwZXJXaXRoQnJvd3NlcjxTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscz4ge1xuICBvcGVuTG9naW5Qb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICBkZWJ1Zygnb3BlbiBsb2dpbiBwb3B1cCwgd2FpdCB1bnRpbCBsb2dpbiBidXR0b24gYXZhaWxhYmxlJyk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyNjY0xvZ2luRGVza3RvcEJ0bicsIHRydWUpO1xuICAgIGRlYnVnKCdjbGljayBvbiB0aGUgbG9naW4gYnV0dG9uJyk7XG4gICAgYXdhaXQgY2xpY2tCdXR0b24odGhpcy5wYWdlLCAnI2NjTG9naW5EZXNrdG9wQnRuJyk7XG4gICAgZGVidWcoJ2dldCB0aGUgZnJhbWUgdGhhdCBob2xkcyB0aGUgbG9naW4nKTtcbiAgICBjb25zdCBmcmFtZSA9IGF3YWl0IGdldExvZ2luRnJhbWUodGhpcy5wYWdlKTtcbiAgICBkZWJ1Zygnd2FpdCB1bnRpbCB0aGUgcGFzc3dvcmQgbG9naW4gdGFiIGhlYWRlciBpcyBhdmFpbGFibGUnKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQoZnJhbWUsICcjcmVndWxhci1sb2dpbicpO1xuICAgIGRlYnVnKCduYXZpZ2F0ZSB0byB0aGUgcGFzc3dvcmQgbG9naW4gdGFiJyk7XG4gICAgYXdhaXQgY2xpY2tCdXR0b24oZnJhbWUsICcjcmVndWxhci1sb2dpbicpO1xuICAgIGRlYnVnKCd3YWl0IHVudGlsIHRoZSBwYXNzd29yZCBsb2dpbiB0YWIgaXMgYWN0aXZlJyk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKGZyYW1lLCAncmVndWxhci1sb2dpbicpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9O1xuXG4gIGFzeW5jIGdldENhcmRzKCkge1xuICAgIGNvbnN0IGluaXREYXRhID0gYXdhaXQgd2FpdFVudGlsKFxuICAgICAgKCkgPT4gZ2V0RnJvbVNlc3Npb25TdG9yYWdlPEluaXRSZXNwb25zZT4odGhpcy5wYWdlLCAnaW5pdCcpLFxuICAgICAgJ2dldCBpbml0IGRhdGEgaW4gc2Vzc2lvbiBzdG9yYWdlJyxcbiAgICAgIDEwMDAwLFxuICAgICAgMTAwMCxcbiAgICApO1xuICAgIGlmICghaW5pdERhdGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY291bGQgbm90IGZpbmQgXFwnaW5pdFxcJyBkYXRhIGluIHNlc3Npb24gc3RvcmFnZScpO1xuICAgIH1cbiAgICByZXR1cm4gaW5pdERhdGE/LnJlc3VsdC5jYXJkcy5tYXAoKHsgY2FyZFVuaXF1ZUlkLCBsYXN0NERpZ2l0cyB9KSA9PiAoeyBjYXJkVW5pcXVlSWQsIGxhc3Q0RGlnaXRzIH0pKTtcbiAgfVxuXG4gIGFzeW5jIGdldEF1dGhvcml6YXRpb25IZWFkZXIoKSB7XG4gICAgY29uc3QgYXV0aE1vZHVsZSA9IGF3YWl0IGdldEZyb21TZXNzaW9uU3RvcmFnZTx7IGF1dGg6IHsgY2FsQ29ubmVjdFRva2VuOiBzdHJpbmcgfSB9Pih0aGlzLnBhZ2UsICdhdXRoLW1vZHVsZScpO1xuICAgIGlmICghYXV0aE1vZHVsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb3VsZCBub3QgZmluZCBcXCdhdXRoLW1vZHVsZVxcJyBpbiBzZXNzaW9uIHN0b3JhZ2UnKTtcbiAgICB9XG4gICAgcmV0dXJuIGBDQUxBdXRoU2NoZW1lICR7YXV0aE1vZHVsZS5hdXRoLmNhbENvbm5lY3RUb2tlbn1gO1xuICB9XG5cbiAgYXN5bmMgZ2V0WFNpdGVJZCgpIHtcbiAgICAvKlxuICAgICAgSSBkb24ndCBrbm93IGlmIHRoZSBjb25zdGFudCBiZWxvdyB3aWxsIGNoYW5nZSBpbiB0aGUgZmVhdHVyZS5cbiAgICAgIElmIHNvLCB1c2UgdGhlIG5leHQgY29kZTpcblxuICAgICAgcmV0dXJuIHRoaXMucGFnZS5ldmFsdWF0ZSgoKSA9PiBuZXcgVXQoKS54U2l0ZUlkKTtcblxuICAgICAgVG8gZ2V0IHRoZSBjbGFzc25hbWUgc2VhcmNoIGZvciAneFNpdGVJZCcgaW4gdGhlIHBhZ2Ugc291cmNlXG4gICAgICBjbGFzcyBVdCB7XG4gICAgICAgIGNvbnN0cnVjdG9yKF9lLCBvbiwgeW4pIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUgPSBfZSxcbiAgICAgICAgICAgIHRoaXMuY29uZmlnID0gb24sXG4gICAgICAgICAgICB0aGlzLmV2ZW50QnVzU2VydmljZSA9IHluLFxuICAgICAgICAgICAgdGhpcy54U2l0ZUlkID0gXCIwOTAzMTk4Ny0yNzNFLTIzMTEtOTA2Qy04QUY4NUIxN0M4RDlcIixcbiAgICAqL1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoJzA5MDMxOTg3LTI3M0UtMjMxMS05MDZDLThBRjg1QjE3QzhEOScpO1xuICB9XG5cbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscyk6IExvZ2luT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBgJHtMT0dJTl9VUkx9YCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6ICdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScsXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCksXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4gd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyNjY0xvZ2luRGVza3RvcEJ0bicpLFxuICAgICAgcHJlQWN0aW9uOiB0aGlzLm9wZW5Mb2dpblBvcHVwLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICdidXR0b24uYnRuLWNsb3NlJyk7XG4gICAgICAgICAgY29uc3QgY3VycmVudFVybCA9IGF3YWl0IGdldEN1cnJlbnRVcmwodGhpcy5wYWdlKTtcbiAgICAgICAgICBpZiAoY3VycmVudFVybC5lbmRzV2l0aCgnc2l0ZS10dXRvcmlhbCcpKSB7XG4gICAgICAgICAgICBhd2FpdCBjbGlja0J1dHRvbih0aGlzLnBhZ2UsICdidXR0b24uYnRuLWNsb3NlJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc3QgY3VycmVudFVybCA9IGF3YWl0IGdldEN1cnJlbnRVcmwodGhpcy5wYWdlKTtcbiAgICAgICAgICBpZiAoY3VycmVudFVybC5lbmRzV2l0aCgnZGFzaGJvYXJkJykpIHJldHVybjtcbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXNlckFnZW50OiAnTW96aWxsYS81LjAgKFgxMTsgTGludXggeDg2XzY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvNzguMC4zOTA0LjEwOCBTYWZhcmkvNTM3LjM2JyxcbiAgICB9O1xuICB9XG5cbiAgaXNDYXJkVHJhbnNhY3Rpb25EZXRhaWxzKHJlc3VsdDogQ2FyZFRyYW5zYWN0aW9uRGV0YWlscyB8IENhcmRUcmFuc2FjdGlvbkRldGFpbHNFcnJvcik6XG4gICAgcmVzdWx0IGlzIENhcmRUcmFuc2FjdGlvbkRldGFpbHMge1xuICAgIHJldHVybiAocmVzdWx0IGFzIENhcmRUcmFuc2FjdGlvbkRldGFpbHMpLnJlc3VsdCAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCk6IFByb21pc2U8U2NyYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuc3VidHJhY3QoNiwgJ21vbnRocycpLmFkZCgxLCAnZGF5Jyk7XG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5vcHRpb25zLnN0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xuICAgIGRlYnVnKGBmZXRjaCB0cmFuc2FjdGlvbnMgc3RhcnRpbmcgJHtzdGFydE1vbWVudC5mb3JtYXQoKX1gKTtcblxuICAgIGNvbnN0IEF1dGhvcml6YXRpb24gPSBhd2FpdCB0aGlzLmdldEF1dGhvcml6YXRpb25IZWFkZXIoKTtcbiAgICBjb25zdCBjYXJkcyA9IGF3YWl0IHRoaXMuZ2V0Q2FyZHMoKTtcbiAgICBjb25zdCB4U2l0ZUlkID0gYXdhaXQgdGhpcy5nZXRYU2l0ZUlkKCk7XG4gICAgY29uc3QgZnV0dXJlTW9udGhzVG9TY3JhcGUgPSB0aGlzLm9wdGlvbnMuZnV0dXJlTW9udGhzVG9TY3JhcGUgPz8gMTtcblxuICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjYXJkcy5tYXAoYXN5bmMgKGNhcmQpID0+IHtcbiAgICAgICAgZGVidWcoYGZldGNoIHRyYW5zYWN0aW9ucyBmb3IgY2FyZCAke2NhcmQuY2FyZFVuaXF1ZUlkfWApO1xuXG4gICAgICAgIGNvbnN0IGZpbmFsTW9udGhUb0ZldGNoTW9tZW50ID0gbW9tZW50KCkuYWRkKGZ1dHVyZU1vbnRoc1RvU2NyYXBlLCAnbW9udGgnKTtcbiAgICAgICAgY29uc3QgbW9udGhzID0gZmluYWxNb250aFRvRmV0Y2hNb21lbnQuZGlmZihzdGFydE1vbWVudCwgJ21vbnRocycpO1xuXG4gICAgICAgIGNvbnN0IGFsbE1vbnRoc0RhdGE6IChDYXJkVHJhbnNhY3Rpb25EZXRhaWxzKVtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IG1vbnRoczsgaSArPSAxKSB7XG4gICAgICAgICAgY29uc3QgbW9udGggPSBmaW5hbE1vbnRoVG9GZXRjaE1vbWVudC5jbG9uZSgpLnN1YnRyYWN0KGksICdtb250aHMnKTtcbiAgICAgICAgICBjb25zdCBtb250aERhdGEgPSBhd2FpdCBmZXRjaFBvc3RXaXRoaW5QYWdlPENhcmRUcmFuc2FjdGlvbkRldGFpbHMgfCBDYXJkVHJhbnNhY3Rpb25EZXRhaWxzRXJyb3I+KFxuICAgICAgICAgICAgdGhpcy5wYWdlLCBUUkFOU0FDVElPTlNfUkVRVUVTVF9FTkRQT0lOVCxcbiAgICAgICAgICAgIHsgY2FyZFVuaXF1ZUlkOiBjYXJkLmNhcmRVbmlxdWVJZCwgbW9udGg6IG1vbnRoLmZvcm1hdCgnTScpLCB5ZWFyOiBtb250aC5mb3JtYXQoJ1lZWVknKSB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBBdXRob3JpemF0aW9uLFxuICAgICAgICAgICAgICAnWC1TaXRlLUlkJzogeFNpdGVJZCxcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChtb250aERhdGE/LnN0YXR1c0NvZGUgIT09IDEpIHRocm93IG5ldyBFcnJvcihgZmFpbGVkIHRvIGZldGNoIHRyYW5zYWN0aW9ucyBmb3IgY2FyZCAke2NhcmQubGFzdDREaWdpdHN9LiBNZXNzYWdlOiAke21vbnRoRGF0YT8udGl0bGUgfHwgJyd9YCk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuaXNDYXJkVHJhbnNhY3Rpb25EZXRhaWxzKG1vbnRoRGF0YSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbW9udGhEYXRhIGlzIG5vdCBvZiB0eXBlIENhcmRUcmFuc2FjdGlvbkRldGFpbHMnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhbGxNb250aHNEYXRhLnB1c2gobW9udGhEYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRyYW5zYWN0aW9ucyA9IGNvbnZlcnRQYXJzZWREYXRhVG9UcmFuc2FjdGlvbnMoYWxsTW9udGhzRGF0YSk7XG5cbiAgICAgICAgZGVidWcoJ2ZpbGVyIG91dCBvbGQgdHJhbnNhY3Rpb25zJyk7XG4gICAgICAgIGNvbnN0IHR4bnMgPSAodGhpcy5vcHRpb25zLm91dHB1dERhdGE/LmVuYWJsZVRyYW5zYWN0aW9uc0ZpbHRlckJ5RGF0ZSA/PyB0cnVlKSA/XG4gICAgICAgICAgZmlsdGVyT2xkVHJhbnNhY3Rpb25zKHRyYW5zYWN0aW9ucywgbW9tZW50KHN0YXJ0RGF0ZSksIHRoaXMub3B0aW9ucy5jb21iaW5lSW5zdGFsbG1lbnRzIHx8IGZhbHNlKSA6XG4gICAgICAgICAgdHJhbnNhY3Rpb25zO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHhucyxcbiAgICAgICAgICBhY2NvdW50TnVtYmVyOiBjYXJkLmxhc3Q0RGlnaXRzLFxuICAgICAgICB9IGFzIFRyYW5zYWN0aW9uc0FjY291bnQ7XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgZGVidWcoJ3JldHVybiB0aGUgc2NyYXBlZCBhY2NvdW50cycpO1xuXG4gICAgZGVidWcoSlNPTi5zdHJpbmdpZnkoYWNjb3VudHMsIG51bGwsIDIpKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgIGFjY291bnRzLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVmlzYUNhbFNjcmFwZXI7XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "israeli-bank-scrapers",
3
- "version": "3.10.0",
3
+ "version": "3.10.1",
4
4
  "private": false,
5
5
  "description": "Provide scrapers for all major Israeli banks and credit card companies",
6
6
  "engines": {