israeli-bank-scrapers 6.3.2 → 6.3.3
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.
- package/lib/scrapers/discount.js +22 -18
- package/package.json +1 -1
package/lib/scrapers/discount.js
CHANGED
|
@@ -44,30 +44,34 @@ async function fetchAccountData(page, options) {
|
|
|
44
44
|
errorMessage: 'failed to get account data'
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
const accountNumber = accountInfo.UserAccountsData.DefaultAccountNumber;
|
|
48
47
|
const defaultStartMoment = (0, _moment.default)().subtract(1, 'years').add(2, 'day');
|
|
49
48
|
const startDate = options.startDate || defaultStartMoment.toDate();
|
|
50
49
|
const startMoment = _moment.default.max(defaultStartMoment, (0, _moment.default)(startDate));
|
|
51
50
|
const startDateStr = startMoment.format(DATE_FORMAT);
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
const accounts = accountInfo.UserAccountsData.UserAccounts.map(acc => acc.NewAccountInfo.AccountID);
|
|
52
|
+
const accountsData = [];
|
|
53
|
+
for (const accountNumber of accounts) {
|
|
54
|
+
const txnsUrl = `${apiSiteUrl}/lastTransactions/${accountNumber}/Date?IsCategoryDescCode=True&IsTransactionDetails=True&IsEventNames=True&IsFutureTransactionFlag=True&FromDate=${startDateStr}`;
|
|
55
|
+
const txnsResult = await (0, _fetch.fetchGetWithinPage)(page, txnsUrl);
|
|
56
|
+
if (!txnsResult || txnsResult.Error || !txnsResult.CurrentAccountLastTransactions) {
|
|
57
|
+
return {
|
|
58
|
+
success: false,
|
|
59
|
+
errorType: _errors.ScraperErrorTypes.Generic,
|
|
60
|
+
errorMessage: txnsResult && txnsResult.Error ? txnsResult.Error.MsgText : 'unknown error'
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const accountCompletedTxns = convertTransactions(txnsResult.CurrentAccountLastTransactions.OperationEntry, _transactions.TransactionStatuses.Completed);
|
|
64
|
+
const rawFutureTxns = _lodash.default.get(txnsResult, 'CurrentAccountLastTransactions.FutureTransactionsBlock.FutureTransactionEntry');
|
|
65
|
+
const accountPendingTxns = convertTransactions(rawFutureTxns, _transactions.TransactionStatuses.Pending);
|
|
66
|
+
accountsData.push({
|
|
67
|
+
accountNumber,
|
|
68
|
+
balance: txnsResult.CurrentAccountLastTransactions.CurrentAccountInfo.AccountBalance,
|
|
69
|
+
txns: [...accountCompletedTxns, ...accountPendingTxns]
|
|
70
|
+
});
|
|
60
71
|
}
|
|
61
|
-
const completedTxns = convertTransactions(txnsResult.CurrentAccountLastTransactions.OperationEntry, _transactions.TransactionStatuses.Completed);
|
|
62
|
-
const rawFutureTxns = _lodash.default.get(txnsResult, 'CurrentAccountLastTransactions.FutureTransactionsBlock.FutureTransactionEntry');
|
|
63
|
-
const pendingTxns = convertTransactions(rawFutureTxns, _transactions.TransactionStatuses.Pending);
|
|
64
72
|
const accountData = {
|
|
65
73
|
success: true,
|
|
66
|
-
accounts:
|
|
67
|
-
accountNumber,
|
|
68
|
-
balance: txnsResult.CurrentAccountLastTransactions.CurrentAccountInfo.AccountBalance,
|
|
69
|
-
txns: [...completedTxns, ...pendingTxns]
|
|
70
|
-
}]
|
|
74
|
+
accounts: accountsData
|
|
71
75
|
};
|
|
72
76
|
return accountData;
|
|
73
77
|
}
|
|
@@ -113,4 +117,4 @@ class DiscountScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
113
117
|
}
|
|
114
118
|
}
|
|
115
119
|
var _default = exports.default = DiscountScraper;
|
|
116
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbW9tZW50IiwiX2VsZW1lbnRzSW50ZXJhY3Rpb25zIiwiX2ZldGNoIiwiX25hdmlnYXRpb24iLCJfdHJhbnNhY3Rpb25zIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJfZXJyb3JzIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiQkFTRV9VUkwiLCJEQVRFX0ZPUk1BVCIsImNvbnZlcnRUcmFuc2FjdGlvbnMiLCJ0eG5zIiwidHhuU3RhdHVzIiwibWFwIiwidHhuIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwiT3BlcmF0aW9uTnVtYmVyIiwiZGF0ZSIsIm1vbWVudCIsIk9wZXJhdGlvbkRhdGUiLCJ0b0lTT1N0cmluZyIsInByb2Nlc3NlZERhdGUiLCJWYWx1ZURhdGUiLCJvcmlnaW5hbEFtb3VudCIsIk9wZXJhdGlvbkFtb3VudCIsIm9yaWdpbmFsQ3VycmVuY3kiLCJjaGFyZ2VkQW1vdW50IiwiZGVzY3JpcHRpb24iLCJPcGVyYXRpb25EZXNjcmlwdGlvblRvRGlzcGxheSIsInN0YXR1cyIsImZldGNoQWNjb3VudERhdGEiLCJwYWdlIiwib3B0aW9ucyIsImFwaVNpdGVVcmwiLCJhY2NvdW50RGF0YVVybCIsImFjY291bnRJbmZvIiwiZmV0Y2hHZXRXaXRoaW5QYWdlIiwic3VjY2VzcyIsImVycm9yVHlwZSIsIlNjcmFwZXJFcnJvclR5cGVzIiwiR2VuZXJpYyIsImVycm9yTWVzc2FnZSIsImFjY291bnROdW1iZXIiLCJVc2VyQWNjb3VudHNEYXRhIiwiRGVmYXVsdEFjY291bnROdW1iZXIiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsImFkZCIsInN0YXJ0RGF0ZSIsInRvRGF0ZSIsInN0YXJ0TW9tZW50IiwibWF4Iiwic3RhcnREYXRlU3RyIiwiZm9ybWF0IiwidHhuc1VybCIsInR4bnNSZXN1bHQiLCJFcnJvciIsIkN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucyIsIk1zZ1RleHQiLCJjb21wbGV0ZWRUeG5zIiwiT3BlcmF0aW9uRW50cnkiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiQ29tcGxldGVkIiwicmF3RnV0dXJlVHhucyIsIl8iLCJnZXQiLCJwZW5kaW5nVHhucyIsIlBlbmRpbmciLCJhY2NvdW50RGF0YSIsImFjY291bnRzIiwiYmFsYW5jZSIsIkN1cnJlbnRBY2NvdW50SW5mbyIsIkFjY291bnRCYWxhbmNlIiwibmF2aWdhdGVPckVycm9yTGFiZWwiLCJ3YWl0Rm9yTmF2aWdhdGlvbiIsIndhaXRVbnRpbEVsZW1lbnRGb3VuZCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJDaGFuZ2VQYXNzd29yZCIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInZhbHVlIiwiaWQiLCJwYXNzd29yZCIsIm51bSIsIkRpc2NvdW50U2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImNoZWNrUmVhZGluZXNzIiwiZmllbGRzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJwb3N0QWN0aW9uIiwicG9zc2libGVSZXN1bHRzIiwiZmV0Y2hEYXRhIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2Rpc2NvdW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyB0eXBlIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgd2FpdFVudGlsRWxlbWVudEZvdW5kIH0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hHZXRXaXRoaW5QYWdlIH0gZnJvbSAnLi4vaGVscGVycy9mZXRjaCc7XG5pbXBvcnQgeyB3YWl0Rm9yTmF2aWdhdGlvbiB9IGZyb20gJy4uL2hlbHBlcnMvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyB0eXBlIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblN0YXR1c2VzLCBUcmFuc2FjdGlvblR5cGVzIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgdHlwZSBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyBTY3JhcGVyRXJyb3JUeXBlcyB9IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB7IHR5cGUgU2NyYXBlck9wdGlvbnMsIHR5cGUgU2NyYXBlclNjcmFwaW5nUmVzdWx0IH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL3N0YXJ0LnRlbGViYW5rLmNvLmlsJztcbmNvbnN0IERBVEVfRk9STUFUID0gJ1lZWVlNTUREJztcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIE9wZXJhdGlvbk51bWJlcjogbnVtYmVyO1xuICBPcGVyYXRpb25EYXRlOiBzdHJpbmc7XG4gIFZhbHVlRGF0ZTogc3RyaW5nO1xuICBPcGVyYXRpb25BbW91bnQ6IG51bWJlcjtcbiAgT3BlcmF0aW9uRGVzY3JpcHRpb25Ub0Rpc3BsYXk6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEN1cnJlbnRBY2NvdW50SW5mbyB7XG4gIEFjY291bnRCYWxhbmNlOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBTY3JhcGVkQWNjb3VudERhdGEge1xuICBVc2VyQWNjb3VudHNEYXRhOiB7XG4gICAgRGVmYXVsdEFjY291bnROdW1iZXI6IHN0cmluZztcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbkRhdGEge1xuICBFcnJvcj86IHsgTXNnVGV4dDogc3RyaW5nIH07XG4gIEN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucz86IHtcbiAgICBPcGVyYXRpb25FbnRyeTogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgQ3VycmVudEFjY291bnRJbmZvOiBDdXJyZW50QWNjb3VudEluZm87XG4gICAgRnV0dXJlVHJhbnNhY3Rpb25zQmxvY2s6IHtcbiAgICAgIEZ1dHVyZVRyYW5zYWN0aW9uRW50cnk6IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICAgIH07XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10sIHR4blN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcyk6IFRyYW5zYWN0aW9uW10ge1xuICBpZiAoIXR4bnMpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIHR4bnMubWFwKHR4biA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgaWRlbnRpZmllcjogdHhuLk9wZXJhdGlvbk51bWJlcixcbiAgICAgIGRhdGU6IG1vbWVudCh0eG4uT3BlcmF0aW9uRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBwcm9jZXNzZWREYXRlOiBtb21lbnQodHhuLlZhbHVlRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBvcmlnaW5hbEFtb3VudDogdHhuLk9wZXJhdGlvbkFtb3VudCxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6ICdJTFMnLFxuICAgICAgY2hhcmdlZEFtb3VudDogdHhuLk9wZXJhdGlvbkFtb3VudCxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG4uT3BlcmF0aW9uRGVzY3JpcHRpb25Ub0Rpc3BsYXksXG4gICAgICBzdGF0dXM6IHR4blN0YXR1cyxcbiAgICB9O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hBY2NvdW50RGF0YShwYWdlOiBQYWdlLCBvcHRpb25zOiBTY3JhcGVyT3B0aW9ucyk6IFByb21pc2U8U2NyYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gIGNvbnN0IGFwaVNpdGVVcmwgPSBgJHtCQVNFX1VSTH0vVGl0YW4vZ2F0ZXdheUFQSWA7XG5cbiAgY29uc3QgYWNjb3VudERhdGFVcmwgPSBgJHthcGlTaXRlVXJsfS91c2VyQWNjb3VudHNEYXRhYDtcbiAgY29uc3QgYWNjb3VudEluZm8gPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8U2NyYXBlZEFjY291bnREYXRhPihwYWdlLCBhY2NvdW50RGF0YVVybCk7XG5cbiAgaWYgKCFhY2NvdW50SW5mbykge1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYyxcbiAgICAgIGVycm9yTWVzc2FnZTogJ2ZhaWxlZCB0byBnZXQgYWNjb3VudCBkYXRhJyxcbiAgICB9O1xuICB9XG4gIGNvbnN0IGFjY291bnROdW1iZXIgPSBhY2NvdW50SW5mby5Vc2VyQWNjb3VudHNEYXRhLkRlZmF1bHRBY2NvdW50TnVtYmVyO1xuXG4gIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpLmFkZCgyLCAnZGF5Jyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgY29uc3Qgc3RhcnRNb21lbnQgPSBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xuXG4gIGNvbnN0IHN0YXJ0RGF0ZVN0ciA9IHN0YXJ0TW9tZW50LmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIGNvbnN0IHR4bnNVcmwgPSBgJHthcGlTaXRlVXJsfS9sYXN0VHJhbnNhY3Rpb25zLyR7YWNjb3VudE51bWJlcn0vRGF0ZT9Jc0NhdGVnb3J5RGVzY0NvZGU9VHJ1ZSZJc1RyYW5zYWN0aW9uRGV0YWlscz1UcnVlJklzRXZlbnROYW1lcz1UcnVlJklzRnV0dXJlVHJhbnNhY3Rpb25GbGFnPVRydWUmRnJvbURhdGU9JHtzdGFydERhdGVTdHJ9YDtcbiAgY29uc3QgdHhuc1Jlc3VsdCA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxTY3JhcGVkVHJhbnNhY3Rpb25EYXRhPihwYWdlLCB0eG5zVXJsKTtcbiAgaWYgKCF0eG5zUmVzdWx0IHx8IHR4bnNSZXN1bHQuRXJyb3IgfHwgIXR4bnNSZXN1bHQuQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgZXJyb3JNZXNzYWdlOiB0eG5zUmVzdWx0ICYmIHR4bnNSZXN1bHQuRXJyb3IgPyB0eG5zUmVzdWx0LkVycm9yLk1zZ1RleHQgOiAndW5rbm93biBlcnJvcicsXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGNvbXBsZXRlZFR4bnMgPSBjb252ZXJ0VHJhbnNhY3Rpb25zKFxuICAgIHR4bnNSZXN1bHQuQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zLk9wZXJhdGlvbkVudHJ5LFxuICAgIFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICApO1xuICBjb25zdCByYXdGdXR1cmVUeG5zID0gXy5nZXQoXG4gICAgdHhuc1Jlc3VsdCxcbiAgICAnQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zLkZ1dHVyZVRyYW5zYWN0aW9uc0Jsb2NrLkZ1dHVyZVRyYW5zYWN0aW9uRW50cnknLFxuICApIGFzIFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICBjb25zdCBwZW5kaW5nVHhucyA9IGNvbnZlcnRUcmFuc2FjdGlvbnMocmF3RnV0dXJlVHhucywgVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nKTtcblxuICBjb25zdCBhY2NvdW50RGF0YSA9IHtcbiAgICBzdWNjZXNzOiB0cnVlLFxuICAgIGFjY291bnRzOiBbXG4gICAgICB7XG4gICAgICAgIGFjY291bnROdW1iZXIsXG4gICAgICAgIGJhbGFuY2U6IHR4bnNSZXN1bHQuQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zLkN1cnJlbnRBY2NvdW50SW5mby5BY2NvdW50QmFsYW5jZSxcbiAgICAgICAgdHhuczogWy4uLmNvbXBsZXRlZFR4bnMsIC4uLnBlbmRpbmdUeG5zXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcblxuICByZXR1cm4gYWNjb3VudERhdGE7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG5hdmlnYXRlT3JFcnJvckxhYmVsKHBhZ2U6IFBhZ2UpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCB3YWl0Rm9yTmF2aWdhdGlvbihwYWdlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnI2dlbmVyYWwtZXJyb3InLCBmYWxzZSwgMTAwKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyB7XG4gIGNvbnN0IHVybHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge307XG4gIHVybHNbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdID0gW1xuICAgIGAke0JBU0VfVVJMfS9hcG9sbG8vcmV0YWlsLyMvTVlfQUNDT1VOVF9IT01FUEFHRWAsXG4gICAgYCR7QkFTRV9VUkx9L2Fwb2xsby9yZXRhaWwyLyMvTVlfQUNDT1VOVF9IT01FUEFHRWAsXG4gIF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF0gPSBbYCR7QkFTRV9VUkx9L2Fwb2xsby9jb3JlL3RlbXBsYXRlcy9sb2JieS9tYXN0ZXJQYWdlLmh0bWwjL0xPR0lOX1BBR0VgXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdID0gW2Ake0JBU0VfVVJMfS9hcG9sbG8vY29yZS90ZW1wbGF0ZXMvbG9iYnkvbWFzdGVyUGFnZS5odG1sIy9QV0RfUkVORVdgXTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6ICcjdHpJZCcsIHZhbHVlOiBjcmVkZW50aWFscy5pZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjdHpQYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjYWlkbnVtJywgdmFsdWU6IGNyZWRlbnRpYWxzLm51bSB9LFxuICBdO1xufVxuXG50eXBlIFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzID0geyBpZDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBudW06IHN0cmluZyB9O1xuXG5jbGFzcyBEaXNjb3VudFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyPFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzPiB7XG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0JBU0VfVVJMfS9sb2dpbi8jL0xPR0lOX1BBR0VgLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjdHpJZCcpLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJy5zZW5kQnRuJyxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IG5hdmlnYXRlT3JFcnJvckxhYmVsKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hBY2NvdW50RGF0YSh0aGlzLnBhZ2UsIHRoaXMub3B0aW9ucyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRGlzY291bnRTY3JhcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxxQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssYUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sdUJBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUE2QyxTQUFBRCx1QkFBQVMsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUc3QyxNQUFNRyxRQUFRLEdBQUcsOEJBQThCO0FBQy9DLE1BQU1DLFdBQVcsR0FBRyxVQUFVO0FBK0I5QixTQUFTQyxtQkFBbUJBLENBQUNDLElBQTBCLEVBQUVDLFNBQThCLEVBQWlCO0VBQ3RHLElBQUksQ0FBQ0QsSUFBSSxFQUFFO0lBQ1QsT0FBTyxFQUFFO0VBQ1g7RUFDQSxPQUFPQSxJQUFJLENBQUNFLEdBQUcsQ0FBQ0MsR0FBRyxJQUFJO0lBQ3JCLE9BQU87TUFDTEMsSUFBSSxFQUFFQyw4QkFBZ0IsQ0FBQ0MsTUFBTTtNQUM3QkMsVUFBVSxFQUFFSixHQUFHLENBQUNLLGVBQWU7TUFDL0JDLElBQUksRUFBRSxJQUFBQyxlQUFNLEVBQUNQLEdBQUcsQ0FBQ1EsYUFBYSxFQUFFYixXQUFXLENBQUMsQ0FBQ2MsV0FBVyxDQUFDLENBQUM7TUFDMURDLGFBQWEs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
|
|
120
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbW9tZW50IiwiX2VsZW1lbnRzSW50ZXJhY3Rpb25zIiwiX2ZldGNoIiwiX25hdmlnYXRpb24iLCJfdHJhbnNhY3Rpb25zIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJfZXJyb3JzIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiQkFTRV9VUkwiLCJEQVRFX0ZPUk1BVCIsImNvbnZlcnRUcmFuc2FjdGlvbnMiLCJ0eG5zIiwidHhuU3RhdHVzIiwibWFwIiwidHhuIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwiT3BlcmF0aW9uTnVtYmVyIiwiZGF0ZSIsIm1vbWVudCIsIk9wZXJhdGlvbkRhdGUiLCJ0b0lTT1N0cmluZyIsInByb2Nlc3NlZERhdGUiLCJWYWx1ZURhdGUiLCJvcmlnaW5hbEFtb3VudCIsIk9wZXJhdGlvbkFtb3VudCIsIm9yaWdpbmFsQ3VycmVuY3kiLCJjaGFyZ2VkQW1vdW50IiwiZGVzY3JpcHRpb24iLCJPcGVyYXRpb25EZXNjcmlwdGlvblRvRGlzcGxheSIsInN0YXR1cyIsImZldGNoQWNjb3VudERhdGEiLCJwYWdlIiwib3B0aW9ucyIsImFwaVNpdGVVcmwiLCJhY2NvdW50RGF0YVVybCIsImFjY291bnRJbmZvIiwiZmV0Y2hHZXRXaXRoaW5QYWdlIiwic3VjY2VzcyIsImVycm9yVHlwZSIsIlNjcmFwZXJFcnJvclR5cGVzIiwiR2VuZXJpYyIsImVycm9yTWVzc2FnZSIsImRlZmF1bHRTdGFydE1vbWVudCIsInN1YnRyYWN0IiwiYWRkIiwic3RhcnREYXRlIiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtYXgiLCJzdGFydERhdGVTdHIiLCJmb3JtYXQiLCJhY2NvdW50cyIsIlVzZXJBY2NvdW50c0RhdGEiLCJVc2VyQWNjb3VudHMiLCJhY2MiLCJOZXdBY2NvdW50SW5mbyIsIkFjY291bnRJRCIsImFjY291bnRzRGF0YSIsImFjY291bnROdW1iZXIiLCJ0eG5zVXJsIiwidHhuc1Jlc3VsdCIsIkVycm9yIiwiQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zIiwiTXNnVGV4dCIsImFjY291bnRDb21wbGV0ZWRUeG5zIiwiT3BlcmF0aW9uRW50cnkiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiQ29tcGxldGVkIiwicmF3RnV0dXJlVHhucyIsIl8iLCJnZXQiLCJhY2NvdW50UGVuZGluZ1R4bnMiLCJQZW5kaW5nIiwicHVzaCIsImJhbGFuY2UiLCJDdXJyZW50QWNjb3VudEluZm8iLCJBY2NvdW50QmFsYW5jZSIsImFjY291bnREYXRhIiwibmF2aWdhdGVPckVycm9yTGFiZWwiLCJ3YWl0Rm9yTmF2aWdhdGlvbiIsIndhaXRVbnRpbEVsZW1lbnRGb3VuZCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJDaGFuZ2VQYXNzd29yZCIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInZhbHVlIiwiaWQiLCJwYXNzd29yZCIsIm51bSIsIkRpc2NvdW50U2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImNoZWNrUmVhZGluZXNzIiwiZmllbGRzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJwb3N0QWN0aW9uIiwicG9zc2libGVSZXN1bHRzIiwiZmV0Y2hEYXRhIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2Rpc2NvdW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyB0eXBlIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgd2FpdFVudGlsRWxlbWVudEZvdW5kIH0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hHZXRXaXRoaW5QYWdlIH0gZnJvbSAnLi4vaGVscGVycy9mZXRjaCc7XG5pbXBvcnQgeyB3YWl0Rm9yTmF2aWdhdGlvbiB9IGZyb20gJy4uL2hlbHBlcnMvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyB0eXBlIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblN0YXR1c2VzLCBUcmFuc2FjdGlvblR5cGVzIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgdHlwZSBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyBTY3JhcGVyRXJyb3JUeXBlcyB9IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB7IHR5cGUgU2NyYXBlck9wdGlvbnMsIHR5cGUgU2NyYXBlclNjcmFwaW5nUmVzdWx0IH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL3N0YXJ0LnRlbGViYW5rLmNvLmlsJztcbmNvbnN0IERBVEVfRk9STUFUID0gJ1lZWVlNTUREJztcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIE9wZXJhdGlvbk51bWJlcjogbnVtYmVyO1xuICBPcGVyYXRpb25EYXRlOiBzdHJpbmc7XG4gIFZhbHVlRGF0ZTogc3RyaW5nO1xuICBPcGVyYXRpb25BbW91bnQ6IG51bWJlcjtcbiAgT3BlcmF0aW9uRGVzY3JpcHRpb25Ub0Rpc3BsYXk6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEN1cnJlbnRBY2NvdW50SW5mbyB7XG4gIEFjY291bnRCYWxhbmNlOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBTY3JhcGVkQWNjb3VudERhdGEge1xuICBVc2VyQWNjb3VudHNEYXRhOiB7XG4gICAgRGVmYXVsdEFjY291bnROdW1iZXI6IHN0cmluZztcbiAgICBVc2VyQWNjb3VudHM6IEFycmF5PHtcbiAgICAgIE5ld0FjY291bnRJbmZvOiB7XG4gICAgICAgIEFjY291bnRJRDogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9PjtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbkRhdGEge1xuICBFcnJvcj86IHsgTXNnVGV4dDogc3RyaW5nIH07XG4gIEN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucz86IHtcbiAgICBPcGVyYXRpb25FbnRyeTogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgQ3VycmVudEFjY291bnRJbmZvOiBDdXJyZW50QWNjb3VudEluZm87XG4gICAgRnV0dXJlVHJhbnNhY3Rpb25zQmxvY2s6IHtcbiAgICAgIEZ1dHVyZVRyYW5zYWN0aW9uRW50cnk6IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICAgIH07XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10sIHR4blN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcyk6IFRyYW5zYWN0aW9uW10ge1xuICBpZiAoIXR4bnMpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIHR4bnMubWFwKHR4biA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgaWRlbnRpZmllcjogdHhuLk9wZXJhdGlvbk51bWJlcixcbiAgICAgIGRhdGU6IG1vbWVudCh0eG4uT3BlcmF0aW9uRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBwcm9jZXNzZWREYXRlOiBtb21lbnQodHhuLlZhbHVlRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBvcmlnaW5hbEFtb3VudDogdHhuLk9wZXJhdGlvbkFtb3VudCxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6ICdJTFMnLFxuICAgICAgY2hhcmdlZEFtb3VudDogdHhuLk9wZXJhdGlvbkFtb3VudCxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG4uT3BlcmF0aW9uRGVzY3JpcHRpb25Ub0Rpc3BsYXksXG4gICAgICBzdGF0dXM6IHR4blN0YXR1cyxcbiAgICB9O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hBY2NvdW50RGF0YShwYWdlOiBQYWdlLCBvcHRpb25zOiBTY3JhcGVyT3B0aW9ucyk6IFByb21pc2U8U2NyYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gIGNvbnN0IGFwaVNpdGVVcmwgPSBgJHtCQVNFX1VSTH0vVGl0YW4vZ2F0ZXdheUFQSWA7XG5cbiAgY29uc3QgYWNjb3VudERhdGFVcmwgPSBgJHthcGlTaXRlVXJsfS91c2VyQWNjb3VudHNEYXRhYDtcbiAgY29uc3QgYWNjb3VudEluZm8gPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8U2NyYXBlZEFjY291bnREYXRhPihwYWdlLCBhY2NvdW50RGF0YVVybCk7XG5cbiAgaWYgKCFhY2NvdW50SW5mbykge1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYyxcbiAgICAgIGVycm9yTWVzc2FnZTogJ2ZhaWxlZCB0byBnZXQgYWNjb3VudCBkYXRhJyxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDIsICdkYXknKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgY29uc3Qgc3RhcnREYXRlU3RyID0gc3RhcnRNb21lbnQuZm9ybWF0KERBVEVfRk9STUFUKTtcblxuICBjb25zdCBhY2NvdW50czogc3RyaW5nW10gPSBhY2NvdW50SW5mby5Vc2VyQWNjb3VudHNEYXRhLlVzZXJBY2NvdW50cy5tYXAoYWNjID0+IGFjYy5OZXdBY2NvdW50SW5mby5BY2NvdW50SUQpO1xuICBjb25zdCBhY2NvdW50c0RhdGE6IEFycmF5PHsgYWNjb3VudE51bWJlcjogc3RyaW5nOyBiYWxhbmNlOiBudW1iZXI7IHR4bnM6IFRyYW5zYWN0aW9uW10gfT4gPSBbXTtcblxuICBmb3IgKGNvbnN0IGFjY291bnROdW1iZXIgb2YgYWNjb3VudHMpIHtcbiAgICBjb25zdCB0eG5zVXJsID0gYCR7YXBpU2l0ZVVybH0vbGFzdFRyYW5zYWN0aW9ucy8ke2FjY291bnROdW1iZXJ9L0RhdGU/SXNDYXRlZ29yeURlc2NDb2RlPVRydWUmSXNUcmFuc2FjdGlvbkRldGFpbHM9VHJ1ZSZJc0V2ZW50TmFtZXM9VHJ1ZSZJc0Z1dHVyZVRyYW5zYWN0aW9uRmxhZz1UcnVlJkZyb21EYXRlPSR7c3RhcnREYXRlU3RyfWA7XG4gICAgY29uc3QgdHhuc1Jlc3VsdCA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxTY3JhcGVkVHJhbnNhY3Rpb25EYXRhPihwYWdlLCB0eG5zVXJsKTtcbiAgICBpZiAoIXR4bnNSZXN1bHQgfHwgdHhuc1Jlc3VsdC5FcnJvciB8fCAhdHhuc1Jlc3VsdC5DdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsXG4gICAgICAgIGVycm9yTWVzc2FnZTogdHhuc1Jlc3VsdCAmJiB0eG5zUmVzdWx0LkVycm9yID8gdHhuc1Jlc3VsdC5FcnJvci5Nc2dUZXh0IDogJ3Vua25vd24gZXJyb3InLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBhY2NvdW50Q29tcGxldGVkVHhucyA9IGNvbnZlcnRUcmFuc2FjdGlvbnMoXG4gICAgICB0eG5zUmVzdWx0LkN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucy5PcGVyYXRpb25FbnRyeSxcbiAgICAgIFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgICk7XG4gICAgY29uc3QgcmF3RnV0dXJlVHhucyA9IF8uZ2V0KFxuICAgICAgdHhuc1Jlc3VsdCxcbiAgICAgICdDdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMuRnV0dXJlVHJhbnNhY3Rpb25zQmxvY2suRnV0dXJlVHJhbnNhY3Rpb25FbnRyeScsXG4gICAgKSBhcyBTY3JhcGVkVHJhbnNhY3Rpb25bXTtcbiAgICBjb25zdCBhY2NvdW50UGVuZGluZ1R4bnMgPSBjb252ZXJ0VHJhbnNhY3Rpb25zKHJhd0Z1dHVyZVR4bnMsIFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyk7XG5cbiAgICBhY2NvdW50c0RhdGEucHVzaCh7XG4gICAgICBhY2NvdW50TnVtYmVyLFxuICAgICAgYmFsYW5jZTogdHhuc1Jlc3VsdC5DdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMuQ3VycmVudEFjY291bnRJbmZvLkFjY291bnRCYWxhbmNlLFxuICAgICAgdHhuczogWy4uLmFjY291bnRDb21wbGV0ZWRUeG5zLCAuLi5hY2NvdW50UGVuZGluZ1R4bnNdLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgYWNjb3VudERhdGEgPSB7XG4gICAgc3VjY2VzczogdHJ1ZSxcbiAgICBhY2NvdW50czogYWNjb3VudHNEYXRhLFxuICB9O1xuXG4gIHJldHVybiBhY2NvdW50RGF0YTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbmF2aWdhdGVPckVycm9yTGFiZWwocGFnZTogUGFnZSkge1xuICB0cnkge1xuICAgIGF3YWl0IHdhaXRGb3JOYXZpZ2F0aW9uKHBhZ2UpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICcjZ2VuZXJhbC1lcnJvcicsIGZhbHNlLCAxMDApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCk6IFBvc3NpYmxlTG9naW5SZXN1bHRzIHtcbiAgY29uc3QgdXJsczogUG9zc2libGVMb2dpblJlc3VsdHMgPSB7fTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuU3VjY2Vzc10gPSBbXG4gICAgYCR7QkFTRV9VUkx9L2Fwb2xsby9yZXRhaWwvIy9NWV9BQ0NPVU5UX0hPTUVQQUdFYCxcbiAgICBgJHtCQVNFX1VSTH0vYXBvbGxvL3JldGFpbDIvIy9NWV9BQ0NPVU5UX0hPTUVQQUdFYCxcbiAgXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXSA9IFtgJHtCQVNFX1VSTH0vYXBvbGxvL2NvcmUvdGVtcGxhdGVzL2xvYmJ5L21hc3RlclBhZ2UuaHRtbCMvTE9HSU5fUEFHRWBdO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF0gPSBbYCR7QkFTRV9VUkx9L2Fwb2xsby9jb3JlL3RlbXBsYXRlcy9sb2JieS9tYXN0ZXJQYWdlLmh0bWwjL1BXRF9SRU5FV2BdO1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJyN0eklkJywgdmFsdWU6IGNyZWRlbnRpYWxzLmlkIH0sXG4gICAgeyBzZWxlY3RvcjogJyN0elBhc3N3b3JkJywgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gICAgeyBzZWxlY3RvcjogJyNhaWRudW0nLCB2YWx1ZTogY3JlZGVudGlhbHMubnVtIH0sXG4gIF07XG59XG5cbnR5cGUgU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMgPSB7IGlkOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmc7IG51bTogc3RyaW5nIH07XG5cbmNsYXNzIERpc2NvdW50U2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXI8U2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHM+IHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogYCR7QkFTRV9VUkx9L2xvZ2luLyMvTE9HSU5fUEFHRWAsXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4gd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgJyN0eklkJyksXG4gICAgICBmaWVsZHM6IGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzKSxcbiAgICAgIHN1Ym1pdEJ1dHRvblNlbGVjdG9yOiAnLnNlbmRCdG4nLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gbmF2aWdhdGVPckVycm9yTGFiZWwodGhpcy5wYWdlKSxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCkge1xuICAgIHJldHVybiBmZXRjaEFjY291bnREYXRhKHRoaXMucGFnZSwgdGhpcy5vcHRpb25zKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBEaXNjb3VudFNjcmFwZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFFLHFCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSx1QkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQTZDLFNBQUFELHVCQUFBUyxDQUFBLFdBQUFBLENBQUEs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QUNyQ0EsSUFBSSxDQUFDQyxvQ0FBWSxDQUFDQyxPQUFPLENBQUMsR0FBRyxDQUMzQixHQUFHL0UsUUFBUSxzQ0FBc0MsRUFDakQsR0FBR0EsUUFBUSx1Q0FBdUMsQ0FDbkQ7RUFDRDZFLElBQUksQ0FBQ0Msb0NBQVksQ0FBQ0UsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHaEYsUUFBUSwwREFBMEQsQ0FBQztFQUM1RzZFLElBQUksQ0FBQ0Msb0NBQVksQ0FBQ0csY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHakYsUUFBUSx5REFBeUQsQ0FBQztFQUMxRyxPQUFPNkUsSUFBSTtBQUNiO0FBRUEsU0FBU0ssaUJBQWlCQSxDQUFDQyxXQUF1QyxFQUFFO0VBQ2xFLE9BQU8sQ0FDTDtJQUFFQyxRQUFRLEVBQUUsT0FBTztJQUFFQyxLQUFLLEVBQUVGLFdBQVcsQ0FBQ0c7RUFBRyxDQUFDLEVBQzVDO0lBQUVGLFFBQVEsRUFBRSxhQUFhO0lBQUVDLEtBQUssRUFBRUYsV0FBVyxDQUFDSTtFQUFTLENBQUMsRUFDeEQ7SUFBRUgsUUFBUSxFQUFFLFNBQVM7SUFBRUMsS0FBSyxFQUFFRixXQUFXLENBQUNLO0VBQUksQ0FBQyxDQUNoRDtBQUNIO0FBSUEsTUFBTUMsZUFBZSxTQUFTQyw4Q0FBc0IsQ0FBNkI7RUFDL0VDLGVBQWVBLENBQUNSLFdBQXVDLEVBQUU7SUFDdkQsT0FBTztNQUNMUyxRQUFRLEVBQUUsR0FBRzVGLFFBQVEscUJBQXFCO01BQzFDNkYsY0FBYyxFQUFFLE1BQUFBLENBQUEsS0FBWSxJQUFBbEIsMkNBQXFCLEVBQUMsSUFBSSxDQUFDakQsSUFBSSxFQUFFLE9BQU8sQ0FBQztNQUNyRW9FLE1BQU0sRUFBRVosaUJBQWlCLENBQUNDLFdBQVcsQ0FBQztNQUN0Q1ksb0JBQW9CLEVBQUUsVUFBVTtNQUNoQ0MsVUFBVSxFQUFFLE1BQUFBLENBQUEsS0FBWXZCLG9CQUFvQixDQUFDLElBQUksQ0FBQy9DLElBQUksQ0FBQztNQUN2RHVFLGVBQWUsRUFBRXJCLHVCQUF1QixDQUFDO0lBQzNDLENBQUM7RUFDSDtFQUVBLE1BQU1zQixTQUFTQSxDQUFBLEVBQUc7SUFDaEIsT0FBT3pFLGdCQUFnQixDQUFDLElBQUksQ0FBQ0MsSUFBSSxFQUFFLElBQUksQ0FBQ0MsT0FBTyxDQUFDO0VBQ2xEO0FBQ0Y7QUFBQyxJQUFBd0UsUUFBQSxHQUFBQyxPQUFBLENBQUFyRyxPQUFBLEdBRWMwRixlQUFlIiwiaWdub3JlTGlzdCI6W119
|