@lifeready/core 1.0.21 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/bundles/lifeready-core.umd.js +9745 -9700
  2. package/bundles/lifeready-core.umd.js.map +1 -1
  3. package/bundles/lifeready-core.umd.min.js +2 -2
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/run-outside-angular.js +2 -2
  6. package/esm2015/lib/_common/types.js +1 -1
  7. package/esm2015/lib/api/lr-apollo.service.js +3 -3
  8. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +3 -3
  9. package/esm2015/lib/api/query-processor/common-processors.service.js +3 -3
  10. package/esm2015/lib/api/query-processor/query-processor.service.js +4 -4
  11. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +6 -5
  12. package/esm2015/lib/api/types/lr-graphql.types.js +1 -1
  13. package/esm2015/lib/auth/auth.gql.js +1 -28
  14. package/esm2015/lib/auth/auth.types.js +1 -1
  15. package/esm2015/lib/auth/life-ready-auth.service.js +32 -31
  16. package/esm2015/lib/category/category.gql.js +1 -1
  17. package/esm2015/lib/category/category.service.js +6 -6
  18. package/esm2015/lib/contact-card/contact-card.gql.js +79 -0
  19. package/esm2015/lib/contact-card/contact-card.service.js +154 -0
  20. package/esm2015/lib/contact-card/contact-card2.gql.js +29 -0
  21. package/esm2015/lib/contact-card/contact-card2.service.js +103 -0
  22. package/esm2015/lib/encryption/encryption.service.js +189 -0
  23. package/esm2015/lib/file-upload/file-upload.service.js +74 -0
  24. package/esm2015/lib/file-upload/file-upload.types.js +1 -0
  25. package/esm2015/lib/{auth → idle}/idle.service.js +7 -7
  26. package/esm2015/lib/{auth → idle}/idle.types.js +1 -1
  27. package/esm2015/lib/items2/item2.service.js +20 -20
  28. package/esm2015/lib/key/key-factory.service.js +237 -0
  29. package/esm2015/lib/{cryptography → key}/key-graph.service.js +10 -10
  30. package/esm2015/lib/key/key-meta.service.js +200 -0
  31. package/esm2015/lib/key/key.service.js +124 -0
  32. package/esm2015/lib/key/key.types.js +11 -0
  33. package/esm2015/lib/key-exchange/key-exchange.gql.js +188 -0
  34. package/esm2015/lib/key-exchange/key-exchange.service.js +443 -0
  35. package/esm2015/lib/key-exchange/key-exchange.types.js +7 -0
  36. package/esm2015/lib/key-exchange/key-exchange2.gql.js +171 -0
  37. package/esm2015/lib/key-exchange/key-exchange2.service.js +500 -0
  38. package/esm2015/lib/lbop/lbop.service.js +355 -0
  39. package/esm2015/lib/life-ready.module.js +2 -27
  40. package/esm2015/lib/lock/lock.gql.js +40 -0
  41. package/esm2015/lib/lock/lock.service.js +64 -0
  42. package/esm2015/lib/message/message.gql.js +32 -0
  43. package/esm2015/lib/message/message.service.js +116 -0
  44. package/esm2015/lib/message/message.types.js +1 -0
  45. package/esm2015/lib/password/password.gql.js +28 -0
  46. package/esm2015/lib/password/password.service.js +315 -0
  47. package/esm2015/lib/persist/persist.service.js +180 -0
  48. package/esm2015/lib/profile/profile-details.service.js +214 -0
  49. package/esm2015/lib/profile/profile.gql.js +97 -0
  50. package/esm2015/lib/profile/profile.service.js +169 -0
  51. package/esm2015/lib/profile/profile.types.js +34 -0
  52. package/esm2015/lib/record/record-attachment.service.js +15 -15
  53. package/esm2015/lib/record/record.service.js +3 -3
  54. package/esm2015/lib/register/register.service.js +172 -0
  55. package/esm2015/lib/scenario/scenario.controller.js +2 -2
  56. package/esm2015/lib/scenario/{scenario.gql.private.js → scenario.private.gql.js} +1 -1
  57. package/esm2015/lib/scenario/scenario.service.js +9 -9
  58. package/esm2015/lib/scenario/scenario.types.js +1 -1
  59. package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +119 -0
  60. package/esm2015/lib/shared-contact-card/shared-contact-card2.gql.js +41 -0
  61. package/esm2015/lib/shared-contact-card/shared-contact-card2.service.js +117 -0
  62. package/esm2015/lib/slip39/slip39.service.js +169 -0
  63. package/esm2015/lib/time/time.service.js +146 -0
  64. package/esm2015/lib/tp-assembly/tp-assembly.js +365 -0
  65. package/esm2015/lib/tp-assembly/tp-assembly.private.gql.js +22 -0
  66. package/esm2015/lib/tp-assembly/tp-assembly.types.js +1 -0
  67. package/esm2015/lib/tp-password-reset/tp-password-reset-request.service.js +100 -0
  68. package/esm2015/lib/tp-password-reset/tp-password-reset-user.service.js +117 -0
  69. package/esm2015/lib/tp-password-reset/tp-password-reset.constants.js +4 -0
  70. package/esm2015/lib/tp-password-reset/tp-password-reset.controller.js +34 -0
  71. package/esm2015/lib/tp-password-reset/tp-password-reset.gql.js +74 -0
  72. package/esm2015/lib/tp-password-reset/tp-password-reset.private.gql.js +165 -0
  73. package/esm2015/lib/tp-password-reset/tp-password-reset.private.service.js +54 -0
  74. package/esm2015/lib/tp-password-reset/tp-password-reset.service.js +92 -0
  75. package/esm2015/lib/tp-password-reset/tp-password-reset.types.js +1 -0
  76. package/esm2015/lib/trusted-party/trusted-party.gql.js +148 -0
  77. package/esm2015/lib/trusted-party/trusted-party.service.js +326 -0
  78. package/esm2015/lib/trusted-party/trusted-party.types.js +41 -0
  79. package/esm2015/lib/trusted-party/trusted-party2.gql.js +64 -0
  80. package/esm2015/lib/trusted-party/trusted-party2.gql.private.js +25 -0
  81. package/esm2015/lib/trusted-party/trusted-party2.service.js +224 -0
  82. package/esm2015/lib/trusted-party/trusted-party2.types.js +1 -0
  83. package/esm2015/lib/two-factor/two-factor.service.js +74 -0
  84. package/esm2015/lib/user/user.gql.js +60 -0
  85. package/esm2015/lib/user/user.service.js +79 -0
  86. package/esm2015/lib/user/user.types.js +1 -0
  87. package/esm2015/lib/web-crypto/web-crypto.service.js +29 -0
  88. package/esm2015/lifeready-core.js +15 -13
  89. package/esm2015/public-api.js +49 -51
  90. package/fesm2015/lifeready-core.js +9232 -9214
  91. package/fesm2015/lifeready-core.js.map +1 -1
  92. package/lib/_common/types.d.ts +3 -1
  93. package/lib/api/lr-apollo.service.d.ts +1 -1
  94. package/lib/api/lr-graphql/lr-graphql.service.d.ts +1 -1
  95. package/lib/api/query-processor/common-processors.service.d.ts +1 -1
  96. package/lib/api/query-processor/query-processor.service.d.ts +1 -1
  97. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +1 -1
  98. package/lib/api/types/lr-graphql.types.d.ts +11 -0
  99. package/lib/auth/auth.gql.d.ts +0 -3
  100. package/lib/auth/auth.types.d.ts +2 -2
  101. package/lib/auth/life-ready-auth.service.d.ts +12 -12
  102. package/lib/category/category.gql.d.ts +1 -1
  103. package/lib/category/category.service.d.ts +2 -2
  104. package/lib/{api → contact-card}/contact-card.service.d.ts +9 -9
  105. package/lib/contact-card/contact-card2.gql.d.ts +25 -0
  106. package/lib/{api → contact-card}/contact-card2.service.d.ts +11 -12
  107. package/lib/{cryptography → encryption}/encryption.service.d.ts +2 -2
  108. package/lib/{api/file.service.d.ts → file-upload/file-upload.service.d.ts} +3 -7
  109. package/lib/file-upload/file-upload.types.d.ts +5 -0
  110. package/lib/{auth → idle}/idle.service.d.ts +4 -4
  111. package/lib/items2/item2.service.d.ts +11 -11
  112. package/lib/{cryptography → key}/key-factory.service.d.ts +2 -2
  113. package/lib/{cryptography → key}/key-graph.service.d.ts +5 -5
  114. package/lib/{cryptography → key}/key-meta.service.d.ts +1 -1
  115. package/lib/{cryptography → key}/key.service.d.ts +2 -2
  116. package/lib/{cryptography/cryptography.types.d.ts → key/key.types.d.ts} +9 -13
  117. package/lib/{api → key-exchange}/key-exchange.service.d.ts +5 -5
  118. package/lib/{api → key-exchange}/key-exchange.types.d.ts +4 -4
  119. package/lib/{api → key-exchange}/key-exchange2.gql.d.ts +1 -1
  120. package/lib/{api → key-exchange}/key-exchange2.service.d.ts +71 -18
  121. package/lib/{auth → lbop}/lbop.service.d.ts +7 -7
  122. package/lib/{api → lock}/lock.gql.d.ts +1 -1
  123. package/lib/{api → lock}/lock.service.d.ts +1 -1
  124. package/lib/message/message.gql.d.ts +13 -0
  125. package/lib/message/message.service.d.ts +29 -0
  126. package/lib/message/message.types.d.ts +12 -0
  127. package/lib/password/password.gql.d.ts +3 -0
  128. package/lib/{auth → password}/password.service.d.ts +8 -8
  129. package/lib/{api → persist}/persist.service.d.ts +3 -3
  130. package/lib/{users → profile}/profile-details.service.d.ts +3 -3
  131. package/lib/{users → profile}/profile.gql.d.ts +2 -2
  132. package/lib/{users → profile}/profile.service.d.ts +6 -6
  133. package/lib/{users → profile}/profile.types.d.ts +1 -1
  134. package/lib/record/record-attachment.service.d.ts +6 -6
  135. package/lib/record/record.service.d.ts +1 -1
  136. package/lib/{auth → register}/register.service.d.ts +4 -4
  137. package/lib/scenario/scenario.controller.d.ts +1 -1
  138. package/lib/scenario/scenario.service.d.ts +2 -2
  139. package/lib/scenario/scenario.types.d.ts +1 -1
  140. package/lib/{api → shared-contact-card}/shared-contact-card.service.d.ts +9 -9
  141. package/lib/{api → shared-contact-card}/shared-contact-card2.gql.d.ts +1 -1
  142. package/lib/{api → shared-contact-card}/shared-contact-card2.service.d.ts +6 -6
  143. package/lib/{trusted-parties → tp-assembly}/tp-assembly.d.ts +7 -7
  144. package/lib/{trusted-parties → tp-assembly}/tp-assembly.types.d.ts +1 -1
  145. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-request.service.d.ts +4 -8
  146. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-user.service.d.ts +7 -13
  147. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.controller.d.ts +1 -1
  148. package/lib/tp-password-reset/tp-password-reset.gql.d.ts +63 -0
  149. package/lib/{trusted-parties/tp-password-reset.gql.d.ts → tp-password-reset/tp-password-reset.private.gql.d.ts} +1 -63
  150. package/lib/tp-password-reset/tp-password-reset.private.service.d.ts +59 -0
  151. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.service.d.ts +6 -89
  152. package/lib/tp-password-reset/tp-password-reset.types.d.ts +40 -0
  153. package/lib/{trusted-parties → trusted-party}/trusted-party.service.d.ts +7 -7
  154. package/lib/{trusted-parties → trusted-party}/trusted-party.types.d.ts +2 -3
  155. package/lib/{trusted-parties → trusted-party}/trusted-party2.gql.d.ts +0 -22
  156. package/lib/trusted-party/trusted-party2.gql.private.d.ts +23 -0
  157. package/lib/{trusted-parties → trusted-party}/trusted-party2.service.d.ts +11 -35
  158. package/lib/trusted-party/trusted-party2.types.d.ts +12 -0
  159. package/lib/{users → user}/user.gql.d.ts +1 -1
  160. package/lib/{users → user}/user.types.d.ts +1 -1
  161. package/lifeready-core.d.ts +14 -12
  162. package/lifeready-core.metadata.json +1 -1
  163. package/package.json +1 -1
  164. package/public-api.d.ts +48 -50
  165. package/esm2015/lib/api/contact-card.gql.js +0 -79
  166. package/esm2015/lib/api/contact-card.service.js +0 -154
  167. package/esm2015/lib/api/contact-card2.gql.js +0 -60
  168. package/esm2015/lib/api/contact-card2.service.js +0 -103
  169. package/esm2015/lib/api/file.service.js +0 -74
  170. package/esm2015/lib/api/key-exchange.gql.js +0 -188
  171. package/esm2015/lib/api/key-exchange.service.js +0 -442
  172. package/esm2015/lib/api/key-exchange.types.js +0 -7
  173. package/esm2015/lib/api/key-exchange2.gql.js +0 -171
  174. package/esm2015/lib/api/key-exchange2.service.js +0 -480
  175. package/esm2015/lib/api/lock.gql.js +0 -40
  176. package/esm2015/lib/api/lock.service.js +0 -64
  177. package/esm2015/lib/api/message.service.js +0 -138
  178. package/esm2015/lib/api/persist.service.js +0 -181
  179. package/esm2015/lib/api/shared-contact-card.service.js +0 -119
  180. package/esm2015/lib/api/shared-contact-card2.gql.js +0 -41
  181. package/esm2015/lib/api/shared-contact-card2.service.js +0 -117
  182. package/esm2015/lib/api/time.service.js +0 -146
  183. package/esm2015/lib/auth/lbop.service.js +0 -355
  184. package/esm2015/lib/auth/password.service.js +0 -315
  185. package/esm2015/lib/auth/register.service.js +0 -172
  186. package/esm2015/lib/auth/two-factor.service.js +0 -74
  187. package/esm2015/lib/cryptography/cryptography.types.js +0 -11
  188. package/esm2015/lib/cryptography/encryption.service.js +0 -189
  189. package/esm2015/lib/cryptography/key-factory.service.js +0 -237
  190. package/esm2015/lib/cryptography/key-meta.service.js +0 -200
  191. package/esm2015/lib/cryptography/key.service.js +0 -124
  192. package/esm2015/lib/cryptography/slip39.service.js +0 -169
  193. package/esm2015/lib/cryptography/web-crypto.service.js +0 -29
  194. package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +0 -22
  195. package/esm2015/lib/trusted-parties/tp-assembly.js +0 -365
  196. package/esm2015/lib/trusted-parties/tp-assembly.types.js +0 -1
  197. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +0 -113
  198. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +0 -129
  199. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +0 -4
  200. package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +0 -34
  201. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +0 -237
  202. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +0 -95
  203. package/esm2015/lib/trusted-parties/trusted-party.gql.js +0 -148
  204. package/esm2015/lib/trusted-parties/trusted-party.service.js +0 -326
  205. package/esm2015/lib/trusted-parties/trusted-party.types.js +0 -41
  206. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +0 -87
  207. package/esm2015/lib/trusted-parties/trusted-party2.service.js +0 -218
  208. package/esm2015/lib/users/profile-details.service.js +0 -214
  209. package/esm2015/lib/users/profile.gql.js +0 -97
  210. package/esm2015/lib/users/profile.service.js +0 -169
  211. package/esm2015/lib/users/profile.types.js +0 -34
  212. package/esm2015/lib/users/user.gql.js +0 -60
  213. package/esm2015/lib/users/user.service.js +0 -79
  214. package/esm2015/lib/users/user.types.js +0 -1
  215. package/lib/api/contact-card2.gql.d.ts +0 -34
  216. package/lib/api/message.service.d.ts +0 -59
  217. /package/lib/{api → contact-card}/contact-card.gql.d.ts +0 -0
  218. /package/lib/{auth → idle}/idle.types.d.ts +0 -0
  219. /package/lib/{api → key-exchange}/key-exchange.gql.d.ts +0 -0
  220. /package/lib/scenario/{scenario.gql.private.d.ts → scenario.private.gql.d.ts} +0 -0
  221. /package/lib/{cryptography → slip39}/slip39.service.d.ts +0 -0
  222. /package/lib/{api → time}/time.service.d.ts +0 -0
  223. /package/lib/{trusted-parties/tp-assembly.gql.private.d.ts → tp-assembly/tp-assembly.private.gql.d.ts} +0 -0
  224. /package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.constants.d.ts +0 -0
  225. /package/lib/{trusted-parties → trusted-party}/trusted-party.gql.d.ts +0 -0
  226. /package/lib/{auth → two-factor}/two-factor.service.d.ts +0 -0
  227. /package/lib/{users → user}/user.service.d.ts +0 -0
  228. /package/lib/{cryptography → web-crypto}/web-crypto.service.d.ts +0 -0
@@ -0,0 +1,171 @@
1
+ import { gqlTyped } from '../_common/ast';
2
+ export const KeyExchangeFragment = gqlTyped `
3
+ fragment KeyExchangeFragment on KeyExchangeNode {
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
+ }
45
+ `;
46
+ export const UserSharedKeyFragment = gqlTyped `
47
+ fragment UserSharedKeyFragment on UserSharedKeyNode {
48
+ userSigPrk {
49
+ id
50
+ }
51
+ otherSigPbk {
52
+ id
53
+ }
54
+ sharedKey {
55
+ id
56
+ }
57
+ mkSharedKey {
58
+ id
59
+ }
60
+ }`;
61
+ export const KeyExchangesQuery2 = gqlTyped `
62
+ query KeyExchangesQuery2($state: String) {
63
+ keyExchanges(state: $state) {
64
+ edges {
65
+ node {
66
+ ...KeyExchangeFragment
67
+ }
68
+ }
69
+ }
70
+ }
71
+ ${KeyExchangeFragment}
72
+ `;
73
+ export const KeyExchangeQuery2 = gqlTyped `
74
+ query KeyExchangeQuery2($id: LrRelayIdInput!) {
75
+ keyExchange(id: $id) {
76
+ ...KeyExchangeFragment
77
+ }
78
+ }
79
+ ${KeyExchangeFragment}
80
+ `;
81
+ export const KeyExchangeTokenQuery2 = gqlTyped `
82
+ query KeyExchangeTokenQuery2($id: LrRelayIdInput!, $token: String) {
83
+ keyExchange(id: $id, token: $token) {
84
+ ...KeyExchangeFragment
85
+ }
86
+ }
87
+ ${KeyExchangeFragment}
88
+ `;
89
+ export const CancelKeyExchangeMutation = gqlTyped `
90
+ mutation CancelKeyExchangeMutation($input: CancelKeyExchangeInput!) {
91
+ cancelKeyExchange(input: $input) {
92
+ keyExchange {
93
+ id
94
+ }
95
+ }
96
+ }
97
+ `;
98
+ export const DeclineKeyExchangeMutation = gqlTyped `
99
+ mutation DeclineKeyExchangeMutation($input: DeclineKeyExchangeInput!) {
100
+ declineKeyExchange(input: $input) {
101
+ keyExchange {
102
+ id
103
+ }
104
+ }
105
+ }
106
+ `;
107
+ export const InitiateKeyExchangeOtkMutation = gqlTyped `
108
+ mutation InitiateKeyExchangeOtkMutation(
109
+ $input: InitiateKeyExchangeOtkInput!
110
+ ) {
111
+ initiateKeyExchangeOtk(input: $input) {
112
+ keyExchange {
113
+ ...KeyExchangeFragment
114
+ }
115
+ }
116
+ }
117
+ ${KeyExchangeFragment}
118
+ `;
119
+ export const RespondKeyExchangeOtkMutation = gqlTyped `
120
+ mutation RespondKeyExchangeOtkMutation($input: RespondKeyExchangeOtkInput!) {
121
+ respondKeyExchangeOtk(input: $input) {
122
+ keyExchange {
123
+ ...KeyExchangeFragment
124
+ }
125
+ userSharedKey {
126
+ ...UserSharedKeyFragment
127
+ }
128
+ tp {
129
+ id
130
+ }
131
+ }
132
+ }
133
+ ${KeyExchangeFragment}
134
+ ${UserSharedKeyFragment}
135
+ `;
136
+ export const CompleteKeyExchangeOtkMutation = gqlTyped `
137
+ mutation CompleteKeyExchangeOtkMutation(
138
+ $input: CompleteKeyExchangeOtkInput!
139
+ ) {
140
+ completeKeyExchangeOtk(input: $input) {
141
+ keyExchange {
142
+ ...KeyExchangeFragment
143
+ }
144
+ userSharedKey {
145
+ ...UserSharedKeyFragment
146
+ }
147
+ tp {
148
+ id
149
+ }
150
+ }
151
+ }
152
+ ${KeyExchangeFragment}
153
+ ${UserSharedKeyFragment}
154
+ `;
155
+ export const CurrentUserSharedKeyQuery2 = gqlTyped `
156
+ query CurrentUserSharedKeyQuery2(
157
+ $username: String
158
+ $userId: LrRelayIdInput
159
+ ) {
160
+ currentUserSharedKey(
161
+ username: $username
162
+ userId: $userId
163
+ ) {
164
+ userSharedKey {
165
+ ...UserSharedKeyFragment
166
+ }
167
+ }
168
+ }
169
+ ${UserSharedKeyFragment}
170
+ `;
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWV4Y2hhbmdlMi5ncWwuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2tleS1leGNoYW5nZS9rZXktZXhjaGFuZ2UyLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUF1RDFDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0EyQy9ELENBQUM7QUFnQkYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsUUFBUSxDQUF1Qjs7Ozs7Ozs7Ozs7Ozs7RUFjbEUsQ0FBQztBQUtILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBb0I7Ozs7Ozs7Ozs7RUFVNUQsbUJBQW1CO0NBQ3BCLENBQUM7QUFLRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQW1COzs7Ozs7RUFNMUQsbUJBQW1CO0NBQ3BCLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQXdCOzs7Ozs7RUFNcEUsbUJBQW1CO0NBQ3BCLENBQUM7QUFTRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxRQUFRLENBQTJCOzs7Ozs7OztDQVEzRSxDQUFDO0FBU0YsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsUUFBUSxDQUE0Qjs7Ozs7Ozs7Q0FRN0UsQ0FBQztBQU9GLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLFFBQVEsQ0FBZ0M7Ozs7Ozs7Ozs7RUFVcEYsbUJBQW1CO0NBQ3BCLENBQUM7QUFXRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxRQUFRLENBQStCOzs7Ozs7Ozs7Ozs7OztFQWNsRixtQkFBbUI7RUFDbkIscUJBQXFCO0NBQ3RCLENBQUM7QUFXRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxRQUFRLENBQWdDOzs7Ozs7Ozs7Ozs7Ozs7O0VBZ0JwRixtQkFBbUI7RUFDbkIscUJBQXFCO0NBQ3RCLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxRQUFRLENBQTRCOzs7Ozs7Ozs7Ozs7OztFQWM1RSxxQkFBcUI7Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpXSyB9IGZyb20gJ25vZGUtam9zZSc7XG5pbXBvcnQge1xuICBDb25uZWN0aW9uLFxuICBEYXRlVGltZSxcbiAgSUQsXG4gIEpTT05PYmplY3QsXG4gIExyRW1haWwsXG4gIE90S2V5Q2lwaGVyQ2xlYXJKc29uMixcbn0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IGdxbFR5cGVkIH0gZnJvbSAnLi4vX2NvbW1vbi9hc3QnO1xuXG5leHBvcnQgdHlwZSBLZXlFeGNoYW5nZVN0YXRlMiA9XG4gIHwgJ0lOX1BST0dSRVNTJ1xuICB8ICdDT01QTEVURUQnXG4gIHwgJ0RFQ0xJTkVEJ1xuICB8ICdDQU5DRUxMRUQnXG4gIHwgJ0RFTEVURUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleUV4Y2hhbmdlRnJhZ21lbnQge1xuICBpZDogSUQ7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHN0YXRlOiBLZXlFeGNoYW5nZVN0YXRlMjtcbiAgbW9kZTogJ09USyc7XG4gIGlzSW5pdGlhdG9yOiBib29sZWFuO1xuICBpbml0aWF0b3I6IHtcbiAgICBpZDogSUQ7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgcmVzcG9uZGVyOiB7XG4gICAgaWQ6IElEO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gIH07XG4gIGNyZWF0ZWQ6IERhdGVUaW1lO1xuICBtb2RpZmllZDogRGF0ZVRpbWU7XG4gIHRva2VuRXhwaXJ5VGltZTogRGF0ZVRpbWU7XG4gIGlzRXhwaXJlZDogYm9vbGVhbjtcbiAgaW5pdGlhdG9yUm9vdEtleUNpcGhlcjogc3RyaW5nO1xuICBpbml0aWF0b3JSb290S2V5Q2lwaGVyQ2xlYXJKc29uOiBKU09OT2JqZWN0O1xuICBpbml0aWF0b3JBY3Rpb25SZXF1aXJlZDogYm9vbGVhbjtcbiAgcmVzcG9uZGVyQWN0aW9uUmVxdWlyZWQ6IGJvb2xlYW47XG4gIHJlc3BvbmRlckVtYWlsQWRkcmVzczogTHJFbWFpbDtcbiAgb3RrOiB7XG4gICAgc3RhdGU6ICdPVEtfSU5JVElBVEVEJyB8ICdPVEtfQUNDRVBURUQnIHwgJ09US19DT01QTEVURUQnO1xuICAgIG90S2V5UGFyYW1zOiBzdHJpbmc7XG4gICAgb3RLZXlDaXBoZXI6IHN0cmluZztcbiAgICBvdEtleT86IEpXSy5LZXk7XG4gICAgb3RLZXlDaXBoZXJDbGVhckpzb24/OiBPdEtleUNpcGhlckNsZWFySnNvbjI7XG4gICAgc2hhcmVkS2V5OiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgICBta1NoYXJlZEtleToge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gICAgaW5pdGlhdG9yU2lnUHhrOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgICByZXNwb25kZXJTaWdQeGs6IHtcbiAgICAgIGlkOiBJRDtcbiAgICB9O1xuICAgIGluaXRpYXRvck9uZVRpbWVQYmtDaXBoZXI6IHN0cmluZztcbiAgICBpbml0aWF0b3JPbmVUaW1lUGJrQ2lwaGVyQ2xlYXJKc29uOiBKU09OT2JqZWN0O1xuICAgIHJlc3BvbmRlclBia0NpcGhlcjogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IEtleUV4Y2hhbmdlRnJhZ21lbnQgPSBncWxUeXBlZDxLZXlFeGNoYW5nZUZyYWdtZW50PmBcbmZyYWdtZW50IEtleUV4Y2hhbmdlRnJhZ21lbnQgb24gS2V5RXhjaGFuZ2VOb2RlIHtcbiAgaWRcbiAgdG9rZW5cbiAgc3RhdGVcbiAgbW9kZVxuICBpc0luaXRpYXRvclxuICBpbml0aWF0b3Ige1xuICAgIGlkXG4gICAgdXNlcm5hbWVcbiAgfVxuICByZXNwb25kZXIge1xuICAgIGlkXG4gICAgdXNlcm5hbWVcbiAgfVxuICBjcmVhdGVkXG4gIG1vZGlmaWVkXG4gIHRva2VuRXhwaXJ5VGltZVxuICBpc0V4cGlyZWRcbiAgaW5pdGlhdG9yUm9vdEtleUNpcGhlclxuICBpbml0aWF0b3JBY3Rpb25SZXF1aXJlZFxuICByZXNwb25kZXJBY3Rpb25SZXF1aXJlZFxuICByZXNwb25kZXJFbWFpbEFkZHJlc3NcbiAgb3RrIHtcbiAgICBzdGF0ZVxuICAgIG90S2V5UGFyYW1zXG4gICAgb3RLZXlDaXBoZXJcbiAgICBzaGFyZWRLZXkge1xuICAgICAgaWRcbiAgICB9XG4gICAgbWtTaGFyZWRLZXkge1xuICAgICAgaWRcbiAgICB9XG4gICAgaW5pdGlhdG9yU2lnUHhrIHtcbiAgICAgIGlkXG4gICAgfVxuICAgIHJlc3BvbmRlclNpZ1B4ayB7XG4gICAgICBpZFxuICAgIH1cbiAgICBpbml0aWF0b3JPbmVUaW1lUGJrQ2lwaGVyXG4gICAgcmVzcG9uZGVyUGJrQ2lwaGVyXG4gIH1cbn1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclNoYXJlZEtleUZyYWdtZW50IHtcbiAgdXNlclNpZ1Byazoge1xuICAgIGlkOiBJRDtcbiAgfTtcbiAgb3RoZXJTaWdQYms6IHtcbiAgICBpZDogSUQ7XG4gIH07XG4gIHNoYXJlZEtleToge1xuICAgIGlkOiBJRDtcbiAgfTtcbiAgbWtTaGFyZWRLZXk6IHtcbiAgICBpZDogSUQ7XG4gIH07XG59XG5leHBvcnQgY29uc3QgVXNlclNoYXJlZEtleUZyYWdtZW50ID0gZ3FsVHlwZWQ8VXNlclNoYXJlZEtleUZyYWdtZW50PmBcbmZyYWdtZW50IFVzZXJTaGFyZWRLZXlGcmFnbWVudCBvbiBVc2VyU2hhcmVkS2V5Tm9kZSB7XG4gIHVzZXJTaWdQcmsge1xuICAgIGlkXG4gIH1cbiAgb3RoZXJTaWdQYmsge1xuICAgIGlkXG4gIH1cbiAgc2hhcmVkS2V5IHtcbiAgICBpZFxuICB9XG4gIG1rU2hhcmVkS2V5IHtcbiAgICBpZFxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBLZXlFeGNoYW5nZXNRdWVyeTIge1xuICBrZXlFeGNoYW5nZXM6IENvbm5lY3Rpb248S2V5RXhjaGFuZ2VGcmFnbWVudD47XG59XG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VzUXVlcnkyID0gZ3FsVHlwZWQ8S2V5RXhjaGFuZ2VzUXVlcnkyPmBcbnF1ZXJ5IEtleUV4Y2hhbmdlc1F1ZXJ5Migkc3RhdGU6IFN0cmluZykge1xuICBrZXlFeGNoYW5nZXMoc3RhdGU6ICRzdGF0ZSkge1xuICAgIGVkZ2VzIHtcbiAgICAgIG5vZGUge1xuICAgICAgICAuLi5LZXlFeGNoYW5nZUZyYWdtZW50XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ke0tleUV4Y2hhbmdlRnJhZ21lbnR9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleUV4Y2hhbmdlUXVlcnkyIHtcbiAga2V5RXhjaGFuZ2U6IEtleUV4Y2hhbmdlRnJhZ21lbnQ7XG59XG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VRdWVyeTIgPSBncWxUeXBlZDxLZXlFeGNoYW5nZVF1ZXJ5Mj5gXG5xdWVyeSBLZXlFeGNoYW5nZVF1ZXJ5MigkaWQ6IExyUmVsYXlJZElucHV0ISkge1xuICBrZXlFeGNoYW5nZShpZDogJGlkKSB7XG4gICAgLi4uS2V5RXhjaGFuZ2VGcmFnbWVudFxuICB9XG59XG4ke0tleUV4Y2hhbmdlRnJhZ21lbnR9XG5gO1xuXG4vLyBLZXkgZ3JhcGggaXMgb25seSBhdmFpbGFibGUgZm9yIGF1dGhlbnRpY2F0ZWQgdXNlcnMuIFRoaXMgcXVlcnlcbi8vIGlzIGZvciB1bmF1dGhlbnRpY2F0ZWQgdXNlcnMuXG5leHBvcnQgaW50ZXJmYWNlIEtleUV4Y2hhbmdlVG9rZW5RdWVyeTIge1xuICBrZXlFeGNoYW5nZTogS2V5RXhjaGFuZ2VGcmFnbWVudDtcbn1cbmV4cG9ydCBjb25zdCBLZXlFeGNoYW5nZVRva2VuUXVlcnkyID0gZ3FsVHlwZWQ8S2V5RXhjaGFuZ2VUb2tlblF1ZXJ5Mj5gXG5xdWVyeSBLZXlFeGNoYW5nZVRva2VuUXVlcnkyKCRpZDogTHJSZWxheUlkSW5wdXQhLCAkdG9rZW46IFN0cmluZykge1xuICBrZXlFeGNoYW5nZShpZDogJGlkLCB0b2tlbjogJHRva2VuKSB7XG4gICAgLi4uS2V5RXhjaGFuZ2VGcmFnbWVudFxuICB9XG59XG4ke0tleUV4Y2hhbmdlRnJhZ21lbnR9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbmNlbEtleUV4Y2hhbmdlTXV0YXRpb24ge1xuICBjYW5jZWxLZXlFeGNoYW5nZToge1xuICAgIGtleUV4Y2hhbmdlOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBDYW5jZWxLZXlFeGNoYW5nZU11dGF0aW9uID0gZ3FsVHlwZWQ8Q2FuY2VsS2V5RXhjaGFuZ2VNdXRhdGlvbj5gXG5tdXRhdGlvbiBDYW5jZWxLZXlFeGNoYW5nZU11dGF0aW9uKCRpbnB1dDogQ2FuY2VsS2V5RXhjaGFuZ2VJbnB1dCEpIHtcbiAgY2FuY2VsS2V5RXhjaGFuZ2UoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGtleUV4Y2hhbmdlIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlY2xpbmVLZXlFeGNoYW5nZU11dGF0aW9uIHtcbiAgZGVjbGluZUtleUV4Y2hhbmdlOiB7XG4gICAga2V5RXhjaGFuZ2U6IHtcbiAgICAgIGlkOiBJRDtcbiAgICB9O1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IERlY2xpbmVLZXlFeGNoYW5nZU11dGF0aW9uID0gZ3FsVHlwZWQ8RGVjbGluZUtleUV4Y2hhbmdlTXV0YXRpb24+YFxubXV0YXRpb24gRGVjbGluZUtleUV4Y2hhbmdlTXV0YXRpb24oJGlucHV0OiBEZWNsaW5lS2V5RXhjaGFuZ2VJbnB1dCEpIHtcbiAgZGVjbGluZUtleUV4Y2hhbmdlKGlucHV0OiAkaW5wdXQpIHtcbiAgICBrZXlFeGNoYW5nZSB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxufVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWF0ZUtleUV4Y2hhbmdlT3RrTXV0YXRpb24ge1xuICBpbml0aWF0ZUtleUV4Y2hhbmdlT3RrOiB7XG4gICAga2V5RXhjaGFuZ2U6IEtleUV4Y2hhbmdlRnJhZ21lbnQ7XG4gIH07XG59XG5leHBvcnQgY29uc3QgSW5pdGlhdGVLZXlFeGNoYW5nZU90a011dGF0aW9uID0gZ3FsVHlwZWQ8SW5pdGlhdGVLZXlFeGNoYW5nZU90a011dGF0aW9uPmBcbm11dGF0aW9uIEluaXRpYXRlS2V5RXhjaGFuZ2VPdGtNdXRhdGlvbihcbiAgJGlucHV0OiBJbml0aWF0ZUtleUV4Y2hhbmdlT3RrSW5wdXQhXG4pIHtcbiAgaW5pdGlhdGVLZXlFeGNoYW5nZU90ayhpbnB1dDogJGlucHV0KSB7XG4gICAga2V5RXhjaGFuZ2Uge1xuICAgICAgLi4uS2V5RXhjaGFuZ2VGcmFnbWVudFxuICAgIH1cbiAgfVxufVxuJHtLZXlFeGNoYW5nZUZyYWdtZW50fVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25kS2V5RXhjaGFuZ2VPdGtNdXRhdGlvbiB7XG4gIHJlc3BvbmRLZXlFeGNoYW5nZU90azoge1xuICAgIGtleUV4Y2hhbmdlOiBLZXlFeGNoYW5nZUZyYWdtZW50O1xuICAgIHVzZXJTaGFyZWRLZXk6IFVzZXJTaGFyZWRLZXlGcmFnbWVudDtcbiAgICB0cDoge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgUmVzcG9uZEtleUV4Y2hhbmdlT3RrTXV0YXRpb24gPSBncWxUeXBlZDxSZXNwb25kS2V5RXhjaGFuZ2VPdGtNdXRhdGlvbj5gXG5tdXRhdGlvbiBSZXNwb25kS2V5RXhjaGFuZ2VPdGtNdXRhdGlvbigkaW5wdXQ6IFJlc3BvbmRLZXlFeGNoYW5nZU90a0lucHV0ISkge1xuICByZXNwb25kS2V5RXhjaGFuZ2VPdGsoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGtleUV4Y2hhbmdlIHtcbiAgICAgIC4uLktleUV4Y2hhbmdlRnJhZ21lbnRcbiAgICB9XG4gICAgdXNlclNoYXJlZEtleSB7XG4gICAgICAuLi5Vc2VyU2hhcmVkS2V5RnJhZ21lbnRcbiAgICB9XG4gICAgdHAge1xuICAgICAgaWRcbiAgICB9XG4gIH1cbn1cbiR7S2V5RXhjaGFuZ2VGcmFnbWVudH1cbiR7VXNlclNoYXJlZEtleUZyYWdtZW50fVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBDb21wbGV0ZUtleUV4Y2hhbmdlT3RrTXV0YXRpb24ge1xuICBjb21wbGV0ZUtleUV4Y2hhbmdlT3RrOiB7XG4gICAga2V5RXhjaGFuZ2U6IEtleUV4Y2hhbmdlRnJhZ21lbnQ7XG4gICAgdXNlclNoYXJlZEtleTogVXNlclNoYXJlZEtleUZyYWdtZW50O1xuICAgIHRwOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBDb21wbGV0ZUtleUV4Y2hhbmdlT3RrTXV0YXRpb24gPSBncWxUeXBlZDxDb21wbGV0ZUtleUV4Y2hhbmdlT3RrTXV0YXRpb24+YFxubXV0YXRpb24gQ29tcGxldGVLZXlFeGNoYW5nZU90a011dGF0aW9uKFxuICAkaW5wdXQ6IENvbXBsZXRlS2V5RXhjaGFuZ2VPdGtJbnB1dCFcbikge1xuICBjb21wbGV0ZUtleUV4Y2hhbmdlT3RrKGlucHV0OiAkaW5wdXQpIHtcbiAgICBrZXlFeGNoYW5nZSB7XG4gICAgICAuLi5LZXlFeGNoYW5nZUZyYWdtZW50XG4gICAgfVxuICAgIHVzZXJTaGFyZWRLZXkge1xuICAgICAgLi4uVXNlclNoYXJlZEtleUZyYWdtZW50XG4gICAgfVxuICAgIHRwIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59XG4ke0tleUV4Y2hhbmdlRnJhZ21lbnR9XG4ke1VzZXJTaGFyZWRLZXlGcmFnbWVudH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVudFVzZXJTaGFyZWRLZXlRdWVyeTIge1xuICBjdXJyZW50VXNlclNoYXJlZEtleToge1xuICAgIHVzZXJTaGFyZWRLZXk6IFVzZXJTaGFyZWRLZXlGcmFnbWVudDtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5MiA9IGdxbFR5cGVkPEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkyPmBcbnF1ZXJ5IEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkyKFxuICAkdXNlcm5hbWU6IFN0cmluZ1xuICAkdXNlcklkOiBMclJlbGF5SWRJbnB1dFxuKSB7XG4gIGN1cnJlbnRVc2VyU2hhcmVkS2V5KFxuICAgIHVzZXJuYW1lOiAkdXNlcm5hbWVcbiAgICB1c2VySWQ6ICR1c2VySWRcbiAgKSB7XG4gICAgdXNlclNoYXJlZEtleSB7XG4gICAgICAuLi5Vc2VyU2hhcmVkS2V5RnJhZ21lbnRcbiAgICB9XG4gIH1cbn1cbiR7VXNlclNoYXJlZEtleUZyYWdtZW50fVxuYDtcbiJdfQ==