@wppconnect/server 2.8.6 → 2.8.11

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.
@@ -1,2 +1,2 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", { value: true });
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL1NlcnZlck9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVja2V0TG9jYXRpb25Db25zdHJhaW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJztcblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJPcHRpb25zIHtcbiAgc2VjcmV0S2V5OiBzdHJpbmc7XG4gIGhvc3Q6IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xuICBkZXZpY2VOYW1lOiBzdHJpbmc7XG4gIHBvd2VyZWRCeTogc3RyaW5nO1xuICBzdGFydEFsbFNlc3Npb246IGJvb2xlYW47XG4gIHRva2VuU3RvcmVUeXBlOiBzdHJpbmc7XG4gIG1heExpc3RlbmVyczogbnVtYmVyO1xuICBjdXN0b21Vc2VyRGF0YURpcjogc3RyaW5nO1xuICB3ZWJob29rOiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgYXV0b0Rvd25sb2FkOiBib29sZWFuO1xuICAgIHVwbG9hZFMzOiBib29sZWFuO1xuICAgIHJlYWRNZXNzYWdlOiBib29sZWFuO1xuICAgIGFsbFVucmVhZE9uU3RhcnQ6IGJvb2xlYW47XG4gICAgbGlzdGVuQWNrczogYm9vbGVhbjtcbiAgICBvblByZXNlbmNlQ2hhbmdlZDogYm9vbGVhbjtcbiAgICBvblBhcnRpY2lwYW50c0NoYW5nZWQ6IGJvb2xlYW47XG4gICAgb25SZWFjdGlvbk1lc3NhZ2U6IGJvb2xlYW47XG4gICAgb25Qb2xsUmVzcG9uc2U6IGJvb2xlYW47XG4gICAgb25SZXZva2VkTWVzc2FnZTogYm9vbGVhbjtcbiAgICBvblNlbGZNZXNzYWdlOiBib29sZWFuO1xuICAgIGlnbm9yZTogc3RyaW5nW107XG4gIH07XG4gIHdlYnNvY2tldDoge1xuICAgIGF1dG9Eb3dubG9hZDogYm9vbGVhbjtcbiAgICB1cGxvYWRTMzogYm9vbGVhbjtcbiAgfTtcbiAgYXJjaGl2ZToge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgICB3YWl0VGltZTogbnVtYmVyO1xuICAgIGRheXNUb0FyY2hpdmU6IG51bWJlcjtcbiAgfTtcbiAgbG9nOiB7XG4gICAgbGV2ZWw6IHN0cmluZztcbiAgICBsb2dnZXI6IHN0cmluZ1tdO1xuICB9O1xuICBjcmVhdGVPcHRpb25zOiB7XG4gICAgYnJvd3NlckFyZ3M6IHN0cmluZ1tdO1xuICB9O1xuICBtYXBwZXI6IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gICAgcHJlZml4OiBzdHJpbmc7XG4gIH07XG4gIGRiOiB7XG4gICAgbW9uZ29kYkRhdGFiYXNlOiBzdHJpbmc7XG4gICAgbW9uZ29kYkNvbGxlY3Rpb246IHN0cmluZztcbiAgICBtb25nb2RiVXNlcjogc3RyaW5nO1xuICAgIG1vbmdvZGJQYXNzd29yZDogc3RyaW5nO1xuICAgIG1vbmdvZGJIb3N0OiBzdHJpbmc7XG4gICAgbW9uZ29Jc1JlbW90ZTogYm9vbGVhbjtcbiAgICBtb25nb1VSTFJlbW90ZTogc3RyaW5nO1xuICAgIG1vbmdvZGJQb3J0OiBudW1iZXI7XG4gICAgcmVkaXNIb3N0OiBzdHJpbmc7XG4gICAgcmVkaXNQb3J0OiBudW1iZXI7XG4gICAgcmVkaXNQYXNzd29yZDogc3RyaW5nO1xuICAgIHJlZGlzRGI6IHN0cmluZztcbiAgICByZWRpc1ByZWZpeDogc3RyaW5nO1xuICB9O1xuICBhd3NfczM6IHtcbiAgICByZWdpb246IEJ1Y2tldExvY2F0aW9uQ29uc3RyYWludCB8IG51bGw7XG4gICAgYWNjZXNzX2tleV9pZDogc3RyaW5nIHwgbnVsbDtcbiAgICBzZWNyZXRfa2V5OiBzdHJpbmcgfCBudWxsO1xuICAgIGRlZmF1bHRCdWNrZXROYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgIGVuZHBvaW50Pzogc3RyaW5nIHwgbnVsbDtcbiAgICBmb3JjZVBhdGhTdHlsZT86IGJvb2xlYW4gfCBudWxsO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL1NlcnZlck9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVja2V0TG9jYXRpb25Db25zdHJhaW50IH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJztcbmltcG9ydCB7IENyZWF0ZUNvbmZpZyB9IGZyb20gJ0B3cHBjb25uZWN0LXRlYW0vd3BwY29ubmVjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVyT3B0aW9ucyB7XG4gIHNlY3JldEtleTogc3RyaW5nO1xuICBob3N0OiBzdHJpbmc7XG4gIHBvcnQ6IG51bWJlcjtcbiAgZGV2aWNlTmFtZTogc3RyaW5nO1xuICBwb3dlcmVkQnk6IHN0cmluZztcbiAgc3RhcnRBbGxTZXNzaW9uOiBib29sZWFuO1xuICB0b2tlblN0b3JlVHlwZTogc3RyaW5nO1xuICBtYXhMaXN0ZW5lcnM6IG51bWJlcjtcbiAgY3VzdG9tVXNlckRhdGFEaXI6IHN0cmluZztcbiAgd2ViaG9vazoge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGF1dG9Eb3dubG9hZDogYm9vbGVhbjtcbiAgICB1cGxvYWRTMzogYm9vbGVhbjtcbiAgICByZWFkTWVzc2FnZTogYm9vbGVhbjtcbiAgICBhbGxVbnJlYWRPblN0YXJ0OiBib29sZWFuO1xuICAgIGxpc3RlbkFja3M6IGJvb2xlYW47XG4gICAgb25QcmVzZW5jZUNoYW5nZWQ6IGJvb2xlYW47XG4gICAgb25QYXJ0aWNpcGFudHNDaGFuZ2VkOiBib29sZWFuO1xuICAgIG9uUmVhY3Rpb25NZXNzYWdlOiBib29sZWFuO1xuICAgIG9uUG9sbFJlc3BvbnNlOiBib29sZWFuO1xuICAgIG9uUmV2b2tlZE1lc3NhZ2U6IGJvb2xlYW47XG4gICAgb25TZWxmTWVzc2FnZTogYm9vbGVhbjtcbiAgICBpZ25vcmU6IHN0cmluZ1tdO1xuICB9O1xuICB3ZWJzb2NrZXQ6IHtcbiAgICBhdXRvRG93bmxvYWQ6IGJvb2xlYW47XG4gICAgdXBsb2FkUzM6IGJvb2xlYW47XG4gIH07XG4gIGFyY2hpdmU6IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gICAgd2FpdFRpbWU6IG51bWJlcjtcbiAgICBkYXlzVG9BcmNoaXZlOiBudW1iZXI7XG4gIH07XG4gIGxvZzoge1xuICAgIGxldmVsOiBzdHJpbmc7XG4gICAgbG9nZ2VyOiBzdHJpbmdbXTtcbiAgfTtcbiAgY3JlYXRlT3B0aW9uczogQ3JlYXRlQ29uZmlnO1xuICBtYXBwZXI6IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gICAgcHJlZml4OiBzdHJpbmc7XG4gIH07XG4gIGRiOiB7XG4gICAgbW9uZ29kYkRhdGFiYXNlOiBzdHJpbmc7XG4gICAgbW9uZ29kYkNvbGxlY3Rpb246IHN0cmluZztcbiAgICBtb25nb2RiVXNlcjogc3RyaW5nO1xuICAgIG1vbmdvZGJQYXNzd29yZDogc3RyaW5nO1xuICAgIG1vbmdvZGJIb3N0OiBzdHJpbmc7XG4gICAgbW9uZ29Jc1JlbW90ZTogYm9vbGVhbjtcbiAgICBtb25nb1VSTFJlbW90ZTogc3RyaW5nO1xuICAgIG1vbmdvZGJQb3J0OiBudW1iZXI7XG4gICAgcmVkaXNIb3N0OiBzdHJpbmc7XG4gICAgcmVkaXNQb3J0OiBudW1iZXI7XG4gICAgcmVkaXNQYXNzd29yZDogc3RyaW5nO1xuICAgIHJlZGlzRGI6IHN0cmluZztcbiAgICByZWRpc1ByZWZpeDogc3RyaW5nO1xuICB9O1xuICBhd3NfczM6IHtcbiAgICByZWdpb246IEJ1Y2tldExvY2F0aW9uQ29uc3RyYWludCB8IG51bGw7XG4gICAgYWNjZXNzX2tleV9pZDogc3RyaW5nIHwgbnVsbDtcbiAgICBzZWNyZXRfa2V5OiBzdHJpbmcgfCBudWxsO1xuICAgIGRlZmF1bHRCdWNrZXROYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgIGVuZHBvaW50Pzogc3RyaW5nIHwgbnVsbDtcbiAgICBmb3JjZVBhdGhTdHlsZT86IGJvb2xlYW4gfCBudWxsO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
@@ -64,6 +64,15 @@ var _factory = _interopRequireDefault(require("./tokenStore/factory")); /*
64
64
  Object.assign(
65
65
  {},
66
66
  { tokenStore: myTokenStore },
67
+ client.config.proxy ?
68
+ {
69
+ proxy: {
70
+ url: client.config.proxy?.url,
71
+ username: client.config.proxy?.username,
72
+ password: client.config.proxy?.password
73
+ }
74
+ } :
75
+ {},
67
76
  req.serverOptions.createOptions,
68
77
  {
69
78
  session: session,
@@ -102,8 +111,8 @@ var _factory = _interopRequireDefault(require("./tokenStore/factory")); /*
102
111
  statusFind
103
112
  );
104
113
  if (
105
- statusFind === 'autocloseCalled' ||
106
- statusFind === 'desconnectedMobile')
114
+ statusFind === _wppconnect.StatusFind.autocloseCalled ||
115
+ statusFind === _wppconnect.StatusFind.disconnectedMobile)
107
116
  {
108
117
  client.status = 'CLOSED';
109
118
  client.qrcode = null;
@@ -373,4 +382,4 @@ var _factory = _interopRequireDefault(require("./tokenStore/factory")); /*
373
382
  return client;
374
383
  }
375
384
  }exports.default = CreateSessionUtil;
376
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3BwY29ubmVjdCIsInJlcXVpcmUiLCJfc2Vzc2lvbkNvbnRyb2xsZXIiLCJfY2hhdFdvb3RDbGllbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2Z1bmN0aW9ucyIsIl9zZXNzaW9uVXRpbCIsIl9mYWN0b3J5IiwiQ3JlYXRlU2Vzc2lvblV0aWwiLCJzdGFydENoYXRXb290Q2xpZW50IiwiY2xpZW50IiwiY29uZmlnIiwiY2hhdFdvb3QiLCJjaGF0V29vdENsaWVudCIsInNlc3Npb24iLCJjcmVhdGVTZXNzaW9uVXRpbCIsInJlcSIsImNsaWVudHNBcnJheSIsInJlcyIsImdldENsaWVudCIsInN0YXR1cyIsImJvZHkiLCJ0b2tlblN0b3JlIiwiRmFjdG9yeSIsIm15VG9rZW5TdG9yZSIsImNyZWF0ZVRva2VuU3RvcnkiLCJ0b2tlbkRhdGEiLCJnZXRUb2tlbiIsInNldFRva2VuIiwic2VydmVyT3B0aW9ucyIsImN1c3RvbVVzZXJEYXRhRGlyIiwiY3JlYXRlT3B0aW9ucyIsInB1cHBldGVlck9wdGlvbnMiLCJ1c2VyRGF0YURpciIsIndwcENsaWVudCIsImNyZWF0ZSIsIk9iamVjdCIsImFzc2lnbiIsInBob25lTnVtYmVyIiwicGhvbmUiLCJkZXZpY2VOYW1lIiwidW5kZWZpbmVkIiwicG93ZXJlZEJ5IiwiY2F0Y2hMaW5rQ29kZSIsImNvZGUiLCJleHBvcnRQaG9uZUNvZGUiLCJjYXRjaFFSIiwiYmFzZTY0UXIiLCJhc2NpaVFSIiwiYXR0ZW1wdCIsInVybENvZGUiLCJleHBvcnRRUiIsIm9uTG9hZGluZ1NjcmVlbiIsInBlcmNlbnQiLCJtZXNzYWdlIiwibG9nZ2VyIiwiaW5mbyIsInN0YXR1c0ZpbmQiLCJldmVudEVtaXR0ZXIiLCJlbWl0IiwicXJjb2RlIiwiY2xvc2UiLCJjYWxsV2ViSG9vayIsImVycm9yIiwic3RhcnQiLCJ3ZWJob29rIiwib25QYXJ0aWNpcGFudHNDaGFuZ2VkIiwib25SZWFjdGlvbk1lc3NhZ2UiLCJvblJldm9rZWRNZXNzYWdlIiwib25Qb2xsUmVzcG9uc2UiLCJvbkxhYmVsVXBkYXRlZCIsImUiLCJFcnJvciIsIm5hbWUiLCJvcGVuZGF0YSIsInBob25lQ29kZSIsImlvIiwiZGF0YSIsIl9oZWFkZXJTZW50IiwianNvbiIsInFyQ29kZSIsInVybGNvZGUiLCJyZXBsYWNlIiwiaW1hZ2VCdWZmZXIiLCJCdWZmZXIiLCJmcm9tIiwidG9TdHJpbmciLCJpc0Nvbm5lY3RlZCIsInN0YXJ0SGVscGVyIiwiY2hlY2tTdGF0ZVNlc3Npb24iLCJsaXN0ZW5NZXNzYWdlcyIsImxpc3RlbkFja3MiLCJvblByZXNlbmNlQ2hhbmdlZCIsIm9uU3RhdGVDaGFuZ2UiLCJzdGF0ZSIsImNvbmZsaXRzIiwiU29ja2V0U3RhdGUiLCJDT05GTElDVCIsImluY2x1ZGVzIiwidXNlSGVyZSIsIm9uTWVzc2FnZSIsInR5cGUiLCJvbkxpdmVMb2NhdGlvbiIsInNlbmRlciIsImlkIiwibG9jYXRpb24iLCJvbkFueU1lc3NhZ2UiLCJkb3dubG9hZCIsIndlYnNvY2tldCIsImF1dG9Eb3dubG9hZCIsImZyb21NZSIsInJlc3BvbnNlIiwib25TZWxmTWVzc2FnZSIsIm9uSW5jb21pbmdDYWxsIiwiY2FsbCIsIm9uQWNrIiwiYWNrIiwicHJlc2VuY2VDaGFuZ2VkRXZlbnQiLCJyZWFjdGlvbiIsIm9uVXBkYXRlTGFiZWwiLCJlbmNvZGVGdW5jdGlvbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJkZWNvZGVGdW5jdGlvbiIsInRleHQiLCJvYmplY3QiLCJwYXJzZSIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvY3JlYXRlU2Vzc2lvblV0aWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIxIFdQUENvbm5lY3QgVGVhbVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3JlYXRlLCBTb2NrZXRTdGF0ZSB9IGZyb20gJ0B3cHBjb25uZWN0LXRlYW0vd3BwY29ubmVjdCc7XG5pbXBvcnQgeyBSZXF1ZXN0IH0gZnJvbSAnZXhwcmVzcyc7XG5cbmltcG9ydCB7IGRvd25sb2FkIH0gZnJvbSAnLi4vY29udHJvbGxlci9zZXNzaW9uQ29udHJvbGxlcic7XG5pbXBvcnQgeyBXaGF0c0FwcFNlcnZlciB9IGZyb20gJy4uL3R5cGVzL1doYXRzQXBwU2VydmVyJztcbmltcG9ydCBjaGF0V29vdENsaWVudCBmcm9tICcuL2NoYXRXb290Q2xpZW50JztcbmltcG9ydCB7IGF1dG9Eb3dubG9hZCwgY2FsbFdlYkhvb2ssIHN0YXJ0SGVscGVyIH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgY2xpZW50c0FycmF5LCBldmVudEVtaXR0ZXIgfSBmcm9tICcuL3Nlc3Npb25VdGlsJztcbmltcG9ydCBGYWN0b3J5IGZyb20gJy4vdG9rZW5TdG9yZS9mYWN0b3J5JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ3JlYXRlU2Vzc2lvblV0aWwge1xuICBzdGFydENoYXRXb290Q2xpZW50KGNsaWVudDogYW55KSB7XG4gICAgaWYgKGNsaWVudC5jb25maWcuY2hhdFdvb3QgJiYgIWNsaWVudC5fY2hhdFdvb3RDbGllbnQpXG4gICAgICBjbGllbnQuX2NoYXRXb290Q2xpZW50ID0gbmV3IGNoYXRXb290Q2xpZW50KFxuICAgICAgICBjbGllbnQuY29uZmlnLmNoYXRXb290LFxuICAgICAgICBjbGllbnQuc2Vzc2lvblxuICAgICAgKTtcbiAgICByZXR1cm4gY2xpZW50Ll9jaGF0V29vdENsaWVudDtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVNlc3Npb25VdGlsKFxuICAgIHJlcTogYW55LFxuICAgIGNsaWVudHNBcnJheTogYW55LFxuICAgIHNlc3Npb246IHN0cmluZyxcbiAgICByZXM/OiBhbnlcbiAgKSB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBjbGllbnQgPSB0aGlzLmdldENsaWVudChzZXNzaW9uKSBhcyBhbnk7XG4gICAgICBpZiAoY2xpZW50LnN0YXR1cyAhPSBudWxsICYmIGNsaWVudC5zdGF0dXMgIT09ICdDTE9TRUQnKSByZXR1cm47XG4gICAgICBjbGllbnQuc3RhdHVzID0gJ0lOSVRJQUxJWklORyc7XG4gICAgICBjbGllbnQuY29uZmlnID0gcmVxLmJvZHk7XG5cbiAgICAgIGNvbnN0IHRva2VuU3RvcmUgPSBuZXcgRmFjdG9yeSgpO1xuICAgICAgY29uc3QgbXlUb2tlblN0b3JlID0gdG9rZW5TdG9yZS5jcmVhdGVUb2tlblN0b3J5KGNsaWVudCk7XG4gICAgICBjb25zdCB0b2tlbkRhdGEgPSBhd2FpdCBteVRva2VuU3RvcmUuZ2V0VG9rZW4oc2Vzc2lvbik7XG5cbiAgICAgIC8vIHdlIG5lZWQgdGhpcyB0byB1cGRhdGUgcGhvbmUgaW4gY29uZmlnIGV2ZXJ5IHRpbWUgc2Vzc2lvbiBzdGFydHMsIHNvIHdlIGNhbiBhc2sgZm9yIGNvZGUgZm9yIGl0IGFnYWluLlxuICAgICAgbXlUb2tlblN0b3JlLnNldFRva2VuKHNlc3Npb24sIHRva2VuRGF0YSA/PyB7fSk7XG5cbiAgICAgIHRoaXMuc3RhcnRDaGF0V29vdENsaWVudChjbGllbnQpO1xuXG4gICAgICBpZiAocmVxLnNlcnZlck9wdGlvbnMuY3VzdG9tVXNlckRhdGFEaXIpIHtcbiAgICAgICAgcmVxLnNlcnZlck9wdGlvbnMuY3JlYXRlT3B0aW9ucy5wdXBwZXRlZXJPcHRpb25zID0ge1xuICAgICAgICAgIHVzZXJEYXRhRGlyOiByZXEuc2VydmVyT3B0aW9ucy5jdXN0b21Vc2VyRGF0YURpciArIHNlc3Npb24sXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHdwcENsaWVudCA9IGF3YWl0IGNyZWF0ZShcbiAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICB7fSxcbiAgICAgICAgICB7IHRva2VuU3RvcmU6IG15VG9rZW5TdG9yZSB9LFxuICAgICAgICAgIHJlcS5zZXJ2ZXJPcHRpb25zLmNyZWF0ZU9wdGlvbnMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2Vzc2lvbjogc2Vzc2lvbixcbiAgICAgICAgICAgIHBob25lTnVtYmVyOiBjbGllbnQuY29uZmlnLnBob25lID8/IG51bGwsXG4gICAgICAgICAgICBkZXZpY2VOYW1lOlxuICAgICAgICAgICAgICBjbGllbnQuY29uZmlnLnBob25lID09IHVuZGVmaW5lZCAvLyBidWcgd2hlbiB1c2luZyBwaG9uZSBjb2RlIHRoaXMgc2hvdWxkbid0IGJlIHBhc3NlZCAoaHR0cHM6Ly9naXRodWIuY29tL3dwcGNvbm5lY3QtdGVhbS93cHBjb25uZWN0LXNlcnZlci9pc3N1ZXMvMTY4NyNpc3N1ZWNvbW1lbnQtMjA5OTM1Nzg3NClcbiAgICAgICAgICAgICAgICA/IGNsaWVudC5jb25maWc/LmRldmljZU5hbWUgfHxcbiAgICAgICAgICAgICAgICAgIHJlcS5zZXJ2ZXJPcHRpb25zLmRldmljZU5hbWUgfHxcbiAgICAgICAgICAgICAgICAgICdXcHBDb25uZWN0J1xuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgcG93ZXJlZEJ5OlxuICAgICAgICAgICAgICBjbGllbnQuY29uZmlnLnBob25lID09IHVuZGVmaW5lZCAvLyBidWcgd2hlbiB1c2luZyBwaG9uZSBjb2RlIHRoaXMgc2hvdWxkbid0IGJlIHBhc3NlZCAoaHR0cHM6Ly9naXRodWIuY29tL3dwcGNvbm5lY3QtdGVhbS93cHBjb25uZWN0LXNlcnZlci9pc3N1ZXMvMTY4NyNpc3N1ZWNvbW1lbnQtMjA5OTM1Nzg3NClcbiAgICAgICAgICAgICAgICA/IGNsaWVudC5jb25maWc/LnBvd2VyZWRCeSB8fFxuICAgICAgICAgICAgICAgICAgcmVxLnNlcnZlck9wdGlvbnMucG93ZXJlZEJ5IHx8XG4gICAgICAgICAgICAgICAgICAnV1BQQ29ubmVjdC1TZXJ2ZXInXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBjYXRjaExpbmtDb2RlOiAoY29kZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZXhwb3J0UGhvbmVDb2RlKHJlcSwgY2xpZW50LmNvbmZpZy5waG9uZSwgY29kZSwgY2xpZW50LCByZXMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNhdGNoUVI6IChcbiAgICAgICAgICAgICAgYmFzZTY0UXI6IGFueSxcbiAgICAgICAgICAgICAgYXNjaWlRUjogYW55LFxuICAgICAgICAgICAgICBhdHRlbXB0OiBhbnksXG4gICAgICAgICAgICAgIHVybENvZGU6IHN0cmluZ1xuICAgICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZXhwb3J0UVIocmVxLCBiYXNlNjRRciwgdXJsQ29kZSwgY2xpZW50LCByZXMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uTG9hZGluZ1NjcmVlbjogKHBlcmNlbnQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgIHJlcS5sb2dnZXIuaW5mbyhgWyR7c2Vzc2lvbn1dICR7cGVyY2VudH0lIC0gJHttZXNzYWdlfWApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0YXR1c0ZpbmQ6IChzdGF0dXNGaW5kOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBldmVudEVtaXR0ZXIuZW1pdChcbiAgICAgICAgICAgICAgICAgIGBzdGF0dXMtJHtjbGllbnQuc2Vzc2lvbn1gLFxuICAgICAgICAgICAgICAgICAgY2xpZW50LFxuICAgICAgICAgICAgICAgICAgc3RhdHVzRmluZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgc3RhdHVzRmluZCA9PT0gJ2F1dG9jbG9zZUNhbGxlZCcgfHxcbiAgICAgICAgICAgICAgICAgIHN0YXR1c0ZpbmQgPT09ICdkZXNjb25uZWN0ZWRNb2JpbGUnXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICBjbGllbnQuc3RhdHVzID0gJ0NMT1NFRCc7XG4gICAgICAgICAgICAgICAgICBjbGllbnQucXJjb2RlID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgIGNsaWVudC5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgY2xpZW50c0FycmF5W3Nlc3Npb25dID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ3N0YXR1cy1maW5kJywge1xuICAgICAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXNGaW5kLFxuICAgICAgICAgICAgICAgICAgc2Vzc2lvbjogY2xpZW50LnNlc3Npb24sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmVxLmxvZ2dlci5pbmZvKHN0YXR1c0ZpbmQgKyAnXFxuXFxuJyk7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgICk7XG5cbiAgICAgIGNsaWVudCA9IGNsaWVudHNBcnJheVtzZXNzaW9uXSA9IE9iamVjdC5hc3NpZ24od3BwQ2xpZW50LCBjbGllbnQpO1xuICAgICAgYXdhaXQgdGhpcy5zdGFydChyZXEsIGNsaWVudCk7XG5cbiAgICAgIGlmIChyZXEuc2VydmVyT3B0aW9ucy53ZWJob29rLm9uUGFydGljaXBhbnRzQ2hhbmdlZCkge1xuICAgICAgICBhd2FpdCB0aGlzLm9uUGFydGljaXBhbnRzQ2hhbmdlZChyZXEsIGNsaWVudCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXEuc2VydmVyT3B0aW9ucy53ZWJob29rLm9uUmVhY3Rpb25NZXNzYWdlKSB7XG4gICAgICAgIGF3YWl0IHRoaXMub25SZWFjdGlvbk1lc3NhZ2UoY2xpZW50LCByZXEpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVxLnNlcnZlck9wdGlvbnMud2ViaG9vay5vblJldm9rZWRNZXNzYWdlKSB7XG4gICAgICAgIGF3YWl0IHRoaXMub25SZXZva2VkTWVzc2FnZShjbGllbnQsIHJlcSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXEuc2VydmVyT3B0aW9ucy53ZWJob29rLm9uUG9sbFJlc3BvbnNlKSB7XG4gICAgICAgIGF3YWl0IHRoaXMub25Qb2xsUmVzcG9uc2UoY2xpZW50LCByZXEpO1xuICAgICAgfVxuICAgICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLndlYmhvb2sub25MYWJlbFVwZGF0ZWQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vbkxhYmVsVXBkYXRlZChjbGllbnQsIHJlcSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmVxLmxvZ2dlci5lcnJvcihlKTtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5uYW1lID09ICdUaW1lb3V0RXJyb3InKSB7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuZ2V0Q2xpZW50KHNlc3Npb24pIGFzIGFueTtcbiAgICAgICAgY2xpZW50LnN0YXR1cyA9ICdDTE9TRUQnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIG9wZW5kYXRhKHJlcTogUmVxdWVzdCwgc2Vzc2lvbjogc3RyaW5nLCByZXM/OiBhbnkpIHtcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVNlc3Npb25VdGlsKHJlcSwgY2xpZW50c0FycmF5LCBzZXNzaW9uLCByZXMpO1xuICB9XG5cbiAgZXhwb3J0UGhvbmVDb2RlKFxuICAgIHJlcTogYW55LFxuICAgIHBob25lOiBhbnksXG4gICAgcGhvbmVDb2RlOiBhbnksXG4gICAgY2xpZW50OiBXaGF0c0FwcFNlcnZlcixcbiAgICByZXM/OiBhbnlcbiAgKSB7XG4gICAgZXZlbnRFbWl0dGVyLmVtaXQoYHBob25lQ29kZS0ke2NsaWVudC5zZXNzaW9ufWAsIHBob25lQ29kZSwgY2xpZW50KTtcblxuICAgIE9iamVjdC5hc3NpZ24oY2xpZW50LCB7XG4gICAgICBzdGF0dXM6ICdQSE9ORUNPREUnLFxuICAgICAgcGhvbmVDb2RlOiBwaG9uZUNvZGUsXG4gICAgICBwaG9uZTogcGhvbmUsXG4gICAgfSk7XG5cbiAgICByZXEuaW8uZW1pdCgncGhvbmVDb2RlJywge1xuICAgICAgZGF0YTogcGhvbmVDb2RlLFxuICAgICAgcGhvbmU6IHBob25lLFxuICAgICAgc2Vzc2lvbjogY2xpZW50LnNlc3Npb24sXG4gICAgfSk7XG5cbiAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ3Bob25lQ29kZScsIHtcbiAgICAgIHBob25lQ29kZTogcGhvbmVDb2RlLFxuICAgICAgcGhvbmU6IHBob25lLFxuICAgICAgc2Vzc2lvbjogY2xpZW50LnNlc3Npb24sXG4gICAgfSk7XG5cbiAgICBpZiAocmVzICYmICFyZXMuX2hlYWRlclNlbnQpXG4gICAgICByZXMuc3RhdHVzKDIwMCkuanNvbih7XG4gICAgICAgIHN0YXR1czogJ3Bob25lQ29kZScsXG4gICAgICAgIHBob25lOiBwaG9uZSxcbiAgICAgICAgcGhvbmVDb2RlOiBwaG9uZUNvZGUsXG4gICAgICAgIHNlc3Npb246IGNsaWVudC5zZXNzaW9uLFxuICAgICAgfSk7XG4gIH1cblxuICBleHBvcnRRUihcbiAgICByZXE6IGFueSxcbiAgICBxckNvZGU6IGFueSxcbiAgICB1cmxDb2RlOiBhbnksXG4gICAgY2xpZW50OiBXaGF0c0FwcFNlcnZlcixcbiAgICByZXM/OiBhbnlcbiAgKSB7XG4gICAgZXZlbnRFbWl0dGVyLmVtaXQoYHFyY29kZS0ke2NsaWVudC5zZXNzaW9ufWAsIHFyQ29kZSwgdXJsQ29kZSwgY2xpZW50KTtcbiAgICBPYmplY3QuYXNzaWduKGNsaWVudCwge1xuICAgICAgc3RhdHVzOiAnUVJDT0RFJyxcbiAgICAgIHFyY29kZTogcXJDb2RlLFxuICAgICAgdXJsY29kZTogdXJsQ29kZSxcbiAgICB9KTtcblxuICAgIHFyQ29kZSA9IHFyQ29kZS5yZXBsYWNlKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsJywgJycpO1xuICAgIGNvbnN0IGltYWdlQnVmZmVyID0gQnVmZmVyLmZyb20ocXJDb2RlLCAnYmFzZTY0Jyk7XG5cbiAgICByZXEuaW8uZW1pdCgncXJDb2RlJywge1xuICAgICAgZGF0YTogJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnICsgaW1hZ2VCdWZmZXIudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgc2Vzc2lvbjogY2xpZW50LnNlc3Npb24sXG4gICAgfSk7XG5cbiAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ3FyY29kZScsIHtcbiAgICAgIHFyY29kZTogcXJDb2RlLFxuICAgICAgdXJsY29kZTogdXJsQ29kZSxcbiAgICAgIHNlc3Npb246IGNsaWVudC5zZXNzaW9uLFxuICAgIH0pO1xuICAgIGlmIChyZXMgJiYgIXJlcy5faGVhZGVyU2VudClcbiAgICAgIHJlcy5zdGF0dXMoMjAwKS5qc29uKHtcbiAgICAgICAgc3RhdHVzOiAncXJjb2RlJyxcbiAgICAgICAgcXJjb2RlOiBxckNvZGUsXG4gICAgICAgIHVybGNvZGU6IHVybENvZGUsXG4gICAgICAgIHNlc3Npb246IGNsaWVudC5zZXNzaW9uLFxuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBvblBhcnRpY2lwYW50c0NoYW5nZWQocmVxOiBhbnksIGNsaWVudDogYW55KSB7XG4gICAgYXdhaXQgY2xpZW50LmlzQ29ubmVjdGVkKCk7XG4gICAgYXdhaXQgY2xpZW50Lm9uUGFydGljaXBhbnRzQ2hhbmdlZCgobWVzc2FnZTogYW55KSA9PiB7XG4gICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ29ucGFydGljaXBhbnRzY2hhbmdlZCcsIG1lc3NhZ2UpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc3RhcnQocmVxOiBSZXF1ZXN0LCBjbGllbnQ6IFdoYXRzQXBwU2VydmVyKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNsaWVudC5pc0Nvbm5lY3RlZCgpO1xuICAgICAgT2JqZWN0LmFzc2lnbihjbGllbnQsIHsgc3RhdHVzOiAnQ09OTkVDVEVEJywgcXJjb2RlOiBudWxsIH0pO1xuXG4gICAgICByZXEubG9nZ2VyLmluZm8oYFN0YXJ0ZWQgU2Vzc2lvbjogJHtjbGllbnQuc2Vzc2lvbn1gKTtcbiAgICAgIC8vY2FsbFdlYkhvb2soY2xpZW50LCByZXEsICdzZXNzaW9uLWxvZ2dlZCcsIHsgc3RhdHVzOiAnQ09OTkVDVEVEJ30pO1xuICAgICAgcmVxLmlvLmVtaXQoJ3Nlc3Npb24tbG9nZ2VkJywgeyBzdGF0dXM6IHRydWUsIHNlc3Npb246IGNsaWVudC5zZXNzaW9uIH0pO1xuICAgICAgc3RhcnRIZWxwZXIoY2xpZW50LCByZXEpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXEubG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICAgIHJlcS5pby5lbWl0KCdzZXNzaW9uLWVycm9yJywgY2xpZW50LnNlc3Npb24pO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuY2hlY2tTdGF0ZVNlc3Npb24oY2xpZW50LCByZXEpO1xuICAgIGF3YWl0IHRoaXMubGlzdGVuTWVzc2FnZXMoY2xpZW50LCByZXEpO1xuXG4gICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLndlYmhvb2subGlzdGVuQWNrcykge1xuICAgICAgYXdhaXQgdGhpcy5saXN0ZW5BY2tzKGNsaWVudCwgcmVxKTtcbiAgICB9XG5cbiAgICBpZiAocmVxLnNlcnZlck9wdGlvbnMud2ViaG9vay5vblByZXNlbmNlQ2hhbmdlZCkge1xuICAgICAgYXdhaXQgdGhpcy5vblByZXNlbmNlQ2hhbmdlZChjbGllbnQsIHJlcSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY2hlY2tTdGF0ZVNlc3Npb24oY2xpZW50OiBXaGF0c0FwcFNlcnZlciwgcmVxOiBSZXF1ZXN0KSB7XG4gICAgYXdhaXQgY2xpZW50Lm9uU3RhdGVDaGFuZ2UoKHN0YXRlKSA9PiB7XG4gICAgICByZXEubG9nZ2VyLmluZm8oYFN0YXRlIENoYW5nZSAke3N0YXRlfTogJHtjbGllbnQuc2Vzc2lvbn1gKTtcbiAgICAgIGNvbnN0IGNvbmZsaXRzID0gW1NvY2tldFN0YXRlLkNPTkZMSUNUXTtcblxuICAgICAgaWYgKGNvbmZsaXRzLmluY2x1ZGVzKHN0YXRlKSkge1xuICAgICAgICBjbGllbnQudXNlSGVyZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbGlzdGVuTWVzc2FnZXMoY2xpZW50OiBXaGF0c0FwcFNlcnZlciwgcmVxOiBSZXF1ZXN0KSB7XG4gICAgYXdhaXQgY2xpZW50Lm9uTWVzc2FnZShhc3luYyAobWVzc2FnZTogYW55KSA9PiB7XG4gICAgICBldmVudEVtaXR0ZXIuZW1pdChgbWVuc2FnZW0tJHtjbGllbnQuc2Vzc2lvbn1gLCBjbGllbnQsIG1lc3NhZ2UpO1xuICAgICAgY2FsbFdlYkhvb2soY2xpZW50LCByZXEsICdvbm1lc3NhZ2UnLCBtZXNzYWdlKTtcbiAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09ICdsb2NhdGlvbicpXG4gICAgICAgIGNsaWVudC5vbkxpdmVMb2NhdGlvbihtZXNzYWdlLnNlbmRlci5pZCwgKGxvY2F0aW9uKSA9PiB7XG4gICAgICAgICAgY2FsbFdlYkhvb2soY2xpZW50LCByZXEsICdsb2NhdGlvbicsIGxvY2F0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBhd2FpdCBjbGllbnQub25BbnlNZXNzYWdlKGFzeW5jIChtZXNzYWdlOiBhbnkpID0+IHtcbiAgICAgIG1lc3NhZ2Uuc2Vzc2lvbiA9IGNsaWVudC5zZXNzaW9uO1xuXG4gICAgICBpZiAobWVzc2FnZS50eXBlID09PSAnc3RpY2tlcicpIHtcbiAgICAgICAgZG93bmxvYWQobWVzc2FnZSwgY2xpZW50LCByZXEubG9nZ2VyKTtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICByZXEuc2VydmVyT3B0aW9ucz8ud2Vic29ja2V0Py5hdXRvRG93bmxvYWQgfHxcbiAgICAgICAgKHJlcS5zZXJ2ZXJPcHRpb25zPy53ZWJob29rPy5hdXRvRG93bmxvYWQgJiYgbWVzc2FnZS5mcm9tTWUgPT0gZmFsc2UpXG4gICAgICApIHtcbiAgICAgICAgYXdhaXQgYXV0b0Rvd25sb2FkKGNsaWVudCwgcmVxLCBtZXNzYWdlKTtcbiAgICAgIH1cblxuICAgICAgcmVxLmlvLmVtaXQoJ3JlY2VpdmVkLW1lc3NhZ2UnLCB7IHJlc3BvbnNlOiBtZXNzYWdlIH0pO1xuICAgICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLndlYmhvb2sub25TZWxmTWVzc2FnZSAmJiBtZXNzYWdlLmZyb21NZSlcbiAgICAgICAgY2FsbFdlYkhvb2soY2xpZW50LCByZXEsICdvbnNlbGZtZXNzYWdlJywgbWVzc2FnZSk7XG4gICAgfSk7XG5cbiAgICBhd2FpdCBjbGllbnQub25JbmNvbWluZ0NhbGwoYXN5bmMgKGNhbGwpID0+IHtcbiAgICAgIHJlcS5pby5lbWl0KCdpbmNvbWluZ2NhbGwnLCBjYWxsKTtcbiAgICAgIGNhbGxXZWJIb29rKGNsaWVudCwgcmVxLCAnaW5jb21pbmdjYWxsJywgY2FsbCk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsaXN0ZW5BY2tzKGNsaWVudDogV2hhdHNBcHBTZXJ2ZXIsIHJlcTogUmVxdWVzdCkge1xuICAgIGF3YWl0IGNsaWVudC5vbkFjayhhc3luYyAoYWNrKSA9PiB7XG4gICAgICByZXEuaW8uZW1pdCgnb25hY2snLCBhY2spO1xuICAgICAgY2FsbFdlYkhvb2soY2xpZW50LCByZXEsICdvbmFjaycsIGFjayk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBvblByZXNlbmNlQ2hhbmdlZChjbGllbnQ6IFdoYXRzQXBwU2VydmVyLCByZXE6IFJlcXVlc3QpIHtcbiAgICBhd2FpdCBjbGllbnQub25QcmVzZW5jZUNoYW5nZWQoYXN5bmMgKHByZXNlbmNlQ2hhbmdlZEV2ZW50KSA9PiB7XG4gICAgICByZXEuaW8uZW1pdCgnb25wcmVzZW5jZWNoYW5nZWQnLCBwcmVzZW5jZUNoYW5nZWRFdmVudCk7XG4gICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ29ucHJlc2VuY2VjaGFuZ2VkJywgcHJlc2VuY2VDaGFuZ2VkRXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgb25SZWFjdGlvbk1lc3NhZ2UoY2xpZW50OiBXaGF0c0FwcFNlcnZlciwgcmVxOiBSZXF1ZXN0KSB7XG4gICAgYXdhaXQgY2xpZW50LmlzQ29ubmVjdGVkKCk7XG4gICAgYXdhaXQgY2xpZW50Lm9uUmVhY3Rpb25NZXNzYWdlKGFzeW5jIChyZWFjdGlvbjogYW55KSA9PiB7XG4gICAgICByZXEuaW8uZW1pdCgnb25yZWFjdGlvbm1lc3NhZ2UnLCByZWFjdGlvbik7XG4gICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ29ucmVhY3Rpb25tZXNzYWdlJywgcmVhY3Rpb24pO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgb25SZXZva2VkTWVzc2FnZShjbGllbnQ6IFdoYXRzQXBwU2VydmVyLCByZXE6IFJlcXVlc3QpIHtcbiAgICBhd2FpdCBjbGllbnQuaXNDb25uZWN0ZWQoKTtcbiAgICBhd2FpdCBjbGllbnQub25SZXZva2VkTWVzc2FnZShhc3luYyAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgcmVxLmlvLmVtaXQoJ29ucmV2b2tlZG1lc3NhZ2UnLCByZXNwb25zZSk7XG4gICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ29ucmV2b2tlZG1lc3NhZ2UnLCByZXNwb25zZSk7XG4gICAgfSk7XG4gIH1cbiAgYXN5bmMgb25Qb2xsUmVzcG9uc2UoY2xpZW50OiBXaGF0c0FwcFNlcnZlciwgcmVxOiBSZXF1ZXN0KSB7XG4gICAgYXdhaXQgY2xpZW50LmlzQ29ubmVjdGVkKCk7XG4gICAgYXdhaXQgY2xpZW50Lm9uUG9sbFJlc3BvbnNlKGFzeW5jIChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICByZXEuaW8uZW1pdCgnb25wb2xscmVzcG9uc2UnLCByZXNwb25zZSk7XG4gICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ29ucG9sbHJlc3BvbnNlJywgcmVzcG9uc2UpO1xuICAgIH0pO1xuICB9XG4gIGFzeW5jIG9uTGFiZWxVcGRhdGVkKGNsaWVudDogV2hhdHNBcHBTZXJ2ZXIsIHJlcTogUmVxdWVzdCkge1xuICAgIGF3YWl0IGNsaWVudC5pc0Nvbm5lY3RlZCgpO1xuICAgIGF3YWl0IGNsaWVudC5vblVwZGF0ZUxhYmVsKGFzeW5jIChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICByZXEuaW8uZW1pdCgnb251cGRhdGVsYWJlbCcsIHJlc3BvbnNlKTtcbiAgICAgIGNhbGxXZWJIb29rKGNsaWVudCwgcmVxLCAnb251cGRhdGVsYWJlbCcsIHJlc3BvbnNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGVuY29kZUZ1bmN0aW9uKGRhdGE6IGFueSwgd2ViaG9vazogYW55KSB7XG4gICAgZGF0YS53ZWJob29rID0gd2ViaG9vaztcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gIH1cblxuICBkZWNvZGVGdW5jdGlvbih0ZXh0OiBhbnksIGNsaWVudDogYW55KSB7XG4gICAgY29uc3Qgb2JqZWN0ID0gSlNPTi5wYXJzZSh0ZXh0KTtcbiAgICBpZiAob2JqZWN0LndlYmhvb2sgJiYgIWNsaWVudC53ZWJob29rKSBjbGllbnQud2ViaG9vayA9IG9iamVjdC53ZWJob29rO1xuICAgIGRlbGV0ZSBvYmplY3Qud2ViaG9vaztcbiAgICByZXR1cm4gb2JqZWN0O1xuICB9XG5cbiAgZ2V0Q2xpZW50KHNlc3Npb246IGFueSkge1xuICAgIGxldCBjbGllbnQgPSBjbGllbnRzQXJyYXlbc2Vzc2lvbl07XG5cbiAgICBpZiAoIWNsaWVudClcbiAgICAgIGNsaWVudCA9IGNsaWVudHNBcnJheVtzZXNzaW9uXSA9IHtcbiAgICAgICAgc3RhdHVzOiBudWxsLFxuICAgICAgICBzZXNzaW9uOiBzZXNzaW9uLFxuICAgICAgfSBhcyBhbnk7XG4gICAgcmV0dXJuIGNsaWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFlQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7OztBQUdBLElBQUFDLGtCQUFBLEdBQUFELE9BQUE7O0FBRUEsSUFBQUUsZUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBSCxzQkFBQSxDQUFBSCxPQUFBLDBCQUEyQyxDQXZCM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBV2UsTUFBTU8saUJBQWlCLENBQUMsQ0FDckNDLG1CQUFtQkEsQ0FBQ0MsTUFBVyxFQUFFLENBQy9CLElBQUlBLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDQyxRQUFRLElBQUksQ0FBQ0YsTUFBTSxDQUFDUCxlQUFlLEVB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
385
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd3BwY29ubmVjdCIsInJlcXVpcmUiLCJfc2Vzc2lvbkNvbnRyb2xsZXIiLCJfY2hhdFdvb3RDbGllbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2Z1bmN0aW9ucyIsIl9zZXNzaW9uVXRpbCIsIl9mYWN0b3J5IiwiQ3JlYXRlU2Vzc2lvblV0aWwiLCJzdGFydENoYXRXb290Q2xpZW50IiwiY2xpZW50IiwiY29uZmlnIiwiY2hhdFdvb3QiLCJjaGF0V29vdENsaWVudCIsInNlc3Npb24iLCJjcmVhdGVTZXNzaW9uVXRpbCIsInJlcSIsImNsaWVudHNBcnJheSIsInJlcyIsImdldENsaWVudCIsInN0YXR1cyIsImJvZHkiLCJ0b2tlblN0b3JlIiwiRmFjdG9yeSIsIm15VG9rZW5TdG9yZSIsImNyZWF0ZVRva2VuU3RvcnkiLCJ0b2tlbkRhdGEiLCJnZXRUb2tlbiIsInNldFRva2VuIiwic2VydmVyT3B0aW9ucyIsImN1c3RvbVVzZXJEYXRhRGlyIiwiY3JlYXRlT3B0aW9ucyIsInB1cHBldGVlck9wdGlvbnMiLCJ1c2VyRGF0YURpciIsIndwcENsaWVudCIsImNyZWF0ZSIsIk9iamVjdCIsImFzc2lnbiIsInByb3h5IiwidXJsIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsInBob25lTnVtYmVyIiwicGhvbmUiLCJkZXZpY2VOYW1lIiwidW5kZWZpbmVkIiwicG93ZXJlZEJ5IiwiY2F0Y2hMaW5rQ29kZSIsImNvZGUiLCJleHBvcnRQaG9uZUNvZGUiLCJjYXRjaFFSIiwiYmFzZTY0UXIiLCJhc2NpaVFSIiwiYXR0ZW1wdCIsInVybENvZGUiLCJleHBvcnRRUiIsIm9uTG9hZGluZ1NjcmVlbiIsInBlcmNlbnQiLCJtZXNzYWdlIiwibG9nZ2VyIiwiaW5mbyIsInN0YXR1c0ZpbmQiLCJldmVudEVtaXR0ZXIiLCJlbWl0IiwiU3RhdHVzRmluZCIsImF1dG9jbG9zZUNhbGxlZCIsImRpc2Nvbm5lY3RlZE1vYmlsZSIsInFyY29kZSIsImNsb3NlIiwiY2FsbFdlYkhvb2siLCJlcnJvciIsInN0YXJ0Iiwid2ViaG9vayIsIm9uUGFydGljaXBhbnRzQ2hhbmdlZCIsIm9uUmVhY3Rpb25NZXNzYWdlIiwib25SZXZva2VkTWVzc2FnZSIsIm9uUG9sbFJlc3BvbnNlIiwib25MYWJlbFVwZGF0ZWQiLCJlIiwiRXJyb3IiLCJuYW1lIiwib3BlbmRhdGEiLCJwaG9uZUNvZGUiLCJpbyIsImRhdGEiLCJfaGVhZGVyU2VudCIsImpzb24iLCJxckNvZGUiLCJ1cmxjb2RlIiwicmVwbGFjZSIsImltYWdlQnVmZmVyIiwiQnVmZmVyIiwiZnJvbSIsInRvU3RyaW5nIiwiaXNDb25uZWN0ZWQiLCJzdGFydEhlbHBlciIsImNoZWNrU3RhdGVTZXNzaW9uIiwibGlzdGVuTWVzc2FnZXMiLCJsaXN0ZW5BY2tzIiwib25QcmVzZW5jZUNoYW5nZWQiLCJvblN0YXRlQ2hhbmdlIiwic3RhdGUiLCJjb25mbGl0cyIsIlNvY2tldFN0YXRlIiwiQ09ORkxJQ1QiLCJpbmNsdWRlcyIsInVzZUhlcmUiLCJvbk1lc3NhZ2UiLCJ0eXBlIiwib25MaXZlTG9jYXRpb24iLCJzZW5kZXIiLCJpZCIsImxvY2F0aW9uIiwib25BbnlNZXNzYWdlIiwiZG93bmxvYWQiLCJ3ZWJzb2NrZXQiLCJhdXRvRG93bmxvYWQiLCJmcm9tTWUiLCJyZXNwb25zZSIsIm9uU2VsZk1lc3NhZ2UiLCJvbkluY29taW5nQ2FsbCIsImNhbGwiLCJvbkFjayIsImFjayIsInByZXNlbmNlQ2hhbmdlZEV2ZW50IiwicmVhY3Rpb24iLCJvblVwZGF0ZUxhYmVsIiwiZW5jb2RlRnVuY3Rpb24iLCJKU09OIiwic3RyaW5naWZ5IiwiZGVjb2RlRnVuY3Rpb24iLCJ0ZXh0Iiwib2JqZWN0IiwicGFyc2UiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2NyZWF0ZVNlc3Npb25VdGlsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMSBXUFBDb25uZWN0IFRlYW1cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGNyZWF0ZSwgU29ja2V0U3RhdGUsIFN0YXR1c0ZpbmQgfSBmcm9tICdAd3BwY29ubmVjdC10ZWFtL3dwcGNvbm5lY3QnO1xuaW1wb3J0IHsgUmVxdWVzdCB9IGZyb20gJ2V4cHJlc3MnO1xuXG5pbXBvcnQgeyBkb3dubG9hZCB9IGZyb20gJy4uL2NvbnRyb2xsZXIvc2Vzc2lvbkNvbnRyb2xsZXInO1xuaW1wb3J0IHsgV2hhdHNBcHBTZXJ2ZXIgfSBmcm9tICcuLi90eXBlcy9XaGF0c0FwcFNlcnZlcic7XG5pbXBvcnQgY2hhdFdvb3RDbGllbnQgZnJvbSAnLi9jaGF0V29vdENsaWVudCc7XG5pbXBvcnQgeyBhdXRvRG93bmxvYWQsIGNhbGxXZWJIb29rLCBzdGFydEhlbHBlciB9IGZyb20gJy4vZnVuY3Rpb25zJztcbmltcG9ydCB7IGNsaWVudHNBcnJheSwgZXZlbnRFbWl0dGVyIH0gZnJvbSAnLi9zZXNzaW9uVXRpbCc7XG5pbXBvcnQgRmFjdG9yeSBmcm9tICcuL3Rva2VuU3RvcmUvZmFjdG9yeSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENyZWF0ZVNlc3Npb25VdGlsIHtcbiAgc3RhcnRDaGF0V29vdENsaWVudChjbGllbnQ6IGFueSkge1xuICAgIGlmIChjbGllbnQuY29uZmlnLmNoYXRXb290ICYmICFjbGllbnQuX2NoYXRXb290Q2xpZW50KVxuICAgICAgY2xpZW50Ll9jaGF0V29vdENsaWVudCA9IG5ldyBjaGF0V29vdENsaWVudChcbiAgICAgICAgY2xpZW50LmNvbmZpZy5jaGF0V29vdCxcbiAgICAgICAgY2xpZW50LnNlc3Npb25cbiAgICAgICk7XG4gICAgcmV0dXJuIGNsaWVudC5fY2hhdFdvb3RDbGllbnQ7XG4gIH1cblxuICBhc3luYyBjcmVhdGVTZXNzaW9uVXRpbChcbiAgICByZXE6IGFueSxcbiAgICBjbGllbnRzQXJyYXk6IGFueSxcbiAgICBzZXNzaW9uOiBzdHJpbmcsXG4gICAgcmVzPzogYW55XG4gICkge1xuICAgIHRyeSB7XG4gICAgICBsZXQgY2xpZW50ID0gdGhpcy5nZXRDbGllbnQoc2Vzc2lvbikgYXMgYW55O1xuICAgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gbnVsbCAmJiBjbGllbnQuc3RhdHVzICE9PSAnQ0xPU0VEJykgcmV0dXJuO1xuICAgICAgY2xpZW50LnN0YXR1cyA9ICdJTklUSUFMSVpJTkcnO1xuICAgICAgY2xpZW50LmNvbmZpZyA9IHJlcS5ib2R5O1xuXG4gICAgICBjb25zdCB0b2tlblN0b3JlID0gbmV3IEZhY3RvcnkoKTtcbiAgICAgIGNvbnN0IG15VG9rZW5TdG9yZSA9IHRva2VuU3RvcmUuY3JlYXRlVG9rZW5TdG9yeShjbGllbnQpO1xuICAgICAgY29uc3QgdG9rZW5EYXRhID0gYXdhaXQgbXlUb2tlblN0b3JlLmdldFRva2VuKHNlc3Npb24pO1xuXG4gICAgICAvLyB3ZSBuZWVkIHRoaXMgdG8gdXBkYXRlIHBob25lIGluIGNvbmZpZyBldmVyeSB0aW1lIHNlc3Npb24gc3RhcnRzLCBzbyB3ZSBjYW4gYXNrIGZvciBjb2RlIGZvciBpdCBhZ2Fpbi5cbiAgICAgIG15VG9rZW5TdG9yZS5zZXRUb2tlbihzZXNzaW9uLCB0b2tlbkRhdGEgPz8ge30pO1xuXG4gICAgICB0aGlzLnN0YXJ0Q2hhdFdvb3RDbGllbnQoY2xpZW50KTtcblxuICAgICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLmN1c3RvbVVzZXJEYXRhRGlyKSB7XG4gICAgICAgIHJlcS5zZXJ2ZXJPcHRpb25zLmNyZWF0ZU9wdGlvbnMucHVwcGV0ZWVyT3B0aW9ucyA9IHtcbiAgICAgICAgICB1c2VyRGF0YURpcjogcmVxLnNlcnZlck9wdGlvbnMuY3VzdG9tVXNlckRhdGFEaXIgKyBzZXNzaW9uLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBjb25zdCB3cHBDbGllbnQgPSBhd2FpdCBjcmVhdGUoXG4gICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAge30sXG4gICAgICAgICAgeyB0b2tlblN0b3JlOiBteVRva2VuU3RvcmUgfSxcbiAgICAgICAgICBjbGllbnQuY29uZmlnLnByb3h5XG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBwcm94eToge1xuICAgICAgICAgICAgICAgICAgdXJsOiBjbGllbnQuY29uZmlnLnByb3h5Py51cmwsXG4gICAgICAgICAgICAgICAgICB1c2VybmFtZTogY2xpZW50LmNvbmZpZy5wcm94eT8udXNlcm5hbWUsXG4gICAgICAgICAgICAgICAgICBwYXNzd29yZDogY2xpZW50LmNvbmZpZy5wcm94eT8ucGFzc3dvcmQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgICByZXEuc2VydmVyT3B0aW9ucy5jcmVhdGVPcHRpb25zLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNlc3Npb246IHNlc3Npb24sXG4gICAgICAgICAgICBwaG9uZU51bWJlcjogY2xpZW50LmNvbmZpZy5waG9uZSA/PyBudWxsLFxuICAgICAgICAgICAgZGV2aWNlTmFtZTpcbiAgICAgICAgICAgICAgY2xpZW50LmNvbmZpZy5waG9uZSA9PSB1bmRlZmluZWQgLy8gYnVnIHdoZW4gdXNpbmcgcGhvbmUgY29kZSB0aGlzIHNob3VsZG4ndCBiZSBwYXNzZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93cHBjb25uZWN0LXRlYW0vd3BwY29ubmVjdC1zZXJ2ZXIvaXNzdWVzLzE2ODcjaXNzdWVjb21tZW50LTIwOTkzNTc4NzQpXG4gICAgICAgICAgICAgICAgPyBjbGllbnQuY29uZmlnPy5kZXZpY2VOYW1lIHx8XG4gICAgICAgICAgICAgICAgICByZXEuc2VydmVyT3B0aW9ucy5kZXZpY2VOYW1lIHx8XG4gICAgICAgICAgICAgICAgICAnV3BwQ29ubmVjdCdcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHBvd2VyZWRCeTpcbiAgICAgICAgICAgICAgY2xpZW50LmNvbmZpZy5waG9uZSA9PSB1bmRlZmluZWQgLy8gYnVnIHdoZW4gdXNpbmcgcGhvbmUgY29kZSB0aGlzIHNob3VsZG4ndCBiZSBwYXNzZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93cHBjb25uZWN0LXRlYW0vd3BwY29ubmVjdC1zZXJ2ZXIvaXNzdWVzLzE2ODcjaXNzdWVjb21tZW50LTIwOTkzNTc4NzQpXG4gICAgICAgICAgICAgICAgPyBjbGllbnQuY29uZmlnPy5wb3dlcmVkQnkgfHxcbiAgICAgICAgICAgICAgICAgIHJlcS5zZXJ2ZXJPcHRpb25zLnBvd2VyZWRCeSB8fFxuICAgICAgICAgICAgICAgICAgJ1dQUENvbm5lY3QtU2VydmVyJ1xuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY2F0Y2hMaW5rQ29kZTogKGNvZGU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmV4cG9ydFBob25lQ29kZShyZXEsIGNsaWVudC5jb25maWcucGhvbmUsIGNvZGUsIGNsaWVudCwgcmVzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjYXRjaFFSOiAoXG4gICAgICAgICAgICAgIGJhc2U2NFFyOiBhbnksXG4gICAgICAgICAgICAgIGFzY2lpUVI6IGFueSxcbiAgICAgICAgICAgICAgYXR0ZW1wdDogYW55LFxuICAgICAgICAgICAgICB1cmxDb2RlOiBzdHJpbmdcbiAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmV4cG9ydFFSKHJlcSwgYmFzZTY0UXIsIHVybENvZGUsIGNsaWVudCwgcmVzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkxvYWRpbmdTY3JlZW46IChwZXJjZW50OiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICByZXEubG9nZ2VyLmluZm8oYFske3Nlc3Npb259XSAke3BlcmNlbnR9JSAtICR7bWVzc2FnZX1gKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdGF0dXNGaW5kOiAoc3RhdHVzRmluZDogU3RhdHVzRmluZCkgPT4ge1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGV2ZW50RW1pdHRlci5lbWl0KFxuICAgICAgICAgICAgICAgICAgYHN0YXR1cy0ke2NsaWVudC5zZXNzaW9ufWAsXG4gICAgICAgICAgICAgICAgICBjbGllbnQsXG4gICAgICAgICAgICAgICAgICBzdGF0dXNGaW5kXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICBzdGF0dXNGaW5kID09PSBTdGF0dXNGaW5kLmF1dG9jbG9zZUNhbGxlZCB8fFxuICAgICAgICAgICAgICAgICAgc3RhdHVzRmluZCA9PT0gU3RhdHVzRmluZC5kaXNjb25uZWN0ZWRNb2JpbGVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIGNsaWVudC5zdGF0dXMgPSAnQ0xPU0VEJztcbiAgICAgICAgICAgICAgICAgIGNsaWVudC5xcmNvZGUgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgY2xpZW50LmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICBjbGllbnRzQXJyYXlbc2Vzc2lvbl0gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhbGxXZWJIb29rKGNsaWVudCwgcmVxLCAnc3RhdHVzLWZpbmQnLCB7XG4gICAgICAgICAgICAgICAgICBzdGF0dXM6IHN0YXR1c0ZpbmQsXG4gICAgICAgICAgICAgICAgICBzZXNzaW9uOiBjbGllbnQuc2Vzc2lvbixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXEubG9nZ2VyLmluZm8oc3RhdHVzRmluZCArICdcXG5cXG4nKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHt9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgY2xpZW50ID0gY2xpZW50c0FycmF5W3Nlc3Npb25dID0gT2JqZWN0LmFzc2lnbih3cHBDbGllbnQsIGNsaWVudCk7XG4gICAgICBhd2FpdCB0aGlzLnN0YXJ0KHJlcSwgY2xpZW50KTtcblxuICAgICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLndlYmhvb2sub25QYXJ0aWNpcGFudHNDaGFuZ2VkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMub25QYXJ0aWNpcGFudHNDaGFuZ2VkKHJlcSwgY2xpZW50KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLndlYmhvb2sub25SZWFjdGlvbk1lc3NhZ2UpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vblJlYWN0aW9uTWVzc2FnZShjbGllbnQsIHJlcSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXEuc2VydmVyT3B0aW9ucy53ZWJob29rLm9uUmV2b2tlZE1lc3NhZ2UpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vblJldm9rZWRNZXNzYWdlKGNsaWVudCwgcmVxKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcS5zZXJ2ZXJPcHRpb25zLndlYmhvb2sub25Qb2xsUmVzcG9uc2UpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vblBvbGxSZXNwb25zZShjbGllbnQsIHJlcSk7XG4gICAgICB9XG4gICAgICBpZiAocmVxLnNlcnZlck9wdGlvbnMud2ViaG9vay5vbkxhYmVsVXBkYXRlZCkge1xuICAgICAgICBhd2FpdCB0aGlzLm9uTGFiZWxVcGRhdGVkKGNsaWVudCwgcmVxKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXEubG9nZ2VyLmVycm9yKGUpO1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLm5hbWUgPT0gJ1RpbWVvdXRFcnJvcicpIHtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gdGhpcy5nZXRDbGllbnQoc2Vzc2lvbikgYXMgYW55O1xuICAgICAgICBjbGllbnQuc3RhdHVzID0gJ0NMT1NFRCc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb3BlbmRhdGEocmVxOiBSZXF1ZXN0LCBzZXNzaW9uOiBzdHJpbmcsIHJlcz86IGFueSkge1xuICAgIGF3YWl0IHRoaXMuY3JlYXRlU2Vzc2lvblV0aWwocmVxLCBjbGllbnRzQXJyYXksIHNlc3Npb24sIHJlcyk7XG4gIH1cblxuICBleHBvcnRQaG9uZUNvZGUoXG4gICAgcmVxOiBhbnksXG4gICAgcGhvbmU6IGFueSxcbiAgICBwaG9uZUNvZGU6IGFueSxcbiAgICBjbGllbnQ6IFdoYXRzQXBwU2VydmVyLFxuICAgIHJlcz86IGFueVxuICApIHtcbiAgICBldmVudEVtaXR0ZXIuZW1pdChgcGhvbmVDb2RlLSR7Y2xpZW50LnNlc3Npb259YCwgcGhvbmVDb2RlLCBjbGllbnQpO1xuXG4gICAgT2JqZWN0LmFzc2lnbihjbGllbnQsIHtcbiAgICAgIHN0YXR1czogJ1BIT05FQ09ERScsXG4gICAgICBwaG9uZUNvZGU6IHBob25lQ29kZSxcbiAgICAgIHBob25lOiBwaG9uZSxcbiAgICB9KTtcblxuICAgIHJlcS5pby5lbWl0KCdwaG9uZUNvZGUnLCB7XG4gICAgICBkYXRhOiBwaG9uZUNvZGUsXG4gICAgICBwaG9uZTogcGhvbmUsXG4gICAgICBzZXNzaW9uOiBjbGllbnQuc2Vzc2lvbixcbiAgICB9KTtcblxuICAgIGNhbGxXZWJIb29rKGNsaWVudCwgcmVxLCAncGhvbmVDb2RlJywge1xuICAgICAgcGhvbmVDb2RlOiBwaG9uZUNvZGUsXG4gICAgICBwaG9uZTogcGhvbmUsXG4gICAgICBzZXNzaW9uOiBjbGllbnQuc2Vzc2lvbixcbiAgICB9KTtcblxuICAgIGlmIChyZXMgJiYgIXJlcy5faGVhZGVyU2VudClcbiAgICAgIHJlcy5zdGF0dXMoMjAwKS5qc29uKHtcbiAgICAgICAgc3RhdHVzOiAncGhvbmVDb2RlJyxcbiAgICAgICAgcGhvbmU6IHBob25lLFxuICAgICAgICBwaG9uZUNvZGU6IHBob25lQ29kZSxcbiAgICAgICAgc2Vzc2lvbjogY2xpZW50LnNlc3Npb24sXG4gICAgICB9KTtcbiAgfVxuXG4gIGV4cG9ydFFSKFxuICAgIHJlcTogYW55LFxuICAgIHFyQ29kZTogYW55LFxuICAgIHVybENvZGU6IGFueSxcbiAgICBjbGllbnQ6IFdoYXRzQXBwU2VydmVyLFxuICAgIHJlcz86IGFueVxuICApIHtcbiAgICBldmVudEVtaXR0ZXIuZW1pdChgcXJjb2RlLSR7Y2xpZW50LnNlc3Npb259YCwgcXJDb2RlLCB1cmxDb2RlLCBjbGllbnQpO1xuICAgIE9iamVjdC5hc3NpZ24oY2xpZW50LCB7XG4gICAgICBzdGF0dXM6ICdRUkNPREUnLFxuICAgICAgcXJjb2RlOiBxckNvZGUsXG4gICAgICB1cmxjb2RlOiB1cmxDb2RlLFxuICAgIH0pO1xuXG4gICAgcXJDb2RlID0gcXJDb2RlLnJlcGxhY2UoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnLCAnJyk7XG4gICAgY29uc3QgaW1hZ2VCdWZmZXIgPSBCdWZmZXIuZnJvbShxckNvZGUsICdiYXNlNjQnKTtcblxuICAgIHJlcS5pby5lbWl0KCdxckNvZGUnLCB7XG4gICAgICBkYXRhOiAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LCcgKyBpbWFnZUJ1ZmZlci50b1N0cmluZygnYmFzZTY0JyksXG4gICAgICBzZXNzaW9uOiBjbGllbnQuc2Vzc2lvbixcbiAgICB9KTtcblxuICAgIGNhbGxXZWJIb29rKGNsaWVudCwgcmVxLCAncXJjb2RlJywge1xuICAgICAgcXJjb2RlOiBxckNvZGUsXG4gICAgICB1cmxjb2RlOiB1cmxDb2RlLFxuICAgICAgc2Vzc2lvbjogY2xpZW50LnNlc3Npb24sXG4gICAgfSk7XG4gICAgaWYgKHJlcyAmJiAhcmVzLl9oZWFkZXJTZW50KVxuICAgICAgcmVzLnN0YXR1cygyMDApLmpzb24oe1xuICAgICAgICBzdGF0dXM6ICdxcmNvZGUnLFxuICAgICAgICBxcmNvZGU6IHFyQ29kZSxcbiAgICAgICAgdXJsY29kZTogdXJsQ29kZSxcbiAgICAgICAgc2Vzc2lvbjogY2xpZW50LnNlc3Npb24sXG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG9uUGFydGljaXBhbnRzQ2hhbmdlZChyZXE6IGFueSwgY2xpZW50OiBhbnkpIHtcbiAgICBhd2FpdCBjbGllbnQuaXNDb25uZWN0ZWQoKTtcbiAgICBhd2FpdCBjbGllbnQub25QYXJ0aWNpcGFudHNDaGFuZ2VkKChtZXNzYWdlOiBhbnkpID0+IHtcbiAgICAgIGNhbGxXZWJIb29rKGNsaWVudCwgcmVxLCAnb25wYXJ0aWNpcGFudHNjaGFuZ2VkJywgbWVzc2FnZSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzdGFydChyZXE6IFJlcXVlc3QsIGNsaWVudDogV2hhdHNBcHBTZXJ2ZXIpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgY2xpZW50LmlzQ29ubmVjdGVkKCk7XG4gICAgICBPYmplY3QuYXNzaWduKGNsaWVudCwgeyBzdGF0dXM6ICdDT05ORUNURUQnLCBxcmNvZGU6IG51bGwgfSk7XG5cbiAgICAgIHJlcS5sb2dnZXIuaW5mbyhgU3RhcnRlZCBTZXNzaW9uOiAke2NsaWVudC5zZXNzaW9ufWApO1xuICAgICAgLy9jYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ3Nlc3Npb24tbG9nZ2VkJywgeyBzdGF0dXM6ICdDT05ORUNURUQnfSk7XG4gICAgICByZXEuaW8uZW1pdCgnc2Vzc2lvbi1sb2dnZWQnLCB7IHN0YXR1czogdHJ1ZSwgc2Vzc2lvbjogY2xpZW50LnNlc3Npb24gfSk7XG4gICAgICBzdGFydEhlbHBlcihjbGllbnQsIHJlcSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJlcS5sb2dnZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgcmVxLmlvLmVtaXQoJ3Nlc3Npb24tZXJyb3InLCBjbGllbnQuc2Vzc2lvbik7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5jaGVja1N0YXRlU2Vzc2lvbihjbGllbnQsIHJlcSk7XG4gICAgYXdhaXQgdGhpcy5saXN0ZW5NZXNzYWdlcyhjbGllbnQsIHJlcSk7XG5cbiAgICBpZiAocmVxLnNlcnZlck9wdGlvbnMud2ViaG9vay5saXN0ZW5BY2tzKSB7XG4gICAgICBhd2FpdCB0aGlzLmxpc3RlbkFja3MoY2xpZW50LCByZXEpO1xuICAgIH1cblxuICAgIGlmIChyZXEuc2VydmVyT3B0aW9ucy53ZWJob29rLm9uUHJlc2VuY2VDaGFuZ2VkKSB7XG4gICAgICBhd2FpdCB0aGlzLm9uUHJlc2VuY2VDaGFuZ2VkKGNsaWVudCwgcmVxKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjaGVja1N0YXRlU2Vzc2lvbihjbGllbnQ6IFdoYXRzQXBwU2VydmVyLCByZXE6IFJlcXVlc3QpIHtcbiAgICBhd2FpdCBjbGllbnQub25TdGF0ZUNoYW5nZSgoc3RhdGUpID0+IHtcbiAgICAgIHJlcS5sb2dnZXIuaW5mbyhgU3RhdGUgQ2hhbmdlICR7c3RhdGV9OiAke2NsaWVudC5zZXNzaW9ufWApO1xuICAgICAgY29uc3QgY29uZmxpdHMgPSBbU29ja2V0U3RhdGUuQ09ORkxJQ1RdO1xuXG4gICAgICBpZiAoY29uZmxpdHMuaW5jbHVkZXMoc3RhdGUpKSB7XG4gICAgICAgIGNsaWVudC51c2VIZXJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsaXN0ZW5NZXNzYWdlcyhjbGllbnQ6IFdoYXRzQXBwU2VydmVyLCByZXE6IFJlcXVlc3QpIHtcbiAgICBhd2FpdCBjbGllbnQub25NZXNzYWdlKGFzeW5jIChtZXNzYWdlOiBhbnkpID0+IHtcbiAgICAgIGV2ZW50RW1pdHRlci5lbWl0KGBtZW5zYWdlbS0ke2NsaWVudC5zZXNzaW9ufWAsIGNsaWVudCwgbWVzc2FnZSk7XG4gICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ29ubWVzc2FnZScsIG1lc3NhZ2UpO1xuICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gJ2xvY2F0aW9uJylcbiAgICAgICAgY2xpZW50Lm9uTGl2ZUxvY2F0aW9uKG1lc3NhZ2Uuc2VuZGVyLmlkLCAobG9jYXRpb24pID0+IHtcbiAgICAgICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ2xvY2F0aW9uJywgbG9jYXRpb24pO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGF3YWl0IGNsaWVudC5vbkFueU1lc3NhZ2UoYXN5bmMgKG1lc3NhZ2U6IGFueSkgPT4ge1xuICAgICAgbWVzc2FnZS5zZXNzaW9uID0gY2xpZW50LnNlc3Npb247XG5cbiAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09ICdzdGlja2VyJykge1xuICAgICAgICBkb3dubG9hZChtZXNzYWdlLCBjbGllbnQsIHJlcS5sb2dnZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIHJlcS5zZXJ2ZXJPcHRpb25zPy53ZWJzb2NrZXQ/LmF1dG9Eb3dubG9hZCB8fFxuICAgICAgICAocmVxLnNlcnZlck9wdGlvbnM/LndlYmhvb2s/LmF1dG9Eb3dubG9hZCAmJiBtZXNzYWdlLmZyb21NZSA9PSBmYWxzZSlcbiAgICAgICkge1xuICAgICAgICBhd2FpdCBhdXRvRG93bmxvYWQoY2xpZW50LCByZXEsIG1lc3NhZ2UpO1xuICAgICAgfVxuXG4gICAgICByZXEuaW8uZW1pdCgncmVjZWl2ZWQtbWVzc2FnZScsIHsgcmVzcG9uc2U6IG1lc3NhZ2UgfSk7XG4gICAgICBpZiAocmVxLnNlcnZlck9wdGlvbnMud2ViaG9vay5vblNlbGZNZXNzYWdlICYmIG1lc3NhZ2UuZnJvbU1lKVxuICAgICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ29uc2VsZm1lc3NhZ2UnLCBtZXNzYWdlKTtcbiAgICB9KTtcblxuICAgIGF3YWl0IGNsaWVudC5vbkluY29taW5nQ2FsbChhc3luYyAoY2FsbCkgPT4ge1xuICAgICAgcmVxLmlvLmVtaXQoJ2luY29taW5nY2FsbCcsIGNhbGwpO1xuICAgICAgY2FsbFdlYkhvb2soY2xpZW50LCByZXEsICdpbmNvbWluZ2NhbGwnLCBjYWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGxpc3RlbkFja3MoY2xpZW50OiBXaGF0c0FwcFNlcnZlciwgcmVxOiBSZXF1ZXN0KSB7XG4gICAgYXdhaXQgY2xpZW50Lm9uQWNrKGFzeW5jIChhY2spID0+IHtcbiAgICAgIHJlcS5pby5lbWl0KCdvbmFjaycsIGFjayk7XG4gICAgICBjYWxsV2ViSG9vayhjbGllbnQsIHJlcSwgJ29uYWNrJywgYWNrKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG9uUHJlc2VuY2VDaGFuZ2VkKGNsaWVudDogV2hhdHNBcHBTZXJ2ZXIsIHJlcTogUmVxdWVzdCkge1xuICAgIGF3YWl0IGNsaWVudC5vblByZXNlbmNlQ2hhbmdlZChhc3luYyAocHJlc2VuY2VDaGFuZ2VkRXZlbnQpID0+IHtcbiAgICAgIHJlcS5pby5lbWl0KCdvbnByZXNlbmNlY2hhbmdlZCcsIHByZXNlbmNlQ2hhbmdlZEV2ZW50KTtcbiAgICAgIGNhbGxXZWJIb29rKGNsaWVudCwgcmVxLCAnb25wcmVzZW5jZWNoYW5nZWQnLCBwcmVzZW5jZUNoYW5nZWRFdmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBvblJlYWN0aW9uTWVzc2FnZShjbGllbnQ6IFdoYXRzQXBwU2VydmVyLCByZXE6IFJlcXVlc3QpIHtcbiAgICBhd2FpdCBjbGllbnQuaXNDb25uZWN0ZWQoKTtcbiAgICBhd2FpdCBjbGllbnQub25SZWFjdGlvbk1lc3NhZ2UoYXN5bmMgKHJlYWN0aW9uOiBhbnkpID0+IHtcbiAgICAgIHJlcS5pby5lbWl0KCdvbnJlYWN0aW9ubWVzc2FnZScsIHJlYWN0aW9uKTtcbiAgICAgIGNhbGxXZWJIb29rKGNsaWVudCwgcmVxLCAnb25yZWFjdGlvbm1lc3NhZ2UnLCByZWFjdGlvbik7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBvblJldm9rZWRNZXNzYWdlKGNsaWVudDogV2hhdHNBcHBTZXJ2ZXIsIHJlcTogUmVxdWVzdCkge1xuICAgIGF3YWl0IGNsaWVudC5pc0Nvbm5lY3RlZCgpO1xuICAgIGF3YWl0IGNsaWVudC5vblJldm9rZWRNZXNzYWdlKGFzeW5jIChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICByZXEuaW8uZW1pdCgnb25yZXZva2VkbWVzc2FnZScsIHJlc3BvbnNlKTtcbiAgICAgIGNhbGxXZWJIb29rKGNsaWVudCwgcmVxLCAnb25yZXZva2VkbWVzc2FnZScsIHJlc3BvbnNlKTtcbiAgICB9KTtcbiAgfVxuICBhc3luYyBvblBvbGxSZXNwb25zZShjbGllbnQ6IFdoYXRzQXBwU2VydmVyLCByZXE6IFJlcXVlc3QpIHtcbiAgICBhd2FpdCBjbGllbnQuaXNDb25uZWN0ZWQoKTtcbiAgICBhd2FpdCBjbGllbnQub25Qb2xsUmVzcG9uc2UoYXN5bmMgKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHJlcS5pby5lbWl0KCdvbnBvbGxyZXNwb25zZScsIHJlc3BvbnNlKTtcbiAgICAgIGNhbGxXZWJIb29rKGNsaWVudCwgcmVxLCAnb25wb2xscmVzcG9uc2UnLCByZXNwb25zZSk7XG4gICAgfSk7XG4gIH1cbiAgYXN5bmMgb25MYWJlbFVwZGF0ZWQoY2xpZW50OiBXaGF0c0FwcFNlcnZlciwgcmVxOiBSZXF1ZXN0KSB7XG4gICAgYXdhaXQgY2xpZW50LmlzQ29ubmVjdGVkKCk7XG4gICAgYXdhaXQgY2xpZW50Lm9uVXBkYXRlTGFiZWwoYXN5bmMgKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHJlcS5pby5lbWl0KCdvbnVwZGF0ZWxhYmVsJywgcmVzcG9uc2UpO1xuICAgICAgY2FsbFdlYkhvb2soY2xpZW50LCByZXEsICdvbnVwZGF0ZWxhYmVsJywgcmVzcG9uc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgZW5jb2RlRnVuY3Rpb24oZGF0YTogYW55LCB3ZWJob29rOiBhbnkpIHtcbiAgICBkYXRhLndlYmhvb2sgPSB3ZWJob29rO1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgfVxuXG4gIGRlY29kZUZ1bmN0aW9uKHRleHQ6IGFueSwgY2xpZW50OiBhbnkpIHtcbiAgICBjb25zdCBvYmplY3QgPSBKU09OLnBhcnNlKHRleHQpO1xuICAgIGlmIChvYmplY3Qud2ViaG9vayAmJiAhY2xpZW50LndlYmhvb2spIGNsaWVudC53ZWJob29rID0gb2JqZWN0LndlYmhvb2s7XG4gICAgZGVsZXRlIG9iamVjdC53ZWJob29rO1xuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxuICBnZXRDbGllbnQoc2Vzc2lvbjogYW55KSB7XG4gICAgbGV0IGNsaWVudCA9IGNsaWVudHNBcnJheVtzZXNzaW9uXTtcblxuICAgIGlmICghY2xpZW50KVxuICAgICAgY2xpZW50ID0gY2xpZW50c0FycmF5W3Nlc3Npb25dID0ge1xuICAgICAgICBzdGF0dXM6IG51bGwsXG4gICAgICAgIHNlc3Npb246IHNlc3Npb24sXG4gICAgICB9IGFzIGFueTtcbiAgICByZXR1cm4gY2xpZW50O1xuICB9XG59XG4iXSwi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
@@ -19,7 +19,7 @@ var fs = _interopRequireWildcard(require("fs"));
19
19
  var path = _interopRequireWildcard(require("path"));
20
20
  var _sanitizeFilename = _interopRequireDefault(require("sanitize-filename"));
21
21
 
22
- var _ = require("../../..");function _getRequireWildcardCache(e) {if ("function" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || "object" != typeof e && "function" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;} /*
22
+ var _ = require("../../..");function _interopRequireWildcard(e, t) {if ("function" == typeof WeakMap) var r = new WeakMap(),n = new WeakMap();return (_interopRequireWildcard = function (e, t) {if (!t && e && e.__esModule) return e;var o,i,f = { __proto__: null, default: e };if (null === e || "object" != typeof e && "function" != typeof e) return f;if (o = t ? n : r) {if (o.has(e)) return o.get(e);o.set(e, f);}for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]);return f;})(e, t);} /*
23
23
  * This file is part of WPPConnect.
24
24
  *
25
25
  * WPPConnect is free software: you can redistribute it and/or modify
@@ -175,4 +175,4 @@ class FileTokenStore {
175
175
  }
176
176
  }
177
177
  }exports.FileTokenStore = FileTokenStore;
178
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsInBhdGgiLCJfc2FuaXRpemVGaWxlbmFtZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiZGVmYXVsdEZpbGVUb2tlblN0b3JlT3B0aW9ucyIsImV4cG9ydHMiLCJkZWNvZGVGdW5jdGlvbiIsIkpTT04iLCJwYXJzZSIsImVuY29kZUZ1bmN0aW9uIiwic3RyaW5naWZ5IiwiZW5jb2RpbmciLCJmaWxlRXh0ZW5zaW9uIiwiRmlsZVRva2VuU3RvcmUiLCJvcHRpb25zIiwiY29uc3RydWN0b3IiLCJhc3NpZ24iLCJyZXNvbHZlclBhdGgiLCJzZXNzaW9uTmFtZSIsImZpbGVuYW1lIiwic2FuaXRpemUiLCJyZXNvbHZlIiwicHJvY2VzcyIsImN3ZCIsImpvaW4iLCJnZXRUb2tlbiIsImZpbGVQYXRoIiwiZXhpc3RzU3luYyIsInVuZGVmaW5lZCIsInRleHQiLCJwcm9taXNlcyIsInJlYWRGaWxlIiwiY2F0Y2giLCJlcnJvciIsImxvZ2dlciIsImRlYnVnIiwic2V0VG9rZW4iLCJ0b2tlbkRhdGEiLCJta2RpciIsInJlY3Vyc2l2ZSIsIndyaXRlRmlsZSIsInJlbW92ZVRva2VuIiwidW5saW5rIiwibGlzdFRva2VucyIsImZpbGVzIiwicmVhZGRpciIsImZpbHRlciIsImZpbGUiLCJlbmRzV2l0aCIsIm1hcCIsImJhc2VuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWwvdG9rZW5TdG9yZS9GaWxlVG9rZW5TdG9yZS9GaWxlVG9rZW5TdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgV1BQQ29ubmVjdC5cbiAqXG4gKiBXUFBDb25uZWN0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogV1BQQ29ubmVjdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBXUFBDb25uZWN0LiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJub2RlXCIgLz5cbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgc2FuaXRpemUgZnJvbSAnc2FuaXRpemUtZmlsZW5hbWUnO1xuXG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi8uLi8uLic7XG5pbXBvcnQgeyBTZXNzaW9uVG9rZW4sIFRva2VuU3RvcmUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVRva2VuU3RvcmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIERlY29kZSBmdW5jdGlvbiB0byBwYXJzZSB0b2tlbiBmaWxlIChEZWZhdWx0IGBKU09OLnBhcnNlYCkge0BsaW5rIGRlZmF1bHRGaWxlVG9rZW5TdG9yZU9wdGlvbnN9XG4gICAqIEBkZWZhdWx0IGBKU09OLnBhcnNlYFxuICAgKi9cbiAgZGVjb2RlRnVuY3Rpb246ICh0ZXh0OiBzdHJpbmcpID0+IGFueTtcblxuICAvKipcbiAgICogRW5jb2RlIGZ1bmN0aW9uIHRvIHNhdmUgdG9rZW5zIChEZWZhdWx0IGBKU09OLnN0cmluZ2lmeWApXG4gICAqIEBkZWZhdWx0IGBKU09OLnN0cmluZ2lmeWBcbiAgICovXG4gIGVuY29kZUZ1bmN0aW9uOiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuY29kaW5nIHVzZWQgdG8gcmVhZCBhbmQgc2F2ZSBmaWxlc1xuICAgKiBAZGVmYXVsdCAndXRmOCdcbiAgICovXG4gIGVuY29kaW5nOiBCdWZmZXJFbmNvZGluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgJy5kYXRhLmpzb24nXG4gICAqL1xuICBmaWxlRXh0ZW5zaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvbGRlciBwYXRoIHRvIHN0b3JlIHRva2Vuc1xuICAgKiBAZGVmYXVsdCAnLi90b2tlbnMnXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RmlsZVRva2VuU3RvcmVPcHRpb25zOiBGaWxlVG9rZW5TdG9yZU9wdGlvbnMgPSB7XG4gIGRlY29kZUZ1bmN0aW9uOiBKU09OLnBhcnNlLFxuICBlbmNvZGVGdW5jdGlvbjogSlNPTi5zdHJpbmdpZnksXG4gIGVuY29kaW5nOiAndXRmOCcsXG4gIGZpbGVFeHRlbnNpb246ICcuZGF0YS5qc29uJyxcbiAgcGF0aDogJy4vdG9rZW5zJyxcbn07XG5cbmV4cG9ydCBjbGFzcyBGaWxlVG9rZW5TdG9yZSBpbXBsZW1lbnRzIFRva2VuU3RvcmUge1xuICBwcm90ZWN0ZWQgb3B0aW9uczogRmlsZVRva2VuU3RvcmVPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFBhcnRpYWw8RmlsZVRva2VuU3RvcmVPcHRpb25zPiA9IHt9KSB7XG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgZGVmYXVsdEZpbGVUb2tlblN0b3JlT3B0aW9ucyxcbiAgICAgIG9wdGlvbnNcbiAgICApIGFzIEZpbGVUb2tlblN0b3JlT3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlIHRoZSBwYXRoIG9mIGZpbGVcbiAgICogQHBhcmFtIHNlc3Npb25OYW1lIE5hbWUgb2Ygc2Vzc2lvblxuICAgKiBAcmV0dXJucyBGdWxsIHBhdGggb2YgdG9rZW4gZmlsZVxuICAgKi9cbiAgcHJvdGVjdGVkIHJlc29sdmVyUGF0aChzZXNzaW9uTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaWxlbmFtZSA9IHNhbml0aXplKHNlc3Npb25OYW1lKSArIHRoaXMub3B0aW9ucy5maWxlRXh0ZW5zaW9uO1xuICAgIHJldHVybiBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgcGF0aC5qb2luKHRoaXMub3B0aW9ucy5wYXRoLCBmaWxlbmFtZSkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFRva2VuKFxuICAgIHNlc3Npb25OYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxTZXNzaW9uVG9rZW4gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMucmVzb2x2ZXJQYXRoKHNlc3Npb25OYW1lKTtcblxuICAgIGlmICghZnMuZXhpc3RzU3luYyhmaWxlUGF0aCkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgdGV4dCA9IGF3YWl0IGZzLnByb21pc2VzXG4gICAgICAucmVhZEZpbGUoZmlsZVBhdGgsIHtcbiAgICAgICAgZW5jb2Rpbmc6IHRoaXMub3B0aW9ucy5lbmNvZGluZyxcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4gbnVsbCk7XG5cbiAgICBpZiAoIXRleHQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZGVjb2RlRnVuY3Rpb24odGV4dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhlcnJvcik7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZXRUb2tlbihcbiAgICBzZXNzaW9uTmFtZTogc3RyaW5nLFxuICAgIHRva2VuRGF0YTogU2Vzc2lvblRva2VuIHwgbnVsbFxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoIXRva2VuRGF0YSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLm9wdGlvbnMucGF0aCkpIHtcbiAgICAgIGF3YWl0IGZzLnByb21pc2VzLm1rZGlyKHRoaXMub3B0aW9ucy5wYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMucmVzb2x2ZXJQYXRoKHNlc3Npb25OYW1lKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0ZXh0ID0gdGhpcy5vcHRpb25zLmVuY29kZUZ1bmN0aW9uKHRva2VuRGF0YSk7XG5cbiAgICAgIGF3YWl0IGZzLnByb21pc2VzLndyaXRlRmlsZShmaWxlUGF0aCwgdGV4dCwge1xuICAgICAgICBlbmNvZGluZzogdGhpcy5vcHRpb25zLmVuY29kaW5nLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmRlYnVnKGVycm9yKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVtb3ZlVG9rZW4oc2Vzc2lvbk5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5yZXNvbHZlclBhdGgoc2Vzc2lvbk5hbWUpO1xuXG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGZpbGVQYXRoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmcy5wcm9taXNlcy51bmxpbmsoZmlsZVBhdGgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxpc3RUb2tlbnMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLm9wdGlvbnMucGF0aCkpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgbGV0IGZpbGVzID0gYXdhaXQgZnMucHJvbWlzZXMucmVhZGRpcih0aGlzLm9wdGlvbnMucGF0aCk7XG5cbiAgICAgIC8vIE9ubHkgc2Vzc2lvbnMgd2l0aCBzYW1lIGZpbGVFeHRlbnNpb25cbiAgICAgIGZpbGVzID0gZmlsZXMuZmlsdGVyKChmaWxlKSA9PiBmaWxlLmVuZHNXaXRoKHRoaXMub3B0aW9ucy5maWxlRXh0ZW5zaW9uKSk7XG5cbiAgICAgIC8vIFJldHVybiBuYW1lIG9ubHlcbiAgICAgIGZpbGVzID0gZmlsZXMubWFwKChmaWxlKSA9PlxuICAgICAgICBwYXRoLmJhc2VuYW1lKGZpbGUsIHRoaXMub3B0aW9ucy5maWxlRXh0ZW5zaW9uKVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGZpbGVzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIuZGVidWcoZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSxJQUFBQSxFQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxJQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBOztBQUVBLElBQUFJLENBQUEsR0FBQUosT0FBQSxhQUFrQyxTQUFBSyx5QkFBQUMsQ0FBQSw0QkFBQUMsT0FBQSxrQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLEdBQUFFLENBQUEsT0FBQUYsT0FBQSxXQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFVBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLElBQUFGLENBQUEsWUFBQVAsd0JBQUFPLENBQUEsRUFBQUUsQ0FBQSxRQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsY0FBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFBSyxPQUFBLEVBQUFMLENBQUEsT0FBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE1BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsTUFBQVEsQ0FBQSxLQUFBQyxTQUFBLFNBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsVUFBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFFBQUFHLENBQUEsR0FBQVAsQ0FBQSxH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
178
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsInBhdGgiLCJfc2FuaXRpemVGaWxlbmFtZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiZGVmYXVsdCIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZGVmYXVsdEZpbGVUb2tlblN0b3JlT3B0aW9ucyIsImV4cG9ydHMiLCJkZWNvZGVGdW5jdGlvbiIsIkpTT04iLCJwYXJzZSIsImVuY29kZUZ1bmN0aW9uIiwic3RyaW5naWZ5IiwiZW5jb2RpbmciLCJmaWxlRXh0ZW5zaW9uIiwiRmlsZVRva2VuU3RvcmUiLCJvcHRpb25zIiwiY29uc3RydWN0b3IiLCJhc3NpZ24iLCJyZXNvbHZlclBhdGgiLCJzZXNzaW9uTmFtZSIsImZpbGVuYW1lIiwic2FuaXRpemUiLCJyZXNvbHZlIiwicHJvY2VzcyIsImN3ZCIsImpvaW4iLCJnZXRUb2tlbiIsImZpbGVQYXRoIiwiZXhpc3RzU3luYyIsInVuZGVmaW5lZCIsInRleHQiLCJwcm9taXNlcyIsInJlYWRGaWxlIiwiY2F0Y2giLCJlcnJvciIsImxvZ2dlciIsImRlYnVnIiwic2V0VG9rZW4iLCJ0b2tlbkRhdGEiLCJta2RpciIsInJlY3Vyc2l2ZSIsIndyaXRlRmlsZSIsInJlbW92ZVRva2VuIiwidW5saW5rIiwibGlzdFRva2VucyIsImZpbGVzIiwicmVhZGRpciIsImZpbHRlciIsImZpbGUiLCJlbmRzV2l0aCIsIm1hcCIsImJhc2VuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWwvdG9rZW5TdG9yZS9GaWxlVG9rZW5TdG9yZS9GaWxlVG9rZW5TdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgV1BQQ29ubmVjdC5cbiAqXG4gKiBXUFBDb25uZWN0IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogV1BQQ29ubmVjdCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBXUFBDb25uZWN0LiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJub2RlXCIgLz5cbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgc2FuaXRpemUgZnJvbSAnc2FuaXRpemUtZmlsZW5hbWUnO1xuXG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi8uLi8uLic7XG5pbXBvcnQgeyBTZXNzaW9uVG9rZW4sIFRva2VuU3RvcmUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVRva2VuU3RvcmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIERlY29kZSBmdW5jdGlvbiB0byBwYXJzZSB0b2tlbiBmaWxlIChEZWZhdWx0IGBKU09OLnBhcnNlYCkge0BsaW5rIGRlZmF1bHRGaWxlVG9rZW5TdG9yZU9wdGlvbnN9XG4gICAqIEBkZWZhdWx0IGBKU09OLnBhcnNlYFxuICAgKi9cbiAgZGVjb2RlRnVuY3Rpb246ICh0ZXh0OiBzdHJpbmcpID0+IGFueTtcblxuICAvKipcbiAgICogRW5jb2RlIGZ1bmN0aW9uIHRvIHNhdmUgdG9rZW5zIChEZWZhdWx0IGBKU09OLnN0cmluZ2lmeWApXG4gICAqIEBkZWZhdWx0IGBKU09OLnN0cmluZ2lmeWBcbiAgICovXG4gIGVuY29kZUZ1bmN0aW9uOiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuY29kaW5nIHVzZWQgdG8gcmVhZCBhbmQgc2F2ZSBmaWxlc1xuICAgKiBAZGVmYXVsdCAndXRmOCdcbiAgICovXG4gIGVuY29kaW5nOiBCdWZmZXJFbmNvZGluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgJy5kYXRhLmpzb24nXG4gICAqL1xuICBmaWxlRXh0ZW5zaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvbGRlciBwYXRoIHRvIHN0b3JlIHRva2Vuc1xuICAgKiBAZGVmYXVsdCAnLi90b2tlbnMnXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RmlsZVRva2VuU3RvcmVPcHRpb25zOiBGaWxlVG9rZW5TdG9yZU9wdGlvbnMgPSB7XG4gIGRlY29kZUZ1bmN0aW9uOiBKU09OLnBhcnNlLFxuICBlbmNvZGVGdW5jdGlvbjogSlNPTi5zdHJpbmdpZnksXG4gIGVuY29kaW5nOiAndXRmOCcsXG4gIGZpbGVFeHRlbnNpb246ICcuZGF0YS5qc29uJyxcbiAgcGF0aDogJy4vdG9rZW5zJyxcbn07XG5cbmV4cG9ydCBjbGFzcyBGaWxlVG9rZW5TdG9yZSBpbXBsZW1lbnRzIFRva2VuU3RvcmUge1xuICBwcm90ZWN0ZWQgb3B0aW9uczogRmlsZVRva2VuU3RvcmVPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFBhcnRpYWw8RmlsZVRva2VuU3RvcmVPcHRpb25zPiA9IHt9KSB7XG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgZGVmYXVsdEZpbGVUb2tlblN0b3JlT3B0aW9ucyxcbiAgICAgIG9wdGlvbnNcbiAgICApIGFzIEZpbGVUb2tlblN0b3JlT3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlIHRoZSBwYXRoIG9mIGZpbGVcbiAgICogQHBhcmFtIHNlc3Npb25OYW1lIE5hbWUgb2Ygc2Vzc2lvblxuICAgKiBAcmV0dXJucyBGdWxsIHBhdGggb2YgdG9rZW4gZmlsZVxuICAgKi9cbiAgcHJvdGVjdGVkIHJlc29sdmVyUGF0aChzZXNzaW9uTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaWxlbmFtZSA9IHNhbml0aXplKHNlc3Npb25OYW1lKSArIHRoaXMub3B0aW9ucy5maWxlRXh0ZW5zaW9uO1xuICAgIHJldHVybiBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgcGF0aC5qb2luKHRoaXMub3B0aW9ucy5wYXRoLCBmaWxlbmFtZSkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFRva2VuKFxuICAgIHNlc3Npb25OYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxTZXNzaW9uVG9rZW4gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMucmVzb2x2ZXJQYXRoKHNlc3Npb25OYW1lKTtcblxuICAgIGlmICghZnMuZXhpc3RzU3luYyhmaWxlUGF0aCkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgdGV4dCA9IGF3YWl0IGZzLnByb21pc2VzXG4gICAgICAucmVhZEZpbGUoZmlsZVBhdGgsIHtcbiAgICAgICAgZW5jb2Rpbmc6IHRoaXMub3B0aW9ucy5lbmNvZGluZyxcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4gbnVsbCk7XG5cbiAgICBpZiAoIXRleHQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZGVjb2RlRnVuY3Rpb24odGV4dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhlcnJvcik7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZXRUb2tlbihcbiAgICBzZXNzaW9uTmFtZTogc3RyaW5nLFxuICAgIHRva2VuRGF0YTogU2Vzc2lvblRva2VuIHwgbnVsbFxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoIXRva2VuRGF0YSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLm9wdGlvbnMucGF0aCkpIHtcbiAgICAgIGF3YWl0IGZzLnByb21pc2VzLm1rZGlyKHRoaXMub3B0aW9ucy5wYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMucmVzb2x2ZXJQYXRoKHNlc3Npb25OYW1lKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0ZXh0ID0gdGhpcy5vcHRpb25zLmVuY29kZUZ1bmN0aW9uKHRva2VuRGF0YSk7XG5cbiAgICAgIGF3YWl0IGZzLnByb21pc2VzLndyaXRlRmlsZShmaWxlUGF0aCwgdGV4dCwge1xuICAgICAgICBlbmNvZGluZzogdGhpcy5vcHRpb25zLmVuY29kaW5nLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmRlYnVnKGVycm9yKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVtb3ZlVG9rZW4oc2Vzc2lvbk5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5yZXNvbHZlclBhdGgoc2Vzc2lvbk5hbWUpO1xuXG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGZpbGVQYXRoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmcy5wcm9taXNlcy51bmxpbmsoZmlsZVBhdGgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxpc3RUb2tlbnMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLm9wdGlvbnMucGF0aCkpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgbGV0IGZpbGVzID0gYXdhaXQgZnMucHJvbWlzZXMucmVhZGRpcih0aGlzLm9wdGlvbnMucGF0aCk7XG5cbiAgICAgIC8vIE9ubHkgc2Vzc2lvbnMgd2l0aCBzYW1lIGZpbGVFeHRlbnNpb25cbiAgICAgIGZpbGVzID0gZmlsZXMuZmlsdGVyKChmaWxlKSA9PiBmaWxlLmVuZHNXaXRoKHRoaXMub3B0aW9ucy5maWxlRXh0ZW5zaW9uKSk7XG5cbiAgICAgIC8vIFJldHVybiBuYW1lIG9ubHlcbiAgICAgIGZpbGVzID0gZmlsZXMubWFwKChmaWxlKSA9PlxuICAgICAgICBwYXRoLmJhc2VuYW1lKGZpbGUsIHRoaXMub3B0aW9ucy5maWxlRXh0ZW5zaW9uKVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGZpbGVzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIuZGVidWcoZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSxJQUFBQSxFQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxJQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBOztBQUVBLElBQUFJLENBQUEsR0FBQUosT0FBQSxhQUFrQyxTQUFBRCx3QkFBQU0sQ0FBQSxFQUFBQyxDQUFBLDRCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxHQUFBRSxDQUFBLE9BQUFGLE9BQUEsV0FBQVIsdUJBQUEsWUFBQUEsQ0FBQU0sQ0FBQSxFQUFBQyxDQUFBLFFBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxLQUFBTSxDQUFBLENBQUFDLENBQUEsQ0FBQUMsQ0FBQSxLQUFBQyxTQUFBLFFBQUFDLE9BQUEsRUFBQVYsQ0FBQSxnQkFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxTQUFBUSxDQUFBLEtBQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsT0FBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsRUFBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxjQUFBUCxDQUFBLElBQUFELENBQUEsZ0JBQUFDLENBQUEsT0FBQWEsY0FBQSxDQUFBQyxJQUFBLENBQUFmLENBQUEsRUFBQUMsQ0FBQSxPQUFBTSxDQUFBLElBQUFELENBQUEsR0FBQVUsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWxCLENBQUEsRUFB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
package/package.json CHANGED
@@ -1,10 +1,14 @@
1
1
  {
2
2
  "name": "@wppconnect/server",
3
- "version": "2.8.6",
3
+ "version": "2.8.11",
4
4
  "description": "Projeto feito para autenticar a automomacao do WhatsappWeb com multi-clientes de forma dinamica. Backend feito em Nodejs(express, socketio), FrontEnd (ReactJS)",
5
5
  "main": "dist/index.js",
6
6
  "author": "kingaspx",
7
7
  "license": "Apache-2.0",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/wppconnect-team/wppconnect-server"
11
+ },
8
12
  "scripts": {
9
13
  "build:types": "tsc",
10
14
  "build:js": "rimraf dist && babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps inline --copy-files",
@@ -27,89 +31,95 @@
27
31
  "swagger:generate": "yarn swagger:copy-assets && yarn swagger:copy-json && yarn swagger:fix-url",
28
32
  "test": "jest"
29
33
  },
34
+ "engines": {
35
+ "node": "22.21.1"
36
+ },
37
+ "packageManager": "yarn@4.12.0",
30
38
  "dependencies": {
31
- "@aws-sdk/client-s3": "^3.775.0",
32
- "@wppconnect-team/wppconnect": "^1.36.4",
39
+ "@aws-sdk/client-s3": "^3.958.0",
40
+ "@wppconnect-team/wppconnect": "^1.37.8",
33
41
  "archiver": "^7.0.1",
34
- "axios": "^1.8.4",
35
- "bcrypt": "^5.1.1",
42
+ "axios": "^1.13.2",
43
+ "bcrypt": "^6.0.0",
36
44
  "buffer-to-stream": "1.0.0",
37
45
  "cors": "^2.8.5",
38
46
  "cross-env": "^7.0.3",
39
- "dotenv": "^16.4.7",
40
- "express": "^4.21.2",
47
+ "dotenv": "^16.6.1",
48
+ "express": "4.22.1",
41
49
  "express-query-boolean": "^2.0.0",
42
- "form-data": "^4.0.2",
50
+ "form-data": "^4.0.5",
43
51
  "json-mapper-json": "^1.3.3",
44
52
  "merge-deep": "^3.0.3",
45
53
  "moment": "^2.30.1",
46
54
  "multer": "^1.4.5-lts.2",
47
55
  "qrcode": "^1.5.4",
48
- "socket.io": "^4.8.1",
56
+ "sharp": "^0.34.5",
57
+ "socket.io": "^4.8.3",
49
58
  "swagger-autogen": "^2.23.7",
50
59
  "swagger-ui-express": "^5.0.1",
51
60
  "unzipper": "^0.12.3",
52
- "winston": "^3.17.0"
61
+ "winston": "^3.19.0"
53
62
  },
54
63
  "devDependencies": {
55
- "@babel/cli": "^7.27.0",
56
- "@babel/core": "^7.26.10",
57
- "@babel/eslint-parser": "^7.27.0",
58
- "@babel/eslint-plugin": "^7.27.0",
59
- "@babel/node": "^7.26.0",
60
- "@babel/plugin-transform-runtime": "^7.26.10",
61
- "@babel/preset-env": "^7.26.9",
62
- "@babel/preset-typescript": "^7.27.0",
63
- "@commitlint/cli": "^19.8.0",
64
- "@commitlint/config-conventional": "^19.8.0",
65
- "@commitlint/cz-commitlint": "^19.8.0",
66
- "@types/archiver": "^6.0.3",
67
- "@types/bcrypt": "^5.0.2",
68
- "@types/cors": "^2.8.17",
69
- "@types/express": "^4.17.21",
64
+ "@babel/cli": "^7.28.3",
65
+ "@babel/core": "^7.28.5",
66
+ "@babel/eslint-parser": "^7.28.5",
67
+ "@babel/eslint-plugin": "^7.27.1",
68
+ "@babel/node": "^7.28.0",
69
+ "@babel/plugin-transform-runtime": "^7.28.5",
70
+ "@babel/preset-env": "^7.28.5",
71
+ "@babel/preset-typescript": "^7.28.5",
72
+ "@babel/runtime": "^7.28.4",
73
+ "@commitlint/cli": "^20.2.0",
74
+ "@commitlint/config-conventional": "^20.2.0",
75
+ "@commitlint/cz-commitlint": "^20.2.0",
76
+ "@types/archiver": "^7.0.0",
77
+ "@types/bcrypt": "^6.0.0",
78
+ "@types/cors": "^2.8.19",
79
+ "@types/express": "4.17.25",
70
80
  "@types/jest": "^29.5.14",
71
81
  "@types/merge-deep": "^3.0.3",
72
- "@types/mime-types": "^2.1.4",
73
- "@types/multer": "^1.4.12",
74
- "@types/node": "^22.13.13",
75
- "@types/qrcode": "^1.5.5",
82
+ "@types/mime-types": "^3.0.1",
83
+ "@types/multer": "^1.4.13",
84
+ "@types/node": "^22.19.3",
85
+ "@types/qrcode": "^1.5.6",
76
86
  "@types/swagger-ui-express": "^4.1.8",
77
87
  "@types/unzipper": "^0.10.11",
78
88
  "@typescript-eslint/eslint-plugin": "^7.18.0",
79
- "@typescript-eslint/parser": "^8.27.0",
89
+ "@typescript-eslint/parser": "^8.50.1",
80
90
  "commitizen": "^4.3.1",
81
91
  "conventional-changelog-cli": "^5.0.0",
82
92
  "crypto-js": "^4.2.0",
83
93
  "eslint": "^8.57.1",
84
- "eslint-config-love": "^53.0.0",
85
- "eslint-config-prettier": "^9.1.0",
86
- "eslint-plugin-import": "^2.31.0",
87
- "eslint-plugin-n": "^17.16.2",
88
- "eslint-plugin-prettier": "^4.2.1",
89
- "eslint-plugin-promise": "^6.6.0",
94
+ "eslint-config-love": "^134.0.0",
95
+ "eslint-config-prettier": "^10.1.8",
96
+ "eslint-plugin-import": "^2.32.0",
97
+ "eslint-plugin-n": "^17.23.1",
98
+ "eslint-plugin-prettier": "^4.2.5",
99
+ "eslint-plugin-promise": "^7.2.1",
90
100
  "eslint-plugin-simple-import-sort": "^12.1.1",
91
101
  "husky": "^9.1.7",
92
102
  "jest": "^29.7.0",
93
103
  "license-check-and-add": "^4.0.5",
94
- "mongoose": "^8.13.0",
95
- "nodemon": "^3.1.9",
104
+ "mongoose": "^8.20.4",
105
+ "nodemon": "^3.1.11",
96
106
  "prettier": "^2.8.8",
97
- "pretty-quick": "^4.0.0",
107
+ "pretty-quick": "^4.2.2",
98
108
  "prom-client": "^14.2.0",
99
- "redis": "^4.7.0",
100
- "release-it": "^17.11.0",
101
- "rimraf": "^5.0.10",
102
- "shx": "^0.3.4",
103
- "swagger-ui-dist": "^5.17.14",
104
- "ts-jest": "^29.2.6",
105
- "ts-loader": "^9.5.2",
106
- "tsx": "^4.17.0",
107
- "typescript": "^5.7.3",
108
- "webpack-cli": "^5.1.4"
109
+ "redis": "^4.7.1",
110
+ "release-it": "^19.2.2",
111
+ "rimraf": "^6.1.2",
112
+ "shx": "^0.4.0",
113
+ "swagger-ui-dist": "^5.31.0",
114
+ "ts-jest": "^29.4.6",
115
+ "ts-loader": "^9.5.4",
116
+ "tsx": "^4.21.0",
117
+ "typescript": "^5.9.3",
118
+ "webpack-cli": "^6.0.1"
109
119
  },
110
120
  "peerDependencies": {
111
121
  "crypto-js": "^4.2.0",
112
- "mongoose": "^8.13.0",
113
- "redis": "^4.7.0"
122
+ "mongoose": "^8.20.4",
123
+ "redis": "^4.7.1"
114
124
  }
115
- }
125
+ }