israeli-bank-scrapers 6.1.0 → 6.1.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.
Files changed (79) hide show
  1. package/lib/assertNever.js +5 -7
  2. package/lib/constants.js +13 -16
  3. package/lib/definitions.js +109 -113
  4. package/lib/helpers/browser.js +9 -16
  5. package/lib/helpers/dates.js +18 -19
  6. package/lib/helpers/debug.js +9 -9
  7. package/lib/helpers/elements-interactions.js +78 -84
  8. package/lib/helpers/fetch.js +82 -89
  9. package/lib/helpers/navigation.js +24 -31
  10. package/lib/helpers/storage.js +10 -12
  11. package/lib/helpers/transactions.js +33 -35
  12. package/lib/helpers/waiting.js +45 -44
  13. package/lib/index.js +15 -82
  14. package/lib/scrapers/amex.js +11 -13
  15. package/lib/scrapers/base-beinleumi-group.js +233 -252
  16. package/lib/scrapers/base-isracard-amex.js +273 -286
  17. package/lib/scrapers/base-scraper-with-browser.js +240 -274
  18. package/lib/scrapers/base-scraper.js +82 -86
  19. package/lib/scrapers/behatsdaa.js +98 -107
  20. package/lib/scrapers/beinleumi.js +11 -20
  21. package/lib/scrapers/beyahad-bishvilha.js +132 -138
  22. package/lib/scrapers/discount.js +97 -103
  23. package/lib/scrapers/errors.js +22 -25
  24. package/lib/scrapers/factory.js +66 -67
  25. package/lib/scrapers/hapoalim.js +162 -182
  26. package/lib/scrapers/interface.js +2 -5
  27. package/lib/scrapers/isracard.js +11 -13
  28. package/lib/scrapers/leumi.js +167 -176
  29. package/lib/scrapers/massad.js +11 -20
  30. package/lib/scrapers/max.js +256 -268
  31. package/lib/scrapers/mercantile.js +14 -20
  32. package/lib/scrapers/mizrahi.js +158 -159
  33. package/lib/scrapers/one-zero-queries.js +4 -7
  34. package/lib/scrapers/one-zero.js +176 -240
  35. package/lib/scrapers/otsar-hahayal.js +11 -20
  36. package/lib/scrapers/pagi.js +11 -20
  37. package/lib/scrapers/union-bank.js +172 -179
  38. package/lib/scrapers/visa-cal.js +254 -263
  39. package/lib/scrapers/yahav.js +190 -211
  40. package/lib/transactions.js +13 -16
  41. package/package.json +12 -14
  42. package/lib/scrapers/amex.test.d.ts +0 -1
  43. package/lib/scrapers/amex.test.js +0 -54
  44. package/lib/scrapers/base-scraper-with-browser.test.d.ts +0 -1
  45. package/lib/scrapers/base-scraper-with-browser.test.js +0 -58
  46. package/lib/scrapers/behatsdaa.test.d.ts +0 -1
  47. package/lib/scrapers/behatsdaa.test.js +0 -50
  48. package/lib/scrapers/beinleumi.test.d.ts +0 -1
  49. package/lib/scrapers/beinleumi.test.js +0 -52
  50. package/lib/scrapers/beyahad-bishvilha.test.d.ts +0 -1
  51. package/lib/scrapers/beyahad-bishvilha.test.js +0 -52
  52. package/lib/scrapers/discount.test.d.ts +0 -1
  53. package/lib/scrapers/discount.test.js +0 -54
  54. package/lib/scrapers/factory.test.d.ts +0 -1
  55. package/lib/scrapers/factory.test.js +0 -19
  56. package/lib/scrapers/hapoalim.test.d.ts +0 -1
  57. package/lib/scrapers/hapoalim.test.js +0 -52
  58. package/lib/scrapers/isracard.test.d.ts +0 -1
  59. package/lib/scrapers/isracard.test.js +0 -54
  60. package/lib/scrapers/leumi.test.d.ts +0 -1
  61. package/lib/scrapers/leumi.test.js +0 -52
  62. package/lib/scrapers/max.test.d.ts +0 -1
  63. package/lib/scrapers/max.test.js +0 -71
  64. package/lib/scrapers/mercantile.test.d.ts +0 -1
  65. package/lib/scrapers/mercantile.test.js +0 -50
  66. package/lib/scrapers/mizrahi.test.d.ts +0 -1
  67. package/lib/scrapers/mizrahi.test.js +0 -58
  68. package/lib/scrapers/one-zero.test.d.ts +0 -1
  69. package/lib/scrapers/one-zero.test.js +0 -56
  70. package/lib/scrapers/otsar-hahayal.test.d.ts +0 -1
  71. package/lib/scrapers/otsar-hahayal.test.js +0 -52
  72. package/lib/scrapers/pagi.test.d.ts +0 -1
  73. package/lib/scrapers/pagi.test.js +0 -52
  74. package/lib/scrapers/union-bank.test.d.ts +0 -1
  75. package/lib/scrapers/union-bank.test.js +0 -52
  76. package/lib/scrapers/visa-cal.test.d.ts +0 -1
  77. package/lib/scrapers/visa-cal.test.js +0 -54
  78. package/lib/scrapers/yahav.test.d.ts +0 -1
  79. package/lib/scrapers/yahav.test.js +0 -54
@@ -1,118 +1,112 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- require("core-js/modules/es.array.iterator.js");
8
- require("core-js/modules/es.promise.js");
9
- var _lodash = _interopRequireDefault(require("lodash"));
10
- var _moment = _interopRequireDefault(require("moment"));
11
- var _elementsInteractions = require("../helpers/elements-interactions");
12
- var _fetch = require("../helpers/fetch");
13
- var _navigation = require("../helpers/navigation");
14
- var _transactions = require("../transactions");
15
- var _baseScraperWithBrowser = require("./base-scraper-with-browser");
16
- var _errors = require("./errors");
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const lodash_1 = __importDefault(require("lodash"));
7
+ const moment_1 = __importDefault(require("moment"));
8
+ const elements_interactions_1 = require("../helpers/elements-interactions");
9
+ const fetch_1 = require("../helpers/fetch");
10
+ const navigation_1 = require("../helpers/navigation");
11
+ const transactions_1 = require("../transactions");
12
+ const base_scraper_with_browser_1 = require("./base-scraper-with-browser");
13
+ const errors_1 = require("./errors");
18
14
  const BASE_URL = 'https://start.telebank.co.il';
19
15
  const DATE_FORMAT = 'YYYYMMDD';
20
16
  function convertTransactions(txns, txnStatus) {
21
- if (!txns) {
22
- return [];
23
- }
24
- return txns.map(txn => {
25
- return {
26
- type: _transactions.TransactionTypes.Normal,
27
- identifier: txn.OperationNumber,
28
- date: (0, _moment.default)(txn.OperationDate, DATE_FORMAT).toISOString(),
29
- processedDate: (0, _moment.default)(txn.ValueDate, DATE_FORMAT).toISOString(),
30
- originalAmount: txn.OperationAmount,
31
- originalCurrency: 'ILS',
32
- chargedAmount: txn.OperationAmount,
33
- description: txn.OperationDescriptionToDisplay,
34
- status: txnStatus
35
- };
36
- });
17
+ if (!txns) {
18
+ return [];
19
+ }
20
+ return txns.map(txn => {
21
+ return {
22
+ type: transactions_1.TransactionTypes.Normal,
23
+ identifier: txn.OperationNumber,
24
+ date: (0, moment_1.default)(txn.OperationDate, DATE_FORMAT).toISOString(),
25
+ processedDate: (0, moment_1.default)(txn.ValueDate, DATE_FORMAT).toISOString(),
26
+ originalAmount: txn.OperationAmount,
27
+ originalCurrency: 'ILS',
28
+ chargedAmount: txn.OperationAmount,
29
+ description: txn.OperationDescriptionToDisplay,
30
+ status: txnStatus,
31
+ };
32
+ });
37
33
  }
38
34
  async function fetchAccountData(page, options) {
39
- const apiSiteUrl = `${BASE_URL}/Titan/gatewayAPI`;
40
- const accountDataUrl = `${apiSiteUrl}/userAccountsData`;
41
- const accountInfo = await (0, _fetch.fetchGetWithinPage)(page, accountDataUrl);
42
- if (!accountInfo) {
43
- return {
44
- success: false,
45
- errorType: _errors.ScraperErrorTypes.Generic,
46
- errorMessage: 'failed to get account data'
47
- };
48
- }
49
- const accountNumber = accountInfo.UserAccountsData.DefaultAccountNumber;
50
- const defaultStartMoment = (0, _moment.default)().subtract(1, 'years').add(2, 'day');
51
- const startDate = options.startDate || defaultStartMoment.toDate();
52
- const startMoment = _moment.default.max(defaultStartMoment, (0, _moment.default)(startDate));
53
- const startDateStr = startMoment.format(DATE_FORMAT);
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'
35
+ const apiSiteUrl = `${BASE_URL}/Titan/gatewayAPI`;
36
+ const accountDataUrl = `${apiSiteUrl}/userAccountsData`;
37
+ const accountInfo = await (0, fetch_1.fetchGetWithinPage)(page, accountDataUrl);
38
+ if (!accountInfo) {
39
+ return {
40
+ success: false,
41
+ errorType: errors_1.ScraperErrorTypes.Generic,
42
+ errorMessage: 'failed to get account data',
43
+ };
44
+ }
45
+ const accountNumber = accountInfo.UserAccountsData.DefaultAccountNumber;
46
+ const defaultStartMoment = (0, moment_1.default)().subtract(1, 'years').add(2, 'day');
47
+ const startDate = options.startDate || defaultStartMoment.toDate();
48
+ const startMoment = moment_1.default.max(defaultStartMoment, (0, moment_1.default)(startDate));
49
+ const startDateStr = startMoment.format(DATE_FORMAT);
50
+ const txnsUrl = `${apiSiteUrl}/lastTransactions/${accountNumber}/Date?IsCategoryDescCode=True&IsTransactionDetails=True&IsEventNames=True&IsFutureTransactionFlag=True&FromDate=${startDateStr}`;
51
+ const txnsResult = await (0, fetch_1.fetchGetWithinPage)(page, txnsUrl);
52
+ if (!txnsResult || txnsResult.Error || !txnsResult.CurrentAccountLastTransactions) {
53
+ return {
54
+ success: false,
55
+ errorType: errors_1.ScraperErrorTypes.Generic,
56
+ errorMessage: txnsResult && txnsResult.Error ? txnsResult.Error.MsgText : 'unknown error',
57
+ };
58
+ }
59
+ const completedTxns = convertTransactions(txnsResult.CurrentAccountLastTransactions.OperationEntry, transactions_1.TransactionStatuses.Completed);
60
+ const rawFutureTxns = lodash_1.default.get(txnsResult, 'CurrentAccountLastTransactions.FutureTransactionsBlock.FutureTransactionEntry');
61
+ const pendingTxns = convertTransactions(rawFutureTxns, transactions_1.TransactionStatuses.Pending);
62
+ const accountData = {
63
+ success: true,
64
+ accounts: [
65
+ {
66
+ accountNumber,
67
+ balance: txnsResult.CurrentAccountLastTransactions.CurrentAccountInfo.AccountBalance,
68
+ txns: [...completedTxns, ...pendingTxns],
69
+ },
70
+ ],
61
71
  };
62
- }
63
- const completedTxns = convertTransactions(txnsResult.CurrentAccountLastTransactions.OperationEntry, _transactions.TransactionStatuses.Completed);
64
- const rawFutureTxns = _lodash.default.get(txnsResult, 'CurrentAccountLastTransactions.FutureTransactionsBlock.FutureTransactionEntry');
65
- const pendingTxns = convertTransactions(rawFutureTxns, _transactions.TransactionStatuses.Pending);
66
- const accountData = {
67
- success: true,
68
- accounts: [{
69
- accountNumber,
70
- balance: txnsResult.CurrentAccountLastTransactions.CurrentAccountInfo.AccountBalance,
71
- txns: [...completedTxns, ...pendingTxns]
72
- }]
73
- };
74
- return accountData;
72
+ return accountData;
75
73
  }
76
74
  async function navigateOrErrorLabel(page) {
77
- try {
78
- await (0, _navigation.waitForNavigation)(page);
79
- } catch (e) {
80
- await (0, _elementsInteractions.waitUntilElementFound)(page, '#general-error', false, 100);
81
- }
75
+ try {
76
+ await (0, navigation_1.waitForNavigation)(page);
77
+ }
78
+ catch (e) {
79
+ await (0, elements_interactions_1.waitUntilElementFound)(page, '#general-error', false, 100);
80
+ }
82
81
  }
83
82
  function getPossibleLoginResults() {
84
- const urls = {};
85
- urls[_baseScraperWithBrowser.LoginResults.Success] = [`${BASE_URL}/apollo/retail/#/MY_ACCOUNT_HOMEPAGE`];
86
- urls[_baseScraperWithBrowser.LoginResults.InvalidPassword] = [`${BASE_URL}/apollo/core/templates/lobby/masterPage.html#/LOGIN_PAGE`];
87
- urls[_baseScraperWithBrowser.LoginResults.ChangePassword] = [`${BASE_URL}/apollo/core/templates/lobby/masterPage.html#/PWD_RENEW`];
88
- return urls;
83
+ const urls = {};
84
+ urls[base_scraper_with_browser_1.LoginResults.Success] = [`${BASE_URL}/apollo/retail/#/MY_ACCOUNT_HOMEPAGE`];
85
+ urls[base_scraper_with_browser_1.LoginResults.InvalidPassword] = [`${BASE_URL}/apollo/core/templates/lobby/masterPage.html#/LOGIN_PAGE`];
86
+ urls[base_scraper_with_browser_1.LoginResults.ChangePassword] = [`${BASE_URL}/apollo/core/templates/lobby/masterPage.html#/PWD_RENEW`];
87
+ return urls;
89
88
  }
90
89
  function createLoginFields(credentials) {
91
- return [{
92
- selector: '#tzId',
93
- value: credentials.id
94
- }, {
95
- selector: '#tzPassword',
96
- value: credentials.password
97
- }, {
98
- selector: '#aidnum',
99
- value: credentials.num
100
- }];
90
+ return [
91
+ { selector: '#tzId', value: credentials.id },
92
+ { selector: '#tzPassword', value: credentials.password },
93
+ { selector: '#aidnum', value: credentials.num },
94
+ ];
101
95
  }
102
- class DiscountScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
103
- getLoginOptions(credentials) {
104
- return {
105
- loginUrl: `${BASE_URL}/login/#/LOGIN_PAGE`,
106
- checkReadiness: async () => (0, _elementsInteractions.waitUntilElementFound)(this.page, '#tzId'),
107
- fields: createLoginFields(credentials),
108
- submitButtonSelector: '.sendBtn',
109
- postAction: async () => navigateOrErrorLabel(this.page),
110
- possibleResults: getPossibleLoginResults()
111
- };
112
- }
113
- async fetchData() {
114
- return fetchAccountData(this.page, this.options);
115
- }
96
+ class DiscountScraper extends base_scraper_with_browser_1.BaseScraperWithBrowser {
97
+ getLoginOptions(credentials) {
98
+ return {
99
+ loginUrl: `${BASE_URL}/login/#/LOGIN_PAGE`,
100
+ checkReadiness: async () => (0, elements_interactions_1.waitUntilElementFound)(this.page, '#tzId'),
101
+ fields: createLoginFields(credentials),
102
+ submitButtonSelector: '.sendBtn',
103
+ postAction: async () => navigateOrErrorLabel(this.page),
104
+ possibleResults: getPossibleLoginResults(),
105
+ };
106
+ }
107
+ async fetchData() {
108
+ return fetchAccountData(this.page, this.options);
109
+ }
116
110
  }
117
- var _default = exports.default = DiscountScraper;
118
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbW9tZW50IiwiX2VsZW1lbnRzSW50ZXJhY3Rpb25zIiwiX2ZldGNoIiwiX25hdmlnYXRpb24iLCJfdHJhbnNhY3Rpb25zIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJfZXJyb3JzIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiQkFTRV9VUkwiLCJEQVRFX0ZPUk1BVCIsImNvbnZlcnRUcmFuc2FjdGlvbnMiLCJ0eG5zIiwidHhuU3RhdHVzIiwibWFwIiwidHhuIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwiT3BlcmF0aW9uTnVtYmVyIiwiZGF0ZSIsIm1vbWVudCIsIk9wZXJhdGlvbkRhdGUiLCJ0b0lTT1N0cmluZyIsInByb2Nlc3NlZERhdGUiLCJWYWx1ZURhdGUiLCJvcmlnaW5hbEFtb3VudCIsIk9wZXJhdGlvbkFtb3VudCIsIm9yaWdpbmFsQ3VycmVuY3kiLCJjaGFyZ2VkQW1vdW50IiwiZGVzY3JpcHRpb24iLCJPcGVyYXRpb25EZXNjcmlwdGlvblRvRGlzcGxheSIsInN0YXR1cyIsImZldGNoQWNjb3VudERhdGEiLCJwYWdlIiwib3B0aW9ucyIsImFwaVNpdGVVcmwiLCJhY2NvdW50RGF0YVVybCIsImFjY291bnRJbmZvIiwiZmV0Y2hHZXRXaXRoaW5QYWdlIiwic3VjY2VzcyIsImVycm9yVHlwZSIsIlNjcmFwZXJFcnJvclR5cGVzIiwiR2VuZXJpYyIsImVycm9yTWVzc2FnZSIsImFjY291bnROdW1iZXIiLCJVc2VyQWNjb3VudHNEYXRhIiwiRGVmYXVsdEFjY291bnROdW1iZXIiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsImFkZCIsInN0YXJ0RGF0ZSIsInRvRGF0ZSIsInN0YXJ0TW9tZW50IiwibWF4Iiwic3RhcnREYXRlU3RyIiwiZm9ybWF0IiwidHhuc1VybCIsInR4bnNSZXN1bHQiLCJFcnJvciIsIkN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucyIsIk1zZ1RleHQiLCJjb21wbGV0ZWRUeG5zIiwiT3BlcmF0aW9uRW50cnkiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiQ29tcGxldGVkIiwicmF3RnV0dXJlVHhucyIsIl8iLCJnZXQiLCJwZW5kaW5nVHhucyIsIlBlbmRpbmciLCJhY2NvdW50RGF0YSIsImFjY291bnRzIiwiYmFsYW5jZSIsIkN1cnJlbnRBY2NvdW50SW5mbyIsIkFjY291bnRCYWxhbmNlIiwibmF2aWdhdGVPckVycm9yTGFiZWwiLCJ3YWl0Rm9yTmF2aWdhdGlvbiIsIndhaXRVbnRpbEVsZW1lbnRGb3VuZCIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJDaGFuZ2VQYXNzd29yZCIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInZhbHVlIiwiaWQiLCJwYXNzd29yZCIsIm51bSIsIkRpc2NvdW50U2NyYXBlciIsIkJhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJnZXRMb2dpbk9wdGlvbnMiLCJsb2dpblVybCIsImNoZWNrUmVhZGluZXNzIiwiZmllbGRzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJwb3N0QWN0aW9uIiwicG9zc2libGVSZXN1bHRzIiwiZmV0Y2hEYXRhIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2Rpc2NvdW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyB0eXBlIFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgd2FpdFVudGlsRWxlbWVudEZvdW5kIH0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hHZXRXaXRoaW5QYWdlIH0gZnJvbSAnLi4vaGVscGVycy9mZXRjaCc7XG5pbXBvcnQgeyB3YWl0Rm9yTmF2aWdhdGlvbiB9IGZyb20gJy4uL2hlbHBlcnMvbmF2aWdhdGlvbic7XG5pbXBvcnQge1xuICB0eXBlIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblN0YXR1c2VzLCBUcmFuc2FjdGlvblR5cGVzLFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCB0eXBlIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IFNjcmFwZXJFcnJvclR5cGVzIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgdHlwZSBTY3JhcGVyT3B0aW9ucywgdHlwZSBTY3JhcGVyU2NyYXBpbmdSZXN1bHQgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbmNvbnN0IEJBU0VfVVJMID0gJ2h0dHBzOi8vc3RhcnQudGVsZWJhbmsuY28uaWwnO1xuY29uc3QgREFURV9GT1JNQVQgPSAnWVlZWU1NREQnO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgT3BlcmF0aW9uTnVtYmVyOiBudW1iZXI7XG4gIE9wZXJhdGlvbkRhdGU6IHN0cmluZztcbiAgVmFsdWVEYXRlOiBzdHJpbmc7XG4gIE9wZXJhdGlvbkFtb3VudDogbnVtYmVyO1xuICBPcGVyYXRpb25EZXNjcmlwdGlvblRvRGlzcGxheTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgQ3VycmVudEFjY291bnRJbmZvIHtcbiAgQWNjb3VudEJhbGFuY2U6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRBY2NvdW50RGF0YSB7XG4gIFVzZXJBY2NvdW50c0RhdGE6IHtcbiAgICBEZWZhdWx0QWNjb3VudE51bWJlcjogc3RyaW5nO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uRGF0YSB7XG4gIEVycm9yPzogeyBNc2dUZXh0OiBzdHJpbmcgfTtcbiAgQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zPzoge1xuICAgIE9wZXJhdGlvbkVudHJ5OiBTY3JhcGVkVHJhbnNhY3Rpb25bXTtcbiAgICBDdXJyZW50QWNjb3VudEluZm86IEN1cnJlbnRBY2NvdW50SW5mbztcbiAgICBGdXR1cmVUcmFuc2FjdGlvbnNCbG9jazp7XG4gICAgICBGdXR1cmVUcmFuc2FjdGlvbkVudHJ5OiBTY3JhcGVkVHJhbnNhY3Rpb25bXTtcbiAgICB9O1xuICB9O1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdLCB0eG5TdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMpOiBUcmFuc2FjdGlvbltdIHtcbiAgaWYgKCF0eG5zKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiB0eG5zLm1hcCgodHhuKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgaWRlbnRpZmllcjogdHhuLk9wZXJhdGlvbk51bWJlcixcbiAgICAgIGRhdGU6IG1vbWVudCh0eG4uT3BlcmF0aW9uRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBwcm9jZXNzZWREYXRlOiBtb21lbnQodHhuLlZhbHVlRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBvcmlnaW5hbEFtb3VudDogdHhuLk9wZXJhdGlvbkFtb3VudCxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6ICdJTFMnLFxuICAgICAgY2hhcmdlZEFtb3VudDogdHhuLk9wZXJhdGlvbkFtb3VudCxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG4uT3BlcmF0aW9uRGVzY3JpcHRpb25Ub0Rpc3BsYXksXG4gICAgICBzdGF0dXM6IHR4blN0YXR1cyxcbiAgICB9O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hBY2NvdW50RGF0YShwYWdlOiBQYWdlLCBvcHRpb25zOiBTY3JhcGVyT3B0aW9ucyk6IFByb21pc2U8U2NyYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gIGNvbnN0IGFwaVNpdGVVcmwgPSBgJHtCQVNFX1VSTH0vVGl0YW4vZ2F0ZXdheUFQSWA7XG5cbiAgY29uc3QgYWNjb3VudERhdGFVcmwgPSBgJHthcGlTaXRlVXJsfS91c2VyQWNjb3VudHNEYXRhYDtcbiAgY29uc3QgYWNjb3VudEluZm8gPSBhd2FpdCBmZXRjaEdldFdpdGhpblBhZ2U8U2NyYXBlZEFjY291bnREYXRhPihwYWdlLCBhY2NvdW50RGF0YVVybCk7XG5cbiAgaWYgKCFhY2NvdW50SW5mbykge1xuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYyxcbiAgICAgIGVycm9yTWVzc2FnZTogJ2ZhaWxlZCB0byBnZXQgYWNjb3VudCBkYXRhJyxcbiAgICB9O1xuICB9XG4gIGNvbnN0IGFjY291bnROdW1iZXIgPSBhY2NvdW50SW5mby5Vc2VyQWNjb3VudHNEYXRhLkRlZmF1bHRBY2NvdW50TnVtYmVyO1xuXG4gIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpLmFkZCgyLCAnZGF5Jyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgY29uc3Qgc3RhcnRNb21lbnQgPSBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xuXG4gIGNvbnN0IHN0YXJ0RGF0ZVN0ciA9IHN0YXJ0TW9tZW50LmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIGNvbnN0IHR4bnNVcmwgPSBgJHthcGlTaXRlVXJsfS9sYXN0VHJhbnNhY3Rpb25zLyR7YWNjb3VudE51bWJlcn0vRGF0ZT9Jc0NhdGVnb3J5RGVzY0NvZGU9VHJ1ZSZJc1RyYW5zYWN0aW9uRGV0YWlscz1UcnVlJklzRXZlbnROYW1lcz1UcnVlJklzRnV0dXJlVHJhbnNhY3Rpb25GbGFnPVRydWUmRnJvbURhdGU9JHtzdGFydERhdGVTdHJ9YDtcbiAgY29uc3QgdHhuc1Jlc3VsdCA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxTY3JhcGVkVHJhbnNhY3Rpb25EYXRhPihwYWdlLCB0eG5zVXJsKTtcbiAgaWYgKCF0eG5zUmVzdWx0IHx8IHR4bnNSZXN1bHQuRXJyb3IgfHxcbiAgICAhdHhuc1Jlc3VsdC5DdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsXG4gICAgICBlcnJvck1lc3NhZ2U6IHR4bnNSZXN1bHQgJiYgdHhuc1Jlc3VsdC5FcnJvciA/IHR4bnNSZXN1bHQuRXJyb3IuTXNnVGV4dCA6ICd1bmtub3duIGVycm9yJyxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgY29tcGxldGVkVHhucyA9IGNvbnZlcnRUcmFuc2FjdGlvbnMoXG4gICAgdHhuc1Jlc3VsdC5DdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMuT3BlcmF0aW9uRW50cnksXG4gICAgVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQsXG4gICk7XG4gIGNvbnN0IHJhd0Z1dHVyZVR4bnMgPSBfLmdldCh0eG5zUmVzdWx0LCAnQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zLkZ1dHVyZVRyYW5zYWN0aW9uc0Jsb2NrLkZ1dHVyZVRyYW5zYWN0aW9uRW50cnknKSBhcyBTY3JhcGVkVHJhbnNhY3Rpb25bXTtcbiAgY29uc3QgcGVuZGluZ1R4bnMgPSBjb252ZXJ0VHJhbnNhY3Rpb25zKHJhd0Z1dHVyZVR4bnMsIFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyk7XG5cbiAgY29uc3QgYWNjb3VudERhdGEgPSB7XG4gICAgc3VjY2VzczogdHJ1ZSxcbiAgICBhY2NvdW50czogW3tcbiAgICAgIGFjY291bnROdW1iZXIsXG4gICAgICBiYWxhbmNlOiB0eG5zUmVzdWx0LkN1cnJlbnRBY2NvdW50TGFzdFRyYW5zYWN0aW9ucy5DdXJyZW50QWNjb3VudEluZm8uQWNjb3VudEJhbGFuY2UsXG4gICAgICB0eG5zOiBbLi4uY29tcGxldGVkVHhucywgLi4ucGVuZGluZ1R4bnNdLFxuICAgIH1dLFxuICB9O1xuXG4gIHJldHVybiBhY2NvdW50RGF0YTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbmF2aWdhdGVPckVycm9yTGFiZWwocGFnZTogUGFnZSkge1xuICB0cnkge1xuICAgIGF3YWl0IHdhaXRGb3JOYXZpZ2F0aW9uKHBhZ2UpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICcjZ2VuZXJhbC1lcnJvcicsIGZhbHNlLCAxMDApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCk6IFBvc3NpYmxlTG9naW5SZXN1bHRzIHtcbiAgY29uc3QgdXJsczogUG9zc2libGVMb2dpblJlc3VsdHMgPSB7fTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuU3VjY2Vzc10gPSBbYCR7QkFTRV9VUkx9L2Fwb2xsby9yZXRhaWwvIy9NWV9BQ0NPVU5UX0hPTUVQQUdFYF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF0gPSBbYCR7QkFTRV9VUkx9L2Fwb2xsby9jb3JlL3RlbXBsYXRlcy9sb2JieS9tYXN0ZXJQYWdlLmh0bWwjL0xPR0lOX1BBR0VgXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdID0gW2Ake0JBU0VfVVJMfS9hcG9sbG8vY29yZS90ZW1wbGF0ZXMvbG9iYnkvbWFzdGVyUGFnZS5odG1sIy9QV0RfUkVORVdgXTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6ICcjdHpJZCcsIHZhbHVlOiBjcmVkZW50aWFscy5pZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjdHpQYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjYWlkbnVtJywgdmFsdWU6IGNyZWRlbnRpYWxzLm51bSB9LFxuICBdO1xufVxuXG50eXBlIFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzID0geyBpZDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBudW06IHN0cmluZyB9O1xuXG5jbGFzcyBEaXNjb3VudFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyPFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzPiB7XG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0JBU0VfVVJMfS9sb2dpbi8jL0xPR0lOX1BBR0VgLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjdHpJZCcpLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJy5zZW5kQnRuJyxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IG5hdmlnYXRlT3JFcnJvckxhYmVsKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hBY2NvdW50RGF0YSh0aGlzLnBhZ2UsIHRoaXMub3B0aW9ucyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRGlzY291bnRTY3JhcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFFLHFCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFMLE9BQUE7QUFHQSxJQUFBTSx1QkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQTZDLFNBQUFELHVCQUFBUyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRzdDLE1BQU1HLFFBQVEsR0FBRyw4QkFBOEI7QUFDL0MsTUFBTUMsV0FBVyxHQUFHLFVBQVU7QUErQjlCLFNBQVNDLG1CQUFtQkEsQ0FBQ0MsSUFBMEIsRUFBRUMsU0FBOEIsRUFBaUI7RUFDdEcsSUFBSSxDQUFDRCxJQUFJLEVBQUU7SUFDVCxPQUFPLEVBQUU7RUFDWDtFQUNBLE9BQU9BLElBQUksQ0FBQ0UsR0FBRyxDQUFFQyxHQUFHLElBQUs7SUFDdkIsT0FBTztNQUNMQyxJQUFJLEVBQUVDLDhCQUFnQixDQUFDQyxNQUFNO01BQzdCQyxVQUFVLEVBQUVKLEdBQUcsQ0FBQ0ssZUFBZTtNQUMvQkMsSUFBSSxFQUFFLElBQUFDLGVBQU0sRUFBQ1AsR0FBRyxDQUFDUSxhQUFhLEVBQUViLFdBQVcsQ0FBQyxDQUFDYyxXQUFXLENBQUMsQ0FBQztNQUMxREMsYUFBYSxFQUFFLElBQUFILGVBQU0sRUFBQ1AsR0FBRyxDQUFDVyxTQUFTLEVBQUVoQixXQUFXLENBQUMsQ0FBQ2MsV0FBVyxDQUFDLENBQUM7TUFDL0RHLGNBQWMsRUFBRVos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
111
+ exports.default = DiscountScraper;
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyYXBlcnMvZGlzY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBdUI7QUFDdkIsb0RBQTRCO0FBRTVCLDRFQUF5RTtBQUN6RSw0Q0FBc0Q7QUFDdEQsc0RBQTBEO0FBQzFELGtEQUEwRjtBQUMxRiwyRUFBOEc7QUFDOUcscUNBQTZDO0FBRzdDLE1BQU0sUUFBUSxHQUFHLDhCQUE4QixDQUFDO0FBQ2hELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQztBQStCL0IsU0FBUyxtQkFBbUIsQ0FBQyxJQUEwQixFQUFFLFNBQThCO0lBQ3JGLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3BCLE9BQU87WUFDTCxJQUFJLEVBQUUsK0JBQWdCLENBQUMsTUFBTTtZQUM3QixVQUFVLEVBQUUsR0FBRyxDQUFDLGVBQWU7WUFDL0IsSUFBSSxFQUFFLElBQUEsZ0JBQU0sRUFBQyxHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUMxRCxhQUFhLEVBQUUsSUFBQSxnQkFBTSxFQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQy9ELGNBQWMsRUFBRSxHQUFHLENBQUMsZUFBZTtZQUNuQyxnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLGFBQWEsRUFBRSxHQUFHLENBQUMsZUFBZTtZQUNsQyxXQUFXLEVBQUUsR0FBRyxDQUFDLDZCQUE2QjtZQUM5QyxNQUFNLEVBQUUsU0FBUztTQUNsQixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsS0FBSyxVQUFVLGdCQUFnQixDQUFDLElBQVUsRUFBRSxPQUF1QjtJQUNqRSxNQUFNLFVBQVUsR0FBRyxH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RUQsa0JBQWUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IHR5cGUgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyB3YWl0VW50aWxFbGVtZW50Rm91bmQgfSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEdldFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IHR5cGUgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCB0eXBlIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IFNjcmFwZXJFcnJvclR5cGVzIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgdHlwZSBTY3JhcGVyT3B0aW9ucywgdHlwZSBTY3JhcGVyU2NyYXBpbmdSZXN1bHQgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbmNvbnN0IEJBU0VfVVJMID0gJ2h0dHBzOi8vc3RhcnQudGVsZWJhbmsuY28uaWwnO1xuY29uc3QgREFURV9GT1JNQVQgPSAnWVlZWU1NREQnO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgT3BlcmF0aW9uTnVtYmVyOiBudW1iZXI7XG4gIE9wZXJhdGlvbkRhdGU6IHN0cmluZztcbiAgVmFsdWVEYXRlOiBzdHJpbmc7XG4gIE9wZXJhdGlvbkFtb3VudDogbnVtYmVyO1xuICBPcGVyYXRpb25EZXNjcmlwdGlvblRvRGlzcGxheTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgQ3VycmVudEFjY291bnRJbmZvIHtcbiAgQWNjb3VudEJhbGFuY2U6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRBY2NvdW50RGF0YSB7XG4gIFVzZXJBY2NvdW50c0RhdGE6IHtcbiAgICBEZWZhdWx0QWNjb3VudE51bWJlcjogc3RyaW5nO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uRGF0YSB7XG4gIEVycm9yPzogeyBNc2dUZXh0OiBzdHJpbmcgfTtcbiAgQ3VycmVudEFjY291bnRMYXN0VHJhbnNhY3Rpb25zPzoge1xuICAgIE9wZXJhdGlvbkVudHJ5OiBTY3JhcGVkVHJhbnNhY3Rpb25bXTtcbiAgICBDdXJyZW50QWNjb3VudEluZm86IEN1cnJlbnRBY2NvdW50SW5mbztcbiAgICBGdXR1cmVUcmFuc2FjdGlvbnNCbG9jazoge1xuICAgICAgRnV0dXJlVHJhbnNhY3Rpb25FbnRyeTogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSwgdHhuU3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzKTogVHJhbnNhY3Rpb25bXSB7XG4gIGlmICghdHhucykge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICByZXR1cm4gdHhucy5tYXAodHhuID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiB0eG4uT3BlcmF0aW9uTnVtYmVyLFxuICAgICAgZGF0ZTogbW9tZW50KHR4bi5PcGVyYXRpb25EYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IG1vbWVudCh0eG4uVmFsdWVEYXRlLCBEQVRFX0ZPUk1BVCkudG9JU09TdHJpbmcoKSxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiB0eG4uT3BlcmF0aW9uQW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogJ0lMUycsXG4gICAgICBjaGFyZ2VkQW1vdW50OiB0eG4uT3BlcmF0aW9uQW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5PcGVyYXRpb25EZXNjcmlwdGlvblRvRGlzcGxheSxcbiAgICAgIHN0YXR1czogdHhuU3RhdHVzLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaEFjY291bnREYXRhKHBhZ2U6IFBhZ2UsIG9wdGlvbnM6IFNjcmFwZXJPcHRpb25zKTogUHJvbWlzZTxTY3JhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgY29uc3QgYXBpU2l0ZVVybCA9IGAke0JBU0VfVVJMfS9UaXRhbi9nYXRld2F5QVBJYDtcblxuICBjb25zdCBhY2NvdW50RGF0YVVybCA9IGAke2FwaVNpdGVVcmx9L3VzZXJBY2NvdW50c0RhdGFgO1xuICBjb25zdCBhY2NvdW50SW5mbyA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxTY3JhcGVkQWNjb3VudERhdGE+KHBhZ2UsIGFjY291bnREYXRhVXJsKTtcblxuICBpZiAoIWFjY291bnRJbmZvKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgZXJyb3JNZXNzYWdlOiAnZmFpbGVkIHRvIGdldCBhY2NvdW50IGRhdGEnLFxuICAgIH07XG4gIH1cbiAgY29uc3QgYWNjb3VudE51bWJlciA9IGFjY291bnRJbmZvLlVzZXJBY2NvdW50c0RhdGEuRGVmYXVsdEFjY291bnROdW1iZXI7XG5cbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDIsICdkYXknKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgY29uc3Qgc3RhcnREYXRlU3RyID0gc3RhcnRNb21lbnQuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgY29uc3QgdHhuc1VybCA9IGAke2FwaVNpdGVVcmx9L2xhc3RUcmFuc2FjdGlvbnMvJHthY2NvdW50TnVtYmVyfS9EYXRlP0lzQ2F0ZWdvcnlEZXNjQ29kZT1UcnVlJklzVHJhbnNhY3Rpb25EZXRhaWxzPVRydWUmSXNFdmVudE5hbWVzPVRydWUmSXNGdXR1cmVUcmFuc2FjdGlvbkZsYWc9VHJ1ZSZGcm9tRGF0ZT0ke3N0YXJ0RGF0ZVN0cn1gO1xuICBjb25zdCB0eG5zUmVzdWx0ID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPFNjcmFwZWRUcmFuc2FjdGlvbkRhdGE+KHBhZ2UsIHR4bnNVcmwpO1xuICBpZiAoIXR4bnNSZXN1bHQgfHwgdHhuc1Jlc3VsdC5FcnJvciB8fCAhdHhuc1Jlc3VsdC5DdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsXG4gICAgICBlcnJvck1lc3NhZ2U6IHR4bnNSZXN1bHQgJiYgdHhuc1Jlc3VsdC5FcnJvciA/IHR4bnNSZXN1bHQuRXJyb3IuTXNnVGV4dCA6ICd1bmtub3duIGVycm9yJyxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgY29tcGxldGVkVHhucyA9IGNvbnZlcnRUcmFuc2FjdGlvbnMoXG4gICAgdHhuc1Jlc3VsdC5DdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMuT3BlcmF0aW9uRW50cnksXG4gICAgVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQsXG4gICk7XG4gIGNvbnN0IHJhd0Z1dHVyZVR4bnMgPSBfLmdldChcbiAgICB0eG5zUmVzdWx0LFxuICAgICdDdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMuRnV0dXJlVHJhbnNhY3Rpb25zQmxvY2suRnV0dXJlVHJhbnNhY3Rpb25FbnRyeScsXG4gICkgYXMgU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gIGNvbnN0IHBlbmRpbmdUeG5zID0gY29udmVydFRyYW5zYWN0aW9ucyhyYXdGdXR1cmVUeG5zLCBUcmFuc2FjdGlvblN0YXR1c2VzLlBlbmRpbmcpO1xuXG4gIGNvbnN0IGFjY291bnREYXRhID0ge1xuICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgYWNjb3VudHM6IFtcbiAgICAgIHtcbiAgICAgICAgYWNjb3VudE51bWJlcixcbiAgICAgICAgYmFsYW5jZTogdHhuc1Jlc3VsdC5DdXJyZW50QWNjb3VudExhc3RUcmFuc2FjdGlvbnMuQ3VycmVudEFjY291bnRJbmZvLkFjY291bnRCYWxhbmNlLFxuICAgICAgICB0eG5zOiBbLi4uY29tcGxldGVkVHhucywgLi4ucGVuZGluZ1R4bnNdLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuXG4gIHJldHVybiBhY2NvdW50RGF0YTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbmF2aWdhdGVPckVycm9yTGFiZWwocGFnZTogUGFnZSkge1xuICB0cnkge1xuICAgIGF3YWl0IHdhaXRGb3JOYXZpZ2F0aW9uKHBhZ2UpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICcjZ2VuZXJhbC1lcnJvcicsIGZhbHNlLCAxMDApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCk6IFBvc3NpYmxlTG9naW5SZXN1bHRzIHtcbiAgY29uc3QgdXJsczogUG9zc2libGVMb2dpblJlc3VsdHMgPSB7fTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuU3VjY2Vzc10gPSBbYCR7QkFTRV9VUkx9L2Fwb2xsby9yZXRhaWwvIy9NWV9BQ0NPVU5UX0hPTUVQQUdFYF07XG4gIHVybHNbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF0gPSBbYCR7QkFTRV9VUkx9L2Fwb2xsby9jb3JlL3RlbXBsYXRlcy9sb2JieS9tYXN0ZXJQYWdlLmh0bWwjL0xPR0lOX1BBR0VgXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdID0gW2Ake0JBU0VfVVJMfS9hcG9sbG8vY29yZS90ZW1wbGF0ZXMvbG9iYnkvbWFzdGVyUGFnZS5odG1sIy9QV0RfUkVORVdgXTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscykge1xuICByZXR1cm4gW1xuICAgIHsgc2VsZWN0b3I6ICcjdHpJZCcsIHZhbHVlOiBjcmVkZW50aWFscy5pZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjdHpQYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICAgIHsgc2VsZWN0b3I6ICcjYWlkbnVtJywgdmFsdWU6IGNyZWRlbnRpYWxzLm51bSB9LFxuICBdO1xufVxuXG50eXBlIFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzID0geyBpZDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBudW06IHN0cmluZyB9O1xuXG5jbGFzcyBEaXNjb3VudFNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyPFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzPiB7XG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IGAke0JBU0VfVVJMfS9sb2dpbi8jL0xPR0lOX1BBR0VgLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsICcjdHpJZCcpLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJy5zZW5kQnRuJyxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IG5hdmlnYXRlT3JFcnJvckxhYmVsKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hBY2NvdW50RGF0YSh0aGlzLnBhZ2UsIHRoaXMub3B0aW9ucyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRGlzY291bnRTY3JhcGVyO1xuIl19
@@ -1,32 +1,29 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ScraperErrorTypes = void 0;
7
- exports.createGenericError = createGenericError;
8
- exports.createTimeoutError = createTimeoutError;
9
- let ScraperErrorTypes = exports.ScraperErrorTypes = /*#__PURE__*/function (ScraperErrorTypes) {
10
- ScraperErrorTypes["TwoFactorRetrieverMissing"] = "TWO_FACTOR_RETRIEVER_MISSING";
11
- ScraperErrorTypes["InvalidPassword"] = "INVALID_PASSWORD";
12
- ScraperErrorTypes["ChangePassword"] = "CHANGE_PASSWORD";
13
- ScraperErrorTypes["Timeout"] = "TIMEOUT";
14
- ScraperErrorTypes["AccountBlocked"] = "ACCOUNT_BLOCKED";
15
- ScraperErrorTypes["Generic"] = "GENERIC";
16
- ScraperErrorTypes["General"] = "GENERAL_ERROR";
17
- return ScraperErrorTypes;
18
- }({});
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createGenericError = exports.createTimeoutError = exports.ScraperErrorTypes = void 0;
4
+ var ScraperErrorTypes;
5
+ (function (ScraperErrorTypes) {
6
+ ScraperErrorTypes["TwoFactorRetrieverMissing"] = "TWO_FACTOR_RETRIEVER_MISSING";
7
+ ScraperErrorTypes["InvalidPassword"] = "INVALID_PASSWORD";
8
+ ScraperErrorTypes["ChangePassword"] = "CHANGE_PASSWORD";
9
+ ScraperErrorTypes["Timeout"] = "TIMEOUT";
10
+ ScraperErrorTypes["AccountBlocked"] = "ACCOUNT_BLOCKED";
11
+ ScraperErrorTypes["Generic"] = "GENERIC";
12
+ ScraperErrorTypes["General"] = "GENERAL_ERROR";
13
+ })(ScraperErrorTypes = exports.ScraperErrorTypes || (exports.ScraperErrorTypes = {}));
19
14
  function createErrorResult(errorType, errorMessage) {
20
- return {
21
- success: false,
22
- errorType,
23
- errorMessage
24
- };
15
+ return {
16
+ success: false,
17
+ errorType,
18
+ errorMessage,
19
+ };
25
20
  }
26
21
  function createTimeoutError(errorMessage) {
27
- return createErrorResult(ScraperErrorTypes.Timeout, errorMessage);
22
+ return createErrorResult(ScraperErrorTypes.Timeout, errorMessage);
28
23
  }
24
+ exports.createTimeoutError = createTimeoutError;
29
25
  function createGenericError(errorMessage) {
30
- return createErrorResult(ScraperErrorTypes.Generic, errorMessage);
26
+ return createErrorResult(ScraperErrorTypes.Generic, errorMessage);
31
27
  }
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTY3JhcGVyRXJyb3JUeXBlcyIsImV4cG9ydHMiLCJjcmVhdGVFcnJvclJlc3VsdCIsImVycm9yVHlwZSIsImVycm9yTWVzc2FnZSIsInN1Y2Nlc3MiLCJjcmVhdGVUaW1lb3V0RXJyb3IiLCJUaW1lb3V0IiwiY3JlYXRlR2VuZXJpY0Vycm9yIiwiR2VuZXJpYyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9lcnJvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU2NyYXBlckVycm9yVHlwZXMge1xuICBUd29GYWN0b3JSZXRyaWV2ZXJNaXNzaW5nID0gJ1RXT19GQUNUT1JfUkVUUklFVkVSX01JU1NJTkcnLFxuICBJbnZhbGlkUGFzc3dvcmQgPSAnSU5WQUxJRF9QQVNTV09SRCcsXG4gIENoYW5nZVBhc3N3b3JkID0gJ0NIQU5HRV9QQVNTV09SRCcsXG4gIFRpbWVvdXQgPSAnVElNRU9VVCcsXG4gIEFjY291bnRCbG9ja2VkID0gJ0FDQ09VTlRfQkxPQ0tFRCcsXG4gIEdlbmVyaWMgPSAnR0VORVJJQycsXG4gIEdlbmVyYWwgPSAnR0VORVJBTF9FUlJPUicsXG59XG5cbmV4cG9ydCB0eXBlIEVycm9yUmVzdWx0ID0ge1xuICBzdWNjZXNzOiBmYWxzZTtcbiAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcztcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVFcnJvclJlc3VsdChlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzLCBlcnJvck1lc3NhZ2U6IHN0cmluZyk6IEVycm9yUmVzdWx0IHtcbiAgcmV0dXJuIHtcbiAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICBlcnJvclR5cGUsXG4gICAgZXJyb3JNZXNzYWdlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGltZW91dEVycm9yKGVycm9yTWVzc2FnZTogc3RyaW5nKTogRXJyb3JSZXN1bHQge1xuICByZXR1cm4gY3JlYXRlRXJyb3JSZXN1bHQoU2NyYXBlckVycm9yVHlwZXMuVGltZW91dCwgZXJyb3JNZXNzYWdlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUdlbmVyaWNFcnJvcihlcnJvck1lc3NhZ2U6IHN0cmluZyk6IEVycm9yUmVzdWx0IHtcbiAgcmV0dXJuIGNyZWF0ZUVycm9yUmVzdWx0KFNjcmFwZXJFcnJvclR5cGVzLkdlbmVyaWMsIGVycm9yTWVzc2FnZSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0lBQVlBLGlCQUFpQixHQUFBQyxPQUFBLENBQUFELGlCQUFBLDBCQUFqQkEsaUJBQWlCO0VBQWpCQSxpQkFBaUI7RUFBakJBLGlCQUFpQjtFQUFqQkEsaUJBQWlCO0VBQWpCQSxpQkFBaUI7RUFBakJBLGlCQUFpQjtFQUFqQkEsaUJBQWlCO0VBQWpCQSxpQkFBaUI7RUFBQSxPQUFqQkEsaUJBQWlCO0FBQUE7QUFnQjdCLFNBQVNFLGlCQUFpQkEsQ0FBQ0MsU0FBNEIsRUFBRUMsWUFBb0IsRUFBZTtFQUMxRixPQUFPO0lBQ0xDLE9BQU8sRUFBRSxLQUFLO0lBQ2RGLFNBQVM7SUFDVEM7RUFDRixDQUFDO0FBQ0g7QUFFTyxTQUFTRSxrQkFBa0JBLENBQUNGLFlBQW9CLEVBQWU7RUFDcEUsT0FBT0YsaUJBQWlCLENBQUNGLGlCQUFpQixDQUFDTyxPQUFPLEVBQUVILFlBQVksQ0FBQztBQUNuRTtBQUVPLFNBQVNJLGtCQUFrQkEsQ0FBQ0osWUFBb0IsRUFBZTtFQUNwRSxPQUFPRixpQkFBaUIsQ0FBQ0YsaUJBQWlCLENBQUNTLE9BQU8sRUFBRUwsWUFBWSxDQUFDO0FBQ25FIiwiaWdub3JlTGlzdCI6W119
28
+ exports.createGenericError = createGenericError;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLGlCQVFYO0FBUkQsV0FBWSxpQkFBaUI7SUFDM0IsK0VBQTBELENBQUE7SUFDMUQseURBQW9DLENBQUE7SUFDcEMsdURBQWtDLENBQUE7SUFDbEMsd0NBQW1CLENBQUE7SUFDbkIsdURBQWtDLENBQUE7SUFDbEMsd0NBQW1CLENBQUE7SUFDbkIsOENBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQVJXLGlCQUFpQixHQUFqQix5QkFBaUIsS0FBakIseUJBQWlCLFFBUTVCO0FBUUQsU0FBUyxpQkFBaUIsQ0FBQyxTQUE0QixFQUFFLFlBQW9CO0lBQzNFLE9BQU87UUFDTCxPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVM7UUFDVCxZQUFZO0tBQ2IsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxZQUFvQjtJQUNyRCxPQUFPLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRkQsZ0RBRUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxZQUFvQjtJQUNyRCxPQUFPLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRkQsZ0RBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTY3JhcGVyRXJyb3JUeXBlcyB7XG4gIFR3b0ZhY3RvclJldHJpZXZlck1pc3NpbmcgPSAnVFdPX0ZBQ1RPUl9SRVRSSUVWRVJfTUlTU0lORycsXG4gIEludmFsaWRQYXNzd29yZCA9ICdJTlZBTElEX1BBU1NXT1JEJyxcbiAgQ2hhbmdlUGFzc3dvcmQgPSAnQ0hBTkdFX1BBU1NXT1JEJyxcbiAgVGltZW91dCA9ICdUSU1FT1VUJyxcbiAgQWNjb3VudEJsb2NrZWQgPSAnQUNDT1VOVF9CTE9DS0VEJyxcbiAgR2VuZXJpYyA9ICdHRU5FUklDJyxcbiAgR2VuZXJhbCA9ICdHRU5FUkFMX0VSUk9SJyxcbn1cblxuZXhwb3J0IHR5cGUgRXJyb3JSZXN1bHQgPSB7XG4gIHN1Y2Nlc3M6IGZhbHNlO1xuICBlcnJvclR5cGU6IFNjcmFwZXJFcnJvclR5cGVzO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZUVycm9yUmVzdWx0KGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMsIGVycm9yTWVzc2FnZTogc3RyaW5nKTogRXJyb3JSZXN1bHQge1xuICByZXR1cm4ge1xuICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgIGVycm9yVHlwZSxcbiAgICBlcnJvck1lc3NhZ2UsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUaW1lb3V0RXJyb3IoZXJyb3JNZXNzYWdlOiBzdHJpbmcpOiBFcnJvclJlc3VsdCB7XG4gIHJldHVybiBjcmVhdGVFcnJvclJlc3VsdChTY3JhcGVyRXJyb3JUeXBlcy5UaW1lb3V0LCBlcnJvck1lc3NhZ2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR2VuZXJpY0Vycm9yKGVycm9yTWVzc2FnZTogc3RyaW5nKTogRXJyb3JSZXN1bHQge1xuICByZXR1cm4gY3JlYXRlRXJyb3JSZXN1bHQoU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYywgZXJyb3JNZXNzYWdlKTtcbn1cbiJdfQ==
@@ -1,70 +1,69 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = createScraper;
7
- var _assertNever = require("../assertNever");
8
- var _definitions = require("../definitions");
9
- var _amex = _interopRequireDefault(require("./amex"));
10
- var _behatsdaa = _interopRequireDefault(require("./behatsdaa"));
11
- var _beinleumi = _interopRequireDefault(require("./beinleumi"));
12
- var _beyahadBishvilha = _interopRequireDefault(require("./beyahad-bishvilha"));
13
- var _discount = _interopRequireDefault(require("./discount"));
14
- var _hapoalim = _interopRequireDefault(require("./hapoalim"));
15
- var _isracard = _interopRequireDefault(require("./isracard"));
16
- var _leumi = _interopRequireDefault(require("./leumi"));
17
- var _massad = _interopRequireDefault(require("./massad"));
18
- var _max = _interopRequireDefault(require("./max"));
19
- var _mercantile = _interopRequireDefault(require("./mercantile"));
20
- var _mizrahi = _interopRequireDefault(require("./mizrahi"));
21
- var _oneZero = _interopRequireDefault(require("./one-zero"));
22
- var _otsarHahayal = _interopRequireDefault(require("./otsar-hahayal"));
23
- var _pagi = _interopRequireDefault(require("./pagi"));
24
- var _unionBank = _interopRequireDefault(require("./union-bank"));
25
- var _visaCal = _interopRequireDefault(require("./visa-cal"));
26
- var _yahav = _interopRequireDefault(require("./yahav"));
27
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assertNever_1 = require("../assertNever");
7
+ const definitions_1 = require("../definitions");
8
+ const amex_1 = __importDefault(require("./amex"));
9
+ const behatsdaa_1 = __importDefault(require("./behatsdaa"));
10
+ const beinleumi_1 = __importDefault(require("./beinleumi"));
11
+ const beyahad_bishvilha_1 = __importDefault(require("./beyahad-bishvilha"));
12
+ const discount_1 = __importDefault(require("./discount"));
13
+ const hapoalim_1 = __importDefault(require("./hapoalim"));
14
+ const isracard_1 = __importDefault(require("./isracard"));
15
+ const leumi_1 = __importDefault(require("./leumi"));
16
+ const massad_1 = __importDefault(require("./massad"));
17
+ const max_1 = __importDefault(require("./max"));
18
+ const mercantile_1 = __importDefault(require("./mercantile"));
19
+ const mizrahi_1 = __importDefault(require("./mizrahi"));
20
+ const one_zero_1 = __importDefault(require("./one-zero"));
21
+ const otsar_hahayal_1 = __importDefault(require("./otsar-hahayal"));
22
+ const pagi_1 = __importDefault(require("./pagi"));
23
+ const union_bank_1 = __importDefault(require("./union-bank"));
24
+ const visa_cal_1 = __importDefault(require("./visa-cal"));
25
+ const yahav_1 = __importDefault(require("./yahav"));
28
26
  function createScraper(options) {
29
- switch (options.companyId) {
30
- case _definitions.CompanyTypes.hapoalim:
31
- return new _hapoalim.default(options);
32
- case _definitions.CompanyTypes.leumi:
33
- return new _leumi.default(options);
34
- case _definitions.CompanyTypes.beyahadBishvilha:
35
- return new _beyahadBishvilha.default(options);
36
- case _definitions.CompanyTypes.mizrahi:
37
- return new _mizrahi.default(options);
38
- case _definitions.CompanyTypes.discount:
39
- return new _discount.default(options);
40
- case _definitions.CompanyTypes.mercantile:
41
- return new _mercantile.default(options);
42
- case _definitions.CompanyTypes.otsarHahayal:
43
- return new _otsarHahayal.default(options);
44
- case _definitions.CompanyTypes.visaCal:
45
- return new _visaCal.default(options);
46
- case _definitions.CompanyTypes.max:
47
- return new _max.default(options);
48
- case _definitions.CompanyTypes.isracard:
49
- return new _isracard.default(options);
50
- case _definitions.CompanyTypes.amex:
51
- return new _amex.default(options);
52
- case _definitions.CompanyTypes.union:
53
- return new _unionBank.default(options);
54
- case _definitions.CompanyTypes.beinleumi:
55
- return new _beinleumi.default(options);
56
- case _definitions.CompanyTypes.massad:
57
- return new _massad.default(options);
58
- case _definitions.CompanyTypes.yahav:
59
- return new _yahav.default(options);
60
- case _definitions.CompanyTypes.oneZero:
61
- return new _oneZero.default(options);
62
- case _definitions.CompanyTypes.behatsdaa:
63
- return new _behatsdaa.default(options);
64
- case _definitions.CompanyTypes.pagi:
65
- return new _pagi.default(options);
66
- default:
67
- return (0, _assertNever.assertNever)(options.companyId, `unknown company id ${options.companyId}`);
68
- }
27
+ switch (options.companyId) {
28
+ case definitions_1.CompanyTypes.hapoalim:
29
+ return new hapoalim_1.default(options);
30
+ case definitions_1.CompanyTypes.leumi:
31
+ return new leumi_1.default(options);
32
+ case definitions_1.CompanyTypes.beyahadBishvilha:
33
+ return new beyahad_bishvilha_1.default(options);
34
+ case definitions_1.CompanyTypes.mizrahi:
35
+ return new mizrahi_1.default(options);
36
+ case definitions_1.CompanyTypes.discount:
37
+ return new discount_1.default(options);
38
+ case definitions_1.CompanyTypes.mercantile:
39
+ return new mercantile_1.default(options);
40
+ case definitions_1.CompanyTypes.otsarHahayal:
41
+ return new otsar_hahayal_1.default(options);
42
+ case definitions_1.CompanyTypes.visaCal:
43
+ return new visa_cal_1.default(options);
44
+ case definitions_1.CompanyTypes.max:
45
+ return new max_1.default(options);
46
+ case definitions_1.CompanyTypes.isracard:
47
+ return new isracard_1.default(options);
48
+ case definitions_1.CompanyTypes.amex:
49
+ return new amex_1.default(options);
50
+ case definitions_1.CompanyTypes.union:
51
+ return new union_bank_1.default(options);
52
+ case definitions_1.CompanyTypes.beinleumi:
53
+ return new beinleumi_1.default(options);
54
+ case definitions_1.CompanyTypes.massad:
55
+ return new massad_1.default(options);
56
+ case definitions_1.CompanyTypes.yahav:
57
+ return new yahav_1.default(options);
58
+ case definitions_1.CompanyTypes.oneZero:
59
+ return new one_zero_1.default(options);
60
+ case definitions_1.CompanyTypes.behatsdaa:
61
+ return new behatsdaa_1.default(options);
62
+ case definitions_1.CompanyTypes.pagi:
63
+ return new pagi_1.default(options);
64
+ default:
65
+ return (0, assertNever_1.assertNever)(options.companyId, `unknown company id ${options.companyId}`);
66
+ }
69
67
  }
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0TmV2ZXIiLCJyZXF1aXJlIiwiX2RlZmluaXRpb25zIiwiX2FtZXgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2JlaGF0c2RhYSIsIl9iZWlubGV1bWkiLCJfYmV5YWhhZEJpc2h2aWxoYSIsIl9kaXNjb3VudCIsIl9oYXBvYWxpbSIsIl9pc3JhY2FyZCIsIl9sZXVtaSIsIl9tYXNzYWQiLCJfbWF4IiwiX21lcmNhbnRpbGUiLCJfbWl6cmFoaSIsIl9vbmVaZXJvIiwiX290c2FySGFoYXlhbCIsIl9wYWdpIiwiX3VuaW9uQmFuayIsIl92aXNhQ2FsIiwiX3lhaGF2IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY3JlYXRlU2NyYXBlciIsIm9wdGlvbnMiLCJjb21wYW55SWQiLCJDb21wYW55VHlwZXMiLCJoYXBvYWxpbSIsIkhhcG9hbGltU2NyYXBlciIsImxldW1pIiwiTGV1bWlTY3JhcGVyIiwiYmV5YWhhZEJpc2h2aWxoYSIsIkJleWFoYWRCaXNodmlsaGFTY3JhcGVyIiwibWl6cmFoaSIsIk1penJhaGlTY3JhcGVyIiwiZGlzY291bnQiLCJEaXNjb3VudFNjcmFwZXIiLCJtZXJjYW50aWxlIiwiTWVyY2FudGlsZVNjcmFwZXIiLCJvdHNhckhhaGF5YWwiLCJPdHNhckhhaGF5YWxTY3JhcGVyIiwidmlzYUNhbCIsIlZpc2FDYWxTY3JhcGVyIiwibWF4IiwiTWF4U2NyYXBlciIsImlzcmFjYXJkIiwiSXNyYWNhcmRTY3JhcGVyIiwiYW1leCIsIkFtZXhTY3JhcGVyIiwidW5pb24iLCJVbmlvbkJhbmtTY3JhcGVyIiwiYmVpbmxldW1pIiwiQmVpbmxldW1pU2NyYXBlciIsIm1hc3NhZCIsIk1hc3NhZFNjcmFwZXIiLCJ5YWhhdiIsIllhaGF2U2NyYXBlciIsIm9uZVplcm8iLCJPbmVaZXJvU2NyYXBlciIsImJlaGF0c2RhYSIsIkJlaGF0c2RhYVNjcmFwZXIiLCJwYWdpIiwiUGFnaVNjcmFwZXIiLCJhc3NlcnROZXZlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnLi4vYXNzZXJ0TmV2ZXInO1xuaW1wb3J0IHsgQ29tcGFueVR5cGVzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IEFtZXhTY3JhcGVyIGZyb20gJy4vYW1leCc7XG5pbXBvcnQgQmVoYXRzZGFhU2NyYXBlciBmcm9tICcuL2JlaGF0c2RhYSc7XG5pbXBvcnQgQmVpbmxldW1pU2NyYXBlciBmcm9tICcuL2JlaW5sZXVtaSc7XG5pbXBvcnQgQmV5YWhhZEJpc2h2aWxoYVNjcmFwZXIgZnJvbSAnLi9iZXlhaGFkLWJpc2h2aWxoYSc7XG5pbXBvcnQgRGlzY291bnRTY3JhcGVyIGZyb20gJy4vZGlzY291bnQnO1xuaW1wb3J0IEhhcG9hbGltU2NyYXBlciBmcm9tICcuL2hhcG9hbGltJztcbmltcG9ydCB7IHR5cGUgU2NyYXBlciwgdHlwZSBTY3JhcGVyQ3JlZGVudGlhbHMsIHR5cGUgU2NyYXBlck9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgSXNyYWNhcmRTY3JhcGVyIGZyb20gJy4vaXNyYWNhcmQnO1xuaW1wb3J0IExldW1pU2NyYXBlciBmcm9tICcuL2xldW1pJztcbmltcG9ydCBNYXNzYWRTY3JhcGVyIGZyb20gJy4vbWFzc2FkJztcbmltcG9ydCBNYXhTY3JhcGVyIGZyb20gJy4vbWF4JztcbmltcG9ydCBNZXJjYW50aWxlU2NyYXBlciBmcm9tICcuL21lcmNhbnRpbGUnO1xuaW1wb3J0IE1penJhaGlTY3JhcGVyIGZyb20gJy4vbWl6cmFoaSc7XG5pbXBvcnQgT25lWmVyb1NjcmFwZXIgZnJvbSAnLi9vbmUtemVybyc7XG5pbXBvcnQgT3RzYXJIYWhheWFsU2NyYXBlciBmcm9tICcuL290c2FyLWhhaGF5YWwnO1xuaW1wb3J0IFBhZ2lTY3JhcGVyIGZyb20gJy4vcGFnaSc7XG5pbXBvcnQgVW5pb25CYW5rU2NyYXBlciBmcm9tICcuL3VuaW9uLWJhbmsnO1xuaW1wb3J0IFZpc2FDYWxTY3JhcGVyIGZyb20gJy4vdmlzYS1jYWwnO1xuaW1wb3J0IFlhaGF2U2NyYXBlciBmcm9tICcuL3lhaGF2JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlU2NyYXBlcihvcHRpb25zOiBTY3JhcGVyT3B0aW9ucyk6IFNjcmFwZXI8U2NyYXBlckNyZWRlbnRpYWxzPiB7XG4gIHN3aXRjaCAob3B0aW9ucy5jb21wYW55SWQpIHtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5oYXBvYWxpbTpcbiAgICAgIHJldHVybiBuZXcgSGFwb2FsaW1TY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLmxldW1pOlxuICAgICAgcmV0dXJuIG5ldyBMZXVtaVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuYmV5YWhhZEJpc2h2aWxoYTpcbiAgICAgIHJldHVybiBuZXcgQmV5YWhhZEJpc2h2aWxoYVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMubWl6cmFoaTpcbiAgICAgIHJldHVybiBuZXcgTWl6cmFoaVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuZGlzY291bnQ6XG4gICAgICByZXR1cm4gbmV3IERpc2NvdW50U2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5tZXJjYW50aWxlOlxuICAgICAgcmV0dXJuIG5ldyBNZXJjYW50aWxlU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5vdHNhckhhaGF5YWw6XG4gICAgICByZXR1cm4gbmV3IE90c2FySGFoYXlhbFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMudmlzYUNhbDpcbiAgICAgIHJldHVybiBuZXcgVmlzYUNhbFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMubWF4OlxuICAgICAgcmV0dXJuIG5ldyBNYXhTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLmlzcmFjYXJkOlxuICAgICAgcmV0dXJuIG5ldyBJc3JhY2FyZFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuYW1leDpcbiAgICAgIHJldHVybiBuZXcgQW1leFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMudW5pb246XG4gICAgICByZXR1cm4gbmV3IFVuaW9uQmFua1NjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuYmVpbmxldW1pOlxuICAgICAgcmV0dXJuIG5ldyBCZWlubGV1bWlTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLm1hc3NhZDpcbiAgICAgIHJldHVybiBuZXcgTWFzc2FkU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy55YWhhdjpcbiAgICAgIHJldHVybiBuZXcgWWFoYXZTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLm9uZVplcm86XG4gICAgICByZXR1cm4gbmV3IE9uZVplcm9TY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLmJlaGF0c2RhYTpcbiAgICAgIHJldHVybiBuZXcgQmVoYXRzZGFhU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5wYWdpOlxuICAgICAgcmV0dXJuIG5ldyBQYWdpU2NyYXBlcihvcHRpb25zKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGFzc2VydE5ldmVyKG9wdGlvbnMuY29tcGFueUlkLCBgdW5rbm93biBjb21wYW55IGlkICR7b3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsWUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFB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
68
+ exports.default = createScraper;
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0RBQTZDO0FBQzdDLGdEQUE4QztBQUM5QyxrREFBaUM7QUFDakMsNERBQTJDO0FBQzNDLDREQUEyQztBQUMzQyw0RUFBMEQ7QUFDMUQsMERBQXlDO0FBQ3pDLDBEQUF5QztBQUV6QywwREFBeUM7QUFDekMsb0RBQW1DO0FBQ25DLHNEQUFxQztBQUNyQyxnREFBK0I7QUFDL0IsOERBQTZDO0FBQzdDLHdEQUF1QztBQUN2QywwREFBd0M7QUFDeEMsb0VBQWtEO0FBQ2xELGtEQUFpQztBQUNqQyw4REFBNEM7QUFDNUMsMERBQXdDO0FBQ3hDLG9EQUFtQztBQUVuQyxTQUF3QixhQUFhLENBQUMsT0FBdUI7SUFDM0QsUUFBUSxPQUFPLENBQUMsU0FBUyxFQUFFO1FBQ3pCLEtBQUssMEJBQVksQ0FBQyxRQUFRO1lBQ3hCLE9BQU8sSUFBSSxrQkFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLEtBQUssMEJBQVksQ0FBQyxLQUFLO1lBQ3JCLE9BQU8sSUFBSSxlQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsS0FBSywwQkFBWSxDQUFDLGdCQUFnQjtZQUNoQyxPQUFPLElBQUksMkJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsS0FBSywwQkFBWSxDQUFDLE9BQU87WUFDdkIsT0FBTyxJQUFJLGlCQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsS0FBSywwQkFBWSxDQUFDLFFBQVE7WUFDeEIsT0FBTyxJQUFJLGtCQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsS0FBSywwQkFBWSxDQUFDLFVBQVU7WUFDMUIsT0FBTyxJQUFJLG9CQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLEtBQUssMEJBQVksQ0FBQyxZQUFZO1lBQzVCLE9BQU8sSUFBSSx1QkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxLQUFLLDBCQUFZLENBQUMsT0FBTztZQUN2QixPQUFPLElBQUksa0JBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxLQUFLLDBCQUFZLENBQUMsR0FBRztZQUNuQixPQUFPLElBQUksYUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLEtBQUssMEJBQVksQ0FBQyxRQUFRO1lBQ3hCLE9BQU8sSUFBSSxrQkFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLEtBQUssMEJBQVksQ0FBQyxJQUFJO1lBQ3BCLE9BQU8sSUFBSSxjQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsS0FBSywwQkFBWSxDQUFDLEtBQUs7WUFDckIsT0FBTyxJQUFJLG9CQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssMEJBQVksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sSUFBSSxtQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxLQUFLLDBCQUFZLENBQUMsTUFBTTtZQUN0QixPQUFPLElBQUksZ0JBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxLQUFLLDBCQUFZLENBQUMsS0FBSztZQUNyQixPQUFPLElBQUksZUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLEtBQUssMEJBQVksQ0FBQyxPQUFPO1lBQ3ZCLE9BQU8sSUFBSSxrQkFBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLEtBQUssMEJBQVksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sSUFBSSxtQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxLQUFLLDBCQUFZLENBQUMsSUFBSTtZQUNwQixPQUFPLElBQUksY0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDO1lBQ0UsT0FBTyxJQUFBLHlCQUFXLEVBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxzQkFBc0IsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7S0FDcEY7QUFDSCxDQUFDO0FBekNELGdDQXlDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnLi4vYXNzZXJ0TmV2ZXInO1xuaW1wb3J0IHsgQ29tcGFueVR5cGVzIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IEFtZXhTY3JhcGVyIGZyb20gJy4vYW1leCc7XG5pbXBvcnQgQmVoYXRzZGFhU2NyYXBlciBmcm9tICcuL2JlaGF0c2RhYSc7XG5pbXBvcnQgQmVpbmxldW1pU2NyYXBlciBmcm9tICcuL2JlaW5sZXVtaSc7XG5pbXBvcnQgQmV5YWhhZEJpc2h2aWxoYVNjcmFwZXIgZnJvbSAnLi9iZXlhaGFkLWJpc2h2aWxoYSc7XG5pbXBvcnQgRGlzY291bnRTY3JhcGVyIGZyb20gJy4vZGlzY291bnQnO1xuaW1wb3J0IEhhcG9hbGltU2NyYXBlciBmcm9tICcuL2hhcG9hbGltJztcbmltcG9ydCB7IHR5cGUgU2NyYXBlciwgdHlwZSBTY3JhcGVyQ3JlZGVudGlhbHMsIHR5cGUgU2NyYXBlck9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgSXNyYWNhcmRTY3JhcGVyIGZyb20gJy4vaXNyYWNhcmQnO1xuaW1wb3J0IExldW1pU2NyYXBlciBmcm9tICcuL2xldW1pJztcbmltcG9ydCBNYXNzYWRTY3JhcGVyIGZyb20gJy4vbWFzc2FkJztcbmltcG9ydCBNYXhTY3JhcGVyIGZyb20gJy4vbWF4JztcbmltcG9ydCBNZXJjYW50aWxlU2NyYXBlciBmcm9tICcuL21lcmNhbnRpbGUnO1xuaW1wb3J0IE1penJhaGlTY3JhcGVyIGZyb20gJy4vbWl6cmFoaSc7XG5pbXBvcnQgT25lWmVyb1NjcmFwZXIgZnJvbSAnLi9vbmUtemVybyc7XG5pbXBvcnQgT3RzYXJIYWhheWFsU2NyYXBlciBmcm9tICcuL290c2FyLWhhaGF5YWwnO1xuaW1wb3J0IFBhZ2lTY3JhcGVyIGZyb20gJy4vcGFnaSc7XG5pbXBvcnQgVW5pb25CYW5rU2NyYXBlciBmcm9tICcuL3VuaW9uLWJhbmsnO1xuaW1wb3J0IFZpc2FDYWxTY3JhcGVyIGZyb20gJy4vdmlzYS1jYWwnO1xuaW1wb3J0IFlhaGF2U2NyYXBlciBmcm9tICcuL3lhaGF2JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlU2NyYXBlcihvcHRpb25zOiBTY3JhcGVyT3B0aW9ucyk6IFNjcmFwZXI8U2NyYXBlckNyZWRlbnRpYWxzPiB7XG4gIHN3aXRjaCAob3B0aW9ucy5jb21wYW55SWQpIHtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5oYXBvYWxpbTpcbiAgICAgIHJldHVybiBuZXcgSGFwb2FsaW1TY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLmxldW1pOlxuICAgICAgcmV0dXJuIG5ldyBMZXVtaVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuYmV5YWhhZEJpc2h2aWxoYTpcbiAgICAgIHJldHVybiBuZXcgQmV5YWhhZEJpc2h2aWxoYVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMubWl6cmFoaTpcbiAgICAgIHJldHVybiBuZXcgTWl6cmFoaVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuZGlzY291bnQ6XG4gICAgICByZXR1cm4gbmV3IERpc2NvdW50U2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5tZXJjYW50aWxlOlxuICAgICAgcmV0dXJuIG5ldyBNZXJjYW50aWxlU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5vdHNhckhhaGF5YWw6XG4gICAgICByZXR1cm4gbmV3IE90c2FySGFoYXlhbFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMudmlzYUNhbDpcbiAgICAgIHJldHVybiBuZXcgVmlzYUNhbFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMubWF4OlxuICAgICAgcmV0dXJuIG5ldyBNYXhTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLmlzcmFjYXJkOlxuICAgICAgcmV0dXJuIG5ldyBJc3JhY2FyZFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuYW1leDpcbiAgICAgIHJldHVybiBuZXcgQW1leFNjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMudW5pb246XG4gICAgICByZXR1cm4gbmV3IFVuaW9uQmFua1NjcmFwZXIob3B0aW9ucyk7XG4gICAgY2FzZSBDb21wYW55VHlwZXMuYmVpbmxldW1pOlxuICAgICAgcmV0dXJuIG5ldyBCZWlubGV1bWlTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLm1hc3NhZDpcbiAgICAgIHJldHVybiBuZXcgTWFzc2FkU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy55YWhhdjpcbiAgICAgIHJldHVybiBuZXcgWWFoYXZTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLm9uZVplcm86XG4gICAgICByZXR1cm4gbmV3IE9uZVplcm9TY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNhc2UgQ29tcGFueVR5cGVzLmJlaGF0c2RhYTpcbiAgICAgIHJldHVybiBuZXcgQmVoYXRzZGFhU2NyYXBlcihvcHRpb25zKTtcbiAgICBjYXNlIENvbXBhbnlUeXBlcy5wYWdpOlxuICAgICAgcmV0dXJuIG5ldyBQYWdpU2NyYXBlcihvcHRpb25zKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGFzc2VydE5ldmVyKG9wdGlvbnMuY29tcGFueUlkLCBgdW5rbm93biBjb21wYW55IGlkICR7b3B0aW9ucy5jb21wYW55SWR9YCk7XG4gIH1cbn1cbiJdfQ==