@opentdf/sdk 0.8.0-beta.74 → 0.8.0-rc.73

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 (260) hide show
  1. package/README.md +30 -5
  2. package/dist/cjs/src/nanoclients.js +292 -0
  3. package/dist/cjs/src/nanoindex.js +47 -0
  4. package/dist/cjs/src/nanotdf/Client.js +315 -0
  5. package/dist/cjs/src/nanotdf/NanoTDF.js +94 -0
  6. package/dist/cjs/src/nanotdf/browser-entry.js +19 -0
  7. package/dist/cjs/src/nanotdf/constants.js +5 -0
  8. package/dist/cjs/src/nanotdf/decrypt.js +17 -0
  9. package/dist/cjs/src/nanotdf/encrypt-dataset.js +38 -0
  10. package/dist/cjs/src/nanotdf/encrypt.js +132 -0
  11. package/dist/cjs/src/nanotdf/enum/CipherEnum.js +13 -0
  12. package/dist/cjs/src/nanotdf/enum/CurveNameEnum.js +15 -0
  13. package/dist/cjs/src/nanotdf/enum/EncodingEnum.js +8 -0
  14. package/dist/cjs/src/nanotdf/enum/PolicyTypeEnum.js +11 -0
  15. package/dist/cjs/src/nanotdf/enum/ProtocolEnum.js +10 -0
  16. package/dist/cjs/src/nanotdf/enum/ResourceLocatorIdentifierEnum.js +11 -0
  17. package/dist/cjs/src/nanotdf/helpers/calculateByCurve.js +28 -0
  18. package/dist/cjs/src/nanotdf/helpers/getHkdfSalt.js +11 -0
  19. package/dist/cjs/src/nanotdf/index.js +25 -0
  20. package/dist/cjs/src/nanotdf/interfaces/PolicyInterface.js +3 -0
  21. package/dist/cjs/src/nanotdf/models/Ciphers.js +61 -0
  22. package/dist/cjs/src/nanotdf/models/DefaultParams.js +27 -0
  23. package/dist/cjs/src/nanotdf/models/EcCurves.js +39 -0
  24. package/dist/cjs/src/nanotdf/models/Header.js +255 -0
  25. package/dist/cjs/src/nanotdf/models/Payload.js +158 -0
  26. package/dist/cjs/src/nanotdf/models/Policy/AbstractPolicy.js +73 -0
  27. package/dist/cjs/src/nanotdf/models/Policy/EmbeddedPolicy.js +82 -0
  28. package/dist/cjs/src/nanotdf/models/Policy/PolicyFactory.js +38 -0
  29. package/dist/cjs/src/nanotdf/models/Policy/RemotePolicy.js +62 -0
  30. package/dist/cjs/src/nanotdf/models/ResourceLocator.js +211 -0
  31. package/dist/cjs/src/nanotdf/models/Signature.js +77 -0
  32. package/dist/cjs/src/{crypto → nanotdf-crypto}/ciphers.js +1 -1
  33. package/dist/cjs/src/{crypto → nanotdf-crypto}/decrypt.js +1 -1
  34. package/dist/cjs/src/{crypto → nanotdf-crypto}/digest.js +1 -1
  35. package/dist/cjs/src/{crypto → nanotdf-crypto}/ecdsaSignature.js +2 -2
  36. package/dist/cjs/src/{crypto → nanotdf-crypto}/encrypt.js +1 -1
  37. package/dist/cjs/src/{crypto → nanotdf-crypto}/enums.js +1 -1
  38. package/dist/cjs/src/nanotdf-crypto/exportCryptoKey.js +20 -0
  39. package/dist/cjs/src/{crypto → nanotdf-crypto}/generateKeyPair.js +1 -1
  40. package/dist/cjs/src/{crypto → nanotdf-crypto}/generateRandomNumber.js +1 -1
  41. package/dist/cjs/src/{crypto → nanotdf-crypto}/index.js +1 -1
  42. package/dist/cjs/src/{crypto → nanotdf-crypto}/keyAgreement.js +1 -1
  43. package/dist/cjs/src/{crypto → nanotdf-crypto}/pemPublicToCrypto.js +1 -1
  44. package/dist/cjs/src/opentdf.js +260 -9
  45. package/dist/cjs/src/tdf/NanoTDF/NanoTDF.js +38 -0
  46. package/dist/cjs/src/types/index.js +3 -0
  47. package/dist/cjs/src/utils.js +2 -2
  48. package/dist/cjs/tdf3/index.js +8 -7
  49. package/dist/cjs/tdf3/src/models/key-access.js +4 -4
  50. package/dist/cjs/tdf3/src/tdf.js +4 -4
  51. package/dist/types/src/nanoclients.d.ts +106 -0
  52. package/dist/types/src/nanoclients.d.ts.map +1 -0
  53. package/dist/types/src/nanoindex.d.ts +5 -0
  54. package/dist/types/src/nanoindex.d.ts.map +1 -0
  55. package/dist/types/src/nanotdf/Client.d.ts +91 -0
  56. package/dist/types/src/nanotdf/Client.d.ts.map +1 -0
  57. package/dist/types/src/nanotdf/NanoTDF.d.ts +24 -0
  58. package/dist/types/src/nanotdf/NanoTDF.d.ts.map +1 -0
  59. package/dist/types/src/nanotdf/browser-entry.d.ts +17 -0
  60. package/dist/types/src/nanotdf/browser-entry.d.ts.map +1 -0
  61. package/dist/types/src/nanotdf/constants.d.ts +2 -0
  62. package/dist/types/src/nanotdf/constants.d.ts.map +1 -0
  63. package/dist/types/src/nanotdf/decrypt.d.ts +9 -0
  64. package/dist/types/src/nanotdf/decrypt.d.ts.map +1 -0
  65. package/dist/types/src/nanotdf/encrypt-dataset.d.ts +11 -0
  66. package/dist/types/src/nanotdf/encrypt-dataset.d.ts.map +1 -0
  67. package/dist/types/src/nanotdf/encrypt.d.ts +13 -0
  68. package/dist/types/src/nanotdf/encrypt.d.ts.map +1 -0
  69. package/dist/types/src/nanotdf/enum/CipherEnum.d.ts +10 -0
  70. package/dist/types/src/nanotdf/enum/CipherEnum.d.ts.map +1 -0
  71. package/dist/types/src/nanotdf/enum/CurveNameEnum.d.ts +12 -0
  72. package/dist/types/src/nanotdf/enum/CurveNameEnum.d.ts.map +1 -0
  73. package/dist/types/src/nanotdf/enum/EncodingEnum.d.ts +5 -0
  74. package/dist/types/src/nanotdf/enum/EncodingEnum.d.ts.map +1 -0
  75. package/dist/types/src/nanotdf/enum/PolicyTypeEnum.d.ts +8 -0
  76. package/dist/types/src/nanotdf/enum/PolicyTypeEnum.d.ts.map +1 -0
  77. package/dist/types/src/nanotdf/enum/ProtocolEnum.d.ts +7 -0
  78. package/dist/types/src/nanotdf/enum/ProtocolEnum.d.ts.map +1 -0
  79. package/dist/types/src/nanotdf/enum/ResourceLocatorIdentifierEnum.d.ts +8 -0
  80. package/dist/types/src/nanotdf/enum/ResourceLocatorIdentifierEnum.d.ts.map +1 -0
  81. package/dist/types/src/nanotdf/helpers/calculateByCurve.d.ts +20 -0
  82. package/dist/types/src/nanotdf/helpers/calculateByCurve.d.ts.map +1 -0
  83. package/dist/types/src/nanotdf/helpers/getHkdfSalt.d.ts +8 -0
  84. package/dist/types/src/nanotdf/helpers/getHkdfSalt.d.ts.map +1 -0
  85. package/dist/types/src/nanotdf/index.d.ts +9 -0
  86. package/dist/types/src/nanotdf/index.d.ts.map +1 -0
  87. package/dist/types/src/nanotdf/interfaces/PolicyInterface.d.ts +17 -0
  88. package/dist/types/src/nanotdf/interfaces/PolicyInterface.d.ts.map +1 -0
  89. package/dist/types/src/nanotdf/models/Ciphers.d.ts +14 -0
  90. package/dist/types/src/nanotdf/models/Ciphers.d.ts.map +1 -0
  91. package/dist/types/src/nanotdf/models/DefaultParams.d.ts +21 -0
  92. package/dist/types/src/nanotdf/models/DefaultParams.d.ts.map +1 -0
  93. package/dist/types/src/nanotdf/models/EcCurves.d.ts +15 -0
  94. package/dist/types/src/nanotdf/models/EcCurves.d.ts.map +1 -0
  95. package/dist/types/src/nanotdf/models/Header.d.ts +73 -0
  96. package/dist/types/src/nanotdf/models/Header.d.ts.map +1 -0
  97. package/dist/types/src/nanotdf/models/Payload.d.ts +47 -0
  98. package/dist/types/src/nanotdf/models/Payload.d.ts.map +1 -0
  99. package/dist/types/src/nanotdf/models/Policy/AbstractPolicy.d.ts +52 -0
  100. package/dist/types/src/nanotdf/models/Policy/AbstractPolicy.d.ts.map +1 -0
  101. package/dist/types/src/nanotdf/models/Policy/EmbeddedPolicy.d.ts +35 -0
  102. package/dist/types/src/nanotdf/models/Policy/EmbeddedPolicy.d.ts.map +1 -0
  103. package/dist/types/src/nanotdf/models/Policy/PolicyFactory.d.ts +11 -0
  104. package/dist/types/src/nanotdf/models/Policy/PolicyFactory.d.ts.map +1 -0
  105. package/dist/types/src/nanotdf/models/Policy/RemotePolicy.d.ts +31 -0
  106. package/dist/types/src/nanotdf/models/Policy/RemotePolicy.d.ts.map +1 -0
  107. package/dist/types/src/nanotdf/models/ResourceLocator.d.ts +65 -0
  108. package/dist/types/src/nanotdf/models/ResourceLocator.d.ts.map +1 -0
  109. package/dist/types/src/nanotdf/models/Signature.d.ts +33 -0
  110. package/dist/types/src/nanotdf/models/Signature.d.ts.map +1 -0
  111. package/dist/types/src/nanotdf-crypto/ciphers.d.ts.map +1 -0
  112. package/dist/types/src/nanotdf-crypto/decrypt.d.ts.map +1 -0
  113. package/dist/types/src/nanotdf-crypto/digest.d.ts.map +1 -0
  114. package/dist/types/src/nanotdf-crypto/ecdsaSignature.d.ts.map +1 -0
  115. package/dist/types/src/nanotdf-crypto/encrypt.d.ts.map +1 -0
  116. package/dist/types/src/nanotdf-crypto/enums.d.ts.map +1 -0
  117. package/dist/types/src/nanotdf-crypto/exportCryptoKey.d.ts.map +1 -0
  118. package/dist/types/src/nanotdf-crypto/generateKeyPair.d.ts.map +1 -0
  119. package/dist/types/src/nanotdf-crypto/generateRandomNumber.d.ts.map +1 -0
  120. package/dist/types/src/nanotdf-crypto/index.d.ts.map +1 -0
  121. package/dist/types/src/nanotdf-crypto/keyAgreement.d.ts.map +1 -0
  122. package/dist/types/src/nanotdf-crypto/pemPublicToCrypto.d.ts.map +1 -0
  123. package/dist/types/src/opentdf.d.ts +65 -1
  124. package/dist/types/src/opentdf.d.ts.map +1 -1
  125. package/dist/types/src/tdf/NanoTDF/NanoTDF.d.ts +99 -0
  126. package/dist/types/src/tdf/NanoTDF/NanoTDF.d.ts.map +1 -0
  127. package/dist/types/src/types/index.d.ts +45 -0
  128. package/dist/types/src/types/index.d.ts.map +1 -0
  129. package/dist/types/tdf3/index.d.ts +3 -4
  130. package/dist/types/tdf3/index.d.ts.map +1 -1
  131. package/dist/web/src/nanoclients.js +287 -0
  132. package/dist/web/src/nanoindex.js +5 -0
  133. package/dist/web/src/nanotdf/Client.js +310 -0
  134. package/dist/web/src/nanotdf/NanoTDF.js +89 -0
  135. package/dist/web/src/nanotdf/browser-entry.js +14 -0
  136. package/dist/web/src/nanotdf/constants.js +2 -0
  137. package/dist/web/src/nanotdf/decrypt.js +14 -0
  138. package/dist/web/src/nanotdf/encrypt-dataset.js +32 -0
  139. package/dist/web/src/nanotdf/encrypt.js +126 -0
  140. package/dist/web/src/nanotdf/enum/CipherEnum.js +11 -0
  141. package/dist/web/src/nanotdf/enum/CurveNameEnum.js +13 -0
  142. package/dist/web/src/nanotdf/enum/EncodingEnum.js +6 -0
  143. package/dist/web/src/nanotdf/enum/PolicyTypeEnum.js +9 -0
  144. package/dist/web/src/nanotdf/enum/ProtocolEnum.js +8 -0
  145. package/dist/web/src/nanotdf/enum/ResourceLocatorIdentifierEnum.js +9 -0
  146. package/dist/web/src/nanotdf/helpers/calculateByCurve.js +24 -0
  147. package/dist/web/src/nanotdf/helpers/getHkdfSalt.js +8 -0
  148. package/dist/web/src/nanotdf/index.js +11 -0
  149. package/dist/web/src/nanotdf/interfaces/PolicyInterface.js +2 -0
  150. package/dist/web/src/nanotdf/models/Ciphers.js +54 -0
  151. package/dist/web/src/nanotdf/models/DefaultParams.js +22 -0
  152. package/dist/web/src/nanotdf/models/EcCurves.js +32 -0
  153. package/dist/web/src/nanotdf/models/Header.js +250 -0
  154. package/dist/web/src/nanotdf/models/Payload.js +156 -0
  155. package/dist/web/src/nanotdf/models/Policy/AbstractPolicy.js +71 -0
  156. package/dist/web/src/nanotdf/models/Policy/EmbeddedPolicy.js +77 -0
  157. package/dist/web/src/nanotdf/models/Policy/PolicyFactory.js +33 -0
  158. package/dist/web/src/nanotdf/models/Policy/RemotePolicy.js +57 -0
  159. package/dist/web/src/nanotdf/models/ResourceLocator.js +206 -0
  160. package/dist/web/src/nanotdf/models/Signature.js +74 -0
  161. package/dist/web/src/nanotdf-crypto/ciphers.js +14 -0
  162. package/dist/web/src/{crypto → nanotdf-crypto}/decrypt.js +1 -1
  163. package/dist/web/src/nanotdf-crypto/digest.js +4 -0
  164. package/dist/web/src/{crypto → nanotdf-crypto}/ecdsaSignature.js +2 -2
  165. package/dist/web/src/{crypto → nanotdf-crypto}/encrypt.js +1 -1
  166. package/dist/web/src/{crypto → nanotdf-crypto}/enums.js +1 -1
  167. package/dist/web/src/nanotdf-crypto/exportCryptoKey.js +17 -0
  168. package/dist/web/src/nanotdf-crypto/generateKeyPair.js +10 -0
  169. package/dist/web/src/nanotdf-crypto/generateRandomNumber.js +9 -0
  170. package/dist/web/src/nanotdf-crypto/index.js +11 -0
  171. package/dist/web/src/{crypto → nanotdf-crypto}/keyAgreement.js +1 -1
  172. package/dist/web/src/{crypto → nanotdf-crypto}/pemPublicToCrypto.js +1 -1
  173. package/dist/web/src/opentdf.js +255 -8
  174. package/dist/web/src/tdf/NanoTDF/NanoTDF.js +35 -0
  175. package/dist/web/src/types/index.js +2 -0
  176. package/dist/web/src/utils.js +2 -2
  177. package/dist/web/tdf3/index.js +3 -4
  178. package/dist/web/tdf3/src/models/key-access.js +4 -4
  179. package/dist/web/tdf3/src/tdf.js +4 -4
  180. package/package.json +6 -1
  181. package/src/nanoclients.ts +406 -0
  182. package/src/nanoindex.ts +4 -0
  183. package/src/nanotdf/Client.ts +425 -0
  184. package/src/nanotdf/NanoTDF.ts +120 -0
  185. package/src/nanotdf/browser-entry.ts +20 -0
  186. package/src/nanotdf/constants.ts +1 -0
  187. package/src/nanotdf/decrypt.ts +19 -0
  188. package/src/nanotdf/encrypt-dataset.ts +51 -0
  189. package/src/nanotdf/encrypt.ts +196 -0
  190. package/src/nanotdf/enum/CipherEnum.ts +10 -0
  191. package/src/nanotdf/enum/CurveNameEnum.ts +12 -0
  192. package/src/nanotdf/enum/EncodingEnum.ts +5 -0
  193. package/src/nanotdf/enum/PolicyTypeEnum.ts +8 -0
  194. package/src/nanotdf/enum/ProtocolEnum.ts +7 -0
  195. package/src/nanotdf/enum/ResourceLocatorIdentifierEnum.ts +8 -0
  196. package/src/nanotdf/helpers/calculateByCurve.ts +26 -0
  197. package/src/nanotdf/helpers/getHkdfSalt.ts +13 -0
  198. package/src/nanotdf/index.ts +10 -0
  199. package/src/nanotdf/interfaces/PolicyInterface.ts +27 -0
  200. package/src/nanotdf/models/Ciphers.ts +67 -0
  201. package/src/nanotdf/models/DefaultParams.ts +24 -0
  202. package/src/nanotdf/models/EcCurves.ts +40 -0
  203. package/src/nanotdf/models/Header.ts +322 -0
  204. package/src/nanotdf/models/Payload.ts +196 -0
  205. package/src/nanotdf/models/Policy/AbstractPolicy.ts +90 -0
  206. package/src/nanotdf/models/Policy/EmbeddedPolicy.ts +101 -0
  207. package/src/nanotdf/models/Policy/PolicyFactory.ts +48 -0
  208. package/src/nanotdf/models/Policy/RemotePolicy.ts +74 -0
  209. package/src/nanotdf/models/ResourceLocator.ts +212 -0
  210. package/src/nanotdf/models/Signature.ts +85 -0
  211. package/src/{crypto → nanotdf-crypto}/ecdsaSignature.ts +1 -1
  212. package/src/opentdf.ts +343 -6
  213. package/src/tdf/NanoTDF/NanoTDF.ts +120 -0
  214. package/src/types/index.ts +55 -0
  215. package/src/utils.ts +1 -1
  216. package/tdf3/index.ts +12 -2
  217. package/tdf3/src/models/key-access.ts +3 -3
  218. package/tdf3/src/tdf.ts +3 -3
  219. package/dist/cjs/src/crypto/exportCryptoKey.js +0 -20
  220. package/dist/types/src/crypto/ciphers.d.ts.map +0 -1
  221. package/dist/types/src/crypto/decrypt.d.ts.map +0 -1
  222. package/dist/types/src/crypto/digest.d.ts.map +0 -1
  223. package/dist/types/src/crypto/ecdsaSignature.d.ts.map +0 -1
  224. package/dist/types/src/crypto/encrypt.d.ts.map +0 -1
  225. package/dist/types/src/crypto/enums.d.ts.map +0 -1
  226. package/dist/types/src/crypto/exportCryptoKey.d.ts.map +0 -1
  227. package/dist/types/src/crypto/generateKeyPair.d.ts.map +0 -1
  228. package/dist/types/src/crypto/generateRandomNumber.d.ts.map +0 -1
  229. package/dist/types/src/crypto/index.d.ts.map +0 -1
  230. package/dist/types/src/crypto/keyAgreement.d.ts.map +0 -1
  231. package/dist/types/src/crypto/pemPublicToCrypto.d.ts.map +0 -1
  232. package/dist/web/src/crypto/ciphers.js +0 -14
  233. package/dist/web/src/crypto/digest.js +0 -4
  234. package/dist/web/src/crypto/exportCryptoKey.js +0 -17
  235. package/dist/web/src/crypto/generateKeyPair.js +0 -10
  236. package/dist/web/src/crypto/generateRandomNumber.js +0 -9
  237. package/dist/web/src/crypto/index.js +0 -11
  238. /package/dist/types/src/{crypto → nanotdf-crypto}/ciphers.d.ts +0 -0
  239. /package/dist/types/src/{crypto → nanotdf-crypto}/decrypt.d.ts +0 -0
  240. /package/dist/types/src/{crypto → nanotdf-crypto}/digest.d.ts +0 -0
  241. /package/dist/types/src/{crypto → nanotdf-crypto}/ecdsaSignature.d.ts +0 -0
  242. /package/dist/types/src/{crypto → nanotdf-crypto}/encrypt.d.ts +0 -0
  243. /package/dist/types/src/{crypto → nanotdf-crypto}/enums.d.ts +0 -0
  244. /package/dist/types/src/{crypto → nanotdf-crypto}/exportCryptoKey.d.ts +0 -0
  245. /package/dist/types/src/{crypto → nanotdf-crypto}/generateKeyPair.d.ts +0 -0
  246. /package/dist/types/src/{crypto → nanotdf-crypto}/generateRandomNumber.d.ts +0 -0
  247. /package/dist/types/src/{crypto → nanotdf-crypto}/index.d.ts +0 -0
  248. /package/dist/types/src/{crypto → nanotdf-crypto}/keyAgreement.d.ts +0 -0
  249. /package/dist/types/src/{crypto → nanotdf-crypto}/pemPublicToCrypto.d.ts +0 -0
  250. /package/src/{crypto → nanotdf-crypto}/ciphers.ts +0 -0
  251. /package/src/{crypto → nanotdf-crypto}/decrypt.ts +0 -0
  252. /package/src/{crypto → nanotdf-crypto}/digest.ts +0 -0
  253. /package/src/{crypto → nanotdf-crypto}/encrypt.ts +0 -0
  254. /package/src/{crypto → nanotdf-crypto}/enums.ts +0 -0
  255. /package/src/{crypto → nanotdf-crypto}/exportCryptoKey.ts +0 -0
  256. /package/src/{crypto → nanotdf-crypto}/generateKeyPair.ts +0 -0
  257. /package/src/{crypto → nanotdf-crypto}/generateRandomNumber.ts +0 -0
  258. /package/src/{crypto → nanotdf-crypto}/index.ts +0 -0
  259. /package/src/{crypto → nanotdf-crypto}/keyAgreement.ts +0 -0
  260. /package/src/{crypto → nanotdf-crypto}/pemPublicToCrypto.ts +0 -0
@@ -1,17 +1,84 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpenTDF = exports.isPublicKeyAlgorithm = exports.TDF3Client = void 0;
6
+ exports.OpenTDF = exports.RewrapCache = exports.isPublicKeyAlgorithm = exports.TDF3Client = void 0;
4
7
  const errors_js_1 = require("./errors.js");
8
+ const nanoclients_js_1 = require("./nanoclients.js");
5
9
  var index_js_1 = require("../tdf3/src/client/index.js");
6
10
  Object.defineProperty(exports, "TDF3Client", { enumerable: true, get: function () { return index_js_1.Client; } });
11
+ const NanoTDF_js_1 = __importDefault(require("./nanotdf/NanoTDF.js"));
12
+ const decrypt_js_1 = __importDefault(require("./nanotdf/decrypt.js"));
13
+ const Client_js_1 = __importDefault(require("./nanotdf/Client.js"));
7
14
  const seekable_js_1 = require("./seekable.js");
8
15
  const index_js_2 = require("../tdf3/src/client/index.js");
9
16
  const access_js_1 = require("./access.js");
10
17
  Object.defineProperty(exports, "isPublicKeyAlgorithm", { enumerable: true, get: function () { return access_js_1.isPublicKeyAlgorithm; } });
11
18
  const tdf_js_1 = require("../tdf3/src/tdf.js");
12
19
  const index_js_3 = require("./encodings/index.js");
20
+ const PolicyTypeEnum_js_1 = __importDefault(require("./nanotdf/enum/PolicyTypeEnum.js"));
21
+ const defaultRewrapCacheOptions = {
22
+ bypass: false,
23
+ maxAge: 300000,
24
+ pollInterval: 500,
25
+ };
26
+ /**
27
+ * Cache for headers of nanotdf collections, to quickly open multiple entries of the same collection.
28
+ * It has a demon that removes all keys that have not been accessed in the last 5 minutes.
29
+ * To cancel the demon, and clear the cache, call `close()`.
30
+ * */
31
+ class RewrapCache {
32
+ constructor(opts) {
33
+ const { bypass, maxAge, pollInterval } = { ...defaultRewrapCacheOptions, ...opts };
34
+ if (bypass) {
35
+ return;
36
+ }
37
+ this.cache = new Map();
38
+ this.closer = setInterval(() => {
39
+ const now = Date.now();
40
+ const c = this.cache;
41
+ if (!c) {
42
+ return;
43
+ }
44
+ for (const [key, value] of c.entries()) {
45
+ if (now - value.lastAccessTime > maxAge) {
46
+ c.delete(key);
47
+ }
48
+ }
49
+ }, pollInterval);
50
+ }
51
+ get(key) {
52
+ if (!this.cache) {
53
+ return undefined;
54
+ }
55
+ const entry = this.cache.get(key);
56
+ if (entry) {
57
+ entry.lastAccessTime = Date.now();
58
+ return entry.value;
59
+ }
60
+ return undefined;
61
+ }
62
+ /** Set a key in the cache. */
63
+ set(key, value) {
64
+ if (!this.cache) {
65
+ return;
66
+ }
67
+ this.cache.set(key, { lastAccessTime: Date.now(), value });
68
+ }
69
+ /** Close the cache and release any resources. */
70
+ close() {
71
+ if (this.closer !== undefined) {
72
+ clearInterval(this.closer);
73
+ delete this.closer;
74
+ delete this.cache;
75
+ }
76
+ }
77
+ }
78
+ exports.RewrapCache = RewrapCache;
13
79
  /**
14
80
  * The main OpenTDF class that provides methods for creating and reading TDF files.
81
+ * It supports both NanoTDF and ZTDF formats.
15
82
  * It can be used to create new TDF files and read existing ones.
16
83
  * This class is the entry point for using the OpenTDF SDK.
17
84
  * It requires an authentication provider to be passed in the constructor.
@@ -42,7 +109,7 @@ const index_js_3 = require("./encodings/index.js");
42
109
  * ```
43
110
  */
44
111
  class OpenTDF {
45
- constructor({ authProvider, dpopKeys, defaultCreateOptions, defaultReadOptions, disableDPoP, policyEndpoint, platformUrl, }) {
112
+ constructor({ authProvider, dpopKeys, defaultCreateOptions, defaultReadOptions, disableDPoP, policyEndpoint, rewrapCacheOptions, platformUrl, }) {
46
113
  this.authProvider = authProvider;
47
114
  this.defaultCreateOptions = defaultCreateOptions || {};
48
115
  this.defaultReadOptions = defaultReadOptions || {};
@@ -54,6 +121,7 @@ class OpenTDF {
54
121
  console.warn("Warning: 'platformUrl' is required for security to ensure the SDK uses the platform-configured Key Access Server list");
55
122
  }
56
123
  this.policyEndpoint = policyEndpoint || '';
124
+ this.rewrapCache = new RewrapCache(rewrapCacheOptions);
57
125
  this.tdf3Client = new index_js_2.Client({
58
126
  authProvider,
59
127
  dpopKeys,
@@ -70,6 +138,30 @@ class OpenTDF {
70
138
  publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
71
139
  }, true, ['sign', 'verify']);
72
140
  }
141
+ /** Creates a new NanoTDF stream. */
142
+ async createNanoTDF(opts) {
143
+ opts = {
144
+ ...this.defaultCreateOptions,
145
+ ...opts,
146
+ };
147
+ const collection = await this.createNanoTDFCollection({
148
+ ...opts,
149
+ platformUrl: this.platformUrl,
150
+ });
151
+ try {
152
+ return await collection.encrypt(opts.source);
153
+ }
154
+ finally {
155
+ await collection.close();
156
+ }
157
+ }
158
+ /**
159
+ * Creates a new collection object, which can be used to encrypt a series of data with the same policy.
160
+ */
161
+ async createNanoTDFCollection(opts) {
162
+ opts = { ...this.defaultCreateOptions, ...opts };
163
+ return new Collection(this.authProvider, opts);
164
+ }
73
165
  /** Creates a new ZTDF stream. */
74
166
  async createZTDF(opts) {
75
167
  opts = { ...this.defaultCreateOptions, ...opts };
@@ -96,7 +188,7 @@ class OpenTDF {
96
188
  /** Opens a TDF file for inspection and decryption. */
97
189
  open(opts) {
98
190
  opts = { ...this.defaultReadOptions, ...opts };
99
- return new ZTDFReaderWrapper(this, opts);
191
+ return new UnknownTypeReader(this, opts, this.rewrapCache);
100
192
  }
101
193
  /** Decrypts a TDF file. */
102
194
  async read(opts) {
@@ -105,15 +197,16 @@ class OpenTDF {
105
197
  }
106
198
  /** Closes the OpenTDF instance and releases any resources. */
107
199
  close() {
108
- // No-op for now, but kept for API compatibility
200
+ this.rewrapCache.close();
109
201
  }
110
202
  }
111
203
  exports.OpenTDF = OpenTDF;
112
- /** A TDF reader wrapper that handles ZTDF files. */
113
- class ZTDFReaderWrapper {
114
- constructor(outer, opts) {
204
+ /** A TDF reader that can automatically detect the TDF type. */
205
+ class UnknownTypeReader {
206
+ constructor(outer, opts, rewrapCache) {
115
207
  this.outer = outer;
116
208
  this.opts = opts;
209
+ this.rewrapCache = rewrapCache;
117
210
  this.state = 'init';
118
211
  this.delegate = this.resolveType();
119
212
  }
@@ -132,6 +225,10 @@ class ZTDFReaderWrapper {
132
225
  this.state = 'loaded';
133
226
  return new ZTDFReader(this.outer.tdf3Client, this.opts, chunker);
134
227
  }
228
+ else if (prefix[0] === 0x4c && prefix[1] === 0x31 && prefix[2] === 0x4c) {
229
+ this.state = 'loaded';
230
+ return new NanoTDFReader(this.outer, this.opts, chunker, this.rewrapCache);
231
+ }
135
232
  this.state = 'done';
136
233
  throw new errors_js_1.InvalidFileError(`unsupported format; prefix not recognized ${prefix}`);
137
234
  }
@@ -171,7 +268,100 @@ class ZTDFReaderWrapper {
171
268
  return actual.obligations();
172
269
  }
173
270
  }
174
- /** A reader for ZTDF files. */
271
+ /** A TDF reader for NanoTDF files. */
272
+ class NanoTDFReader {
273
+ constructor(outer, opts, chunker, rewrapCache) {
274
+ this.outer = outer;
275
+ this.opts = opts;
276
+ this.chunker = chunker;
277
+ this.rewrapCache = rewrapCache;
278
+ if (!this.opts.ignoreAllowlist &&
279
+ !this.opts.platformUrl &&
280
+ !this.opts.allowedKASEndpoints?.length) {
281
+ throw new errors_js_1.ConfigurationError('platformUrl is required when allowedKasEndpoints is empty');
282
+ }
283
+ // lazily load the container
284
+ this.container = new Promise(async (resolve, reject) => {
285
+ try {
286
+ const ciphertext = await chunker();
287
+ const nanotdf = NanoTDF_js_1.default.from(ciphertext);
288
+ resolve(nanotdf);
289
+ }
290
+ catch (e) {
291
+ reject(e);
292
+ }
293
+ });
294
+ }
295
+ /**
296
+ * Decrypts the NanoTDF file and returns a decorated stream.
297
+ * Sets required obligations on the reader when retrieved from KAS rewrap response.
298
+ */
299
+ async decrypt() {
300
+ const nanotdf = await this.container;
301
+ const cachedDEK = this.rewrapCache.get(nanotdf.header.ephemeralPublicKey);
302
+ if (cachedDEK) {
303
+ const r = await streamify((0, decrypt_js_1.default)(cachedDEK, nanotdf));
304
+ r.header = nanotdf.header;
305
+ return r;
306
+ }
307
+ const platformUrl = this.opts.platformUrl || this.outer.platformUrl;
308
+ const kasEndpoint = this.opts.allowedKASEndpoints?.[0] || platformUrl || 'https://disallow.all.invalid';
309
+ const nc = new Client_js_1.default({
310
+ allowedKases: this.opts.allowedKASEndpoints,
311
+ fulfillableObligationFQNs: this.opts.fulfillableObligationFQNs,
312
+ authProvider: this.outer.authProvider,
313
+ ignoreAllowList: this.opts.ignoreAllowlist,
314
+ dpopEnabled: this.outer.dpopEnabled,
315
+ dpopKeys: this.outer.dpopKeys,
316
+ kasEndpoint,
317
+ platformUrl,
318
+ });
319
+ // TODO: The version number should be fetched from the API
320
+ const version = '0.0.1';
321
+ // Rewrap key on every request
322
+ const { unwrappedKey: dek, requiredObligations } = await nc.rewrapKey(nanotdf.header.toBuffer(), nanotdf.header.getKasRewrapUrl(), nanotdf.header.magicNumberVersion, version);
323
+ if (!dek) {
324
+ // These should have thrown already.
325
+ throw new Error('internal: key rewrap failure');
326
+ }
327
+ this.requiredObligations = { fqns: requiredObligations };
328
+ this.rewrapCache.set(nanotdf.header.ephemeralPublicKey, dek);
329
+ const r = await streamify((0, decrypt_js_1.default)(dek, nanotdf));
330
+ // TODO figure out how to attach policy and metadata to the stream
331
+ r.header = nanotdf.header;
332
+ return r;
333
+ }
334
+ async close() { }
335
+ /** Returns blank manifest. NanoTDF has no manifest. */
336
+ async manifest() {
337
+ return {};
338
+ }
339
+ /** Returns the attributes of the NanoTDF file. */
340
+ async attributes() {
341
+ const nanotdf = await this.container;
342
+ if (!nanotdf.header.policy?.content) {
343
+ return [];
344
+ }
345
+ if (nanotdf.header.policy.type !== PolicyTypeEnum_js_1.default.EmbeddedText) {
346
+ throw new Error('unsupported policy type');
347
+ }
348
+ const policyString = new TextDecoder().decode(nanotdf.header.policy.content);
349
+ const policy = JSON.parse(policyString);
350
+ return policy?.body?.dataAttributes.map((a) => a.attribute) || [];
351
+ }
352
+ /**
353
+ * Returns obligations populated from the decrypt flow.
354
+ * If a decrypt has not occurred, attempts one to retrieve obligations.
355
+ */
356
+ async obligations() {
357
+ if (this.requiredObligations) {
358
+ return this.requiredObligations;
359
+ }
360
+ await this.decrypt();
361
+ return this.requiredObligations ?? { fqns: [] };
362
+ }
363
+ }
364
+ /** A reader for TDF files. */
175
365
  class ZTDFReader {
176
366
  constructor(client, opts, source) {
177
367
  this.client = client;
@@ -252,4 +442,65 @@ class ZTDFReader {
252
442
  return this.requiredObligations ?? { fqns: [] };
253
443
  }
254
444
  }
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnRkZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vcGVudGRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUFtRTtBQUNuRSx3REFBbUU7QUFBMUQsc0dBQUEsTUFBTSxPQUFjO0FBQzdCLCtDQUFpRjtBQUNqRiwwREFBbUU7QUFNbkUsMkNBS3FCO0FBNEJuQixxR0E3QkEsZ0NBQW9CLE9BNkJBO0FBbkJ0QiwrQ0FLNEI7QUFDNUIsbURBQThDO0FBd0w5Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJHO0FBQ0gsTUFBYSxPQUFPO0lBa0JsQixZQUFZLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxjQUFjLEVBQ2QsV0FBVyxHQUNJO1FBQ2YsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixJQUFJLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLElBQUksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNqQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FDVix1SEFBdUgsQ0FDeEgsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsSUFBSSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGlCQUFVLENBQUM7WUFDL0IsWUFBWTtZQUNaLFFBQVE7WUFDUixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSw4QkFBOEI7WUFDL0QsV0FBVztZQUNYLGNBQWM7U0FDZixDQUFD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
445
+ async function streamify(ab) {
446
+ const stream = new ReadableStream({
447
+ start(controller) {
448
+ ab.then((arrayBuffer) => {
449
+ controller.enqueue(new Uint8Array(arrayBuffer));
450
+ controller.close();
451
+ });
452
+ },
453
+ });
454
+ return stream;
455
+ }
456
+ class Collection {
457
+ constructor(authProvider, opts) {
458
+ if (opts.signers || opts.signingKeyID) {
459
+ throw new errors_js_1.ConfigurationError('ntdf signing not implemented');
460
+ }
461
+ if (opts.autoconfigure) {
462
+ throw new errors_js_1.ConfigurationError('autoconfigure not implemented');
463
+ }
464
+ if (opts.ecdsaBindingKeyID) {
465
+ throw new errors_js_1.ConfigurationError('custom binding key not implemented');
466
+ }
467
+ switch (opts.bindingType) {
468
+ case 'ecdsa':
469
+ this.encryptOptions = { ecdsaBinding: true };
470
+ break;
471
+ case 'gmac':
472
+ this.encryptOptions = { ecdsaBinding: false };
473
+ break;
474
+ }
475
+ const kasEndpoint = opts.defaultKASEndpoint || opts.platformUrl || 'https://disallow.all.invalid';
476
+ this.client = new nanoclients_js_1.NanoTDFDatasetClient({
477
+ authProvider,
478
+ kasEndpoint: kasEndpoint,
479
+ maxKeyIterations: opts.maxKeyIterations,
480
+ platformUrl: opts.platformUrl,
481
+ });
482
+ this.client.dataAttributes = opts.attributes || [];
483
+ }
484
+ /** Encrypts a source into a NanoTDF stream. */
485
+ async encrypt(source) {
486
+ if (!this.client) {
487
+ throw new errors_js_1.ConfigurationError('Collection is closed');
488
+ }
489
+ const chunker = await (0, seekable_js_1.fromSource)(source);
490
+ const cipherChunk = await this.client.encrypt(await chunker(), this.encryptOptions);
491
+ const stream = new ReadableStream({
492
+ start(controller) {
493
+ controller.enqueue(new Uint8Array(cipherChunk));
494
+ controller.close();
495
+ },
496
+ });
497
+ // TODO: client's header object is private
498
+ // stream.header = this.client.header;
499
+ return stream;
500
+ }
501
+ /** Releases client resources. */
502
+ async close() {
503
+ delete this.client;
504
+ }
505
+ }
506
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnRkZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vcGVudGRmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDJDQUFtRTtBQUNuRSxxREFBbUc7QUFDbkcsd0RBQW1FO0FBQTFELHNHQUFBLE1BQU0sT0FBYztBQUM3QixzRUFBMkM7QUFDM0Msc0VBQWtEO0FBQ2xELG9FQUF5QztBQUV6QywrQ0FBaUY7QUFDakYsMERBQW1FO0FBTW5FLDJDQUtxQjtBQTZCbkIscUdBOUJBLGdDQUFvQixPQThCQTtBQXBCdEIsK0NBSzRCO0FBQzVCLG1EQUE4QztBQUM5Qyx5RkFBMEQ7QUFtTTFELE1BQU0seUJBQXlCLEdBQWlDO0lBQzlELE1BQU0sRUFBRSxLQUFLO0lBQ2IsTUFBTSxFQUFFLE1BQU07SUFDZCxZQUFZLEVBQUUsR0FBRztDQUNsQixDQUFDO0FBRUY7Ozs7S0FJSztBQUNMLE1BQWEsV0FBVztJQUd0QixZQUFZLElBQXlCO1FBQ25DLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsR0FBRyx5QkFBeUIsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ25GLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNQLE9BQU87WUFDVCxDQUFDO1lBQ0QsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsY0FBYyxHQUFHLE1BQU0sRUFBRSxDQUFDO29CQUN4QyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQWU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNyQixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixHQUFHLENBQUMsR0FBZSxFQUFFLEtBQWdCO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBbkRELGtDQW1EQztBQStCRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQUNILE1BQWEsT0FBTztJQW9CbEIsWUFBWSxFQUNWLFlBQVksRUFDWixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixXQUFXLEdBQ0k7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLElBQUksRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsSUFBSSxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2pDLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsSUFBSSxDQUNWLHVIQUF1SCxDQUN4SCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGlCQUFVLENBQUM7WUFDL0IsWUFBWTtZQUNaLFFBQVE7WUFDUixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSw4QkFBOEI7WUFDL0QsV0FBVztZQUNYLGNBQWM7U0FDZixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUTtZQUNYLFFBQVE7Z0JBQ1IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCO29CQUNFLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLElBQUksRUFBRSxTQUFTO29CQUNmLGFBQWEsRUFBRSxJQUFJO29CQUNuQixjQUFjLEVBQUUsSUFBSSxVQUFVLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUNuRCxFQUNELElBQUksRUFDSixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FDbkIsQ0FBQztJQUNOLENBQUM7SUFFRCxvQ0FBb0M7SUFDcEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUEwQjtRQUM1QyxJQUFJLEdBQUc7WUFDTCxHQUFHLElBQUksQ0FBQyxvQkFBb0I7WUFDNUIsR0FBRyxJQUFJO1NBQ1IsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDO1lBQ3BELEdBQUcsSUFBSTtZQUNQLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUM7WUFDSCxPQUFPLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsTUFBTSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyx1QkFBdUIsQ0FDM0IsSUFBb0M7UUFFcEMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQXVCO1FBQ3RDLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDakQsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUM5QyxNQUFNLEVBQUUsTUFBTSxJQUFBLDRCQUFjLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUV6QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFDbkMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMzQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLEtBQUssRUFBRTtnQkFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDNUI7WUFDRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDL0MsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1NBQ3BDLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFvQixTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsTUFBTSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsc0RBQXNEO0lBQ3RELElBQUksQ0FBQyxJQUFpQjtRQUNwQixJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQy9DLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBaUI7UUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsOERBQThEO0lBQzlELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQXBJRCwwQkFvSUM7QUFFRCwrREFBK0Q7QUFDL0QsTUFBTSxpQkFBaUI7SUFHckIsWUFDVyxLQUFjLEVBQ2QsSUFBaUIsRUFDVCxXQUF3QjtRQUZoQyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNULGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSjNDLFVBQUssR0FBa0YsTUFBTSxDQUFDO1FBTTVGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxzREFBc0Q7SUFDdEQsS0FBSyxDQUFDLFdBQVc7UUFDZixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUIsTUFBTSxJQUFJLDhCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSx3QkFBVSxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ2pELENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRSxDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzFFLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSw0QkFBZ0IsQ0FBQyw2Q0FBNkMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsNEJBQTRCO0lBQzVCLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0MsS0FBSyxDQUFDLFVBQVU7UUFDZCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbkMsT0FBTyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELDJDQUEyQztJQUMzQyxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsNEJBQTRCO0lBQzVCLEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzFCLGlDQUFpQztZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUNwQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLE9BQU8sTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQUVELHNDQUFzQztBQUN0QyxNQUFNLGFBQWE7SUFJakIsWUFDVyxLQUFjLEVBQ2QsSUFBaUIsRUFDakIsT0FBZ0IsRUFDUixXQUF3QjtRQUhoQyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ1IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFFekMsSUFDRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUMxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUN0QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxFQUN0QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLDhCQUFrQixDQUFDLDJEQUEyRCxDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUNELDRCQUE0QjtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDO2dCQUNILE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sT0FBTyxHQUFHLG9CQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN6QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkIsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMxRSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxDQUFDLEdBQW9CLE1BQU0sU0FBUyxDQUFDLElBQUEsb0JBQWMsRUFBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMvRSxDQUFDLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDMUIsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDcEUsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsSUFBSSw4QkFBOEIsQ0FBQztRQUN0RixNQUFNLEVBQUUsR0FBRyxJQUFJLG1CQUFNLENBQUM7WUFDcEIsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1lBQzNDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCO1lBQzlELFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7WUFDckMsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUMxQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1lBQ25DLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDN0IsV0FBVztZQUNYLFdBQVc7U0FDWixDQUFDLENBQUM7UUFDSCwwREFBMEQ7UUFDMUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLDhCQUE4QjtRQUM5QixNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FDbkUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFDaEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFDakMsT0FBTyxDQUNSLENBQUM7UUFDRixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxvQ0FBb0M7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdELE1BQU0sQ0FBQyxHQUFvQixNQUFNLFNBQVMsQ0FBQyxJQUFBLG9CQUFjLEVBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDekUsa0VBQWtFO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUMxQixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxLQUFJLENBQUM7SUFFaEIsdURBQXVEO0lBQ3ZELEtBQUssQ0FBQyxRQUFRO1FBQ1osT0FBTyxFQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxLQUFLLENBQUMsVUFBVTtRQUNkLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDcEMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssMkJBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFXLENBQUM7UUFDbEQsT0FBTyxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxXQUFXO1FBQ2YsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBRUQsOEJBQThCO0FBQzlCLE1BQU0sVUFBVTtJQUlkLFlBQ1csTUFBa0IsRUFDbEIsSUFBaUIsRUFDakIsTUFBZTtRQUZmLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBRXhCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBQSxzQkFBYSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLEVBQ0oseUJBQXlCLEVBQ3pCLFFBQVEsRUFBRSxrQkFBa0IsRUFDNUIsb0JBQW9CLEdBQ3JCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUVkLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNGLE1BQU0sSUFBSSw4QkFBa0IsQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRTVDLE1BQU0sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNwRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLDhCQUFrQixDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVELElBQUksU0FBc0MsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkUsU0FBUyxHQUFHLElBQUksMkJBQWUsQ0FDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUMxQixDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxTQUFTLEdBQUcsTUFBTSxJQUFBLGlDQUFxQixFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLDBCQUFpQixFQUN2QztZQUNFLFNBQVM7WUFDVCxZQUFZO1lBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ3BCLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsYUFBYTtZQUNiLFFBQVE7WUFDUix1QkFBdUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyx1QkFBdUI7WUFDekUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0IsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGVBQWU7WUFDekQseUJBQXlCO1lBQ3pCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsSUFBSSxFQUFFO1NBQ2xFLEVBQ0QsUUFBUSxDQUNULENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLEdBQUc7WUFDekIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxXQUFXLEVBQUU7U0FDOUIsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFvQixTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDVCx5REFBeUQ7SUFDM0QsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNyQyxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELDhDQUE4QztJQUM5QyxLQUFLLENBQUMsVUFBVTtRQUNkLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLGlCQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBVyxDQUFDO1FBQ2hELE9BQU8sTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDbEMsQ0FBQztRQUNELE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2xELENBQUM7Q0FDRjtBQUVELEtBQUssVUFBVSxTQUFTLENBQUMsRUFBd0I7SUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQWE7UUFDNUMsS0FBSyxDQUFDLFVBQVU7WUFDZCxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ3RCLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDaEQsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFVRCxNQUFNLFVBQVU7SUFNZCxZQUFZLFlBQTBCLEVBQUUsSUFBb0M7UUFDMUUsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksOEJBQWtCLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLDhCQUFrQixDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLDhCQUFrQixDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pCLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUM3QyxNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0JBQzlDLE1BQU07UUFDVixDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksOEJBQThCLENBQUM7UUFFaEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLHFDQUFvQixDQUFDO1lBQ3JDLFlBQVk7WUFDWixXQUFXLEVBQUUsV0FBVztZQUN4QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBYztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSw4QkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsd0JBQVUsRUFBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sTUFBTSxHQUFvQixJQUFJLGNBQWMsQ0FBYTtZQUM3RCxLQUFLLENBQUMsVUFBVTtnQkFDZCxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsMENBQTBDO1FBQzFDLHNDQUFzQztRQUN0QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FDRiJ9
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicyType = exports.ResourceLocatorProtocol = void 0;
4
+ var CipherType;
5
+ (function (CipherType) {
6
+ CipherType[CipherType["Aes256Gcm64"] = 0] = "Aes256Gcm64";
7
+ CipherType[CipherType["Aes256Gcm96"] = 1] = "Aes256Gcm96";
8
+ CipherType[CipherType["Aes256Gcm104"] = 2] = "Aes256Gcm104";
9
+ CipherType[CipherType["Aes256Gcm112"] = 3] = "Aes256Gcm112";
10
+ CipherType[CipherType["Aes256Gcm120"] = 4] = "Aes256Gcm120";
11
+ CipherType[CipherType["Aes256Gcm128"] = 5] = "Aes256Gcm128";
12
+ })(CipherType || (CipherType = {}));
13
+ /**
14
+ * The Signature ECC Mode is used to determine the length of the signature at the end of a nanotdf. This, in
15
+ * combination with the previous HAS_SIGNATURE section, describe the signature of the nanotdf. The following table
16
+ * describes the valid values and the associated ECC Params.
17
+ */
18
+ var CurveName;
19
+ (function (CurveName) {
20
+ CurveName[CurveName["Secp256R1"] = 0] = "Secp256R1";
21
+ CurveName[CurveName["Secp384R1"] = 1] = "Secp384R1";
22
+ CurveName[CurveName["Secp521R1"] = 2] = "Secp521R1";
23
+ })(CurveName || (CurveName = {}));
24
+ var ResourceLocatorProtocol;
25
+ (function (ResourceLocatorProtocol) {
26
+ ResourceLocatorProtocol[ResourceLocatorProtocol["Http"] = 0] = "Http";
27
+ ResourceLocatorProtocol[ResourceLocatorProtocol["Https"] = 1] = "Https";
28
+ ResourceLocatorProtocol[ResourceLocatorProtocol["Unreserverd"] = 2] = "Unreserverd";
29
+ ResourceLocatorProtocol[ResourceLocatorProtocol["SharedResourceDirectory"] = 255] = "SharedResourceDirectory";
30
+ })(ResourceLocatorProtocol || (exports.ResourceLocatorProtocol = ResourceLocatorProtocol = {}));
31
+ var PolicyType;
32
+ (function (PolicyType) {
33
+ PolicyType[PolicyType["Remote"] = 0] = "Remote";
34
+ PolicyType[PolicyType["EmbeddedText"] = 1] = "EmbeddedText";
35
+ PolicyType[PolicyType["EmbeddedEncrypted"] = 2] = "EmbeddedEncrypted";
36
+ PolicyType[PolicyType["EmbeddedEncryptedPKA"] = 3] = "EmbeddedEncryptedPKA";
37
+ })(PolicyType || (exports.PolicyType = PolicyType = {}));
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFub1RERi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZGYvTmFub1RERi9OYW5vVERGLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUssVUFPSjtBQVBELFdBQUssVUFBVTtJQUNiLHlEQUFXLENBQUE7SUFDWCx5REFBVyxDQUFBO0lBQ1gsMkRBQVksQ0FBQTtJQUNaLDJEQUFZLENBQUE7SUFDWiwyREFBWSxDQUFBO0lBQ1osMkRBQVksQ0FBQTtBQUNkLENBQUMsRUFQSSxVQUFVLEtBQVYsVUFBVSxRQU9kO0FBRUQ7Ozs7R0FJRztBQUNILElBQUssU0FJSjtBQUpELFdBQUssU0FBUztJQUNaLG1EQUFTLENBQUE7SUFDVCxtREFBUyxDQUFBO0lBQ1QsbURBQVMsQ0FBQTtBQUNYLENBQUMsRUFKSSxTQUFTLEtBQVQsU0FBUyxRQUliO0FBRUQsSUFBWSx1QkFLWDtBQUxELFdBQVksdUJBQXVCO0lBQ2pDLHFFQUFJLENBQUE7SUFDSix1RUFBSyxDQUFBO0lBQ0wsbUZBQVcsQ0FBQTtJQUNYLDZHQUE4QixDQUFBO0FBQ2hDLENBQUMsRUFMVyx1QkFBdUIsdUNBQXZCLHVCQUF1QixRQUtsQztBQUVELElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQiwrQ0FBTSxDQUFBO0lBQ04sMkRBQVksQ0FBQTtJQUNaLHFFQUFpQixDQUFBO0lBQ2pCLDJFQUFvQixDQUFBO0FBQ3RCLENBQUMsRUFMVyxVQUFVLDBCQUFWLFVBQVUsUUFLckIifQ==
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -14,7 +14,7 @@ exports.getRequiredObligationFQNs = getRequiredObligationFQNs;
14
14
  exports.upgradeRewrapResponseV1 = upgradeRewrapResponseV1;
15
15
  const jose_1 = require("jose");
16
16
  const index_js_1 = require("./encodings/index.js");
17
- const pemPublicToCrypto_js_1 = require("./crypto/pemPublicToCrypto.js");
17
+ const pemPublicToCrypto_js_1 = require("./nanotdf-crypto/pemPublicToCrypto.js");
18
18
  const errors_js_1 = require("./errors.js");
19
19
  const kas_pb_js_1 = require("./platform/kas/kas_pb.js");
20
20
  const protobuf_1 = require("@bufbuild/protobuf");
@@ -278,4 +278,4 @@ function upgradeRewrapResponseV1(response) {
278
278
  }),
279
279
  ];
280
280
  }
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNkJBLDhDQWNDO0FBUUQsc0NBS0M7QUFPRCw4QkFFQztBQStERCxrQ0FXQztBQU9ELDhDQVNDO0FBT0Qsb0RBVUM7QUFXRCwwREFXQztBQVdELHdEQUtDO0FBVUQsc0VBWUM7QUFLRCw4REF3QkM7QUFNRCwwREF1QkM7QUFsU0QsK0JBQThDO0FBRTlDLG1EQUE4QztBQUM5Qyx3RUFBbUY7QUFDbkYsMkNBQWlEO0FBQ2pELHdEQUlrQztBQUNsQyxpREFBNEM7QUFDNUMsaURBQW1EO0FBRW5ELE1BQU0saUNBQWlDLEdBQUcsd0JBQXdCLENBQUM7QUFFbkU7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLEdBQVc7SUFDM0MsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzdCLElBQUksd0RBQXdELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdkUsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDO1NBQU0sSUFDTCxzREFBc0QsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ2hFLHlEQUF5RCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDbkUsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztTQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyxzRUFBc0UsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM1RixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNI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
281
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNkJBLDhDQWNDO0FBUUQsc0NBS0M7QUFPRCw4QkFFQztBQStERCxrQ0FXQztBQU9ELDhDQVNDO0FBT0Qsb0RBVUM7QUFXRCwwREFXQztBQVdELHdEQUtDO0FBVUQsc0VBWUM7QUFLRCw4REF3QkM7QUFNRCwwREF1QkM7QUFsU0QsK0JBQThDO0FBRTlDLG1EQUE4QztBQUM5QyxnRkFBMkY7QUFDM0YsMkNBQWlEO0FBQ2pELHdEQUlrQztBQUNsQyxpREFBNEM7QUFDNUMsaURBQW1EO0FBRW5ELE1BQU0saUNBQWlDLEdBQUcsd0JBQXdCLENBQUM7QUFFbkU7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLEdBQVc7SUFDM0MsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzdCLElBQUksd0RBQXdELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdkUsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDO1NBQU0sSUFDTCxzREFBc0QsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ2hFLHlEQUF5RCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDbkUsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztTQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyxzRUFBc0UsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM1RixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNI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
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.OpenTDF = exports.WebCryptoService = exports.version = exports.withHeaders = exports.createSessionKeys = exports.clientType = exports.TDF3Client = exports.SplitKey = exports.HttpRequest = exports.Errors = exports.EncryptParamsBuilder = exports.DecryptParamsBuilder = exports.DecoratedReadableStream = exports.Client = exports.Binary = exports.AuthProviders = exports.Algorithms = exports.AesGcmCipher = void 0;
36
+ exports.OpenTDF = exports.WebCryptoService = exports.version = exports.withHeaders = exports.createSessionKeys = exports.clientType = exports.TDF3Client = exports.SplitKey = exports.NanoTDFDatasetClient = exports.NanoTDFClient = exports.HttpRequest = exports.Errors = exports.EncryptParamsBuilder = exports.DecryptParamsBuilder = exports.DecoratedReadableStream = exports.Client = exports.Binary = exports.AuthProviders = exports.Algorithms = exports.AesGcmCipher = void 0;
37
37
  const binary_js_1 = require("./src/binary.js");
38
38
  Object.defineProperty(exports, "Binary", { enumerable: true, get: function () { return binary_js_1.Binary; } });
39
39
  const DecoratedReadableStream_js_1 = require("./src/client/DecoratedReadableStream.js");
@@ -54,14 +54,15 @@ Object.defineProperty(exports, "HttpRequest", { enumerable: true, get: function
54
54
  Object.defineProperty(exports, "withHeaders", { enumerable: true, get: function () { return auth_js_1.withHeaders; } });
55
55
  const aes_gcm_cipher_js_1 = require("./src/ciphers/aes-gcm-cipher.js");
56
56
  Object.defineProperty(exports, "AesGcmCipher", { enumerable: true, get: function () { return aes_gcm_cipher_js_1.AesGcmCipher; } });
57
- const AuthProviders = __importStar(require("../src/auth/providers.js"));
58
- exports.AuthProviders = AuthProviders;
59
- const version_js_1 = require("../src/version.js");
60
- Object.defineProperty(exports, "version", { enumerable: true, get: function () { return version_js_1.version; } });
61
- Object.defineProperty(exports, "clientType", { enumerable: true, get: function () { return version_js_1.clientType; } });
57
+ const nanoindex_js_1 = require("../src/nanoindex.js");
58
+ Object.defineProperty(exports, "NanoTDFClient", { enumerable: true, get: function () { return nanoindex_js_1.NanoTDFClient; } });
59
+ Object.defineProperty(exports, "NanoTDFDatasetClient", { enumerable: true, get: function () { return nanoindex_js_1.NanoTDFDatasetClient; } });
60
+ Object.defineProperty(exports, "AuthProviders", { enumerable: true, get: function () { return nanoindex_js_1.AuthProviders; } });
61
+ Object.defineProperty(exports, "version", { enumerable: true, get: function () { return nanoindex_js_1.version; } });
62
+ Object.defineProperty(exports, "clientType", { enumerable: true, get: function () { return nanoindex_js_1.clientType; } });
62
63
  const algorithms_js_1 = require("./src/ciphers/algorithms.js");
63
64
  Object.defineProperty(exports, "Algorithms", { enumerable: true, get: function () { return algorithms_js_1.Algorithms; } });
64
65
  exports.WebCryptoService = __importStar(require("./src/crypto/index.js"));
65
66
  var opentdf_js_1 = require("../src/opentdf.js");
66
67
  Object.defineProperty(exports, "OpenTDF", { enumerable: true, get: function () { return opentdf_js_1.OpenTDF; } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZGYzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUF5QztBQXVEdkMsdUZBdkRPLGtCQUFNLE9BdURQO0FBdERSLHdGQUFrRjtBQXlEaEYsd0dBekRPLG9EQUF1QixPQXlEUDtBQXhEekIsMERBV2tDO0FBK0NoQyxxR0F4REEsa0NBQW9CLE9Bd0RBO0FBSXBCLHFHQXJEQSxrQ0FBb0IsT0FxREE7QUFsRHRCLG9EQUE2RTtBQXlEM0Usa0dBekQwQiw0QkFBaUIsT0F5RDFCO0FBbERuQiw2Q0FBNEQ7QUFtQzFELHVGQW5DTyxpQkFBTSxPQW1DUDtBQVNOLHVGQTVDZSxpQkFBTSxPQTRDZjtBQUlOLDJGQWhEdUIscUJBQVUsT0FnRHZCO0FBL0NaLHNGQUlnRDtBQTBDOUMseUZBNUNBLG9DQUFRLE9BNENBO0FBekNWLGlEQUE4RjtBQXVDNUYsNEZBdkNzQyxxQkFBVyxPQXVDdEM7QUFNWCw0RkE3Q21ELHFCQUFXLE9BNkNuRDtBQTVDYix1RUFBK0Q7QUF3QjdELDZGQXhCTyxnQ0FBWSxPQXdCUDtBQXZCZCx3RUFBMEQ7QUF5QnhELHNDQUFhO0FBeEJmLGtEQUF3RDtBQTJDdEQsd0ZBM0NPLG9CQUFPLE9BMkNQO0FBSFAsMkZBeENnQix1QkFBVSxPQXdDaEI7QUF2Q1osK0RBQWdHO0FBc0I5RiwyRkF0Qk8sMEJBQVUsT0FzQlA7QUF1QlosMEVBQTBEO0FBQzFELGdEQVMyQjtBQUR6QixxR0FBQSxPQUFPLE9BQUEifQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZGYzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUF5QztBQTREdkMsdUZBNURPLGtCQUFNLE9BNERQO0FBM0RSLHdGQUFrRjtBQThEaEYsd0dBOURPLG9EQUF1QixPQThEUDtBQTdEekIsMERBV2tDO0FBb0RoQyxxR0E3REEsa0NBQW9CLE9BNkRBO0FBSXBCLHFHQTFEQSxrQ0FBb0IsT0EwREE7QUF2RHRCLG9EQUE2RTtBQWdFM0Usa0dBaEUwQiw0QkFBaUIsT0FnRTFCO0FBekRuQiw2Q0FBNEQ7QUF3QzFELHVGQXhDTyxpQkFBTSxPQXdDUDtBQVNOLHVGQWpEZSxpQkFBTSxPQWlEZjtBQU1OLDJGQXZEdUIscUJBQVUsT0F1RHZCO0FBdERaLHNGQUlnRDtBQWlEOUMseUZBbkRBLG9DQUFRLE9BbURBO0FBaERWLGlEQUE4RjtBQTRDNUYsNEZBNUNzQyxxQkFBVyxPQTRDdEM7QUFRWCw0RkFwRG1ELHFCQUFXLE9Bb0RuRDtBQW5EYix1RUFBK0Q7QUE2QjdELDZGQTdCTyxnQ0FBWSxPQTZCUDtBQTVCZCxzREFNNkI7QUFzQzNCLDhGQTNDQSw0QkFBYSxPQTJDQTtBQUNiLHFHQTNDQSxtQ0FBb0IsT0EyQ0E7QUFmcEIsOEZBM0JBLDRCQUFhLE9BMkJBO0FBcUJiLHdGQS9DQSxzQkFBTyxPQStDQTtBQUhQLDJGQTNDQSx5QkFBVSxPQTJDQTtBQXpDWiwrREFBZ0c7QUFzQjlGLDJGQXRCTywwQkFBVSxPQXNCUDtBQXlCWiwwRUFBMEQ7QUFDMUQsZ0RBWTJCO0FBRHpCLHFHQUFBLE9BQU8sT0FBQSJ9
@@ -35,9 +35,9 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.Wrapped = exports.ECWrapped = exports.schemaVersion = void 0;
37
37
  const index_js_1 = require("../../../src/encodings/index.js");
38
- const generateRandomNumber_js_1 = require("../../../src/crypto/generateRandomNumber.js");
39
- const keyAgreement_js_1 = require("../../../src/crypto/keyAgreement.js");
40
- const pemPublicToCrypto_js_1 = require("../../../src/crypto/pemPublicToCrypto.js");
38
+ const generateRandomNumber_js_1 = require("../../../src/nanotdf-crypto/generateRandomNumber.js");
39
+ const keyAgreement_js_1 = require("../../../src/nanotdf-crypto/keyAgreement.js");
40
+ const pemPublicToCrypto_js_1 = require("../../../src/nanotdf-crypto/pemPublicToCrypto.js");
41
41
  const utils_js_1 = require("../../../src/utils.js");
42
42
  const binary_js_1 = require("../binary.js");
43
43
  const cryptoService = __importStar(require("../crypto/index.js"));
@@ -133,4 +133,4 @@ class Wrapped {
133
133
  }
134
134
  }
135
135
  exports.Wrapped = Wrapped;
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWFjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RkZjMvc3JjL21vZGVscy9rZXktYWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUE4RDtBQUM5RCx5RkFBbUY7QUFDbkYseUVBQW1FO0FBQ25FLG1GQUE2RTtBQUM3RSxvREFBMEQ7QUFDMUQsNENBQXNDO0FBQ3RDLGtFQUFvRDtBQUNwRCwrQ0FBNkM7QUFLaEMsUUFBQSxhQUFhLEdBQUcsS0FBSyxDQUFDO0FBRW5DLE1BQWEsU0FBUztJQUtwQixZQUNrQixHQUFXLEVBQ1gsR0FBdUIsRUFDdkIsU0FBaUIsRUFDakIsUUFBaUIsRUFDakIsR0FBWTtRQUpaLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxRQUFHLEdBQUgsR0FBRyxDQUFvQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBUztRQVRyQixTQUFJLEdBQUcsWUFBWSxDQUFDO1FBVzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FDL0M7WUFDRSxJQUFJLEVBQUUsTUFBTTtZQUNaLFVBQVUsRUFBRSxPQUFPO1NBQ3BCLEVBQ0QsS0FBSyxFQUNMLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQ1QsTUFBYyxFQUNkLEdBQWUsRUFDZixvQkFBNEI7UUFFNUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUM5QyxJQUFJLENBQUMsZ0JBQWdC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
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWFjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RkZjMvc3JjL21vZGVscy9rZXktYWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUE4RDtBQUM5RCxpR0FBMkY7QUFDM0YsaUZBQTJFO0FBQzNFLDJGQUFxRjtBQUNyRixvREFBMEQ7QUFDMUQsNENBQXNDO0FBQ3RDLGtFQUFvRDtBQUNwRCwrQ0FBNkM7QUFLaEMsUUFBQSxhQUFhLEdBQUcsS0FBSyxDQUFDO0FBRW5DLE1BQWEsU0FBUztJQUtwQixZQUNrQixHQUFXLEVBQ1gsR0FBdUIsRUFDdkIsU0FBaUIsRUFDakIsUUFBaUIsRUFDakIsR0FBWTtRQUpaLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxRQUFHLEdBQUgsR0FBRyxDQUFvQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBUztRQVRyQixTQUFJLEdBQUcsWUFBWSxDQUFDO1FBVzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FDL0M7WUFDRSxJQUFJLEVBQUUsTUFBTTtZQUNaLFVBQVUsRUFBRSxPQUFPO1NBQ3BCLEVBQ0QsS0FBSyxFQUNMLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQ1QsTUFBYyxFQUNkLEdBQWUsRUFDZixvQkFBNEI7UUFFNUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUM5QyxJQUFJLENBQUMsZ0JBQWdC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