@lifeready/core 1.0.13 → 1.0.15

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