@lifeready/core 1.0.15 → 1.0.17

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 (221) hide show
  1. package/README.md +62 -62
  2. package/bundles/lifeready-core.umd.js +14321 -14315
  3. package/bundles/lifeready-core.umd.js.map +1 -1
  4. package/bundles/lifeready-core.umd.min.js +1 -1
  5. package/bundles/lifeready-core.umd.min.js.map +1 -1
  6. package/esm2015/lib/_common/ast.js +40 -40
  7. package/esm2015/lib/_common/deferred-promise.js +24 -24
  8. package/esm2015/lib/_common/exceptions.js +157 -157
  9. package/esm2015/lib/_common/queries.gql.js +190 -190
  10. package/esm2015/lib/_common/run-outside-angular.js +79 -79
  11. package/esm2015/lib/_common/types.js +1 -1
  12. package/esm2015/lib/_common/utils.js +52 -52
  13. package/esm2015/lib/api/contact-card.gql.js +79 -79
  14. package/esm2015/lib/api/contact-card.service.js +154 -154
  15. package/esm2015/lib/api/contact-card2.gql.js +60 -60
  16. package/esm2015/lib/api/contact-card2.service.js +103 -103
  17. package/esm2015/lib/api/file.service.js +74 -74
  18. package/esm2015/lib/api/key-exchange.gql.js +188 -188
  19. package/esm2015/lib/api/key-exchange.service.js +442 -442
  20. package/esm2015/lib/api/key-exchange.types.js +18 -18
  21. package/esm2015/lib/api/key-exchange2.gql.js +171 -171
  22. package/esm2015/lib/api/key-exchange2.service.js +479 -479
  23. package/esm2015/lib/api/lock.gql.js +40 -40
  24. package/esm2015/lib/api/lock.service.js +64 -64
  25. package/esm2015/lib/api/lr-apollo.service.js +46 -46
  26. package/esm2015/lib/api/lr-graphql/index.js +6 -6
  27. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -155
  28. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -213
  29. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -51
  30. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -48
  31. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -18
  32. package/esm2015/lib/api/message.service.js +138 -138
  33. package/esm2015/lib/api/persist.service.js +181 -181
  34. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -93
  35. package/esm2015/lib/api/query-processor/index.js +3 -3
  36. package/esm2015/lib/api/query-processor/query-processor.service.js +262 -262
  37. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -109
  38. package/esm2015/lib/api/shared-contact-card.service.js +119 -119
  39. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -41
  40. package/esm2015/lib/api/shared-contact-card2.service.js +117 -117
  41. package/esm2015/lib/api/time.service.js +146 -146
  42. package/esm2015/lib/api/types/graphql.types.js +7 -7
  43. package/esm2015/lib/api/types/index.js +3 -3
  44. package/esm2015/lib/api/types/lr-graphql.types.js +101 -101
  45. package/esm2015/lib/auth/auth.config.js +57 -57
  46. package/esm2015/lib/auth/auth.gql.js +48 -48
  47. package/esm2015/lib/auth/auth.types.js +27 -27
  48. package/esm2015/lib/auth/idle.service.js +168 -168
  49. package/esm2015/lib/auth/idle.types.js +7 -7
  50. package/esm2015/lib/auth/lbop.service.js +355 -355
  51. package/esm2015/lib/auth/life-ready-auth.service.js +488 -488
  52. package/esm2015/lib/auth/password.service.js +320 -320
  53. package/esm2015/lib/auth/register.service.js +172 -172
  54. package/esm2015/lib/auth/two-factor.service.js +74 -74
  55. package/esm2015/lib/category/category-meta.service.js +99 -99
  56. package/esm2015/lib/category/category.gql.js +406 -406
  57. package/esm2015/lib/category/category.service.js +390 -390
  58. package/esm2015/lib/category/category.types.js +29 -29
  59. package/esm2015/lib/cryptography/cryptography.types.js +11 -11
  60. package/esm2015/lib/cryptography/encryption.service.js +189 -189
  61. package/esm2015/lib/cryptography/key-factory.service.js +237 -237
  62. package/esm2015/lib/cryptography/key-graph.service.js +299 -299
  63. package/esm2015/lib/cryptography/key-meta.service.js +200 -200
  64. package/esm2015/lib/cryptography/key.service.js +124 -124
  65. package/esm2015/lib/cryptography/slip39.service.js +169 -169
  66. package/esm2015/lib/cryptography/web-crypto.service.js +29 -29
  67. package/esm2015/lib/items2/item2.gql.js +139 -139
  68. package/esm2015/lib/items2/item2.service.js +498 -498
  69. package/esm2015/lib/items2/item2.types.js +1 -1
  70. package/esm2015/lib/life-ready.config.js +84 -84
  71. package/esm2015/lib/life-ready.module.js +74 -74
  72. package/esm2015/lib/notification/notification.gql.js +43 -43
  73. package/esm2015/lib/notification/notification.service.js +118 -118
  74. package/esm2015/lib/plan/plan.gql.js +123 -123
  75. package/esm2015/lib/plan/plan.service.js +149 -149
  76. package/esm2015/lib/plan/plan.types.js +11 -11
  77. package/esm2015/lib/record/record-attachment.service.js +101 -101
  78. package/esm2015/lib/record/record.gql.js +179 -179
  79. package/esm2015/lib/record/record.service.js +206 -206
  80. package/esm2015/lib/record/record.types.js +15 -15
  81. package/esm2015/lib/record-type/record-type.service.js +75 -75
  82. package/esm2015/lib/record-type/record-type.types.js +28 -28
  83. package/esm2015/lib/scenario/scenario.constants.js +2 -2
  84. package/esm2015/lib/scenario/scenario.controller.js +34 -34
  85. package/esm2015/lib/scenario/scenario.gql.js +72 -72
  86. package/esm2015/lib/scenario/scenario.gql.private.js +198 -198
  87. package/esm2015/lib/scenario/scenario.service.js +538 -538
  88. package/esm2015/lib/scenario/scenario.types.js +1 -1
  89. package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +22 -22
  90. package/esm2015/lib/trusted-parties/tp-assembly.js +362 -362
  91. package/esm2015/lib/trusted-parties/tp-assembly.types.js +1 -1
  92. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +113 -113
  93. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -129
  94. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -4
  95. package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +34 -34
  96. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +237 -236
  97. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +95 -95
  98. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -148
  99. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -326
  100. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -41
  101. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -87
  102. package/esm2015/lib/trusted-parties/trusted-party2.service.js +218 -215
  103. package/esm2015/lib/users/profile-details.service.js +214 -214
  104. package/esm2015/lib/users/profile.gql.js +97 -97
  105. package/esm2015/lib/users/profile.service.js +169 -169
  106. package/esm2015/lib/users/profile.types.js +34 -34
  107. package/esm2015/lib/users/user.gql.js +60 -60
  108. package/esm2015/lib/users/user.service.js +79 -79
  109. package/esm2015/lib/users/user.types.js +5 -5
  110. package/esm2015/lifeready-core.js +13 -13
  111. package/esm2015/public-api.js +71 -71
  112. package/fesm2015/lifeready-core.js +12263 -12258
  113. package/fesm2015/lifeready-core.js.map +1 -1
  114. package/lib/_common/ast.d.ts +11 -11
  115. package/lib/_common/deferred-promise.d.ts +12 -12
  116. package/lib/_common/exceptions.d.ts +109 -109
  117. package/lib/_common/queries.gql.d.ts +10 -10
  118. package/lib/_common/run-outside-angular.d.ts +14 -14
  119. package/lib/_common/types.d.ts +10 -10
  120. package/lib/_common/utils.d.ts +9 -9
  121. package/lib/api/contact-card.gql.d.ts +7 -7
  122. package/lib/api/contact-card.service.d.ts +52 -52
  123. package/lib/api/contact-card2.gql.d.ts +34 -34
  124. package/lib/api/contact-card2.service.d.ts +49 -49
  125. package/lib/api/file.service.d.ts +18 -18
  126. package/lib/api/key-exchange.gql.d.ts +9 -9
  127. package/lib/api/key-exchange.service.d.ts +39 -39
  128. package/lib/api/key-exchange.types.d.ts +196 -196
  129. package/lib/api/key-exchange2.gql.d.ts +125 -125
  130. package/lib/api/key-exchange2.service.d.ts +187 -187
  131. package/lib/api/lock.gql.d.ts +27 -27
  132. package/lib/api/lock.service.d.ts +34 -34
  133. package/lib/api/lr-apollo.service.d.ts +15 -15
  134. package/lib/api/lr-graphql/index.d.ts +5 -5
  135. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -60
  136. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +28 -28
  137. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -28
  138. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -8
  139. package/lib/api/lr-graphql/lr.service.d.ts +9 -9
  140. package/lib/api/message.service.d.ts +58 -58
  141. package/lib/api/persist.service.d.ts +31 -31
  142. package/lib/api/query-processor/common-processors.service.d.ts +36 -36
  143. package/lib/api/query-processor/index.d.ts +2 -2
  144. package/lib/api/query-processor/query-processor.service.d.ts +18 -18
  145. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -15
  146. package/lib/api/shared-contact-card.service.d.ts +33 -33
  147. package/lib/api/shared-contact-card2.gql.d.ts +36 -36
  148. package/lib/api/shared-contact-card2.service.d.ts +45 -45
  149. package/lib/api/time.service.d.ts +16 -16
  150. package/lib/api/types/graphql.types.d.ts +29 -29
  151. package/lib/api/types/index.d.ts +2 -2
  152. package/lib/api/types/lr-graphql.types.d.ts +504 -502
  153. package/lib/auth/auth.config.d.ts +5 -5
  154. package/lib/auth/auth.gql.d.ts +15 -15
  155. package/lib/auth/auth.types.d.ts +66 -66
  156. package/lib/auth/idle.service.d.ts +40 -40
  157. package/lib/auth/idle.types.d.ts +10 -10
  158. package/lib/auth/lbop.service.d.ts +91 -91
  159. package/lib/auth/life-ready-auth.service.d.ts +61 -61
  160. package/lib/auth/password.service.d.ts +78 -78
  161. package/lib/auth/register.service.d.ts +25 -25
  162. package/lib/auth/two-factor.service.d.ts +15 -15
  163. package/lib/category/category-meta.service.d.ts +23 -23
  164. package/lib/category/category.gql.d.ts +45 -45
  165. package/lib/category/category.service.d.ts +67 -67
  166. package/lib/category/category.types.d.ts +79 -79
  167. package/lib/cryptography/cryptography.types.d.ts +83 -83
  168. package/lib/cryptography/encryption.service.d.ts +41 -41
  169. package/lib/cryptography/key-factory.service.d.ts +38 -38
  170. package/lib/cryptography/key-graph.service.d.ts +41 -41
  171. package/lib/cryptography/key-meta.service.d.ts +44 -44
  172. package/lib/cryptography/key.service.d.ts +36 -36
  173. package/lib/cryptography/slip39.service.d.ts +43 -43
  174. package/lib/cryptography/web-crypto.service.d.ts +5 -5
  175. package/lib/items2/item2.gql.d.ts +123 -123
  176. package/lib/items2/item2.service.d.ts +203 -203
  177. package/lib/items2/item2.types.d.ts +70 -70
  178. package/lib/life-ready.config.d.ts +14 -14
  179. package/lib/life-ready.module.d.ts +5 -5
  180. package/lib/notification/notification.gql.d.ts +37 -37
  181. package/lib/notification/notification.service.d.ts +63 -63
  182. package/lib/plan/plan.gql.d.ts +11 -11
  183. package/lib/plan/plan.service.d.ts +33 -33
  184. package/lib/plan/plan.types.d.ts +31 -31
  185. package/lib/record/record-attachment.service.d.ts +16 -16
  186. package/lib/record/record.gql.d.ts +14 -14
  187. package/lib/record/record.service.d.ts +25 -25
  188. package/lib/record/record.types.d.ts +57 -57
  189. package/lib/record-type/record-type.service.d.ts +11 -11
  190. package/lib/record-type/record-type.types.d.ts +50 -50
  191. package/lib/scenario/scenario.constants.d.ts +1 -1
  192. package/lib/scenario/scenario.controller.d.ts +10 -10
  193. package/lib/scenario/scenario.gql.d.ts +62 -62
  194. package/lib/scenario/scenario.gql.private.d.ts +16 -16
  195. package/lib/scenario/scenario.service.d.ts +233 -233
  196. package/lib/scenario/scenario.types.d.ts +50 -50
  197. package/lib/trusted-parties/tp-assembly.d.ts +177 -177
  198. package/lib/trusted-parties/tp-assembly.gql.private.d.ts +5 -5
  199. package/lib/trusted-parties/tp-assembly.types.d.ts +38 -38
  200. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -20
  201. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -35
  202. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -3
  203. package/lib/trusted-parties/tp-password-reset.controller.d.ts +10 -10
  204. package/lib/trusted-parties/tp-password-reset.gql.d.ts +224 -223
  205. package/lib/trusted-parties/tp-password-reset.service.d.ts +189 -188
  206. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -9
  207. package/lib/trusted-parties/trusted-party.service.d.ts +44 -44
  208. package/lib/trusted-parties/trusted-party.types.d.ts +102 -102
  209. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -79
  210. package/lib/trusted-parties/trusted-party2.service.d.ts +115 -114
  211. package/lib/users/profile-details.service.d.ts +21 -21
  212. package/lib/users/profile.gql.d.ts +11 -11
  213. package/lib/users/profile.service.d.ts +35 -35
  214. package/lib/users/profile.types.d.ts +96 -96
  215. package/lib/users/user.gql.d.ts +9 -9
  216. package/lib/users/user.service.d.ts +12 -12
  217. package/lib/users/user.types.d.ts +23 -23
  218. package/lifeready-core.d.ts +12 -12
  219. package/lifeready-core.metadata.json +1 -1
  220. package/package.json +1 -1
  221. package/public-api.d.ts +67 -67
@@ -1,188 +1,188 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWV4Y2hhbmdlLmdxbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9rYy1jbGllbnQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBpL2tleS1leGNoYW5nZS5ncWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBd0MvQixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFCbEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7UUFXcEMsbUJBQW1COzs7Ozs7O0VBT3pCLGdCQUFnQixFQUFFLENBQUM7QUFFckIsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFxQjVCLGlCQUFpQjs7Ozs7Ozs7RUFRdkIsZ0JBQWdCO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPN0IsaUJBQWlCOzs7Ozs7RUFNckIsZ0JBQWdCO0NBQ2pCLENBQUM7QUFFRixrRUFBa0U7QUFDbEUsZ0NBQWdDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7O01BU2xDLGlCQUFpQjs7RUFFckIsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTWhDLGlCQUFpQjs7O0VBR3JCLGtCQUFrQjtFQUNsQixDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7UUFNN0IsaUJBQWlCOzs7UUFHakIsbUJBQW1COzs7Ozs7RUFNekIsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTs7Ozs7O1FBTTlCLGlCQUFpQjs7O1FBR2pCLG1CQUFtQjs7Ozs7O0VBTXpCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcclxuaW1wb3J0IHsgRmV0Y2hLZXlHcmFwaEZpZWxkLCBLZXlHcmFwaEZyYWdtZW50IH0gZnJvbSAnLi4vX2NvbW1vbi9xdWVyaWVzLmdxbCc7XHJcblxyXG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VGaWVsZHMgPSBgXHJcbiAgaWRcclxuICB0b2tlblxyXG4gIHN0YXRlXHJcbiAgbW9kZVxyXG4gIGlzSW5pdGlhdG9yXHJcbiAgaW5pdGlhdG9yIHtcclxuICAgIGlkXHJcbiAgICB1c2VybmFtZVxyXG4gIH1cclxuICByZXNwb25kZXIge1xyXG4gICAgaWRcclxuICAgIHVzZXJuYW1lXHJcbiAgfVxyXG4gIGNyZWF0ZWRcclxuICBtb2RpZmllZFxyXG4gIHRva2VuRXhwaXJ5VGltZVxyXG4gIGlzRXhwaXJlZFxyXG4gIGluaXRpYXRvclJvb3RLZXlDaXBoZXJcclxuICBpbml0aWF0b3JBY3Rpb25SZXF1aXJlZFxyXG4gIHJlc3BvbmRlckFjdGlvblJlcXVpcmVkXHJcbiAgcmVzcG9uZGVyRW1haWxBZGRyZXNzXHJcbiAgb3RrIHtcclxuICAgIHN0YXRlXHJcbiAgICBvdEtleVBhcmFtc1xyXG4gICAgb3RLZXlDaXBoZXJcclxuICAgIHNoYXJlZEtleSB7XHJcbiAgICAgIGlkXHJcbiAgICB9XHJcbiAgICBta1NoYXJlZEtleSB7XHJcbiAgICAgIGlkXHJcbiAgICB9XHJcbiAgICBpbml0aWF0b3JTaWdQeGsge1xyXG4gICAgICBpZFxyXG4gICAgfVxyXG4gICAgcmVzcG9uZGVyU2lnUHhrIHtcclxuICAgICAgaWRcclxuICAgIH1cclxuICAgIGluaXRpYXRvck9uZVRpbWVQYmtDaXBoZXJcclxuICAgIHJlc3BvbmRlclBia0NpcGhlclxyXG59YDtcclxuXHJcbmV4cG9ydCBjb25zdCBVc2VyU2hhcmVkS2V5RmllbGRzID0gYFxyXG4gIHVzZXJTaWdQcmsge1xyXG4gICAgaWRcclxuICB9XHJcbiAgb3RoZXJTaWdQYmsge1xyXG4gICAgaWRcclxuICB9XHJcbiAgc2hhcmVkS2V5IHtcclxuICAgIGlkXHJcbiAgfVxyXG4gIG1rU2hhcmVkS2V5IHtcclxuICAgIGlkXHJcbiAgfVxyXG4gIG1rUHhrIHtcclxuICAgIGlkXHJcbiAgICBwYmtcclxuICB9XHJcbiAgbWtSZXNoYXJlUmVxdWVzdENpcGhlclxyXG4gIG1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyXHJcbiAgbWtSZXNoYXJlUmVxdWVzdFNlbnRcclxuICBta1Jlc2hhcmVSZXNwb25zZVNlbnRcclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5ID0gZ3FsYFxyXG5xdWVyeSBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5KFxyXG4gICR1c2VybmFtZTogU3RyaW5nXHJcbiAgJHVzZXJJZDogTHJSZWxheUlkSW5wdXRcclxuICAkY2FjaGVkS2V5SWRzOiBbTHJSZWxheUlkSW5wdXQhXVxyXG4pIHtcclxuICBjdXJyZW50VXNlclNoYXJlZEtleShcclxuICAgIHVzZXJuYW1lOiAkdXNlcm5hbWVcclxuICAgIHVzZXJJZDogJHVzZXJJZFxyXG4gICkge1xyXG4gICAgdXNlclNoYXJlZEtleSB7XHJcbiAgICAgICR7VXNlclNoYXJlZEtleUZpZWxkc31cclxuICAgIH1cclxuICB9XHJcbiAga2V5R3JhcGgoY2FjaGVkS2V5SWRzOiAkY2FjaGVkS2V5SWRzKSB7XHJcbiAgICAuLi5LZXlHcmFwaEZyYWdtZW50XHJcbiAgfVxyXG59XHJcbiR7S2V5R3JhcGhGcmFnbWVudH1gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEtleUV4Y2hhbmdlc1F1ZXJ5ID0gZ3FsYFxyXG5xdWVyeSBLZXlFeGNoYW5nZVF1ZXJ5KFxyXG4kb3JkZXJCeTogU3RyaW5nXHJcbiRpc0V4cGlyZWQ6IEJvb2xlYW5cclxuJGluaXRpYXRvckFjdGlvblJlcXVpcmVkOiBCb29sZWFuXHJcbiRyZXNwb25kZXJBY3Rpb25SZXF1aXJlZDogQm9vbGVhblxyXG4kaW5pdGlhdG9yOiBJRFxyXG4kcmVzcG9uZGVyOiBJRFxyXG4kc3RhdGU6IFN0cmluZ1xyXG4pIHtcclxua2V5RXhjaGFuZ2VzKFxyXG4gIG9yZGVyQnk6ICRvcmRlckJ5XHJcbiAgaXNFeHBpcmVkOiAkaXNFeHBpcmVkXHJcbiAgaW5pdGlhdG9yQWN0aW9uUmVxdWlyZWQ6ICRpbml0aWF0b3JBY3Rpb25SZXF1aXJlZFxyXG4gIHJlc3BvbmRlckFjdGlvblJlcXVpcmVkOiAkcmVzcG9uZGVyQWN0aW9uUmVxdWlyZWRcclxuICBpbml0aWF0b3I6ICRpbml0aWF0b3JcclxuICByZXNwb25kZXI6ICRyZXNwb25kZXJcclxuICBzdGF0ZTogJHN0YXRlXHJcbikge1xyXG4gIGVkZ2VzIHtcclxuICAgIG5vZGUge1xyXG4gICAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5rZXlHcmFwaCB7XHJcbiAgLi4uS2V5R3JhcGhGcmFnbWVudFxyXG59XHJcbn1cclxuJHtLZXlHcmFwaEZyYWdtZW50fVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEtleUV4Y2hhbmdlUXVlcnkgPSBncWxgXHJcbnF1ZXJ5IEtleUV4Y2hhbmdlUXVlcnkoXHJcbiAgJGlkOiBMclJlbGF5SWRJbnB1dCFcclxuKSB7XHJcbiAga2V5RXhjaGFuZ2UoXHJcbiAgICBpZDogJGlkXHJcbiAgKSB7XHJcbiAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxyXG4gIH1cclxuICBrZXlHcmFwaCB7XHJcbiAgICAuLi5LZXlHcmFwaEZyYWdtZW50XHJcbiAgfVxyXG59XHJcbiR7S2V5R3JhcGhGcmFnbWVudH1cclxuYDtcclxuXHJcbi8vIEtleSBncmFwaCBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgYXV0aGVudGljYXRlZCB1c2Vycy4gVGhpcyBxdWVyeVxyXG4vLyBpcyBmb3IgdW5hdXRoZW50aWNhdGVkIHVzZXJzLlxyXG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VUb2tlblF1ZXJ5ID0gZ3FsYFxyXG5xdWVyeSBLZXlFeGNoYW5nZVF1ZXJ5KFxyXG4gICRpZDogTHJSZWxheUlkSW5wdXQhXHJcbiAgJHRva2VuOiBTdHJpbmdcclxuKSB7XHJcbiAga2V5RXhjaGFuZ2UoXHJcbiAgICBpZDogJGlkXHJcbiAgICB0b2tlbjogJHRva2VuXHJcbiAgKSB7XHJcbiAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxyXG4gIH1cclxufWA7XHJcblxyXG5leHBvcnQgY29uc3QgSW5pdGlhdGVPdGtNdXRhdGlvbiA9IGdxbGBcclxubXV0YXRpb24gSW5pdGlhdGVLZXlFeGNoYW5nZU90ayhcclxuJGlucHV0OiBJbml0aWF0ZUtleUV4Y2hhbmdlT3RrSW5wdXQhXHJcbikge1xyXG5pbml0aWF0ZUtleUV4Y2hhbmdlT3RrKGlucHV0OiAkaW5wdXQpIHtcclxuICBrZXlFeGNoYW5nZSB7XHJcbiAgICAke0tleUV4Y2hhbmdlRmllbGRzfVxyXG4gIH1cclxufVxyXG4ke0ZldGNoS2V5R3JhcGhGaWVsZH1cclxufWA7XHJcblxyXG5leHBvcnQgY29uc3QgUmVzcG9uZE90a011dGF0aW9uID0gZ3FsYFxyXG5tdXRhdGlvbiBSZXNwb25kS2V5RXhjaGFuZ2VPdGsoXHJcbiAgJGlucHV0OiBSZXNwb25kS2V5RXhjaGFuZ2VPdGtJbnB1dCFcclxuKSB7XHJcbiAgcmVzcG9uZEtleUV4Y2hhbmdlT3RrKGlucHV0OiAkaW5wdXQpIHtcclxuICAgIGtleUV4Y2hhbmdlIHtcclxuICAgICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cclxuICAgIH1cclxuICAgIHVzZXJTaGFyZWRLZXkge1xyXG4gICAgICAke1VzZXJTaGFyZWRLZXlGaWVsZHN9XHJcbiAgICB9XHJcbiAgICB0cCB7XHJcbiAgICAgIGlkXHJcbiAgICB9XHJcbiAgfVxyXG59YDtcclxuXHJcbmV4cG9ydCBjb25zdCBDb21wbGV0ZU90a011dGF0aW9uID0gZ3FsYFxyXG5tdXRhdGlvbiBDb21wbGV0ZUtleUV4Y2hhbmdlT3RrKFxyXG4gICRpbnB1dDogQ29tcGxldGVLZXlFeGNoYW5nZU90a0lucHV0IVxyXG4pIHtcclxuICBjb21wbGV0ZUtleUV4Y2hhbmdlT3RrKGlucHV0OiAkaW5wdXQpIHtcclxuICAgIGtleUV4Y2hhbmdlIHtcclxuICAgICAgJHtLZXlFeGNoYW5nZUZpZWxkc31cclxuICAgIH1cclxuICAgIHVzZXJTaGFyZWRLZXkge1xyXG4gICAgICAke1VzZXJTaGFyZWRLZXlGaWVsZHN9XHJcbiAgICB9XHJcbiAgICB0cCB7XHJcbiAgICAgIGlkXHJcbiAgICB9XHJcbiAgfVxyXG59YDtcclxuIl19
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==