@lifeready/core 1.0.21 → 1.0.22

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 (228) hide show
  1. package/bundles/lifeready-core.umd.js +9745 -9700
  2. package/bundles/lifeready-core.umd.js.map +1 -1
  3. package/bundles/lifeready-core.umd.min.js +2 -2
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/run-outside-angular.js +2 -2
  6. package/esm2015/lib/_common/types.js +1 -1
  7. package/esm2015/lib/api/lr-apollo.service.js +3 -3
  8. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +3 -3
  9. package/esm2015/lib/api/query-processor/common-processors.service.js +3 -3
  10. package/esm2015/lib/api/query-processor/query-processor.service.js +4 -4
  11. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +6 -5
  12. package/esm2015/lib/api/types/lr-graphql.types.js +1 -1
  13. package/esm2015/lib/auth/auth.gql.js +1 -28
  14. package/esm2015/lib/auth/auth.types.js +1 -1
  15. package/esm2015/lib/auth/life-ready-auth.service.js +32 -31
  16. package/esm2015/lib/category/category.gql.js +1 -1
  17. package/esm2015/lib/category/category.service.js +6 -6
  18. package/esm2015/lib/contact-card/contact-card.gql.js +79 -0
  19. package/esm2015/lib/contact-card/contact-card.service.js +154 -0
  20. package/esm2015/lib/contact-card/contact-card2.gql.js +29 -0
  21. package/esm2015/lib/contact-card/contact-card2.service.js +103 -0
  22. package/esm2015/lib/encryption/encryption.service.js +189 -0
  23. package/esm2015/lib/file-upload/file-upload.service.js +74 -0
  24. package/esm2015/lib/file-upload/file-upload.types.js +1 -0
  25. package/esm2015/lib/{auth → idle}/idle.service.js +7 -7
  26. package/esm2015/lib/{auth → idle}/idle.types.js +1 -1
  27. package/esm2015/lib/items2/item2.service.js +20 -20
  28. package/esm2015/lib/key/key-factory.service.js +237 -0
  29. package/esm2015/lib/{cryptography → key}/key-graph.service.js +10 -10
  30. package/esm2015/lib/key/key-meta.service.js +200 -0
  31. package/esm2015/lib/key/key.service.js +124 -0
  32. package/esm2015/lib/key/key.types.js +11 -0
  33. package/esm2015/lib/key-exchange/key-exchange.gql.js +188 -0
  34. package/esm2015/lib/key-exchange/key-exchange.service.js +443 -0
  35. package/esm2015/lib/key-exchange/key-exchange.types.js +7 -0
  36. package/esm2015/lib/key-exchange/key-exchange2.gql.js +171 -0
  37. package/esm2015/lib/key-exchange/key-exchange2.service.js +500 -0
  38. package/esm2015/lib/lbop/lbop.service.js +355 -0
  39. package/esm2015/lib/life-ready.module.js +2 -27
  40. package/esm2015/lib/lock/lock.gql.js +40 -0
  41. package/esm2015/lib/lock/lock.service.js +64 -0
  42. package/esm2015/lib/message/message.gql.js +32 -0
  43. package/esm2015/lib/message/message.service.js +116 -0
  44. package/esm2015/lib/message/message.types.js +1 -0
  45. package/esm2015/lib/password/password.gql.js +28 -0
  46. package/esm2015/lib/password/password.service.js +315 -0
  47. package/esm2015/lib/persist/persist.service.js +180 -0
  48. package/esm2015/lib/profile/profile-details.service.js +214 -0
  49. package/esm2015/lib/profile/profile.gql.js +97 -0
  50. package/esm2015/lib/profile/profile.service.js +169 -0
  51. package/esm2015/lib/profile/profile.types.js +34 -0
  52. package/esm2015/lib/record/record-attachment.service.js +15 -15
  53. package/esm2015/lib/record/record.service.js +3 -3
  54. package/esm2015/lib/register/register.service.js +172 -0
  55. package/esm2015/lib/scenario/scenario.controller.js +2 -2
  56. package/esm2015/lib/scenario/{scenario.gql.private.js → scenario.private.gql.js} +1 -1
  57. package/esm2015/lib/scenario/scenario.service.js +9 -9
  58. package/esm2015/lib/scenario/scenario.types.js +1 -1
  59. package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +119 -0
  60. package/esm2015/lib/shared-contact-card/shared-contact-card2.gql.js +41 -0
  61. package/esm2015/lib/shared-contact-card/shared-contact-card2.service.js +117 -0
  62. package/esm2015/lib/slip39/slip39.service.js +169 -0
  63. package/esm2015/lib/time/time.service.js +146 -0
  64. package/esm2015/lib/tp-assembly/tp-assembly.js +365 -0
  65. package/esm2015/lib/tp-assembly/tp-assembly.private.gql.js +22 -0
  66. package/esm2015/lib/tp-assembly/tp-assembly.types.js +1 -0
  67. package/esm2015/lib/tp-password-reset/tp-password-reset-request.service.js +100 -0
  68. package/esm2015/lib/tp-password-reset/tp-password-reset-user.service.js +117 -0
  69. package/esm2015/lib/tp-password-reset/tp-password-reset.constants.js +4 -0
  70. package/esm2015/lib/tp-password-reset/tp-password-reset.controller.js +34 -0
  71. package/esm2015/lib/tp-password-reset/tp-password-reset.gql.js +74 -0
  72. package/esm2015/lib/tp-password-reset/tp-password-reset.private.gql.js +165 -0
  73. package/esm2015/lib/tp-password-reset/tp-password-reset.private.service.js +54 -0
  74. package/esm2015/lib/tp-password-reset/tp-password-reset.service.js +92 -0
  75. package/esm2015/lib/tp-password-reset/tp-password-reset.types.js +1 -0
  76. package/esm2015/lib/trusted-party/trusted-party.gql.js +148 -0
  77. package/esm2015/lib/trusted-party/trusted-party.service.js +326 -0
  78. package/esm2015/lib/trusted-party/trusted-party.types.js +41 -0
  79. package/esm2015/lib/trusted-party/trusted-party2.gql.js +64 -0
  80. package/esm2015/lib/trusted-party/trusted-party2.gql.private.js +25 -0
  81. package/esm2015/lib/trusted-party/trusted-party2.service.js +224 -0
  82. package/esm2015/lib/trusted-party/trusted-party2.types.js +1 -0
  83. package/esm2015/lib/two-factor/two-factor.service.js +74 -0
  84. package/esm2015/lib/user/user.gql.js +60 -0
  85. package/esm2015/lib/user/user.service.js +79 -0
  86. package/esm2015/lib/user/user.types.js +1 -0
  87. package/esm2015/lib/web-crypto/web-crypto.service.js +29 -0
  88. package/esm2015/lifeready-core.js +15 -13
  89. package/esm2015/public-api.js +49 -51
  90. package/fesm2015/lifeready-core.js +9232 -9214
  91. package/fesm2015/lifeready-core.js.map +1 -1
  92. package/lib/_common/types.d.ts +3 -1
  93. package/lib/api/lr-apollo.service.d.ts +1 -1
  94. package/lib/api/lr-graphql/lr-graphql.service.d.ts +1 -1
  95. package/lib/api/query-processor/common-processors.service.d.ts +1 -1
  96. package/lib/api/query-processor/query-processor.service.d.ts +1 -1
  97. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +1 -1
  98. package/lib/api/types/lr-graphql.types.d.ts +11 -0
  99. package/lib/auth/auth.gql.d.ts +0 -3
  100. package/lib/auth/auth.types.d.ts +2 -2
  101. package/lib/auth/life-ready-auth.service.d.ts +12 -12
  102. package/lib/category/category.gql.d.ts +1 -1
  103. package/lib/category/category.service.d.ts +2 -2
  104. package/lib/{api → contact-card}/contact-card.service.d.ts +9 -9
  105. package/lib/contact-card/contact-card2.gql.d.ts +25 -0
  106. package/lib/{api → contact-card}/contact-card2.service.d.ts +11 -12
  107. package/lib/{cryptography → encryption}/encryption.service.d.ts +2 -2
  108. package/lib/{api/file.service.d.ts → file-upload/file-upload.service.d.ts} +3 -7
  109. package/lib/file-upload/file-upload.types.d.ts +5 -0
  110. package/lib/{auth → idle}/idle.service.d.ts +4 -4
  111. package/lib/items2/item2.service.d.ts +11 -11
  112. package/lib/{cryptography → key}/key-factory.service.d.ts +2 -2
  113. package/lib/{cryptography → key}/key-graph.service.d.ts +5 -5
  114. package/lib/{cryptography → key}/key-meta.service.d.ts +1 -1
  115. package/lib/{cryptography → key}/key.service.d.ts +2 -2
  116. package/lib/{cryptography/cryptography.types.d.ts → key/key.types.d.ts} +9 -13
  117. package/lib/{api → key-exchange}/key-exchange.service.d.ts +5 -5
  118. package/lib/{api → key-exchange}/key-exchange.types.d.ts +4 -4
  119. package/lib/{api → key-exchange}/key-exchange2.gql.d.ts +1 -1
  120. package/lib/{api → key-exchange}/key-exchange2.service.d.ts +71 -18
  121. package/lib/{auth → lbop}/lbop.service.d.ts +7 -7
  122. package/lib/{api → lock}/lock.gql.d.ts +1 -1
  123. package/lib/{api → lock}/lock.service.d.ts +1 -1
  124. package/lib/message/message.gql.d.ts +13 -0
  125. package/lib/message/message.service.d.ts +29 -0
  126. package/lib/message/message.types.d.ts +12 -0
  127. package/lib/password/password.gql.d.ts +3 -0
  128. package/lib/{auth → password}/password.service.d.ts +8 -8
  129. package/lib/{api → persist}/persist.service.d.ts +3 -3
  130. package/lib/{users → profile}/profile-details.service.d.ts +3 -3
  131. package/lib/{users → profile}/profile.gql.d.ts +2 -2
  132. package/lib/{users → profile}/profile.service.d.ts +6 -6
  133. package/lib/{users → profile}/profile.types.d.ts +1 -1
  134. package/lib/record/record-attachment.service.d.ts +6 -6
  135. package/lib/record/record.service.d.ts +1 -1
  136. package/lib/{auth → register}/register.service.d.ts +4 -4
  137. package/lib/scenario/scenario.controller.d.ts +1 -1
  138. package/lib/scenario/scenario.service.d.ts +2 -2
  139. package/lib/scenario/scenario.types.d.ts +1 -1
  140. package/lib/{api → shared-contact-card}/shared-contact-card.service.d.ts +9 -9
  141. package/lib/{api → shared-contact-card}/shared-contact-card2.gql.d.ts +1 -1
  142. package/lib/{api → shared-contact-card}/shared-contact-card2.service.d.ts +6 -6
  143. package/lib/{trusted-parties → tp-assembly}/tp-assembly.d.ts +7 -7
  144. package/lib/{trusted-parties → tp-assembly}/tp-assembly.types.d.ts +1 -1
  145. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-request.service.d.ts +4 -8
  146. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-user.service.d.ts +7 -13
  147. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.controller.d.ts +1 -1
  148. package/lib/tp-password-reset/tp-password-reset.gql.d.ts +63 -0
  149. package/lib/{trusted-parties/tp-password-reset.gql.d.ts → tp-password-reset/tp-password-reset.private.gql.d.ts} +1 -63
  150. package/lib/tp-password-reset/tp-password-reset.private.service.d.ts +59 -0
  151. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.service.d.ts +6 -89
  152. package/lib/tp-password-reset/tp-password-reset.types.d.ts +40 -0
  153. package/lib/{trusted-parties → trusted-party}/trusted-party.service.d.ts +7 -7
  154. package/lib/{trusted-parties → trusted-party}/trusted-party.types.d.ts +2 -3
  155. package/lib/{trusted-parties → trusted-party}/trusted-party2.gql.d.ts +0 -22
  156. package/lib/trusted-party/trusted-party2.gql.private.d.ts +23 -0
  157. package/lib/{trusted-parties → trusted-party}/trusted-party2.service.d.ts +11 -35
  158. package/lib/trusted-party/trusted-party2.types.d.ts +12 -0
  159. package/lib/{users → user}/user.gql.d.ts +1 -1
  160. package/lib/{users → user}/user.types.d.ts +1 -1
  161. package/lifeready-core.d.ts +14 -12
  162. package/lifeready-core.metadata.json +1 -1
  163. package/package.json +1 -1
  164. package/public-api.d.ts +48 -50
  165. package/esm2015/lib/api/contact-card.gql.js +0 -79
  166. package/esm2015/lib/api/contact-card.service.js +0 -154
  167. package/esm2015/lib/api/contact-card2.gql.js +0 -60
  168. package/esm2015/lib/api/contact-card2.service.js +0 -103
  169. package/esm2015/lib/api/file.service.js +0 -74
  170. package/esm2015/lib/api/key-exchange.gql.js +0 -188
  171. package/esm2015/lib/api/key-exchange.service.js +0 -442
  172. package/esm2015/lib/api/key-exchange.types.js +0 -7
  173. package/esm2015/lib/api/key-exchange2.gql.js +0 -171
  174. package/esm2015/lib/api/key-exchange2.service.js +0 -480
  175. package/esm2015/lib/api/lock.gql.js +0 -40
  176. package/esm2015/lib/api/lock.service.js +0 -64
  177. package/esm2015/lib/api/message.service.js +0 -138
  178. package/esm2015/lib/api/persist.service.js +0 -181
  179. package/esm2015/lib/api/shared-contact-card.service.js +0 -119
  180. package/esm2015/lib/api/shared-contact-card2.gql.js +0 -41
  181. package/esm2015/lib/api/shared-contact-card2.service.js +0 -117
  182. package/esm2015/lib/api/time.service.js +0 -146
  183. package/esm2015/lib/auth/lbop.service.js +0 -355
  184. package/esm2015/lib/auth/password.service.js +0 -315
  185. package/esm2015/lib/auth/register.service.js +0 -172
  186. package/esm2015/lib/auth/two-factor.service.js +0 -74
  187. package/esm2015/lib/cryptography/cryptography.types.js +0 -11
  188. package/esm2015/lib/cryptography/encryption.service.js +0 -189
  189. package/esm2015/lib/cryptography/key-factory.service.js +0 -237
  190. package/esm2015/lib/cryptography/key-meta.service.js +0 -200
  191. package/esm2015/lib/cryptography/key.service.js +0 -124
  192. package/esm2015/lib/cryptography/slip39.service.js +0 -169
  193. package/esm2015/lib/cryptography/web-crypto.service.js +0 -29
  194. package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +0 -22
  195. package/esm2015/lib/trusted-parties/tp-assembly.js +0 -365
  196. package/esm2015/lib/trusted-parties/tp-assembly.types.js +0 -1
  197. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +0 -113
  198. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +0 -129
  199. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +0 -4
  200. package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +0 -34
  201. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +0 -237
  202. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +0 -95
  203. package/esm2015/lib/trusted-parties/trusted-party.gql.js +0 -148
  204. package/esm2015/lib/trusted-parties/trusted-party.service.js +0 -326
  205. package/esm2015/lib/trusted-parties/trusted-party.types.js +0 -41
  206. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +0 -87
  207. package/esm2015/lib/trusted-parties/trusted-party2.service.js +0 -218
  208. package/esm2015/lib/users/profile-details.service.js +0 -214
  209. package/esm2015/lib/users/profile.gql.js +0 -97
  210. package/esm2015/lib/users/profile.service.js +0 -169
  211. package/esm2015/lib/users/profile.types.js +0 -34
  212. package/esm2015/lib/users/user.gql.js +0 -60
  213. package/esm2015/lib/users/user.service.js +0 -79
  214. package/esm2015/lib/users/user.types.js +0 -1
  215. package/lib/api/contact-card2.gql.d.ts +0 -34
  216. package/lib/api/message.service.d.ts +0 -59
  217. /package/lib/{api → contact-card}/contact-card.gql.d.ts +0 -0
  218. /package/lib/{auth → idle}/idle.types.d.ts +0 -0
  219. /package/lib/{api → key-exchange}/key-exchange.gql.d.ts +0 -0
  220. /package/lib/scenario/{scenario.gql.private.d.ts → scenario.private.gql.d.ts} +0 -0
  221. /package/lib/{cryptography → slip39}/slip39.service.d.ts +0 -0
  222. /package/lib/{api → time}/time.service.d.ts +0 -0
  223. /package/lib/{trusted-parties/tp-assembly.gql.private.d.ts → tp-assembly/tp-assembly.private.gql.d.ts} +0 -0
  224. /package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.constants.d.ts +0 -0
  225. /package/lib/{trusted-parties → trusted-party}/trusted-party.gql.d.ts +0 -0
  226. /package/lib/{auth → two-factor}/two-factor.service.d.ts +0 -0
  227. /package/lib/{users → user}/user.service.d.ts +0 -0
  228. /package/lib/{cryptography → web-crypto}/web-crypto.service.d.ts +0 -0
@@ -1,74 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { HttpClient } from '@angular/common/http';
3
- import { Injectable, Inject } from '@angular/core';
4
- import { LR_CONFIG } from '../life-ready.config';
5
- import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../life-ready.config";
8
- import * as i2 from "@angular/common/http";
9
- import * as i3 from "../auth/life-ready-auth.service";
10
- export class FileService {
11
- constructor(config, http, lrAuth) {
12
- this.config = config;
13
- this.http = http;
14
- this.lrAuth = lrAuth;
15
- }
16
- downloadEncryptedFile(fileStateNodeId) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- return JSON.parse(yield this.downloadEncryptedFile2(fileStateNodeId));
19
- });
20
- }
21
- downloadEncryptedFile2(fileStateNodeId) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- const url = `${this.config.apiUrl}files/download/?file_state_node_id=${fileStateNodeId}`;
24
- const content = yield this.http
25
- .get(url, {
26
- responseType: 'text',
27
- headers: {
28
- Authorization: `Bearer ${(yield this.lrAuth.getUser()).getAccessJwtToken()}`,
29
- },
30
- })
31
- .toPromise();
32
- return content;
33
- });
34
- }
35
- loadFile(file) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- return new Promise((resolve, reject) => {
38
- const reader = new FileReader();
39
- reader.onload = () => {
40
- // OK to type cast here since we are using readAsArrayBuffer.
41
- resolve(reader.result);
42
- };
43
- reader.readAsArrayBuffer(file);
44
- });
45
- });
46
- }
47
- uploadEncryptedFile(options) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const { encryptedContent, fileName } = options;
50
- const formData = new FormData();
51
- formData.append('content', new Blob([encryptedContent]), fileName);
52
- const { content_resource } = yield this.http
53
- .post(`${this.config.apiUrl}files/upload/`, formData, {
54
- headers: {
55
- Authorization: `Bearer ${(yield this.lrAuth.getUser()).getAccessJwtToken()}`,
56
- },
57
- })
58
- .toPromise();
59
- return content_resource;
60
- });
61
- }
62
- }
63
- FileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(i0.ɵɵinject(i1.LR_CONFIG), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.LifeReadyAuthService)); }, token: FileService, providedIn: "root" });
64
- FileService.decorators = [
65
- { type: Injectable, args: [{
66
- providedIn: 'root',
67
- },] }
68
- ];
69
- FileService.ctorParameters = () => [
70
- { type: undefined, decorators: [{ type: Inject, args: [LR_CONFIG,] }] },
71
- { type: HttpClient },
72
- { type: LifeReadyAuthService }
73
- ];
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hcGkvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFjdkUsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFDNkIsTUFBdUIsRUFDMUMsSUFBZ0IsRUFDaEIsTUFBNEI7UUFGVCxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUMxQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQXNCO0lBQ25DLENBQUM7SUFFRSxxQkFBcUIsQ0FBQyxlQUF1Qjs7WUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQztLQUFBO0lBRUssc0JBQXNCLENBQUMsZUFBdUI7O1lBQ2xELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxlQUFlLEVBQUUsQ0FBQztZQUV6RixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJO2lCQUM1QixHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNSLFlBQVksRUFBRSxNQUFNO2dCQUNwQixPQUFPLEVBQUU7b0JBQ1AsYUFBYSxFQUFFLFVBQVUsQ0FDdkIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUM1QixDQUFDLGlCQUFpQixFQUFFLEVBQUU7aUJBQ3hCO2FBQ0YsQ0FBQztpQkFDRCxTQUFTLEVBQUUsQ0FBQztZQUVmLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7S0FBQTtJQUVLLFFBQVEsQ0FBQyxJQUFVOztZQUN2QixPQUFPLElBQUksT0FBTyxDQUFjLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtvQkFDbkIsNkRBQTZEO29CQUM3RCxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQXFCLENBQUMsQ0FBQztnQkFDeEMsQ0FBQyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVLLG1CQUFtQixDQUN2QixPQUFtQzs7WUFFbkMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUUvQyxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRW5FLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUk7aUJBQ3pDLElBQUksQ0FDSCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxlQUFlLEVBQ3BDLFFBQVEsRUFDUjtnQkFDRSxPQUFPLEVBQUU7b0JBQ1AsYUFBYSxFQUFFLFVBQVUsQ0FDdkIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUM1QixDQUFDLGlCQUFpQixFQUFFLEVBQUU7aUJBQ3hCO2FBQ0YsQ0FDRjtpQkFDQSxTQUFTLEVBQUUsQ0FBQztZQUVmLE9BQU8sZ0JBQWdCLENBQUM7UUFDMUIsQ0FBQztLQUFBOzs7O1lBakVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQUdJLE1BQU0sU0FBQyxTQUFTO1lBbkJaLFVBQVU7WUFHVixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMUl9DT05GSUcsIExpZmVSZWFkeUNvbmZpZyB9IGZyb20gJy4uL2xpZmUtcmVhZHkuY29uZmlnJztcbmltcG9ydCB7IExpZmVSZWFkeUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9saWZlLXJlYWR5LWF1dGguc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIEZpbGVDb250ZW50Q29udGV4dCA9ICdGSUxFX1NUQVRFJztcblxuZXhwb3J0IGludGVyZmFjZSBVcGxvYWRFbmNyeXB0ZWRGaWxlT3B0aW9ucyB7XG4gIGVuY3J5cHRlZENvbnRlbnQ6IHN0cmluZztcbiAgLy8gVE9ETyBBZGQgaW4gdGhlIGNvbnRleHQgZmllbGQgYW5kIG1ha2UgaXQgbWFuZGF0b3J5XG4gIC8vIGNvbnRleHQ6IEZpbGVDb250ZW50Q29udGV4dDtcbiAgZmlsZU5hbWU/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTFJfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogTGlmZVJlYWR5Q29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGxyQXV0aDogTGlmZVJlYWR5QXV0aFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGRvd25sb2FkRW5jcnlwdGVkRmlsZShmaWxlU3RhdGVOb2RlSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoYXdhaXQgdGhpcy5kb3dubG9hZEVuY3J5cHRlZEZpbGUyKGZpbGVTdGF0ZU5vZGVJZCkpO1xuICB9XG5cbiAgYXN5bmMgZG93bmxvYWRFbmNyeXB0ZWRGaWxlMihmaWxlU3RhdGVOb2RlSWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcuYXBpVXJsfWZpbGVzL2Rvd25sb2FkLz9maWxlX3N0YXRlX25vZGVfaWQ9JHtmaWxlU3RhdGVOb2RlSWR9YDtcblxuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsLCB7XG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAkeyhcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubHJBdXRoLmdldFVzZXIoKVxuICAgICAgICAgICkuZ2V0QWNjZXNzSnd0VG9rZW4oKX1gLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgYXN5bmMgbG9hZEZpbGUoZmlsZTogRmlsZSk6IFByb21pc2U8QXJyYXlCdWZmZXI+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8QXJyYXlCdWZmZXI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAvLyBPSyB0byB0eXBlIGNhc3QgaGVyZSBzaW5jZSB3ZSBhcmUgdXNpbmcgcmVhZEFzQXJyYXlCdWZmZXIuXG4gICAgICAgIHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBBcnJheUJ1ZmZlcik7XG4gICAgICB9O1xuICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXBsb2FkRW5jcnlwdGVkRmlsZShcbiAgICBvcHRpb25zOiBVcGxvYWRFbmNyeXB0ZWRGaWxlT3B0aW9uc1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgZW5jcnlwdGVkQ29udGVudCwgZmlsZU5hbWUgfSA9IG9wdGlvbnM7XG5cbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnY29udGVudCcsIG5ldyBCbG9iKFtlbmNyeXB0ZWRDb250ZW50XSksIGZpbGVOYW1lKTtcblxuICAgIGNvbnN0IHsgY29udGVudF9yZXNvdXJjZSB9ID0gYXdhaXQgdGhpcy5odHRwXG4gICAgICAucG9zdDx7IGNvbnRlbnRfcmVzb3VyY2UgfT4oXG4gICAgICAgIGAke3RoaXMuY29uZmlnLmFwaVVybH1maWxlcy91cGxvYWQvYCxcbiAgICAgICAgZm9ybURhdGEsXG4gICAgICAgIHtcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7KFxuICAgICAgICAgICAgICBhd2FpdCB0aGlzLmxyQXV0aC5nZXRVc2VyKClcbiAgICAgICAgICAgICkuZ2V0QWNjZXNzSnd0VG9rZW4oKX1gLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIHJldHVybiBjb250ZW50X3Jlc291cmNlO1xuICB9XG59XG4iXX0=
@@ -1,188 +0,0 @@
1
- import gql from 'graphql-tag';
2
- import { FetchKeyGraphField, KeyGraphFragment } from '../_common/queries.gql';
3
- export const KeyExchangeFields = `
4
- id
5
- token
6
- state
7
- mode
8
- isInitiator
9
- initiator {
10
- id
11
- username
12
- }
13
- responder {
14
- id
15
- username
16
- }
17
- created
18
- modified
19
- tokenExpiryTime
20
- isExpired
21
- initiatorRootKeyCipher
22
- initiatorActionRequired
23
- responderActionRequired
24
- responderEmailAddress
25
- otk {
26
- state
27
- otKeyParams
28
- otKeyCipher
29
- sharedKey {
30
- id
31
- }
32
- mkSharedKey {
33
- id
34
- }
35
- initiatorSigPxk {
36
- id
37
- }
38
- responderSigPxk {
39
- id
40
- }
41
- initiatorOneTimePbkCipher
42
- responderPbkCipher
43
- }`;
44
- export const UserSharedKeyFields = `
45
- userSigPrk {
46
- id
47
- }
48
- otherSigPbk {
49
- id
50
- }
51
- sharedKey {
52
- id
53
- }
54
- mkSharedKey {
55
- id
56
- }
57
- mkPxk {
58
- id
59
- pbk
60
- }
61
- mkReshareRequestCipher
62
- mkReshareResponseCipher
63
- mkReshareRequestSent
64
- mkReshareResponseSent
65
- `;
66
- export const CurrentUserSharedKeyQuery = gql `
67
- query CurrentUserSharedKeyQuery(
68
- $username: String
69
- $userId: LrRelayIdInput
70
- $cachedKeyIds: [LrRelayIdInput!]
71
- ) {
72
- currentUserSharedKey(
73
- username: $username
74
- userId: $userId
75
- ) {
76
- userSharedKey {
77
- ${UserSharedKeyFields}
78
- }
79
- }
80
- keyGraph(cachedKeyIds: $cachedKeyIds) {
81
- ...KeyGraphFragment
82
- }
83
- }
84
- ${KeyGraphFragment}`;
85
- export const KeyExchangesQuery = gql `
86
- query KeyExchangeQuery(
87
- $orderBy: String
88
- $isExpired: Boolean
89
- $initiatorActionRequired: Boolean
90
- $responderActionRequired: Boolean
91
- $initiator: ID
92
- $responder: ID
93
- $state: String
94
- ) {
95
- keyExchanges(
96
- orderBy: $orderBy
97
- isExpired: $isExpired
98
- initiatorActionRequired: $initiatorActionRequired
99
- responderActionRequired: $responderActionRequired
100
- initiator: $initiator
101
- responder: $responder
102
- state: $state
103
- ) {
104
- edges {
105
- node {
106
- ${KeyExchangeFields}
107
- }
108
- }
109
- }
110
- keyGraph {
111
- ...KeyGraphFragment
112
- }
113
- }
114
- ${KeyGraphFragment}
115
- `;
116
- export const KeyExchangeQuery = gql `
117
- query KeyExchangeQuery(
118
- $id: LrRelayIdInput!
119
- ) {
120
- keyExchange(
121
- id: $id
122
- ) {
123
- ${KeyExchangeFields}
124
- }
125
- keyGraph {
126
- ...KeyGraphFragment
127
- }
128
- }
129
- ${KeyGraphFragment}
130
- `;
131
- // Key graph is only available for authenticated users. This query
132
- // is for unauthenticated users.
133
- export const KeyExchangeTokenQuery = gql `
134
- query KeyExchangeQuery(
135
- $id: LrRelayIdInput!
136
- $token: String
137
- ) {
138
- keyExchange(
139
- id: $id
140
- token: $token
141
- ) {
142
- ${KeyExchangeFields}
143
- }
144
- }`;
145
- export const InitiateOtkMutation = gql `
146
- mutation InitiateKeyExchangeOtk(
147
- $input: InitiateKeyExchangeOtkInput!
148
- ) {
149
- initiateKeyExchangeOtk(input: $input) {
150
- keyExchange {
151
- ${KeyExchangeFields}
152
- }
153
- }
154
- ${FetchKeyGraphField}
155
- }`;
156
- export const RespondOtkMutation = gql `
157
- mutation RespondKeyExchangeOtk(
158
- $input: RespondKeyExchangeOtkInput!
159
- ) {
160
- respondKeyExchangeOtk(input: $input) {
161
- keyExchange {
162
- ${KeyExchangeFields}
163
- }
164
- userSharedKey {
165
- ${UserSharedKeyFields}
166
- }
167
- tp {
168
- id
169
- }
170
- }
171
- }`;
172
- export const CompleteOtkMutation = gql `
173
- mutation CompleteKeyExchangeOtk(
174
- $input: CompleteKeyExchangeOtkInput!
175
- ) {
176
- completeKeyExchangeOtk(input: $input) {
177
- keyExchange {
178
- ${KeyExchangeFields}
179
- }
180
- userSharedKey {
181
- ${UserSharedKeyFields}
182
- }
183
- tp {
184
- id
185
- }
186
- }
187
- }`;
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWV4Y2hhbmdlLmdxbC5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBpL2tleS1leGNoYW5nZS5ncWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBd0MvQixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFCbEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7UUFXcEMsbUJBQW1COzs7Ozs7O0VBT3pCLGdCQUFnQixFQUFFLENBQUM7QUFFckIsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFxQjVCLGlCQUFpQjs7Ozs7Ozs7RUFRdkIsZ0JBQWdCO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPN0IsaUJBQWlCOzs7Ozs7RUFNckIsZ0JBQWdCO0NBQ2pCLENBQUM7QUFFRixrRUFBa0U7QUFDbEUsZ0NBQWdDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7O01BU2xDLGlCQUFpQjs7RUFFckIsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTWhDLGlCQUFpQjs7O0VBR3JCLGtCQUFrQjtFQUNsQixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7UUFNN0IsaUJBQWlCOzs7UUFHakIsbUJBQW1COzs7Ozs7RUFNekIsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O1FBTTlCLGlCQUFpQjs7O1FBR2pCLG1CQUFtQjs7Ozs7O0VBTXpCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcbmltcG9ydCB7IEZldGNoS2V5R3JhcGhGaWVsZCwgS2V5R3JhcGhGcmFnbWVudCB9IGZyb20gJy4uL19jb21tb24vcXVlcmllcy5ncWwnO1xuXG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VGaWVsZHMgPSBgXG4gIGlkXG4gIHRva2VuXG4gIHN0YXRlXG4gIG1vZGVcbiAgaXNJbml0aWF0b3JcbiAgaW5pdGlhdG9yIHtcbiAgICBpZFxuICAgIHVzZXJuYW1lXG4gIH1cbiAgcmVzcG9uZGVyIHtcbiAgICBpZFxuICAgIHVzZXJuYW1lXG4gIH1cbiAgY3JlYXRlZFxuICBtb2RpZmllZFxuICB0b2tlbkV4cGlyeVRpbWVcbiAgaXNFeHBpcmVkXG4gIGluaXRpYXRvclJvb3RLZXlDaXBoZXJcbiAgaW5pdGlhdG9yQWN0aW9uUmVxdWlyZWRcbiAgcmVzcG9uZGVyQWN0aW9uUmVxdWlyZWRcbiAgcmVzcG9uZGVyRW1haWxBZGRyZXNzXG4gIG90ayB7XG4gICAgc3RhdGVcbiAgICBvdEtleVBhcmFtc1xuICAgIG90S2V5Q2lwaGVyXG4gICAgc2hhcmVkS2V5IHtcbiAgICAgIGlkXG4gICAgfVxuICAgIG1rU2hhcmVkS2V5IHtcbiAgICAgIGlkXG4gICAgfVxuICAgIGluaXRpYXRvclNpZ1B4ayB7XG4gICAgICBpZFxuICAgIH1cbiAgICByZXNwb25kZXJTaWdQeGsge1xuICAgICAgaWRcbiAgICB9XG4gICAgaW5pdGlhdG9yT25lVGltZVBia0NpcGhlclxuICAgIHJlc3BvbmRlclBia0NpcGhlclxufWA7XG5cbmV4cG9ydCBjb25zdCBVc2VyU2hhcmVkS2V5RmllbGRzID0gYFxuICB1c2VyU2lnUHJrIHtcbiAgICBpZFxuICB9XG4gIG90aGVyU2lnUGJrIHtcbiAgICBpZFxuICB9XG4gIHNoYXJlZEtleSB7XG4gICAgaWRcbiAgfVxuICBta1NoYXJlZEtleSB7XG4gICAgaWRcbiAgfVxuICBta1B4ayB7XG4gICAgaWRcbiAgICBwYmtcbiAgfVxuICBta1Jlc2hhcmVSZXF1ZXN0Q2lwaGVyXG4gIG1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyXG4gIG1rUmVzaGFyZVJlcXVlc3RTZW50XG4gIG1rUmVzaGFyZVJlc3BvbnNlU2VudFxuYDtcblxuZXhwb3J0IGNvbnN0IEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkgPSBncWxgXG5xdWVyeSBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5KFxuICAkdXNlcm5hbWU6IFN0cmluZ1xuICAkdXNlcklkOiBMclJlbGF5SWRJbnB1dFxuICAkY2FjaGVkS2V5SWRzOiBbTHJSZWxheUlkSW5wdXQhXVxuKSB7XG4gIGN1cnJlbnRVc2VyU2hhcmVkS2V5KFxuICAgIHVzZXJuYW1lOiAkdXNlcm5hbWVcbiAgICB1c2VySWQ6ICR1c2VySWRcbiAgKSB7XG4gICAgdXNlclNoYXJlZEtleSB7XG4gICAgICAke1VzZXJTaGFyZWRLZXlGaWVsZHN9XG4gICAgfVxuICB9XG4gIGtleUdyYXBoKGNhY2hlZEtleUlkczogJGNhY2hlZEtleUlkcykge1xuICAgIC4uLktleUdyYXBoRnJhZ21lbnRcbiAgfVxufVxuJHtLZXlHcmFwaEZyYWdtZW50fWA7XG5cbmV4cG9ydCBjb25zdCBLZXlFeGNoYW5nZXNRdWVyeSA9IGdxbGBcbnF1ZXJ5IEtleUV4Y2hhbmdlUXVlcnkoXG4kb3JkZXJCeTogU3RyaW5nXG4kaXNFeHBpcmVkOiBCb29sZWFuXG4kaW5pdGlhdG9yQWN0aW9uUmVxdWlyZWQ6IEJvb2xlYW5cbiRyZXNwb25kZXJBY3Rpb25SZXF1aXJlZDogQm9vbGVhblxuJGluaXRpYXRvcjogSURcbiRyZXNwb25kZXI6IElEXG4kc3RhdGU6IFN0cmluZ1xuKSB7XG5rZXlFeGNoYW5nZXMoXG4gIG9yZGVyQnk6ICRvcmRlckJ5XG4gIGlzRXhwaXJlZDogJGlzRXhwaXJlZFxuICBpbml0aWF0b3JBY3Rpb25SZXF1aXJlZDogJGluaXRpYXRvckFjdGlvblJlcXVpcmVkXG4gIHJlc3BvbmRlckFjdGlvblJlcXVpcmVkOiAkcmVzcG9uZGVyQWN0aW9uUmVxdWlyZWRcbiAgaW5pdGlhdG9yOiAkaW5pdGlhdG9yXG4gIHJlc3BvbmRlcjogJHJlc3BvbmRlclxuICBzdGF0ZTogJHN0YXRlXG4pIHtcbiAgZWRnZXMge1xuICAgIG5vZGUge1xuICAgICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cbiAgICB9XG4gIH1cbn1cbmtleUdyYXBoIHtcbiAgLi4uS2V5R3JhcGhGcmFnbWVudFxufVxufVxuJHtLZXlHcmFwaEZyYWdtZW50fVxuYDtcblxuZXhwb3J0IGNvbnN0IEtleUV4Y2hhbmdlUXVlcnkgPSBncWxgXG5xdWVyeSBLZXlFeGNoYW5nZVF1ZXJ5KFxuICAkaWQ6IExyUmVsYXlJZElucHV0IVxuKSB7XG4gIGtleUV4Y2hhbmdlKFxuICAgIGlkOiAkaWRcbiAgKSB7XG4gICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cbiAgfVxuICBrZXlHcmFwaCB7XG4gICAgLi4uS2V5R3JhcGhGcmFnbWVudFxuICB9XG59XG4ke0tleUdyYXBoRnJhZ21lbnR9XG5gO1xuXG4vLyBLZXkgZ3JhcGggaXMgb25seSBhdmFpbGFibGUgZm9yIGF1dGhlbnRpY2F0ZWQgdXNlcnMuIFRoaXMgcXVlcnlcbi8vIGlzIGZvciB1bmF1dGhlbnRpY2F0ZWQgdXNlcnMuXG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VUb2tlblF1ZXJ5ID0gZ3FsYFxucXVlcnkgS2V5RXhjaGFuZ2VRdWVyeShcbiAgJGlkOiBMclJlbGF5SWRJbnB1dCFcbiAgJHRva2VuOiBTdHJpbmdcbikge1xuICBrZXlFeGNoYW5nZShcbiAgICBpZDogJGlkXG4gICAgdG9rZW46ICR0b2tlblxuICApIHtcbiAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxuICB9XG59YDtcblxuZXhwb3J0IGNvbnN0IEluaXRpYXRlT3RrTXV0YXRpb24gPSBncWxgXG5tdXRhdGlvbiBJbml0aWF0ZUtleUV4Y2hhbmdlT3RrKFxuJGlucHV0OiBJbml0aWF0ZUtleUV4Y2hhbmdlT3RrSW5wdXQhXG4pIHtcbmluaXRpYXRlS2V5RXhjaGFuZ2VPdGsoaW5wdXQ6ICRpbnB1dCkge1xuICBrZXlFeGNoYW5nZSB7XG4gICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cbiAgfVxufVxuJHtGZXRjaEtleUdyYXBoRmllbGR9XG59YDtcblxuZXhwb3J0IGNvbnN0IFJlc3BvbmRPdGtNdXRhdGlvbiA9IGdxbGBcbm11dGF0aW9uIFJlc3BvbmRLZXlFeGNoYW5nZU90ayhcbiAgJGlucHV0OiBSZXNwb25kS2V5RXhjaGFuZ2VPdGtJbnB1dCFcbikge1xuICByZXNwb25kS2V5RXhjaGFuZ2VPdGsoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGtleUV4Y2hhbmdlIHtcbiAgICAgICR7S2V5RXhjaGFuZ2VGaWVsZHN9XG4gICAgfVxuICAgIHVzZXJTaGFyZWRLZXkge1xuICAgICAgJHtVc2VyU2hhcmVkS2V5RmllbGRzfVxuICAgIH1cbiAgICB0cCB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxufWA7XG5cbmV4cG9ydCBjb25zdCBDb21wbGV0ZU90a011dGF0aW9uID0gZ3FsYFxubXV0YXRpb24gQ29tcGxldGVLZXlFeGNoYW5nZU90ayhcbiAgJGlucHV0OiBDb21wbGV0ZUtleUV4Y2hhbmdlT3RrSW5wdXQhXG4pIHtcbiAgY29tcGxldGVLZXlFeGNoYW5nZU90ayhpbnB1dDogJGlucHV0KSB7XG4gICAga2V5RXhjaGFuZ2Uge1xuICAgICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cbiAgICB9XG4gICAgdXNlclNoYXJlZEtleSB7XG4gICAgICAke1VzZXJTaGFyZWRLZXlGaWVsZHN9XG4gICAgfVxuICAgIHRwIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59YDtcbiJdfQ==