@rudderstack/integrations-lib 0.2.57 → 0.2.58

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 (61) hide show
  1. package/build/index.d.ts +1 -0
  2. package/build/index.d.ts.map +1 -1
  3. package/build/index.js +2 -1
  4. package/build/mock_utils/index.d.ts +2 -0
  5. package/build/mock_utils/index.d.ts.map +1 -0
  6. package/build/mock_utils/index.js +9 -0
  7. package/build/network/clients/axios_client.d.ts +6 -5
  8. package/build/network/clients/axios_client.d.ts.map +1 -1
  9. package/build/network/clients/axios_client.js +75 -40
  10. package/build/network/clients/types.d.ts +93 -5
  11. package/build/network/clients/types.d.ts.map +1 -1
  12. package/build/network/clients/types.js +1 -1
  13. package/build/network/factory.d.ts +12 -2
  14. package/build/network/factory.d.ts.map +1 -1
  15. package/build/network/factory.js +24 -1
  16. package/build/sdks/common/base-sdk.d.ts +64 -0
  17. package/build/sdks/common/base-sdk.d.ts.map +1 -0
  18. package/build/sdks/common/base-sdk.js +182 -0
  19. package/build/sdks/common/index.d.ts +3 -0
  20. package/build/sdks/common/index.d.ts.map +1 -0
  21. package/build/sdks/common/index.js +7 -0
  22. package/build/sdks/common/types.d.ts +13 -0
  23. package/build/sdks/common/types.d.ts.map +1 -0
  24. package/build/sdks/common/types.js +3 -0
  25. package/build/sdks/criteoAudience/criteoAudience.d.ts +11 -39
  26. package/build/sdks/criteoAudience/criteoAudience.d.ts.map +1 -1
  27. package/build/sdks/criteoAudience/criteoAudience.js +33 -69
  28. package/build/sdks/criteoAudience/types.d.ts +3 -0
  29. package/build/sdks/criteoAudience/types.d.ts.map +1 -1
  30. package/build/sdks/criteoAudience/types.js +1 -1
  31. package/build/sdks/customerio_audience/index.d.ts +11 -15
  32. package/build/sdks/customerio_audience/index.d.ts.map +1 -1
  33. package/build/sdks/customerio_audience/index.js +23 -34
  34. package/build/sdks/customerio_audience/type.d.ts +3 -0
  35. package/build/sdks/customerio_audience/type.d.ts.map +1 -1
  36. package/build/sdks/customerio_audience/type.js +1 -1
  37. package/build/sdks/googleAdsRestAPI/googleAds.d.ts +16 -17
  38. package/build/sdks/googleAdsRestAPI/googleAds.d.ts.map +1 -1
  39. package/build/sdks/googleAdsRestAPI/googleAds.js +44 -37
  40. package/build/sdks/googleAdsRestAPI/types.d.ts +3 -0
  41. package/build/sdks/googleAdsRestAPI/types.d.ts.map +1 -1
  42. package/build/sdks/googleAdsRestAPI/types.js +1 -1
  43. package/build/sdks/index.d.ts +1 -0
  44. package/build/sdks/index.d.ts.map +1 -1
  45. package/build/sdks/index.js +5 -1
  46. package/build/sdks/sfmc/index.d.ts +1 -1
  47. package/build/sdks/sfmc/index.d.ts.map +1 -1
  48. package/build/sdks/sfmc/index.js +4 -3
  49. package/build/sdks/zoho/types.d.ts +3 -0
  50. package/build/sdks/zoho/types.d.ts.map +1 -1
  51. package/build/sdks/zoho/types.js +1 -1
  52. package/build/sdks/zoho/zoho.d.ts +13 -17
  53. package/build/sdks/zoho/zoho.d.ts.map +1 -1
  54. package/build/sdks/zoho/zoho.js +44 -51
  55. package/mock/index.d.ts +1 -1
  56. package/mock/index.d.ts.map +1 -1
  57. package/mock/index.js +6 -15
  58. package/package.json +1 -1
  59. package/mock/axios_client_mock_util.d.ts +0 -3
  60. package/mock/axios_client_mock_util.d.ts.map +0 -1
  61. package/mock/axios_client_mock_util.js +0 -10
@@ -7,10 +7,11 @@ const axios_1 = __importDefault(require("axios"));
7
7
  const utils_1 = require("./utils");
8
8
  class SFMC {
9
9
  constructor(authObject) {
10
- SFMC.validateAuthObject(authObject);
10
+ this.validateAuthObject(authObject);
11
11
  this.authObject = authObject;
12
12
  }
13
- static validateAuthObject(authObject) {
13
+ // eslint-disable-next-line class-methods-use-this
14
+ validateAuthObject(authObject) {
14
15
  if (!authObject) {
15
16
  throw new Error('authObject is required. See the readme.');
16
17
  }
@@ -370,4 +371,4 @@ class SFMC {
370
371
  }
371
372
  }
372
373
  exports.default = SFMC;
373
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2Rrcy9zZm1jL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBDO0FBa0IxQyxtQ0FTaUI7QUFFakIsTUFBcUIsSUFBSTtJQUd2QixZQUFZLFVBQXNCO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRU8sTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQWU7UUFDL0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUc7WUFDbEIsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUNuRCxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3ZEO2dCQUNFLEdBQUcsRUFBRSxXQUFXO2dCQUNoQixJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsSUFBSTtnQkFDZCxLQUFLLEVBQUUsWUFBWTtnQkFDbkIsWUFBWSxFQUFFLHlDQUF5QzthQUN4RDtTQUNGLENBQUM7UUFFRixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtZQUNuRSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsSUFBSSxRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcs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LENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRS9FLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUN4QyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUMsSUFBSSxNQUFNLFlBQVksaUJBQVMsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLE1BQU0sQ0FBQztZQUNmLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLFlBQVksaUJBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0NBQ0Y7QUF2YUQsdUJBdWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zLCB7IEF4aW9zRXJyb3IgfSBmcm9tICdheGlvcyc7XG5pbXBvcnQge1xuICBBdXRoT2JqZWN0LFxuICBCdXNpbmVzc1VuaXQsXG4gIEJ1c2luZXNzVW5pdFJlc3BvbnNlLFxuICBDb250YWN0QXR0cmlidXRlc1Jlc3BvbnNlLFxuICBDcmVhdGVEYXRhRXh0ZW5zaW9uUmVzcG9uc2UsXG4gIERhdGFFeHRlbnNpb24sXG4gIERhdGFFeHRlbnNpb25Cb2R5LFxuICBEYXRhRXh0ZW5zaW9uUmVzcG9uc2UsXG4gIERhdGFGb2xkZXIsXG4gIFNGTUNFcnJvclJlc3BvbnNlLFxuICBFdmVudERlZmluaXRpb24sXG4gIEV2ZW50RGVmaW5pdGlvbnNSZXNwb25zZSxcbiAgQ29udGFjdEF0dHJpYnV0ZXMsXG4gIERhdGFFeHRlbnNpb25QYXJ0bmVyUHJvcGVydHksXG4gIERhdGFFeHRlbnNpb25BcGlSZXNwb25zZSxcbn0gZnJvbSAnLi90eXBlJztcbmltcG9ydCB7XG4gIGdldFVybCxcbiAgaXNFeHBpcmVkLFxuICBwYXJzZUZpbHRlcixcbiAgcGFyc2VYTUwsXG4gIGdldFRva2VuLFxuICBSZXN0RXJyb3IsXG4gIFNvYXBFcnJvcixcbiAgeG1sQnVpbGRlcixcbn0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNGTUMge1xuICBhdXRoT2JqZWN0OiBBdXRoT2JqZWN0O1xuXG4gIGNvbnN0cnVjdG9yKGF1dGhPYmplY3Q6IEF1dGhPYmplY3QpIHtcbiAgICBTRk1DLnZhbGlkYXRlQXV0aE9iamVjdChhdXRoT2JqZWN0KTtcbiAgICB0aGlzLmF1dGhPYmplY3QgPSBhdXRoT2JqZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgdmFsaWRhdGVBdXRoT2JqZWN0KGF1dGhPYmplY3Q6IGFueSk6IGFueSB7XG4gICAgaWYgKCFhdXRoT2JqZWN0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2F1dGhPYmplY3QgaXMgcmVxdWlyZWQuIFNlZSB0aGUgcmVhZG1lLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkYXRpb25zID0gW1xuICAgICAgeyBrZXk6ICdjbGllbnRJZCcsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgeyBrZXk6ICdjbGllbnRTZWNyZXQnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnc3ViRG9tYWluJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICByZWdleDogL15cXHd7Mjh9JC9nbSxcbiAgICAgICAgcmVnZXhNZXNzYWdlOiAnc3ViRG9tYWluIG11c3QgYmUgYSBzdHJpbmcgb2YgbGVuZ3RoIDI4JyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHZhbGlkYXRpb25zLmZvckVhY2goKHsga2V5LCB0eXBlLCByZXF1aXJlZCwgcmVnZXgsIHJlZ2V4TWVzc2FnZSB9KSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGF1dGhPYmplY3Rba2V5XTtcbiAgICAgIGlmIChyZXF1aXJlZCAmJiAhdmFsdWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2tleX0gaXMgbWlzc2luZyBvciBpbnZhbGlkYCk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSB0eXBlKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7a2V5fSBtdXN0IGJlIGEgJHt0eXBlfWApO1xuICAgICAgfVxuICAgICAgaWYgKHJlZ2V4ICYmICFyZWdleC50ZXN0KHZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVnZXhNZXNzYWdlIHx8IGAke2tleX0gZG9lcyBub3QgbWF0Y2ggdGhlIHJlcXVpcmVkIGZvcm1hdGApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGF1dGhPYmplY3Q7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBhY2Nlc3MgdG9rZW4uIElmIHRoZSB0b2tlbiBpcyBleHBpcmVkLCBpdCB3aWxsIGdlbmVyYXRlIGEgbmV3IHRva2VuLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBdXRoT2JqZWN0Pn0gIEl0IHJldHVybnMgdGhlIGFjY2VzcyB0b2tlbiBvciBlcnJvclxuICAgKi9cbiAgYXN5bmMgZ2V0QWNjZXNzVG9rZW4oKSB7XG4gICAgaWYgKGlzRXhwaXJlZCh0aGlzLmF1dGhPYmplY3QpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBnZXRUb2tlbih0aGlzLmF1dGhPYmplY3QpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBnZW5lcmF0ZSB0b2tlbiwgd2l0aCBlcnJvcjoke2V9YCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmF1dGhPYmplY3Q7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgZmV0Y2hlcyB0aGUgZmllbGRzIG9mIGEgZGF0YSBleHRlbnNpb24uIEl0IHJlcXVpcmVzIHRoZSBkYXRhIGV4dGVuc2lvbiBpZC4gVGhlIG1ldGhvZCByZXR1cm5zIHRoZSBmaWVsZHMgb2YgdGhlIGRhdGEgZXh0ZW5zaW9uLiBJZiB0aGUgZGF0YSBleHRlbnNpb24gaXMgbm90IGZvdW5kLCBpdCByZXR1cm5zIGEgUmVzdEVycm9yLlxuICAgKiBAcGFyYW0gZGF0YUV4dGVuc2lvbklkIElkIG9mIHRoZSBkYXRhIGV4dGVuc2lvbiB3aG9zZSBmaWVsZHMgYXJlIHRvIGJlIGZldGNoZWRcbiAgICogQHJldHVybnNcbiAgICovXG4gIGFzeW5jIGdldERlc3RpbmF0aW9uRmllbGRzKGRhdGFFeHRlbnNpb25JZDogc3RyaW5nKTogUHJvbWlzZTxEYXRhRXh0ZW5zaW9uQm9keSB8IFJlc3RFcnJvcj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN0SGVhZGVycyA9IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAkeyhhd2FpdCB0aGlzLmdldEFjY2Vzc1Rva2VuKCkpLmFjY2Vzc190b2tlbn1gLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBiYXNlVVJMOiBnZXRVcmwodGhpcy5hdXRoT2JqZWN0LnN1YkRvbWFpbiksXG4gICAgICAgIHVybDogYC9kYXRhL3YxL2N1c3RvbW9iamVjdHMvJHtkYXRhRXh0ZW5zaW9uSWR9L2ZpZWxkc2AsXG4gICAgICAgIGhlYWRlcnM6IHJlc3RIZWFkZXJzLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBheGlvcyhyZXF1ZXN0T3B0aW9ucyk7XG4gICAgICByZXR1cm4gcmVzcC5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnIpKSB7XG4gICAgICAgIGNvbnN0IGF4aW9zRXJyb3IgPSBlcnIgYXMgQXhpb3NFcnJvcjxTRk1DRXJyb3JSZXNwb25zZT47XG4gICAgICAgIHRocm93IG5ldyBSZXN0RXJyb3IoYXhpb3NFcnJvcik7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGZldGNoZXMgdGhlIGNvbnRhY3QgYXR0cmlidXRlcy4gVGhlIG1ldGhvZCByZXR1cm5zIHRoZSBjb250YWN0IGF0dHJpYnV0ZXMuIElmIHRoZSBjb250YWN0IGF0dHJpYnV0ZXMgYXJlIG5vdCBmb3VuZCwgaXQgcmV0dXJucyBhIFJlc3RFcnJvci5cbiAgICogQHBhcmFtIHBhZ2UgUGFnZSBudW1iZXJcbiAgICogQHBhcmFtIHBhZ2VTaXplIFBhZ2Ugc2l6ZVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxDb250YWN0QXR0cmlidXRlc1Jlc3BvbnNlIHwgUmVzdEVycm9yPn1cbiAgICovXG4gIGFzeW5jIGdldENvbnRhY3RBdHRyaWJ1dGVzSXRlbXMoXG4gICAgcGFnZTogbnVtYmVyLFxuICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICk6IFByb21pc2U8Q29udGFjdEF0dHJpYnV0ZXNSZXNwb25zZSB8IFJlc3RFcnJvcj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN0SGVhZGVycyA9IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAkeyhhd2FpdCB0aGlzLmdldEFjY2Vzc1Rva2VuKCkpLmFjY2Vzc190b2tlbn1gLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBiYXNlVVJMOiBnZXRVcmwodGhpcy5hdXRoT2JqZWN0LnN1YkRvbWFpbiksXG4gICAgICAgIHVybDogYC9jb250YWN0cy92MS9hdHRyaWJ1dGVTZXREZWZpbml0aW9ucz8kcGFnZT0ke3BhZ2V9JiRwYWdlU2l6ZT0ke3BhZ2VTaXplfWAsXG4gICAgICAgIGhlYWRlcnM6IHJlc3RIZWFkZXJzLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBheGlvcyhyZXF1ZXN0T3B0aW9ucyk7XG4gICAgICByZXR1cm4gcmVzcC5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnIpKSB7XG4gICAgICAgIGNvbnN0IGF4aW9zRXJyb3IgPSBlcnIgYXMgQXhpb3NFcnJvcjxTRk1DRXJyb3JSZXNwb25zZT47XG4gICAgICAgIHRocm93IG5ldyBSZXN0RXJyb3IoYXhpb3NFcnJvcik7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0Q29udGFjdEF0dHJpYnV0ZXMoKTogUHJvbWlzZTxDb250YWN0QXR0cmlidXRlc1tdIHwgUmVzdEVycm9yPiB7XG4gICAgY29uc3QgY29udGFjdEF0dHJpYnV0ZXMgPSBhd2FpdCBTRk1DLmdldEFsbEl0ZW1Gcm9tUGFnZXM8Q29udGFjdEF0dHJpYnV0ZXM+KFxuICAgICAgdGhpcy5nZXRDb250YWN0QXR0cmlidXRlc0l0ZW1zLmJpbmQodGhpcyksXG4gICAgKTtcbiAgICByZXR1cm4gY29udGFjdEF0dHJpYnV0ZXM7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIGRhdGEgZXh0ZW5zaW9uLiBJdCByZXF1aXJlcyB0aGUgZGF0YSBleHRlbnNpb24gZmllbGRzLiBUaGUgbWV0aG9kIHJldHVybnMgdGhlIGRhdGEgZXh0ZW5zaW9uIGNyZWF0ZWQuIElmIHRoZSBkYXRhIGV4dGVuc2lvbiBpcyBub3QgY3JlYXRlZCwgaXQgcmV0dXJucyBhIFJlc3RFcnJvci5cbiAgICogQHBhcmFtIGJvZHkgRGF0YUV4dGVuc2lvbiBmaWVsZHNcbiAgICogQHJldHVybnNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZURhdGFFeHRlbnNpb24oXG4gICAgYm9keTogRGF0YUV4dGVuc2lvbkJvZHksXG4gICk6IFByb21pc2U8Q3JlYXRlRGF0YUV4dGVuc2lvblJlc3BvbnNlIHwgUmVzdEVycm9yPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3RIZWFkZXJzID0ge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7KGF3YWl0IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSkuYWNjZXNzX3Rva2VufWAsXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBiYXNlVVJMOiBnZXRVcmwodGhpcy5hdXRoT2JqZWN0LnN1YkRvbWFpbiksXG4gICAgICAgIHVybDogJy9kYXRhL3YxL2N1c3RvbW9iamVjdHMnLFxuICAgICAgICBoZWFkZXJzOiByZXN0SGVhZGVycyxcbiAgICAgICAgZGF0YTogYm9keSxcbiAgICAgIH07XG4gICAgICBjb25zdCByZXNwID0gYXdhaXQgYXhpb3MocmVxdWVzdE9wdGlvbnMpO1xuICAgICAgcmV0dXJuIHJlc3AuZGF0YTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IFJlc3RFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBmZXRjaGVzIHRoZSBidXNpbmVzcyB1bml0cy4gVGhlIG1ldGhvZCByZXR1cm5zIHRoZSBidXNpbmVzcyB1bml0cy4gSWYgdGhlIGJ1c2luZXNzIHVuaXRzIGFyZSBub3QgZm91bmQsIGl0IHJldHVybnMgYSBTb2FwRXJyb3IuXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhc3luYyBnZXRCdXNpbmVzc1VuaXRzKCk6IFByb21pc2U8QnVzaW5lc3NVbml0W10gfCBTb2FwRXJyb3I+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSAoYXdhaXQgdGhpcy5nZXRBY2Nlc3NUb2tlbigpKS5hY2Nlc3NfdG9rZW47XG4gICAgICBjb25zdCByZXF1ZXN0T3B0aW9ucyA9IHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJhc2VVUkw6IGBodHRwczovLyR7dGhpcy5hdXRoT2JqZWN0LnN1YkRvbWFpbn0uc29hcC5tYXJrZXRpbmdjbG91ZGFwaXMuY29tYCxcbiAgICAgICAgdXJsOiAnL1NlcnZpY2UuYXNteCcsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBTT0FQQWN0aW9uOiAnUmV0cmlldmUnLFxuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAndGV4dC94bWwnLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiBhd2FpdCB4bWxCdWlsZGVyKCdCdXNpbmVzc1VuaXQnLCBbJ25hbWUnLCAnaWQnXSwgYWNjZXNzVG9rZW4pLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBheGlvcyhyZXF1ZXN0T3B0aW9ucyk7XG4gICAgICBjb25zdCBwYXJzZWREYXRhID0gcGFyc2VYTUwocmVzcC5kYXRhKTtcbiAgICAgIGNvbnN0IHJlcyA9IHBhcnNlZERhdGEuUmV0cmlldmVSZXNwb25zZU1zZz8uUmVzdWx0cyBhc1xuICAgICAgICB8IEJ1c2luZXNzVW5pdFJlc3BvbnNlXG4gICAgICAgIHwgQnVzaW5lc3NVbml0UmVzcG9uc2VbXTtcbiAgICAgIGNvbnN0IGJ1c2luZXNzVW5pdHM6IEJ1c2luZXNzVW5pdFtdID0gW107XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZUJ1c2luZXNzVW5pdCA9IChyZXNwb25zZTogQnVzaW5lc3NVbml0UmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBjb25zdCB7IFBhcnRuZXJQcm9wZXJ0aWVzIH0gPSByZXNwb25zZTtcbiAgICAgICAgICBjb25zdCBlbnRyeSA9IHt9IGFzIEJ1c2luZXNzVW5pdDtcbiAgICAgICAgICBQYXJ0bmVyUHJvcGVydGllcy5mb3JFYWNoKChwcm9wKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKHByb3AuTmFtZSkge1xuICAgICAgICAgICAgICBjYXNlICduYW1lJzpcbiAgICAgICAgICAgICAgICBlbnRyeS5OYW1lID0gcHJvcC5WYWx1ZSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ2lkJzpcbiAgICAgICAgICAgICAgICBlbnRyeS5JRCA9IHByb3AuVmFsdWUgYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBTb2FwRXJyb3IoYFVua25vd24gcHJvcGVydHk6ICR7cHJvcH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzKSkge1xuICAgICAgICAgIHJlcy5mb3JFYWNoKChlYWNoUmVzKSA9PiB7XG4gICAgICAgICAgICBidXNpbmVzc1VuaXRzLnB1c2goY3JlYXRlQnVzaW5lc3NVbml0KGVhY2hSZXMpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBidXNpbmVzc1VuaXRzLnB1c2goY3JlYXRlQnVzaW5lc3NVbml0KHJlcykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBidXNpbmVzc1VuaXRzO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IFNvYXBFcnJvcignTm8gQnVzaW5lc3MgVW5pdHMgZm91bmQnKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBTb2FwRXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgZmV0Y2hlcyB0aGUgZGF0YSBmb2xkZXJzLiBJdCBidXNpbmVzcyB1bml0IGlkIGlzIHByb3ZpZGVkIGFsbCBkYXRhIGZvbGRlciB1bmRlciB0aGF0IGJ1c2luZXNzIGlkIHdvdWxkIGJlIHJldHJpZXZlZCBvdGhlcndpc2UgYWxsIHRoZSBkYXRhIGZvbGRlciB3aWxsIGJlIHJldHJpZXZlZC4gVGhlIG1ldGhvZCByZXR1cm5zIHRoZSBkYXRhIGZvbGRlcnMuIElmIHRoZSBkYXRhIGZvbGRlcnMgYXJlIG5vdCBmb3VuZCwgaXQgcmV0dXJucyBhIFNvYXBFcnJvci5cbiAgICogQHBhcmFtIGJ1c2luZXNzVW5pdElkIHRoaXMgaXMgdGhlIGlkIG9mIHRoZSBidXNpbmVzcyB1bml0XG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhc3luYyBnZXREYXRhRm9sZGVycyhidXNpbmVzc1VuaXRJZD86IHN0cmluZyk6IFByb21pc2U8RGF0YUZvbGRlcltdIHwgU29hcEVycm9yPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gKGF3YWl0IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSkuYWNjZXNzX3Rva2VuO1xuICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBiYXNlVVJMOiBgaHR0cHM6Ly8ke3RoaXMuYXV0aE9iamVjdC5zdWJEb21haW59LnNvYXAubWFya2V0aW5nY2xvdWRhcGlzLmNvbWAsXG4gICAgICAgIHVybDogJy9TZXJ2aWNlLmFzbXgnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgU09BUEFjdGlvbjogJ1JldHJpZXZlJyxcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ3RleHQveG1sJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YTogYnVzaW5lc3NVbml0SWRcbiAgICAgICAgICA/IGF3YWl0IHhtbEJ1aWxkZXIoXG4gICAgICAgICAgICAgICdEYXRhRm9sZGVyJyxcbiAgICAgICAgICAgICAgWydOYW1lJywgJ0lEJywgJ1BhcmVudEZvbGRlci5JRCddLFxuICAgICAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICAgICAgcGFyc2VGaWx0ZXIoeyBsZWZ0T3BlcmFuZDogJ0NsaWVudC5JRCcsIHJpZ2h0T3BlcmFuZDogYnVzaW5lc3NVbml0SWQgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBhd2FpdCB4bWxCdWlsZGVyKCdEYXRhRm9sZGVyJywgWydOYW1lJywgJ0lEJywgJ1BhcmVudEZvbGRlci5JRCddLCBhY2Nlc3NUb2tlbiksXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGF4aW9zKHJlcXVlc3RPcHRpb25zKTtcbiAgICAgIGNvbnN0IHBhcnNlZERhdGEgPSBwYXJzZVhNTChyZXNwLmRhdGEpO1xuICAgICAgY29uc3QgcmVzID0gcGFyc2VkRGF0YS5SZXRyaWV2ZVJlc3BvbnNlTXNnPy5SZXN1bHRzIGFzIERhdGFGb2xkZXIgfCBEYXRhRm9sZGVyW107XG4gICAgICBjb25zdCBkYXRhRm9sZGVyczogRGF0YUZvbGRlcltdID0gW107XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcbiAgICAgICAgICByZXMuZm9yRWFjaCgoZWFjaFJlcykgPT4ge1xuICAgICAgICAgICAgZGF0YUZvbGRlcnMucHVzaChlYWNoUmVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkYXRhRm9sZGVycy5wdXNoKHJlcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGFGb2xkZXJzO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IFNvYXBFcnJvcignTm8gRGF0YSBGb2xkZXIgZm91bmQnKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBTb2FwRXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBmZXRjaGVzIHRoZSBkYXRhIGV4dGVuc2lvbnMuIEl0IHRoZSBkYXRhIGZvbGRlciBpZCBpcyBwcm92aWRlZCBhbGwgdGhlIGRhdGEgZXh0ZW5zaW9uIHVuZGVyIHRoYXQgZGF0YSBmb2xkZXIgd2lsbCBiZSByZXRyaWV2ZWQgb3RoZXJ3aXNlIGFsbCB0aGUgZGF0YSBleHRlbnNpb25zIHVuZGVyIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSBmZXRjaGVkLiBUaGUgbWV0aG9kIHJldHVybnMgdGhlIGRhdGEgZXh0ZW5zaW9ucy4gSWYgdGhlIGRhdGEgZXh0ZW5zaW9ucyBhcmUgbm90IGZvdW5kLCBpdCByZXR1cm5zIGEgU29hcEVycm9yLlxuICAgKiBAcGFyYW0gZGF0YUZvbGRlcklkIElkIG9mIHRoZSBkYXRhIGZvbGRlclxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgYXN5bmMgZ2V0RGF0YUV4dGVuc2lvbnMoZGF0YUZvbGRlcklkPzogc3RyaW5nKTogUHJvbWlzZTxEYXRhRXh0ZW5zaW9uW10gfCBTb2FwRXJyb3I+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSAoYXdhaXQgdGhpcy5nZXRBY2Nlc3NUb2tlbigpKS5hY2Nlc3NfdG9rZW47XG4gICAgICBjb25zdCByZXF1ZXN0T3B0aW9ucyA9IHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJhc2VVUkw6IGBodHRwczovLyR7dGhpcy5hdXRoT2JqZWN0LnN1YkRvbWFpbn0uc29hcC5tYXJrZXRpbmdjbG91ZGFwaXMuY29tYCxcbiAgICAgICAgdXJsOiAnL1NlcnZpY2UuYXNteCcsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBTT0FQQWN0aW9uOiAnUmV0cmlldmUnLFxuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAndGV4dC94bWwnLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiBkYXRhRm9sZGVySWRcbiAgICAgICAgICA/IGF3YWl0IHhtbEJ1aWxkZXIoXG4gICAgICAgICAgICAgICdEYXRhRXh0ZW5zaW9uJyxcbiAgICAgICAgICAgICAgWydOQU1FJywgJ09iamVjdElkJywgJ0NhdGVnb3J5SWQnLCAnQ3VzdG9tZXJLZXknLCAnSXNTZW5kYWJsZSddLFxuICAgICAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICAgICAgcGFyc2VGaWx0ZXIoeyBsZWZ0T3BlcmFuZDogJ0NhdGVnb3J5SWQnLCByaWdodE9wZXJhbmQ6IGRhdGFGb2xkZXJJZCB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IGF3YWl0IHhtbEJ1aWxkZXIoXG4gICAgICAgICAgICAgICdEYXRhRXh0ZW5zaW9uJyxcbiAgICAgICAgICAgICAgWydOQU1FJywgJ09iamVjdElkJywgJ0NhdGVnb3J5SWQnLCAnQ3VzdG9tZXJLZXknLCAnSXNTZW5kYWJsZSddLFxuICAgICAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICAgICksXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGF4aW9zKHJlcXVlc3RPcHRpb25zKTtcbiAgICAgIGNvbnN0IHBhcnNlZERhdGEgPSBwYXJzZVhNTChyZXNwLmRhdGEpO1xuICAgICAgY29uc3QgcmVzID0gcGFyc2VkRGF0YS5SZXRyaWV2ZVJlc3BvbnNlTXNnPy5SZXN1bHRzIGFzXG4gICAgICAgIHwgRGF0YUV4dGVuc2lvblJlc3BvbnNlXG4gICAgICAgIHwgRGF0YUV4dGVuc2lvblJlc3BvbnNlW107XG4gICAgICBjb25zdCBkYXRhRXh0ZW5zaW9uczogRGF0YUV4dGVuc2lvbltdID0gW107XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcbiAgICAgICAgICByZXMuZm9yRWFjaCgoZWFjaFJlcykgPT4ge1xuICAgICAgICAgICAgZGF0YUV4dGVuc2lvbnMucHVzaChTRk1DLm1hcERhdGFFeHRlbnNpb24oZWFjaFJlcykpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRhdGFFeHRlbnNpb25zLnB1c2goU0ZNQy5tYXBEYXRhRXh0ZW5zaW9uKHJlcykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhRXh0ZW5zaW9ucztcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBTb2FwRXJyb3IoJ05vIERhdGEgRXh0ZW5zaW9uIGZvdW5kJyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aHJvdyBuZXcgU29hcEVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFwRGF0YUV4dGVuc2lvbihkYXRhRXh0ZW5zaW9uOiBEYXRhRXh0ZW5zaW9uUmVzcG9uc2UpOiBEYXRhRXh0ZW5zaW9uIHtcbiAgICBjb25zdCBnZXRQcm9wZXJ0eSA9IDxUIGV4dGVuZHMgRGF0YUV4dGVuc2lvblBhcnRuZXJQcm9wZXJ0eT4oXG4gICAgICBwcm9wczogRGF0YUV4dGVuc2lvblBhcnRuZXJQcm9wZXJ0eVtdLFxuICAgICAgbmFtZTogVFsnTmFtZSddLFxuICAgICk6IFRbJ1ZhbHVlJ10gPT4ge1xuICAgICAgY29uc3QgcHJvcGVydHkgPSBwcm9wcy5maW5kKChwcm9wKTogcHJvcCBpcyBUID0+IHByb3AuTmFtZSA9PT0gbmFtZSk7XG4gICAgICBpZiAoIXByb3BlcnR5KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyByZXF1aXJlZCBwcm9wZXJ0eTogJHtuYW1lfWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb3BlcnR5LlZhbHVlIGFzIFRbJ1ZhbHVlJ107XG4gICAgfTtcblxuICAgIGNvbnN0IHsgUGFydG5lclByb3BlcnRpZXMgfSA9IGRhdGFFeHRlbnNpb247XG4gICAgcmV0dXJuIHtcbiAgICAgIE9iamVjdElkOiBnZXRQcm9wZXJ0eTxEYXRhRXh0ZW5zaW9uUGFydG5lclByb3BlcnR5PihQYXJ0bmVyUHJvcGVydGllcywgJ09iamVjdElkJykgYXMgc3RyaW5nLFxuICAgICAgTmFtZTogZ2V0UHJvcGVydHk8RGF0YUV4dGVuc2lvblBhcnRuZXJQcm9wZXJ0eT4oUGFydG5lclByb3BlcnRpZXMsICdOQU1FJykgYXMgc3RyaW5nLFxuICAgICAgQ2F0ZWdvcnlJZDogZ2V0UHJvcGVydHk8RGF0YUV4dGVuc2lvblBhcnRuZXJQcm9wZXJ0eT4oXG4gICAgICAgIFBhcnRuZXJQcm9wZXJ0aWVzLFxuICAgICAgICAnQ2F0ZWdvcnlJZCcsXG4gICAgICApIGFzIG51bWJlcixcbiAgICAgIEV4dGVybmFsS2V5OiBkYXRhRXh0ZW5zaW9uLkN1c3RvbWVyS2V5LFxuICAgICAgSXNTZW5kYWJsZTogZGF0YUV4dGVuc2lvbi5Jc1NlbmRhYmxlLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBmZXRjaGVzIHRoZSBkYXRhIGV4dGVuc2lvbiBieSBpZC4gSXQgcmV0dXJucyB0aGUgZGF0YSBleHRlbnNpb24uIElmIHRoZSBkYXRhIGV4dGVuc2lvbiBpcyBub3QgZm91bmQsIGl0IHJldHVybnMgYSBSZXN0RXJyb3IuXG4gICAqIEBwYXJhbSBkYXRhRXh0ZW5zaW9uSWQgSWQgb2YgdGhlIGRhdGEgZXh0ZW5zaW9uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPERhdGFFeHRlbnNpb24gfCBSZXN0RXJyb3I+fVxuICAgKi9cbiAgYXN5bmMgZ2V0RGF0YUV4dGVuc2lvbkJ5SWQoXG4gICAgZGF0YUV4dGVuc2lvbklkOiBzdHJpbmcsXG4gICk6IFByb21pc2U8RGF0YUV4dGVuc2lvbkFwaVJlc3BvbnNlIHwgUmVzdEVycm9yPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gKGF3YWl0IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSkuYWNjZXNzX3Rva2VuO1xuICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIGJhc2VVUkw6IGdldFVybCh0aGlzLmF1dGhPYmplY3Quc3ViRG9tYWluKSxcbiAgICAgICAgdXJsOiBgL2RhdGEvdjEvY3VzdG9tb2JqZWN0cy8ke2RhdGFFeHRlbnNpb25JZH1gLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2FjY2Vzc1Rva2VufWAsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGF4aW9zPERhdGFFeHRlbnNpb25BcGlSZXNwb25zZT4ocmVxdWVzdE9wdGlvbnMpO1xuICAgICAgcmV0dXJuIHJlc3AuZGF0YTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnIpKSB7XG4gICAgICAgIGNvbnN0IGF4aW9zRXJyb3IgPSBlcnIgYXMgQXhpb3NFcnJvcjxTRk1DRXJyb3JSZXNwb25zZT47XG4gICAgICAgIHRocm93IG5ldyBSZXN0RXJyb3IoYXhpb3NFcnJvcik7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gZmV0Y2hlcyB0aGUgZXZlbnQgZGVmaW5pdGlvbnMuIEl0IHJldHVybnMgdGhlIGV2ZW50IGRlZmluaXRpb25zLiBJZiB0aGUgZXZlbnQgZGVmaW5pdGlvbnMgYXJlIG5vdCBmb3VuZCwgaXQgcmV0dXJucyBhIFJlc3RFcnJvci5cbiAgICogQHBhcmFtIHBhZ2UgUGFnZSBudW1iZXJcbiAgICogQHBhcmFtIHBhZ2VTaXplIFBhZ2Ugc2l6ZVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxFdmVudERlZmluaXRpb25zUmVzcG9uc2UgfCBSZXN0RXJyb3I+fVxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBnZXRFdmVudERlZmluaXRpb25zKFxuICAgIHBhZ2U6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxuICApOiBQcm9taXNlPEV2ZW50RGVmaW5pdGlvbnNSZXNwb25zZSB8IFJlc3RFcnJvcj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IChhd2FpdCB0aGlzLmdldEFjY2Vzc1Rva2VuKCkpLmFjY2Vzc190b2tlbjtcblxuICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIGJhc2VVUkw6IGdldFVybCh0aGlzLmF1dGhPYmplY3Quc3ViRG9tYWluKSxcbiAgICAgICAgdXJsOiBgL2ludGVyYWN0aW9uL3YxL2V2ZW50RGVmaW5pdGlvbnM/JHBhZ2U9JHtwYWdlfSYkcGFnZVNpemU9JHtwYWdlU2l6ZX1gLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2FjY2Vzc1Rva2VufWAsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNwID0gYXdhaXQgYXhpb3MocmVxdWVzdE9wdGlvbnMpO1xuICAgICAgcmV0dXJuIHJlc3AuZGF0YTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IFJlc3RFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGZldGNoZXMgYWxsIHRoZSBldmVudCBkZWZpbml0aW9ucy4gSXQgcmV0dXJucyB0aGUgZXZlbnQgZGVmaW5pdGlvbnMuIElmIHRoZSBldmVudCBkZWZpbml0aW9ucyBhcmUgbm90IGZvdW5kLCBpdCByZXR1cm5zIGEgUmVzdEVycm9yLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxFdmVudERlZmluaXRpb25bXSB8IFJlc3RFcnJvcj59XG4gICAqL1xuICBhc3luYyBnZXRBbGxFdmVudERlZmluaXRpb25zKCk6IFByb21pc2U8RXZlbnREZWZpbml0aW9uW10gfCBSZXN0RXJyb3I+IHtcbiAgICBjb25zdCBldmVudERlZmluaXRpb25zID0gYXdhaXQgU0ZNQy5nZXRBbGxJdGVtRnJvbVBhZ2VzPEV2ZW50RGVmaW5pdGlvbj4oXG4gICAgICB0aGlzLmdldEV2ZW50RGVmaW5pdGlvbnMuYmluZCh0aGlzKSxcbiAgICApO1xuICAgIHJldHVybiBldmVudERlZmluaXRpb25zO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgZ2V0QWxsSXRlbUZyb21QYWdlczxUPihcbiAgICBnZXRJdGVtczogKFxuICAgICAgcGFnZTogbnVtYmVyLFxuICAgICAgcGFnZVNpemU6IG51bWJlcixcbiAgICApID0+IFByb21pc2U8eyBpdGVtczogVFtdOyBjb3VudDogbnVtYmVyIH0gfCBSZXN0RXJyb3I+LFxuICAgIHBhZ2VTaXplOiBudW1iZXIgPSA1MCxcbiAgKTogUHJvbWlzZTxUW10gfCBSZXN0RXJyb3I+IHtcbiAgICAvLyBHZXQgZmlyc3QgcGFnZSB0byBkZXRlcm1pbmUgdG90YWwgY291bnRcbiAgICBjb25zdCBmaXJzdFBhZ2UgPSBhd2FpdCBnZXRJdGVtcygxLCBwYWdlU2l6ZSk7XG4gICAgaWYgKGZpcnN0UGFnZSBpbnN0YW5jZW9mIFJlc3RFcnJvcikge1xuICAgICAgdGhyb3cgZmlyc3RQYWdlO1xuICAgIH1cblxuICAgIGNvbnN0IHRvdGFsUGFnZXMgPSBNYXRoLmNlaWwoZmlyc3RQYWdlLmNvdW50IC8gcGFnZVNpemUpO1xuICAgIGNvbnN0IHJlbWFpbmluZ1BhZ2VzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdG90YWxQYWdlcyAtIDEgfSwgKF8sIGkpID0+IGkgKyAyKTtcblxuICAgIGNvbnN0IHJlbWFpbmluZ1Jlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHJlbWFpbmluZ1BhZ2VzLm1hcChhc3luYyAocGFnZSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRJdGVtcyhwYWdlLCBwYWdlU2l6ZSk7XG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBSZXN0RXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBjb25zdCBhbGxSZXN1bHRzID0gW2ZpcnN0UGFnZSwgLi4ucmVtYWluaW5nUmVzdWx0c107XG4gICAgcmV0dXJuIGFsbFJlc3VsdHMuZmxhdE1hcCgocmVzdWx0KSA9PiAocmVzdWx0IGluc3RhbmNlb2YgUmVzdEVycm9yID8gW10gOiByZXN1bHQuaXRlbXMpKTtcbiAgfVxufVxuIl19
374
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2Rrcy9zZm1jL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBDO0FBa0IxQyxtQ0FTaUI7QUFFakIsTUFBcUIsSUFBSTtJQUd2QixZQUFZLFVBQXNCO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELGtCQUFrQixDQUFDLFVBQWU7UUFDaEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUc7WUFDbEIsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUNuRCxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3ZEO2dCQUNFLEdBQUcsRUFBRSxXQUFXO2dCQUNoQixJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQUUsSUFBSTtnQkFDZCxLQUFLLEVBQUUsWUFBWTtnQkFDbkIsWUFBWSxFQUFFLHlDQUF5QzthQUN4RDtTQUNGLENBQUM7UUFFRixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtZQUNuRSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsSUFBSSxRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEdB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QUFTLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRS9FLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUN4QyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUMsSUFBSSxNQUFNLFlBQVksaUJBQVMsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLE1BQU0sQ0FBQztZQUNmLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLFlBQVksaUJBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0NBQ0Y7QUF4YUQsdUJBd2FDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zLCB7IEF4aW9zRXJyb3IgfSBmcm9tICdheGlvcyc7XG5pbXBvcnQge1xuICBBdXRoT2JqZWN0LFxuICBCdXNpbmVzc1VuaXQsXG4gIEJ1c2luZXNzVW5pdFJlc3BvbnNlLFxuICBDb250YWN0QXR0cmlidXRlc1Jlc3BvbnNlLFxuICBDcmVhdGVEYXRhRXh0ZW5zaW9uUmVzcG9uc2UsXG4gIERhdGFFeHRlbnNpb24sXG4gIERhdGFFeHRlbnNpb25Cb2R5LFxuICBEYXRhRXh0ZW5zaW9uUmVzcG9uc2UsXG4gIERhdGFGb2xkZXIsXG4gIFNGTUNFcnJvclJlc3BvbnNlLFxuICBFdmVudERlZmluaXRpb24sXG4gIEV2ZW50RGVmaW5pdGlvbnNSZXNwb25zZSxcbiAgQ29udGFjdEF0dHJpYnV0ZXMsXG4gIERhdGFFeHRlbnNpb25QYXJ0bmVyUHJvcGVydHksXG4gIERhdGFFeHRlbnNpb25BcGlSZXNwb25zZSxcbn0gZnJvbSAnLi90eXBlJztcbmltcG9ydCB7XG4gIGdldFVybCxcbiAgaXNFeHBpcmVkLFxuICBwYXJzZUZpbHRlcixcbiAgcGFyc2VYTUwsXG4gIGdldFRva2VuLFxuICBSZXN0RXJyb3IsXG4gIFNvYXBFcnJvcixcbiAgeG1sQnVpbGRlcixcbn0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNGTUMge1xuICBhdXRoT2JqZWN0OiBBdXRoT2JqZWN0O1xuXG4gIGNvbnN0cnVjdG9yKGF1dGhPYmplY3Q6IEF1dGhPYmplY3QpIHtcbiAgICB0aGlzLnZhbGlkYXRlQXV0aE9iamVjdChhdXRoT2JqZWN0KTtcbiAgICB0aGlzLmF1dGhPYmplY3QgPSBhdXRoT2JqZWN0O1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgdmFsaWRhdGVBdXRoT2JqZWN0KGF1dGhPYmplY3Q6IGFueSk6IGFueSB7XG4gICAgaWYgKCFhdXRoT2JqZWN0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2F1dGhPYmplY3QgaXMgcmVxdWlyZWQuIFNlZSB0aGUgcmVhZG1lLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkYXRpb25zID0gW1xuICAgICAgeyBrZXk6ICdjbGllbnRJZCcsIHR5cGU6ICdzdHJpbmcnLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgeyBrZXk6ICdjbGllbnRTZWNyZXQnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnc3ViRG9tYWluJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICByZWdleDogL15cXHd7Mjh9JC9nbSxcbiAgICAgICAgcmVnZXhNZXNzYWdlOiAnc3ViRG9tYWluIG11c3QgYmUgYSBzdHJpbmcgb2YgbGVuZ3RoIDI4JyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHZhbGlkYXRpb25zLmZvckVhY2goKHsga2V5LCB0eXBlLCByZXF1aXJlZCwgcmVnZXgsIHJlZ2V4TWVzc2FnZSB9KSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGF1dGhPYmplY3Rba2V5XTtcbiAgICAgIGlmIChyZXF1aXJlZCAmJiAhdmFsdWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2tleX0gaXMgbWlzc2luZyBvciBpbnZhbGlkYCk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSB0eXBlKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7a2V5fSBtdXN0IGJlIGEgJHt0eXBlfWApO1xuICAgICAgfVxuICAgICAgaWYgKHJlZ2V4ICYmICFyZWdleC50ZXN0KHZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVnZXhNZXNzYWdlIHx8IGAke2tleX0gZG9lcyBub3QgbWF0Y2ggdGhlIHJlcXVpcmVkIGZvcm1hdGApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGF1dGhPYmplY3Q7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBhY2Nlc3MgdG9rZW4uIElmIHRoZSB0b2tlbiBpcyBleHBpcmVkLCBpdCB3aWxsIGdlbmVyYXRlIGEgbmV3IHRva2VuLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBdXRoT2JqZWN0Pn0gIEl0IHJldHVybnMgdGhlIGFjY2VzcyB0b2tlbiBvciBlcnJvclxuICAgKi9cbiAgYXN5bmMgZ2V0QWNjZXNzVG9rZW4oKSB7XG4gICAgaWYgKGlzRXhwaXJlZCh0aGlzLmF1dGhPYmplY3QpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBnZXRUb2tlbih0aGlzLmF1dGhPYmplY3QpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBnZW5lcmF0ZSB0b2tlbiwgd2l0aCBlcnJvcjoke2V9YCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmF1dGhPYmplY3Q7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgZmV0Y2hlcyB0aGUgZmllbGRzIG9mIGEgZGF0YSBleHRlbnNpb24uIEl0IHJlcXVpcmVzIHRoZSBkYXRhIGV4dGVuc2lvbiBpZC4gVGhlIG1ldGhvZCByZXR1cm5zIHRoZSBmaWVsZHMgb2YgdGhlIGRhdGEgZXh0ZW5zaW9uLiBJZiB0aGUgZGF0YSBleHRlbnNpb24gaXMgbm90IGZvdW5kLCBpdCByZXR1cm5zIGEgUmVzdEVycm9yLlxuICAgKiBAcGFyYW0gZGF0YUV4dGVuc2lvbklkIElkIG9mIHRoZSBkYXRhIGV4dGVuc2lvbiB3aG9zZSBmaWVsZHMgYXJlIHRvIGJlIGZldGNoZWRcbiAgICogQHJldHVybnNcbiAgICovXG4gIGFzeW5jIGdldERlc3RpbmF0aW9uRmllbGRzKGRhdGFFeHRlbnNpb25JZDogc3RyaW5nKTogUHJvbWlzZTxEYXRhRXh0ZW5zaW9uQm9keSB8IFJlc3RFcnJvcj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN0SGVhZGVycyA9IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAkeyhhd2FpdCB0aGlzLmdldEFjY2Vzc1Rva2VuKCkpLmFjY2Vzc190b2tlbn1gLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBiYXNlVVJMOiBnZXRVcmwodGhpcy5hdXRoT2JqZWN0LnN1YkRvbWFpbiksXG4gICAgICAgIHVybDogYC9kYXRhL3YxL2N1c3RvbW9iamVjdHMvJHtkYXRhRXh0ZW5zaW9uSWR9L2ZpZWxkc2AsXG4gICAgICAgIGhlYWRlcnM6IHJlc3RIZWFkZXJzLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBheGlvcyhyZXF1ZXN0T3B0aW9ucyk7XG4gICAgICByZXR1cm4gcmVzcC5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnIpKSB7XG4gICAgICAgIGNvbnN0IGF4aW9zRXJyb3IgPSBlcnIgYXMgQXhpb3NFcnJvcjxTRk1DRXJyb3JSZXNwb25zZT47XG4gICAgICAgIHRocm93IG5ldyBSZXN0RXJyb3IoYXhpb3NFcnJvcik7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGZldGNoZXMgdGhlIGNvbnRhY3QgYXR0cmlidXRlcy4gVGhlIG1ldGhvZCByZXR1cm5zIHRoZSBjb250YWN0IGF0dHJpYnV0ZXMuIElmIHRoZSBjb250YWN0IGF0dHJpYnV0ZXMgYXJlIG5vdCBmb3VuZCwgaXQgcmV0dXJucyBhIFJlc3RFcnJvci5cbiAgICogQHBhcmFtIHBhZ2UgUGFnZSBudW1iZXJcbiAgICogQHBhcmFtIHBhZ2VTaXplIFBhZ2Ugc2l6ZVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxDb250YWN0QXR0cmlidXRlc1Jlc3BvbnNlIHwgUmVzdEVycm9yPn1cbiAgICovXG4gIGFzeW5jIGdldENvbnRhY3RBdHRyaWJ1dGVzSXRlbXMoXG4gICAgcGFnZTogbnVtYmVyLFxuICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICk6IFByb21pc2U8Q29udGFjdEF0dHJpYnV0ZXNSZXNwb25zZSB8IFJlc3RFcnJvcj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN0SGVhZGVycyA9IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAkeyhhd2FpdCB0aGlzLmdldEFjY2Vzc1Rva2VuKCkpLmFjY2Vzc190b2tlbn1gLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBiYXNlVVJMOiBnZXRVcmwodGhpcy5hdXRoT2JqZWN0LnN1YkRvbWFpbiksXG4gICAgICAgIHVybDogYC9jb250YWN0cy92MS9hdHRyaWJ1dGVTZXREZWZpbml0aW9ucz8kcGFnZT0ke3BhZ2V9JiRwYWdlU2l6ZT0ke3BhZ2VTaXplfWAsXG4gICAgICAgIGhlYWRlcnM6IHJlc3RIZWFkZXJzLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBheGlvcyhyZXF1ZXN0T3B0aW9ucyk7XG4gICAgICByZXR1cm4gcmVzcC5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnIpKSB7XG4gICAgICAgIGNvbnN0IGF4aW9zRXJyb3IgPSBlcnIgYXMgQXhpb3NFcnJvcjxTRk1DRXJyb3JSZXNwb25zZT47XG4gICAgICAgIHRocm93IG5ldyBSZXN0RXJyb3IoYXhpb3NFcnJvcik7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0Q29udGFjdEF0dHJpYnV0ZXMoKTogUHJvbWlzZTxDb250YWN0QXR0cmlidXRlc1tdIHwgUmVzdEVycm9yPiB7XG4gICAgY29uc3QgY29udGFjdEF0dHJpYnV0ZXMgPSBhd2FpdCBTRk1DLmdldEFsbEl0ZW1Gcm9tUGFnZXM8Q29udGFjdEF0dHJpYnV0ZXM+KFxuICAgICAgdGhpcy5nZXRDb250YWN0QXR0cmlidXRlc0l0ZW1zLmJpbmQodGhpcyksXG4gICAgKTtcbiAgICByZXR1cm4gY29udGFjdEF0dHJpYnV0ZXM7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIGRhdGEgZXh0ZW5zaW9uLiBJdCByZXF1aXJlcyB0aGUgZGF0YSBleHRlbnNpb24gZmllbGRzLiBUaGUgbWV0aG9kIHJldHVybnMgdGhlIGRhdGEgZXh0ZW5zaW9uIGNyZWF0ZWQuIElmIHRoZSBkYXRhIGV4dGVuc2lvbiBpcyBub3QgY3JlYXRlZCwgaXQgcmV0dXJucyBhIFJlc3RFcnJvci5cbiAgICogQHBhcmFtIGJvZHkgRGF0YUV4dGVuc2lvbiBmaWVsZHNcbiAgICogQHJldHVybnNcbiAgICovXG4gIGFzeW5jIGNyZWF0ZURhdGFFeHRlbnNpb24oXG4gICAgYm9keTogRGF0YUV4dGVuc2lvbkJvZHksXG4gICk6IFByb21pc2U8Q3JlYXRlRGF0YUV4dGVuc2lvblJlc3BvbnNlIHwgUmVzdEVycm9yPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3RIZWFkZXJzID0ge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7KGF3YWl0IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSkuYWNjZXNzX3Rva2VufWAsXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBiYXNlVVJMOiBnZXRVcmwodGhpcy5hdXRoT2JqZWN0LnN1YkRvbWFpbiksXG4gICAgICAgIHVybDogJy9kYXRhL3YxL2N1c3RvbW9iamVjdHMnLFxuICAgICAgICBoZWFkZXJzOiByZXN0SGVhZGVycyxcbiAgICAgICAgZGF0YTogYm9keSxcbiAgICAgIH07XG4gICAgICBjb25zdCByZXNwID0gYXdhaXQgYXhpb3MocmVxdWVzdE9wdGlvbnMpO1xuICAgICAgcmV0dXJuIHJlc3AuZGF0YTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IFJlc3RFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBmZXRjaGVzIHRoZSBidXNpbmVzcyB1bml0cy4gVGhlIG1ldGhvZCByZXR1cm5zIHRoZSBidXNpbmVzcyB1bml0cy4gSWYgdGhlIGJ1c2luZXNzIHVuaXRzIGFyZSBub3QgZm91bmQsIGl0IHJldHVybnMgYSBTb2FwRXJyb3IuXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhc3luYyBnZXRCdXNpbmVzc1VuaXRzKCk6IFByb21pc2U8QnVzaW5lc3NVbml0W10gfCBTb2FwRXJyb3I+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSAoYXdhaXQgdGhpcy5nZXRBY2Nlc3NUb2tlbigpKS5hY2Nlc3NfdG9rZW47XG4gICAgICBjb25zdCByZXF1ZXN0T3B0aW9ucyA9IHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJhc2VVUkw6IGBodHRwczovLyR7dGhpcy5hdXRoT2JqZWN0LnN1YkRvbWFpbn0uc29hcC5tYXJrZXRpbmdjbG91ZGFwaXMuY29tYCxcbiAgICAgICAgdXJsOiAnL1NlcnZpY2UuYXNteCcsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBTT0FQQWN0aW9uOiAnUmV0cmlldmUnLFxuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAndGV4dC94bWwnLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiBhd2FpdCB4bWxCdWlsZGVyKCdCdXNpbmVzc1VuaXQnLCBbJ25hbWUnLCAnaWQnXSwgYWNjZXNzVG9rZW4pLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBheGlvcyhyZXF1ZXN0T3B0aW9ucyk7XG4gICAgICBjb25zdCBwYXJzZWREYXRhID0gcGFyc2VYTUwocmVzcC5kYXRhKTtcbiAgICAgIGNvbnN0IHJlcyA9IHBhcnNlZERhdGEuUmV0cmlldmVSZXNwb25zZU1zZz8uUmVzdWx0cyBhc1xuICAgICAgICB8IEJ1c2luZXNzVW5pdFJlc3BvbnNlXG4gICAgICAgIHwgQnVzaW5lc3NVbml0UmVzcG9uc2VbXTtcbiAgICAgIGNvbnN0IGJ1c2luZXNzVW5pdHM6IEJ1c2luZXNzVW5pdFtdID0gW107XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZUJ1c2luZXNzVW5pdCA9IChyZXNwb25zZTogQnVzaW5lc3NVbml0UmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBjb25zdCB7IFBhcnRuZXJQcm9wZXJ0aWVzIH0gPSByZXNwb25zZTtcbiAgICAgICAgICBjb25zdCBlbnRyeSA9IHt9IGFzIEJ1c2luZXNzVW5pdDtcbiAgICAgICAgICBQYXJ0bmVyUHJvcGVydGllcy5mb3JFYWNoKChwcm9wKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKHByb3AuTmFtZSkge1xuICAgICAgICAgICAgICBjYXNlICduYW1lJzpcbiAgICAgICAgICAgICAgICBlbnRyeS5OYW1lID0gcHJvcC5WYWx1ZSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ2lkJzpcbiAgICAgICAgICAgICAgICBlbnRyeS5JRCA9IHByb3AuVmFsdWUgYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBTb2FwRXJyb3IoYFVua25vd24gcHJvcGVydHk6ICR7cHJvcH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzKSkge1xuICAgICAgICAgIHJlcy5mb3JFYWNoKChlYWNoUmVzKSA9PiB7XG4gICAgICAgICAgICBidXNpbmVzc1VuaXRzLnB1c2goY3JlYXRlQnVzaW5lc3NVbml0KGVhY2hSZXMpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBidXNpbmVzc1VuaXRzLnB1c2goY3JlYXRlQnVzaW5lc3NVbml0KHJlcykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBidXNpbmVzc1VuaXRzO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IFNvYXBFcnJvcignTm8gQnVzaW5lc3MgVW5pdHMgZm91bmQnKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBTb2FwRXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgZmV0Y2hlcyB0aGUgZGF0YSBmb2xkZXJzLiBJdCBidXNpbmVzcyB1bml0IGlkIGlzIHByb3ZpZGVkIGFsbCBkYXRhIGZvbGRlciB1bmRlciB0aGF0IGJ1c2luZXNzIGlkIHdvdWxkIGJlIHJldHJpZXZlZCBvdGhlcndpc2UgYWxsIHRoZSBkYXRhIGZvbGRlciB3aWxsIGJlIHJldHJpZXZlZC4gVGhlIG1ldGhvZCByZXR1cm5zIHRoZSBkYXRhIGZvbGRlcnMuIElmIHRoZSBkYXRhIGZvbGRlcnMgYXJlIG5vdCBmb3VuZCwgaXQgcmV0dXJucyBhIFNvYXBFcnJvci5cbiAgICogQHBhcmFtIGJ1c2luZXNzVW5pdElkIHRoaXMgaXMgdGhlIGlkIG9mIHRoZSBidXNpbmVzcyB1bml0XG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhc3luYyBnZXREYXRhRm9sZGVycyhidXNpbmVzc1VuaXRJZD86IHN0cmluZyk6IFByb21pc2U8RGF0YUZvbGRlcltdIHwgU29hcEVycm9yPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gKGF3YWl0IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSkuYWNjZXNzX3Rva2VuO1xuICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBiYXNlVVJMOiBgaHR0cHM6Ly8ke3RoaXMuYXV0aE9iamVjdC5zdWJEb21haW59LnNvYXAubWFya2V0aW5nY2xvdWRhcGlzLmNvbWAsXG4gICAgICAgIHVybDogJy9TZXJ2aWNlLmFzbXgnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgU09BUEFjdGlvbjogJ1JldHJpZXZlJyxcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ3RleHQveG1sJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YTogYnVzaW5lc3NVbml0SWRcbiAgICAgICAgICA/IGF3YWl0IHhtbEJ1aWxkZXIoXG4gICAgICAgICAgICAgICdEYXRhRm9sZGVyJyxcbiAgICAgICAgICAgICAgWydOYW1lJywgJ0lEJywgJ1BhcmVudEZvbGRlci5JRCddLFxuICAgICAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICAgICAgcGFyc2VGaWx0ZXIoeyBsZWZ0T3BlcmFuZDogJ0NsaWVudC5JRCcsIHJpZ2h0T3BlcmFuZDogYnVzaW5lc3NVbml0SWQgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBhd2FpdCB4bWxCdWlsZGVyKCdEYXRhRm9sZGVyJywgWydOYW1lJywgJ0lEJywgJ1BhcmVudEZvbGRlci5JRCddLCBhY2Nlc3NUb2tlbiksXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGF4aW9zKHJlcXVlc3RPcHRpb25zKTtcbiAgICAgIGNvbnN0IHBhcnNlZERhdGEgPSBwYXJzZVhNTChyZXNwLmRhdGEpO1xuICAgICAgY29uc3QgcmVzID0gcGFyc2VkRGF0YS5SZXRyaWV2ZVJlc3BvbnNlTXNnPy5SZXN1bHRzIGFzIERhdGFGb2xkZXIgfCBEYXRhRm9sZGVyW107XG4gICAgICBjb25zdCBkYXRhRm9sZGVyczogRGF0YUZvbGRlcltdID0gW107XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcbiAgICAgICAgICByZXMuZm9yRWFjaCgoZWFjaFJlcykgPT4ge1xuICAgICAgICAgICAgZGF0YUZvbGRlcnMucHVzaChlYWNoUmVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkYXRhRm9sZGVycy5wdXNoKHJlcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGFGb2xkZXJzO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IFNvYXBFcnJvcignTm8gRGF0YSBGb2xkZXIgZm91bmQnKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBTb2FwRXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBmZXRjaGVzIHRoZSBkYXRhIGV4dGVuc2lvbnMuIEl0IHRoZSBkYXRhIGZvbGRlciBpZCBpcyBwcm92aWRlZCBhbGwgdGhlIGRhdGEgZXh0ZW5zaW9uIHVuZGVyIHRoYXQgZGF0YSBmb2xkZXIgd2lsbCBiZSByZXRyaWV2ZWQgb3RoZXJ3aXNlIGFsbCB0aGUgZGF0YSBleHRlbnNpb25zIHVuZGVyIHRoZSBhY2Nlc3MgdG9rZW4gd2lsbCBiZSBmZXRjaGVkLiBUaGUgbWV0aG9kIHJldHVybnMgdGhlIGRhdGEgZXh0ZW5zaW9ucy4gSWYgdGhlIGRhdGEgZXh0ZW5zaW9ucyBhcmUgbm90IGZvdW5kLCBpdCByZXR1cm5zIGEgU29hcEVycm9yLlxuICAgKiBAcGFyYW0gZGF0YUZvbGRlcklkIElkIG9mIHRoZSBkYXRhIGZvbGRlclxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgYXN5bmMgZ2V0RGF0YUV4dGVuc2lvbnMoZGF0YUZvbGRlcklkPzogc3RyaW5nKTogUHJvbWlzZTxEYXRhRXh0ZW5zaW9uW10gfCBTb2FwRXJyb3I+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSAoYXdhaXQgdGhpcy5nZXRBY2Nlc3NUb2tlbigpKS5hY2Nlc3NfdG9rZW47XG4gICAgICBjb25zdCByZXF1ZXN0T3B0aW9ucyA9IHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJhc2VVUkw6IGBodHRwczovLyR7dGhpcy5hdXRoT2JqZWN0LnN1YkRvbWFpbn0uc29hcC5tYXJrZXRpbmdjbG91ZGFwaXMuY29tYCxcbiAgICAgICAgdXJsOiAnL1NlcnZpY2UuYXNteCcsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBTT0FQQWN0aW9uOiAnUmV0cmlldmUnLFxuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAndGV4dC94bWwnLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiBkYXRhRm9sZGVySWRcbiAgICAgICAgICA/IGF3YWl0IHhtbEJ1aWxkZXIoXG4gICAgICAgICAgICAgICdEYXRhRXh0ZW5zaW9uJyxcbiAgICAgICAgICAgICAgWydOQU1FJywgJ09iamVjdElkJywgJ0NhdGVnb3J5SWQnLCAnQ3VzdG9tZXJLZXknLCAnSXNTZW5kYWJsZSddLFxuICAgICAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICAgICAgcGFyc2VGaWx0ZXIoeyBsZWZ0T3BlcmFuZDogJ0NhdGVnb3J5SWQnLCByaWdodE9wZXJhbmQ6IGRhdGFGb2xkZXJJZCB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IGF3YWl0IHhtbEJ1aWxkZXIoXG4gICAgICAgICAgICAgICdEYXRhRXh0ZW5zaW9uJyxcbiAgICAgICAgICAgICAgWydOQU1FJywgJ09iamVjdElkJywgJ0NhdGVnb3J5SWQnLCAnQ3VzdG9tZXJLZXknLCAnSXNTZW5kYWJsZSddLFxuICAgICAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICAgICksXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGF4aW9zKHJlcXVlc3RPcHRpb25zKTtcbiAgICAgIGNvbnN0IHBhcnNlZERhdGEgPSBwYXJzZVhNTChyZXNwLmRhdGEpO1xuICAgICAgY29uc3QgcmVzID0gcGFyc2VkRGF0YS5SZXRyaWV2ZVJlc3BvbnNlTXNnPy5SZXN1bHRzIGFzXG4gICAgICAgIHwgRGF0YUV4dGVuc2lvblJlc3BvbnNlXG4gICAgICAgIHwgRGF0YUV4dGVuc2lvblJlc3BvbnNlW107XG4gICAgICBjb25zdCBkYXRhRXh0ZW5zaW9uczogRGF0YUV4dGVuc2lvbltdID0gW107XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcbiAgICAgICAgICByZXMuZm9yRWFjaCgoZWFjaFJlcykgPT4ge1xuICAgICAgICAgICAgZGF0YUV4dGVuc2lvbnMucHVzaChTRk1DLm1hcERhdGFFeHRlbnNpb24oZWFjaFJlcykpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRhdGFFeHRlbnNpb25zLnB1c2goU0ZNQy5tYXBEYXRhRXh0ZW5zaW9uKHJlcykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhRXh0ZW5zaW9ucztcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBTb2FwRXJyb3IoJ05vIERhdGEgRXh0ZW5zaW9uIGZvdW5kJyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aHJvdyBuZXcgU29hcEVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFwRGF0YUV4dGVuc2lvbihkYXRhRXh0ZW5zaW9uOiBEYXRhRXh0ZW5zaW9uUmVzcG9uc2UpOiBEYXRhRXh0ZW5zaW9uIHtcbiAgICBjb25zdCBnZXRQcm9wZXJ0eSA9IDxUIGV4dGVuZHMgRGF0YUV4dGVuc2lvblBhcnRuZXJQcm9wZXJ0eT4oXG4gICAgICBwcm9wczogRGF0YUV4dGVuc2lvblBhcnRuZXJQcm9wZXJ0eVtdLFxuICAgICAgbmFtZTogVFsnTmFtZSddLFxuICAgICk6IFRbJ1ZhbHVlJ10gPT4ge1xuICAgICAgY29uc3QgcHJvcGVydHkgPSBwcm9wcy5maW5kKChwcm9wKTogcHJvcCBpcyBUID0+IHByb3AuTmFtZSA9PT0gbmFtZSk7XG4gICAgICBpZiAoIXByb3BlcnR5KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyByZXF1aXJlZCBwcm9wZXJ0eTogJHtuYW1lfWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb3BlcnR5LlZhbHVlIGFzIFRbJ1ZhbHVlJ107XG4gICAgfTtcblxuICAgIGNvbnN0IHsgUGFydG5lclByb3BlcnRpZXMgfSA9IGRhdGFFeHRlbnNpb247XG4gICAgcmV0dXJuIHtcbiAgICAgIE9iamVjdElkOiBnZXRQcm9wZXJ0eTxEYXRhRXh0ZW5zaW9uUGFydG5lclByb3BlcnR5PihQYXJ0bmVyUHJvcGVydGllcywgJ09iamVjdElkJykgYXMgc3RyaW5nLFxuICAgICAgTmFtZTogZ2V0UHJvcGVydHk8RGF0YUV4dGVuc2lvblBhcnRuZXJQcm9wZXJ0eT4oUGFydG5lclByb3BlcnRpZXMsICdOQU1FJykgYXMgc3RyaW5nLFxuICAgICAgQ2F0ZWdvcnlJZDogZ2V0UHJvcGVydHk8RGF0YUV4dGVuc2lvblBhcnRuZXJQcm9wZXJ0eT4oXG4gICAgICAgIFBhcnRuZXJQcm9wZXJ0aWVzLFxuICAgICAgICAnQ2F0ZWdvcnlJZCcsXG4gICAgICApIGFzIG51bWJlcixcbiAgICAgIEV4dGVybmFsS2V5OiBkYXRhRXh0ZW5zaW9uLkN1c3RvbWVyS2V5LFxuICAgICAgSXNTZW5kYWJsZTogZGF0YUV4dGVuc2lvbi5Jc1NlbmRhYmxlLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBmZXRjaGVzIHRoZSBkYXRhIGV4dGVuc2lvbiBieSBpZC4gSXQgcmV0dXJucyB0aGUgZGF0YSBleHRlbnNpb24uIElmIHRoZSBkYXRhIGV4dGVuc2lvbiBpcyBub3QgZm91bmQsIGl0IHJldHVybnMgYSBSZXN0RXJyb3IuXG4gICAqIEBwYXJhbSBkYXRhRXh0ZW5zaW9uSWQgSWQgb2YgdGhlIGRhdGEgZXh0ZW5zaW9uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPERhdGFFeHRlbnNpb24gfCBSZXN0RXJyb3I+fVxuICAgKi9cbiAgYXN5bmMgZ2V0RGF0YUV4dGVuc2lvbkJ5SWQoXG4gICAgZGF0YUV4dGVuc2lvbklkOiBzdHJpbmcsXG4gICk6IFByb21pc2U8RGF0YUV4dGVuc2lvbkFwaVJlc3BvbnNlIHwgUmVzdEVycm9yPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gKGF3YWl0IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSkuYWNjZXNzX3Rva2VuO1xuICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIGJhc2VVUkw6IGdldFVybCh0aGlzLmF1dGhPYmplY3Quc3ViRG9tYWluKSxcbiAgICAgICAgdXJsOiBgL2RhdGEvdjEvY3VzdG9tb2JqZWN0cy8ke2RhdGFFeHRlbnNpb25JZH1gLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2FjY2Vzc1Rva2VufWAsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGF4aW9zPERhdGFFeHRlbnNpb25BcGlSZXNwb25zZT4ocmVxdWVzdE9wdGlvbnMpO1xuICAgICAgcmV0dXJuIHJlc3AuZGF0YTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnIpKSB7XG4gICAgICAgIGNvbnN0IGF4aW9zRXJyb3IgPSBlcnIgYXMgQXhpb3NFcnJvcjxTRk1DRXJyb3JSZXNwb25zZT47XG4gICAgICAgIHRocm93IG5ldyBSZXN0RXJyb3IoYXhpb3NFcnJvcik7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gZmV0Y2hlcyB0aGUgZXZlbnQgZGVmaW5pdGlvbnMuIEl0IHJldHVybnMgdGhlIGV2ZW50IGRlZmluaXRpb25zLiBJZiB0aGUgZXZlbnQgZGVmaW5pdGlvbnMgYXJlIG5vdCBmb3VuZCwgaXQgcmV0dXJucyBhIFJlc3RFcnJvci5cbiAgICogQHBhcmFtIHBhZ2UgUGFnZSBudW1iZXJcbiAgICogQHBhcmFtIHBhZ2VTaXplIFBhZ2Ugc2l6ZVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxFdmVudERlZmluaXRpb25zUmVzcG9uc2UgfCBSZXN0RXJyb3I+fVxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBnZXRFdmVudERlZmluaXRpb25zKFxuICAgIHBhZ2U6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxuICApOiBQcm9taXNlPEV2ZW50RGVmaW5pdGlvbnNSZXNwb25zZSB8IFJlc3RFcnJvcj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IChhd2FpdCB0aGlzLmdldEFjY2Vzc1Rva2VuKCkpLmFjY2Vzc190b2tlbjtcblxuICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIGJhc2VVUkw6IGdldFVybCh0aGlzLmF1dGhPYmplY3Quc3ViRG9tYWluKSxcbiAgICAgICAgdXJsOiBgL2ludGVyYWN0aW9uL3YxL2V2ZW50RGVmaW5pdGlvbnM/JHBhZ2U9JHtwYWdlfSYkcGFnZVNpemU9JHtwYWdlU2l6ZX1gLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2FjY2Vzc1Rva2VufWAsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNwID0gYXdhaXQgYXhpb3MocmVxdWVzdE9wdGlvbnMpO1xuICAgICAgcmV0dXJuIHJlc3AuZGF0YTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IFJlc3RFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGZldGNoZXMgYWxsIHRoZSBldmVudCBkZWZpbml0aW9ucy4gSXQgcmV0dXJucyB0aGUgZXZlbnQgZGVmaW5pdGlvbnMuIElmIHRoZSBldmVudCBkZWZpbml0aW9ucyBhcmUgbm90IGZvdW5kLCBpdCByZXR1cm5zIGEgUmVzdEVycm9yLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxFdmVudERlZmluaXRpb25bXSB8IFJlc3RFcnJvcj59XG4gICAqL1xuICBhc3luYyBnZXRBbGxFdmVudERlZmluaXRpb25zKCk6IFByb21pc2U8RXZlbnREZWZpbml0aW9uW10gfCBSZXN0RXJyb3I+IHtcbiAgICBjb25zdCBldmVudERlZmluaXRpb25zID0gYXdhaXQgU0ZNQy5nZXRBbGxJdGVtRnJvbVBhZ2VzPEV2ZW50RGVmaW5pdGlvbj4oXG4gICAgICB0aGlzLmdldEV2ZW50RGVmaW5pdGlvbnMuYmluZCh0aGlzKSxcbiAgICApO1xuICAgIHJldHVybiBldmVudERlZmluaXRpb25zO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYXN5bmMgZ2V0QWxsSXRlbUZyb21QYWdlczxUPihcbiAgICBnZXRJdGVtczogKFxuICAgICAgcGFnZTogbnVtYmVyLFxuICAgICAgcGFnZVNpemU6IG51bWJlcixcbiAgICApID0+IFByb21pc2U8eyBpdGVtczogVFtdOyBjb3VudDogbnVtYmVyIH0gfCBSZXN0RXJyb3I+LFxuICAgIHBhZ2VTaXplOiBudW1iZXIgPSA1MCxcbiAgKTogUHJvbWlzZTxUW10gfCBSZXN0RXJyb3I+IHtcbiAgICAvLyBHZXQgZmlyc3QgcGFnZSB0byBkZXRlcm1pbmUgdG90YWwgY291bnRcbiAgICBjb25zdCBmaXJzdFBhZ2UgPSBhd2FpdCBnZXRJdGVtcygxLCBwYWdlU2l6ZSk7XG4gICAgaWYgKGZpcnN0UGFnZSBpbnN0YW5jZW9mIFJlc3RFcnJvcikge1xuICAgICAgdGhyb3cgZmlyc3RQYWdlO1xuICAgIH1cblxuICAgIGNvbnN0IHRvdGFsUGFnZXMgPSBNYXRoLmNlaWwoZmlyc3RQYWdlLmNvdW50IC8gcGFnZVNpemUpO1xuICAgIGNvbnN0IHJlbWFpbmluZ1BhZ2VzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdG90YWxQYWdlcyAtIDEgfSwgKF8sIGkpID0+IGkgKyAyKTtcblxuICAgIGNvbnN0IHJlbWFpbmluZ1Jlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHJlbWFpbmluZ1BhZ2VzLm1hcChhc3luYyAocGFnZSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRJdGVtcyhwYWdlLCBwYWdlU2l6ZSk7XG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBSZXN0RXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBjb25zdCBhbGxSZXN1bHRzID0gW2ZpcnN0UGFnZSwgLi4ucmVtYWluaW5nUmVzdWx0c107XG4gICAgcmV0dXJuIGFsbFJlc3VsdHMuZmxhdE1hcCgocmVzdWx0KSA9PiAocmVzdWx0IGluc3RhbmNlb2YgUmVzdEVycm9yID8gW10gOiByZXN1bHQuaXRlbXMpKTtcbiAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
+ import { BaseSDKConfig } from '../common/types';
1
2
  export type dataType = 'string' | 'integer' | 'float' | 'datetime' | 'boolean' | 'object' | 'array';
2
3
  export declare const CUSTOM_GENERATED_TYPE = "custom";
3
4
  export declare const SYSTEM_DEFINED_DUPLICATE_CHECK_FIELD_FOR_CUSTOM_MODULE = "Name";
@@ -131,6 +132,8 @@ export interface AuthObject {
131
132
  dataCenter: RegionKeys;
132
133
  refreshAccesTokenFunc: () => Promise<string>;
133
134
  }
135
+ export interface ZohoConfig extends BaseSDKConfig {
136
+ }
134
137
  export declare const MODULE_WISE_DUPLICATE_CHECK_FIELD: Record<string, string>;
135
138
  export declare const UPSERT_MODULES: string[];
136
139
  export declare const MODULE_MANDATORY_FIELD_CONFIG: Record<string, string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdks/zoho/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdks/zoho/types.ts"],"names":[],"mappings":"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"}
@@ -71,4 +71,4 @@ exports.MODULE_MANDATORY_FIELD_CONFIG = {
71
71
  'Purchase Orders': ['Subject', 'Vendor_Name', 'Purchased_Items'],
72
72
  'Sales Orders': ['Subject', 'Ordered_Items'],
73
73
  };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2Rrcy96b2hvL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEscUJBQXFCLEdBQUcsUUFBUSxDQUFDO0FBRWpDLFFBQUEsc0RBQXNELEdBQUcsTUFBTSxDQUFDO0FBbUloRSxRQUFBLDhCQUE4QixHQUErQjtJQUN4RSxFQUFFLEVBQUUsMEJBQTBCO0lBQzlCLEVBQUUsRUFBRSw2QkFBNkI7SUFDakMsRUFBRSxFQUFFLHlCQUF5QjtJQUM3QixFQUFFLEVBQUUseUJBQXlCO0lBQzdCLEVBQUUsRUFBRSw2QkFBNkI7SUFDakMsRUFBRSxFQUFFLHlCQUF5QjtJQUM3QixFQUFFLEVBQUUsOEJBQThCO0NBQ25DLENBQUM7QUFFSyxNQUFNLGFBQWEsR0FBRyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLFdBQVcsVUFBVSxFQUFFLENBQUM7QUFBaEUsUUFBQSxhQUFhLGlCQUFtRDtBQVE3RSx5SEFBeUg7QUFDNUcsUUFBQSxpQ0FBaUMsR0FBMkI7SUFDdkUsS0FBSyxFQUFFLE9BQU87SUFDZCxRQUFRLEVBQUUsY0FBYztJQUN4QixRQUFRLEVBQUUsT0FBTztJQUNqQixLQUFLLEVBQUUsV0FBVztJQUNsQixTQUFTLEVBQUUsZUFBZTtJQUMxQixLQUFLLEVBQUUsU0FBUztJQUNoQixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsTUFBTSxFQUFFLFNBQVM7SUFDakIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsY0FBYyxFQUFFLFNBQVM7SUFDekIsUUFBUSxFQUFFLFNBQVM7Q0FDcEIsQ0FBQztBQUVGLHFFQUFxRTtBQUN4RCxRQUFBLGNBQWMsR0FBRztJQUM1QixPQUFPO0lBQ1AsVUFBVTtJQUNWLFVBQVU7SUFDVixPQUFPO0lBQ1AsV0FBVztJQUNYLE9BQU87SUFDUCxXQUFXO0lBQ1gsVUFBVTtJQUNWLFNBQVM7SUFDVCxZQUFZO0lBQ1osUUFBUTtJQUNSLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsVUFBVTtJQUNWLGNBQWM7SUFDZCxrQ0FBa0M7SUFDbEMsVUFBVTtDQUNYLENBQUM7QUFFRix3TEFBd0w7QUFDM0ssUUFBQSw2QkFBNkIsR0FBNkI7SUFDckUsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ3BCLFFBQVEsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUN2QixRQUFRLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDMUIsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDekMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ2xCLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDO0lBQ25FLE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsY0FBYyxDQUFDO0lBQ3RFLFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUMxQixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQ25DLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQztJQUN2QyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7SUFDNUIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hCLGFBQWEsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDO0lBQ3JELEtBQUssRUFBRSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDO0lBQzNDLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO0lBQzdCLGlCQUFpQixFQUFFLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQztJQUNoRSxjQUFjLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO0NBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBkYXRhVHlwZSA9ICdzdHJpbmcnIHwgJ2ludGVnZXInIHwgJ2Zsb2F0JyB8ICdkYXRldGltZScgfCAnYm9vbGVhbicgfCAnb2JqZWN0JyB8ICdhcnJheSc7XG5cbmV4cG9ydCBjb25zdCBDVVNUT01fR0VORVJBVEVEX1RZUEUgPSAnY3VzdG9tJztcblxuZXhwb3J0IGNvbnN0IFNZU1RFTV9ERUZJTkVEX0RVUExJQ0FURV9DSEVDS19GSUVMRF9GT1JfQ1VTVE9NX01PRFVMRSA9ICdOYW1lJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZCB7XG4gIGFzc29jaWF0ZWRfbW9kdWxlPzogYW55O1xuICB3ZWJob29rPzogYm9vbGVhbjtcbiAgb3BlcmF0aW9uX3R5cGU/OiB7XG4gICAgd2ViX3VwZGF0ZT86IGJvb2xlYW47XG4gICAgYXBpX2NyZWF0ZT86IGJvb2xlYW47XG4gICAgd2ViX2NyZWF0ZT86IGJvb2xlYW47XG4gICAgYXBpX3VwZGF0ZT86IGJvb2xlYW47XG4gIH07XG4gIGNvbG91cl9jb2RlX2VuYWJsZWRfYnlfc3lzdGVtPzogYm9vbGVhbjtcbiAgZmllbGRfbGFiZWw/OiBzdHJpbmc7XG4gIHRvb2x0aXA/OiBhbnk7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGZpZWxkX3JlYWRfb25seT86IGJvb2xlYW47XG4gIGN1c3RvbWl6YWJsZV9wcm9wZXJ0aWVzPzogc3RyaW5nW107XG4gIGRpc3BsYXlfbGFiZWw/OiBzdHJpbmc7XG4gIHJlYWRfb25seT86IGJvb2xlYW47XG4gIGFzc29jaWF0aW9uX2RldGFpbHM/OiBhbnk7XG4gIGJ1c2luZXNzY2FyZF9zdXBwb3J0ZWQ/OiBib29sZWFuO1xuICBtdWx0aV9tb2R1bGVfbG9va3VwPzogYW55O1xuICBpZD86IHN0cmluZztcbiAgY3JlYXRlZF90aW1lPzogYW55O1xuICBmaWx0ZXJhYmxlPzogYm9vbGVhbjtcbiAgdmlzaWJsZT86IGJvb2xlYW47XG4gIHByb2ZpbGVzPzoge1xuICAgIHBlcm1pc3Npb25fdHlwZT86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGlkPzogc3RyaW5nO1xuICB9W107XG4gIHZpZXdfdHlwZT86IHtcbiAgICB2aWV3PzogYm9vbGVhbjtcbiAgICBlZGl0PzogYm9vbGVhbjtcbiAgICBxdWlja19jcmVhdGU/OiBib29sZWFuO1xuICAgIGNyZWF0ZT86IGJvb2xlYW47XG4gIH07XG4gIHNlcGFyYXRvcj86IGJvb2xlYW47XG4gIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICBleHRlcm5hbD86IGFueTtcbiAgYXBpX25hbWU/OiBzdHJpbmc7XG4gIHVuaXF1ZT86IGFueTtcbiAgZW5hYmxlX2NvbG91cl9jb2RlPzogYm9vbGVhbjtcbiAgcGlja19saXN0X3ZhbHVlcz86IGFueVtdO1xuICBzeXN0ZW1fbWFuZGF0b3J5PzogYm9vbGVhbjtcbiAgdmlydHVhbF9maWVsZD86IGJvb2xlYW47XG4gIGpzb25fdHlwZTogZGF0YVR5cGU7XG4gIGNyeXB0PzogYW55O1xuICBjcmVhdGVkX3NvdXJjZT86IHN0cmluZztcbiAgZGlzcGxheV90eXBlPzogbnVtYmVyO1xuICB1aV90eXBlPzogbnVtYmVyO1xuICBtb2RpZmllZF90aW1lPzogYW55O1xuICBlbWFpbF9wYXJzZXI/OiB7XG4gICAgZmllbGRzX3VwZGF0ZV9zdXBwb3J0ZWQ/OiBib29sZWFuO1xuICAgIHJlY29yZF9vcGVyYXRpb25zX3N1cHBvcnRlZD86IGJvb2xlYW47XG4gIH07XG4gIGN1cnJlbmN5PzogYW55O1xuICBjdXN0b21fZmllbGQ/OiBib29sZWFuO1xuICBsb29rdXA/OiBhbnk7XG4gIGNvbnZlcnRfbWFwcGluZz86IHtcbiAgICBDb250YWN0cz86IGFueTtcbiAgICBEZWFscz86IGFueTtcbiAgICBBY2NvdW50cz86IGFueTtcbiAgfTtcbiAgcm9sbHVwX3N1bW1hcnk/OiBhbnk7XG4gIGxlbmd0aD86IG51bWJlcjtcbiAgZGlzcGxheV9maWVsZD86IGJvb2xlYW47XG4gIHBpY2tfbGlzdF92YWx1ZXNfc29ydGVkX2xleGljYWxseT86IGJvb2xlYW47XG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcbiAgZ2xvYmFsX3BpY2tsaXN0PzogYW55O1xuICBoaXN0b3J5X3RyYWNraW5nPzogYW55O1xuICBkYXRhX3R5cGU/OiBzdHJpbmc7XG4gIGZvcm11bGE/OiBhbnk7XG4gIGRlY2ltYWxfcGxhY2U/OiBhbnk7XG4gIG1hc3NfdXBkYXRlPzogYm9vbGVhbjtcbiAgbXVsdGlzZWxlY3Rsb29rdXA/OiBhbnk7XG4gIGF1dG9fbnVtYmVyPzogYW55O1xuICBtb2R1bGVDaGVja0R1cGxpY2F0ZUZpZWxkPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUHJvZmlsZSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZSB7XG4gIGhhc19tb3JlX3Byb2ZpbGVzPzogYm9vbGVhbjtcbiAgYWNjZXNzX3R5cGU/OiBzdHJpbmc7XG4gIHByaXZhdGVfcHJvZmlsZT86IGFueTtcbiAgZ2xvYmFsX3NlYXJjaF9zdXBwb3J0ZWQ/OiBib29sZWFuO1xuICBkZWxldGFibGU/OiBib29sZWFuO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgY3JlYXRhYmxlPzogYm9vbGVhbjtcbiAgcmVjeWNsZV9iaW5fb25fZGVsZXRlPzogYm9vbGVhbjtcbiAgbW9kaWZpZWRfdGltZT86IGFueTtcbiAgcGx1cmFsX2xhYmVsPzogc3RyaW5nO1xuICBwcmVzZW5jZV9zdWJfbWVudT86IGJvb2xlYW47XG4gIGFjdHVhbF9wbHVyYWxfbGFiZWw/OiBzdHJpbmc7XG4gIGxvb2t1cGFibGU/OiBib29sZWFuO1xuICBpZD86IHN0cmluZztcbiAgaXNCbHVlcHJpbnRTdXBwb3J0ZWQ/OiBib29sZWFuO1xuICB2aXNpYmlsaXR5PzogbnVtYmVyO1xuICBjb252ZXJ0YWJsZT86IGJvb2xlYW47XG4gIHN1Yl9tZW51X2F2YWlsYWJsZT86IGJvb2xlYW47XG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgYWN0dWFsX3Npbmd1bGFyX2xhYmVsPzogc3RyaW5nO1xuICBwcm9maWxlcz86IFByb2ZpbGVbXTtcbiAgc2hvd19hc190YWI/OiBib29sZWFuO1xuICB3ZWJfbGluaz86IGFueTtcbiAgc2VxdWVuY2VfbnVtYmVyPzogbnVtYmVyO1xuICBzaW5ndWxhcl9sYWJlbD86IHN0cmluZztcbiAgdmlld2FibGU/OiBib29sZWFuO1xuICBhcGlfc3VwcG9ydGVkPzogYm9vbGVhbjtcbiAgYXBpX25hbWU/OiBzdHJpbmc7XG4gIHF1aWNrX2NyZWF0ZT86IGJvb2xlYW47XG4gIG1vZGlmaWVkX2J5PzogYW55O1xuICBnZW5lcmF0ZWRfdHlwZT86IHN0cmluZztcbiAgZmVlZHNfcmVxdWlyZWQ/OiBib29sZWFuO1xuICBwdWJsaWNfZmllbGRzX2NvbmZpZ3VyZWQ/OiBib29sZWFuO1xuICBhcmd1bWVudHM/OiBhbnlbXTtcbiAgbW9kdWxlX25hbWU/OiBzdHJpbmc7XG4gIHByb2ZpbGVfY291bnQ/OiBudW1iZXI7XG4gIGJ1c2luZXNzX2NhcmRfZmllbGRfbGltaXQ/OiBudW1iZXI7XG4gIHBhcmVudF9tb2R1bGU/OiBhbnk7XG4gIHN0YXR1cz86IHN0cmluZztcbn1cblxuLy8gaHR0cHM6Ly93d3cuem9oby5jb20vY3JtL2RldmVsb3Blci9kb2NzL2FwaS92Ni9hY2Nlc3MtcmVmcmVzaC5odG1sXG5cbmV4cG9ydCB0eXBlIFJlZ2lvbktleXMgPSAnVVMnIHwgJ0FVJyB8ICdFVScgfCAnSU4nIHwgJ0NOJyB8ICdKUCcgfCAnQ0EnO1xuXG5leHBvcnQgY29uc3QgREFUQV9DRU5UUkVfQkFTRV9FTkRQT0lOVFNfTUFQOiBSZWNvcmQ8UmVnaW9uS2V5cywgc3RyaW5nPiA9IHtcbiAgVVM6ICdodHRwczovL3d3dy56b2hvYXBpcy5jb20nLFxuICBBVTogJ2h0dHBzOi8vd3d3LnpvaG9hcGlzLmNvbS5hdScsXG4gIEVVOiAnaHR0cHM6Ly93d3cuem9ob2FwaXMuZXUnLFxuICBJTjogJ2h0dHBzOi8vd3d3LnpvaG9hcGlzLmluJyxcbiAgQ046ICdodHRwczovL3d3dy56b2hvYXBpcy5jb20uY24nLFxuICBKUDogJ2h0dHBzOi8vd3d3LnpvaG9hcGlzLmpwJyxcbiAgQ0E6ICdodHRwczovL3d3dy56b2hvYXBpc2Nsb3VkLmNhJyxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSZWNvcmRQYXRoID0gKG1vZHVsZU5hbWU6IHN0cmluZykgPT4gYC9jcm0vdjYvJHttb2R1bGVOYW1lfWA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aE9iamVjdCB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIGRhdGFDZW50ZXI6IFJlZ2lvbktleXM7XG4gIHJlZnJlc2hBY2Nlc1Rva2VuRnVuYzogKCkgPT4gUHJvbWlzZTxzdHJpbmc+O1xufVxuXG4vLyBodHRwczovL3d3dy56b2hvLmNvbS9jcm0vZGV2ZWxvcGVyL2RvY3MvYXBpL3Y2L3Vwc2VydC1yZWNvcmRzLmh0bWwgY2hlY2sgc2VjdGlvbiBTeXN0ZW0tZGVmaW5lZCBEdXBsaWNhdGUgQ2hlY2sgRmllbGRzXG5leHBvcnQgY29uc3QgTU9EVUxFX1dJU0VfRFVQTElDQVRFX0NIRUNLX0ZJRUxEOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBMZWFkczogJ0VtYWlsJyxcbiAgQWNjb3VudHM6ICdBY2NvdW50X05hbWUnLFxuICBDb250YWN0czogJ0VtYWlsJyxcbiAgRGVhbHM6ICdEZWFsX05hbWUnLFxuICBDYW1wYWlnbnM6ICdDYW1wYWlnbl9OYW1lJyxcbiAgQ2FzZXM6ICdTdWJqZWN0JyxcbiAgU29sdXRpb25zOiAnU29sdXRpb25fVGl0bGUnLFxuICBQcm9kdWN0czogJ1Byb2R1Y3RfTmFtZScsXG4gIFZlbmRvcnM6ICdWZW5kb3JfTmFtZScsXG4gIFByaWNlQm9va3M6ICdQcmljZV9Cb29rX05hbWUnLFxuICBRdW90ZXM6ICdTdWJqZWN0JyxcbiAgU2FsZXNPcmRlcnM6ICdTdWJqZWN0JyxcbiAgUHVyY2hhc2VPcmRlcnM6ICdTdWJqZWN0JyxcbiAgSW52b2ljZXM6ICdTdWJqZWN0Jyxcbn07XG5cbi8vIGh0dHBzOi8vd3d3LnpvaG8uY29tL2NybS9kZXZlbG9wZXIvZG9jcy9hcGkvdjYvdXBzZXJ0LXJlY29yZHMuaHRtbFxuZXhwb3J0IGNvbnN0IFVQU0VSVF9NT0RVTEVTID0gW1xuICAnTGVhZHMnLFxuICAnQWNjb3VudHMnLFxuICAnQ29udGFjdHMnLFxuICAnRGVhbHMnLFxuICAnQ2FtcGFpZ25zJyxcbiAgJ0Nhc2VzJyxcbiAgJ1NvbHV0aW9ucycsXG4gICdQcm9kdWN0cycsXG4gICdWZW5kb3JzJyxcbiAgJ1ByaWNlYm9va3MnLFxuICAnUXVvdGVzJyxcbiAgJ1NhbGVzb3JkZXJzJyxcbiAgJ1B1cmNoYXNlb3JkZXJzJyxcbiAgJ0ludm9pY2VzJyxcbiAgJ0FwcG9pbnRtZW50cycsXG4gICdBcHBvaW50bWVudHNfcmVzY2hlZHVsZWRfaGlzdG9yeScsXG4gICdTZXJ2aWNlcycsXG5dO1xuXG4vLyByZWY6IGh0dHBzOi8vd3d3LnpvaG8uY29tL2NybS9kZXZlbG9wZXIvZG9jcy9hcGkvdjYvaW5zZXJ0LXJlY29yZHMuaHRtbCM6fjp0ZXh0PSUyRFglMjBQT1NULSxTeXN0ZW0lMkRkZWZpbmVkJTIwbWFuZGF0b3J5JTIwZmllbGRzJTIwZm9yJTIwZWFjaCUyMG1vZHVsZSwtV2hpbGUlMjBpbnNlcnRpbmclMjByZWNvcmRzXG5leHBvcnQgY29uc3QgTU9EVUxFX01BTkRBVE9SWV9GSUVMRF9DT05GSUc6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcbiAgTGVhZHM6IFsnTGFzdF9OYW1lJ10sXG4gIENvbnRhY3RzOiBbJ0xhc3RfTmFtZSddLFxuICBBY2NvdW50czogWydBY2NvdW50X05hbWUnXSxcbiAgRGVhbHM6IFsnRGVhbF9OYW1lJywgJ1N0YWdlJywgJ1BpcGVsaW5lJ10sXG4gIFRhc2tzOiBbJ1N1YmplY3QnXSxcbiAgQ2FsbHM6IFsnU3ViamVjdCcsICdDYWxsX1R5cGUnLCAnQ2FsbF9TdGFydF9UaW1lJywgJ0NhbGxfRHVyYXRpb24nXSxcbiAgRXZlbnRzOiBbJ0V2ZW50X1RpdGxlJywgJ1N0YXJ0X0RhdGVUaW1lJywgJ1JlbWluZF9BdCcsICdFbmRfRGF0ZVRpbWUnXSxcbiAgUHJvZHVjdHM6IFsnUHJvZHVjdF9OYW1lJ10sXG4gIFF1b3RlczogWydTdWJqZWN0JywgJ1F1b3RlZF9JdGVtcyddLFxuICBJbnZvaWNlczogWydTdWJqZWN0JywgJ0ludm9pY2VkX0l0ZW1zJ10sXG4gIENhbXBhaWduczogWydDYW1wYWlnbl9OYW1lJ10sXG4gIFZlbmRvcnM6IFsnVmVuZG9yX05hbWUnXSxcbiAgJ1ByaWNlIEJvb2tzJzogWydQcmljZV9Cb29rX05hbWUnLCAnUHJpY2luZ19EZXRhaWxzJ10sXG4gIENhc2VzOiBbJ0Nhc2VfT3JpZ2luJywgJ1N0YXR1cycsICdTdWJqZWN0J10sXG4gIFNvbHV0aW9uczogWydTb2x1dGlvbl9UaXRsZSddLFxuICAnUHVyY2hhc2UgT3JkZXJzJzogWydTdWJqZWN0JywgJ1ZlbmRvcl9OYW1lJywgJ1B1cmNoYXNlZF9JdGVtcyddLFxuICAnU2FsZXMgT3JkZXJzJzogWydTdWJqZWN0JywgJ09yZGVyZWRfSXRlbXMnXSxcbn07XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2Rrcy96b2hvL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlhLFFBQUEscUJBQXFCLEdBQUcsUUFBUSxDQUFDO0FBRWpDLFFBQUEsc0RBQXNELEdBQUcsTUFBTSxDQUFDO0FBbUloRSxRQUFBLDhCQUE4QixHQUErQjtJQUN4RSxFQUFFLEVBQUUsMEJBQTBCO0lBQzlCLEVBQUUsRUFBRSw2QkFBNkI7SUFDakMsRUFBRSxFQUFFLHlCQUF5QjtJQUM3QixFQUFFLEVBQUUseUJBQXlCO0lBQzdCLEVBQUUsRUFBRSw2QkFBNkI7SUFDakMsRUFBRSxFQUFFLHlCQUF5QjtJQUM3QixFQUFFLEVBQUUsOEJBQThCO0NBQ25DLENBQUM7QUFFSyxNQUFNLGFBQWEsR0FBRyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLFdBQVcsVUFBVSxFQUFFLENBQUM7QUFBaEUsUUFBQSxhQUFhLGlCQUFtRDtBQVk3RSx5SEFBeUg7QUFDNUcsUUFBQSxpQ0FBaUMsR0FBMkI7SUFDdkUsS0FBSyxFQUFFLE9BQU87SUFDZCxRQUFRLEVBQUUsY0FBYztJQUN4QixRQUFRLEVBQUUsT0FBTztJQUNqQixLQUFLLEVBQUUsV0FBVztJQUNsQixTQUFTLEVBQUUsZUFBZTtJQUMxQixLQUFLLEVBQUUsU0FBUztJQUNoQixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsTUFBTSxFQUFFLFNBQVM7SUFDakIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsY0FBYyxFQUFFLFNBQVM7SUFDekIsUUFBUSxFQUFFLFNBQVM7Q0FDcEIsQ0FBQztBQUVGLHFFQUFxRTtBQUN4RCxRQUFBLGNBQWMsR0FBRztJQUM1QixPQUFPO0lBQ1AsVUFBVTtJQUNWLFVBQVU7SUFDVixPQUFPO0lBQ1AsV0FBVztJQUNYLE9BQU87SUFDUCxXQUFXO0lBQ1gsVUFBVTtJQUNWLFNBQVM7SUFDVCxZQUFZO0lBQ1osUUFBUTtJQUNSLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsVUFBVTtJQUNWLGNBQWM7SUFDZCxrQ0FBa0M7SUFDbEMsVUFBVTtDQUNYLENBQUM7QUFFRix3TEFBd0w7QUFDM0ssUUFBQSw2QkFBNkIsR0FBNkI7SUFDckUsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ3BCLFFBQVEsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUN2QixRQUFRLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDMUIsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDekMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ2xCLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDO0lBQ25FLE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsY0FBYyxDQUFDO0lBQ3RFLFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUMxQixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQ25DLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQztJQUN2QyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7SUFDNUIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hCLGFBQWEsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDO0lBQ3JELEtBQUssRUFBRSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDO0lBQzNDLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO0lBQzdCLGlCQUFpQixFQUFFLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQztJQUNoRSxjQUFjLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO0NBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlU0RLQ29uZmlnIH0gZnJvbSAnLi4vY29tbW9uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgZGF0YVR5cGUgPSAnc3RyaW5nJyB8ICdpbnRlZ2VyJyB8ICdmbG9hdCcgfCAnZGF0ZXRpbWUnIHwgJ2Jvb2xlYW4nIHwgJ29iamVjdCcgfCAnYXJyYXknO1xuXG5leHBvcnQgY29uc3QgQ1VTVE9NX0dFTkVSQVRFRF9UWVBFID0gJ2N1c3RvbSc7XG5cbmV4cG9ydCBjb25zdCBTWVNURU1fREVGSU5FRF9EVVBMSUNBVEVfQ0hFQ0tfRklFTERfRk9SX0NVU1RPTV9NT0RVTEUgPSAnTmFtZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGQge1xuICBhc3NvY2lhdGVkX21vZHVsZT86IGFueTtcbiAgd2ViaG9vaz86IGJvb2xlYW47XG4gIG9wZXJhdGlvbl90eXBlPzoge1xuICAgIHdlYl91cGRhdGU/OiBib29sZWFuO1xuICAgIGFwaV9jcmVhdGU/OiBib29sZWFuO1xuICAgIHdlYl9jcmVhdGU/OiBib29sZWFuO1xuICAgIGFwaV91cGRhdGU/OiBib29sZWFuO1xuICB9O1xuICBjb2xvdXJfY29kZV9lbmFibGVkX2J5X3N5c3RlbT86IGJvb2xlYW47XG4gIGZpZWxkX2xhYmVsPzogc3RyaW5nO1xuICB0b29sdGlwPzogYW55O1xuICB0eXBlPzogc3RyaW5nO1xuICBmaWVsZF9yZWFkX29ubHk/OiBib29sZWFuO1xuICBjdXN0b21pemFibGVfcHJvcGVydGllcz86IHN0cmluZ1tdO1xuICBkaXNwbGF5X2xhYmVsPzogc3RyaW5nO1xuICByZWFkX29ubHk/OiBib29sZWFuO1xuICBhc3NvY2lhdGlvbl9kZXRhaWxzPzogYW55O1xuICBidXNpbmVzc2NhcmRfc3VwcG9ydGVkPzogYm9vbGVhbjtcbiAgbXVsdGlfbW9kdWxlX2xvb2t1cD86IGFueTtcbiAgaWQ/OiBzdHJpbmc7XG4gIGNyZWF0ZWRfdGltZT86IGFueTtcbiAgZmlsdGVyYWJsZT86IGJvb2xlYW47XG4gIHZpc2libGU/OiBib29sZWFuO1xuICBwcm9maWxlcz86IHtcbiAgICBwZXJtaXNzaW9uX3R5cGU/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbiAgfVtdO1xuICB2aWV3X3R5cGU/OiB7XG4gICAgdmlldz86IGJvb2xlYW47XG4gICAgZWRpdD86IGJvb2xlYW47XG4gICAgcXVpY2tfY3JlYXRlPzogYm9vbGVhbjtcbiAgICBjcmVhdGU/OiBib29sZWFuO1xuICB9O1xuICBzZXBhcmF0b3I/OiBib29sZWFuO1xuICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcbiAgZXh0ZXJuYWw/OiBhbnk7XG4gIGFwaV9uYW1lPzogc3RyaW5nO1xuICB1bmlxdWU/OiBhbnk7XG4gIGVuYWJsZV9jb2xvdXJfY29kZT86IGJvb2xlYW47XG4gIHBpY2tfbGlzdF92YWx1ZXM/OiBhbnlbXTtcbiAgc3lzdGVtX21hbmRhdG9yeT86IGJvb2xlYW47XG4gIHZpcnR1YWxfZmllbGQ/OiBib29sZWFuO1xuICBqc29uX3R5cGU6IGRhdGFUeXBlO1xuICBjcnlwdD86IGFueTtcbiAgY3JlYXRlZF9zb3VyY2U/OiBzdHJpbmc7XG4gIGRpc3BsYXlfdHlwZT86IG51bWJlcjtcbiAgdWlfdHlwZT86IG51bWJlcjtcbiAgbW9kaWZpZWRfdGltZT86IGFueTtcbiAgZW1haWxfcGFyc2VyPzoge1xuICAgIGZpZWxkc191cGRhdGVfc3VwcG9ydGVkPzogYm9vbGVhbjtcbiAgICByZWNvcmRfb3BlcmF0aW9uc19zdXBwb3J0ZWQ/OiBib29sZWFuO1xuICB9O1xuICBjdXJyZW5jeT86IGFueTtcbiAgY3VzdG9tX2ZpZWxkPzogYm9vbGVhbjtcbiAgbG9va3VwPzogYW55O1xuICBjb252ZXJ0X21hcHBpbmc/OiB7XG4gICAgQ29udGFjdHM/OiBhbnk7XG4gICAgRGVhbHM/OiBhbnk7XG4gICAgQWNjb3VudHM/OiBhbnk7XG4gIH07XG4gIHJvbGx1cF9zdW1tYXJ5PzogYW55O1xuICBsZW5ndGg/OiBudW1iZXI7XG4gIGRpc3BsYXlfZmllbGQ/OiBib29sZWFuO1xuICBwaWNrX2xpc3RfdmFsdWVzX3NvcnRlZF9sZXhpY2FsbHk/OiBib29sZWFuO1xuICBzb3J0YWJsZT86IGJvb2xlYW47XG4gIGdsb2JhbF9waWNrbGlzdD86IGFueTtcbiAgaGlzdG9yeV90cmFja2luZz86IGFueTtcbiAgZGF0YV90eXBlPzogc3RyaW5nO1xuICBmb3JtdWxhPzogYW55O1xuICBkZWNpbWFsX3BsYWNlPzogYW55O1xuICBtYXNzX3VwZGF0ZT86IGJvb2xlYW47XG4gIG11bHRpc2VsZWN0bG9va3VwPzogYW55O1xuICBhdXRvX251bWJlcj86IGFueTtcbiAgbW9kdWxlQ2hlY2tEdXBsaWNhdGVGaWVsZD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFByb2ZpbGUge1xuICBuYW1lPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGUge1xuICBoYXNfbW9yZV9wcm9maWxlcz86IGJvb2xlYW47XG4gIGFjY2Vzc190eXBlPzogc3RyaW5nO1xuICBwcml2YXRlX3Byb2ZpbGU/OiBhbnk7XG4gIGdsb2JhbF9zZWFyY2hfc3VwcG9ydGVkPzogYm9vbGVhbjtcbiAgZGVsZXRhYmxlPzogYm9vbGVhbjtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGNyZWF0YWJsZT86IGJvb2xlYW47XG4gIHJlY3ljbGVfYmluX29uX2RlbGV0ZT86IGJvb2xlYW47XG4gIG1vZGlmaWVkX3RpbWU/OiBhbnk7XG4gIHBsdXJhbF9sYWJlbD86IHN0cmluZztcbiAgcHJlc2VuY2Vfc3ViX21lbnU/OiBib29sZWFuO1xuICBhY3R1YWxfcGx1cmFsX2xhYmVsPzogc3RyaW5nO1xuICBsb29rdXBhYmxlPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmc7XG4gIGlzQmx1ZXByaW50U3VwcG9ydGVkPzogYm9vbGVhbjtcbiAgdmlzaWJpbGl0eT86IG51bWJlcjtcbiAgY29udmVydGFibGU/OiBib29sZWFuO1xuICBzdWJfbWVudV9hdmFpbGFibGU/OiBib29sZWFuO1xuICBlZGl0YWJsZT86IGJvb2xlYW47XG4gIGFjdHVhbF9zaW5ndWxhcl9sYWJlbD86IHN0cmluZztcbiAgcHJvZmlsZXM/OiBQcm9maWxlW107XG4gIHNob3dfYXNfdGFiPzogYm9vbGVhbjtcbiAgd2ViX2xpbms/OiBhbnk7XG4gIHNlcXVlbmNlX251bWJlcj86IG51bWJlcjtcbiAgc2luZ3VsYXJfbGFiZWw/OiBzdHJpbmc7XG4gIHZpZXdhYmxlPzogYm9vbGVhbjtcbiAgYXBpX3N1cHBvcnRlZD86IGJvb2xlYW47XG4gIGFwaV9uYW1lPzogc3RyaW5nO1xuICBxdWlja19jcmVhdGU/OiBib29sZWFuO1xuICBtb2RpZmllZF9ieT86IGFueTtcbiAgZ2VuZXJhdGVkX3R5cGU/OiBzdHJpbmc7XG4gIGZlZWRzX3JlcXVpcmVkPzogYm9vbGVhbjtcbiAgcHVibGljX2ZpZWxkc19jb25maWd1cmVkPzogYm9vbGVhbjtcbiAgYXJndW1lbnRzPzogYW55W107XG4gIG1vZHVsZV9uYW1lPzogc3RyaW5nO1xuICBwcm9maWxlX2NvdW50PzogbnVtYmVyO1xuICBidXNpbmVzc19jYXJkX2ZpZWxkX2xpbWl0PzogbnVtYmVyO1xuICBwYXJlbnRfbW9kdWxlPzogYW55O1xuICBzdGF0dXM/OiBzdHJpbmc7XG59XG5cbi8vIGh0dHBzOi8vd3d3LnpvaG8uY29tL2NybS9kZXZlbG9wZXIvZG9jcy9hcGkvdjYvYWNjZXNzLXJlZnJlc2guaHRtbFxuXG5leHBvcnQgdHlwZSBSZWdpb25LZXlzID0gJ1VTJyB8ICdBVScgfCAnRVUnIHwgJ0lOJyB8ICdDTicgfCAnSlAnIHwgJ0NBJztcblxuZXhwb3J0IGNvbnN0IERBVEFfQ0VOVFJFX0JBU0VfRU5EUE9JTlRTX01BUDogUmVjb3JkPFJlZ2lvbktleXMsIHN0cmluZz4gPSB7XG4gIFVTOiAnaHR0cHM6Ly93d3cuem9ob2FwaXMuY29tJyxcbiAgQVU6ICdodHRwczovL3d3dy56b2hvYXBpcy5jb20uYXUnLFxuICBFVTogJ2h0dHBzOi8vd3d3LnpvaG9hcGlzLmV1JyxcbiAgSU46ICdodHRwczovL3d3dy56b2hvYXBpcy5pbicsXG4gIENOOiAnaHR0cHM6Ly93d3cuem9ob2FwaXMuY29tLmNuJyxcbiAgSlA6ICdodHRwczovL3d3dy56b2hvYXBpcy5qcCcsXG4gIENBOiAnaHR0cHM6Ly93d3cuem9ob2FwaXNjbG91ZC5jYScsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVjb3JkUGF0aCA9IChtb2R1bGVOYW1lOiBzdHJpbmcpID0+IGAvY3JtL3Y2LyR7bW9kdWxlTmFtZX1gO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhPYmplY3Qge1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICBkYXRhQ2VudGVyOiBSZWdpb25LZXlzO1xuICByZWZyZXNoQWNjZXNUb2tlbkZ1bmM6ICgpID0+IFByb21pc2U8c3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBab2hvQ29uZmlnIGV4dGVuZHMgQmFzZVNES0NvbmZpZyB7XG4gIC8vIEFkZCBab2hvLXNwZWNpZmljIGNvbmZpZyBpZiBuZWVkZWQgaW4gdGhlIGZ1dHVyZVxufVxuXG4vLyBodHRwczovL3d3dy56b2hvLmNvbS9jcm0vZGV2ZWxvcGVyL2RvY3MvYXBpL3Y2L3Vwc2VydC1yZWNvcmRzLmh0bWwgY2hlY2sgc2VjdGlvbiBTeXN0ZW0tZGVmaW5lZCBEdXBsaWNhdGUgQ2hlY2sgRmllbGRzXG5leHBvcnQgY29uc3QgTU9EVUxFX1dJU0VfRFVQTElDQVRFX0NIRUNLX0ZJRUxEOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBMZWFkczogJ0VtYWlsJyxcbiAgQWNjb3VudHM6ICdBY2NvdW50X05hbWUnLFxuICBDb250YWN0czogJ0VtYWlsJyxcbiAgRGVhbHM6ICdEZWFsX05hbWUnLFxuICBDYW1wYWlnbnM6ICdDYW1wYWlnbl9OYW1lJyxcbiAgQ2FzZXM6ICdTdWJqZWN0JyxcbiAgU29sdXRpb25zOiAnU29sdXRpb25fVGl0bGUnLFxuICBQcm9kdWN0czogJ1Byb2R1Y3RfTmFtZScsXG4gIFZlbmRvcnM6ICdWZW5kb3JfTmFtZScsXG4gIFByaWNlQm9va3M6ICdQcmljZV9Cb29rX05hbWUnLFxuICBRdW90ZXM6ICdTdWJqZWN0JyxcbiAgU2FsZXNPcmRlcnM6ICdTdWJqZWN0JyxcbiAgUHVyY2hhc2VPcmRlcnM6ICdTdWJqZWN0JyxcbiAgSW52b2ljZXM6ICdTdWJqZWN0Jyxcbn07XG5cbi8vIGh0dHBzOi8vd3d3LnpvaG8uY29tL2NybS9kZXZlbG9wZXIvZG9jcy9hcGkvdjYvdXBzZXJ0LXJlY29yZHMuaHRtbFxuZXhwb3J0IGNvbnN0IFVQU0VSVF9NT0RVTEVTID0gW1xuICAnTGVhZHMnLFxuICAnQWNjb3VudHMnLFxuICAnQ29udGFjdHMnLFxuICAnRGVhbHMnLFxuICAnQ2FtcGFpZ25zJyxcbiAgJ0Nhc2VzJyxcbiAgJ1NvbHV0aW9ucycsXG4gICdQcm9kdWN0cycsXG4gICdWZW5kb3JzJyxcbiAgJ1ByaWNlYm9va3MnLFxuICAnUXVvdGVzJyxcbiAgJ1NhbGVzb3JkZXJzJyxcbiAgJ1B1cmNoYXNlb3JkZXJzJyxcbiAgJ0ludm9pY2VzJyxcbiAgJ0FwcG9pbnRtZW50cycsXG4gICdBcHBvaW50bWVudHNfcmVzY2hlZHVsZWRfaGlzdG9yeScsXG4gICdTZXJ2aWNlcycsXG5dO1xuXG4vLyByZWY6IGh0dHBzOi8vd3d3LnpvaG8uY29tL2NybS9kZXZlbG9wZXIvZG9jcy9hcGkvdjYvaW5zZXJ0LXJlY29yZHMuaHRtbCM6fjp0ZXh0PSUyRFglMjBQT1NULSxTeXN0ZW0lMkRkZWZpbmVkJTIwbWFuZGF0b3J5JTIwZmllbGRzJTIwZm9yJTIwZWFjaCUyMG1vZHVsZSwtV2hpbGUlMjBpbnNlcnRpbmclMjByZWNvcmRzXG5leHBvcnQgY29uc3QgTU9EVUxFX01BTkRBVE9SWV9GSUVMRF9DT05GSUc6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcbiAgTGVhZHM6IFsnTGFzdF9OYW1lJ10sXG4gIENvbnRhY3RzOiBbJ0xhc3RfTmFtZSddLFxuICBBY2NvdW50czogWydBY2NvdW50X05hbWUnXSxcbiAgRGVhbHM6IFsnRGVhbF9OYW1lJywgJ1N0YWdlJywgJ1BpcGVsaW5lJ10sXG4gIFRhc2tzOiBbJ1N1YmplY3QnXSxcbiAgQ2FsbHM6IFsnU3ViamVjdCcsICdDYWxsX1R5cGUnLCAnQ2FsbF9TdGFydF9UaW1lJywgJ0NhbGxfRHVyYXRpb24nXSxcbiAgRXZlbnRzOiBbJ0V2ZW50X1RpdGxlJywgJ1N0YXJ0X0RhdGVUaW1lJywgJ1JlbWluZF9BdCcsICdFbmRfRGF0ZVRpbWUnXSxcbiAgUHJvZHVjdHM6IFsnUHJvZHVjdF9OYW1lJ10sXG4gIFF1b3RlczogWydTdWJqZWN0JywgJ1F1b3RlZF9JdGVtcyddLFxuICBJbnZvaWNlczogWydTdWJqZWN0JywgJ0ludm9pY2VkX0l0ZW1zJ10sXG4gIENhbXBhaWduczogWydDYW1wYWlnbl9OYW1lJ10sXG4gIFZlbmRvcnM6IFsnVmVuZG9yX05hbWUnXSxcbiAgJ1ByaWNlIEJvb2tzJzogWydQcmljZV9Cb29rX05hbWUnLCAnUHJpY2luZ19EZXRhaWxzJ10sXG4gIENhc2VzOiBbJ0Nhc2VfT3JpZ2luJywgJ1N0YXR1cycsICdTdWJqZWN0J10sXG4gIFNvbHV0aW9uczogWydTb2x1dGlvbl9UaXRsZSddLFxuICAnUHVyY2hhc2UgT3JkZXJzJzogWydTdWJqZWN0JywgJ1ZlbmRvcl9OYW1lJywgJ1B1cmNoYXNlZF9JdGVtcyddLFxuICAnU2FsZXMgT3JkZXJzJzogWydTdWJqZWN0JywgJ09yZGVyZWRfSXRlbXMnXSxcbn07XG4iXX0=
@@ -1,25 +1,22 @@
1
- import { AuthObject, Field, Module, RegionKeys } from './types';
2
- import { HttpClient, ApiResponse } from '../../network/clients/types';
3
- declare class ZOHOAPI {
4
- authObject: AuthObject;
5
- httpClient: HttpClient;
6
- constructor(authObject: AuthObject);
7
- private getAuthHeader;
8
- private refreshToken;
9
- executeGetRequest<T>(url: string): Promise<ApiResponse<T>>;
10
- }
11
- export default class ZOHO {
12
- zohoAPI: ZOHOAPI;
13
- constructor(authObject: AuthObject);
14
- private static validateAuthObject;
15
- fetchDynamicFields({ moduleName, systemRequiredOnly, }: {
1
+ import { AuthObject, Field, Module, RegionKeys, ZohoConfig } from './types';
2
+ import { ApiResponse, StatTags } from '../../network/clients/types';
3
+ import { BaseSDK } from '../common/base-sdk';
4
+ export default class ZOHO extends BaseSDK<AuthObject, ZohoConfig> {
5
+ validateAuthObject(authObject: AuthObject): void;
6
+ protected buildRequestUrl(endpoint: string): string;
7
+ protected getHeaders(): Record<string, string>;
8
+ shouldRetryOnError(response: ApiResponse<unknown>): boolean;
9
+ protected refreshToken(): Promise<void>;
10
+ fetchDynamicFields({ moduleName, systemRequiredOnly, statTags, }: {
16
11
  moduleName: string;
17
12
  systemRequiredOnly?: boolean;
13
+ statTags?: StatTags;
18
14
  }): Promise<ApiResponse<{
19
15
  fields: Field[];
20
16
  }>>;
21
- fetchModules({ upsertOnly, }?: {
17
+ fetchModules({ upsertOnly, statTags, }?: {
22
18
  upsertOnly?: boolean;
19
+ statTags?: StatTags;
23
20
  }): Promise<ApiResponse<{
24
21
  modules: Module[];
25
22
  }>>;
@@ -30,5 +27,4 @@ export default class ZOHO {
30
27
  moduleName: string;
31
28
  }): string;
32
29
  }
33
- export {};
34
30
  //# sourceMappingURL=zoho.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zoho.d.ts","sourceRoot":"","sources":["../../../src/sdks/zoho/zoho.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,KAAK,EACL,MAAM,EAMN,UAAU,EAEX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,UAAU,EAAiB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAErF,cAAM,OAAO;IACX,UAAU,EAAE,UAAU,CAAC;IAEvB,UAAU,EAAE,UAAU,CAAC;gBAEX,UAAU,EAAE,UAAU;IAOlC,OAAO,CAAC,aAAa;YAQP,YAAY;IASpB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAajE;AAED,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,OAAO,EAAE,OAAO,CAAC;gBAEL,UAAU,EAAE,UAAU;IAKlC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgBpB,kBAAkB,CAAC,EAC9B,UAAU,EACV,kBAA0B,GAC3B,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC,CAAC;IAgBhC,YAAY,CAAC,EACxB,UAAkB,GACnB,GAAE;QACD,UAAU,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;WAuBtC,kCAAkC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;WAWhE,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;WAO5D,gBAAgB,CAAC,EAC7B,UAAiB,EACjB,UAAU,GACX,EAAE;QACD,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,MAAM;CAOX"}
1
+ {"version":3,"file":"zoho.d.ts","sourceRoot":"","sources":["../../../src/sdks/zoho/zoho.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,KAAK,EACL,MAAM,EAMN,UAAU,EAEV,UAAU,EACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC;IAE/D,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAgBhD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAMnD,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAO9C,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO;cAU3C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAShC,kBAAkB,CAAC,EAC9B,UAAU,EACV,kBAA0B,EAC1B,QAAQ,GACT,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC,CAAC;IAsBhC,YAAY,CAAC,EACxB,UAAkB,EAClB,QAAQ,GACT,GAAE;QACD,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;KAChB,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;WA+BtC,kCAAkC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;WAWhE,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;WAO5D,gBAAgB,CAAC,EAC7B,UAAiB,EACjB,UAAU,GACX,EAAE;QACD,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,MAAM;CAOX"}
@@ -1,50 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const types_1 = require("./types");
4
- const factory_1 = require("../../network/factory");
5
- class ZOHOAPI {
6
- constructor(authObject) {
7
- this.authObject = authObject;
8
- this.httpClient = factory_1.HttpClientFactory.getHttpClient(factory_1.ClientNames.Axios, {
9
- baseURL: types_1.DATA_CENTRE_BASE_ENDPOINTS_MAP[authObject.dataCenter],
10
- });
11
- }
12
- getAuthHeader() {
13
- return {
14
- headers: {
15
- Authorization: `Zoho-oauthtoken ${this.authObject.accessToken}`,
16
- },
17
- };
18
- }
19
- async refreshToken() {
20
- try {
21
- const accessToken = await this.authObject.refreshAccesTokenFunc();
22
- this.authObject.accessToken = accessToken;
23
- }
24
- catch (error) {
25
- throw new Error(`Unable to refresh token, with error: ${error}`);
26
- }
27
- }
28
- async executeGetRequest(url) {
29
- const response = await this.httpClient.get(url, this.getAuthHeader());
30
- switch (response.type) {
31
- case 'application-error':
32
- if (response.statusCode === 401 && response.responseBody.code === 'INVALID_TOKEN') {
33
- await this.refreshToken();
34
- return this.httpClient.get(url, this.getAuthHeader());
35
- }
36
- return response;
37
- default:
38
- return response;
39
- }
40
- }
41
- }
42
- class ZOHO {
43
- constructor(authObject) {
44
- ZOHO.validateAuthObject(authObject);
45
- this.zohoAPI = new ZOHOAPI(authObject);
46
- }
47
- static validateAuthObject(authObject) {
4
+ const base_sdk_1 = require("../common/base-sdk");
5
+ class ZOHO extends base_sdk_1.BaseSDK {
6
+ // eslint-disable-next-line class-methods-use-this
7
+ validateAuthObject(authObject) {
48
8
  if (!authObject) {
49
9
  throw new Error('authObject is required.');
50
10
  }
@@ -59,13 +19,41 @@ class ZOHO {
59
19
  throw new Error('ZOHO a refresh access token function is required.');
60
20
  }
61
21
  }
62
- async fetchDynamicFields({ moduleName, systemRequiredOnly = false, }) {
22
+ buildRequestUrl(endpoint) {
23
+ // Ensure endpoint starts with /
24
+ const cleanEndpoint = endpoint.startsWith('/') ? endpoint : `/${endpoint}`;
25
+ return `${types_1.DATA_CENTRE_BASE_ENDPOINTS_MAP[this.authObject.dataCenter]}${cleanEndpoint}`;
26
+ }
27
+ getHeaders() {
28
+ return {
29
+ Authorization: `Zoho-oauthtoken ${this.authObject.accessToken}`,
30
+ };
31
+ }
32
+ // eslint-disable-next-line class-methods-use-this
33
+ shouldRetryOnError(response) {
34
+ // Retry on 401 (unauthorized) errors for token refresh
35
+ return (response.statusCode === 401 &&
36
+ response.type === 'application-error' &&
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
+ response.responseBody?.code === 'INVALID_TOKEN');
39
+ }
40
+ async refreshToken() {
41
+ try {
42
+ const accessToken = await this.authObject.refreshAccesTokenFunc();
43
+ this.authObject.accessToken = accessToken;
44
+ }
45
+ catch (error) {
46
+ throw new Error(`Unable to refresh token, with error: ${error}`);
47
+ }
48
+ }
49
+ async fetchDynamicFields({ moduleName, systemRequiredOnly = false, statTags, }) {
63
50
  const fieldsApiPath = `/crm/v6/settings/fields?module=${moduleName}`;
64
- const res = await this.zohoAPI.executeGetRequest(fieldsApiPath);
51
+ const res = await this.executeRequestWithTokenRefreshAttempts('get', fieldsApiPath, undefined, statTags);
65
52
  if (!systemRequiredOnly || res.type === 'application-error' || res.type === 'client-error') {
66
53
  return res;
67
54
  }
68
55
  const { fields } = res.responseBody;
56
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
57
  const systemFields = fields.filter(({ system_mandatory }) => system_mandatory);
70
58
  return {
71
59
  ...res,
@@ -74,15 +62,20 @@ class ZOHO {
74
62
  },
75
63
  };
76
64
  }
77
- async fetchModules({ upsertOnly = false, } = {}) {
65
+ async fetchModules({ upsertOnly = false, statTags, } = {}) {
78
66
  const objsPath = '/crm/v6/settings/modules';
79
- const res = await this.zohoAPI.executeGetRequest(objsPath);
67
+ const res = await this.executeRequestWithTokenRefreshAttempts('get', objsPath, undefined, statTags);
80
68
  if (!upsertOnly || res.type === 'application-error' || res.type === 'client-error') {
81
69
  return res;
82
70
  }
83
71
  const { modules } = res.responseBody;
84
- const filteredModules = modules.filter(({ api_name }) => types_1.UPSERT_MODULES.some((module) => module === api_name));
85
- const customGeneratedModules = modules.filter((module) => module.generated_type === types_1.CUSTOM_GENERATED_TYPE);
72
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
+ const filteredModules = modules.filter(({ api_name }) =>
74
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
75
+ types_1.UPSERT_MODULES.some((module) => module === api_name));
76
+ const customGeneratedModules = modules.filter(
77
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
78
+ (module) => module.generated_type === types_1.CUSTOM_GENERATED_TYPE);
86
79
  return {
87
80
  ...res,
88
81
  responseBody: {
@@ -117,4 +110,4 @@ class ZOHO {
117
110
  }
118
111
  }
119
112
  exports.default = ZOHO;
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9oby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZGtzL3pvaG8vem9oby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQVlpQjtBQUNqQixtREFBdUU7QUFHdkUsTUFBTSxPQUFPO0lBS1gsWUFBWSxVQUFzQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLDJCQUFpQixDQUFDLGFBQWEsQ0FBQyxxQkFBVyxDQUFDLEtBQUssRUFBRTtZQUNuRSxPQUFPLEVBQUUsc0NBQThCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztTQUMvRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPO1lBQ0wsT0FBTyxFQUFFO2dCQUNQLGFBQWEsRUFBRSxtQkFBbUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUU7YUFDaEU7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxZQUFZO1FBQ3hCLElBQUksQ0FBQztZQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUM1QyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUksR0FBVztRQUNwQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUN6RSxRQUFRLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QixLQUFLLG1CQUFt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QXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsc0NBQThCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0QsT0FBTyxHQUFHLE9BQU8sR0FBRyxJQUFBLHFCQUFhLEVBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUF4R0QsdUJBd0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXV0aE9iamVjdCxcbiAgREFUQV9DRU5UUkVfQkFTRV9FTkRQT0lOVFNfTUFQLFxuICBGaWVsZCxcbiAgTW9kdWxlLFxuICBNT0RVTEVfV0lTRV9EVVBMSUNBVEVfQ0hFQ0tfRklFTEQsXG4gIENVU1RPTV9HRU5FUkFURURfVFlQRSxcbiAgU1lTVEVNX0RFRklORURfRFVQTElDQVRFX0NIRUNLX0ZJRUxEX0ZPUl9DVVNUT01fTU9EVUxFLFxuICBVUFNFUlRfTU9EVUxFUyxcbiAgTU9EVUxFX01BTkRBVE9SWV9GSUVMRF9DT05GSUcsXG4gIFJlZ2lvbktleXMsXG4gIGdldFJlY29yZFBhdGgsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgSHR0cENsaWVudEZhY3RvcnksIENsaWVudE5hbWVzIH0gZnJvbSAnLi4vLi4vbmV0d29yay9mYWN0b3J5JztcbmltcG9ydCB7IEh0dHBDbGllbnQsIFJlcXVlc3RDb25maWcsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbmV0d29yay9jbGllbnRzL3R5cGVzJztcblxuY2xhc3MgWk9IT0FQSSB7XG4gIGF1dGhPYmplY3Q6IEF1dGhPYmplY3Q7XG5cbiAgaHR0cENsaWVudDogSHR0cENsaWVudDtcblxuICBjb25zdHJ1Y3RvcihhdXRoT2JqZWN0OiBBdXRoT2JqZWN0KSB7XG4gICAgdGhpcy5hdXRoT2JqZWN0ID0gYXV0aE9iamVjdDtcbiAgICB0aGlzLmh0dHBDbGllbnQgPSBIdHRwQ2xpZW50RmFjdG9yeS5nZXRIdHRwQ2xpZW50KENsaWVudE5hbWVzLkF4aW9zLCB7XG4gICAgICBiYXNlVVJMOiBEQVRBX0NFTlRSRV9CQVNFX0VORFBPSU5UU19NQVBbYXV0aE9iamVjdC5kYXRhQ2VudGVyXSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXV0aEhlYWRlcigpOiBSZXF1ZXN0Q29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgWm9oby1vYXV0aHRva2VuICR7dGhpcy5hdXRoT2JqZWN0LmFjY2Vzc1Rva2VufWAsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlZnJlc2hUb2tlbigpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLmF1dGhPYmplY3QucmVmcmVzaEFjY2VzVG9rZW5GdW5jKCk7XG4gICAgICB0aGlzLmF1dGhPYmplY3QuYWNjZXNzVG9rZW4gPSBhY2Nlc3NUb2tlbjtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcmVmcmVzaCB0b2tlbiwgd2l0aCBlcnJvcjogJHtlcnJvcn1gKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBleGVjdXRlR2V0UmVxdWVzdDxUPih1cmw6IHN0cmluZyk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaHR0cENsaWVudC5nZXQ8VD4odXJsLCB0aGlzLmdldEF1dGhIZWFkZXIoKSk7XG4gICAgc3dpdGNoIChyZXNwb25zZS50eXBlKSB7XG4gICAgICBjYXNlICdhcHBsaWNhdGlvbi1lcnJvcic6XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXNDb2RlID09PSA0MDEgJiYgcmVzcG9uc2UucmVzcG9uc2VCb2R5LmNvZGUgPT09ICdJTlZBTElEX1RPS0VOJykge1xuICAgICAgICAgIGF3YWl0IHRoaXMucmVmcmVzaFRva2VuKCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4odXJsLCB0aGlzLmdldEF1dGhIZWFkZXIoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBaT0hPIHtcbiAgem9ob0FQSTogWk9IT0FQSTtcblxuICBjb25zdHJ1Y3RvcihhdXRoT2JqZWN0OiBBdXRoT2JqZWN0KSB7XG4gICAgWk9ITy52YWxpZGF0ZUF1dGhPYmplY3QoYXV0aE9iamVjdCk7XG4gICAgdGhpcy56b2hvQVBJID0gbmV3IFpPSE9BUEkoYXV0aE9iamVjdCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyB2YWxpZGF0ZUF1dGhPYmplY3QoYXV0aE9iamVjdDogQXV0aE9iamVjdCkge1xuICAgIGlmICghYXV0aE9iamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhdXRoT2JqZWN0IGlzIHJlcXVpcmVkLicpO1xuICAgIH1cbiAgICBjb25zdCB7IGFjY2Vzc1Rva2VuLCBkYXRhQ2VudGVyLCByZWZyZXNoQWNjZXNUb2tlbkZ1bmMgfSA9IGF1dGhPYmplY3Q7XG4gICAgaWYgKCFhY2Nlc3NUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdaT0hPIGFjY2Vzc1Rva2VuIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cbiAgICBpZiAoIWRhdGFDZW50ZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignWk9ITyBkYXRhQ2VudGVyIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cbiAgICBpZiAoIXJlZnJlc2hBY2Nlc1Rva2VuRnVuYykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdaT0hPIGEgcmVmcmVzaCBhY2Nlc3MgdG9rZW4gZnVuY3Rpb24gaXMgcmVxdWlyZWQuJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGZldGNoRHluYW1pY0ZpZWxkcyh7XG4gICAgbW9kdWxlTmFtZSxcbiAgICBzeXN0ZW1SZXF1aXJlZE9ubHkgPSBmYWxzZSxcbiAgfToge1xuICAgIG1vZHVsZU5hbWU6IHN0cmluZztcbiAgICBzeXN0ZW1SZXF1aXJlZE9ubHk/OiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxBcGlSZXNwb25zZTx7IGZpZWxkczogRmllbGRbXSB9Pj4ge1xuICAgIGNvbnN0IGZpZWxkc0FwaVBhdGggPSBgL2NybS92Ni9zZXR0aW5ncy9maWVsZHM/bW9kdWxlPSR7bW9kdWxlTmFtZX1gO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuem9ob0FQSS5leGVjdXRlR2V0UmVxdWVzdDx7IGZpZWxkczogRmllbGRbXSB9PihmaWVsZHNBcGlQYXRoKTtcbiAgICBpZiAoIXN5c3RlbVJlcXVpcmVkT25seSB8fCByZXMudHlwZSA9PT0gJ2FwcGxpY2F0aW9uLWVycm9yJyB8fCByZXMudHlwZSA9PT0gJ2NsaWVudC1lcnJvcicpIHtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIGNvbnN0IHsgZmllbGRzIH0gPSByZXMucmVzcG9uc2VCb2R5O1xuICAgIGNvbnN0IHN5c3RlbUZpZWxkcyA9IGZpZWxkcy5maWx0ZXIoKHsgc3lzdGVtX21hbmRhdG9yeSB9KSA9PiBzeXN0ZW1fbWFuZGF0b3J5KTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmVzLFxuICAgICAgcmVzcG9uc2VCb2R5OiB7XG4gICAgICAgIGZpZWxkczogWy4uLnN5c3RlbUZpZWxkc10sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZmV0Y2hNb2R1bGVzKHtcbiAgICB1cHNlcnRPbmx5ID0gZmFsc2UsXG4gIH06IHtcbiAgICB1cHNlcnRPbmx5PzogYm9vbGVhbjtcbiAgfSA9IHt9KTogUHJvbWlzZTxBcGlSZXNwb25zZTx7IG1vZHVsZXM6IE1vZHVsZVtdIH0+PiB7XG4gICAgY29uc3Qgb2Jqc1BhdGggPSAnL2NybS92Ni9zZXR0aW5ncy9tb2R1bGVzJztcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnpvaG9BUEkuZXhlY3V0ZUdldFJlcXVlc3Q8eyBtb2R1bGVzOiBNb2R1bGVbXSB9PihvYmpzUGF0aCk7XG4gICAgaWYgKCF1cHNlcnRPbmx5IHx8IHJlcy50eXBlID09PSAnYXBwbGljYXRpb24tZXJyb3InIHx8IHJlcy50eXBlID09PSAnY2xpZW50LWVycm9yJykge1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgY29uc3QgeyBtb2R1bGVzIH0gPSByZXMucmVzcG9uc2VCb2R5O1xuICAgIGNvbnN0IGZpbHRlcmVkTW9kdWxlcyA9IG1vZHVsZXMuZmlsdGVyKCh7IGFwaV9uYW1lIH0pID0+XG4gICAgICBVUFNFUlRfTU9EVUxFUy5zb21lKChtb2R1bGUpID0+IG1vZHVsZSA9PT0gYXBpX25hbWUpLFxuICAgICk7XG4gICAgY29uc3QgY3VzdG9tR2VuZXJhdGVkTW9kdWxlcyA9IG1vZHVsZXMuZmlsdGVyKFxuICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLmdlbmVyYXRlZF90eXBlID09PSBDVVNUT01fR0VORVJBVEVEX1RZUEUsXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmVzLFxuICAgICAgcmVzcG9uc2VCb2R5OiB7XG4gICAgICAgIG1vZHVsZXM6IFsuLi5maWx0ZXJlZE1vZHVsZXMsIC4uLmN1c3RvbUdlbmVyYXRlZE1vZHVsZXNdLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLy8gRmV0Y2hlcyB0aGUgbW9kdWxlIHdpc2UgZHVwbGljYXRlIGNoZWNrIGZpZWxkIGZvciBhIGdpdmVuIG1vZHVsZSBuYW1lXG4gIC8vIElmIHRoZSBtb2R1bGUgaXMgbm90IGN1c3RvbSBnZW5lcmF0ZWQsIGl0IHJldHVybnMgdGhlIHN5c3RlbSBkZWZpbmVkIGR1cGxpY2F0ZSBjaGVjayBmaWVsZFxuICBwdWJsaWMgc3RhdGljIGZldGNoTW9kdWxlV2lzZUR1cGxpY2F0ZUNoZWNrRmllbGQobW9kdWxlTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG1vZHVsZUNoZWNrRHVwbGljYXRlRmllbGQgPSBNT0RVTEVfV0lTRV9EVVBMSUNBVEVfQ0hFQ0tfRklFTERbbW9kdWxlTmFtZV07XG4gICAgaWYgKG1vZHVsZUNoZWNrRHVwbGljYXRlRmllbGQpIHtcbiAgICAgIHJldHVybiBbbW9kdWxlQ2hlY2tEdXBsaWNhdGVGaWVsZF07XG4gICAgfVxuICAgIC8vIFdlIGFzc3VtZSB0aGF0IHRoZSBtb2R1bGUgaXMgY3VzdG9tIGdlbmVyYXRlZCBpZiB0aGUgbW9kdWxlIHdpc2UgZHVwbGljYXRlIGNoZWNrIGZpZWxkIGlzIG5vdCBmb3VuZFxuICAgIHJldHVybiBbU1lTVEVNX0RFRklORURfRFVQTElDQVRFX0NIRUNLX0ZJRUxEX0ZPUl9DVVNUT01fTU9EVUxFXTtcbiAgfVxuXG4gIC8vIEZldGNoZXMgdGhlIG1vZHVsZSB3aXNlIG1hbmRhdG9yeSBmaWVsZHMgZm9yIGEgZ2l2ZW4gbW9kdWxlIG5hbWVcbiAgLy8gSWYgdGhlIG1vZHVsZSBpcyBub3QgZm91bmQsIGl0IHJldHVybnMgYW4gZW1wdHkgYXJyYXlcbiAgcHVibGljIHN0YXRpYyBmZXRjaE1vZHVsZVdpc2VNYW5kYXRvcnlGaWVsZHMobW9kdWxlTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGlmICghTU9EVUxFX01BTkRBVE9SWV9GSUVMRF9DT05GSUdbbW9kdWxlTmFtZV0pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIE1PRFVMRV9NQU5EQVRPUllfRklFTERfQ09ORklHW21vZHVsZU5hbWVdO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRCYXNlUmVjb3JkVXJsKHtcbiAgICBkYXRhQ2VudGVyID0gJ1VTJyxcbiAgICBtb2R1bGVOYW1lLFxuICB9OiB7XG4gICAgZGF0YUNlbnRlcj86IFJlZ2lvbktleXM7XG4gICAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICB9KTogc3RyaW5nIHtcbiAgICBpZiAoIW1vZHVsZU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbW9kdWxlTmFtZSBpcyByZXF1aXJlZC4nKTtcbiAgICB9XG4gICAgY29uc3QgYmFzZVVSbCA9IERBVEFfQ0VOVFJFX0JBU0VfRU5EUE9JTlRTX01BUFtkYXRhQ2VudGVyXTtcbiAgICByZXR1cm4gYCR7YmFzZVVSbH0ke2dldFJlY29yZFBhdGgobW9kdWxlTmFtZSl9YDtcbiAgfVxufVxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9oby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZGtzL3pvaG8vem9oby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQWFpQjtBQUVqQixpREFBNkM7QUFFN0MsTUFBcUIsSUFBSyxTQUFRLGtCQUErQjtJQUMvRCxrREFBa0Q7SUFDbEQsa0JBQWtCLENBQUMsVUFBc0I7UUFDdkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDdEUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7SUFDSCxDQUFDO0lBRVMsZUFBZSxDQUFDLFFBQWdCO1FBQ3hDLGdDQUFnQztRQUNoQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLENBQUM7UUFDM0UsT0FBTyxHQUFHLHNDQUE4QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsYUFBYSxFQUFFLENBQUM7SUFDekYsQ0FBQztJQUVTLFVBQVU7UUFDbEIsT0FBTztZQUNMLGFBQWEsRUFBRSxtQkFBbUIsSUFBSSxDQUFD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Q1osT0FBTyxFQUFFLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQzthQUN6RDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsd0VBQXdFO0lBQ3hFLDZGQUE2RjtJQUN0RixNQUFNLENBQUMsa0NBQWtDLENBQUMsVUFBa0I7UUFDakUsTUFBTSx5QkFBeUIsR0FBRyx5Q0FBaUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRixJQUFJLHlCQUF5QixFQUFFLENBQUM7WUFDOUIsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDckMsQ0FBQztRQUNELHNHQUFzRztRQUN0RyxPQUFPLENBQUMsOERBQXNELENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsbUVBQW1FO0lBQ25FLHdEQUF3RDtJQUNqRCxNQUFNLENBQUMsOEJBQThCLENBQUMsVUFBa0I7UUFDN0QsSUFBSSxDQUFDLHFDQUE2QixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDL0MsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsT0FBTyxxQ0FBNkIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQzdCLFVBQVUsR0FBRyxJQUFJLEVBQ2pCLFVBQVUsR0FJWDtRQUNDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLHNDQUE4QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNELE9BQU8sR0FBRyxPQUFPLEdBQUcsSUFBQSxxQkFBYSxFQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBcEpELHVCQW9KQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF1dGhPYmplY3QsXG4gIERBVEFfQ0VOVFJFX0JBU0VfRU5EUE9JTlRTX01BUCxcbiAgRmllbGQsXG4gIE1vZHVsZSxcbiAgTU9EVUxFX1dJU0VfRFVQTElDQVRFX0NIRUNLX0ZJRUxELFxuICBDVVNUT01fR0VORVJBVEVEX1RZUEUsXG4gIFNZU1RFTV9ERUZJTkVEX0RVUExJQ0FURV9DSEVDS19GSUVMRF9GT1JfQ1VTVE9NX01PRFVMRSxcbiAgVVBTRVJUX01PRFVMRVMsXG4gIE1PRFVMRV9NQU5EQVRPUllfRklFTERfQ09ORklHLFxuICBSZWdpb25LZXlzLFxuICBnZXRSZWNvcmRQYXRoLFxuICBab2hvQ29uZmlnLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlLCBTdGF0VGFncyB9IGZyb20gJy4uLy4uL25ldHdvcmsvY2xpZW50cy90eXBlcyc7XG5pbXBvcnQgeyBCYXNlU0RLIH0gZnJvbSAnLi4vY29tbW9uL2Jhc2Utc2RrJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgWk9ITyBleHRlbmRzIEJhc2VTREs8QXV0aE9iamVjdCwgWm9ob0NvbmZpZz4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2xhc3MtbWV0aG9kcy11c2UtdGhpc1xuICB2YWxpZGF0ZUF1dGhPYmplY3QoYXV0aE9iamVjdDogQXV0aE9iamVjdCk6IHZvaWQge1xuICAgIGlmICghYXV0aE9iamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhdXRoT2JqZWN0IGlzIHJlcXVpcmVkLicpO1xuICAgIH1cbiAgICBjb25zdCB7IGFjY2Vzc1Rva2VuLCBkYXRhQ2VudGVyLCByZWZyZXNoQWNjZXNUb2tlbkZ1bmMgfSA9IGF1dGhPYmplY3Q7XG4gICAgaWYgKCFhY2Nlc3NUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdaT0hPIGFjY2Vzc1Rva2VuIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cbiAgICBpZiAoIWRhdGFDZW50ZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignWk9ITyBkYXRhQ2VudGVyIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cbiAgICBpZiAoIXJlZnJlc2hBY2Nlc1Rva2VuRnVuYykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdaT0hPIGEgcmVmcmVzaCBhY2Nlc3MgdG9rZW4gZnVuY3Rpb24gaXMgcmVxdWlyZWQuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkUmVxdWVzdFVybChlbmRwb2ludDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBFbnN1cmUgZW5kcG9pbnQgc3RhcnRzIHdpdGggL1xuICAgIGNvbnN0IGNsZWFuRW5kcG9pbnQgPSBlbmRwb2ludC5zdGFydHNXaXRoKCcvJykgPyBlbmRwb2ludCA6IGAvJHtlbmRwb2ludH1gO1xuICAgIHJldHVybiBgJHtEQVRBX0NFTlRSRV9CQVNFX0VORFBPSU5UU19NQVBbdGhpcy5hdXRoT2JqZWN0LmRhdGFDZW50ZXJdfSR7Y2xlYW5FbmRwb2ludH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEhlYWRlcnMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIEF1dGhvcml6YXRpb246IGBab2hvLW9hdXRodG9rZW4gJHt0aGlzLmF1dGhPYmplY3QuYWNjZXNzVG9rZW59YCxcbiAgICB9O1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgc2hvdWxkUmV0cnlPbkVycm9yKHJlc3BvbnNlOiBBcGlSZXNwb25zZTx1bmtub3duPik6IGJvb2xlYW4ge1xuICAgIC8vIFJldHJ5IG9uIDQwMSAodW5hdXRob3JpemVkKSBlcnJvcnMgZm9yIHRva2VuIHJlZnJlc2hcbiAgICByZXR1cm4gKFxuICAgICAgcmVzcG9uc2Uuc3RhdHVzQ29kZSA9PT0gNDAxICYmXG4gICAgICByZXNwb25zZS50eXBlID09PSAnYXBwbGljYXRpb24tZXJyb3InICYmXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgKHJlc3BvbnNlIGFzIGFueSkucmVzcG9uc2VCb2R5Py5jb2RlID09PSAnSU5WQUxJRF9UT0tFTidcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLmF1dGhPYmplY3QucmVmcmVzaEFjY2VzVG9rZW5GdW5jKCk7XG4gICAgICB0aGlzLmF1dGhPYmplY3QuYWNjZXNzVG9rZW4gPSBhY2Nlc3NUb2tlbjtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcmVmcmVzaCB0b2tlbiwgd2l0aCBlcnJvcjogJHtlcnJvcn1gKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZmV0Y2hEeW5hbWljRmllbGRzKHtcbiAgICBtb2R1bGVOYW1lLFxuICAgIHN5c3RlbVJlcXVpcmVkT25seSA9IGZhbHNlLFxuICAgIHN0YXRUYWdzLFxuICB9OiB7XG4gICAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICAgIHN5c3RlbVJlcXVpcmVkT25seT86IGJvb2xlYW47XG4gICAgc3RhdFRhZ3M/OiBTdGF0VGFncztcbiAgfSk6IFByb21pc2U8QXBpUmVzcG9uc2U8eyBmaWVsZHM6IEZpZWxkW10gfT4+IHtcbiAgICBjb25zdCBmaWVsZHNBcGlQYXRoID0gYC9jcm0vdjYvc2V0dGluZ3MvZmllbGRzP21vZHVsZT0ke21vZHVsZU5hbWV9YDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmV4ZWN1dGVSZXF1ZXN0V2l0aFRva2VuUmVmcmVzaEF0dGVtcHRzPHsgZmllbGRzOiBGaWVsZFtdIH0+KFxuICAgICAgJ2dldCcsXG4gICAgICBmaWVsZHNBcGlQYXRoLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgc3RhdFRhZ3MsXG4gICAgKTtcbiAgICBpZiAoIXN5c3RlbVJlcXVpcmVkT25seSB8fCByZXMudHlwZSA9PT0gJ2FwcGxpY2F0aW9uLWVycm9yJyB8fCByZXMudHlwZSA9PT0gJ2NsaWVudC1lcnJvcicpIHtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIGNvbnN0IHsgZmllbGRzIH0gPSByZXMucmVzcG9uc2VCb2R5O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29uc3Qgc3lzdGVtRmllbGRzID0gZmllbGRzLmZpbHRlcigoeyBzeXN0ZW1fbWFuZGF0b3J5IH06IGFueSkgPT4gc3lzdGVtX21hbmRhdG9yeSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlcyxcbiAgICAgIHJlc3BvbnNlQm9keToge1xuICAgICAgICBmaWVsZHM6IFsuLi5zeXN0ZW1GaWVsZHNdLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGZldGNoTW9kdWxlcyh7XG4gICAgdXBzZXJ0T25seSA9IGZhbHNlLFxuICAgIHN0YXRUYWdzLFxuICB9OiB7XG4gICAgdXBzZXJ0T25seT86IGJvb2xlYW47XG4gICAgc3RhdFRhZ3M/OiBTdGF0VGFncztcbiAgfSA9IHt9KTogUHJvbWlzZTxBcGlSZXNwb25zZTx7IG1vZHVsZXM6IE1vZHVsZVtdIH0+PiB7XG4gICAgY29uc3Qgb2Jqc1BhdGggPSAnL2NybS92Ni9zZXR0aW5ncy9tb2R1bGVzJztcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmV4ZWN1dGVSZXF1ZXN0V2l0aFRva2VuUmVmcmVzaEF0dGVtcHRzPHsgbW9kdWxlczogTW9kdWxlW10gfT4oXG4gICAgICAnZ2V0JyxcbiAgICAgIG9ianNQYXRoLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgc3RhdFRhZ3MsXG4gICAgKTtcbiAgICBpZiAoIXVwc2VydE9ubHkgfHwgcmVzLnR5cGUgPT09ICdhcHBsaWNhdGlvbi1lcnJvcicgfHwgcmVzLnR5cGUgPT09ICdjbGllbnQtZXJyb3InKSB7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH1cbiAgICBjb25zdCB7IG1vZHVsZXMgfSA9IHJlcy5yZXNwb25zZUJvZHk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjb25zdCBmaWx0ZXJlZE1vZHVsZXMgPSBtb2R1bGVzLmZpbHRlcigoeyBhcGlfbmFtZSB9OiBhbnkpID0+XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgVVBTRVJUX01PRFVMRVMuc29tZSgobW9kdWxlOiBhbnkpID0+IG1vZHVsZSA9PT0gYXBpX25hbWUpLFxuICAgICk7XG4gICAgY29uc3QgY3VzdG9tR2VuZXJhdGVkTW9kdWxlcyA9IG1vZHVsZXMuZmlsdGVyKFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgIChtb2R1bGU6IGFueSkgPT4gbW9kdWxlLmdlbmVyYXRlZF90eXBlID09PSBDVVNUT01fR0VORVJBVEVEX1RZUEUsXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmVzLFxuICAgICAgcmVzcG9uc2VCb2R5OiB7XG4gICAgICAgIG1vZHVsZXM6IFsuLi5maWx0ZXJlZE1vZHVsZXMsIC4uLmN1c3RvbUdlbmVyYXRlZE1vZHVsZXNdLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLy8gRmV0Y2hlcyB0aGUgbW9kdWxlIHdpc2UgZHVwbGljYXRlIGNoZWNrIGZpZWxkIGZvciBhIGdpdmVuIG1vZHVsZSBuYW1lXG4gIC8vIElmIHRoZSBtb2R1bGUgaXMgbm90IGN1c3RvbSBnZW5lcmF0ZWQsIGl0IHJldHVybnMgdGhlIHN5c3RlbSBkZWZpbmVkIGR1cGxpY2F0ZSBjaGVjayBmaWVsZFxuICBwdWJsaWMgc3RhdGljIGZldGNoTW9kdWxlV2lzZUR1cGxpY2F0ZUNoZWNrRmllbGQobW9kdWxlTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG1vZHVsZUNoZWNrRHVwbGljYXRlRmllbGQgPSBNT0RVTEVfV0lTRV9EVVBMSUNBVEVfQ0hFQ0tfRklFTERbbW9kdWxlTmFtZV07XG4gICAgaWYgKG1vZHVsZUNoZWNrRHVwbGljYXRlRmllbGQpIHtcbiAgICAgIHJldHVybiBbbW9kdWxlQ2hlY2tEdXBsaWNhdGVGaWVsZF07XG4gICAgfVxuICAgIC8vIFdlIGFzc3VtZSB0aGF0IHRoZSBtb2R1bGUgaXMgY3VzdG9tIGdlbmVyYXRlZCBpZiB0aGUgbW9kdWxlIHdpc2UgZHVwbGljYXRlIGNoZWNrIGZpZWxkIGlzIG5vdCBmb3VuZFxuICAgIHJldHVybiBbU1lTVEVNX0RFRklORURfRFVQTElDQVRFX0NIRUNLX0ZJRUxEX0ZPUl9DVVNUT01fTU9EVUxFXTtcbiAgfVxuXG4gIC8vIEZldGNoZXMgdGhlIG1vZHVsZSB3aXNlIG1hbmRhdG9yeSBmaWVsZHMgZm9yIGEgZ2l2ZW4gbW9kdWxlIG5hbWVcbiAgLy8gSWYgdGhlIG1vZHVsZSBpcyBub3QgZm91bmQsIGl0IHJldHVybnMgYW4gZW1wdHkgYXJyYXlcbiAgcHVibGljIHN0YXRpYyBmZXRjaE1vZHVsZVdpc2VNYW5kYXRvcnlGaWVsZHMobW9kdWxlTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGlmICghTU9EVUxFX01BTkRBVE9SWV9GSUVMRF9DT05GSUdbbW9kdWxlTmFtZV0pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIE1PRFVMRV9NQU5EQVRPUllfRklFTERfQ09ORklHW21vZHVsZU5hbWVdO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRCYXNlUmVjb3JkVXJsKHtcbiAgICBkYXRhQ2VudGVyID0gJ1VTJyxcbiAgICBtb2R1bGVOYW1lLFxuICB9OiB7XG4gICAgZGF0YUNlbnRlcj86IFJlZ2lvbktleXM7XG4gICAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICB9KTogc3RyaW5nIHtcbiAgICBpZiAoIW1vZHVsZU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbW9kdWxlTmFtZSBpcyByZXF1aXJlZC4nKTtcbiAgICB9XG4gICAgY29uc3QgYmFzZVVSbCA9IERBVEFfQ0VOVFJFX0JBU0VfRU5EUE9JTlRTX01BUFtkYXRhQ2VudGVyXTtcbiAgICByZXR1cm4gYCR7YmFzZVVSbH0ke2dldFJlY29yZFBhdGgobW9kdWxlTmFtZSl9YDtcbiAgfVxufVxuIl19
package/mock/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './axios_client_mock_util';
1
+ export { default as axiosFromLib } from 'axios';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/mock_utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/mock_utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAC"}
package/mock/index.js CHANGED
@@ -1,18 +1,9 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
16
5
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./axios_client_mock_util"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9ja191dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkRBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9heGlvc19jbGllbnRfbW9ja191dGlsJztcbiJdfQ==
6
+ exports.axiosFromLib = void 0;
7
+ var axios_1 = require("axios");
8
+ Object.defineProperty(exports, "axiosFromLib", { enumerable: true, get: function () { return __importDefault(axios_1).default; } });
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9ja191dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBZ0Q7QUFBdkMsc0hBQUEsT0FBTyxPQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgYXhpb3NGcm9tTGliIH0gZnJvbSAnYXhpb3MnO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderstack/integrations-lib",
3
- "version": "0.2.57",
3
+ "version": "0.2.58",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "module": "build/index.js",
@@ -1,3 +0,0 @@
1
- import MockAdapter from 'axios-mock-adapter';
2
- export declare const mockAxiosFromLib: MockAdapter;
3
- //# sourceMappingURL=axios_client_mock_util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"axios_client_mock_util.d.ts","sourceRoot":"","sources":["../src/mock_utils/axios_client_mock_util.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,eAAO,MAAM,gBAAgB,aAAyB,CAAC"}
@@ -1,10 +0,0 @@
1
- "use strict";
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
- exports.mockAxiosFromLib = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const axios_mock_adapter_1 = __importDefault(require("axios-mock-adapter"));
9
- exports.mockAxiosFromLib = new axios_mock_adapter_1.default(axios_1.default);
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3NfY2xpZW50X21vY2tfdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tb2NrX3V0aWxzL2F4aW9zX2NsaWVudF9tb2NrX3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLDRFQUE2QztBQUVoQyxRQUFBLGdCQUFnQixHQUFHLElBQUksNEJBQVcsQ0FBQyxlQUFLLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgTW9ja0FkYXB0ZXIgZnJvbSAnYXhpb3MtbW9jay1hZGFwdGVyJztcblxuZXhwb3J0IGNvbnN0IG1vY2tBeGlvc0Zyb21MaWIgPSBuZXcgTW9ja0FkYXB0ZXIoYXhpb3MpO1xuIl19