@secrecy/lib 1.0.0-dev.39 → 1.0.0-dev.42

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 (63) hide show
  1. package/dist/BaseClient.d.ts +33 -53
  2. package/dist/BaseClient.js +886 -2093
  3. package/dist/PopupTools.js +20 -21
  4. package/dist/ZeusThunder.js +50 -84
  5. package/dist/cache.d.ts +2 -3
  6. package/dist/cache.js +4 -5
  7. package/dist/client/admin/index.js +77 -165
  8. package/dist/client/convert/file.d.ts +3 -3
  9. package/dist/client/convert/file.js +18 -23
  10. package/dist/client/convert/mail.js +13 -13
  11. package/dist/client/convert/node.d.ts +9 -0
  12. package/dist/client/convert/node.js +101 -0
  13. package/dist/client/helpers.js +41 -41
  14. package/dist/client/index.d.ts +63 -74
  15. package/dist/client/index.js +2727 -5759
  16. package/dist/client/storage.js +7 -7
  17. package/dist/client/types/File.d.ts +6 -13
  18. package/dist/client/types/File.js +1 -1
  19. package/dist/client/types/Inputs.d.ts +2 -7
  20. package/dist/client/types/Inputs.js +1 -1
  21. package/dist/client/types/Node.d.ts +49 -0
  22. package/dist/client/types/Node.js +3 -0
  23. package/dist/client/types/UserAppNotifications.d.ts +1 -1
  24. package/dist/client/types/UserAppNotifications.js +1 -1
  25. package/dist/client/types/UserAppSettings.js +1 -1
  26. package/dist/client/types/index.d.ts +7 -13
  27. package/dist/client/types/index.js +2 -4
  28. package/dist/client/types/selectors.d.ts +476 -0
  29. package/dist/client/types/selectors.js +125 -0
  30. package/dist/crypto/file.js +122 -203
  31. package/dist/crypto/index.js +14 -12
  32. package/dist/error.js +1 -1
  33. package/dist/index.d.ts +1 -2
  34. package/dist/index.js +2 -34
  35. package/dist/minify/index.js +7 -7
  36. package/dist/minify/lz4.js +87 -93
  37. package/dist/sodium.js +3 -25
  38. package/dist/utils/store-buddy.js +11 -15
  39. package/dist/utils/time.js +4 -12
  40. package/dist/{utils.d.ts → utils/utils.d.ts} +0 -0
  41. package/dist/utils/utils.js +57 -0
  42. package/dist/worker/__mock__/sodium.worker.js +35 -32
  43. package/dist/worker/md5.js +21 -39
  44. package/dist/worker/sodium.js +95 -130
  45. package/dist/worker/workerCodes.js +3 -3
  46. package/dist/zeus/const.d.ts +5 -0
  47. package/dist/zeus/const.js +303 -1360
  48. package/dist/zeus/index.d.ts +1805 -1817
  49. package/dist/zeus/index.js +542 -434
  50. package/package.json +40 -39
  51. package/dist/client/convert/folder.d.ts +0 -8
  52. package/dist/client/convert/folder.js +0 -264
  53. package/dist/client/convert/vFile.d.ts +0 -5
  54. package/dist/client/convert/vFile.js +0 -164
  55. package/dist/client/types/FilesOnUsersOnApplications.d.ts +0 -9
  56. package/dist/client/types/FilesOnUsersOnApplications.js +0 -3
  57. package/dist/client/types/Folder.d.ts +0 -68
  58. package/dist/client/types/Folder.js +0 -7
  59. package/dist/client/types/VFile.d.ts +0 -62
  60. package/dist/client/types/VFile.js +0 -4
  61. package/dist/client/types/queries.d.ts +0 -535
  62. package/dist/client/types/queries.js +0 -192
  63. package/dist/utils.js +0 -188
@@ -1,12 +1,12 @@
1
1
  import { storeBuddy } from "../utils/store-buddy.js";
2
2
  export function getStorage(session) {
3
- var userAppSession = storeBuddy("secrecy.user_app_session", session).init(null);
4
- var userAppKeys = storeBuddy("secrecy.user_app_keys", session).init(null);
5
- var jwt = storeBuddy("secrecy.jwt", session).init(null);
3
+ const userAppSession = storeBuddy("secrecy.user_app_session", session).init(null);
4
+ const userAppKeys = storeBuddy("secrecy.user_app_keys", session).init(null);
5
+ const jwt = storeBuddy("secrecy.jwt", session).init(null);
6
6
  return {
7
- userAppKeys: userAppKeys,
8
- userAppSession: userAppSession,
9
- jwt: jwt
7
+ userAppKeys,
8
+ userAppSession,
9
+ jwt
10
10
  };
11
11
  }
12
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvc3RvcmFnZS50cyJdLCJuYW1lcyI6WyJzdG9yZUJ1ZGR5IiwiZ2V0U3RvcmFnZSIsInNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImluaXQiLCJ1c2VyQXBwS2V5cyIsImp3dCJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsVUFBVCxRQUEyQix5QkFBM0I7QUFFQSxPQUFPLFNBQVNDLFVBQVQsQ0FBb0JDLE9BQXBCLEVBSUw7QUFDQSxNQUFNQyxjQUFjLEdBQUdILFVBQVUsNkJBRS9CRSxPQUYrQixDQUFWLENBR3JCRSxJQUhxQixDQUdoQixJQUhnQixDQUF2QjtBQUlBLE1BQU1DLFdBQVcsR0FBR0wsVUFBVSwwQkFFNUJFLE9BRjRCLENBQVYsQ0FHbEJFLElBSGtCLENBR2IsSUFIYSxDQUFwQjtBQUlBLE1BQU1FLEdBQUcsR0FBR04sVUFBVSxnQkFBK0JFLE9BQS9CLENBQVYsQ0FBa0RFLElBQWxELENBQXVELElBQXZELENBQVo7QUFDQSxTQUFPO0FBQUVDLElBQUFBLFdBQVcsRUFBWEEsV0FBRjtBQUFlRixJQUFBQSxjQUFjLEVBQWRBLGNBQWY7QUFBK0JHLElBQUFBLEdBQUcsRUFBSEE7QUFBL0IsR0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN0b3JlQnVkZHkgfSBmcm9tIFwiLi4vdXRpbHMvc3RvcmUtYnVkZHkuanNcIjtcbmltcG9ydCB7IHN0b3JlQnVkZHkgfSBmcm9tIFwiLi4vdXRpbHMvc3RvcmUtYnVkZHkuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0b3JhZ2Uoc2Vzc2lvbj86IGJvb2xlYW4gfCB1bmRlZmluZWQpOiB7XG4gIHVzZXJBcHBLZXlzOiBTdG9yZUJ1ZGR5PEtleVBhaXIgfCBudWxsPjtcbiAgdXNlckFwcFNlc3Npb246IFN0b3JlQnVkZHk8c3RyaW5nIHwgbnVsbD47XG4gIGp3dDogU3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPjtcbn0ge1xuICBjb25zdCB1c2VyQXBwU2Vzc2lvbiA9IHN0b3JlQnVkZHk8c3RyaW5nIHwgbnVsbD4oXG4gICAgYHNlY3JlY3kudXNlcl9hcHBfc2Vzc2lvbmAsXG4gICAgc2Vzc2lvblxuICApLmluaXQobnVsbCk7XG4gIGNvbnN0IHVzZXJBcHBLZXlzID0gc3RvcmVCdWRkeTxLZXlQYWlyIHwgbnVsbD4oXG4gICAgYHNlY3JlY3kudXNlcl9hcHBfa2V5c2AsXG4gICAgc2Vzc2lvblxuICApLmluaXQobnVsbCk7XG4gIGNvbnN0IGp3dCA9IHN0b3JlQnVkZHk8c3RyaW5nIHwgbnVsbD4oYHNlY3JlY3kuand0YCwgc2Vzc2lvbikuaW5pdChudWxsKTtcbiAgcmV0dXJuIHsgdXNlckFwcEtleXMsIHVzZXJBcHBTZXNzaW9uLCBqd3QgfTtcbn1cbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yZUJ1ZGR5IiwiZ2V0U3RvcmFnZSIsInNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImluaXQiLCJ1c2VyQXBwS2V5cyIsImp3dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvc3RvcmFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgU3RvcmVCdWRkeSB9IGZyb20gXCIuLi91dGlscy9zdG9yZS1idWRkeS5qc1wiO1xuaW1wb3J0IHsgc3RvcmVCdWRkeSB9IGZyb20gXCIuLi91dGlscy9zdG9yZS1idWRkeS5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RvcmFnZShzZXNzaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZCk6IHtcbiAgdXNlckFwcEtleXM6IFN0b3JlQnVkZHk8S2V5UGFpciB8IG51bGw+O1xuICB1c2VyQXBwU2Vzc2lvbjogU3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPjtcbiAgand0OiBTdG9yZUJ1ZGR5PHN0cmluZyB8IG51bGw+O1xufSB7XG4gIGNvbnN0IHVzZXJBcHBTZXNzaW9uID0gc3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPihcbiAgICBgc2VjcmVjeS51c2VyX2FwcF9zZXNzaW9uYCxcbiAgICBzZXNzaW9uXG4gICkuaW5pdChudWxsKTtcbiAgY29uc3QgdXNlckFwcEtleXMgPSBzdG9yZUJ1ZGR5PEtleVBhaXIgfCBudWxsPihcbiAgICBgc2VjcmVjeS51c2VyX2FwcF9rZXlzYCxcbiAgICBzZXNzaW9uXG4gICkuaW5pdChudWxsKTtcbiAgY29uc3Qgand0ID0gc3RvcmVCdWRkeTxzdHJpbmcgfCBudWxsPihgc2VjcmVjeS5qd3RgLCBzZXNzaW9uKS5pbml0KG51bGwpO1xuICByZXR1cm4geyB1c2VyQXBwS2V5cywgdXNlckFwcFNlc3Npb24sIGp3dCB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxVQUFULFFBQTJCLHlCQUEzQjtBQUVBLE9BQU8sU0FBU0MsVUFBVCxDQUFvQkMsT0FBcEIsRUFJTDtFQUNBLE1BQU1DLGNBQWMsR0FBR0gsVUFBVSw2QkFFL0JFLE9BRitCLENBQVYsQ0FHckJFLElBSHFCLENBR2hCLElBSGdCLENBQXZCO0VBSUEsTUFBTUMsV0FBVyxHQUFHTCxVQUFVLDBCQUU1QkUsT0FGNEIsQ0FBVixDQUdsQkUsSUFIa0IsQ0FHYixJQUhhLENBQXBCO0VBSUEsTUFBTUUsR0FBRyxHQUFHTixVQUFVLGdCQUErQkUsT0FBL0IsQ0FBVixDQUFrREUsSUFBbEQsQ0FBdUQsSUFBdkQsQ0FBWjtFQUNBLE9BQU87SUFBRUMsV0FBRjtJQUFlRixjQUFmO0lBQStCRztFQUEvQixDQUFQO0FBQ0QifQ==
@@ -1,5 +1,6 @@
1
- import type { FilesOnUsersOnApplications, GQLFilesOnUsersOnApplications } from "./FilesOnUsersOnApplications.js";
2
- export declare type File = {
1
+ import type { GraphQLTypes, InputType } from "../../zeus/index.js";
2
+ import type { fileSelector } from "./selectors.js";
3
+ export declare type FileMetadata = {
3
4
  id: string;
4
5
  size: bigint;
5
6
  sizeBefore: bigint;
@@ -7,15 +8,7 @@ export declare type File = {
7
8
  md5Encrypted: string;
8
9
  createdAt: Date;
9
10
  };
10
- export declare type InternalFile = File & {
11
- user: FilesOnUsersOnApplications | null;
12
- };
13
- export declare type GQLFile = {
14
- id: string;
15
- size: string;
16
- sizeBefore: string;
17
- createdAt: string;
18
- md5: string;
19
- md5Encrypted: string;
20
- user?: GQLFilesOnUsersOnApplications | undefined;
11
+ export declare type InternalFile = FileMetadata & {
12
+ key: string;
21
13
  };
14
+ export declare type GQLFile = InputType<GraphQLTypes["File"], typeof fileSelector>;
@@ -1,3 +1,3 @@
1
1
  export {};
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9GaWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JhcGhRTFR5cGVzLCBJbnB1dFR5cGUgfSBmcm9tIFwiLi4vLi4vemV1cy9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBmaWxlU2VsZWN0b3IgfSBmcm9tIFwiLi9zZWxlY3RvcnMuanNcIjtcblxuZXhwb3J0IHR5cGUgRmlsZU1ldGFkYXRhID0ge1xuICBpZDogc3RyaW5nO1xuICBzaXplOiBiaWdpbnQ7XG4gIHNpemVCZWZvcmU6IGJpZ2ludDtcbiAgbWQ1OiBzdHJpbmc7XG4gIG1kNUVuY3J5cHRlZDogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IERhdGU7XG59O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbEZpbGUgPSBGaWxlTWV0YWRhdGEgJiB7XG4gIGtleTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgR1FMRmlsZSA9IElucHV0VHlwZTxHcmFwaFFMVHlwZXNbXCJGaWxlXCJdLCB0eXBlb2YgZmlsZVNlbGVjdG9yPjtcbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -1,7 +1,3 @@
1
- export declare type NameKeyInputFolders = {
2
- id: string;
3
- nameKey: string;
4
- };
5
1
  export declare type ShareFileKeyInput = {
6
2
  id: string;
7
3
  key: string;
@@ -11,9 +7,8 @@ export declare type NameKeyInput = {
11
7
  nameKey: string;
12
8
  files: ShareFileKeyInput[];
13
9
  };
14
- export declare type ShareFoldersInput = {
15
- folders: NameKeyInputFolders[];
16
- vFiles: NameKeyInput[];
10
+ export declare type ShareNodesInput = {
11
+ nodes: NameKeyInput[];
17
12
  };
18
13
  export declare type ShareFileInHistoryInput = {
19
14
  fileId: string;
@@ -1,3 +1,3 @@
1
1
  export {};
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9JbnB1dHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2hhcmVGaWxlS2V5SW5wdXQgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmFtZUtleUlucHV0ID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lS2V5OiBzdHJpbmc7XG4gIGZpbGVzOiBTaGFyZUZpbGVLZXlJbnB1dFtdO1xufTtcblxuZXhwb3J0IHR5cGUgU2hhcmVOb2Rlc0lucHV0ID0ge1xuICBub2RlczogTmFtZUtleUlucHV0W107XG59O1xuXG5leHBvcnQgdHlwZSBTaGFyZUZpbGVJbkhpc3RvcnlJbnB1dCA9IHtcbiAgZmlsZUlkOiBzdHJpbmc7XG4gIHVzZXJzOiBTaGFyZUZpbGVLZXlJbnB1dFtdO1xufTtcbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,49 @@
1
+ import type { NodeType, Rights } from "../../zeus/index.js";
2
+ import type { FileMetadata, InternalFile, PublicUser } from "./index.js";
3
+ import type { nodeFullSelector, nodeSelector } from "./selectors.js";
4
+ import type { GraphQLTypes, InputType } from "../../zeus/index.js";
5
+ export declare type NodeAccess<T extends Record<string, unknown> = Record<string, unknown>> = T & {
6
+ rights: Rights;
7
+ isRoot: boolean;
8
+ sharedBy: {
9
+ keyPair?: {
10
+ pub: string;
11
+ };
12
+ };
13
+ userApp: {
14
+ user: PublicUser;
15
+ };
16
+ };
17
+ export declare type NodeBreadcrumbItem = {
18
+ id: string;
19
+ name: string;
20
+ pubKey: string;
21
+ };
22
+ declare type NameKey = {
23
+ nameKey?: string;
24
+ };
25
+ export declare type InternalNodeBreadcrumbItem = NodeBreadcrumbItem & NameKey;
26
+ export declare type Node<T extends NodeBreadcrumbItem = NodeBreadcrumbItem, U extends Record<string, unknown> = Record<string, unknown>, V extends FileMetadata = FileMetadata> = {
27
+ id: string;
28
+ isFavorite: boolean;
29
+ type: NodeType;
30
+ createdAt: Date;
31
+ deletedAt: Date | null;
32
+ updatedAt: Date;
33
+ name: string;
34
+ breadcrumb: T[];
35
+ createdBy: PublicUser;
36
+ access?: NodeAccess<U>;
37
+ current?: V;
38
+ history: V[];
39
+ users: [PublicUser, Rights][];
40
+ };
41
+ export declare type NodeFull<T extends NodeBreadcrumbItem = NodeBreadcrumbItem, U extends Record<string, unknown> = Record<string, unknown>, V extends FileMetadata = FileMetadata> = Node<T, U, V> & {
42
+ parent: Node<T, U, V> | null;
43
+ children: Node<T, U, V>[];
44
+ };
45
+ export declare type InternalNode = Node<InternalNodeBreadcrumbItem, NameKey, InternalFile>;
46
+ export declare type InternalNodeFull = NodeFull<InternalNodeBreadcrumbItem, NameKey, InternalFile>;
47
+ export declare type GQLNode = InputType<GraphQLTypes["Node"], typeof nodeSelector>;
48
+ export declare type GQLNodeFull = InputType<GraphQLTypes["Node"], typeof nodeFullSelector>;
49
+ export {};
@@ -0,0 +1,3 @@
1
+ export {};
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9Ob2RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTm9kZVR5cGUsIFJpZ2h0cyB9IGZyb20gXCIuLi8uLi96ZXVzL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVNZXRhZGF0YSwgSW50ZXJuYWxGaWxlLCBQdWJsaWNVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgbm9kZUZ1bGxTZWxlY3Rvciwgbm9kZVNlbGVjdG9yIH0gZnJvbSBcIi4vc2VsZWN0b3JzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUUxUeXBlcywgSW5wdXRUeXBlIH0gZnJvbSBcIi4uLy4uL3pldXMvaW5kZXguanNcIjtcblxuZXhwb3J0IHR5cGUgTm9kZUFjY2VzczxcbiAgVCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbj4gPSBUICYge1xuICByaWdodHM6IFJpZ2h0cztcbiAgaXNSb290OiBib29sZWFuO1xuICBzaGFyZWRCeToge1xuICAgIGtleVBhaXI/OiB7XG4gICAgICBwdWI6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICB1c2VyQXBwOiB7XG4gICAgdXNlcjogUHVibGljVXNlcjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIE5vZGVCcmVhZGNydW1iSXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBwdWJLZXk6IHN0cmluZztcbn07XG5cbnR5cGUgTmFtZUtleSA9IHtcbiAgbmFtZUtleT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEludGVybmFsTm9kZUJyZWFkY3J1bWJJdGVtID0gTm9kZUJyZWFkY3J1bWJJdGVtICYgTmFtZUtleTtcblxuZXhwb3J0IHR5cGUgTm9kZTxcbiAgVCBleHRlbmRzIE5vZGVCcmVhZGNydW1iSXRlbSA9IE5vZGVCcmVhZGNydW1iSXRlbSxcbiAgVSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFYgZXh0ZW5kcyBGaWxlTWV0YWRhdGEgPSBGaWxlTWV0YWRhdGFcbj4gPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGlzRmF2b3JpdGU6IGJvb2xlYW47XG4gIHR5cGU6IE5vZGVUeXBlO1xuICBjcmVhdGVkQXQ6IERhdGU7XG4gIGRlbGV0ZWRBdDogRGF0ZSB8IG51bGw7XG4gIHVwZGF0ZWRBdDogRGF0ZTtcbiAgbmFtZTogc3RyaW5nO1xuICBicmVhZGNydW1iOiBUW107XG4gIGNyZWF0ZWRCeTogUHVibGljVXNlcjtcbiAgYWNjZXNzPzogTm9kZUFjY2VzczxVPjtcbiAgY3VycmVudD86IFY7XG4gIGhpc3Rvcnk6IFZbXTtcbiAgdXNlcnM6IFtQdWJsaWNVc2VyLCBSaWdodHNdW107XG59O1xuXG5leHBvcnQgdHlwZSBOb2RlRnVsbDxcbiAgVCBleHRlbmRzIE5vZGVCcmVhZGNydW1iSXRlbSA9IE5vZGVCcmVhZGNydW1iSXRlbSxcbiAgVSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFYgZXh0ZW5kcyBGaWxlTWV0YWRhdGEgPSBGaWxlTWV0YWRhdGFcbj4gPSBOb2RlPFQsIFUsIFY+ICYge1xuICBwYXJlbnQ6IE5vZGU8VCwgVSwgVj4gfCBudWxsO1xuICBjaGlsZHJlbjogTm9kZTxULCBVLCBWPltdO1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxOb2RlID0gTm9kZTxcbiAgSW50ZXJuYWxOb2RlQnJlYWRjcnVtYkl0ZW0sXG4gIE5hbWVLZXksXG4gIEludGVybmFsRmlsZVxuPjtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxOb2RlRnVsbCA9IE5vZGVGdWxsPFxuICBJbnRlcm5hbE5vZGVCcmVhZGNydW1iSXRlbSxcbiAgTmFtZUtleSxcbiAgSW50ZXJuYWxGaWxlXG4+O1xuXG5leHBvcnQgdHlwZSBHUUxOb2RlID0gSW5wdXRUeXBlPEdyYXBoUUxUeXBlc1tcIk5vZGVcIl0sIHR5cGVvZiBub2RlU2VsZWN0b3I+O1xuZXhwb3J0IHR5cGUgR1FMTm9kZUZ1bGwgPSBJbnB1dFR5cGU8XG4gIEdyYXBoUUxUeXBlc1tcIk5vZGVcIl0sXG4gIHR5cGVvZiBub2RlRnVsbFNlbGVjdG9yXG4+O1xuIl0sIm1hcHBpbmdzIjoiIn0=
@@ -2,5 +2,5 @@ export declare type UserAppNotifications = {
2
2
  enableAll: boolean;
3
3
  mail: boolean;
4
4
  cloud: boolean;
5
- disableAllUntil: Date | null;
5
+ disableAllUntil?: Date;
6
6
  };
@@ -1,3 +1,3 @@
1
1
  export {};
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9Vc2VyQXBwTm90aWZpY2F0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBVc2VyQXBwTm90aWZpY2F0aW9ucyA9IHtcbiAgZW5hYmxlQWxsOiBib29sZWFuO1xuICBtYWlsOiBib29sZWFuO1xuICBjbG91ZDogYm9vbGVhbjtcbiAgZGlzYWJsZUFsbFVudGlsPzogRGF0ZTtcbn07XG4iXSwibWFwcGluZ3MiOiIifQ==
@@ -1,3 +1,3 @@
1
1
  export {};
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9Vc2VyQXBwU2V0dGluZ3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVXNlckFwcFNldHRpbmdzID0ge1xuICBjbG91ZEZpbGVEYXlzRm9yRGVsZXRlOiBudW1iZXI7XG4gIGNsb3VkRm9sZGVyRGF5c0ZvckRlbGV0ZTogbnVtYmVyO1xuICBoaXN0b3J5RmlsZURheXNGb3JEZWxldGU/OiBudW1iZXI7XG4gIGhpc3RvcnlNYXhGaWxlQ291bnQ6IG51bWJlcjtcbn07XG4iXSwibWFwcGluZ3MiOiIifQ==
@@ -1,8 +1,8 @@
1
1
  import type { KeyPair } from "../../index.js";
2
+ import type { InputType, GraphQLTypes } from "../../zeus/index.js";
3
+ import type { userSelector } from "./selectors.js";
2
4
  export * from "./File.js";
3
- export * from "./FilesOnUsersOnApplications.js";
4
- export * from "./Folder.js";
5
- export * from "./VFile.js";
5
+ export * from "./Node.js";
6
6
  export * from "./UserAppSettings.js";
7
7
  export * from "./UserAppNotifications.js";
8
8
  export * from "./Inputs.js";
@@ -70,9 +70,9 @@ export declare type InternalMail = {
70
70
  id: string;
71
71
  body: string;
72
72
  subject: string;
73
- openedAt?: string;
74
- createdAt: string;
75
- deletedAt?: string;
73
+ openedAt?: Date;
74
+ createdAt: Date;
75
+ deletedAt?: Date;
76
76
  recipient: PublicUser;
77
77
  recipients: PublicUser[];
78
78
  sender: PublicUser;
@@ -104,13 +104,7 @@ export declare type BaseMail = {
104
104
  key: string;
105
105
  }[];
106
106
  };
107
- export declare type PublicUser = {
108
- id: string;
109
- firstname: string;
110
- lastname: string;
111
- email: string;
112
- publicKey: string;
113
- };
107
+ export declare type PublicUser = InputType<GraphQLTypes["User"], typeof userSelector>;
114
108
  export interface ReceivedMail extends BaseMail {
115
109
  type: "received";
116
110
  sender: PublicUser;
@@ -1,10 +1,8 @@
1
1
  export * from "./File.js";
2
- export * from "./FilesOnUsersOnApplications.js";
3
- export * from "./Folder.js";
4
- export * from "./VFile.js";
2
+ export * from "./Node.js";
5
3
  export * from "./UserAppSettings.js";
6
4
  export * from "./UserAppNotifications.js";
7
5
  export * from "./Inputs.js";
8
6
  export {};
9
7
  export {};
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxXQUFkO0FBQ0EsY0FBYyxpQ0FBZDtBQUNBLGNBQWMsYUFBZDtBQUNBLGNBQWMsWUFBZDtBQUNBLGNBQWMsc0JBQWQ7QUFDQSxjQUFjLDJCQUFkO0FBQ0EsY0FBYyxhQUFkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9GaWxlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9GaWxlc09uVXNlcnNPbkFwcGxpY2F0aW9ucy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRm9sZGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9WRmlsZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vVXNlckFwcFNldHRpbmdzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Vc2VyQXBwTm90aWZpY2F0aW9ucy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vSW5wdXRzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFNlY3JlY3lVc2VyQXBwID0ge1xuICBrZXlzOiBLZXlQYWlyO1xuICBqd3Q6IHN0cmluZztcbiAgdWFTZXNzaW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVDb250ZW50UGFydCB7XG4gIGNvbnRlbnRVcmw6IHN0cmluZztcbiAgb3JkZXI6IG51bWJlcjtcbiAgbWQ1OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEZpbGVQYXJ0UmVzcG9uc2UgPSB7XG4gIG9yZGVyOiBudW1iZXI7XG4gIGZpZWxkczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgdXJsOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsRmlsZUlucHV0ID0geyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGZpbGVLZXk6IHN0cmluZyB9O1xuXG5leHBvcnQgdHlwZSBNYWlsSW50ZWdyaXR5ID0ge1xuICBpZDogc3RyaW5nO1xuICBoYXNoOiBzdHJpbmc7XG4gIGhhc2hLZXk6IHN0cmluZztcbiAgcmVwbHlUbz86IHtcbiAgICBpZDogc3RyaW5nO1xuICB9O1xuICB0ZW1wb3JhcnlSZWNpcGllbnRzOiBUZW1wb3JhcnlNYWlsVXNlcltdO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsSW50ZWdyaXR5RHJhZnQgPSBNYWlsSW50ZWdyaXR5ICYge1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBUZW1wb3JhcnlNYWlsVXNlciA9IHtcbiAgZW1haWw/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbFdhaXRpbmdSZWNlaXZlZE1haWwgPSB7XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgZGF0ZTogc3RyaW5nO1xuICBhdHRhY2htZW50c0NvdW50OiBudW1iZXI7XG4gIHJlY2lwaWVudHM6IFB1YmxpY1VzZXJbXTtcbiAgdGVtcG9yYXJ5UmVjaXBpZW50czogVGVtcG9yYXJ5TWFpbFVzZXJbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFdhaXRpbmdSZWNlaXZlZE1haWwgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgZGF0ZTogRGF0ZTtcbiAgYXR0YWNobWVudHNDb3VudDogbnVtYmVyO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG4gIHRlbXBvcmFyeVJlY2lwaWVudHM6IFRlbXBvcmFyeU1haWxVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsRmlsZSA9IHtcbiAgZmlsZUtleTogc3RyaW5nO1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICBmaWxlOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIE1haWxUeXBlID0gXCJzZW50XCIgfCBcInJlY2VpdmVkXCIgfCBcImRyYWZ0XCI7XG5cbmV4cG9ydCB0eXBlIEludGVybmFsTWFpbCA9IHtcbiAgdHlwZTogTWFpbFR5cGU7XG4gIGlkOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgc3ViamVjdDogc3RyaW5nO1xuICBvcGVuZWRBdD86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIGRlbGV0ZWRBdD86IHN0cmluZztcbiAgcmVjaXBpZW50OiBQdWJsaWNVc2VyO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG4gIHNlbmRlcjogUHVibGljVXNlcjtcbiAgbWFpbEludGVncml0eT86IE1haWxJbnRlZ3JpdHk7XG4gIG1haWxJbnRlZ3JpdHlEcmFmdD86IE1haWxJbnRlZ3JpdHlEcmFmdDtcbiAgZmlsZXM6IE1haWxGaWxlW107XG59O1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbFJlY2VpdmVkTWFpbCA9IHtcbiAgdXNlcjoge1xuICAgIHJlY2VpdmVkTWFpbHM6IEludGVybmFsTWFpbFtdO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFzZU1haWwgPSB7XG4gIHR5cGU6IE1haWxUeXBlO1xuICBpZDogc3RyaW5nO1xuICBtYWlsSW50ZWdyaXR5SWQ6IHN0cmluZztcbiAgcmVwbHlUbz86IHN0cmluZztcbiAgYm9keTogc3RyaW5nO1xuICBzdWJqZWN0OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgZGVsZXRlZEF0OiBEYXRlIHwgbnVsbDtcbiAgb3BlbmVkQXQ6IERhdGUgfCBudWxsO1xuICBpc0FsdGVyZWQ6IGJvb2xlYW47XG4gIHJlY2lwaWVudHM6IFB1YmxpY1VzZXJbXTtcbiAgdGVtcG9yYXJ5UmVjaXBpZW50czogVGVtcG9yYXJ5TWFpbFVzZXJbXTtcbiAgZmlsZXM6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBrZXk6IHN0cmluZyB9W107XG59O1xuXG5leHBvcnQgdHlwZSBQdWJsaWNVc2VyID0ge1xuICBpZDogc3RyaW5nO1xuICBmaXJzdG5hbWU6IHN0cmluZztcbiAgbGFzdG5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgcHVibGljS2V5OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVkTWFpbCBleHRlbmRzIEJhc2VNYWlsIHtcbiAgdHlwZTogXCJyZWNlaXZlZFwiO1xuICBzZW5kZXI6IFB1YmxpY1VzZXI7XG59XG5cbmV4cG9ydCB0eXBlIEludGVybmFsU2VudE1haWwgPSB7XG4gIHVzZXI6IHtcbiAgICBzZW50TWFpbHM6IEludGVybmFsTWFpbFtdO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxEcmFmdE1haWxzID0ge1xuICB1c2VyOiB7XG4gICAgZHJhZnRNYWlsczogSW50ZXJuYWxNYWlsW107XG4gIH07XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbnRNYWlsIGV4dGVuZHMgQmFzZU1haWwge1xuICB0eXBlOiBcInNlbnRcIjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcmFmdE1haWwgZXh0ZW5kcyBCYXNlTWFpbCB7XG4gIHR5cGU6IFwiZHJhZnRcIjtcbn1cblxuZXhwb3J0IHR5cGUgTWFpbCA9IERyYWZ0TWFpbCB8IFNlbnRNYWlsIHwgUmVjZWl2ZWRNYWlsO1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uID0ge1xuICBpZDogc3RyaW5nO1xuICBsYXN0QWN0aXZpdHk6IERhdGUgfCB1bmRlZmluZWQ7XG4gIHVzZXJBZ2VudDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpcDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjaXR5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGNvdW50cnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIEFwcFNlc3Npb24gPSBTZXNzaW9uICYge1xuICBhcHA6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJTZXNzaW9uID0gU2Vzc2lvbiAmIHtcbiAgYXBwU2Vzc2lvbnM6IEFwcFNlc3Npb25bXTtcbn07XG5cbmV4cG9ydCB0eXBlIE1haWxSZWNpcGllbnRJbnB1dCA9IHtcbiAgYm9keTogc3RyaW5nO1xuICBzdWJqZWN0OiBzdHJpbmc7XG4gIHJlY2lwaWVudElkOiBzdHJpbmc7XG4gIGZpbGVzOiBNYWlsRmlsZUlucHV0W107XG59O1xuIl19
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC90eXBlcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vLi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgSW5wdXRUeXBlLCBHcmFwaFFMVHlwZXMgfSBmcm9tIFwiLi4vLi4vemV1cy9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyB1c2VyU2VsZWN0b3IgfSBmcm9tIFwiLi9zZWxlY3RvcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0ZpbGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL05vZGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1VzZXJBcHBTZXR0aW5ncy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vVXNlckFwcE5vdGlmaWNhdGlvbnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0lucHV0cy5qc1wiO1xuXG5leHBvcnQgdHlwZSBTZWNyZWN5VXNlckFwcCA9IHtcbiAga2V5czogS2V5UGFpcjtcbiAgand0OiBzdHJpbmc7XG4gIHVhU2Vzc2lvbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBGaWxlQ29udGVudFBhcnQge1xuICBjb250ZW50VXJsOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7XG4gIG1kNTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBGaWxlUGFydFJlc3BvbnNlID0ge1xuICBvcmRlcjogbnVtYmVyO1xuICBmaWVsZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHVybDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTWFpbEZpbGVJbnB1dCA9IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBmaWxlS2V5OiBzdHJpbmcgfTtcblxuZXhwb3J0IHR5cGUgTWFpbEludGVncml0eSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgaGFzaDogc3RyaW5nO1xuICBoYXNoS2V5OiBzdHJpbmc7XG4gIHJlcGx5VG8/OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgfTtcbiAgdGVtcG9yYXJ5UmVjaXBpZW50czogVGVtcG9yYXJ5TWFpbFVzZXJbXTtcbiAgcmVjaXBpZW50czogUHVibGljVXNlcltdO1xufTtcblxuZXhwb3J0IHR5cGUgTWFpbEludGVncml0eURyYWZ0ID0gTWFpbEludGVncml0eSAmIHtcbiAgcmVjaXBpZW50czogUHVibGljVXNlcltdO1xufTtcblxuZXhwb3J0IHR5cGUgVGVtcG9yYXJ5TWFpbFVzZXIgPSB7XG4gIGVtYWlsPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxXYWl0aW5nUmVjZWl2ZWRNYWlsID0ge1xuICBzZW5kZXI6IFB1YmxpY1VzZXI7XG4gIGRhdGU6IHN0cmluZztcbiAgYXR0YWNobWVudHNDb3VudDogbnVtYmVyO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG4gIHRlbXBvcmFyeVJlY2lwaWVudHM6IFRlbXBvcmFyeU1haWxVc2VyW107XG59O1xuXG5leHBvcnQgdHlwZSBXYWl0aW5nUmVjZWl2ZWRNYWlsID0ge1xuICBpZDogc3RyaW5nO1xuICBzZW5kZXI6IFB1YmxpY1VzZXI7XG4gIGRhdGU6IERhdGU7XG4gIGF0dGFjaG1lbnRzQ291bnQ6IG51bWJlcjtcbiAgcmVjaXBpZW50czogUHVibGljVXNlcltdO1xuICB0ZW1wb3JhcnlSZWNpcGllbnRzOiBUZW1wb3JhcnlNYWlsVXNlcltdO1xufTtcblxuZXhwb3J0IHR5cGUgTWFpbEZpbGUgPSB7XG4gIGZpbGVLZXk6IHN0cmluZztcbiAgZmlsZW5hbWU6IHN0cmluZztcbiAgZmlsZToge1xuICAgIGlkOiBzdHJpbmc7XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsVHlwZSA9IFwic2VudFwiIHwgXCJyZWNlaXZlZFwiIHwgXCJkcmFmdFwiO1xuXG5leHBvcnQgdHlwZSBJbnRlcm5hbE1haWwgPSB7XG4gIHR5cGU6IE1haWxUeXBlO1xuICBpZDogc3RyaW5nO1xuICBib2R5OiBzdHJpbmc7XG4gIHN1YmplY3Q6IHN0cmluZztcbiAgb3BlbmVkQXQ/OiBEYXRlO1xuICBjcmVhdGVkQXQ6IERhdGU7XG4gIGRlbGV0ZWRBdD86IERhdGU7XG4gIHJlY2lwaWVudDogUHVibGljVXNlcjtcbiAgcmVjaXBpZW50czogUHVibGljVXNlcltdO1xuICBzZW5kZXI6IFB1YmxpY1VzZXI7XG4gIG1haWxJbnRlZ3JpdHk/OiBNYWlsSW50ZWdyaXR5O1xuICBtYWlsSW50ZWdyaXR5RHJhZnQ/OiBNYWlsSW50ZWdyaXR5RHJhZnQ7XG4gIGZpbGVzOiBNYWlsRmlsZVtdO1xufTtcblxuZXhwb3J0IHR5cGUgSW50ZXJuYWxSZWNlaXZlZE1haWwgPSB7XG4gIHVzZXI6IHtcbiAgICByZWNlaXZlZE1haWxzOiBJbnRlcm5hbE1haWxbXTtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhc2VNYWlsID0ge1xuICB0eXBlOiBNYWlsVHlwZTtcbiAgaWQ6IHN0cmluZztcbiAgbWFpbEludGVncml0eUlkOiBzdHJpbmc7XG4gIHJlcGx5VG8/OiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgc3ViamVjdDogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IERhdGU7XG4gIGRlbGV0ZWRBdDogRGF0ZSB8IG51bGw7XG4gIG9wZW5lZEF0OiBEYXRlIHwgbnVsbDtcbiAgaXNBbHRlcmVkOiBib29sZWFuO1xuICByZWNpcGllbnRzOiBQdWJsaWNVc2VyW107XG4gIHRlbXBvcmFyeVJlY2lwaWVudHM6IFRlbXBvcmFyeU1haWxVc2VyW107XG4gIGZpbGVzOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsga2V5OiBzdHJpbmcgfVtdO1xufTtcblxuZXhwb3J0IHR5cGUgUHVibGljVXNlciA9IElucHV0VHlwZTxHcmFwaFFMVHlwZXNbXCJVc2VyXCJdLCB0eXBlb2YgdXNlclNlbGVjdG9yPjtcblxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlZE1haWwgZXh0ZW5kcyBCYXNlTWFpbCB7XG4gIHR5cGU6IFwicmVjZWl2ZWRcIjtcbiAgc2VuZGVyOiBQdWJsaWNVc2VyO1xufVxuXG5leHBvcnQgdHlwZSBJbnRlcm5hbFNlbnRNYWlsID0ge1xuICB1c2VyOiB7XG4gICAgc2VudE1haWxzOiBJbnRlcm5hbE1haWxbXTtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEludGVybmFsRHJhZnRNYWlscyA9IHtcbiAgdXNlcjoge1xuICAgIGRyYWZ0TWFpbHM6IEludGVybmFsTWFpbFtdO1xuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBTZW50TWFpbCBleHRlbmRzIEJhc2VNYWlsIHtcbiAgdHlwZTogXCJzZW50XCI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJhZnRNYWlsIGV4dGVuZHMgQmFzZU1haWwge1xuICB0eXBlOiBcImRyYWZ0XCI7XG59XG5cbmV4cG9ydCB0eXBlIE1haWwgPSBEcmFmdE1haWwgfCBTZW50TWFpbCB8IFJlY2VpdmVkTWFpbDtcblxuZXhwb3J0IHR5cGUgU2Vzc2lvbiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFzdEFjdGl2aXR5OiBEYXRlIHwgdW5kZWZpbmVkO1xuICB1c2VyQWdlbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgaXA6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY2l0eTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb3VudHJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBBcHBTZXNzaW9uID0gU2Vzc2lvbiAmIHtcbiAgYXBwOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyU2Vzc2lvbiA9IFNlc3Npb24gJiB7XG4gIGFwcFNlc3Npb25zOiBBcHBTZXNzaW9uW107XG59O1xuXG5leHBvcnQgdHlwZSBNYWlsUmVjaXBpZW50SW5wdXQgPSB7XG4gIGJvZHk6IHN0cmluZztcbiAgc3ViamVjdDogc3RyaW5nO1xuICByZWNpcGllbnRJZDogc3RyaW5nO1xuICBmaWxlczogTWFpbEZpbGVJbnB1dFtdO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBR0EsY0FBYyxXQUFkO0FBQ0EsY0FBYyxXQUFkO0FBQ0EsY0FBYyxzQkFBZDtBQUNBLGNBQWMsMkJBQWQ7QUFDQSxjQUFjLGFBQWQifQ==