@aztec/bb.js 0.0.1-commit.24de95ac → 0.0.1-commit.5476d83

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 (572) hide show
  1. package/build/amd64-linux/bb +0 -0
  2. package/build/amd64-linux/nodejs_module.node +0 -0
  3. package/build/amd64-macos/bb +0 -0
  4. package/build/amd64-macos/nodejs_module.node +0 -0
  5. package/build/arm64-linux/bb +0 -0
  6. package/build/arm64-linux/nodejs_module.node +0 -0
  7. package/build/arm64-macos/bb +0 -0
  8. package/build/arm64-macos/nodejs_module.node +0 -0
  9. package/dest/browser/async_map/index.d.ts +1 -1
  10. package/dest/browser/async_map/index.js +1 -1
  11. package/dest/browser/barretenberg/backend.d.ts +10 -24
  12. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  13. package/dest/browser/barretenberg/backend.js +33 -84
  14. package/dest/browser/barretenberg/index.d.ts +2 -4
  15. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  16. package/dest/browser/barretenberg/index.js +18 -27
  17. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts +17 -0
  18. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  19. package/dest/browser/barretenberg/testing/bigint-buffer.js +37 -0
  20. package/dest/browser/barretenberg/testing/fields.d.ts +16 -0
  21. package/dest/browser/barretenberg/testing/fields.d.ts.map +1 -0
  22. package/dest/browser/barretenberg/testing/fields.js +47 -0
  23. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  24. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  25. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  26. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  27. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  28. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
  29. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  30. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  31. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  32. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  33. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  34. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  35. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  36. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  37. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  38. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  39. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
  40. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  41. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  42. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  43. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  44. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  45. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  46. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  47. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  48. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  49. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  50. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +1 -1
  51. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  52. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  53. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  54. package/dest/browser/barretenberg_wasm/helpers/browser/index.js +9 -2
  55. package/dest/browser/barretenberg_wasm/helpers/index.d.ts +1 -1
  56. package/dest/browser/barretenberg_wasm/index.d.ts +1 -1
  57. package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -1
  58. package/dest/browser/barretenberg_wasm/index.js +2 -3
  59. package/dest/browser/bb_backends/browser/index.d.ts +1 -1
  60. package/dest/browser/bb_backends/browser/index.js +1 -1
  61. package/dest/browser/bb_backends/browser/platform.d.ts +4 -0
  62. package/dest/browser/bb_backends/browser/platform.d.ts.map +1 -0
  63. package/dest/browser/bb_backends/browser/platform.js +10 -0
  64. package/dest/browser/bb_backends/index.d.ts +10 -7
  65. package/dest/browser/bb_backends/index.d.ts.map +1 -1
  66. package/dest/browser/bb_backends/index.js +8 -7
  67. package/dest/browser/bb_backends/interface.d.ts +1 -1
  68. package/dest/browser/bb_backends/wasm.d.ts +1 -1
  69. package/dest/browser/bb_backends/wasm.d.ts.map +1 -1
  70. package/dest/browser/bb_backends/wasm.js +5 -3
  71. package/dest/browser/bbapi_exception.d.ts +1 -1
  72. package/dest/browser/bbapi_exception.d.ts.map +1 -1
  73. package/dest/browser/bbapi_exception.js +1 -1
  74. package/dest/browser/bin/index.d.ts +3 -0
  75. package/dest/browser/bin/index.d.ts.map +1 -0
  76. package/dest/browser/bin/index.js +11 -0
  77. package/dest/browser/cbind/generate.d.ts +1 -1
  78. package/dest/browser/cbind/generate.js +1 -1
  79. package/dest/browser/cbind/generated/api_types.d.ts +1 -1
  80. package/dest/browser/cbind/generated/api_types.js +1 -1
  81. package/dest/browser/cbind/generated/async.d.ts +1 -1
  82. package/dest/browser/cbind/generated/async.d.ts.map +1 -1
  83. package/dest/browser/cbind/generated/async.js +2 -1
  84. package/dest/browser/cbind/generated/curve_constants.d.ts +1 -1
  85. package/dest/browser/cbind/generated/sync.d.ts +1 -1
  86. package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
  87. package/dest/browser/cbind/generated/sync.js +2 -1
  88. package/dest/browser/cbind/schema_compiler.d.ts +1 -1
  89. package/dest/browser/cbind/schema_compiler.d.ts.map +1 -1
  90. package/dest/browser/cbind/schema_compiler.js +6 -5
  91. package/dest/browser/crs/browser/cached_net_crs.d.ts +1 -1
  92. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -1
  93. package/dest/browser/crs/browser/cached_net_crs.js +6 -1
  94. package/dest/browser/crs/browser/index.d.ts +1 -1
  95. package/dest/browser/crs/index.d.ts +1 -1
  96. package/dest/browser/crs/net_crs.d.ts +1 -16
  97. package/dest/browser/crs/net_crs.d.ts.map +1 -1
  98. package/dest/browser/crs/net_crs.js +6 -1
  99. package/dest/browser/index.d.ts +2 -1
  100. package/dest/browser/index.d.ts.map +1 -1
  101. package/dest/browser/index.js +2 -1
  102. package/dest/browser/proof/index.d.ts +1 -1
  103. package/dest/browser/proof/index.js +1 -1
  104. package/dest/browser/random/browser/index.d.ts +1 -1
  105. package/dest/browser/random/browser/index.d.ts.map +1 -1
  106. package/dest/browser/random/browser/index.js +1 -1
  107. package/dest/browser/random/index.d.ts +1 -1
  108. package/dest/browser/retry/index.d.ts +1 -1
  109. package/dest/browser/retry/index.js +1 -1
  110. package/dest/node/async_map/index.d.ts +1 -1
  111. package/dest/node/async_map/index.js +1 -1
  112. package/dest/node/barretenberg/backend.d.ts +10 -24
  113. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  114. package/dest/node/barretenberg/backend.js +33 -84
  115. package/dest/node/barretenberg/blake2s.test.d.ts +1 -1
  116. package/dest/node/barretenberg/blake2s.test.js +2 -2
  117. package/dest/node/barretenberg/index.d.ts +2 -4
  118. package/dest/node/barretenberg/index.d.ts.map +1 -1
  119. package/dest/node/barretenberg/index.js +18 -27
  120. package/dest/node/barretenberg/pedersen.test.d.ts +1 -1
  121. package/dest/node/barretenberg/pedersen.test.js +2 -2
  122. package/dest/node/barretenberg/poseidon.bench.test.d.ts +1 -1
  123. package/dest/node/barretenberg/poseidon.bench.test.js +80 -79
  124. package/dest/node/barretenberg/poseidon.test.d.ts +1 -1
  125. package/dest/node/barretenberg/poseidon.test.js +2 -2
  126. package/dest/node/barretenberg/testing/bigint-buffer.d.ts +17 -0
  127. package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  128. package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
  129. package/dest/node/barretenberg/testing/fields.d.ts +16 -0
  130. package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
  131. package/dest/node/barretenberg/testing/fields.js +47 -0
  132. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  133. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  134. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  135. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  136. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  137. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  138. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
  139. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  140. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  141. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  142. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  143. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  144. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  145. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  146. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  147. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  148. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  149. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  150. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  151. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  152. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  153. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  154. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
  155. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  156. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  157. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  158. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  159. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  160. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  161. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  162. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  163. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  164. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  165. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  166. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  167. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  168. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +1 -1
  169. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  170. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  171. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +1 -1
  172. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  173. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  174. package/dest/node/barretenberg_wasm/helpers/browser/index.js +9 -2
  175. package/dest/node/barretenberg_wasm/helpers/index.d.ts +1 -1
  176. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  177. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  178. package/dest/node/barretenberg_wasm/helpers/node/index.js +14 -6
  179. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  180. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  181. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  182. package/dest/node/barretenberg_wasm/index.d.ts +1 -1
  183. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
  184. package/dest/node/barretenberg_wasm/index.js +2 -3
  185. package/dest/node/barretenberg_wasm/index.test.d.ts +1 -1
  186. package/dest/node/barretenberg_wasm/index.test.js +1 -1
  187. package/dest/node/bb_backends/browser/index.d.ts +1 -1
  188. package/dest/node/bb_backends/browser/index.js +1 -1
  189. package/dest/node/bb_backends/browser/platform.d.ts +4 -0
  190. package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
  191. package/dest/node/bb_backends/browser/platform.js +10 -0
  192. package/dest/node/bb_backends/index.d.ts +10 -7
  193. package/dest/node/bb_backends/index.d.ts.map +1 -1
  194. package/dest/node/bb_backends/index.js +8 -7
  195. package/dest/node/bb_backends/interface.d.ts +1 -1
  196. package/dest/node/bb_backends/node/index.d.ts +1 -1
  197. package/dest/node/bb_backends/node/index.d.ts.map +1 -1
  198. package/dest/node/bb_backends/node/index.js +15 -9
  199. package/dest/node/bb_backends/node/native_pipe.d.ts +1 -1
  200. package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -1
  201. package/dest/node/bb_backends/node/native_pipe.js +11 -10
  202. package/dest/node/bb_backends/node/native_shm.d.ts +3 -3
  203. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
  204. package/dest/node/bb_backends/node/native_shm.js +49 -22
  205. package/dest/node/bb_backends/node/native_shm_async.d.ts +51 -0
  206. package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -0
  207. package/dest/node/bb_backends/node/native_shm_async.js +237 -0
  208. package/dest/node/bb_backends/node/native_socket.d.ts +2 -2
  209. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
  210. package/dest/node/bb_backends/node/native_socket.js +43 -31
  211. package/dest/node/bb_backends/node/platform.d.ts +1 -1
  212. package/dest/node/bb_backends/node/platform.js +1 -1
  213. package/dest/node/bb_backends/wasm.d.ts +1 -1
  214. package/dest/node/bb_backends/wasm.d.ts.map +1 -1
  215. package/dest/node/bb_backends/wasm.js +5 -3
  216. package/dest/node/bbapi/exception_handling.test.d.ts +2 -0
  217. package/dest/node/bbapi/exception_handling.test.d.ts.map +1 -0
  218. package/dest/node/bbapi/exception_handling.test.js +48 -0
  219. package/dest/node/bbapi_exception.d.ts +1 -1
  220. package/dest/node/bbapi_exception.d.ts.map +1 -1
  221. package/dest/node/bbapi_exception.js +1 -1
  222. package/dest/node/benchmark/index.d.ts +1 -1
  223. package/dest/node/benchmark/index.js +1 -1
  224. package/dest/node/benchmark/timer.d.ts +1 -1
  225. package/dest/node/benchmark/timer.d.ts.map +1 -1
  226. package/dest/node/benchmark/timer.js +2 -1
  227. package/dest/node/bin/index.d.ts +3 -0
  228. package/dest/node/bin/index.d.ts.map +1 -0
  229. package/dest/node/bin/index.js +11 -0
  230. package/dest/node/cbind/generate.d.ts +1 -1
  231. package/dest/node/cbind/generate.js +1 -1
  232. package/dest/node/cbind/generated/api_types.d.ts +1 -1
  233. package/dest/node/cbind/generated/api_types.js +1 -1
  234. package/dest/node/cbind/generated/async.d.ts +1 -1
  235. package/dest/node/cbind/generated/async.d.ts.map +1 -1
  236. package/dest/node/cbind/generated/async.js +2 -1
  237. package/dest/node/cbind/generated/curve_constants.d.ts +1 -1
  238. package/dest/node/cbind/generated/sync.d.ts +1 -1
  239. package/dest/node/cbind/generated/sync.d.ts.map +1 -1
  240. package/dest/node/cbind/generated/sync.js +2 -1
  241. package/dest/node/cbind/schema_compiler.d.ts +1 -1
  242. package/dest/node/cbind/schema_compiler.d.ts.map +1 -1
  243. package/dest/node/cbind/schema_compiler.js +6 -5
  244. package/dest/node/crs/browser/cached_net_crs.d.ts +1 -1
  245. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -1
  246. package/dest/node/crs/browser/cached_net_crs.js +6 -1
  247. package/dest/node/crs/browser/index.d.ts +1 -1
  248. package/dest/node/crs/index.d.ts +1 -1
  249. package/dest/node/crs/net_crs.d.ts +1 -16
  250. package/dest/node/crs/net_crs.d.ts.map +1 -1
  251. package/dest/node/crs/net_crs.js +6 -1
  252. package/dest/node/crs/node/index.d.ts +1 -1
  253. package/dest/node/crs/node/index.d.ts.map +1 -1
  254. package/dest/node/crs/node/index.js +11 -6
  255. package/dest/node/index.d.ts +2 -1
  256. package/dest/node/index.d.ts.map +1 -1
  257. package/dest/node/index.js +2 -1
  258. package/dest/node/proof/index.d.ts +1 -1
  259. package/dest/node/proof/index.js +1 -1
  260. package/dest/node/random/browser/index.d.ts +1 -1
  261. package/dest/node/random/browser/index.d.ts.map +1 -1
  262. package/dest/node/random/browser/index.js +1 -1
  263. package/dest/node/random/index.d.ts +1 -1
  264. package/dest/node/random/node/index.d.ts +1 -1
  265. package/dest/node/random/node/index.js +1 -1
  266. package/dest/node/retry/index.d.ts +1 -1
  267. package/dest/node/retry/index.js +1 -1
  268. package/dest/node-cjs/async_map/index.d.ts +1 -1
  269. package/dest/node-cjs/async_map/index.js +1 -1
  270. package/dest/node-cjs/barretenberg/backend.d.ts +10 -24
  271. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  272. package/dest/node-cjs/barretenberg/backend.js +39 -90
  273. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +1 -1
  274. package/dest/node-cjs/barretenberg/blake2s.test.js +6 -6
  275. package/dest/node-cjs/barretenberg/index.d.ts +2 -4
  276. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  277. package/dest/node-cjs/barretenberg/index.js +24 -33
  278. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +1 -1
  279. package/dest/node-cjs/barretenberg/pedersen.test.js +9 -9
  280. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +1 -1
  281. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +89 -88
  282. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +1 -1
  283. package/dest/node-cjs/barretenberg/poseidon.test.js +4 -4
  284. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts +17 -0
  285. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  286. package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
  287. package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
  288. package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
  289. package/dest/node-cjs/barretenberg/testing/fields.js +51 -0
  290. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  291. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  292. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  293. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +7 -8
  294. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  295. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  296. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +3 -5
  297. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  298. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  299. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  300. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  301. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  302. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  303. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  304. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  305. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  306. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  307. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  308. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  309. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  310. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  311. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  312. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +3 -5
  313. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  314. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  315. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  316. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  317. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  318. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  319. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  320. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  321. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  322. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  323. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  324. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  325. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  326. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  327. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  328. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +2 -2
  329. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  330. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  331. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +2 -2
  332. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  333. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  334. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +9 -2
  335. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +1 -1
  336. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  337. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  338. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +15 -7
  339. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  340. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  341. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  342. package/dest/node-cjs/barretenberg_wasm/index.d.ts +1 -1
  343. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
  344. package/dest/node-cjs/barretenberg_wasm/index.js +2 -3
  345. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +1 -1
  346. package/dest/node-cjs/barretenberg_wasm/index.test.js +1 -1
  347. package/dest/node-cjs/bb_backends/browser/index.d.ts +1 -1
  348. package/dest/node-cjs/bb_backends/browser/index.js +1 -1
  349. package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
  350. package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
  351. package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
  352. package/dest/node-cjs/bb_backends/index.d.ts +10 -7
  353. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
  354. package/dest/node-cjs/bb_backends/index.js +6 -6
  355. package/dest/node-cjs/bb_backends/interface.d.ts +1 -1
  356. package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
  357. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
  358. package/dest/node-cjs/bb_backends/node/index.js +15 -9
  359. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +1 -1
  360. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -1
  361. package/dest/node-cjs/bb_backends/node/native_pipe.js +11 -10
  362. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +3 -3
  363. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
  364. package/dest/node-cjs/bb_backends/node/native_shm.js +49 -22
  365. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +51 -0
  366. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -0
  367. package/dest/node-cjs/bb_backends/node/native_shm_async.js +241 -0
  368. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +2 -2
  369. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
  370. package/dest/node-cjs/bb_backends/node/native_socket.js +43 -31
  371. package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
  372. package/dest/node-cjs/bb_backends/node/platform.js +2 -2
  373. package/dest/node-cjs/bb_backends/wasm.d.ts +1 -1
  374. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -1
  375. package/dest/node-cjs/bb_backends/wasm.js +5 -3
  376. package/dest/node-cjs/bbapi/exception_handling.test.d.ts +2 -0
  377. package/dest/node-cjs/bbapi/exception_handling.test.d.ts.map +1 -0
  378. package/dest/node-cjs/bbapi/exception_handling.test.js +50 -0
  379. package/dest/node-cjs/bbapi_exception.d.ts +1 -1
  380. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -1
  381. package/dest/node-cjs/bbapi_exception.js +1 -1
  382. package/dest/node-cjs/benchmark/index.d.ts +1 -1
  383. package/dest/node-cjs/benchmark/index.js +2 -2
  384. package/dest/node-cjs/benchmark/timer.d.ts +1 -1
  385. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -1
  386. package/dest/node-cjs/benchmark/timer.js +2 -1
  387. package/dest/node-cjs/bin/index.d.ts +3 -0
  388. package/dest/node-cjs/bin/index.d.ts.map +1 -0
  389. package/dest/node-cjs/bin/index.js +13 -0
  390. package/dest/node-cjs/cbind/generate.d.ts +1 -1
  391. package/dest/node-cjs/cbind/generate.js +1 -1
  392. package/dest/node-cjs/cbind/generated/api_types.d.ts +1 -1
  393. package/dest/node-cjs/cbind/generated/api_types.js +1 -1
  394. package/dest/node-cjs/cbind/generated/async.d.ts +1 -1
  395. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
  396. package/dest/node-cjs/cbind/generated/async.js +2 -1
  397. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +1 -1
  398. package/dest/node-cjs/cbind/generated/sync.d.ts +1 -1
  399. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
  400. package/dest/node-cjs/cbind/generated/sync.js +2 -1
  401. package/dest/node-cjs/cbind/schema_compiler.d.ts +1 -1
  402. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -1
  403. package/dest/node-cjs/cbind/schema_compiler.js +6 -5
  404. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +1 -1
  405. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -1
  406. package/dest/node-cjs/crs/browser/cached_net_crs.js +6 -1
  407. package/dest/node-cjs/crs/browser/index.d.ts +1 -1
  408. package/dest/node-cjs/crs/browser/index.js +2 -2
  409. package/dest/node-cjs/crs/index.d.ts +1 -1
  410. package/dest/node-cjs/crs/index.js +2 -2
  411. package/dest/node-cjs/crs/net_crs.d.ts +1 -16
  412. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
  413. package/dest/node-cjs/crs/net_crs.js +6 -1
  414. package/dest/node-cjs/crs/node/index.d.ts +1 -1
  415. package/dest/node-cjs/crs/node/index.d.ts.map +1 -1
  416. package/dest/node-cjs/crs/node/index.js +11 -6
  417. package/dest/node-cjs/index.d.ts +2 -1
  418. package/dest/node-cjs/index.d.ts.map +1 -1
  419. package/dest/node-cjs/index.js +10 -8
  420. package/dest/node-cjs/proof/index.d.ts +1 -1
  421. package/dest/node-cjs/proof/index.js +1 -1
  422. package/dest/node-cjs/random/browser/index.d.ts +1 -1
  423. package/dest/node-cjs/random/browser/index.d.ts.map +1 -1
  424. package/dest/node-cjs/random/browser/index.js +1 -1
  425. package/dest/node-cjs/random/index.d.ts +1 -1
  426. package/dest/node-cjs/random/node/index.d.ts +1 -1
  427. package/dest/node-cjs/random/node/index.js +1 -1
  428. package/dest/node-cjs/retry/index.d.ts +1 -1
  429. package/dest/node-cjs/retry/index.js +1 -1
  430. package/package.json +8 -6
  431. package/src/barretenberg/backend.ts +19 -97
  432. package/src/barretenberg/blake2s.test.ts +1 -1
  433. package/src/barretenberg/index.ts +16 -27
  434. package/src/barretenberg/pedersen.test.ts +1 -1
  435. package/src/barretenberg/poseidon.bench.test.ts +160 -157
  436. package/src/barretenberg/poseidon.test.ts +1 -1
  437. package/src/{types → barretenberg/testing}/fields.ts +12 -26
  438. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +1 -2
  439. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +0 -2
  440. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +0 -7
  441. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +0 -2
  442. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +0 -9
  443. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +37 -4
  444. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +0 -2
  445. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +0 -7
  446. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +0 -2
  447. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +0 -7
  448. package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +3 -2
  449. package/src/barretenberg_wasm/helpers/browser/index.ts +8 -1
  450. package/src/barretenberg_wasm/helpers/node/index.ts +13 -6
  451. package/src/barretenberg_wasm/index.ts +1 -2
  452. package/src/bb_backends/browser/platform.ts +11 -0
  453. package/src/bb_backends/index.ts +9 -6
  454. package/src/bb_backends/node/index.ts +16 -8
  455. package/src/bb_backends/node/native_shm.ts +48 -24
  456. package/src/bb_backends/node/native_shm_async.ts +266 -0
  457. package/src/bb_backends/node/native_socket.ts +31 -17
  458. package/src/bb_backends/wasm.ts +1 -2
  459. package/src/bbapi/exception_handling.test.ts +54 -0
  460. package/src/bin/index.ts +14 -0
  461. package/src/crs/node/index.ts +4 -5
  462. package/src/index.ts +2 -0
  463. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +0 -15
  464. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  465. package/dest/browser/bb_backends/sync_to_async_adapter.js +0 -20
  466. package/dest/browser/bigint-array/index.d.ts +0 -17
  467. package/dest/browser/bigint-array/index.d.ts.map +0 -1
  468. package/dest/browser/bigint-array/index.js +0 -37
  469. package/dest/browser/log/browser/index.d.ts +0 -6
  470. package/dest/browser/log/browser/index.d.ts.map +0 -1
  471. package/dest/browser/log/browser/index.js +0 -28
  472. package/dest/browser/log/index.d.ts +0 -2
  473. package/dest/browser/log/index.d.ts.map +0 -1
  474. package/dest/browser/log/index.js +0 -2
  475. package/dest/browser/log/types.d.ts +0 -6
  476. package/dest/browser/log/types.d.ts.map +0 -1
  477. package/dest/browser/log/types.js +0 -2
  478. package/dest/browser/serialize/index.d.ts +0 -2
  479. package/dest/browser/serialize/index.d.ts.map +0 -1
  480. package/dest/browser/serialize/index.js +0 -2
  481. package/dest/browser/serialize/serialize.d.ts +0 -18
  482. package/dest/browser/serialize/serialize.d.ts.map +0 -1
  483. package/dest/browser/serialize/serialize.js +0 -72
  484. package/dest/browser/types/fields.d.ts +0 -23
  485. package/dest/browser/types/fields.d.ts.map +0 -1
  486. package/dest/browser/types/fields.js +0 -61
  487. package/dest/browser/types/index.d.ts +0 -3
  488. package/dest/browser/types/index.d.ts.map +0 -1
  489. package/dest/browser/types/index.js +0 -3
  490. package/dest/browser/types/point.d.ts +0 -18
  491. package/dest/browser/types/point.d.ts.map +0 -1
  492. package/dest/browser/types/point.js +0 -28
  493. package/dest/node/bb_backends/sync_to_async_adapter.d.ts +0 -15
  494. package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  495. package/dest/node/bb_backends/sync_to_async_adapter.js +0 -20
  496. package/dest/node/bigint-array/index.d.ts +0 -17
  497. package/dest/node/bigint-array/index.d.ts.map +0 -1
  498. package/dest/node/bigint-array/index.js +0 -37
  499. package/dest/node/log/browser/index.d.ts +0 -6
  500. package/dest/node/log/browser/index.d.ts.map +0 -1
  501. package/dest/node/log/browser/index.js +0 -28
  502. package/dest/node/log/index.d.ts +0 -2
  503. package/dest/node/log/index.d.ts.map +0 -1
  504. package/dest/node/log/index.js +0 -2
  505. package/dest/node/log/node/index.d.ts +0 -6
  506. package/dest/node/log/node/index.d.ts.map +0 -1
  507. package/dest/node/log/node/index.js +0 -40
  508. package/dest/node/log/types.d.ts +0 -6
  509. package/dest/node/log/types.d.ts.map +0 -1
  510. package/dest/node/log/types.js +0 -2
  511. package/dest/node/serialize/index.d.ts +0 -2
  512. package/dest/node/serialize/index.d.ts.map +0 -1
  513. package/dest/node/serialize/index.js +0 -2
  514. package/dest/node/serialize/serialize.d.ts +0 -18
  515. package/dest/node/serialize/serialize.d.ts.map +0 -1
  516. package/dest/node/serialize/serialize.js +0 -72
  517. package/dest/node/types/fields.d.ts +0 -23
  518. package/dest/node/types/fields.d.ts.map +0 -1
  519. package/dest/node/types/fields.js +0 -61
  520. package/dest/node/types/index.d.ts +0 -3
  521. package/dest/node/types/index.d.ts.map +0 -1
  522. package/dest/node/types/index.js +0 -3
  523. package/dest/node/types/point.d.ts +0 -18
  524. package/dest/node/types/point.d.ts.map +0 -1
  525. package/dest/node/types/point.js +0 -28
  526. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +0 -15
  527. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  528. package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +0 -24
  529. package/dest/node-cjs/bigint-array/index.d.ts +0 -17
  530. package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
  531. package/dest/node-cjs/bigint-array/index.js +0 -43
  532. package/dest/node-cjs/log/browser/index.d.ts +0 -6
  533. package/dest/node-cjs/log/browser/index.d.ts.map +0 -1
  534. package/dest/node-cjs/log/browser/index.js +0 -30
  535. package/dest/node-cjs/log/index.d.ts +0 -2
  536. package/dest/node-cjs/log/index.d.ts.map +0 -1
  537. package/dest/node-cjs/log/index.js +0 -8
  538. package/dest/node-cjs/log/node/index.d.ts +0 -6
  539. package/dest/node-cjs/log/node/index.d.ts.map +0 -1
  540. package/dest/node-cjs/log/node/index.js +0 -42
  541. package/dest/node-cjs/log/types.d.ts +0 -6
  542. package/dest/node-cjs/log/types.d.ts.map +0 -1
  543. package/dest/node-cjs/log/types.js +0 -3
  544. package/dest/node-cjs/serialize/index.d.ts +0 -2
  545. package/dest/node-cjs/serialize/index.d.ts.map +0 -1
  546. package/dest/node-cjs/serialize/index.js +0 -5
  547. package/dest/node-cjs/serialize/serialize.d.ts +0 -18
  548. package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
  549. package/dest/node-cjs/serialize/serialize.js +0 -82
  550. package/dest/node-cjs/types/fields.d.ts +0 -23
  551. package/dest/node-cjs/types/fields.d.ts.map +0 -1
  552. package/dest/node-cjs/types/fields.js +0 -65
  553. package/dest/node-cjs/types/index.d.ts +0 -3
  554. package/dest/node-cjs/types/index.d.ts.map +0 -1
  555. package/dest/node-cjs/types/index.js +0 -6
  556. package/dest/node-cjs/types/point.d.ts +0 -18
  557. package/dest/node-cjs/types/point.d.ts.map +0 -1
  558. package/dest/node-cjs/types/point.js +0 -32
  559. package/src/bb_backends/sync_to_async_adapter.ts +0 -21
  560. package/src/cbind/generated/api_types.ts +0 -4271
  561. package/src/cbind/generated/async.ts +0 -717
  562. package/src/cbind/generated/curve_constants.ts +0 -53
  563. package/src/cbind/generated/sync.ts +0 -663
  564. package/src/log/browser/index.ts +0 -35
  565. package/src/log/index.ts +0 -1
  566. package/src/log/node/index.ts +0 -52
  567. package/src/log/types.ts +0 -6
  568. package/src/serialize/index.ts +0 -1
  569. package/src/serialize/serialize.ts +0 -75
  570. package/src/types/index.ts +0 -2
  571. package/src/types/point.ts +0 -32
  572. /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
@@ -2048,4 +2048,4 @@ export interface BbApiBase {
2048
2048
  destroy(): Promise<void>;
2049
2049
  }
2050
2050
  export {};
2051
- //# sourceMappingURL=api_types.d.ts.map
2051
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2JpbmQvZ2VuZXJhdGVkL2FwaV90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE1BQU0sTUFBTSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzlDLE1BQU0sTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBR2xDLE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELFVBQVUsaUJBQWlCO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsU0FBUyxFQUFFLFVBQVUsQ0FBQztDQUN2QjtBQUVELFVBQVUseUJBQXlCO0lBQ2pDLFNBQVMsRUFBRSxVQUFVLENBQUM7Q0FDdkI7QUFFRCxNQUFNLFdBQVcsVUFBVTtJQUN6QixTQUFTLEVBQUUsVUFBVSxDQUFDO0lBQ3RCLEVBQUUsRUFBRSxVQUFVLENBQUM7SUFDZixHQUFHLEVBQUUsVUFBVSxDQUFDO0lB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