@enbox/dwn-sdk-js 0.0.7 → 0.1.0

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 (368) hide show
  1. package/dist/browser.mjs +8 -8
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/generated/precompiled-validators.js +817 -911
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/constants.js +11 -0
  6. package/dist/esm/src/core/constants.js.map +1 -0
  7. package/dist/esm/src/core/core-protocol.js +44 -0
  8. package/dist/esm/src/core/core-protocol.js.map +1 -0
  9. package/dist/esm/src/core/dwn-error.js +12 -12
  10. package/dist/esm/src/core/dwn-error.js.map +1 -1
  11. package/dist/esm/src/core/grant-authorization.js +16 -3
  12. package/dist/esm/src/core/grant-authorization.js.map +1 -1
  13. package/dist/esm/src/core/protocol-authorization-action.js +5 -0
  14. package/dist/esm/src/core/protocol-authorization-action.js.map +1 -1
  15. package/dist/esm/src/core/protocol-authorization-validation.js +91 -0
  16. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
  17. package/dist/esm/src/core/protocol-authorization.js +53 -30
  18. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  19. package/dist/esm/src/core/records-grant-authorization.js +6 -8
  20. package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
  21. package/dist/esm/src/core/resumable-task-manager.js +2 -0
  22. package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
  23. package/dist/esm/src/dwn.js +42 -18
  24. package/dist/esm/src/dwn.js.map +1 -1
  25. package/dist/esm/src/event-stream/event-emitter-event-log.js +204 -0
  26. package/dist/esm/src/event-stream/event-emitter-event-log.js.map +1 -0
  27. package/dist/esm/src/handlers/messages-read.js +7 -11
  28. package/dist/esm/src/handlers/messages-read.js.map +1 -1
  29. package/dist/esm/src/handlers/messages-subscribe.js +22 -24
  30. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  31. package/dist/esm/src/handlers/messages-sync.js +11 -15
  32. package/dist/esm/src/handlers/messages-sync.js.map +1 -1
  33. package/dist/esm/src/handlers/protocols-configure.js +37 -27
  34. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  35. package/dist/esm/src/handlers/protocols-query.js +7 -11
  36. package/dist/esm/src/handlers/protocols-query.js.map +1 -1
  37. package/dist/esm/src/handlers/records-count.js +10 -12
  38. package/dist/esm/src/handlers/records-count.js.map +1 -1
  39. package/dist/esm/src/handlers/records-delete.js +10 -18
  40. package/dist/esm/src/handlers/records-delete.js.map +1 -1
  41. package/dist/esm/src/handlers/records-query.js +11 -15
  42. package/dist/esm/src/handlers/records-query.js.map +1 -1
  43. package/dist/esm/src/handlers/records-read.js +31 -26
  44. package/dist/esm/src/handlers/records-read.js.map +1 -1
  45. package/dist/esm/src/handlers/records-subscribe.js +39 -26
  46. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  47. package/dist/esm/src/handlers/records-write.js +128 -105
  48. package/dist/esm/src/handlers/records-write.js.map +1 -1
  49. package/dist/esm/src/index.js +5 -2
  50. package/dist/esm/src/index.js.map +1 -1
  51. package/dist/esm/src/interfaces/messages-subscribe.js +1 -0
  52. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  53. package/dist/esm/src/interfaces/protocols-configure.js +33 -3
  54. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  55. package/dist/esm/src/interfaces/records-count.js +1 -1
  56. package/dist/esm/src/interfaces/records-count.js.map +1 -1
  57. package/dist/esm/src/interfaces/records-delete.js +1 -1
  58. package/dist/esm/src/interfaces/records-delete.js.map +1 -1
  59. package/dist/esm/src/interfaces/records-query.js +1 -1
  60. package/dist/esm/src/interfaces/records-query.js.map +1 -1
  61. package/dist/esm/src/interfaces/records-read.js +1 -1
  62. package/dist/esm/src/interfaces/records-read.js.map +1 -1
  63. package/dist/esm/src/interfaces/records-subscribe.js +2 -1
  64. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  65. package/dist/esm/src/interfaces/records-write-signing.js +1 -12
  66. package/dist/esm/src/interfaces/records-write-signing.js.map +1 -1
  67. package/dist/esm/src/interfaces/records-write.js +25 -41
  68. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  69. package/dist/esm/src/protocols/permission-grant.js +1 -1
  70. package/dist/esm/src/protocols/permission-grant.js.map +1 -1
  71. package/dist/esm/src/protocols/permission-request.js +1 -1
  72. package/dist/esm/src/protocols/permission-request.js.map +1 -1
  73. package/dist/esm/src/protocols/permissions.js +113 -5
  74. package/dist/esm/src/protocols/permissions.js.map +1 -1
  75. package/dist/esm/src/state-index/state-index-level.js +5 -7
  76. package/dist/esm/src/state-index/state-index-level.js.map +1 -1
  77. package/dist/esm/src/store/data-store-level.js +110 -33
  78. package/dist/esm/src/store/data-store-level.js.map +1 -1
  79. package/dist/esm/src/store/index-level.js +42 -32
  80. package/dist/esm/src/store/index-level.js.map +1 -1
  81. package/dist/esm/src/store/storage-controller.js +70 -6
  82. package/dist/esm/src/store/storage-controller.js.map +1 -1
  83. package/dist/esm/src/types/permission-types.js.map +1 -1
  84. package/dist/esm/src/types/protocols-types.js +11 -0
  85. package/dist/esm/src/types/protocols-types.js.map +1 -1
  86. package/dist/esm/src/types/records-types.js.map +1 -1
  87. package/dist/esm/src/utils/hd-key.js +0 -8
  88. package/dist/esm/src/utils/hd-key.js.map +1 -1
  89. package/dist/esm/src/utils/messages.js +16 -34
  90. package/dist/esm/src/utils/messages.js.map +1 -1
  91. package/dist/esm/src/utils/records.js +5 -43
  92. package/dist/esm/src/utils/records.js.map +1 -1
  93. package/dist/esm/tests/core/protocol-authorization.spec.js +2 -1
  94. package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
  95. package/dist/esm/tests/dwn.spec.js +32 -43
  96. package/dist/esm/tests/dwn.spec.js.map +1 -1
  97. package/dist/esm/tests/event-emitter-event-log.spec.js +305 -0
  98. package/dist/esm/tests/event-emitter-event-log.spec.js.map +1 -0
  99. package/dist/esm/tests/features/author-delegated-grant.spec.js +14 -7
  100. package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
  101. package/dist/esm/tests/features/owner-delegated-grant.spec.js +9 -5
  102. package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
  103. package/dist/esm/tests/features/owner-signature.spec.js +14 -7
  104. package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
  105. package/dist/esm/tests/features/permissions.spec.js +12 -12
  106. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  107. package/dist/esm/tests/features/protocol-composition.spec.js +636 -5
  108. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  109. package/dist/esm/tests/features/protocol-create-action.spec.js +4 -4
  110. package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
  111. package/dist/esm/tests/features/protocol-delete-action.spec.js +7 -7
  112. package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
  113. package/dist/esm/tests/features/protocol-update-action.spec.js +4 -4
  114. package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
  115. package/dist/esm/tests/features/records-delivery.spec.js +236 -0
  116. package/dist/esm/tests/features/records-delivery.spec.js.map +1 -0
  117. package/dist/esm/tests/features/records-immutable.spec.js +315 -0
  118. package/dist/esm/tests/features/records-immutable.spec.js.map +1 -0
  119. package/dist/esm/tests/features/records-prune.spec.js +4 -4
  120. package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
  121. package/dist/esm/tests/features/records-record-limit.spec.js +542 -0
  122. package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -0
  123. package/dist/esm/tests/features/records-squash.spec.js +1055 -0
  124. package/dist/esm/tests/features/records-squash.spec.js.map +1 -0
  125. package/dist/esm/tests/features/records-tags.spec.js +16 -4
  126. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  127. package/dist/esm/tests/features/resumable-tasks.spec.js +7 -8
  128. package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
  129. package/dist/esm/tests/handlers/messages-read.spec.js +11 -5
  130. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  131. package/dist/esm/tests/handlers/messages-subscribe.spec.js +169 -22
  132. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  133. package/dist/esm/tests/handlers/messages-sync.spec.js +103 -21
  134. package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -1
  135. package/dist/esm/tests/handlers/protocols-configure.spec.js +5 -5
  136. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  137. package/dist/esm/tests/handlers/protocols-query.spec.js +5 -5
  138. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
  139. package/dist/esm/tests/handlers/records-count.spec.js +9 -4
  140. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  141. package/dist/esm/tests/handlers/records-delete.spec.js +24 -25
  142. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  143. package/dist/esm/tests/handlers/records-query.spec.js +68 -9
  144. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  145. package/dist/esm/tests/handlers/records-read.spec.js +24 -138
  146. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  147. package/dist/esm/tests/handlers/records-subscribe.spec.js +175 -35
  148. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  149. package/dist/esm/tests/handlers/records-write.spec.js +176 -72
  150. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  151. package/dist/esm/tests/interfaces/records-write.spec.js +52 -68
  152. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  153. package/dist/esm/tests/protocols/permission-grant.spec.js +6 -6
  154. package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -1
  155. package/dist/esm/tests/protocols/permission-request.spec.js +4 -4
  156. package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
  157. package/dist/esm/tests/protocols/permissions.spec.js +4 -4
  158. package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
  159. package/dist/esm/tests/scenarios/aggregator.spec.js +4 -4
  160. package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
  161. package/dist/esm/tests/scenarios/deleted-record.spec.js +350 -5
  162. package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
  163. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +4 -4
  164. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  165. package/dist/esm/tests/scenarios/nested-roles.spec.js +4 -4
  166. package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
  167. package/dist/esm/tests/scenarios/subscriptions.spec.js +93 -40
  168. package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
  169. package/dist/esm/tests/store/data-store-level.spec.js +102 -41
  170. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
  171. package/dist/esm/tests/test-event-stream.js +12 -13
  172. package/dist/esm/tests/test-event-stream.js.map +1 -1
  173. package/dist/esm/tests/test-suite.js +10 -4
  174. package/dist/esm/tests/test-suite.js.map +1 -1
  175. package/dist/esm/tests/utils/messages.spec.js +12 -5
  176. package/dist/esm/tests/utils/messages.spec.js.map +1 -1
  177. package/dist/esm/tests/utils/records.spec.js +8 -12
  178. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  179. package/dist/esm/tests/utils/test-data-generator.js +36 -2
  180. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  181. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +37 -8
  182. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  183. package/dist/types/generated/precompiled-validators.d.ts +49 -40
  184. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  185. package/dist/types/src/core/constants.d.ts +11 -0
  186. package/dist/types/src/core/constants.d.ts.map +1 -0
  187. package/dist/types/src/core/core-protocol.d.ts +89 -0
  188. package/dist/types/src/core/core-protocol.d.ts.map +1 -0
  189. package/dist/types/src/core/dwn-error.d.ts +12 -12
  190. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  191. package/dist/types/src/core/grant-authorization.d.ts +6 -2
  192. package/dist/types/src/core/grant-authorization.d.ts.map +1 -1
  193. package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -1
  194. package/dist/types/src/core/protocol-authorization-validation.d.ts +30 -0
  195. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
  196. package/dist/types/src/core/protocol-authorization.d.ts +19 -11
  197. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  198. package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -1
  199. package/dist/types/src/core/resumable-task-manager.d.ts +2 -1
  200. package/dist/types/src/core/resumable-task-manager.d.ts.map +1 -1
  201. package/dist/types/src/dwn.d.ts +19 -7
  202. package/dist/types/src/dwn.d.ts.map +1 -1
  203. package/dist/types/src/event-stream/event-emitter-event-log.d.ts +50 -0
  204. package/dist/types/src/event-stream/event-emitter-event-log.d.ts.map +1 -0
  205. package/dist/types/src/handlers/messages-read.d.ts +3 -8
  206. package/dist/types/src/handlers/messages-read.d.ts.map +1 -1
  207. package/dist/types/src/handlers/messages-subscribe.d.ts +6 -10
  208. package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
  209. package/dist/types/src/handlers/messages-sync.d.ts +3 -8
  210. package/dist/types/src/handlers/messages-sync.d.ts.map +1 -1
  211. package/dist/types/src/handlers/protocols-configure.d.ts +3 -10
  212. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  213. package/dist/types/src/handlers/protocols-query.d.ts +3 -8
  214. package/dist/types/src/handlers/protocols-query.d.ts.map +1 -1
  215. package/dist/types/src/handlers/records-count.d.ts +3 -6
  216. package/dist/types/src/handlers/records-count.d.ts.map +1 -1
  217. package/dist/types/src/handlers/records-delete.d.ts +3 -8
  218. package/dist/types/src/handlers/records-delete.d.ts.map +1 -1
  219. package/dist/types/src/handlers/records-query.d.ts +3 -8
  220. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  221. package/dist/types/src/handlers/records-read.d.ts +3 -8
  222. package/dist/types/src/handlers/records-read.d.ts.map +1 -1
  223. package/dist/types/src/handlers/records-subscribe.d.ts +8 -10
  224. package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
  225. package/dist/types/src/handlers/records-write.d.ts +12 -25
  226. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  227. package/dist/types/src/index.d.ts +8 -4
  228. package/dist/types/src/index.d.ts.map +1 -1
  229. package/dist/types/src/interfaces/messages-subscribe.d.ts +5 -0
  230. package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
  231. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  232. package/dist/types/src/interfaces/records-subscribe.d.ts +5 -0
  233. package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
  234. package/dist/types/src/interfaces/records-write-signing.d.ts +3 -4
  235. package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -1
  236. package/dist/types/src/interfaces/records-write.d.ts +11 -11
  237. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  238. package/dist/types/src/protocols/permission-grant.d.ts +1 -1
  239. package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
  240. package/dist/types/src/protocols/permission-request.d.ts +1 -1
  241. package/dist/types/src/protocols/permission-request.d.ts.map +1 -1
  242. package/dist/types/src/protocols/permissions.d.ts +40 -3
  243. package/dist/types/src/protocols/permissions.d.ts.map +1 -1
  244. package/dist/types/src/state-index/state-index-level.d.ts.map +1 -1
  245. package/dist/types/src/store/data-store-level.d.ts +20 -4
  246. package/dist/types/src/store/data-store-level.d.ts.map +1 -1
  247. package/dist/types/src/store/index-level.d.ts +4 -0
  248. package/dist/types/src/store/index-level.d.ts.map +1 -1
  249. package/dist/types/src/store/storage-controller.d.ts +20 -6
  250. package/dist/types/src/store/storage-controller.d.ts.map +1 -1
  251. package/dist/types/src/types/message-types.d.ts +3 -3
  252. package/dist/types/src/types/message-types.d.ts.map +1 -1
  253. package/dist/types/src/types/messages-types.d.ts +12 -3
  254. package/dist/types/src/types/messages-types.d.ts.map +1 -1
  255. package/dist/types/src/types/method-handler.d.ts +24 -3
  256. package/dist/types/src/types/method-handler.d.ts.map +1 -1
  257. package/dist/types/src/types/permission-types.d.ts +7 -0
  258. package/dist/types/src/types/permission-types.d.ts.map +1 -1
  259. package/dist/types/src/types/protocols-types.d.ts +69 -2
  260. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  261. package/dist/types/src/types/records-types.d.ts +23 -6
  262. package/dist/types/src/types/records-types.d.ts.map +1 -1
  263. package/dist/types/src/types/subscriptions.d.ts +151 -13
  264. package/dist/types/src/types/subscriptions.d.ts.map +1 -1
  265. package/dist/types/src/utils/hd-key.d.ts +1 -9
  266. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  267. package/dist/types/src/utils/messages.d.ts +7 -5
  268. package/dist/types/src/utils/messages.d.ts.map +1 -1
  269. package/dist/types/src/utils/records.d.ts +1 -11
  270. package/dist/types/src/utils/records.d.ts.map +1 -1
  271. package/dist/types/tests/dwn.spec.d.ts.map +1 -1
  272. package/dist/types/tests/event-emitter-event-log.spec.d.ts +2 -0
  273. package/dist/types/tests/event-emitter-event-log.spec.d.ts.map +1 -0
  274. package/dist/types/tests/features/author-delegated-grant.spec.d.ts.map +1 -1
  275. package/dist/types/tests/features/owner-delegated-grant.spec.d.ts.map +1 -1
  276. package/dist/types/tests/features/owner-signature.spec.d.ts.map +1 -1
  277. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
  278. package/dist/types/tests/features/records-delivery.spec.d.ts +2 -0
  279. package/dist/types/tests/features/records-delivery.spec.d.ts.map +1 -0
  280. package/dist/types/tests/features/records-immutable.spec.d.ts +2 -0
  281. package/dist/types/tests/features/records-immutable.spec.d.ts.map +1 -0
  282. package/dist/types/tests/features/records-record-limit.spec.d.ts +2 -0
  283. package/dist/types/tests/features/records-record-limit.spec.d.ts.map +1 -0
  284. package/dist/types/tests/features/records-squash.spec.d.ts +2 -0
  285. package/dist/types/tests/features/records-squash.spec.d.ts.map +1 -0
  286. package/dist/types/tests/features/records-tags.spec.d.ts.map +1 -1
  287. package/dist/types/tests/features/resumable-tasks.spec.d.ts.map +1 -1
  288. package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -1
  289. package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
  290. package/dist/types/tests/handlers/messages-sync.spec.d.ts.map +1 -1
  291. package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -1
  292. package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -1
  293. package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
  294. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  295. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  296. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  297. package/dist/types/tests/scenarios/deleted-record.spec.d.ts.map +1 -1
  298. package/dist/types/tests/scenarios/subscriptions.spec.d.ts.map +1 -1
  299. package/dist/types/tests/test-event-stream.d.ts +11 -12
  300. package/dist/types/tests/test-event-stream.d.ts.map +1 -1
  301. package/dist/types/tests/test-suite.d.ts +2 -2
  302. package/dist/types/tests/test-suite.d.ts.map +1 -1
  303. package/dist/types/tests/utils/test-data-generator.d.ts +19 -0
  304. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  305. package/package.json +5 -4
  306. package/src/core/constants.ts +11 -0
  307. package/src/core/core-protocol.ts +129 -0
  308. package/src/core/dwn-error.ts +18 -12
  309. package/src/core/grant-authorization.ts +20 -3
  310. package/src/core/protocol-authorization-action.ts +5 -0
  311. package/src/core/protocol-authorization-validation.ts +133 -0
  312. package/src/core/protocol-authorization.ts +71 -23
  313. package/src/core/records-grant-authorization.ts +6 -8
  314. package/src/core/resumable-task-manager.ts +3 -1
  315. package/src/dwn.ts +58 -73
  316. package/src/event-stream/event-emitter-event-log.ts +283 -0
  317. package/src/handlers/messages-read.ts +8 -9
  318. package/src/handlers/messages-subscribe.ts +24 -28
  319. package/src/handlers/messages-sync.ts +10 -16
  320. package/src/handlers/protocols-configure.ts +47 -32
  321. package/src/handlers/protocols-query.ts +6 -9
  322. package/src/handlers/records-count.ts +11 -10
  323. package/src/handlers/records-delete.ts +12 -21
  324. package/src/handlers/records-query.ts +12 -12
  325. package/src/handlers/records-read.ts +34 -22
  326. package/src/handlers/records-subscribe.ts +47 -26
  327. package/src/handlers/records-write.ts +152 -119
  328. package/src/index.ts +9 -5
  329. package/src/interfaces/messages-subscribe.ts +7 -1
  330. package/src/interfaces/protocols-configure.ts +51 -3
  331. package/src/interfaces/records-count.ts +1 -1
  332. package/src/interfaces/records-delete.ts +1 -1
  333. package/src/interfaces/records-query.ts +1 -1
  334. package/src/interfaces/records-read.ts +1 -1
  335. package/src/interfaces/records-subscribe.ts +8 -1
  336. package/src/interfaces/records-write-signing.ts +2 -22
  337. package/src/interfaces/records-write.ts +35 -48
  338. package/src/protocols/permission-grant.ts +1 -1
  339. package/src/protocols/permission-request.ts +1 -1
  340. package/src/protocols/permissions.ts +148 -6
  341. package/src/state-index/state-index-level.ts +5 -7
  342. package/src/store/data-store-level.ts +124 -34
  343. package/src/store/index-level.ts +44 -35
  344. package/src/store/storage-controller.ts +89 -12
  345. package/src/types/message-types.ts +3 -3
  346. package/src/types/messages-types.ts +12 -3
  347. package/src/types/method-handler.ts +26 -4
  348. package/src/types/mitt.d.ts +28 -0
  349. package/src/types/permission-types.ts +7 -0
  350. package/src/types/protocols-types.ts +78 -1
  351. package/src/types/records-types.ts +24 -6
  352. package/src/types/subscriptions.ts +178 -14
  353. package/src/utils/hd-key.ts +0 -9
  354. package/src/utils/messages.ts +17 -37
  355. package/src/utils/records.ts +7 -58
  356. package/dist/esm/src/event-stream/event-emitter-stream.js +0 -46
  357. package/dist/esm/src/event-stream/event-emitter-stream.js.map +0 -1
  358. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js +0 -68
  359. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +0 -1
  360. package/dist/esm/tests/event-stream/event-stream.spec.js +0 -114
  361. package/dist/esm/tests/event-stream/event-stream.spec.js.map +0 -1
  362. package/dist/types/src/event-stream/event-emitter-stream.d.ts +0 -23
  363. package/dist/types/src/event-stream/event-emitter-stream.d.ts.map +0 -1
  364. package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts +0 -2
  365. package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts.map +0 -1
  366. package/dist/types/tests/event-stream/event-stream.spec.d.ts +0 -2
  367. package/dist/types/tests/event-stream/event-stream.spec.d.ts.map +0 -1
  368. package/src/event-stream/event-emitter-stream.ts +0 -69
@@ -5,7 +5,7 @@ import { MessagesSync } from '../../src/interfaces/messages-sync.js';
5
5
  import { MessagesSyncHandler } from '../../src/handlers/messages-sync.js';
6
6
  import sinon from 'sinon';
7
7
  import { TestDataGenerator } from '../utils/test-data-generator.js';
8
- import { TestEventStream } from '../test-event-stream.js';
8
+ import { TestEventLog } from '../test-event-stream.js';
9
9
  import { TestStores } from '../test-stores.js';
10
10
  import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'bun:test';
11
11
  import { DidKey, UniversalResolver } from '@enbox/dids';
@@ -17,7 +17,7 @@ export function testMessagesSyncHandler() {
17
17
  let dataStore;
18
18
  let resumableTaskStore;
19
19
  let stateIndex;
20
- let eventStream;
20
+ let eventLog;
21
21
  let dwn;
22
22
  beforeAll(async () => {
23
23
  didResolver = new UniversalResolver({ didResolvers: [DidKey] });
@@ -26,8 +26,8 @@ export function testMessagesSyncHandler() {
26
26
  dataStore = stores.dataStore;
27
27
  resumableTaskStore = stores.resumableTaskStore;
28
28
  stateIndex = stores.stateIndex;
29
- eventStream = TestEventStream.get();
30
- dwn = await Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventStream, resumableTaskStore });
29
+ eventLog = TestEventLog.get();
30
+ dwn = await Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventLog, resumableTaskStore });
31
31
  });
32
32
  beforeEach(async () => {
33
33
  await messageStore.clear();
@@ -52,6 +52,7 @@ export function testMessagesSyncHandler() {
52
52
  });
53
53
  it('returns a different root hash after writing a message', async () => {
54
54
  const alice = await TestDataGenerator.generateDidKeyPersona();
55
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
55
56
  // get the empty root
56
57
  const { message: rootMsg1 } = await MessagesSync.create({
57
58
  signer: Jws.createSigner(alice),
@@ -75,6 +76,7 @@ export function testMessagesSyncHandler() {
75
76
  });
76
77
  it('returns protocol-scoped root hash when protocol is specified', async () => {
77
78
  const alice = await TestDataGenerator.generateDidKeyPersona();
79
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
78
80
  const protocolDefinition = { ...freeForAll, published: true };
79
81
  // configure the protocol
80
82
  const { message: protocolMessage } = await TestDataGenerator.generateProtocolsConfigure({
@@ -92,10 +94,10 @@ export function testMessagesSyncHandler() {
92
94
  });
93
95
  const writeReply = await dwn.processMessage(alice.did, recordMessage, { dataStream });
94
96
  expect(writeReply.status.code).toBe(202);
95
- // write a flat-space (non-protocol) record to diverge the global root
96
- const { message: flatRecord, dataStream: flatDataStream } = await TestDataGenerator.generateRecordsWrite({ author: alice });
97
- const flatWriteReply = await dwn.processMessage(alice.did, flatRecord, { dataStream: flatDataStream });
98
- expect(flatWriteReply.status.code).toBe(202);
97
+ // write a record under a different protocol to diverge the global root
98
+ const { message: otherRecord, dataStream: otherDataStream } = await TestDataGenerator.generateRecordsWrite({ author: alice });
99
+ const otherWriteReply = await dwn.processMessage(alice.did, otherRecord, { dataStream: otherDataStream });
100
+ expect(otherWriteReply.status.code).toBe(202);
99
101
  // get the global root
100
102
  const { message: globalRootMsg } = await MessagesSync.create({
101
103
  signer: Jws.createSigner(alice),
@@ -112,7 +114,7 @@ export function testMessagesSyncHandler() {
112
114
  const protoReply = await dwn.processMessage(alice.did, protoRootMsg);
113
115
  expect(protoReply.status.code).toBe(200);
114
116
  // global root and protocol root should be different
115
- // (global includes the flat-space record which is not in any protocol)
117
+ // (global includes the record from the other protocol)
116
118
  expect(protoReply.root).not.toBe(globalReply.root);
117
119
  // both should be non-empty roots
118
120
  expect(protoReply.root.length).toBe(64);
@@ -121,6 +123,7 @@ export function testMessagesSyncHandler() {
121
123
  describe('subtree action', () => {
122
124
  it('returns a subtree hash for a given bit prefix', async () => {
123
125
  const alice = await TestDataGenerator.generateDidKeyPersona();
126
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
124
127
  // write a record so the tree is non-empty
125
128
  const { message: recordMessage, dataStream } = await TestDataGenerator.generateRecordsWrite({ author: alice });
126
129
  const writeReply = await dwn.processMessage(alice.did, recordMessage, { dataStream });
@@ -137,6 +140,7 @@ export function testMessagesSyncHandler() {
137
140
  });
138
141
  it('returns different hashes for different prefixes', async () => {
139
142
  const alice = await TestDataGenerator.generateDidKeyPersona();
143
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
140
144
  // write several records to populate various subtrees
141
145
  for (let i = 0; i < 10; i++) {
142
146
  const { message: recordMessage, dataStream } = await TestDataGenerator.generateRecordsWrite({ author: alice });
@@ -164,6 +168,7 @@ export function testMessagesSyncHandler() {
164
168
  describe('leaves action', () => {
165
169
  it('returns all message CIDs for an empty prefix', async () => {
166
170
  const alice = await TestDataGenerator.generateDidKeyPersona();
171
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
167
172
  // write some messages
168
173
  const expectedCids = [];
169
174
  for (let i = 0; i < 3; i++) {
@@ -180,13 +185,15 @@ export function testMessagesSyncHandler() {
180
185
  const reply = await dwn.processMessage(alice.did, message);
181
186
  expect(reply.status.code).toBe(200);
182
187
  expect(Array.isArray(reply.entries)).toBe(true);
183
- expect(reply.entries.length).toBe(3);
188
+ // 3 RecordsWrite messages + 1 ProtocolsConfigure for the default test protocol
189
+ expect(reply.entries.length).toBe(4);
184
190
  for (const cid of expectedCids) {
185
191
  expect(reply.entries).toContain(cid);
186
192
  }
187
193
  });
188
194
  it('returns protocol-scoped leaves when protocol is specified', async () => {
189
195
  const alice = await TestDataGenerator.generateDidKeyPersona();
196
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
190
197
  const protocolDefinition = { ...freeForAll, published: true };
191
198
  // configure the protocol
192
199
  const { message: protocolMessage } = await TestDataGenerator.generateProtocolsConfigure({
@@ -204,10 +211,10 @@ export function testMessagesSyncHandler() {
204
211
  });
205
212
  const protoWriteReply = await dwn.processMessage(alice.did, protoRecord, { dataStream: protoDataStream });
206
213
  expect(protoWriteReply.status.code).toBe(202);
207
- // write a non-protocol record
208
- const { message: flatRecord, dataStream: flatDataStream } = await TestDataGenerator.generateRecordsWrite({ author: alice });
209
- const flatWriteReply = await dwn.processMessage(alice.did, flatRecord, { dataStream: flatDataStream });
210
- expect(flatWriteReply.status.code).toBe(202);
214
+ // write a record under a different protocol
215
+ const { message: otherRecord, dataStream: otherDataStream } = await TestDataGenerator.generateRecordsWrite({ author: alice });
216
+ const otherWriteReply = await dwn.processMessage(alice.did, otherRecord, { dataStream: otherDataStream });
217
+ expect(otherWriteReply.status.code).toBe(202);
211
218
  // query protocol-scoped leaves
212
219
  const { message } = await MessagesSync.create({
213
220
  signer: Jws.createSigner(alice),
@@ -217,7 +224,7 @@ export function testMessagesSyncHandler() {
217
224
  });
218
225
  const reply = await dwn.processMessage(alice.did, message);
219
226
  expect(reply.status.code).toBe(200);
220
- // should contain the ProtocolsConfigure and the protocol-scoped record, but not the flat record
227
+ // should contain the ProtocolsConfigure and the protocol-scoped record, but not the other-protocol record
221
228
  expect(reply.entries.length).toBe(2);
222
229
  const protocolCid = await Message.getCid(protocolMessage);
223
230
  const recordCid = await Message.getCid(protoRecord);
@@ -243,7 +250,7 @@ export function testMessagesSyncHandler() {
243
250
  action: 'root',
244
251
  });
245
252
  message['descriptor']['troll'] = 'hehe';
246
- const handler = new MessagesSyncHandler(didResolver, messageStore, stateIndex);
253
+ const handler = new MessagesSyncHandler({ didResolver, messageStore, stateIndex });
247
254
  const reply = await handler.handle({ tenant: alice.did, message });
248
255
  expect(reply.status.code).toBe(400);
249
256
  });
@@ -251,6 +258,7 @@ export function testMessagesSyncHandler() {
251
258
  it('allows sync with a matching MessagesSync grant scope', async () => {
252
259
  const alice = await TestDataGenerator.generateDidKeyPersona();
253
260
  const bob = await TestDataGenerator.generateDidKeyPersona();
261
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
254
262
  // write a record so the tree is non-empty
255
263
  const { message: recordMessage, dataStream } = await TestDataGenerator.generateRecordsWrite({ author: alice });
256
264
  const writeReply = await dwn.processMessage(alice.did, recordMessage, { dataStream });
@@ -277,6 +285,80 @@ export function testMessagesSyncHandler() {
277
285
  expect(typeof reply.root).toBe('string');
278
286
  expect(reply.root.length).toBe(64);
279
287
  });
288
+ it('allows sync with a unified MessagesRead grant scope', async () => {
289
+ // scenario: A Messages.Read grant should also authorize MessagesSync operations
290
+ const alice = await TestDataGenerator.generateDidKeyPersona();
291
+ const bob = await TestDataGenerator.generateDidKeyPersona();
292
+ await TestDataGenerator.installDefaultTestProtocol(dwn, alice);
293
+ // write a record so the tree is non-empty
294
+ const { message: recordMessage, dataStream } = await TestDataGenerator.generateRecordsWrite({ author: alice });
295
+ const writeReply = await dwn.processMessage(alice.did, recordMessage, { dataStream });
296
+ expect(writeReply.status.code).toBe(202);
297
+ // grant bob permission with Messages.Read scope (unified)
298
+ const { message: grantMessage, dataStream: grantDataStream } = await TestDataGenerator.generateGrantCreate({
299
+ author: alice,
300
+ grantedTo: bob,
301
+ scope: {
302
+ interface: DwnInterfaceName.Messages,
303
+ method: DwnMethodName.Read,
304
+ },
305
+ });
306
+ const grantReply = await dwn.processMessage(alice.did, grantMessage, { dataStream: grantDataStream });
307
+ expect(grantReply.status.code).toBe(202);
308
+ // bob syncs using the Messages.Read grant — root action
309
+ const { message: syncMsg } = await MessagesSync.create({
310
+ signer: Jws.createSigner(bob),
311
+ action: 'root',
312
+ permissionGrantId: grantMessage.recordId,
313
+ });
314
+ const reply2 = await dwn.processMessage(alice.did, syncMsg);
315
+ expect(reply2.status.code).toBe(200);
316
+ expect(typeof reply2.root).toBe('string');
317
+ expect(reply2.root.length).toBe(64);
318
+ });
319
+ it('allows sync with a protocol-scoped MessagesRead grant', async () => {
320
+ // scenario: A Messages.Read grant scoped to a protocol should authorize protocol-scoped MessagesSync
321
+ const alice = await TestDataGenerator.generateDidKeyPersona();
322
+ const bob = await TestDataGenerator.generateDidKeyPersona();
323
+ const protocolDefinition = { ...freeForAll, published: true };
324
+ // configure and write a protocol record
325
+ const { message: protocolMessage } = await TestDataGenerator.generateProtocolsConfigure({
326
+ author: alice,
327
+ protocolDefinition,
328
+ });
329
+ await dwn.processMessage(alice.did, protocolMessage);
330
+ const { message: recordMessage, dataStream } = await TestDataGenerator.generateRecordsWrite({
331
+ author: alice,
332
+ protocol: protocolDefinition.protocol,
333
+ protocolPath: 'post',
334
+ schema: protocolDefinition.types.post.schema,
335
+ });
336
+ await dwn.processMessage(alice.did, recordMessage, { dataStream });
337
+ // grant bob permission with Messages.Read scope scoped to this protocol
338
+ const { message: grantMessage, dataStream: grantDataStream } = await TestDataGenerator.generateGrantCreate({
339
+ author: alice,
340
+ grantedTo: bob,
341
+ scope: {
342
+ interface: DwnInterfaceName.Messages,
343
+ method: DwnMethodName.Read,
344
+ protocol: protocolDefinition.protocol,
345
+ },
346
+ });
347
+ const grantReply = await dwn.processMessage(alice.did, grantMessage, { dataStream: grantDataStream });
348
+ expect(grantReply.status.code).toBe(202);
349
+ // bob syncs leaves with the protocol-scoped Messages.Read grant
350
+ const { message: syncMsg } = await MessagesSync.create({
351
+ signer: Jws.createSigner(bob),
352
+ action: 'leaves',
353
+ prefix: '',
354
+ protocol: protocolDefinition.protocol,
355
+ permissionGrantId: grantMessage.recordId,
356
+ });
357
+ const reply2 = await dwn.processMessage(alice.did, syncMsg);
358
+ expect(reply2.status.code).toBe(200);
359
+ expect(Array.isArray(reply2.entries)).toBe(true);
360
+ expect(reply2.entries.length).toBe(2);
361
+ });
280
362
  it('allows sync with a protocol-scoped grant', async () => {
281
363
  const alice = await TestDataGenerator.generateDidKeyPersona();
282
364
  const bob = await TestDataGenerator.generateDidKeyPersona();
@@ -408,7 +490,7 @@ export function testMessagesSyncHandler() {
408
490
  });
409
491
  // manually override to an invalid action
410
492
  message.descriptor.action = 'invalid';
411
- const handler = new MessagesSyncHandler(didResolver, messageStore, stateIndex);
493
+ const handler = new MessagesSyncHandler({ didResolver, messageStore, stateIndex });
412
494
  const reply = await handler.handle({ tenant: alice.did, message });
413
495
  expect(reply.status.code).toBe(400);
414
496
  // the JSON schema validator catches the invalid action before the handler switch/case
@@ -429,7 +511,7 @@ export function testMessagesSyncHandler() {
429
511
  try {
430
512
  // Override action to something that passes the stub but hits the default case
431
513
  message.descriptor.action = 'bogusAction';
432
- const handler = new MessagesSyncHandler(didResolver, messageStore, stateIndex);
514
+ const handler = new MessagesSyncHandler({ didResolver, messageStore, stateIndex });
433
515
  const reply = await handler.handle({ tenant: alice.did, message });
434
516
  expect(reply.status.code).toBe(400);
435
517
  expect(reply.status.detail).toContain('Unknown action');
@@ -454,7 +536,7 @@ export function testMessagesSyncHandler() {
454
536
  try {
455
537
  // Override prefix to contain invalid characters
456
538
  message.descriptor.prefix = 'abc';
457
- const handler = new MessagesSyncHandler(didResolver, messageStore, stateIndex);
539
+ const handler = new MessagesSyncHandler({ didResolver, messageStore, stateIndex });
458
540
  const reply = await handler.handle({ tenant: alice.did, message });
459
541
  expect(reply.status.code).toBe(500);
460
542
  expect(reply.status.detail).toContain('MessagesSyncInvalidPrefix');
@@ -479,7 +561,7 @@ export function testMessagesSyncHandler() {
479
561
  try {
480
562
  // Override prefix to be too long
481
563
  message.descriptor.prefix = '0'.repeat(257);
482
- const handler = new MessagesSyncHandler(didResolver, messageStore, stateIndex);
564
+ const handler = new MessagesSyncHandler({ didResolver, messageStore, stateIndex });
483
565
  const reply = await handler.handle({ tenant: alice.did, message });
484
566
  expect(reply.status.code).toBe(500);
485
567
  expect(reply.status.detail).toContain('MessagesSyncInvalidPrefix');
@@ -505,7 +587,7 @@ export function testMessagesSyncHandler() {
505
587
  getLeaves: async () => { throw new Error('Unexpected DB failure'); },
506
588
  getProtocolLeaves: async () => { throw new Error('Unexpected DB failure'); },
507
589
  };
508
- const handler = new MessagesSyncHandler(didResolver, messageStore, failingStateIndex);
590
+ const handler = new MessagesSyncHandler({ didResolver, messageStore, stateIndex: failingStateIndex });
509
591
  const { message } = await MessagesSync.create({
510
592
  signer: Jws.createSigner(alice),
511
593
  action: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"messages-sync.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/messages-sync.spec.ts"],"names":[],"mappings":"AAUA,OAAO,UAAU,MAAM,mDAAmD,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjG,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxF,MAAM,UAAU,uBAAuB;IACrC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,IAAI,WAAwB,CAAC;QAC7B,IAAI,YAA0B,CAAC;QAC/B,IAAI,SAAoB,CAAC;QACzB,IAAI,kBAAsC,CAAC;QAC3C,IAAI,UAAsB,CAAC;QAC3B,IAAI,WAAwB,CAAC;QAC7B,IAAI,GAAQ,CAAC;QAEb,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,WAAW,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAChC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACnC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC7B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YAC/C,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;YAEpC,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;YAC3B,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBACzE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;YAClE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;gBACrE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,qBAAqB;gBACrB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBACtD,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;gBAE9B,iBAAiB;gBACjB,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,qBAAqB;gBACrB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBACtD,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC7D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;gBAC5E,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,kBAAkB,GAAuB,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAElF,yBAAyB;gBACzB,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;oBACtF,MAAM,EAAE,KAAK;oBACb,kBAAkB;iBACnB,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;gBAC5E,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE7C,mCAAmC;gBACnC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAC1F,MAAM,EAAS,KAAK;oBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;oBAC1C,YAAY,EAAG,MAAM;oBACrB,MAAM,EAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;iBACpD,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,sEAAsE;gBACtE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5H,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;gBACvG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE7C,sBAAsB;gBACtB,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC3D,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;gBACvE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE1C,+BAA+B;gBAC/B,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC1D,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAClC,MAAM,EAAK,MAAM;oBACjB,QAAQ,EAAG,kBAAkB,CAAC,QAAQ;iBACvC,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;gBACrE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,oDAAoD;gBACpD,uEAAuE;gBACvE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACnD,iCAAiC;gBACjC,MAAM,CAAC,UAAU,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC9B,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;gBAC7D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,0CAA0C;gBAC1C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,SAAS;oBAClB,MAAM,EAAG,GAAG;iBACb,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;gBAC/D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,qDAAqD;gBACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;gBAED,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAClD,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,SAAS;oBAClB,MAAM,EAAG,GAAG;iBACb,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAEzD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAClD,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,SAAS;oBAClB,MAAM,EAAG,GAAG;iBACb,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAEzD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,uEAAuE;gBACvE,sDAAsD;YACxD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,sBAAsB;gBACtB,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3B,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACzC,YAAY,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,QAAQ;oBACjB,MAAM,EAAG,EAAE;iBACZ,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBACzE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,kBAAkB,GAAuB,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAElF,yBAAyB;gBACzB,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;oBACtF,MAAM,EAAE,KAAK;oBACb,kBAAkB;iBACnB,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;gBAC5E,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE7C,iCAAiC;gBACjC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBACzG,MAAM,EAAS,KAAK;oBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;oBAC1C,YAAY,EAAG,MAAM;oBACrB,MAAM,EAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;iBACpD,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC1G,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE9C,8BAA8B;gBAC9B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5H,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;gBACvG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE7C,+BAA+B;gBAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAK,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAClC,MAAM,EAAK,QAAQ;oBACnB,MAAM,EAAK,EAAE;oBACb,QAAQ,EAAG,kBAAkB,CAAC,QAAQ;iBACvC,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,gGAAgG;gBAChG,MAAM,CAAC,KAAK,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC7C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;gBACvD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE5D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACzD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;gBACjD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBACF,OAAO,CAAC,YAAY,CAAS,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;gBAEjD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;gBAC/E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAChC,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;oBACpE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,0CAA0C;oBAC1C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC/G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACtF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,gDAAgD;oBAChD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACzG,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;yBAC/B;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;oBACtG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,0CAA0C;oBAC1C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,MAAM;wBAC1B,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;oBACxD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,MAAM,kBAAkB,GAAuB,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oBAElF,wCAAwC;oBACxC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;wBACtF,MAAM,EAAE,KAAK;wBACb,kBAAkB;qBACnB,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;oBAErD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;wBAC1F,MAAM,EAAS,KAAK;wBACpB,QAAQ,EAAO,kBAAkB,CAAC,QAAQ;wBAC1C,YAAY,EAAG,MAAM;wBACrB,MAAM,EAAS,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;qBACpD,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBAEnE,wEAAwE;oBACxE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACzG,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB,CAAC,QAAQ;yBACxC;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;oBACtG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,kDAAkD;oBAClD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,QAAQ;wBAC5B,MAAM,EAAc,EAAE;wBACtB,QAAQ,EAAY,kBAAkB,CAAC,QAAQ;wBAC/C,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChD,4DAA4D;oBAC5D,MAAM,CAAC,KAAK,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBAC1D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACtD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBAC7C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;oBACnE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,iEAAiE;oBACjE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACxF,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,OAAO;4BACpC,MAAM,EAAM,aAAa,CAAC,KAAK;4BAC/B,QAAQ,EAAI,UAAU,CAAC,QAAQ;yBAChC;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACrF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,MAAM;wBAC1B,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;gBAC1F,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;oBAChE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,mEAAmE;oBACnE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACxF,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,SAAS;yBACpC;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACrF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,MAAM;wBAC1B,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;oBAClE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;oBAE5D,yCAAyC;oBACzC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBACxF,MAAM,EAAM,KAAK;wBACjB,SAAS,EAAG,GAAG;wBACf,KAAK,EAAO;4BACV,SAAS,EAAG,gBAAgB,CAAC,QAAQ;4BACrC,MAAM,EAAM,aAAa,CAAC,IAAI;4BAC9B,QAAQ,EAAI,kBAAkB;yBAC/B;qBACF,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBACrF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEzC,2DAA2D;oBAC3D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;wBACrD,MAAM,EAAc,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;wBACzC,MAAM,EAAc,MAAM;wBAC1B,QAAQ,EAAY,kBAAkB;wBACtC,iBAAiB,EAAG,YAAY,CAAC,QAAQ;qBAC1C,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,4CAA4C,CAAC,CAAC;gBACnG,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;gBACjD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBACH,yCAAyC;gBACxC,OAAO,CAAC,UAAkB,CAAC,MAAM,GAAG,SAAS,CAAC;gBAE/C,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;gBAC/E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,sFAAsF;gBACtF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;gBAC7F,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBAEH,oDAAoD;gBACpD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;oBAC3D,MAAM,EAAa,KAAK,CAAC,GAAG;oBAC5B,OAAO,EAAY,OAAO;oBAC1B,gBAAgB,EAAG,EAAE,aAAa,EAAE,MAAM,EAAE;iBACtC,CAAC,CAAC;gBAEV,IAAI,CAAC;oBACH,8EAA8E;oBAC7E,OAAO,CAAC,UAAkB,CAAC,MAAM,GAAG,aAAa,CAAC;oBAEnD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;oBAC/E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAC1D,CAAC;wBAAS,CAAC;oBACT,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;gBAC7F,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,SAAS;oBAClB,MAAM,EAAG,GAAG;iBACb,CAAC,CAAC;gBAEH,uCAAuC;gBACvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;oBAC3D,MAAM,EAAa,KAAK,CAAC,GAAG;oBAC5B,OAAO,EAAY,OAAO;oBAC1B,gBAAgB,EAAG,EAAE,aAAa,EAAE,MAAM,EAAE;iBACtC,CAAC,CAAC;gBAEV,IAAI,CAAC;oBACH,gDAAgD;oBAC/C,OAAO,CAAC,UAAkB,CAAC,MAAM,GAAG,KAAK,CAAC;oBAE3C,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;oBAC/E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;gBACrE,CAAC;wBAAS,CAAC;oBACT,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;gBACnF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,SAAS;oBAClB,MAAM,EAAG,GAAG;iBACb,CAAC,CAAC;gBAEH,uCAAuC;gBACvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;oBAC3D,MAAM,EAAa,KAAK,CAAC,GAAG;oBAC5B,OAAO,EAAY,OAAO;oBAC1B,gBAAgB,EAAG,EAAE,aAAa,EAAE,MAAM,EAAE;iBACtC,CAAC,CAAC;gBAEV,IAAI,CAAC;oBACH,iCAAiC;oBAChC,OAAO,CAAC,UAAkB,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAErD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;oBAC/E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;gBACrE,CAAC;wBAAS,CAAC;oBACT,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC9B,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;gBACtE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,iBAAiB,GAAe;oBACpC,IAAI,EAAqB,KAAK,IAAmB,EAAE,GAAE,CAAC;oBACtD,KAAK,EAAoB,KAAK,IAAmB,EAAE,GAAE,CAAC;oBACtD,KAAK,EAAoB,KAAK,IAAmB,EAAE,GAAE,CAAC;oBACtD,MAAM,EAAmB,KAAK,IAAmB,EAAE,GAAE,CAAC;oBACtD,MAAM,EAAmB,KAAK,IAAmB,EAAE,GAAE,CAAC;oBACtD,OAAO,EAAkB,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAChG,eAAe,EAAU,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAChG,cAAc,EAAW,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAChG,sBAAsB,EAAG,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAChG,SAAS,EAAgB,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oBAChG,iBAAiB,EAAQ,KAAK,IAAkB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;iBACjG,CAAC;gBAEF,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;gBAEtF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,EAAG,MAAM;iBAChB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"messages-sync.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/messages-sync.spec.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { lexicographicalCompare } from '../../src/utils/string.js';
6
6
  import { Message } from '../../src/core/message.js';
7
7
  import { ProtocolAction } from '../../src/types/protocols-types.js';
8
8
  import { TestDataGenerator } from '../utils/test-data-generator.js';
9
- import { TestEventStream } from '../test-event-stream.js';
9
+ import { TestEventLog } from '../test-event-stream.js';
10
10
  import { TestStores } from '../test-stores.js';
11
11
  import { TestStubGenerator } from '../utils/test-stub-generator.js';
12
12
  import { Time } from '../../src/utils/time.js';
@@ -20,7 +20,7 @@ export function testProtocolsConfigureHandler() {
20
20
  let dataStore;
21
21
  let resumableTaskStore;
22
22
  let stateIndex;
23
- let eventStream;
23
+ let eventLog;
24
24
  let dwn;
25
25
  describe('functional tests', () => {
26
26
  // important to follow the `before` and `after` pattern to initialize and clean the stores in tests
@@ -32,8 +32,8 @@ export function testProtocolsConfigureHandler() {
32
32
  dataStore = stores.dataStore;
33
33
  resumableTaskStore = stores.resumableTaskStore;
34
34
  stateIndex = stores.stateIndex;
35
- eventStream = TestEventStream.get();
36
- dwn = await Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventStream, resumableTaskStore });
35
+ eventLog = TestEventLog.get();
36
+ dwn = await Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventLog, resumableTaskStore });
37
37
  });
38
38
  beforeEach(async () => {
39
39
  sinon.restore(); // wipe all previous stubs/spies/mocks/fakes
@@ -544,7 +544,7 @@ export function testProtocolsConfigureHandler() {
544
544
  // 4. Alice revokes Bob's grant
545
545
  const revokeWrite = await PermissionsProtocol.createRevocation({
546
546
  signer: Jws.createSigner(alice),
547
- grant: await PermissionGrant.parse(permissionGrant.dataEncodedMessage),
547
+ grant: PermissionGrant.parse(permissionGrant.dataEncodedMessage),
548
548
  dateRevoked: Time.getCurrentTimestamp()
549
549
  });
550
550
  const revokeWriteReply = await dwn.processMessage(alice.did, revokeWrite.recordsWrite.message, { dataStream: DataStream.fromBytes(revokeWrite.permissionRevocationBytes) });
@@ -1 +1 @@
1
- {"version":3,"file":"protocols-configure.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/protocols-configure.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocols-configure.spec.js","sourceRoot":"","sources":["../../../../tests/handlers/protocols-configure.spec.ts"],"names":[],"mappings":"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"}