@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.
- package/bundles/lifeready-core.umd.js +9745 -9700
- package/bundles/lifeready-core.umd.js.map +1 -1
- package/bundles/lifeready-core.umd.min.js +2 -2
- package/bundles/lifeready-core.umd.min.js.map +1 -1
- package/esm2015/lib/_common/run-outside-angular.js +2 -2
- package/esm2015/lib/_common/types.js +1 -1
- package/esm2015/lib/api/lr-apollo.service.js +3 -3
- package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +3 -3
- package/esm2015/lib/api/query-processor/common-processors.service.js +3 -3
- package/esm2015/lib/api/query-processor/query-processor.service.js +4 -4
- package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +6 -5
- package/esm2015/lib/api/types/lr-graphql.types.js +1 -1
- package/esm2015/lib/auth/auth.gql.js +1 -28
- package/esm2015/lib/auth/auth.types.js +1 -1
- package/esm2015/lib/auth/life-ready-auth.service.js +32 -31
- package/esm2015/lib/category/category.gql.js +1 -1
- package/esm2015/lib/category/category.service.js +6 -6
- package/esm2015/lib/contact-card/contact-card.gql.js +79 -0
- package/esm2015/lib/contact-card/contact-card.service.js +154 -0
- package/esm2015/lib/contact-card/contact-card2.gql.js +29 -0
- package/esm2015/lib/contact-card/contact-card2.service.js +103 -0
- package/esm2015/lib/encryption/encryption.service.js +189 -0
- package/esm2015/lib/file-upload/file-upload.service.js +74 -0
- package/esm2015/lib/file-upload/file-upload.types.js +1 -0
- package/esm2015/lib/{auth → idle}/idle.service.js +7 -7
- package/esm2015/lib/{auth → idle}/idle.types.js +1 -1
- package/esm2015/lib/items2/item2.service.js +20 -20
- package/esm2015/lib/key/key-factory.service.js +237 -0
- package/esm2015/lib/{cryptography → key}/key-graph.service.js +10 -10
- package/esm2015/lib/key/key-meta.service.js +200 -0
- package/esm2015/lib/key/key.service.js +124 -0
- package/esm2015/lib/key/key.types.js +11 -0
- package/esm2015/lib/key-exchange/key-exchange.gql.js +188 -0
- package/esm2015/lib/key-exchange/key-exchange.service.js +443 -0
- package/esm2015/lib/key-exchange/key-exchange.types.js +7 -0
- package/esm2015/lib/key-exchange/key-exchange2.gql.js +171 -0
- package/esm2015/lib/key-exchange/key-exchange2.service.js +500 -0
- package/esm2015/lib/lbop/lbop.service.js +355 -0
- package/esm2015/lib/life-ready.module.js +2 -27
- package/esm2015/lib/lock/lock.gql.js +40 -0
- package/esm2015/lib/lock/lock.service.js +64 -0
- package/esm2015/lib/message/message.gql.js +32 -0
- package/esm2015/lib/message/message.service.js +116 -0
- package/esm2015/lib/message/message.types.js +1 -0
- package/esm2015/lib/password/password.gql.js +28 -0
- package/esm2015/lib/password/password.service.js +315 -0
- package/esm2015/lib/persist/persist.service.js +180 -0
- package/esm2015/lib/profile/profile-details.service.js +214 -0
- package/esm2015/lib/profile/profile.gql.js +97 -0
- package/esm2015/lib/profile/profile.service.js +169 -0
- package/esm2015/lib/profile/profile.types.js +34 -0
- package/esm2015/lib/record/record-attachment.service.js +15 -15
- package/esm2015/lib/record/record.service.js +3 -3
- package/esm2015/lib/register/register.service.js +172 -0
- package/esm2015/lib/scenario/scenario.controller.js +2 -2
- package/esm2015/lib/scenario/{scenario.gql.private.js → scenario.private.gql.js} +1 -1
- package/esm2015/lib/scenario/scenario.service.js +9 -9
- package/esm2015/lib/scenario/scenario.types.js +1 -1
- package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +119 -0
- package/esm2015/lib/shared-contact-card/shared-contact-card2.gql.js +41 -0
- package/esm2015/lib/shared-contact-card/shared-contact-card2.service.js +117 -0
- package/esm2015/lib/slip39/slip39.service.js +169 -0
- package/esm2015/lib/time/time.service.js +146 -0
- package/esm2015/lib/tp-assembly/tp-assembly.js +365 -0
- package/esm2015/lib/tp-assembly/tp-assembly.private.gql.js +22 -0
- package/esm2015/lib/tp-assembly/tp-assembly.types.js +1 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset-request.service.js +100 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset-user.service.js +117 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.constants.js +4 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.controller.js +34 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.gql.js +74 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.private.gql.js +165 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.private.service.js +54 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.service.js +92 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.types.js +1 -0
- package/esm2015/lib/trusted-party/trusted-party.gql.js +148 -0
- package/esm2015/lib/trusted-party/trusted-party.service.js +326 -0
- package/esm2015/lib/trusted-party/trusted-party.types.js +41 -0
- package/esm2015/lib/trusted-party/trusted-party2.gql.js +64 -0
- package/esm2015/lib/trusted-party/trusted-party2.gql.private.js +25 -0
- package/esm2015/lib/trusted-party/trusted-party2.service.js +224 -0
- package/esm2015/lib/trusted-party/trusted-party2.types.js +1 -0
- package/esm2015/lib/two-factor/two-factor.service.js +74 -0
- package/esm2015/lib/user/user.gql.js +60 -0
- package/esm2015/lib/user/user.service.js +79 -0
- package/esm2015/lib/user/user.types.js +1 -0
- package/esm2015/lib/web-crypto/web-crypto.service.js +29 -0
- package/esm2015/lifeready-core.js +15 -13
- package/esm2015/public-api.js +49 -51
- package/fesm2015/lifeready-core.js +9232 -9214
- package/fesm2015/lifeready-core.js.map +1 -1
- package/lib/_common/types.d.ts +3 -1
- package/lib/api/lr-apollo.service.d.ts +1 -1
- package/lib/api/lr-graphql/lr-graphql.service.d.ts +1 -1
- package/lib/api/query-processor/common-processors.service.d.ts +1 -1
- package/lib/api/query-processor/query-processor.service.d.ts +1 -1
- package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +1 -1
- package/lib/api/types/lr-graphql.types.d.ts +11 -0
- package/lib/auth/auth.gql.d.ts +0 -3
- package/lib/auth/auth.types.d.ts +2 -2
- package/lib/auth/life-ready-auth.service.d.ts +12 -12
- package/lib/category/category.gql.d.ts +1 -1
- package/lib/category/category.service.d.ts +2 -2
- package/lib/{api → contact-card}/contact-card.service.d.ts +9 -9
- package/lib/contact-card/contact-card2.gql.d.ts +25 -0
- package/lib/{api → contact-card}/contact-card2.service.d.ts +11 -12
- package/lib/{cryptography → encryption}/encryption.service.d.ts +2 -2
- package/lib/{api/file.service.d.ts → file-upload/file-upload.service.d.ts} +3 -7
- package/lib/file-upload/file-upload.types.d.ts +5 -0
- package/lib/{auth → idle}/idle.service.d.ts +4 -4
- package/lib/items2/item2.service.d.ts +11 -11
- package/lib/{cryptography → key}/key-factory.service.d.ts +2 -2
- package/lib/{cryptography → key}/key-graph.service.d.ts +5 -5
- package/lib/{cryptography → key}/key-meta.service.d.ts +1 -1
- package/lib/{cryptography → key}/key.service.d.ts +2 -2
- package/lib/{cryptography/cryptography.types.d.ts → key/key.types.d.ts} +9 -13
- package/lib/{api → key-exchange}/key-exchange.service.d.ts +5 -5
- package/lib/{api → key-exchange}/key-exchange.types.d.ts +4 -4
- package/lib/{api → key-exchange}/key-exchange2.gql.d.ts +1 -1
- package/lib/{api → key-exchange}/key-exchange2.service.d.ts +71 -18
- package/lib/{auth → lbop}/lbop.service.d.ts +7 -7
- package/lib/{api → lock}/lock.gql.d.ts +1 -1
- package/lib/{api → lock}/lock.service.d.ts +1 -1
- package/lib/message/message.gql.d.ts +13 -0
- package/lib/message/message.service.d.ts +29 -0
- package/lib/message/message.types.d.ts +12 -0
- package/lib/password/password.gql.d.ts +3 -0
- package/lib/{auth → password}/password.service.d.ts +8 -8
- package/lib/{api → persist}/persist.service.d.ts +3 -3
- package/lib/{users → profile}/profile-details.service.d.ts +3 -3
- package/lib/{users → profile}/profile.gql.d.ts +2 -2
- package/lib/{users → profile}/profile.service.d.ts +6 -6
- package/lib/{users → profile}/profile.types.d.ts +1 -1
- package/lib/record/record-attachment.service.d.ts +6 -6
- package/lib/record/record.service.d.ts +1 -1
- package/lib/{auth → register}/register.service.d.ts +4 -4
- package/lib/scenario/scenario.controller.d.ts +1 -1
- package/lib/scenario/scenario.service.d.ts +2 -2
- package/lib/scenario/scenario.types.d.ts +1 -1
- package/lib/{api → shared-contact-card}/shared-contact-card.service.d.ts +9 -9
- package/lib/{api → shared-contact-card}/shared-contact-card2.gql.d.ts +1 -1
- package/lib/{api → shared-contact-card}/shared-contact-card2.service.d.ts +6 -6
- package/lib/{trusted-parties → tp-assembly}/tp-assembly.d.ts +7 -7
- package/lib/{trusted-parties → tp-assembly}/tp-assembly.types.d.ts +1 -1
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-request.service.d.ts +4 -8
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-user.service.d.ts +7 -13
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.controller.d.ts +1 -1
- package/lib/tp-password-reset/tp-password-reset.gql.d.ts +63 -0
- package/lib/{trusted-parties/tp-password-reset.gql.d.ts → tp-password-reset/tp-password-reset.private.gql.d.ts} +1 -63
- package/lib/tp-password-reset/tp-password-reset.private.service.d.ts +59 -0
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.service.d.ts +6 -89
- package/lib/tp-password-reset/tp-password-reset.types.d.ts +40 -0
- package/lib/{trusted-parties → trusted-party}/trusted-party.service.d.ts +7 -7
- package/lib/{trusted-parties → trusted-party}/trusted-party.types.d.ts +2 -3
- package/lib/{trusted-parties → trusted-party}/trusted-party2.gql.d.ts +0 -22
- package/lib/trusted-party/trusted-party2.gql.private.d.ts +23 -0
- package/lib/{trusted-parties → trusted-party}/trusted-party2.service.d.ts +11 -35
- package/lib/trusted-party/trusted-party2.types.d.ts +12 -0
- package/lib/{users → user}/user.gql.d.ts +1 -1
- package/lib/{users → user}/user.types.d.ts +1 -1
- package/lifeready-core.d.ts +14 -12
- package/lifeready-core.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +48 -50
- package/esm2015/lib/api/contact-card.gql.js +0 -79
- package/esm2015/lib/api/contact-card.service.js +0 -154
- package/esm2015/lib/api/contact-card2.gql.js +0 -60
- package/esm2015/lib/api/contact-card2.service.js +0 -103
- package/esm2015/lib/api/file.service.js +0 -74
- package/esm2015/lib/api/key-exchange.gql.js +0 -188
- package/esm2015/lib/api/key-exchange.service.js +0 -442
- package/esm2015/lib/api/key-exchange.types.js +0 -7
- package/esm2015/lib/api/key-exchange2.gql.js +0 -171
- package/esm2015/lib/api/key-exchange2.service.js +0 -480
- package/esm2015/lib/api/lock.gql.js +0 -40
- package/esm2015/lib/api/lock.service.js +0 -64
- package/esm2015/lib/api/message.service.js +0 -138
- package/esm2015/lib/api/persist.service.js +0 -181
- package/esm2015/lib/api/shared-contact-card.service.js +0 -119
- package/esm2015/lib/api/shared-contact-card2.gql.js +0 -41
- package/esm2015/lib/api/shared-contact-card2.service.js +0 -117
- package/esm2015/lib/api/time.service.js +0 -146
- package/esm2015/lib/auth/lbop.service.js +0 -355
- package/esm2015/lib/auth/password.service.js +0 -315
- package/esm2015/lib/auth/register.service.js +0 -172
- package/esm2015/lib/auth/two-factor.service.js +0 -74
- package/esm2015/lib/cryptography/cryptography.types.js +0 -11
- package/esm2015/lib/cryptography/encryption.service.js +0 -189
- package/esm2015/lib/cryptography/key-factory.service.js +0 -237
- package/esm2015/lib/cryptography/key-meta.service.js +0 -200
- package/esm2015/lib/cryptography/key.service.js +0 -124
- package/esm2015/lib/cryptography/slip39.service.js +0 -169
- package/esm2015/lib/cryptography/web-crypto.service.js +0 -29
- package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +0 -22
- package/esm2015/lib/trusted-parties/tp-assembly.js +0 -365
- package/esm2015/lib/trusted-parties/tp-assembly.types.js +0 -1
- package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +0 -113
- package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +0 -129
- package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +0 -4
- package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +0 -34
- package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +0 -237
- package/esm2015/lib/trusted-parties/tp-password-reset.service.js +0 -95
- package/esm2015/lib/trusted-parties/trusted-party.gql.js +0 -148
- package/esm2015/lib/trusted-parties/trusted-party.service.js +0 -326
- package/esm2015/lib/trusted-parties/trusted-party.types.js +0 -41
- package/esm2015/lib/trusted-parties/trusted-party2.gql.js +0 -87
- package/esm2015/lib/trusted-parties/trusted-party2.service.js +0 -218
- package/esm2015/lib/users/profile-details.service.js +0 -214
- package/esm2015/lib/users/profile.gql.js +0 -97
- package/esm2015/lib/users/profile.service.js +0 -169
- package/esm2015/lib/users/profile.types.js +0 -34
- package/esm2015/lib/users/user.gql.js +0 -60
- package/esm2015/lib/users/user.service.js +0 -79
- package/esm2015/lib/users/user.types.js +0 -1
- package/lib/api/contact-card2.gql.d.ts +0 -34
- package/lib/api/message.service.d.ts +0 -59
- /package/lib/{api → contact-card}/contact-card.gql.d.ts +0 -0
- /package/lib/{auth → idle}/idle.types.d.ts +0 -0
- /package/lib/{api → key-exchange}/key-exchange.gql.d.ts +0 -0
- /package/lib/scenario/{scenario.gql.private.d.ts → scenario.private.gql.d.ts} +0 -0
- /package/lib/{cryptography → slip39}/slip39.service.d.ts +0 -0
- /package/lib/{api → time}/time.service.d.ts +0 -0
- /package/lib/{trusted-parties/tp-assembly.gql.private.d.ts → tp-assembly/tp-assembly.private.gql.d.ts} +0 -0
- /package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.constants.d.ts +0 -0
- /package/lib/{trusted-parties → trusted-party}/trusted-party.gql.d.ts +0 -0
- /package/lib/{auth → two-factor}/two-factor.service.d.ts +0 -0
- /package/lib/{users → user}/user.service.d.ts +0 -0
- /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==
|