@secrecy/lib 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/LICENSE +1 -1
  2. package/dist/BaseClient.d.ts +29 -177
  3. package/dist/BaseClient.js +114 -732
  4. package/dist/PopupTools.d.ts +4 -4
  5. package/dist/PopupTools.js +24 -41
  6. package/dist/ZeusThunder.js +3 -17
  7. package/dist/cache.js +1 -1
  8. package/dist/client/SecrecyAppClient.d.ts +17 -0
  9. package/dist/client/SecrecyAppClient.js +226 -0
  10. package/dist/client/SecrecyCloudClient.d.ts +89 -0
  11. package/dist/client/SecrecyCloudClient.js +1405 -0
  12. package/dist/client/SecrecyDbClient.d.ts +21 -0
  13. package/dist/client/SecrecyDbClient.js +177 -0
  14. package/dist/client/SecrecyMailClient.d.ts +42 -0
  15. package/dist/client/SecrecyMailClient.js +1022 -0
  16. package/dist/client/SecrecyPayClient.d.ts +28 -0
  17. package/dist/client/SecrecyPayClient.js +68 -0
  18. package/dist/client/SecrecyWalletClient.d.ts +30 -0
  19. package/dist/client/SecrecyWalletClient.js +73 -0
  20. package/dist/client/convert/file.js +2 -3
  21. package/dist/client/convert/mail.d.ts +2 -2
  22. package/dist/client/convert/mail.js +7 -11
  23. package/dist/client/convert/node.js +19 -33
  24. package/dist/client/helpers.d.ts +9 -4
  25. package/dist/client/helpers.js +30 -25
  26. package/dist/client/index.d.ts +15 -145
  27. package/dist/client/index.js +16 -3176
  28. package/dist/client/storage.js +4 -4
  29. package/dist/client/types/File.d.ts +3 -3
  30. package/dist/client/types/Inputs.d.ts +4 -4
  31. package/dist/client/types/Node.d.ts +21 -14
  32. package/dist/client/types/Node.js +1 -1
  33. package/dist/client/types/UserAppNotifications.d.ts +1 -1
  34. package/dist/client/types/UserAppSettings.d.ts +2 -3
  35. package/dist/client/types/UserAppSettings.js +1 -1
  36. package/dist/client/types/index.d.ts +23 -51
  37. package/dist/client/types/index.js +1 -1
  38. package/dist/client/types/selectors.d.ts +51 -127
  39. package/dist/client/types/selectors.js +21 -11
  40. package/dist/crypto/file.d.ts +2 -2
  41. package/dist/crypto/file.js +19 -34
  42. package/dist/crypto/index.js +1 -3
  43. package/dist/error.d.ts +5 -2
  44. package/dist/error.js +1 -1
  45. package/dist/index.d.ts +7 -5
  46. package/dist/index.js +4 -4
  47. package/dist/minify/index.js +2 -7
  48. package/dist/minify/lz4.js +79 -167
  49. package/dist/sodium.js +1 -1
  50. package/dist/utils/store-buddy.d.ts +1 -1
  51. package/dist/utils/store-buddy.js +1 -8
  52. package/dist/utils/time.js +1 -3
  53. package/dist/utils/utils.js +1 -11
  54. package/dist/worker/md5.js +1 -2
  55. package/dist/worker/sodium.js +16 -18
  56. package/dist/worker/workerCodes.js +255 -3
  57. package/dist/zeus/const.js +476 -27
  58. package/dist/zeus/index.d.ts +4477 -605
  59. package/dist/zeus/index.js +181 -239
  60. package/package.json +64 -61
  61. package/dist/client/admin/index.d.ts +0 -11
  62. package/dist/client/admin/index.js +0 -110
  63. package/dist/worker/__mock__/sodium.worker.d.ts +0 -19
  64. package/dist/worker/__mock__/sodium.worker.js +0 -49
@@ -1,9 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
4
  import { Selector } from "../../zeus/index.js";
8
5
  export const fileSelector = Selector("File")({
9
6
  id: true,
@@ -37,6 +34,10 @@ export const nodeSelector = Selector("Node")({
37
34
  createdBy: {
38
35
  user: userSelector
39
36
  },
37
+ sizes: {
38
+ size: true,
39
+ sizeBefore: true
40
+ },
40
41
  updatedAt: true,
41
42
  name: true,
42
43
  access: {
@@ -71,13 +72,14 @@ export const nodeSelector = Selector("Node")({
71
72
  nameKey: true,
72
73
  pubKey: true
73
74
  },
74
- history: fileSelector,
75
- current: fileSelector,
75
+ parentId: true,
76
76
  currentFileId: true
77
77
  });
78
78
  export const nodeFullSelector = Selector("Node")(_objectSpread(_objectSpread({}, nodeSelector), {}, {
79
79
  parent: nodeSelector,
80
- children: nodeSelector
80
+ children: nodeSelector,
81
+ history: fileSelector,
82
+ current: fileSelector
81
83
  }));
82
84
  export const mailSelector = Selector("Mail")({
83
85
  id: true,
@@ -87,8 +89,12 @@ export const mailSelector = Selector("Mail")({
87
89
  openedAt: true,
88
90
  createdAt: true,
89
91
  deletedAt: true,
90
- recipients: userSelector,
91
- recipient: userSelector,
92
+ recipients: _objectSpread(_objectSpread({}, userSelector), {}, {
93
+ publicKey: false
94
+ }),
95
+ recipient: _objectSpread(_objectSpread({}, userSelector), {}, {
96
+ publicKey: false
97
+ }),
92
98
  sender: userSelector,
93
99
  mailIntegrity: {
94
100
  id: true,
@@ -100,7 +106,9 @@ export const mailSelector = Selector("Mail")({
100
106
  temporaryRecipients: {
101
107
  email: true
102
108
  },
103
- recipients: userSelector
109
+ recipients: _objectSpread(_objectSpread({}, userSelector), {}, {
110
+ publicKey: false
111
+ })
104
112
  },
105
113
  mailIntegrityDraft: {
106
114
  id: true,
@@ -112,7 +120,9 @@ export const mailSelector = Selector("Mail")({
112
120
  temporaryRecipients: {
113
121
  email: true
114
122
  },
115
- recipients: userSelector
123
+ recipients: _objectSpread(_objectSpread({}, userSelector), {}, {
124
+ publicKey: false
125
+ })
116
126
  },
117
127
  files: {
118
128
  fileKey: true,
@@ -122,4 +132,4 @@ export const mailSelector = Selector("Mail")({
122
132
  }
123
133
  }
124
134
  });
125
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZWxlY3RvciIsImZpbGVTZWxlY3RvciIsImlkIiwic2l6ZSIsInNpemVCZWZvcmUiLCJjcmVhdGVkQXQiLCJtZDUiLCJtZDVFbmNyeXB0ZWQiLCJhY2Nlc3MiLCJrZXkiLCJzaGFyZWRCeSIsImtleVBhaXIiLCJwdWIiLCJ1c2VyU2VsZWN0b3IiLCJmaXJzdG5hbWUiLCJsYXN0bmFtZSIsImVtYWlsIiwicHVibGljS2V5Iiwibm9kZVNlbGVjdG9yIiwiaXNGYXZvcml0ZSIsInR5cGUiLCJkZWxldGVkQXQiLCJjcmVhdGVkQnkiLCJ1c2VyIiwidXBkYXRlZEF0IiwibmFtZSIsInJpZ2h0cyIsImlzUm9vdCIsIm5hbWVLZXkiLCJ1c2VyQXBwIiwiYWNjZXNzZXMiLCJicmVhZGNydW1iIiwicHViS2V5IiwiaGlzdG9yeSIsImN1cnJlbnQiLCJjdXJyZW50RmlsZUlkIiwibm9kZUZ1bGxTZWxlY3RvciIsInBhcmVudCIsImNoaWxkcmVuIiwibWFpbFNlbGVjdG9yIiwiYm9keSIsInN1YmplY3QiLCJvcGVuZWRBdCIsInJlY2lwaWVudHMiLCJyZWNpcGllbnQiLCJzZW5kZXIiLCJtYWlsSW50ZWdyaXR5IiwiaGFzaCIsImhhc2hLZXkiLCJyZXBseVRvIiwidGVtcG9yYXJ5UmVjaXBpZW50cyIsIm1haWxJbnRlZ3JpdHlEcmFmdCIsImZpbGVzIiwiZmlsZUtleSIsImZpbGVuYW1lIiwiZmlsZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvdHlwZXMvc2VsZWN0b3JzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdG9yIH0gZnJvbSBcIi4uLy4uL3pldXMvaW5kZXguanNcIjtcblxuZXhwb3J0IGNvbnN0IGZpbGVTZWxlY3RvciA9IFNlbGVjdG9yKFwiRmlsZVwiKSh7XG4gIGlkOiB0cnVlLFxuICBzaXplOiB0cnVlLFxuICBzaXplQmVmb3JlOiB0cnVlLFxuICBjcmVhdGVkQXQ6IHRydWUsXG4gIG1kNTogdHJ1ZSxcbiAgbWQ1RW5jcnlwdGVkOiB0cnVlLFxuICBhY2Nlc3M6IHtcbiAgICBrZXk6IHRydWUsXG4gICAgc2hhcmVkQnk6IHtcbiAgICAgIGtleVBhaXI6IHtcbiAgICAgICAgcHViOiB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IHVzZXJTZWxlY3RvciA9IFNlbGVjdG9yKFwiVXNlclwiKSh7XG4gIGlkOiB0cnVlLFxuICBmaXJzdG5hbWU6IHRydWUsXG4gIGxhc3RuYW1lOiB0cnVlLFxuICBlbWFpbDogdHJ1ZSxcbiAgcHVibGljS2V5OiB0cnVlXG59KTtcblxuZXhwb3J0IGNvbnN0IG5vZGVTZWxlY3RvciA9IFNlbGVjdG9yKFwiTm9kZVwiKSh7XG4gIGlkOiB0cnVlLFxuICBpc0Zhdm9yaXRlOiB0cnVlLFxuICB0eXBlOiB0cnVlLFxuICBjcmVhdGVkQXQ6IHRydWUsXG4gIGRlbGV0ZWRBdDogdHJ1ZSxcbiAgY3JlYXRlZEJ5OiB7XG4gICAgdXNlcjogdXNlclNlbGVjdG9yXG4gIH0sXG4gIHVwZGF0ZWRBdDogdHJ1ZSxcbiAgbmFtZTogdHJ1ZSxcbiAgYWNjZXNzOiB7XG4gICAgcmlnaHRzOiB0cnVlLFxuICAgIGlzUm9vdDogdHJ1ZSxcbiAgICBuYW1lS2V5OiB0cnVlLFxuICAgIHNoYXJlZEJ5OiB7XG4gICAgICBrZXlQYWlyOiB7XG4gICAgICAgIHB1YjogdHJ1ZVxuICAgICAgfVxuICAgIH0sXG4gICAgdXNlckFwcDoge1xuICAgICAgdXNlcjogdXNlclNlbGVjdG9yXG4gICAgfVxuICB9LFxuICBhY2Nlc3Nlczoge1xuICAgIHJpZ2h0czogdHJ1ZSxcbiAgICBpc1Jvb3Q6IHRydWUsXG4gICAgbmFtZUtleTogdHJ1ZSxcbiAgICBzaGFyZWRCeToge1xuICAgICAga2V5UGFpcjoge1xuICAgICAgICBwdWI6IHRydWVcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZXJBcHA6IHtcbiAgICAgIHVzZXI6IHVzZXJTZWxlY3RvclxuICAgIH1cbiAgfSxcbiAgYnJlYWRjcnVtYjoge1xuICAgIGlkOiB0cnVlLFxuICAgIG5hbWU6IHRydWUsXG4gICAgbmFtZUtleTogdHJ1ZSxcbiAgICBwdWJLZXk6IHRydWVcbiAgfSxcbiAgaGlzdG9yeTogZmlsZVNlbGVjdG9yLFxuICBjdXJyZW50OiBmaWxlU2VsZWN0b3IsXG4gIGN1cnJlbnRGaWxlSWQ6IHRydWVcbn0pO1xuXG5leHBvcnQgY29uc3Qgbm9kZUZ1bGxTZWxlY3RvciA9IFNlbGVjdG9yKFwiTm9kZVwiKSh7XG4gIC4uLm5vZGVTZWxlY3RvcixcbiAgcGFyZW50OiBub2RlU2VsZWN0b3IsXG4gIGNoaWxkcmVuOiBub2RlU2VsZWN0b3Jcbn0pO1xuXG5leHBvcnQgY29uc3QgbWFpbFNlbGVjdG9yID0gU2VsZWN0b3IoXCJNYWlsXCIpKHtcbiAgaWQ6IHRydWUsXG4gIHR5cGU6IHRydWUsXG4gIGJvZHk6IHRydWUsXG4gIHN1YmplY3Q6IHRydWUsXG4gIG9wZW5lZEF0OiB0cnVlLFxuICBjcmVhdGVkQXQ6IHRydWUsXG4gIGRlbGV0ZWRBdDogdHJ1ZSxcbiAgcmVjaXBpZW50czogdXNlclNlbGVjdG9yLFxuICByZWNpcGllbnQ6IHVzZXJTZWxlY3RvcixcbiAgc2VuZGVyOiB1c2VyU2VsZWN0b3IsXG4gIG1haWxJbnRlZ3JpdHk6IHtcbiAgICBpZDogdHJ1ZSxcbiAgICBoYXNoOiB0cnVlLFxuICAgIGhhc2hLZXk6IHRydWUsXG4gICAgcmVwbHlUbzoge1xuICAgICAgaWQ6IHRydWVcbiAgICB9LFxuICAgIHRlbXBvcmFyeVJlY2lwaWVudHM6IHtcbiAgICAgIGVtYWlsOiB0cnVlXG4gICAgfSxcbiAgICByZWNpcGllbnRzOiB1c2VyU2VsZWN0b3JcbiAgfSxcbiAgbWFpbEludGVncml0eURyYWZ0OiB7XG4gICAgaWQ6IHRydWUsXG4gICAgaGFzaDogdHJ1ZSxcbiAgICBoYXNoS2V5OiB0cnVlLFxuICAgIHJlcGx5VG86IHtcbiAgICAgIGlkOiB0cnVlXG4gICAgfSxcbiAgICB0ZW1wb3JhcnlSZWNpcGllbnRzOiB7XG4gICAgICBlbWFpbDogdHJ1ZVxuICAgIH0sXG4gICAgcmVjaXBpZW50czogdXNlclNlbGVjdG9yXG4gIH0sXG4gIGZpbGVzOiB7XG4gICAgZmlsZUtleTogdHJ1ZSxcbiAgICBmaWxlbmFtZTogdHJ1ZSxcbiAgICBmaWxlOiB7XG4gICAgICBpZDogdHJ1ZVxuICAgIH1cbiAgfVxufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQVNBLFFBQVQsUUFBeUIscUJBQXpCO0FBRUEsT0FBTyxNQUFNQyxZQUFZLEdBQUdELFFBQVEsQ0FBQyxNQUFELENBQVIsQ0FBaUI7RUFDM0NFLEVBQUUsRUFBRSxJQUR1QztFQUUzQ0MsSUFBSSxFQUFFLElBRnFDO0VBRzNDQyxVQUFVLEVBQUUsSUFIK0I7RUFJM0NDLFNBQVMsRUFBRSxJQUpnQztFQUszQ0MsR0FBRyxFQUFFLElBTHNDO0VBTTNDQyxZQUFZLEVBQUUsSUFONkI7RUFPM0NDLE1BQU0sRUFBRTtJQUNOQyxHQUFHLEVBQUUsSUFEQztJQUVOQyxRQUFRLEVBQUU7TUFDUkMsT0FBTyxFQUFFO1FBQ1BDLEdBQUcsRUFBRTtNQURFO0lBREQ7RUFGSjtBQVBtQyxDQUFqQixDQUFyQjtBQWlCUCxPQUFPLE1BQU1DLFlBQVksR0FBR2IsUUFBUSxDQUFDLE1BQUQsQ0FBUixDQUFpQjtFQUMzQ0UsRUFBRSxFQUFFLElBRHVDO0VBRTNDWSxTQUFTLEVBQUUsSUFGZ0M7RUFHM0NDLFFBQVEsRUFBRSxJQUhpQztFQUkzQ0MsS0FBSyxFQUFFLElBSm9DO0VBSzNDQyxTQUFTLEVBQUU7QUFMZ0MsQ0FBakIsQ0FBckI7QUFRUCxPQUFPLE1BQU1DLFlBQVksR0FBR2xCLFFBQVEsQ0FBQyxNQUFELENBQVIsQ0FBaUI7RUFDM0NFLEVBQUUsRUFBRSxJQUR1QztFQUUzQ2lCLFVBQVUsRUFBRSxJQUYrQjtFQUczQ0MsSUFBSSxFQUFFLElBSHFDO0VBSTNDZixTQUFTLEVBQUUsSUFKZ0M7RUFLM0NnQixTQUFTLEVBQUUsSUFMZ0M7RUFNM0NDLFNBQVMsRUFBRTtJQUNUQyxJQUFJLEVB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
135
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZWxlY3RvciIsImZpbGVTZWxlY3RvciIsImlkIiwic2l6ZSIsInNpemVCZWZvcmUiLCJjcmVhdGVkQXQiLCJtZDUiLCJtZDVFbmNyeXB0ZWQiLCJhY2Nlc3MiLCJrZXkiLCJzaGFyZWRCeSIsImtleVBhaXIiLCJwdWIiLCJ1c2VyU2VsZWN0b3IiLCJmaXJzdG5hbWUiLCJsYXN0bmFtZSIsImVtYWlsIiwicHVibGljS2V5Iiwibm9kZVNlbGVjdG9yIiwiaXNGYXZvcml0ZSIsInR5cGUiLCJkZWxldGVkQXQiLCJjcmVhdGVkQnkiLCJ1c2VyIiwic2l6ZXMiLCJ1cGRhdGVkQXQiLCJuYW1lIiwicmlnaHRzIiwiaXNSb290IiwibmFtZUtleSIsInVzZXJBcHAiLCJhY2Nlc3NlcyIsImJyZWFkY3J1bWIiLCJwdWJLZXkiLCJwYXJlbnRJZCIsImN1cnJlbnRGaWxlSWQiLCJub2RlRnVsbFNlbGVjdG9yIiwicGFyZW50IiwiY2hpbGRyZW4iLCJoaXN0b3J5IiwiY3VycmVudCIsIm1haWxTZWxlY3RvciIsImJvZHkiLCJzdWJqZWN0Iiwib3BlbmVkQXQiLCJyZWNpcGllbnRzIiwicmVjaXBpZW50Iiwic2VuZGVyIiwibWFpbEludGVncml0eSIsImhhc2giLCJoYXNoS2V5IiwicmVwbHlUbyIsInRlbXBvcmFyeVJlY2lwaWVudHMiLCJtYWlsSW50ZWdyaXR5RHJhZnQiLCJmaWxlcyIsImZpbGVLZXkiLCJmaWxlbmFtZSIsImZpbGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L3R5cGVzL3NlbGVjdG9ycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RvciB9IGZyb20gXCIuLi8uLi96ZXVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBmaWxlU2VsZWN0b3IgPSBTZWxlY3RvcihcIkZpbGVcIikoe1xuICBpZDogdHJ1ZSxcbiAgc2l6ZTogdHJ1ZSxcbiAgc2l6ZUJlZm9yZTogdHJ1ZSxcbiAgY3JlYXRlZEF0OiB0cnVlLFxuICBtZDU6IHRydWUsXG4gIG1kNUVuY3J5cHRlZDogdHJ1ZSxcbiAgYWNjZXNzOiB7XG4gICAga2V5OiB0cnVlLFxuICAgIHNoYXJlZEJ5OiB7XG4gICAgICBrZXlQYWlyOiB7XG4gICAgICAgIHB1YjogdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCB1c2VyU2VsZWN0b3IgPSBTZWxlY3RvcihcIlVzZXJcIikoe1xuICBpZDogdHJ1ZSxcbiAgZmlyc3RuYW1lOiB0cnVlLFxuICBsYXN0bmFtZTogdHJ1ZSxcbiAgZW1haWw6IHRydWUsXG4gIHB1YmxpY0tleTogdHJ1ZVxufSk7XG5cbmV4cG9ydCBjb25zdCBub2RlU2VsZWN0b3IgPSBTZWxlY3RvcihcIk5vZGVcIikoe1xuICBpZDogdHJ1ZSxcbiAgaXNGYXZvcml0ZTogdHJ1ZSxcbiAgdHlwZTogdHJ1ZSxcbiAgY3JlYXRlZEF0OiB0cnVlLFxuICBkZWxldGVkQXQ6IHRydWUsXG4gIGNyZWF0ZWRCeToge1xuICAgIHVzZXI6IHVzZXJTZWxlY3RvclxuICB9LFxuICBzaXplczoge1xuICAgIHNpemU6IHRydWUsXG4gICAgc2l6ZUJlZm9yZTogdHJ1ZVxuICB9LFxuICB1cGRhdGVkQXQ6IHRydWUsXG4gIG5hbWU6IHRydWUsXG4gIGFjY2Vzczoge1xuICAgIHJpZ2h0czogdHJ1ZSxcbiAgICBpc1Jvb3Q6IHRydWUsXG4gICAgbmFtZUtleTogdHJ1ZSxcbiAgICBzaGFyZWRCeToge1xuICAgICAga2V5UGFpcjoge1xuICAgICAgICBwdWI6IHRydWVcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZXJBcHA6IHtcbiAgICAgIHVzZXI6IHVzZXJTZWxlY3RvclxuICAgIH1cbiAgfSxcbiAgYWNjZXNzZXM6IHtcbiAgICByaWdodHM6IHRydWUsXG4gICAgaXNSb290OiB0cnVlLFxuICAgIG5hbWVLZXk6IHRydWUsXG4gICAgc2hhcmVkQnk6IHtcbiAgICAgIGtleVBhaXI6IHtcbiAgICAgICAgcHViOiB0cnVlXG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VyQXBwOiB7XG4gICAgICB1c2VyOiB1c2VyU2VsZWN0b3JcbiAgICB9XG4gIH0sXG4gIGJyZWFkY3J1bWI6IHtcbiAgICBpZDogdHJ1ZSxcbiAgICBuYW1lOiB0cnVlLFxuICAgIG5hbWVLZXk6IHRydWUsXG4gICAgcHViS2V5OiB0cnVlXG4gIH0sXG4gIHBhcmVudElkOiB0cnVlLFxuICBjdXJyZW50RmlsZUlkOiB0cnVlXG59KTtcblxuZXhwb3J0IGNvbnN0IG5vZGVGdWxsU2VsZWN0b3IgPSBTZWxlY3RvcihcIk5vZGVcIikoe1xuICAuLi5ub2RlU2VsZWN0b3IsXG4gIHBhcmVudDogbm9kZVNlbGVjdG9yLFxuICBjaGlsZHJlbjogbm9kZVNlbGVjdG9yLFxuICBoaXN0b3J5OiBmaWxlU2VsZWN0b3IsXG4gIGN1cnJlbnQ6IGZpbGVTZWxlY3RvclxufSk7XG5cbmV4cG9ydCBjb25zdCBtYWlsU2VsZWN0b3IgPSBTZWxlY3RvcihcIk1haWxcIikoe1xuICBpZDogdHJ1ZSxcbiAgdHlwZTogdHJ1ZSxcbiAgYm9keTogdHJ1ZSxcbiAgc3ViamVjdDogdHJ1ZSxcbiAgb3BlbmVkQXQ6IHRydWUsXG4gIGNyZWF0ZWRBdDogdHJ1ZSxcbiAgZGVsZXRlZEF0OiB0cnVlLFxuICByZWNpcGllbnRzOiB7XG4gICAgLi4udXNlclNlbGVjdG9yLFxuICAgIHB1YmxpY0tleTogZmFsc2VcbiAgfSxcbiAgcmVjaXBpZW50OiB7XG4gICAgLi4udXNlclNlbGVjdG9yLFxuICAgIHB1YmxpY0tleTogZmFsc2VcbiAgfSxcbiAgc2VuZGVyOiB1c2VyU2VsZWN0b3IsXG4gIG1haWxJbnRlZ3JpdHk6IHtcbiAgICBpZDogdHJ1ZSxcbiAgICBoYXNoOiB0cnVlLFxuICAgIGhhc2hLZXk6IHRydWUsXG4gICAgcmVwbHlUbzoge1xuICAgICAgaWQ6IHRydWVcbiAgICB9LFxuICAgIHRlbXBvcmFyeVJlY2lwaWVudHM6IHtcbiAgICAgIGVtYWlsOiB0cnVlXG4gICAgfSxcbiAgICByZWNpcGllbnRzOiB7XG4gICAgICAuLi51c2VyU2VsZWN0b3IsXG4gICAgICBwdWJsaWNLZXk6IGZhbHNlXG4gICAgfVxuICB9LFxuICBtYWlsSW50ZWdyaXR5RHJhZnQ6IHtcbiAgICBpZDogdHJ1ZSxcbiAgICBoYXNoOiB0cnVlLFxuICAgIGhhc2hLZXk6IHRydWUsXG4gICAgcmVwbHlUbzoge1xuICAgICAgaWQ6IHRydWVcbiAgICB9LFxuICAgIHRlbXBvcmFyeVJlY2lwaWVudHM6IHtcbiAgICAgIGVtYWlsOiB0cnVlXG4gICAgfSxcbiAgICByZWNpcGllbnRzOiB7XG4gICAgICAuLi51c2VyU2VsZWN0b3IsXG4gICAgICBwdWJsaWNLZXk6IGZhbHNlXG4gICAgfVxuICB9LFxuICBmaWxlczoge1xuICAgIGZpbGVLZXk6IHRydWUsXG4gICAgZmlsZW5hbWU6IHRydWUsXG4gICAgZmlsZToge1xuICAgICAgaWQ6IHRydWVcbiAgICB9XG4gIH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTQSxRQUFRLFFBQVEscUJBQXFCO0FBRTlDLE9BQU8sTUFBTUMsWUFBWSxHQUFHRCxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7RUFDM0NFLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxJQUFJO0VBQ1ZDLFVBQVUsRUFBRSxJQUFJO0VBQ2hCQyxTQUFTLEVBQUUsSUFBSTtFQUNmQyxHQUFHLEVBQUUsSUFBSTtFQUNUQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsTUFBTSxFQUFFO0lBQ05DLEdBQUcsRUFBRSxJQUFJO0lBQ1RDLFFBQVEsRUFBRTtNQUNSQyxPQUFPLEVBQUU7UUFDUEMsR0FBRyxFQUFFO01BQ1A7SUFDRjtFQUNGO0FBQ0YsQ0FBQyxDQUFDO0FBRUYsT0FBTyxNQUFNQyxZQUFZLEdBQUdiLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztFQUMzQ0UsRUFBRSxFQUFFLElBQUk7RUFDUlksU0FBUyxFQUFFLElBQUk7RUFDZkMsUUFBUSxFQUFFLElBQUk7RUFDZEMsS0FBSyxFQUFFLElBQUk7RUFD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
@@ -1,11 +1,11 @@
1
- export declare type EncryptedFile = {
1
+ export type EncryptedFile = {
2
2
  data: Uint8Array;
3
3
  md5: string;
4
4
  md5Encrypted: string;
5
5
  };
6
6
  export declare function secretstreamKeygen(): Uint8Array;
7
7
  export declare const CHUNK_SIZE = 8192;
8
- export declare type Progress = {
8
+ export type Progress = {
9
9
  percent: number;
10
10
  total: number;
11
11
  current: number;
@@ -1,63 +1,52 @@
1
1
  import { setup, sodium } from "../sodium.js";
2
2
  import SparkMD5 from "spark-md5";
3
3
  import { chunks } from "../utils/utils.js";
4
-
5
4
  function assert(c, message) {
6
5
  if (!c) {
7
6
  throw new Error(message);
8
7
  }
9
8
  }
10
-
11
9
  export function secretstreamKeygen() {
12
10
  return sodium.crypto_secretstream_xchacha20poly1305_keygen();
13
11
  }
14
-
15
12
  function encrypt(key) {
16
13
  let destroyed = false;
17
14
  const {
18
15
  state,
19
16
  header
20
17
  } = sodium.crypto_secretstream_xchacha20poly1305_init_push(key);
21
-
22
18
  const encrypt = (tag, plaintext) => {
23
19
  assert(destroyed === false, "state already destroyed");
24
20
  return sodium.crypto_secretstream_xchacha20poly1305_push(state, plaintext, null, tag);
25
21
  };
26
-
27
22
  function destroy() {
28
23
  assert(destroyed === false, "state already destroyed");
29
24
  destroyed = true;
30
25
  }
31
-
32
26
  return {
33
27
  encrypt,
34
28
  destroy,
35
29
  header
36
30
  };
37
31
  }
38
-
39
32
  function decrypt(header, key) {
40
- assert(header.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES, "header must be at least HEADERBYTES (" + sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES + ") long");
41
- assert(key.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES, "key must be at least KEYBYTES (" + sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES + ") long");
33
+ assert(header.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES, `header must be at least HEADERBYTES (${sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`);
34
+ assert(key.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES, `key must be at least KEYBYTES (${sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`);
42
35
  let destroyed = false;
43
36
  const state = sodium.crypto_secretstream_xchacha20poly1305_init_pull(header, key);
44
-
45
37
  const decrypt = ciphertext => {
46
38
  assert(destroyed === false, "state already destroyed");
47
39
  return sodium.crypto_secretstream_xchacha20poly1305_pull(state, ciphertext);
48
40
  };
49
-
50
41
  function destroy() {
51
42
  assert(destroyed === false, "state already destroyed");
52
43
  destroyed = true;
53
44
  }
54
-
55
45
  return {
56
46
  decrypt,
57
47
  destroy
58
48
  };
59
49
  }
60
-
61
50
  export const CHUNK_SIZE = 8192;
62
51
  export async function encryptSecretstream(key, data, progress, abort) {
63
52
  await setup();
@@ -68,7 +57,7 @@ export async function encryptSecretstream(key, data, progress, abort) {
68
57
  } = encrypt(key);
69
58
  const cryptedChunk = CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;
70
59
  const max = Math.ceil(data.byteLength / CHUNK_SIZE) * cryptedChunk + header.byteLength;
71
- progress == null ? void 0 : progress({
60
+ progress?.({
72
61
  percent: 0,
73
62
  total: max,
74
63
  current: 0
@@ -79,18 +68,16 @@ export async function encryptSecretstream(key, data, progress, abort) {
79
68
  final.set(header);
80
69
  sparkEncrypted.append(header);
81
70
  let total = header.byteLength;
82
- progress == null ? void 0 : progress({
71
+ progress?.({
83
72
  percent: total / max,
84
73
  total: max,
85
74
  current: total
86
75
  });
87
76
  let lastPercent = total / max;
88
-
89
77
  for (const chunk of chunks(data, CHUNK_SIZE)) {
90
- if (abort != null && abort.signal.aborted) {
91
- throw new Error("Encrypt aborted");
78
+ if (abort?.signal.aborted) {
79
+ throw new Error(`Encrypt aborted`);
92
80
  }
93
-
94
81
  spark.append(chunk);
95
82
  const tag = chunk.length < CHUNK_SIZE ? sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL : sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE;
96
83
  const crypted = crypt(tag, chunk);
@@ -98,9 +85,8 @@ export async function encryptSecretstream(key, data, progress, abort) {
98
85
  final.set(crypted, total);
99
86
  total += crypted.byteLength;
100
87
  const percent = total / max;
101
-
102
88
  if (percent > lastPercent + 0.01) {
103
- progress == null ? void 0 : progress({
89
+ progress?.({
104
90
  percent,
105
91
  total: max,
106
92
  current: total
@@ -108,9 +94,8 @@ export async function encryptSecretstream(key, data, progress, abort) {
108
94
  lastPercent = percent;
109
95
  }
110
96
  }
111
-
112
97
  destroy();
113
- progress == null ? void 0 : progress({
98
+ progress?.({
114
99
  percent: 1,
115
100
  total,
116
101
  current: total
@@ -131,7 +116,7 @@ export async function decryptSecretstream(key, data, progress, abort) {
131
116
  } = decrypt(header, key);
132
117
  const chunkSize = CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;
133
118
  const max = Math.ceil(data.byteLength / chunkSize) * CHUNK_SIZE;
134
- progress == null ? void 0 : progress({
119
+ progress?.({
135
120
  percent: 0,
136
121
  total: max,
137
122
  current: 0
@@ -139,19 +124,16 @@ export async function decryptSecretstream(key, data, progress, abort) {
139
124
  const final = new Uint8Array(max);
140
125
  let total = 0;
141
126
  let lastPercent = total / max;
142
-
143
127
  for (const chunk of chunks(data, chunkSize)) {
144
- if (abort != null && abort.signal.aborted) {
145
- throw new Error("Decrypt aborted");
128
+ if (abort?.signal.aborted) {
129
+ throw new Error(`Decrypt aborted`);
146
130
  }
147
-
148
131
  const tmp = decryptt(chunk);
149
132
  final.set(tmp.message, total);
150
133
  total += tmp.message.byteLength;
151
134
  const percent = total / max;
152
-
153
135
  if (percent > lastPercent + 0.01) {
154
- progress == null ? void 0 : progress({
136
+ progress?.({
155
137
  percent,
156
138
  total: max,
157
139
  current: total
@@ -159,15 +141,16 @@ export async function decryptSecretstream(key, data, progress, abort) {
159
141
  lastPercent = percent;
160
142
  }
161
143
  }
162
-
163
144
  destroy();
164
- progress == null ? void 0 : progress({
145
+ progress?.({
165
146
  percent: 1,
166
147
  total,
167
148
  current: total
168
149
  });
169
150
  return final.slice(0, total);
170
- } // async function mainSecretstream(random: Uint8Array): Promise<void> {
151
+ }
152
+
153
+ // async function mainSecretstream(random: Uint8Array): Promise<void> {
171
154
  // const key = secretstreamKeygen();
172
155
  // console.time("secretstream_encrypt");
173
156
  // const crypted = encryptSecretstream(key, random);
@@ -199,6 +182,7 @@ export async function decryptSecretstream(key, data, progress, abort) {
199
182
  // equals: first === final
200
183
  // });
201
184
  // }
185
+
202
186
  // async function main(): Promise<void> {
203
187
  // await ready;
204
188
  // console.time("randombytes_buf");
@@ -206,5 +190,6 @@ export async function decryptSecretstream(key, data, progress, abort) {
206
190
  // console.timeEnd("randombytes_buf");
207
191
  // await Promise.all([mainSecretstream(random), mainSecretbox(random)]);
208
192
  // }
193
+
209
194
  // main();
210
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZXR1cCIsInNvZGl1bSIsIlNwYXJrTUQ1IiwiY2h1bmtzIiwiYXNzZXJ0IiwiYyIsIm1lc3NhZ2UiLCJFcnJvciIsInNlY3JldHN0cmVhbUtleWdlbiIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfa2V5Z2VuIiwiZW5jcnlwdCIsImtleSIsImRlc3Ryb3llZCIsInN0YXRlIiwiaGVhZGVyIiwiY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1c2giLCJ0YWciLCJwbGFpbnRleHQiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1c2giLCJkZXN0cm95IiwiZGVjcnlwdCIsImJ5dGVMZW5ndGgiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTIiwiY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdWxsIiwiY2lwaGVydGV4dCIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfcHVsbCIsIkNIVU5LX1NJWkUiLCJlbmNyeXB0U2VjcmV0c3RyZWFtIiwiZGF0YSIsInByb2dyZXNzIiwiYWJvcnQiLCJjcnlwdCIsImNyeXB0ZWRDaHVuayIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTIiwibWF4IiwiTWF0aCIsImNlaWwiLCJwZXJjZW50IiwidG90YWwiLCJjdXJyZW50IiwiZmluYWwiLCJVaW50OEFycmF5Iiwic3BhcmtFbmNyeXB0ZWQiLCJBcnJheUJ1ZmZlciIsInNwYXJrIiwic2V0IiwiYXBwZW5kIiwibGFzdFBlcmNlbnQiLCJjaHVuayIsInNpZ25hbCIsImFib3J0ZWQiLCJsZW5ndGgiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X1RBR19GSU5BTCIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfVEFHX01FU1NBR0UiLCJjcnlwdGVkIiwic2xpY2UiLCJtZDVFbmNyeXB0ZWQiLCJlbmQiLCJtZDUiLCJkZWNyeXB0U2VjcmV0c3RyZWFtIiwiZGVjcnlwdHQiLCJjaHVua1NpemUiLCJ0bXAiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2ZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXNzYWdlVGFnIH0gZnJvbSBcImxpYnNvZGl1bS13cmFwcGVyc1wiO1xuaW1wb3J0IHsgc2V0dXAsIHNvZGl1bSB9IGZyb20gXCIuLi9zb2RpdW0uanNcIjtcbmltcG9ydCBTcGFya01ENSBmcm9tIFwic3BhcmstbWQ1XCI7XG5pbXBvcnQgeyBjaHVua3MgfSBmcm9tIFwiLi4vdXRpbHMvdXRpbHMuanNcIjtcblxuZXhwb3J0IHR5cGUgRW5jcnlwdGVkRmlsZSA9IHtcbiAgZGF0YTogVWludDhBcnJheTtcbiAgbWQ1OiBzdHJpbmc7XG4gIG1kNUVuY3J5cHRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gYXNzZXJ0KGM6IGJvb2xlYW4sIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIWMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cbn1cblxudHlwZSBFbmNyeXB0Rm4gPSAodGFnOiBudW1iZXIsIHBsYWludGV4dDogVWludDhBcnJheSkgPT4gVWludDhBcnJheTtcblxudHlwZSBEZWNyeXB0Rm4gPSAoY2lwaGVydGV4dDogVWludDhBcnJheSkgPT4gTWVzc2FnZVRhZztcblxuZXhwb3J0IGZ1bmN0aW9uIHNlY3JldHN0cmVhbUtleWdlbigpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X2tleWdlbigpO1xufVxuXG5mdW5jdGlvbiBlbmNyeXB0KGtleTogVWludDhBcnJheSk6IHtcbiAgZGVzdHJveTogKCkgPT4gdm9pZDtcbiAgZW5jcnlwdDogRW5jcnlwdEZuO1xuICBoZWFkZXI6IFVpbnQ4QXJyYXk7XG59IHtcbiAgbGV0IGRlc3Ryb3llZCA9IGZhbHNlO1xuICBjb25zdCB7IHN0YXRlLCBoZWFkZXIgfSA9XG4gICAgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdXNoKGtleSk7XG5cbiAgY29uc3QgZW5jcnlwdDogRW5jcnlwdEZuID0gKHRhZywgcGxhaW50ZXh0KSA9PiB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG5cbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfcHVzaChcbiAgICAgIHN0YXRlLFxuICAgICAgcGxhaW50ZXh0LFxuICAgICAgbnVsbCxcbiAgICAgIHRhZ1xuICAgICk7XG4gIH07XG5cbiAgZnVuY3Rpb24gZGVzdHJveSgpOiB2b2lkIHtcbiAgICBhc3NlcnQoZGVzdHJveWVkID09PSBmYWxzZSwgXCJzdGF0ZSBhbHJlYWR5IGRlc3Ryb3llZFwiKTtcbiAgICBkZXN0cm95ZWQgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbmNyeXB0LFxuICAgIGRlc3Ryb3ksXG4gICAgaGVhZGVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIGRlY3J5cHQoXG4gIGhlYWRlcjogVWludDhBcnJheSxcbiAga2V5OiBVaW50OEFycmF5XG4pOiB7XG4gIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XG4gIGRlY3J5cHQ6IERlY3J5cHRGbjtcbn0ge1xuICBhc3NlcnQoXG4gICAgaGVhZGVyLmJ5dGVMZW5ndGggPj1cbiAgICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTLFxuICAgIGBoZWFkZXIgbXVzdCBiZSBhdCBsZWFzdCBIRUFERVJCWVRFUyAoJHtzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9IRUFERVJCWVRFU30pIGxvbmdgXG4gICk7XG4gIGFzc2VydChcbiAgICBrZXkuYnl0ZUxlbmd0aCA+PSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyxcbiAgICBga2V5IG11c3QgYmUgYXQgbGVhc3QgS0VZQllURVMgKCR7c29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfS0VZQllURVN9KSBsb25nYFxuICApO1xuXG4gIGxldCBkZXN0cm95ZWQgPSBmYWxzZTtcbiAgY29uc3Qgc3RhdGUgPSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1bGwoXG4gICAgaGVhZGVyLFxuICAgIGtleVxuICApO1xuXG4gIGNvbnN0IGRlY3J5cHQ6IERlY3J5cHRGbiA9IGNpcGhlcnRleHQgPT4ge1xuICAgIGFzc2VydChkZXN0cm95ZWQgPT09IGZhbHNlLCBcInN0YXRlIGFscmVhZHkgZGVzdHJveWVkXCIpO1xuXG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1bGwoc3RhdGUsIGNpcGhlcnRleHQpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG4gICAgZGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZGVjcnlwdCxcbiAgICBkZXN0cm95XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBDSFVOS19TSVpFID0gODE5MjtcblxuZXhwb3J0IHR5cGUgUHJvZ3Jlc3MgPSB7XG4gIHBlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbiAgY3VycmVudDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRTZWNyZXRzdHJlYW0oXG4gIGtleTogVWludDhBcnJheSxcbiAgZGF0YTogVWludDhBcnJheSxcbiAgcHJvZ3Jlc3M/OiAocHJvZ3Jlc3M6IFByb2dyZXNzKSA9PiBQcm9taXNlPHZvaWQ+LFxuICBhYm9ydD86IEFib3J0Q29udHJvbGxlclxuKTogUHJvbWlzZTxFbmNyeXB0ZWRGaWxlPiB7XG4gIGF3YWl0IHNldHVwKCk7XG4gIGNvbnN0IHsgZW5jcnlwdDogY3J5cHQsIGRlc3Ryb3ksIGhlYWRlciB9ID0gZW5jcnlwdChrZXkpO1xuICBjb25zdCBjcnlwdGVkQ2h1bmsgPVxuICAgIENIVU5LX1NJWkUgKyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9BQllURVM7XG4gIGNvbnN0IG1heCA9XG4gICAgTWF0aC5jZWlsKGRhdGEuYnl0ZUxlbmd0aCAvIENIVU5LX1NJWkUpICogY3J5cHRlZENodW5rICsgaGVhZGVyLmJ5dGVMZW5ndGg7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgY29uc3Qgc3BhcmtFbmNyeXB0ZWQgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcbiAgY29uc3Qgc3BhcmsgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcblxuICBmaW5hbC5zZXQoaGVhZGVyKTtcbiAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGhlYWRlcik7XG4gIGxldCB0b3RhbCA9IGhlYWRlci5ieXRlTGVuZ3RoO1xuICBwcm9ncmVzcz8uKHtcbiAgICBwZXJjZW50OiB0b3RhbCAvIG1heCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IHRvdGFsXG4gIH0pO1xuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBDSFVOS19TSVpFKSkge1xuICAgIGlmIChhYm9ydD8uc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRW5jcnlwdCBhYm9ydGVkYCk7XG4gICAgfVxuICAgIHNwYXJrLmFwcGVuZChjaHVuayk7XG4gICAgY29uc3QgdGFnID1cbiAgICAgIGNodW5rLmxlbmd0aCA8IENIVU5LX1NJWkVcbiAgICAgICAgPyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfRklOQUxcbiAgICAgICAgOiBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfTUVTU0FHRTtcbiAgICBjb25zdCBjcnlwdGVkID0gY3J5cHQodGFnLCBjaHVuayk7XG4gICAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGNyeXB0ZWQpO1xuICAgIGZpbmFsLnNldChjcnlwdGVkLCB0b3RhbCk7XG4gICAgdG90YWwgKz0gY3J5cHRlZC5ieXRlTGVuZ3RoO1xuICAgIGNvbnN0IHBlcmNlbnQgPSB0b3RhbCAvIG1heDtcbiAgICBpZiAocGVyY2VudCA+IGxhc3RQZXJjZW50ICsgMC4wMSkge1xuICAgICAgcHJvZ3Jlc3M/Lih7XG4gICAgICAgIHBlcmNlbnQsXG4gICAgICAgIHRvdGFsOiBtYXgsXG4gICAgICAgIGN1cnJlbnQ6IHRvdGFsXG4gICAgICB9KTtcbiAgICAgIGxhc3RQZXJjZW50ID0gcGVyY2VudDtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCk7XG4gIHByb2dyZXNzPy4oe1xuICAgIHBlcmNlbnQ6IDEsXG4gICAgdG90YWwsXG4gICAgY3VycmVudDogdG90YWxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgZGF0YTogZmluYWwuc2xpY2UoMCwgdG90YWwpLFxuICAgIG1kNUVuY3J5cHRlZDogc3BhcmtFbmNyeXB0ZWQuZW5kKCksXG4gICAgbWQ1OiBzcGFyay5lbmQoKVxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVjcnlwdFNlY3JldHN0cmVhbShcbiAga2V5OiBVaW50OEFycmF5LFxuICBkYXRhOiBVaW50OEFycmF5LFxuICBwcm9ncmVzcz86IChwcm9ncmVzczogUHJvZ3Jlc3MpID0+IFByb21pc2U8dm9pZD4sXG4gIGFib3J0PzogQWJvcnRDb250cm9sbGVyXG4pOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgYXdhaXQgc2V0dXAoKTtcbiAgY29uc3QgaGVhZGVyID0gZGF0YS5zbGljZShcbiAgICAwLFxuICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTXG4gICk7XG4gIGRhdGEgPSBkYXRhLnNsaWNlKHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTKTtcblxuICBjb25zdCB7IGRlY3J5cHQ6IGRlY3J5cHR0LCBkZXN0cm95IH0gPSBkZWNyeXB0KGhlYWRlciwga2V5KTtcbiAgY29uc3QgY2h1bmtTaXplID1cbiAgICBDSFVOS19TSVpFICsgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTO1xuICBjb25zdCBtYXggPSBNYXRoLmNlaWwoZGF0YS5ieXRlTGVuZ3RoIC8gY2h1bmtTaXplKSAqIENIVU5LX1NJWkU7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgbGV0IHRvdGFsID0gMDtcblxuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBjaHVua1NpemUpKSB7XG4gICAgaWYgKGFib3J0Py5zaWduYWwuYWJvcnRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWNyeXB0IGFib3J0ZWRgKTtcbiAgICB9XG4gICAgY29uc3QgdG1wID0gZGVjcnlwdHQoY2h1bmspO1xuICAgIGZpbmFsLnNldCh0bXAubWVzc2FnZSwgdG90YWwpO1xuICAgIHRvdGFsICs9IHRtcC5tZXNzYWdlLmJ5dGVMZW5ndGg7XG4gICAgY29uc3QgcGVyY2VudCA9IHRvdGFsIC8gbWF4O1xuICAgIGlmIChwZXJjZW50ID4gbGFzdFBlcmNlbnQgKyAwLjAxKSB7XG4gICAgICBwcm9ncmVzcz8uKHtcbiAgICAgICAgcGVyY2VudCxcbiAgICAgICAgdG90YWw6IG1heCxcbiAgICAgICAgY3VycmVudDogdG90YWxcbiAgICAgIH0pO1xuICAgICAgbGFzdFBlcmNlbnQgPSBwZXJjZW50O1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKTtcbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMSxcbiAgICB0b3RhbCxcbiAgICBjdXJyZW50OiB0b3RhbFxuICB9KTtcbiAgcmV0dXJuIGZpbmFsLnNsaWNlKDAsIHRvdGFsKTtcbn1cblxuLy8gYXN5bmMgZnVuY3Rpb24gbWFpblNlY3JldHN0cmVhbShyYW5kb206IFVpbnQ4QXJyYXkpOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgY29uc3Qga2V5ID0gc2VjcmV0c3RyZWFtS2V5Z2VuKCk7XG4vLyAgIGNvbnNvbGUudGltZShcInNlY3JldHN0cmVhbV9lbmNyeXB0XCIpO1xuLy8gICBjb25zdCBjcnlwdGVkID0gZW5jcnlwdFNlY3JldHN0cmVhbShrZXksIHJhbmRvbSk7XG4vLyAgIGNvbnNvbGUudGltZUVuZChcInNlY3JldHN0cmVhbV9lbmNyeXB0XCIpO1xuLy8gICBjb25zb2xlLnRpbWUoXCJzZWNyZXRzdHJlYW1fZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZGVjcnlwdGVkID0gZGVjcnlwdFNlY3JldHN0cmVhbShrZXksIGNyeXB0ZWQpO1xuLy8gICBjb25zb2xlLnRpbWVFbmQoXCJzZWNyZXRzdHJlYW1fZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZmlyc3QgPSB0b19oZXgocmFuZG9tKS5zbGljZSgwLCAzMik7XG4vLyAgIGNvbnN0IGZpbmFsID0gdG9faGV4KGRlY3J5cHRlZCkuc2xpY2UoMCwgMzIpO1xuLy8gICBjb25zb2xlLmxvZyh7XG4vLyAgICAgZmlyc3QsXG4vLyAgICAgZmluYWwsXG4vLyAgICAgZXF1YWxzOiBmaXJzdCA9PT0gZmluYWxcbi8vICAgfSk7XG4vLyB9XG4vLyBhc3luYyBmdW5jdGlvbiBtYWluU2VjcmV0Ym94KHJhbmRvbTogVWludDhBcnJheSk6IFByb21pc2U8dm9pZD4ge1xuLy8gICBjb25zdCBrZXkgPSBnZW5lcmF0ZVNlY3JldEJveCgpO1xuLy8gICBjb25zb2xlLnRpbWUoXCJzZWNyZXRib3hfZW5jcnlwdFwiKTtcbi8vICAgY29uc3QgY3J5cHRlZCA9IGVuY3J5cHRGaWxlKHJhbmRvbSwga2V5KTtcbi8vICAgY29uc29sZS50aW1lRW5kKFwic2VjcmV0Ym94X2VuY3J5cHRcIik7XG4vLyAgIGNvbnNvbGUudGltZShcInNlY3JldGJveF9kZWNyeXB0XCIpO1xuLy8gICBjb25zdCBkZWNyeXB0ZWQgPSBkZWNyeXB0RmlsZShjcnlwdGVkLCBrZXkpO1xuLy8gICBjb25zb2xlLnRpbWVFbmQoXCJzZWNyZXRib3hfZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZmlyc3QgPSB0b19oZXgocmFuZG9tKS5zbGljZSgwLCAzMik7XG4vLyAgIGNvbnN0IGZpbmFsID0gdG9faGV4KGRlY3J5cHRlZCkuc2xpY2UoMCwgMzIpO1xuLy8gICBjb25zb2xlLmxvZyh7XG4vLyAgICAgZmlyc3QsXG4vLyAgICAgZmluYWwsXG4vLyAgICAgZXF1YWxzOiBmaXJzdCA9PT0gZmluYWxcbi8vICAgfSk7XG4vLyB9XG5cbi8vIGFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTx2b2lkPiB7XG4vLyAgIGF3YWl0IHJlYWR5O1xuLy8gICBjb25zb2xlLnRpbWUoXCJyYW5kb21ieXRlc19idWZcIik7XG4vLyAgIGNvbnN0IHJhbmRvbSA9IHJhbmRvbWJ5dGVzX2J1ZigxXzAwMF8wMDAgKiAxMDI0KTtcbi8vICAgY29uc29sZS50aW1lRW5kKFwicmFuZG9tYnl0ZXNfYnVmXCIpO1xuLy8gICBhd2FpdCBQcm9taXNlLmFsbChbbWFpblNlY3JldHN0cmVhbShyYW5kb20pLCBtYWluU2VjcmV0Ym94KHJhbmRvbSldKTtcbi8vIH1cblxuLy8gbWFpbigpO1xuIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxLQUFULEVBQWdCQyxNQUFoQixRQUE4QixjQUE5QjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsV0FBckI7QUFDQSxTQUFTQyxNQUFULFFBQXVCLG1CQUF2Qjs7QUFRQSxTQUFTQyxNQUFULENBQWdCQyxDQUFoQixFQUE0QkMsT0FBNUIsRUFBbUQ7RUFDakQsSUFBSSxDQUFDRCxDQUFMLEVBQVE7SUFDTixNQUFNLElBQUlFLEtBQUosQ0FBVUQsT0FBVixDQUFOO0VBQ0Q7QUFDRjs7QUFNRCxPQUFPLFNBQVNFLGtCQUFULEdBQTBDO0VBQy9DLE9BQU9QLE1BQU0sQ0FBQ1EsNENBQVAsRUFBUDtBQUNEOztBQUVELFNBQVNDLE9BQVQsQ0FBaUJDLEdBQWpCLEVBSUU7RUFDQSxJQUFJQyxTQUFTLEdBQUcsS0FBaEI7RUFDQSxNQUFNO0lBQUVDLEtBQUY7SUFBU0M7RUFBVCxJQUNKYixNQUFNLENBQUNjLCtDQUFQLENBQXVESixHQUF2RCxDQURGOztFQUdBLE1BQU1ELE9BQWtCLEdBQUcsQ0FBQ00sR0FBRCxFQUFNQyxTQUFOLEtBQW9CO0lBQzdDYixNQUFNLENBQUNRLFNBQVMsS0FBSyxLQUFmLEVBQXNCLHlCQUF0QixDQUFOO0lBRUEsT0FBT1gsTUFBTSxDQUFDaUIsMENBQVAsQ0FDTEwsS0FESyxFQUVMSSxTQUZLLEVBR0wsSUFISyxFQUlMRCxHQUpLLENBQVA7RUFNRCxDQVREOztFQVdBLFNBQVNHLE9BQVQsR0FBeUI7SUFDdkJmLE1BQU0sQ0FBQ1EsU0FBUyxLQUFLLEtBQWYsRUFBc0IseUJBQXRCLENBQU47SUFDQUEsU0FBUyxHQUFHLElB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
195
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZXR1cCIsInNvZGl1bSIsIlNwYXJrTUQ1IiwiY2h1bmtzIiwiYXNzZXJ0IiwiYyIsIm1lc3NhZ2UiLCJFcnJvciIsInNlY3JldHN0cmVhbUtleWdlbiIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfa2V5Z2VuIiwiZW5jcnlwdCIsImtleSIsImRlc3Ryb3llZCIsInN0YXRlIiwiaGVhZGVyIiwiY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1c2giLCJ0YWciLCJwbGFpbnRleHQiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1c2giLCJkZXN0cm95IiwiZGVjcnlwdCIsImJ5dGVMZW5ndGgiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTIiwiY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdWxsIiwiY2lwaGVydGV4dCIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfcHVsbCIsIkNIVU5LX1NJWkUiLCJlbmNyeXB0U2VjcmV0c3RyZWFtIiwiZGF0YSIsInByb2dyZXNzIiwiYWJvcnQiLCJjcnlwdCIsImNyeXB0ZWRDaHVuayIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTIiwibWF4IiwiTWF0aCIsImNlaWwiLCJwZXJjZW50IiwidG90YWwiLCJjdXJyZW50IiwiZmluYWwiLCJVaW50OEFycmF5Iiwic3BhcmtFbmNyeXB0ZWQiLCJBcnJheUJ1ZmZlciIsInNwYXJrIiwic2V0IiwiYXBwZW5kIiwibGFzdFBlcmNlbnQiLCJjaHVuayIsInNpZ25hbCIsImFib3J0ZWQiLCJsZW5ndGgiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X1RBR19GSU5BTCIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfVEFHX01FU1NBR0UiLCJjcnlwdGVkIiwic2xpY2UiLCJtZDVFbmNyeXB0ZWQiLCJlbmQiLCJtZDUiLCJkZWNyeXB0U2VjcmV0c3RyZWFtIiwiZGVjcnlwdHQiLCJjaHVua1NpemUiLCJ0bXAiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2ZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXNzYWdlVGFnIH0gZnJvbSBcImxpYnNvZGl1bS13cmFwcGVyc1wiO1xuaW1wb3J0IHsgc2V0dXAsIHNvZGl1bSB9IGZyb20gXCIuLi9zb2RpdW0uanNcIjtcbmltcG9ydCBTcGFya01ENSBmcm9tIFwic3BhcmstbWQ1XCI7XG5pbXBvcnQgeyBjaHVua3MgfSBmcm9tIFwiLi4vdXRpbHMvdXRpbHMuanNcIjtcblxuZXhwb3J0IHR5cGUgRW5jcnlwdGVkRmlsZSA9IHtcbiAgZGF0YTogVWludDhBcnJheTtcbiAgbWQ1OiBzdHJpbmc7XG4gIG1kNUVuY3J5cHRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gYXNzZXJ0KGM6IGJvb2xlYW4sIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIWMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cbn1cblxudHlwZSBFbmNyeXB0Rm4gPSAodGFnOiBudW1iZXIsIHBsYWludGV4dDogVWludDhBcnJheSkgPT4gVWludDhBcnJheTtcblxudHlwZSBEZWNyeXB0Rm4gPSAoY2lwaGVydGV4dDogVWludDhBcnJheSkgPT4gTWVzc2FnZVRhZztcblxuZXhwb3J0IGZ1bmN0aW9uIHNlY3JldHN0cmVhbUtleWdlbigpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X2tleWdlbigpO1xufVxuXG5mdW5jdGlvbiBlbmNyeXB0KGtleTogVWludDhBcnJheSk6IHtcbiAgZGVzdHJveTogKCkgPT4gdm9pZDtcbiAgZW5jcnlwdDogRW5jcnlwdEZuO1xuICBoZWFkZXI6IFVpbnQ4QXJyYXk7XG59IHtcbiAgbGV0IGRlc3Ryb3llZCA9IGZhbHNlO1xuICBjb25zdCB7IHN0YXRlLCBoZWFkZXIgfSA9XG4gICAgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdXNoKGtleSk7XG5cbiAgY29uc3QgZW5jcnlwdDogRW5jcnlwdEZuID0gKHRhZywgcGxhaW50ZXh0KSA9PiB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG5cbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfcHVzaChcbiAgICAgIHN0YXRlLFxuICAgICAgcGxhaW50ZXh0LFxuICAgICAgbnVsbCxcbiAgICAgIHRhZ1xuICAgICk7XG4gIH07XG5cbiAgZnVuY3Rpb24gZGVzdHJveSgpOiB2b2lkIHtcbiAgICBhc3NlcnQoZGVzdHJveWVkID09PSBmYWxzZSwgXCJzdGF0ZSBhbHJlYWR5IGRlc3Ryb3llZFwiKTtcbiAgICBkZXN0cm95ZWQgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbmNyeXB0LFxuICAgIGRlc3Ryb3ksXG4gICAgaGVhZGVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIGRlY3J5cHQoXG4gIGhlYWRlcjogVWludDhBcnJheSxcbiAga2V5OiBVaW50OEFycmF5XG4pOiB7XG4gIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XG4gIGRlY3J5cHQ6IERlY3J5cHRGbjtcbn0ge1xuICBhc3NlcnQoXG4gICAgaGVhZGVyLmJ5dGVMZW5ndGggPj1cbiAgICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTLFxuICAgIGBoZWFkZXIgbXVzdCBiZSBhdCBsZWFzdCBIRUFERVJCWVRFUyAoJHtzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9IRUFERVJCWVRFU30pIGxvbmdgXG4gICk7XG4gIGFzc2VydChcbiAgICBrZXkuYnl0ZUxlbmd0aCA+PSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyxcbiAgICBga2V5IG11c3QgYmUgYXQgbGVhc3QgS0VZQllURVMgKCR7c29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfS0VZQllURVN9KSBsb25nYFxuICApO1xuXG4gIGxldCBkZXN0cm95ZWQgPSBmYWxzZTtcbiAgY29uc3Qgc3RhdGUgPSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1bGwoXG4gICAgaGVhZGVyLFxuICAgIGtleVxuICApO1xuXG4gIGNvbnN0IGRlY3J5cHQ6IERlY3J5cHRGbiA9IGNpcGhlcnRleHQgPT4ge1xuICAgIGFzc2VydChkZXN0cm95ZWQgPT09IGZhbHNlLCBcInN0YXRlIGFscmVhZHkgZGVzdHJveWVkXCIpO1xuXG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1bGwoc3RhdGUsIGNpcGhlcnRleHQpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG4gICAgZGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZGVjcnlwdCxcbiAgICBkZXN0cm95XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBDSFVOS19TSVpFID0gODE5MjtcblxuZXhwb3J0IHR5cGUgUHJvZ3Jlc3MgPSB7XG4gIHBlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbiAgY3VycmVudDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRTZWNyZXRzdHJlYW0oXG4gIGtleTogVWludDhBcnJheSxcbiAgZGF0YTogVWludDhBcnJheSxcbiAgcHJvZ3Jlc3M/OiAocHJvZ3Jlc3M6IFByb2dyZXNzKSA9PiBQcm9taXNlPHZvaWQ+LFxuICBhYm9ydD86IEFib3J0Q29udHJvbGxlclxuKTogUHJvbWlzZTxFbmNyeXB0ZWRGaWxlPiB7XG4gIGF3YWl0IHNldHVwKCk7XG4gIGNvbnN0IHsgZW5jcnlwdDogY3J5cHQsIGRlc3Ryb3ksIGhlYWRlciB9ID0gZW5jcnlwdChrZXkpO1xuICBjb25zdCBjcnlwdGVkQ2h1bmsgPVxuICAgIENIVU5LX1NJWkUgKyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9BQllURVM7XG4gIGNvbnN0IG1heCA9XG4gICAgTWF0aC5jZWlsKGRhdGEuYnl0ZUxlbmd0aCAvIENIVU5LX1NJWkUpICogY3J5cHRlZENodW5rICsgaGVhZGVyLmJ5dGVMZW5ndGg7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgY29uc3Qgc3BhcmtFbmNyeXB0ZWQgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcbiAgY29uc3Qgc3BhcmsgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcblxuICBmaW5hbC5zZXQoaGVhZGVyKTtcbiAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGhlYWRlcik7XG4gIGxldCB0b3RhbCA9IGhlYWRlci5ieXRlTGVuZ3RoO1xuICBwcm9ncmVzcz8uKHtcbiAgICBwZXJjZW50OiB0b3RhbCAvIG1heCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IHRvdGFsXG4gIH0pO1xuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBDSFVOS19TSVpFKSkge1xuICAgIGlmIChhYm9ydD8uc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRW5jcnlwdCBhYm9ydGVkYCk7XG4gICAgfVxuICAgIHNwYXJrLmFwcGVuZChjaHVuayk7XG4gICAgY29uc3QgdGFnID1cbiAgICAgIGNodW5rLmxlbmd0aCA8IENIVU5LX1NJWkVcbiAgICAgICAgPyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfRklOQUxcbiAgICAgICAgOiBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfTUVTU0FHRTtcbiAgICBjb25zdCBjcnlwdGVkID0gY3J5cHQodGFnLCBjaHVuayk7XG4gICAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGNyeXB0ZWQpO1xuICAgIGZpbmFsLnNldChjcnlwdGVkLCB0b3RhbCk7XG4gICAgdG90YWwgKz0gY3J5cHRlZC5ieXRlTGVuZ3RoO1xuICAgIGNvbnN0IHBlcmNlbnQgPSB0b3RhbCAvIG1heDtcbiAgICBpZiAocGVyY2VudCA+IGxhc3RQZXJjZW50ICsgMC4wMSkge1xuICAgICAgcHJvZ3Jlc3M/Lih7XG4gICAgICAgIHBlcmNlbnQsXG4gICAgICAgIHRvdGFsOiBtYXgsXG4gICAgICAgIGN1cnJlbnQ6IHRvdGFsXG4gICAgICB9KTtcbiAgICAgIGxhc3RQZXJjZW50ID0gcGVyY2VudDtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCk7XG4gIHByb2dyZXNzPy4oe1xuICAgIHBlcmNlbnQ6IDEsXG4gICAgdG90YWwsXG4gICAgY3VycmVudDogdG90YWxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgZGF0YTogZmluYWwuc2xpY2UoMCwgdG90YWwpLFxuICAgIG1kNUVuY3J5cHRlZDogc3BhcmtFbmNyeXB0ZWQuZW5kKCksXG4gICAgbWQ1OiBzcGFyay5lbmQoKVxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVjcnlwdFNlY3JldHN0cmVhbShcbiAga2V5OiBVaW50OEFycmF5LFxuICBkYXRhOiBVaW50OEFycmF5LFxuICBwcm9ncmVzcz86IChwcm9ncmVzczogUHJvZ3Jlc3MpID0+IFByb21pc2U8dm9pZD4sXG4gIGFib3J0PzogQWJvcnRDb250cm9sbGVyXG4pOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgYXdhaXQgc2V0dXAoKTtcbiAgY29uc3QgaGVhZGVyID0gZGF0YS5zbGljZShcbiAgICAwLFxuICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTXG4gICk7XG4gIGRhdGEgPSBkYXRhLnNsaWNlKHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTKTtcblxuICBjb25zdCB7IGRlY3J5cHQ6IGRlY3J5cHR0LCBkZXN0cm95IH0gPSBkZWNyeXB0KGhlYWRlciwga2V5KTtcbiAgY29uc3QgY2h1bmtTaXplID1cbiAgICBDSFVOS19TSVpFICsgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTO1xuICBjb25zdCBtYXggPSBNYXRoLmNlaWwoZGF0YS5ieXRlTGVuZ3RoIC8gY2h1bmtTaXplKSAqIENIVU5LX1NJWkU7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgbGV0IHRvdGFsID0gMDtcblxuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBjaHVua1NpemUpKSB7XG4gICAgaWYgKGFib3J0Py5zaWduYWwuYWJvcnRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWNyeXB0IGFib3J0ZWRgKTtcbiAgICB9XG4gICAgY29uc3QgdG1wID0gZGVjcnlwdHQoY2h1bmspO1xuICAgIGZpbmFsLnNldCh0bXAubWVzc2FnZSwgdG90YWwpO1xuICAgIHRvdGFsICs9IHRtcC5tZXNzYWdlLmJ5dGVMZW5ndGg7XG4gICAgY29uc3QgcGVyY2VudCA9IHRvdGFsIC8gbWF4O1xuICAgIGlmIChwZXJjZW50ID4gbGFzdFBlcmNlbnQgKyAwLjAxKSB7XG4gICAgICBwcm9ncmVzcz8uKHtcbiAgICAgICAgcGVyY2VudCxcbiAgICAgICAgdG90YWw6IG1heCxcbiAgICAgICAgY3VycmVudDogdG90YWxcbiAgICAgIH0pO1xuICAgICAgbGFzdFBlcmNlbnQgPSBwZXJjZW50O1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKTtcbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMSxcbiAgICB0b3RhbCxcbiAgICBjdXJyZW50OiB0b3RhbFxuICB9KTtcbiAgcmV0dXJuIGZpbmFsLnNsaWNlKDAsIHRvdGFsKTtcbn1cblxuLy8gYXN5bmMgZnVuY3Rpb24gbWFpblNlY3JldHN0cmVhbShyYW5kb206IFVpbnQ4QXJyYXkpOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgY29uc3Qga2V5ID0gc2VjcmV0c3RyZWFtS2V5Z2VuKCk7XG4vLyAgIGNvbnNvbGUudGltZShcInNlY3JldHN0cmVhbV9lbmNyeXB0XCIpO1xuLy8gICBjb25zdCBjcnlwdGVkID0gZW5jcnlwdFNlY3JldHN0cmVhbShrZXksIHJhbmRvbSk7XG4vLyAgIGNvbnNvbGUudGltZUVuZChcInNlY3JldHN0cmVhbV9lbmNyeXB0XCIpO1xuLy8gICBjb25zb2xlLnRpbWUoXCJzZWNyZXRzdHJlYW1fZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZGVjcnlwdGVkID0gZGVjcnlwdFNlY3JldHN0cmVhbShrZXksIGNyeXB0ZWQpO1xuLy8gICBjb25zb2xlLnRpbWVFbmQoXCJzZWNyZXRzdHJlYW1fZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZmlyc3QgPSB0b19oZXgocmFuZG9tKS5zbGljZSgwLCAzMik7XG4vLyAgIGNvbnN0IGZpbmFsID0gdG9faGV4KGRlY3J5cHRlZCkuc2xpY2UoMCwgMzIpO1xuLy8gICBjb25zb2xlLmxvZyh7XG4vLyAgICAgZmlyc3QsXG4vLyAgICAgZmluYWwsXG4vLyAgICAgZXF1YWxzOiBmaXJzdCA9PT0gZmluYWxcbi8vICAgfSk7XG4vLyB9XG4vLyBhc3luYyBmdW5jdGlvbiBtYWluU2VjcmV0Ym94KHJhbmRvbTogVWludDhBcnJheSk6IFByb21pc2U8dm9pZD4ge1xuLy8gICBjb25zdCBrZXkgPSBnZW5lcmF0ZVNlY3JldEJveCgpO1xuLy8gICBjb25zb2xlLnRpbWUoXCJzZWNyZXRib3hfZW5jcnlwdFwiKTtcbi8vICAgY29uc3QgY3J5cHRlZCA9IGVuY3J5cHRGaWxlKHJhbmRvbSwga2V5KTtcbi8vICAgY29uc29sZS50aW1lRW5kKFwic2VjcmV0Ym94X2VuY3J5cHRcIik7XG4vLyAgIGNvbnNvbGUudGltZShcInNlY3JldGJveF9kZWNyeXB0XCIpO1xuLy8gICBjb25zdCBkZWNyeXB0ZWQgPSBkZWNyeXB0RmlsZShjcnlwdGVkLCBrZXkpO1xuLy8gICBjb25zb2xlLnRpbWVFbmQoXCJzZWNyZXRib3hfZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZmlyc3QgPSB0b19oZXgocmFuZG9tKS5zbGljZSgwLCAzMik7XG4vLyAgIGNvbnN0IGZpbmFsID0gdG9faGV4KGRlY3J5cHRlZCkuc2xpY2UoMCwgMzIpO1xuLy8gICBjb25zb2xlLmxvZyh7XG4vLyAgICAgZmlyc3QsXG4vLyAgICAgZmluYWwsXG4vLyAgICAgZXF1YWxzOiBmaXJzdCA9PT0gZmluYWxcbi8vICAgfSk7XG4vLyB9XG5cbi8vIGFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTx2b2lkPiB7XG4vLyAgIGF3YWl0IHJlYWR5O1xuLy8gICBjb25zb2xlLnRpbWUoXCJyYW5kb21ieXRlc19idWZcIik7XG4vLyAgIGNvbnN0IHJhbmRvbSA9IHJhbmRvbWJ5dGVzX2J1ZigxXzAwMF8wMDAgKiAxMDI0KTtcbi8vICAgY29uc29sZS50aW1lRW5kKFwicmFuZG9tYnl0ZXNfYnVmXCIpO1xuLy8gICBhd2FpdCBQcm9taXNlLmFsbChbbWFpblNlY3JldHN0cmVhbShyYW5kb20pLCBtYWluU2VjcmV0Ym94KHJhbmRvbSldKTtcbi8vIH1cblxuLy8gbWFpbigpO1xuIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxLQUFLLEVBQUVDLE1BQU0sUUFBUSxjQUFjO0FBQzVDLE9BQU9DLFFBQVEsTUFBTSxXQUFXO0FBQ2hDLFNBQVNDLE1BQU0sUUFBUSxtQkFBbUI7QUFRMUMsU0FBU0MsTUFBTSxDQUFDQyxDQUFVLEVBQUVDLE9BQWUsRUFBUTtFQUNqRCxJQUFJLENBQUNELENBQUMsRUFBRTtJQUNOLE1BQU0sSUFBSUUsS0FBSyxDQUFDRCxPQUFPLENBQUM7RUFDMUI7QUFDRjtBQU1BLE9BQU8sU0FBU0Usa0JBQWtCLEdBQWU7RUFDL0MsT0FBT1AsTUFBTSxDQUFDUSw0Q0FBNEMsRUFBRTtBQUM5RDtBQUVBLFNBQVNDLE9BQU8sQ0FBQ0MsR0FBZSxFQUk5QjtFQUNBLElBQUlDLFNBQVMsR0FBRyxLQUFLO0VBQ3JCLE1BQU07SUFBRUMsS0FBSztJQUFFQztFQUFPLENBQUMsR0FDckJiLE1BQU0sQ0FBQ2MsK0NBQStDLENBQUNKLEdBQUcsQ0FBQztFQUU3RCxNQUFNRCxPQUFrQixHQUFHLENBQUNNLEdBQUcsRUFBRUMsU0FBUyxLQUFLO0lBQzdDYixNQUFNLENBQUNRLFNBQVMsS0FBSyxLQUFLLEVBQUUseUJBQXlCLENBQUM7SUFFdEQsT0FBT1gsTUFBTSxDQUFDaUIsMENBQTBDLENBQ3RETCxLQUFLLEVBQ0xJLFNBQVMsRUFDVCxJQUFJLEVBQ0pELEdBQUcsQ0FDSjtFQUNILENBQUM7RUFFRCxTQUFTRyxPQUFPLEdBQVM7SUFDdkJmLE1BQU0sQ0FBQ1EsU0FBUyxLQUFLLEtBQUssRUFBRSx5QkFBeUIsQ0FBQztJQUN0REEsU0FBUyxHQUFHLElBQUk7RUFD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
@@ -12,7 +12,6 @@ export function decryptCryptoBox(data, publicKeyAlice, privateKeyBob) {
12
12
  if (data.length < sodium.crypto_box_NONCEBYTES + sodium.crypto_box_MACBYTES) {
13
13
  throw "data too short";
14
14
  }
15
-
16
15
  const nonce = data.slice(0, sodium.crypto_box_NONCEBYTES);
17
16
  const cipher = data.slice(sodium.crypto_box_NONCEBYTES);
18
17
  return sodium.crypto_box_open_easy(cipher, nonce, sodium.from_hex(publicKeyAlice), sodium.from_hex(privateKeyBob));
@@ -29,7 +28,6 @@ export function decryptSecretBox(data, key) {
29
28
  if (data.length < sodium.crypto_secretbox_NONCEBYTES + sodium.crypto_secretbox_MACBYTES) {
30
29
  throw "data too short";
31
30
  }
32
-
33
31
  const nonce = data.slice(0, sodium.crypto_secretbox_NONCEBYTES);
34
32
  const cipher = data.slice(sodium.crypto_secretbox_NONCEBYTES);
35
33
  return sodium.crypto_secretbox_open_easy(cipher, nonce, sodium.from_hex(key));
@@ -44,4 +42,4 @@ export function decryptAnonymous(data, _ref) {
44
42
  } = _ref;
45
43
  return sodium.crypto_box_seal_open(data, sodium.from_hex(publicKey), sodium.from_hex(privateKey));
46
44
  }
47
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25jYXRlbmF0ZSIsInNvZGl1bSIsImVuY3J5cHRDcnlwdG9Cb3giLCJkYXRhIiwicHVibGljS2V5Qm9iIiwicHJpdmF0ZUtleUFsaWNlIiwibm9uY2UiLCJyYW5kb21ieXRlc19idWYiLCJjcnlwdG9fYm94X05PTkNFQllURVMiLCJjcnlwdCIsImNyeXB0b19ib3hfZWFzeSIsImZyb21faGV4IiwiZ2VuZXJhdGVDcnlwdG9Cb3hLZXlQYWlyIiwiY3J5cHRvX2JveF9rZXlwYWlyIiwiZGVjcnlwdENyeXB0b0JveCIsInB1YmxpY0tleUFsaWNlIiwicHJpdmF0ZUtleUJvYiIsImxlbmd0aCIsImNyeXB0b19ib3hfTUFDQllURVMiLCJzbGljZSIsImNpcGhlciIsImNyeXB0b19ib3hfb3Blbl9lYXN5IiwiZ2VuZXJhdGVTZWNyZXRCb3hLZXkiLCJjcnlwdG9fc2VjcmV0Ym94X0tFWUJZVEVTIiwiZW5jcnlwdFNlY3JldEJveCIsImtleSIsImNyeXB0b19zZWNyZXRib3hfTk9OQ0VCWVRFUyIsImNyeXB0b19zZWNyZXRib3hfZWFzeSIsImRlY3J5cHRTZWNyZXRCb3giLCJjcnlwdG9fc2VjcmV0Ym94X01BQ0JZVEVTIiwiY3J5cHRvX3NlY3JldGJveF9vcGVuX2Vhc3kiLCJlbmNyeXB0QW5vbnltb3VzIiwicmVjZWl2ZXJQdWJsaWNLZXkiLCJjcnlwdG9fYm94X3NlYWwiLCJkZWNyeXB0QW5vbnltb3VzIiwicHJpdmF0ZUtleSIsInB1YmxpY0tleSIsImNyeXB0b19ib3hfc2VhbF9vcGVuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyeXB0by9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXRlbmF0ZSB9IGZyb20gXCIuLi91dGlscy91dGlscy5qc1wiO1xuaW1wb3J0IHsgc29kaXVtIH0gZnJvbSBcIi4uL3NvZGl1bS5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXIge1xuICBwdWJsaWNLZXk6IHN0cmluZztcbiAgcHJpdmF0ZUtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5jcnlwdENyeXB0b0JveChcbiAgZGF0YTogVWludDhBcnJheSxcbiAgcHVibGljS2V5Qm9iOiBzdHJpbmcsXG4gIHByaXZhdGVLZXlBbGljZTogc3RyaW5nXG4pOiBVaW50OEFycmF5IHtcbiAgY29uc3Qgbm9uY2UgPSBzb2RpdW0ucmFuZG9tYnl0ZXNfYnVmKHNvZGl1bS5jcnlwdG9fYm94X05PTkNFQllURVMpO1xuICBjb25zdCBjcnlwdCA9IHNvZGl1bS5jcnlwdG9fYm94X2Vhc3koXG4gICAgZGF0YSxcbiAgICBub25jZSxcbiAgICBzb2RpdW0uZnJvbV9oZXgocHVibGljS2V5Qm9iKSxcbiAgICBzb2RpdW0uZnJvbV9oZXgocHJpdmF0ZUtleUFsaWNlKVxuICApO1xuICByZXR1cm4gY29uY2F0ZW5hdGUobm9uY2UsIGNyeXB0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQ3J5cHRvQm94S2V5UGFpcigpOiBLZXlQYWlyIHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fYm94X2tleXBhaXIoXCJoZXhcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNyeXB0Q3J5cHRvQm94KFxuICBkYXRhOiBVaW50OEFycmF5LFxuICBwdWJsaWNLZXlBbGljZTogc3RyaW5nLFxuICBwcml2YXRlS2V5Qm9iOiBzdHJpbmdcbik6IFVpbnQ4QXJyYXkge1xuICBpZiAoZGF0YS5sZW5ndGggPCBzb2RpdW0uY3J5cHRvX2JveF9OT05DRUJZVEVTICsgc29kaXVtLmNyeXB0b19ib3hfTUFDQllURVMpIHtcbiAgICB0aHJvdyBcImRhdGEgdG9vIHNob3J0XCI7XG4gIH1cbiAgY29uc3Qgbm9uY2UgPSBkYXRhLnNsaWNlKDAsIHNvZGl1bS5jcnlwdG9fYm94X05PTkNFQllURVMpO1xuICBjb25zdCBjaXBoZXIgPSBkYXRhLnNsaWNlKHNvZGl1bS5jcnlwdG9fYm94X05PTkNFQllURVMpO1xuICByZXR1cm4gc29kaXVtLmNyeXB0b19ib3hfb3Blbl9lYXN5KFxuICAgIGNpcGhlcixcbiAgICBub25jZSxcbiAgICBzb2RpdW0uZnJvbV9oZXgocHVibGljS2V5QWxpY2UpLFxuICAgIHNvZGl1bS5mcm9tX2hleChwcml2YXRlS2V5Qm9iKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVTZWNyZXRCb3hLZXkoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHNvZGl1bS5yYW5kb21ieXRlc19idWYoc29kaXVtLmNyeXB0b19zZWNyZXRib3hfS0VZQllURVMsIFwiaGV4XCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5jcnlwdFNlY3JldEJveChkYXRhOiBVaW50OEFycmF5LCBrZXk6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICBjb25zdCBub25jZSA9IHNvZGl1bS5yYW5kb21ieXRlc19idWYoc29kaXVtLmNyeXB0b19zZWNyZXRib3hfTk9OQ0VCWVRFUyk7XG4gIGNvbnN0IGNyeXB0ID0gc29kaXVtLmNyeXB0b19zZWNyZXRib3hfZWFzeShkYXRhLCBub25jZSwgc29kaXVtLmZyb21faGV4KGtleSkpO1xuICByZXR1cm4gY29uY2F0ZW5hdGUobm9uY2UsIGNyeXB0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY3J5cHRTZWNyZXRCb3goZGF0YTogVWludDhBcnJheSwga2V5OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgaWYgKFxuICAgIGRhdGEubGVuZ3RoIDxcbiAgICBzb2RpdW0uY3J5cHRvX3NlY3JldGJveF9OT05DRUJZVEVTICsgc29kaXVtLmNyeXB0b19zZWNyZXRib3hfTUFDQllURVNcbiAgKSB7XG4gICAgdGhyb3cgXCJkYXRhIHRvbyBzaG9ydFwiO1xuICB9XG4gIGNvbnN0IG5vbmNlID0gZGF0YS5zbGljZSgwLCBzb2RpdW0uY3J5cHRvX3NlY3JldGJveF9OT05DRUJZVEVTKTtcbiAgY29uc3QgY2lwaGVyID0gZGF0YS5zbGljZShzb2RpdW0uY3J5cHRvX3NlY3JldGJveF9OT05DRUJZVEVTKTtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0Ym94X29wZW5fZWFzeShjaXBoZXIsIG5vbmNlLCBzb2RpdW0uZnJvbV9oZXgoa2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNyeXB0QW5vbnltb3VzKFxuICBkYXRhOiBVaW50OEFycmF5LFxuICByZWNlaXZlclB1YmxpY0tleTogc3RyaW5nXG4pOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fYm94X3NlYWwoZGF0YSwgc29kaXVtLmZyb21faGV4KHJlY2VpdmVyUHVibGljS2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNyeXB0QW5vbnltb3VzKFxuICBkYXRhOiBVaW50OEFycmF5LFxuICB7IHByaXZhdGVLZXksIHB1YmxpY0tleSB9OiBLZXlQYWlyXG4pOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fYm94X3NlYWxfb3BlbihcbiAgICBkYXRhLFxuICAgIHNvZGl1bS5mcm9tX2hleChwdWJsaWNLZXkpLFxuICAgIHNvZGl1bS5mcm9tX2hleChwcml2YXRlS2V5KVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxXQUFULFFBQTRCLG1CQUE1QjtBQUNBLFNBQVNDLE1BQVQsUUFBdUIsY0FBdkI7QUFPQSxPQUFPLFNBQVNDLGdCQUFULENBQ0xDLElBREssRUFFTEMsWUFGSyxFQUdMQyxlQUhLLEVBSU87RUFDWixNQUFNQyxLQUFLLEdBQUdMLE1BQU0sQ0FBQ00sZUFBUCxDQUF1Qk4sTUFBTSxDQUFDTyxxQkFBOUIsQ0FBZDtFQUNBLE1BQU1DLEtBQUssR0FBR1IsTUFBTSxDQUFDUyxlQUFQLENBQ1pQLElBRFksRUFFWkcsS0FGWSxFQUdaTCxNQUFNLENBQUNVLFFBQVAsQ0FBZ0JQLFlBQWhCLENBSFksRUFJWkgsTUFBTSxDQUFDVSxRQUFQLENBQWdCTixlQUFoQixDQUpZLENBQWQ7RUFNQSxPQUFPTCxXQUFXLENBQUNNLEtBQUQsRUFBUUcsS0FBUixDQUFsQjtBQUNEO0FB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
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25jYXRlbmF0ZSIsInNvZGl1bSIsImVuY3J5cHRDcnlwdG9Cb3giLCJkYXRhIiwicHVibGljS2V5Qm9iIiwicHJpdmF0ZUtleUFsaWNlIiwibm9uY2UiLCJyYW5kb21ieXRlc19idWYiLCJjcnlwdG9fYm94X05PTkNFQllURVMiLCJjcnlwdCIsImNyeXB0b19ib3hfZWFzeSIsImZyb21faGV4IiwiZ2VuZXJhdGVDcnlwdG9Cb3hLZXlQYWlyIiwiY3J5cHRvX2JveF9rZXlwYWlyIiwiZGVjcnlwdENyeXB0b0JveCIsInB1YmxpY0tleUFsaWNlIiwicHJpdmF0ZUtleUJvYiIsImxlbmd0aCIsImNyeXB0b19ib3hfTUFDQllURVMiLCJzbGljZSIsImNpcGhlciIsImNyeXB0b19ib3hfb3Blbl9lYXN5IiwiZ2VuZXJhdGVTZWNyZXRCb3hLZXkiLCJjcnlwdG9fc2VjcmV0Ym94X0tFWUJZVEVTIiwiZW5jcnlwdFNlY3JldEJveCIsImtleSIsImNyeXB0b19zZWNyZXRib3hfTk9OQ0VCWVRFUyIsImNyeXB0b19zZWNyZXRib3hfZWFzeSIsImRlY3J5cHRTZWNyZXRCb3giLCJjcnlwdG9fc2VjcmV0Ym94X01BQ0JZVEVTIiwiY3J5cHRvX3NlY3JldGJveF9vcGVuX2Vhc3kiLCJlbmNyeXB0QW5vbnltb3VzIiwicmVjZWl2ZXJQdWJsaWNLZXkiLCJjcnlwdG9fYm94X3NlYWwiLCJkZWNyeXB0QW5vbnltb3VzIiwicHJpdmF0ZUtleSIsInB1YmxpY0tleSIsImNyeXB0b19ib3hfc2VhbF9vcGVuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyeXB0by9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXRlbmF0ZSB9IGZyb20gXCIuLi91dGlscy91dGlscy5qc1wiO1xuaW1wb3J0IHsgc29kaXVtIH0gZnJvbSBcIi4uL3NvZGl1bS5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXIge1xuICBwdWJsaWNLZXk6IHN0cmluZztcbiAgcHJpdmF0ZUtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5jcnlwdENyeXB0b0JveChcbiAgZGF0YTogVWludDhBcnJheSxcbiAgcHVibGljS2V5Qm9iOiBzdHJpbmcsXG4gIHByaXZhdGVLZXlBbGljZTogc3RyaW5nXG4pOiBVaW50OEFycmF5IHtcbiAgY29uc3Qgbm9uY2UgPSBzb2RpdW0ucmFuZG9tYnl0ZXNfYnVmKHNvZGl1bS5jcnlwdG9fYm94X05PTkNFQllURVMpO1xuICBjb25zdCBjcnlwdCA9IHNvZGl1bS5jcnlwdG9fYm94X2Vhc3koXG4gICAgZGF0YSxcbiAgICBub25jZSxcbiAgICBzb2RpdW0uZnJvbV9oZXgocHVibGljS2V5Qm9iKSxcbiAgICBzb2RpdW0uZnJvbV9oZXgocHJpdmF0ZUtleUFsaWNlKVxuICApO1xuICByZXR1cm4gY29uY2F0ZW5hdGUobm9uY2UsIGNyeXB0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQ3J5cHRvQm94S2V5UGFpcigpOiBLZXlQYWlyIHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fYm94X2tleXBhaXIoXCJoZXhcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNyeXB0Q3J5cHRvQm94KFxuICBkYXRhOiBVaW50OEFycmF5LFxuICBwdWJsaWNLZXlBbGljZTogc3RyaW5nLFxuICBwcml2YXRlS2V5Qm9iOiBzdHJpbmdcbik6IFVpbnQ4QXJyYXkge1xuICBpZiAoZGF0YS5sZW5ndGggPCBzb2RpdW0uY3J5cHRvX2JveF9OT05DRUJZVEVTICsgc29kaXVtLmNyeXB0b19ib3hfTUFDQllURVMpIHtcbiAgICB0aHJvdyBcImRhdGEgdG9vIHNob3J0XCI7XG4gIH1cbiAgY29uc3Qgbm9uY2UgPSBkYXRhLnNsaWNlKDAsIHNvZGl1bS5jcnlwdG9fYm94X05PTkNFQllURVMpO1xuICBjb25zdCBjaXBoZXIgPSBkYXRhLnNsaWNlKHNvZGl1bS5jcnlwdG9fYm94X05PTkNFQllURVMpO1xuICByZXR1cm4gc29kaXVtLmNyeXB0b19ib3hfb3Blbl9lYXN5KFxuICAgIGNpcGhlcixcbiAgICBub25jZSxcbiAgICBzb2RpdW0uZnJvbV9oZXgocHVibGljS2V5QWxpY2UpLFxuICAgIHNvZGl1bS5mcm9tX2hleChwcml2YXRlS2V5Qm9iKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVTZWNyZXRCb3hLZXkoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHNvZGl1bS5yYW5kb21ieXRlc19idWYoc29kaXVtLmNyeXB0b19zZWNyZXRib3hfS0VZQllURVMsIFwiaGV4XCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5jcnlwdFNlY3JldEJveChkYXRhOiBVaW50OEFycmF5LCBrZXk6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICBjb25zdCBub25jZSA9IHNvZGl1bS5yYW5kb21ieXRlc19idWYoc29kaXVtLmNyeXB0b19zZWNyZXRib3hfTk9OQ0VCWVRFUyk7XG4gIGNvbnN0IGNyeXB0ID0gc29kaXVtLmNyeXB0b19zZWNyZXRib3hfZWFzeShkYXRhLCBub25jZSwgc29kaXVtLmZyb21faGV4KGtleSkpO1xuICByZXR1cm4gY29uY2F0ZW5hdGUobm9uY2UsIGNyeXB0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY3J5cHRTZWNyZXRCb3goZGF0YTogVWludDhBcnJheSwga2V5OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgaWYgKFxuICAgIGRhdGEubGVuZ3RoIDxcbiAgICBzb2RpdW0uY3J5cHRvX3NlY3JldGJveF9OT05DRUJZVEVTICsgc29kaXVtLmNyeXB0b19zZWNyZXRib3hfTUFDQllURVNcbiAgKSB7XG4gICAgdGhyb3cgXCJkYXRhIHRvbyBzaG9ydFwiO1xuICB9XG4gIGNvbnN0IG5vbmNlID0gZGF0YS5zbGljZSgwLCBzb2RpdW0uY3J5cHRvX3NlY3JldGJveF9OT05DRUJZVEVTKTtcbiAgY29uc3QgY2lwaGVyID0gZGF0YS5zbGljZShzb2RpdW0uY3J5cHRvX3NlY3JldGJveF9OT05DRUJZVEVTKTtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0Ym94X29wZW5fZWFzeShjaXBoZXIsIG5vbmNlLCBzb2RpdW0uZnJvbV9oZXgoa2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNyeXB0QW5vbnltb3VzKFxuICBkYXRhOiBVaW50OEFycmF5LFxuICByZWNlaXZlclB1YmxpY0tleTogc3RyaW5nXG4pOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fYm94X3NlYWwoZGF0YSwgc29kaXVtLmZyb21faGV4KHJlY2VpdmVyUHVibGljS2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNyeXB0QW5vbnltb3VzKFxuICBkYXRhOiBVaW50OEFycmF5LFxuICB7IHByaXZhdGVLZXksIHB1YmxpY0tleSB9OiBLZXlQYWlyXG4pOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fYm94X3NlYWxfb3BlbihcbiAgICBkYXRhLFxuICAgIHNvZGl1bS5mcm9tX2hleChwdWJsaWNLZXkpLFxuICAgIHNvZGl1bS5mcm9tX2hleChwcml2YXRlS2V5KVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxXQUFXLFFBQVEsbUJBQW1CO0FBQy9DLFNBQVNDLE1BQU0sUUFBUSxjQUFjO0FBT3JDLE9BQU8sU0FBU0MsZ0JBQWdCLENBQzlCQyxJQUFnQixFQUNoQkMsWUFBb0IsRUFDcEJDLGVBQXVCLEVBQ1g7RUFDWixNQUFNQyxLQUFLLEdBQUdMLE1BQU0sQ0FBQ00sZUFBZSxDQUFDTixNQUFNLENBQUNPLHFCQUFxQixDQUFDO0VBQ2xFLE1BQU1DLEtBQUssR0FBR1IsTUFBTSxDQUFDUyxlQUFlLENBQ2xDUCxJQUFJLEVBQ0pHLEtBQUssRUFDTEwsTUFBTSxDQUFDVSxRQUFRLENBQUNQLFlBQVksQ0FBQyxFQUM3QkgsTUFBTSxDQUFDVSxRQUFRLENBQUNOLGVBQWUsQ0FBQyxDQUNqQztFQUNELE9BQU9MLFdBQVcsQ0FBQ00sS0FBSyxFQUFFRyxLQUFLLENBQUM7QUFD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
package/dist/error.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare type ErrorType = "ErrorUpgradePlan" | "ErrorNotFound" | "ErrorNotExist" | "ErrorAccessDenied" | "ErrorLangNotExist" | "ErrorLimit" | "ErrorBasic";
1
+ export type ErrorType = "ErrorUpgradePlan" | "ErrorNotFound" | "ErrorNotExist" | "ErrorAccessDenied" | "ErrorLangNotExist" | "ErrorLimit" | "ErrorStripe" | "ErrorBasic";
2
2
  export interface ErrorBase {
3
3
  message: string;
4
4
  __typename: ErrorType;
@@ -27,4 +27,7 @@ export interface ErrorLimit extends ErrorBase {
27
27
  export interface ErrorBasic extends ErrorBase {
28
28
  __typename: "ErrorBasic";
29
29
  }
30
- export declare type SecrecyError = ErrorUpgradePlan | ErrorNotFound | ErrorNotExist | ErrorAccessDenied | ErrorLangNotExist | ErrorLimit | ErrorBasic;
30
+ export interface ErrorStripe extends ErrorBase {
31
+ __typename: "ErrorStripe";
32
+ }
33
+ export type SecrecyError = ErrorUpgradePlan | ErrorNotFound | ErrorNotExist | ErrorAccessDenied | ErrorLangNotExist | ErrorLimit | ErrorStripe | ErrorBasic;
package/dist/error.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export {};
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVycm9yVHlwZSA9XG4gIHwgXCJFcnJvclVwZ3JhZGVQbGFuXCJcbiAgfCBcIkVycm9yTm90Rm91bmRcIlxuICB8IFwiRXJyb3JOb3RFeGlzdFwiXG4gIHwgXCJFcnJvckFjY2Vzc0RlbmllZFwiXG4gIHwgXCJFcnJvckxhbmdOb3RFeGlzdFwiXG4gIHwgXCJFcnJvckxpbWl0XCJcbiAgfCBcIkVycm9yQmFzaWNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFcnJvckJhc2Uge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIF9fdHlwZW5hbWU6IEVycm9yVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcnJvclVwZ3JhZGVQbGFuIGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvclVwZ3JhZGVQbGFuXCI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JOb3RGb3VuZCBleHRlbmRzIEVycm9yQmFzZSB7XG4gIF9fdHlwZW5hbWU6IFwiRXJyb3JOb3RGb3VuZFwiO1xuICBmaWVsZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcnJvck5vdEV4aXN0IGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvck5vdEV4aXN0XCI7XG4gIGZpZWxkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yQWNjZXNzRGVuaWVkIGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvckFjY2Vzc0RlbmllZFwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yTGFuZ05vdEV4aXN0IGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvckxhbmdOb3RFeGlzdFwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yTGltaXQgZXh0ZW5kcyBFcnJvckJhc2Uge1xuICBfX3R5cGVuYW1lOiBcIkVycm9yTGltaXRcIjtcbiAgZmllbGQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JCYXNpYyBleHRlbmRzIEVycm9yQmFzZSB7XG4gIF9fdHlwZW5hbWU6IFwiRXJyb3JCYXNpY1wiO1xufVxuXG5leHBvcnQgdHlwZSBTZWNyZWN5RXJyb3IgPVxuICB8IEVycm9yVXBncmFkZVBsYW5cbiAgfCBFcnJvck5vdEZvdW5kXG4gIHwgRXJyb3JOb3RFeGlzdFxuICB8IEVycm9yQWNjZXNzRGVuaWVkXG4gIHwgRXJyb3JMYW5nTm90RXhpc3RcbiAgfCBFcnJvckxpbWl0XG4gIHwgRXJyb3JCYXNpYztcbiJdLCJtYXBwaW5ncyI6IiJ9
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVycm9yVHlwZSA9XG4gIHwgXCJFcnJvclVwZ3JhZGVQbGFuXCJcbiAgfCBcIkVycm9yTm90Rm91bmRcIlxuICB8IFwiRXJyb3JOb3RFeGlzdFwiXG4gIHwgXCJFcnJvckFjY2Vzc0RlbmllZFwiXG4gIHwgXCJFcnJvckxhbmdOb3RFeGlzdFwiXG4gIHwgXCJFcnJvckxpbWl0XCJcbiAgfCBcIkVycm9yU3RyaXBlXCJcbiAgfCBcIkVycm9yQmFzaWNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFcnJvckJhc2Uge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIF9fdHlwZW5hbWU6IEVycm9yVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcnJvclVwZ3JhZGVQbGFuIGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvclVwZ3JhZGVQbGFuXCI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JOb3RGb3VuZCBleHRlbmRzIEVycm9yQmFzZSB7XG4gIF9fdHlwZW5hbWU6IFwiRXJyb3JOb3RGb3VuZFwiO1xuICBmaWVsZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcnJvck5vdEV4aXN0IGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvck5vdEV4aXN0XCI7XG4gIGZpZWxkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yQWNjZXNzRGVuaWVkIGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvckFjY2Vzc0RlbmllZFwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yTGFuZ05vdEV4aXN0IGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvckxhbmdOb3RFeGlzdFwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yTGltaXQgZXh0ZW5kcyBFcnJvckJhc2Uge1xuICBfX3R5cGVuYW1lOiBcIkVycm9yTGltaXRcIjtcbiAgZmllbGQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JCYXNpYyBleHRlbmRzIEVycm9yQmFzZSB7XG4gIF9fdHlwZW5hbWU6IFwiRXJyb3JCYXNpY1wiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yU3RyaXBlIGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvclN0cmlwZVwiO1xufVxuXG5leHBvcnQgdHlwZSBTZWNyZWN5RXJyb3IgPVxuICB8IEVycm9yVXBncmFkZVBsYW5cbiAgfCBFcnJvck5vdEZvdW5kXG4gIHwgRXJyb3JOb3RFeGlzdFxuICB8IEVycm9yQWNjZXNzRGVuaWVkXG4gIHwgRXJyb3JMYW5nTm90RXhpc3RcbiAgfCBFcnJvckxpbWl0XG4gIHwgRXJyb3JTdHJpcGVcbiAgfCBFcnJvckJhc2ljO1xuIl0sIm1hcHBpbmdzIjoiIn0=
package/dist/index.d.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  export * from "./client/index.js";
2
- export * from "./client/admin/index.js";
3
2
  export * from "./crypto/index.js";
4
3
  export type { Progress } from "./crypto/file.js";
5
- export type { User, QueryLimits, DownloadProgress, UserData, FolderSize, MailLimitsValues, CloudLimits, FaqItem, BlogItem, SecrecyPlansCodes, Limits, MailLimits, Plan, PaymentInfos, Subscription, RecurlyInvoices, SubscriptionCollectionMethod, SubscriptionState, SendReport, PayInput, SuccessResponse } from "./BaseClient.js";
6
- export { BaseClient, isValidPlan } from "./BaseClient.js";
7
- export type { FileMetadata, SecrecyUserApp, BaseMail, ReceivedMail, SentMail, PublicUser, UserAppSettings, UserAppNotifications, Session, UserSession, AppSession, MailFile, MailIntegrity, DraftMail, Mail, WaitingReceivedMail, MailRecipientInput } from "./client/types/index.js";
4
+ export type { User, QueryLimits, DownloadProgress, UserData, MailLimitsValues, CloudLimits, SendReport, SuccessResponse } from "./BaseClient.js";
5
+ export { BaseClient } from "./BaseClient.js";
6
+ export type { Node, NodeFull, FileMetadata, SecrecyUserApp, BaseMail, ReceivedMail, SentMail, PublicUser, UserAppSettings, NodeSize, UserAppNotifications, MailFile, MailIntegrity, DraftMail, Mail, WaitingReceivedMail, MailRecipientInput } from "./client/types/index.js";
8
7
  export * from "./client/helpers.js";
9
8
  export * from "./sodium.js";
10
9
  export * from "./utils/store-buddy.js";
11
- export { Lang, FileContentType, MailType, PlanKind, Rights, PayInputType, UserRole } from "./zeus/index.js";
10
+ export { Lang, FileContentType, MailType, PlanKind, Rights, PayInputType, UserRole, InfuraNetwork, Thunder } from "./zeus/index.js";
11
+ export type { GraphQLTypes } from "./zeus/index.js";
12
12
  export * from "./error.js";
13
+ export type { InputType } from "./zeus";
14
+ export { Selector } from "./zeus";
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  export * from "./client/index.js";
2
- export * from "./client/admin/index.js";
3
2
  export * from "./crypto/index.js";
4
- export { BaseClient, isValidPlan } from "./BaseClient.js";
3
+ export { BaseClient } from "./BaseClient.js";
5
4
  export * from "./client/helpers.js";
6
5
  export * from "./sodium.js";
7
6
  export * from "./utils/store-buddy.js";
8
- export { Lang, FileContentType, MailType, PlanKind, Rights, PayInputType, UserRole } from "./zeus/index.js";
7
+ export { Lang, FileContentType, MailType, PlanKind, Rights, PayInputType, UserRole, InfuraNetwork, Thunder } from "./zeus/index.js";
9
8
  export * from "./error.js";
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ2xpZW50IiwiaXNWYWxpZFBsYW4iLCJMYW5nIiwiRmlsZUNvbnRlbnRUeXBlIiwiTWFpbFR5cGUiLCJQbGFuS2luZCIsIlJpZ2h0cyIsIlBheUlucHV0VHlwZSIsIlVzZXJSb2xlIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NsaWVudC9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2xpZW50L2FkbWluL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jcnlwdG8vaW5kZXguanNcIjtcbmV4cG9ydCB0eXBlIHsgUHJvZ3Jlc3MgfSBmcm9tIFwiLi9jcnlwdG8vZmlsZS5qc1wiO1xuZXhwb3J0IHR5cGUge1xuICBVc2VyLFxuICBRdWVyeUxpbWl0cyxcbiAgRG93bmxvYWRQcm9ncmVzcyxcbiAgVXNlckRhdGEsXG4gIEZvbGRlclNpemUsXG4gIE1haWxMaW1pdHNWYWx1ZXMsXG4gIENsb3VkTGltaXRzLFxuICBGYXFJdGVtLFxuICBCbG9nSXRlbSxcbiAgU2VjcmVjeVBsYW5zQ29kZXMsXG4gIExpbWl0cyxcbiAgTWFpbExpbWl0cyxcbiAgUGxhbixcbiAgUGF5bWVudEluZm9zLFxuICBTdWJzY3JpcHRpb24sXG4gIFJlY3VybHlJbnZvaWNlcyxcbiAgU3Vic2NyaXB0aW9uQ29sbGVjdGlvbk1ldGhvZCxcbiAgU3Vic2NyaXB0aW9uU3RhdGUsXG4gIFNlbmRSZXBvcnQsXG4gIFBheUlucHV0LFxuICBTdWNjZXNzUmVzcG9uc2Vcbn0gZnJvbSBcIi4vQmFzZUNsaWVudC5qc1wiO1xuZXhwb3J0IHsgQmFzZUNsaWVudCwgaXNWYWxpZFBsYW4gfSBmcm9tIFwiLi9CYXNlQ2xpZW50LmpzXCI7XG5leHBvcnQgdHlwZSB7XG4gIEZpbGVNZXRhZGF0YSxcbiAgU2VjcmVjeVVzZXJBcHAsXG4gIEJhc2VNYWlsLFxuICBSZWNlaXZlZE1haWwsXG4gIFNlbnRNYWlsLFxuICBQdWJsaWNVc2VyLFxuICBVc2VyQXBwU2V0dGluZ3MsXG4gIFVzZXJBcHBOb3RpZmljYXRpb25zLFxuICBTZXNzaW9uLFxuICBVc2VyU2Vzc2lvbixcbiAgQXBwU2Vzc2lvbixcbiAgTWFpbEZpbGUsXG4gIE1haWxJbnRlZ3JpdHksXG4gIERyYWZ0TWFpbCxcbiAgTWFpbCxcbiAgV2FpdGluZ1JlY2VpdmVkTWFpbCxcbiAgTWFpbFJlY2lwaWVudElucHV0XG59IGZyb20gXCIuL2NsaWVudC90eXBlcy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2xpZW50L2hlbHBlcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NvZGl1bS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMvc3RvcmUtYnVkZHkuanNcIjtcbmV4cG9ydCB7XG4gIExhbmcsXG4gIEZpbGVDb250ZW50VHlwZSxcbiAgTWFpbFR5cGUsXG4gIFBsYW5LaW5kLFxuICBSaWdodHMsXG4gIFBheUlucHV0VHlwZSxcbiAgVXNlclJvbGVcbn0gZnJvbSBcIi4vemV1cy9pbmRleC5qc1wiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvci5qc1wiO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFkO0FBQ0EsY0FBYyx5QkFBZDtBQUNBLGNBQWMsbUJBQWQ7QUF5QkEsU0FBU0EsVUFBVCxFQUFxQkMsV0FBckIsUUFBd0MsaUJBQXhDO0FBb0JBLGNBQWMscUJBQWQ7QUFDQSxjQUFjLGFBQWQ7QUFDQSxjQUFjLHdCQUFkO0FBQ0EsU0FDRUMsSUFERixFQUVFQyxlQUZGLEVBR0VDLFFBSEYsRUFJRUMsUUFKRixFQUtFQyxNQUxGLEVBTUVDLFlBTkYsRUFPRUMsUUFQRixRQVFPLGlCQVJQO0FBVUEsY0FBYyxZQUFkIn0=
9
+ export { Selector } from "./zeus";
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ2xpZW50IiwiTGFuZyIsIkZpbGVDb250ZW50VHlwZSIsIk1haWxUeXBlIiwiUGxhbktpbmQiLCJSaWdodHMiLCJQYXlJbnB1dFR5cGUiLCJVc2VyUm9sZSIsIkluZnVyYU5ldHdvcmsiLCJUaHVuZGVyIiwiU2VsZWN0b3IiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY2xpZW50L2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jcnlwdG8vaW5kZXguanNcIjtcbmV4cG9ydCB0eXBlIHsgUHJvZ3Jlc3MgfSBmcm9tIFwiLi9jcnlwdG8vZmlsZS5qc1wiO1xuZXhwb3J0IHR5cGUge1xuICBVc2VyLFxuICBRdWVyeUxpbWl0cyxcbiAgRG93bmxvYWRQcm9ncmVzcyxcbiAgVXNlckRhdGEsXG4gIE1haWxMaW1pdHNWYWx1ZXMsXG4gIENsb3VkTGltaXRzLFxuICBTZW5kUmVwb3J0LFxuICBTdWNjZXNzUmVzcG9uc2Vcbn0gZnJvbSBcIi4vQmFzZUNsaWVudC5qc1wiO1xuZXhwb3J0IHsgQmFzZUNsaWVudCB9IGZyb20gXCIuL0Jhc2VDbGllbnQuanNcIjtcbmV4cG9ydCB0eXBlIHtcbiAgTm9kZSxcbiAgTm9kZUZ1bGwsXG4gIEZpbGVNZXRhZGF0YSxcbiAgU2VjcmVjeVVzZXJBcHAsXG4gIEJhc2VNYWlsLFxuICBSZWNlaXZlZE1haWwsXG4gIFNlbnRNYWlsLFxuICBQdWJsaWNVc2VyLFxuICBVc2VyQXBwU2V0dGluZ3MsXG4gIE5vZGVTaXplLFxuICBVc2VyQXBwTm90aWZpY2F0aW9ucyxcbiAgTWFpbEZpbGUsXG4gIE1haWxJbnRlZ3JpdHksXG4gIERyYWZ0TWFpbCxcbiAgTWFpbCxcbiAgV2FpdGluZ1JlY2VpdmVkTWFpbCxcbiAgTWFpbFJlY2lwaWVudElucHV0XG59IGZyb20gXCIuL2NsaWVudC90eXBlcy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2xpZW50L2hlbHBlcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NvZGl1bS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMvc3RvcmUtYnVkZHkuanNcIjtcbmV4cG9ydCB7XG4gIExhbmcsXG4gIEZpbGVDb250ZW50VHlwZSxcbiAgTWFpbFR5cGUsXG4gIFBsYW5LaW5kLFxuICBSaWdodHMsXG4gIFBheUlucHV0VHlwZSxcbiAgVXNlclJvbGUsXG4gIEluZnVyYU5ldHdvcmssXG4gIFRodW5kZXJcbn0gZnJvbSBcIi4vemV1cy9pbmRleC5qc1wiO1xuZXhwb3J0IHR5cGUgeyBHcmFwaFFMVHlwZXMgfSBmcm9tIFwiLi96ZXVzL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lcnJvci5qc1wiO1xuZXhwb3J0IHR5cGUgeyBJbnB1dFR5cGUgfSBmcm9tIFwiLi96ZXVzXCI7XG5leHBvcnQgeyBTZWxlY3RvciB9IGZyb20gXCIuL3pldXNcIjtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyxtQkFBbUI7QUFZakMsU0FBU0EsVUFBVSxRQUFRLGlCQUFpQjtBQW9CNUMsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyxhQUFhO0FBQzNCLGNBQWMsd0JBQXdCO0FBQ3RDLFNBQ0VDLElBQUksRUFDSkMsZUFBZSxFQUNmQyxRQUFRLEVBQ1JDLFFBQVEsRUFDUkMsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLFFBQVEsRUFDUkMsYUFBYSxFQUNiQyxPQUFPLFFBQ0YsaUJBQWlCO0FBRXhCLGNBQWMsWUFBWTtBQUUxQixTQUFTQyxRQUFRLFFBQVEsUUFBUSJ9
@@ -1,28 +1,23 @@
1
1
  import { calcUncompressedLen, compressBlockBound, compressBlockHC, uncompressBlock } from "./lz4.js";
2
2
  import { concatenate } from "../utils/utils.js";
3
3
  export function compress(data) {
4
- if (data.byteLength > 15000000) {
4
+ if (data.byteLength > 15_000_000) {
5
5
  return concatenate(new Uint8Array([0]), data);
6
6
  }
7
-
8
7
  const compressed = new Uint8Array(compressBlockBound(data.byteLength));
9
8
  const compressedSize = compressBlockHC(data, compressed, 0);
10
-
11
9
  if (compressedSize === 0) {
12
10
  return concatenate(new Uint8Array([0]), data);
13
11
  }
14
-
15
12
  return concatenate(new Uint8Array([1]), compressed.slice(0, compressedSize));
16
13
  }
17
14
  export function uncompress(data) {
18
15
  const realData = data.slice(1);
19
-
20
16
  if (data[0] === 0) {
21
17
  return realData;
22
18
  }
23
-
24
19
  const dst = new Uint8Array(calcUncompressedLen(realData));
25
20
  const uncompressedSize = uncompressBlock(realData, dst);
26
21
  return dst.slice(0, uncompressedSize);
27
22
  }
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYWxjVW5jb21wcmVzc2VkTGVuIiwiY29tcHJlc3NCbG9ja0JvdW5kIiwiY29tcHJlc3NCbG9ja0hDIiwidW5jb21wcmVzc0Jsb2NrIiwiY29uY2F0ZW5hdGUiLCJjb21wcmVzcyIsImRhdGEiLCJieXRlTGVuZ3RoIiwiVWludDhBcnJheSIsImNvbXByZXNzZWQiLCJjb21wcmVzc2VkU2l6ZSIsInNsaWNlIiwidW5jb21wcmVzcyIsInJlYWxEYXRhIiwiZHN0IiwidW5jb21wcmVzc2VkU2l6ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taW5pZnkvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY2FsY1VuY29tcHJlc3NlZExlbixcbiAgY29tcHJlc3NCbG9ja0JvdW5kLFxuICBjb21wcmVzc0Jsb2NrSEMsXG4gIHVuY29tcHJlc3NCbG9ja1xufSBmcm9tIFwiLi9sejQuanNcIjtcbmltcG9ydCB7IGNvbmNhdGVuYXRlIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wcmVzcyhkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XG4gIGlmIChkYXRhLmJ5dGVMZW5ndGggPiAxNV8wMDBfMDAwKSB7XG4gICAgcmV0dXJuIGNvbmNhdGVuYXRlKG5ldyBVaW50OEFycmF5KFswXSksIGRhdGEpO1xuICB9XG4gIGNvbnN0IGNvbXByZXNzZWQgPSBuZXcgVWludDhBcnJheShjb21wcmVzc0Jsb2NrQm91bmQoZGF0YS5ieXRlTGVuZ3RoKSk7XG4gIGNvbnN0IGNvbXByZXNzZWRTaXplID0gY29tcHJlc3NCbG9ja0hDKGRhdGEsIGNvbXByZXNzZWQsIDApO1xuICBpZiAoY29tcHJlc3NlZFNpemUgPT09IDApIHtcbiAgICByZXR1cm4gY29uY2F0ZW5hdGUobmV3IFVpbnQ4QXJyYXkoWzBdKSwgZGF0YSk7XG4gIH1cbiAgcmV0dXJuIGNvbmNhdGVuYXRlKG5ldyBVaW50OEFycmF5KFsxXSksIGNvbXByZXNzZWQuc2xpY2UoMCwgY29tcHJlc3NlZFNpemUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuY29tcHJlc3MoZGF0YTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkge1xuICBjb25zdCByZWFsRGF0YSA9IGRhdGEuc2xpY2UoMSk7XG4gIGlmIChkYXRhWzBdID09PSAwKSB7XG4gICAgcmV0dXJuIHJlYWxEYXRhO1xuICB9XG4gIGNvbnN0IGRzdCA9IG5ldyBVaW50OEFycmF5KGNhbGNVbmNvbXByZXNzZWRMZW4ocmVhbERhdGEpKTtcbiAgY29uc3QgdW5jb21wcmVzc2VkU2l6ZSA9IHVuY29tcHJlc3NCbG9jayhyZWFsRGF0YSwgZHN0KTtcbiAgcmV0dXJuIGRzdC5zbGljZSgwLCB1bmNvbXByZXNzZWRTaXplKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRUEsbUJBREYsRUFFRUMsa0JBRkYsRUFHRUMsZUFIRixFQUlFQyxlQUpGLFFBS08sVUFMUDtBQU1BLFNBQVNDLFdBQVQsUUFBNEIsbUJBQTVCO0FBRUEsT0FBTyxTQUFTQyxRQUFULENBQWtCQyxJQUFsQixFQUFnRDtFQUNyRCxJQUFJQSxJQUFJLENBQUNDLFVBQUwsR0FBa0IsUUFBdEIsRUFBa0M7SUFDaEMsT0FBT0gsV0FBVyxDQUFDLElBQUlJLFVBQUosQ0FBZSxDQUFDLENBQUQsQ0FBZixDQUFELEVBQXNCRixJQUF0QixDQUFsQjtFQUNEOztFQUNELE1BQU1HLFVBQVUsR0FBRyxJQUFJRCxVQUFKLENBQWVQLGtCQUFrQixDQUFDSyxJQUFJLENBQUNDLFVBQU4sQ0FBakMsQ0FBbkI7RUFDQSxNQUFNRyxjQUFjLEdBQUdSLGVBQWUsQ0FBQ0ksSUFBRCxFQUFPRyxVQUFQLEVBQW1CLENBQW5CLENBQXRDOztFQUNBLElBQUlDLGNBQWMsS0FBSyxDQUF2QixFQUEwQjtJQUN4QixPQUFPTixXQUFXLENBQUMsSUFBSUksVUFBSixDQUFlLENBQUMsQ0FBRCxDQUFmLENBQUQsRUFBc0JGLElBQXRCLENBQWxCO0VBQ0Q7O0VBQ0QsT0FBT0YsV0FBVyxDQUFDLElBQUlJLFVBQUosQ0FBZSxDQUFDLENBQUQsQ0FBZixDQUFELEVBQXNCQyxVQUFVLENBQUNFLEtBQVgsQ0FBaUIsQ0FBakIsRUFBb0JELGNBQXBCLENBQXRCLENBQWxCO0FBQ0Q7QUFFRCxPQUFPLFNBQVNFLFVBQVQsQ0FBb0JOLElBQXBCLEVBQWtEO0VBQ3ZELE1BQU1PLFFBQVEsR0FBR1AsSUFBSSxDQUFDSyxLQUFMLENBQVcsQ0FBWCxDQUFqQjs7RUFDQSxJQUFJTCxJQUFJLENBQUMsQ0FBRCxDQUFKLEtBQVksQ0FBaEIsRUFBbUI7SUFDakIsT0FBT08sUUFBUDtFQUNEOztFQUNELE1BQU1DLEdBQUcsR0FBRyxJQUFJTixVQUFKLENBQWVSLG1CQUFtQixDQUFDYSxRQUFELENBQWxDLENBQVo7RUFDQSxNQUFNRSxnQkFBZ0IsR0FBR1osZUFBZSxDQUFDVSxRQUFELEVBQVdDLEdBQVgsQ0FBeEM7RUFDQSxPQUFPQSxHQUFHLENBQUNILEtBQUosQ0FBVSxDQUFWLEVBQWFJLGdCQUFiLENBQVA7QUFDRCJ9
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYWxjVW5jb21wcmVzc2VkTGVuIiwiY29tcHJlc3NCbG9ja0JvdW5kIiwiY29tcHJlc3NCbG9ja0hDIiwidW5jb21wcmVzc0Jsb2NrIiwiY29uY2F0ZW5hdGUiLCJjb21wcmVzcyIsImRhdGEiLCJieXRlTGVuZ3RoIiwiVWludDhBcnJheSIsImNvbXByZXNzZWQiLCJjb21wcmVzc2VkU2l6ZSIsInNsaWNlIiwidW5jb21wcmVzcyIsInJlYWxEYXRhIiwiZHN0IiwidW5jb21wcmVzc2VkU2l6ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taW5pZnkvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY2FsY1VuY29tcHJlc3NlZExlbixcbiAgY29tcHJlc3NCbG9ja0JvdW5kLFxuICBjb21wcmVzc0Jsb2NrSEMsXG4gIHVuY29tcHJlc3NCbG9ja1xufSBmcm9tIFwiLi9sejQuanNcIjtcbmltcG9ydCB7IGNvbmNhdGVuYXRlIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wcmVzcyhkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XG4gIGlmIChkYXRhLmJ5dGVMZW5ndGggPiAxNV8wMDBfMDAwKSB7XG4gICAgcmV0dXJuIGNvbmNhdGVuYXRlKG5ldyBVaW50OEFycmF5KFswXSksIGRhdGEpO1xuICB9XG4gIGNvbnN0IGNvbXByZXNzZWQgPSBuZXcgVWludDhBcnJheShjb21wcmVzc0Jsb2NrQm91bmQoZGF0YS5ieXRlTGVuZ3RoKSk7XG4gIGNvbnN0IGNvbXByZXNzZWRTaXplID0gY29tcHJlc3NCbG9ja0hDKGRhdGEsIGNvbXByZXNzZWQsIDApO1xuICBpZiAoY29tcHJlc3NlZFNpemUgPT09IDApIHtcbiAgICByZXR1cm4gY29uY2F0ZW5hdGUobmV3IFVpbnQ4QXJyYXkoWzBdKSwgZGF0YSk7XG4gIH1cbiAgcmV0dXJuIGNvbmNhdGVuYXRlKG5ldyBVaW50OEFycmF5KFsxXSksIGNvbXByZXNzZWQuc2xpY2UoMCwgY29tcHJlc3NlZFNpemUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuY29tcHJlc3MoZGF0YTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkge1xuICBjb25zdCByZWFsRGF0YSA9IGRhdGEuc2xpY2UoMSk7XG4gIGlmIChkYXRhWzBdID09PSAwKSB7XG4gICAgcmV0dXJuIHJlYWxEYXRhO1xuICB9XG4gIGNvbnN0IGRzdCA9IG5ldyBVaW50OEFycmF5KGNhbGNVbmNvbXByZXNzZWRMZW4ocmVhbERhdGEpKTtcbiAgY29uc3QgdW5jb21wcmVzc2VkU2l6ZSA9IHVuY29tcHJlc3NCbG9jayhyZWFsRGF0YSwgZHN0KTtcbiAgcmV0dXJuIGRzdC5zbGljZSgwLCB1bmNvbXByZXNzZWRTaXplKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRUEsbUJBQW1CLEVBQ25CQyxrQkFBa0IsRUFDbEJDLGVBQWUsRUFDZkMsZUFBZSxRQUNWLFVBQVU7QUFDakIsU0FBU0MsV0FBVyxRQUFRLG1CQUFtQjtBQUUvQyxPQUFPLFNBQVNDLFFBQVEsQ0FBQ0MsSUFBZ0IsRUFBYztFQUNyRCxJQUFJQSxJQUFJLENBQUNDLFVBQVUsR0FBRyxVQUFVLEVBQUU7SUFDaEMsT0FBT0gsV0FBVyxDQUFDLElBQUlJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVGLElBQUksQ0FBQztFQUMvQztFQUNBLE1BQU1HLFVBQVUsR0FBRyxJQUFJRCxVQUFVLENBQUNQLGtCQUFrQixDQUFDSyxJQUFJLENBQUNDLFVBQVUsQ0FBQyxDQUFDO0VBQ3RFLE1BQU1HLGNBQWMsR0FBR1IsZUFBZSxDQUFDSSxJQUFJLEVBQUVHLFVBQVUsRUFBRSxDQUFDLENBQUM7RUFDM0QsSUFBSUMsY0FBYyxLQUFLLENBQUMsRUFBRTtJQUN4QixPQUFPTixXQUFXLENBQUMsSUFBSUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUYsSUFBSSxDQUFDO0VBQy9DO0VBQ0EsT0FBT0YsV0FBVyxDQUFDLElBQUlJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVDLFVBQVUsQ0FBQ0UsS0FBSyxDQUFDLENBQUMsRUFBRUQsY0FBYyxDQUFDLENBQUM7QUFDOUU7QUFFQSxPQUFPLFNBQVNFLFVBQVUsQ0FBQ04sSUFBZ0IsRUFBYztFQUN2RCxNQUFNTyxRQUFRLEdBQUdQLElBQUksQ0FBQ0ssS0FBSyxDQUFDLENBQUMsQ0FBQztFQUM5QixJQUFJTCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ2pCLE9BQU9PLFFBQVE7RUFDakI7RUFDQSxNQUFNQyxHQUFHLEdBQUcsSUFBSU4sVUFBVSxDQUFDUixtQkFBbUIsQ0FBQ2EsUUFBUSxDQUFDLENBQUM7RUFDekQsTUFBTUUsZ0JBQWdCLEdBQUdaLGVBQWUsQ0FBQ1UsUUFBUSxFQUFFQyxHQUFHLENBQUM7RUFDdkQsT0FBT0EsR0FBRyxDQUFDSCxLQUFLLENBQUMsQ0FBQyxFQUFFSSxnQkFBZ0IsQ0FBQztBQUN2QyJ9