@multiplatform.one/frappe 6.6.0 → 7.0.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 (224) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/auth.native.js.map +1 -1
  3. package/dist/cjs/call.native.js.map +1 -1
  4. package/dist/cjs/collection.native.js.map +1 -1
  5. package/dist/cjs/common/types.native.js.map +1 -1
  6. package/dist/cjs/core/http.cjs +45 -1
  7. package/dist/cjs/core/http.native.js +72 -1
  8. package/dist/cjs/core/http.native.js.map +1 -1
  9. package/dist/cjs/core/types.native.js.map +1 -1
  10. package/dist/cjs/core/wire.native.js.map +1 -1
  11. package/dist/cjs/db.native.js.map +1 -1
  12. package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  13. package/dist/cjs/devtools/index.native.js.map +1 -1
  14. package/dist/cjs/devtools/plugin.native.js.map +1 -1
  15. package/dist/cjs/devtools/theme.native.js.map +1 -1
  16. package/dist/cjs/doctype.cjs +15 -2
  17. package/dist/cjs/doctype.native.js +22 -5
  18. package/dist/cjs/doctype.native.js.map +1 -1
  19. package/dist/cjs/file.native.js.map +1 -1
  20. package/dist/cjs/fixtureDb.native.js.map +1 -1
  21. package/dist/cjs/fixtures.native.js.map +1 -1
  22. package/dist/cjs/frappeApp.native.js.map +1 -1
  23. package/dist/cjs/frappeReact.cjs +55 -1
  24. package/dist/cjs/frappeReact.native.js +67 -2
  25. package/dist/cjs/frappeReact.native.js.map +1 -1
  26. package/dist/cjs/index.cjs +8 -0
  27. package/dist/cjs/index.native.js +10 -2
  28. package/dist/cjs/index.native.js.map +1 -1
  29. package/dist/cjs/optimistic.cjs +32 -2
  30. package/dist/cjs/optimistic.native.js +34 -1
  31. package/dist/cjs/optimistic.native.js.map +1 -1
  32. package/dist/cjs/pacer.native.js.map +1 -1
  33. package/dist/cjs/plugin/index.native.js.map +1 -1
  34. package/dist/cjs/realtime.cjs +234 -11
  35. package/dist/cjs/realtime.native.js +368 -18
  36. package/dist/cjs/realtime.native.js.map +1 -1
  37. package/dist/cjs/sync/backfill.native.js.map +1 -1
  38. package/dist/cjs/sync/filters.native.js.map +1 -1
  39. package/dist/cjs/sync/index.cjs +45 -1
  40. package/dist/cjs/sync/index.native.js +71 -1
  41. package/dist/cjs/sync/index.native.js.map +1 -1
  42. package/dist/cjs/sync/merge.native.js.map +1 -1
  43. package/dist/cjs/sync/mutationEngine.cjs +51 -15
  44. package/dist/cjs/sync/mutationEngine.native.js +69 -16
  45. package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
  46. package/dist/cjs/sync/mutationJournal.cjs +8 -0
  47. package/dist/cjs/sync/mutationJournal.native.js +10 -0
  48. package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
  49. package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
  50. package/dist/cjs/sync/persistence.native.js.map +1 -1
  51. package/dist/cjs/sync/realtime.native.js.map +1 -1
  52. package/dist/cjs/sync/rehydration.native.js.map +1 -1
  53. package/dist/cjs/sync/storage.native.js.map +1 -1
  54. package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
  55. package/dist/cjs/sync/types.native.js.map +1 -1
  56. package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
  57. package/dist/cjs/useLiveQuery.native.js.map +1 -1
  58. package/dist/cjs/util.native.js.map +1 -1
  59. package/dist/esm/auth.native.js.map +1 -1
  60. package/dist/esm/call.native.js.map +1 -1
  61. package/dist/esm/collection.native.js +1 -1
  62. package/dist/esm/collection.native.js.map +1 -1
  63. package/dist/esm/common/types.native.js.map +1 -1
  64. package/dist/esm/core/http.mjs +45 -2
  65. package/dist/esm/core/http.mjs.map +1 -1
  66. package/dist/esm/core/http.native.js +74 -4
  67. package/dist/esm/core/http.native.js.map +1 -1
  68. package/dist/esm/core/types.native.js.map +1 -1
  69. package/dist/esm/core/wire.native.js.map +1 -1
  70. package/dist/esm/db.native.js +1 -1
  71. package/dist/esm/db.native.js.map +1 -1
  72. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js +2 -2
  73. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  74. package/dist/esm/devtools/index.native.js +2 -2
  75. package/dist/esm/devtools/index.native.js.map +1 -1
  76. package/dist/esm/devtools/plugin.native.js +1 -1
  77. package/dist/esm/devtools/plugin.native.js.map +1 -1
  78. package/dist/esm/devtools/theme.native.js.map +1 -1
  79. package/dist/esm/doctype.mjs +15 -2
  80. package/dist/esm/doctype.mjs.map +1 -1
  81. package/dist/esm/doctype.native.js +23 -6
  82. package/dist/esm/doctype.native.js.map +1 -1
  83. package/dist/esm/file.native.js.map +1 -1
  84. package/dist/esm/fixtureDb.native.js +1 -1
  85. package/dist/esm/fixtureDb.native.js.map +1 -1
  86. package/dist/esm/fixtures.native.js.map +1 -1
  87. package/dist/esm/frappeApp.native.js +7 -7
  88. package/dist/esm/frappeApp.native.js.map +1 -1
  89. package/dist/esm/frappeReact.mjs +55 -3
  90. package/dist/esm/frappeReact.mjs.map +1 -1
  91. package/dist/esm/frappeReact.native.js +73 -10
  92. package/dist/esm/frappeReact.native.js.map +1 -1
  93. package/dist/esm/index.mjs +5 -5
  94. package/dist/esm/index.mjs.map +1 -1
  95. package/dist/esm/index.native.js +22 -22
  96. package/dist/esm/index.native.js.map +1 -1
  97. package/dist/esm/optimistic.mjs +27 -1
  98. package/dist/esm/optimistic.mjs.map +1 -1
  99. package/dist/esm/optimistic.native.js +30 -1
  100. package/dist/esm/optimistic.native.js.map +1 -1
  101. package/dist/esm/pacer.mjs.map +1 -1
  102. package/dist/esm/pacer.native.js +4 -4
  103. package/dist/esm/pacer.native.js.map +1 -1
  104. package/dist/esm/plugin/index.native.js.map +1 -1
  105. package/dist/esm/realtime.mjs +234 -11
  106. package/dist/esm/realtime.mjs.map +1 -1
  107. package/dist/esm/realtime.native.js +369 -19
  108. package/dist/esm/realtime.native.js.map +1 -1
  109. package/dist/esm/sync/backfill.native.js +1 -1
  110. package/dist/esm/sync/backfill.native.js.map +1 -1
  111. package/dist/esm/sync/filters.native.js.map +1 -1
  112. package/dist/esm/sync/index.mjs +45 -1
  113. package/dist/esm/sync/index.mjs.map +1 -1
  114. package/dist/esm/sync/index.native.js +79 -9
  115. package/dist/esm/sync/index.native.js.map +1 -1
  116. package/dist/esm/sync/merge.native.js.map +1 -1
  117. package/dist/esm/sync/mutationEngine.mjs +51 -15
  118. package/dist/esm/sync/mutationEngine.mjs.map +1 -1
  119. package/dist/esm/sync/mutationEngine.native.js +73 -20
  120. package/dist/esm/sync/mutationEngine.native.js.map +1 -1
  121. package/dist/esm/sync/mutationJournal.mjs +8 -0
  122. package/dist/esm/sync/mutationJournal.mjs.map +1 -1
  123. package/dist/esm/sync/mutationJournal.native.js +11 -1
  124. package/dist/esm/sync/mutationJournal.native.js.map +1 -1
  125. package/dist/esm/sync/normalizedCache.native.js.map +1 -1
  126. package/dist/esm/sync/persistence.native.js +2 -2
  127. package/dist/esm/sync/persistence.native.js.map +1 -1
  128. package/dist/esm/sync/realtime.native.js +1 -1
  129. package/dist/esm/sync/realtime.native.js.map +1 -1
  130. package/dist/esm/sync/rehydration.native.js +1 -1
  131. package/dist/esm/sync/rehydration.native.js.map +1 -1
  132. package/dist/esm/sync/storage.native.js.map +1 -1
  133. package/dist/esm/sync/subscriptionManager.native.js +4 -4
  134. package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
  135. package/dist/esm/sync/types.mjs.map +1 -1
  136. package/dist/esm/sync/types.native.js.map +1 -1
  137. package/dist/esm/sync/virtualPageManager.native.js +1 -1
  138. package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
  139. package/dist/esm/useLiveQuery.native.js.map +1 -1
  140. package/dist/esm/util.native.js.map +1 -1
  141. package/dist/jsx/core/http.mjs +45 -2
  142. package/dist/jsx/core/http.mjs.map +1 -1
  143. package/dist/jsx/core/http.native.js +72 -1
  144. package/dist/jsx/core/http.native.js.map +1 -1
  145. package/dist/jsx/doctype.mjs +15 -2
  146. package/dist/jsx/doctype.mjs.map +1 -1
  147. package/dist/jsx/doctype.native.js +22 -5
  148. package/dist/jsx/doctype.native.js.map +1 -1
  149. package/dist/jsx/frappeReact.mjs +55 -3
  150. package/dist/jsx/frappeReact.mjs.map +1 -1
  151. package/dist/jsx/frappeReact.native.js +66 -1
  152. package/dist/jsx/frappeReact.native.js.map +1 -1
  153. package/dist/jsx/index.js +5 -5
  154. package/dist/jsx/index.js.map +1 -1
  155. package/dist/jsx/index.mjs +5 -5
  156. package/dist/jsx/index.mjs.map +1 -1
  157. package/dist/jsx/index.native.js +8 -0
  158. package/dist/jsx/index.native.js.map +1 -1
  159. package/dist/jsx/optimistic.mjs +27 -1
  160. package/dist/jsx/optimistic.mjs.map +1 -1
  161. package/dist/jsx/optimistic.native.js +34 -1
  162. package/dist/jsx/optimistic.native.js.map +1 -1
  163. package/dist/jsx/pacer.mjs.map +1 -1
  164. package/dist/jsx/pacer.native.js.map +1 -1
  165. package/dist/jsx/realtime.mjs +234 -11
  166. package/dist/jsx/realtime.mjs.map +1 -1
  167. package/dist/jsx/realtime.native.js +368 -18
  168. package/dist/jsx/realtime.native.js.map +1 -1
  169. package/dist/jsx/sync/index.mjs +45 -1
  170. package/dist/jsx/sync/index.mjs.map +1 -1
  171. package/dist/jsx/sync/index.native.js +71 -1
  172. package/dist/jsx/sync/index.native.js.map +1 -1
  173. package/dist/jsx/sync/mutationEngine.mjs +51 -15
  174. package/dist/jsx/sync/mutationEngine.mjs.map +1 -1
  175. package/dist/jsx/sync/mutationEngine.native.js +69 -16
  176. package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
  177. package/dist/jsx/sync/mutationJournal.mjs +8 -0
  178. package/dist/jsx/sync/mutationJournal.mjs.map +1 -1
  179. package/dist/jsx/sync/mutationJournal.native.js +10 -0
  180. package/dist/jsx/sync/mutationJournal.native.js.map +1 -1
  181. package/dist/jsx/sync/types.mjs.map +1 -1
  182. package/dist/jsx/sync/types.native.js.map +1 -1
  183. package/package.json +8 -8
  184. package/src/core/http.spec.ts +81 -0
  185. package/src/core/http.ts +80 -3
  186. package/src/doctype.spec.ts +82 -3
  187. package/src/doctype.ts +51 -7
  188. package/src/frappeReact.ts +126 -4
  189. package/src/index.ts +28 -3
  190. package/src/optimistic.spec.ts +113 -2
  191. package/src/optimistic.ts +95 -0
  192. package/src/pacer.ts +8 -0
  193. package/src/realtime.spec.ts +62 -0
  194. package/src/realtime.ts +440 -14
  195. package/src/realtimeSse.spec.ts +547 -0
  196. package/src/sync/index.ts +44 -1
  197. package/src/sync/mutationEngine.spec.ts +7 -2
  198. package/src/sync/mutationEngine.ts +83 -27
  199. package/src/sync/mutationJournal.ts +9 -0
  200. package/src/sync/mutations.spec.ts +1 -1
  201. package/src/sync/syncModule.spec.ts +255 -1
  202. package/src/sync/types.ts +20 -0
  203. package/types/core/http.d.ts +11 -0
  204. package/types/core/http.d.ts.map +1 -1
  205. package/types/doctype.d.ts +7 -0
  206. package/types/doctype.d.ts.map +1 -1
  207. package/types/frappeReact.d.ts +50 -2
  208. package/types/frappeReact.d.ts.map +1 -1
  209. package/types/index.d.ts +8 -6
  210. package/types/index.d.ts.map +1 -1
  211. package/types/optimistic.d.ts +38 -0
  212. package/types/optimistic.d.ts.map +1 -1
  213. package/types/pacer.d.ts +8 -0
  214. package/types/pacer.d.ts.map +1 -1
  215. package/types/realtime.d.ts +183 -1
  216. package/types/realtime.d.ts.map +1 -1
  217. package/types/sync/index.d.ts +16 -1
  218. package/types/sync/index.d.ts.map +1 -1
  219. package/types/sync/mutationEngine.d.ts +7 -0
  220. package/types/sync/mutationEngine.d.ts.map +1 -1
  221. package/types/sync/mutationJournal.d.ts +6 -0
  222. package/types/sync/mutationJournal.d.ts.map +1 -1
  223. package/types/sync/types.d.ts +20 -0
  224. package/types/sync/types.d.ts.map +1 -1
@@ -49,6 +49,14 @@ class MutationJournal {
49
49
  entry.retryCount = (entry.retryCount || 0) + 1;
50
50
  this.pending.set(id, entry);
51
51
  }
52
+ /**
53
+ * Drops an entry without confirming it — the "dismiss" affordance for a
54
+ * failed mutation the user chose not to retry. Unlike `confirm` this makes
55
+ * no claim the write reached the server.
56
+ */
57
+ remove(id) {
58
+ this.pending.delete(id);
59
+ }
52
60
  listPending() {
53
61
  const pending = [];
54
62
  for (const [id, entry] of this.pending) {
@@ -1 +1 @@
1
- {"version":3,"names":["Status","frappeSyncSequence","MutationJournal","cleanupTimer","autoCleanupEnabled","ttl","pending","Map","sequenceNumber","storage","constructor","options","loadSequenceNumber","enableAutoCleanup","add","id","entry","sequence","getNextSequence","createdAt","Date","now","retryCount","set","startAutoCleanup","persistSequenceNumber","get","isExpired","delete","confirm","status","Confirmed","fail","err","Failed","error","listPending","Pending","push","sort","a","b","getAllEntries","entries","cleanupExpired","cleaned","stopAutoCleanup","clearInterval","clear","dispose","setInterval","size","stored","getItem","Number","parseInt","setItem","toString"],"sources":["../../../src/sync/mutationJournal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Status","frappeSyncSequence","MutationJournal","cleanupTimer","autoCleanupEnabled","ttl","pending","Map","sequenceNumber","storage","constructor","options","loadSequenceNumber","enableAutoCleanup","add","id","entry","sequence","getNextSequence","createdAt","Date","now","retryCount","set","startAutoCleanup","persistSequenceNumber","get","isExpired","delete","confirm","status","Confirmed","fail","err","Failed","error","remove","listPending","Pending","push","sort","a","b","getAllEntries","entries","cleanupExpired","cleaned","stopAutoCleanup","clearInterval","clear","dispose","setInterval","size","stored","getItem","Number","parseInt","setItem","toString"],"sources":["../../../src/sync/mutationJournal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Status } from "./types";
1
+ import { Status } from "./types.native.js";
2
2
  function _class_call_check(instance, Constructor) {
3
3
  if (!(instance instanceof Constructor)) {
4
4
  throw new TypeError("Cannot call a class as a function");
@@ -92,6 +92,16 @@ var MutationJournal = /* @__PURE__ */function () {
92
92
  entry.retryCount = (entry.retryCount || 0) + 1;
93
93
  this.pending.set(id, entry);
94
94
  }
95
+ }, {
96
+ /**
97
+ * Drops an entry without confirming it — the "dismiss" affordance for a
98
+ * failed mutation the user chose not to retry. Unlike `confirm` this makes
99
+ * no claim the write reached the server.
100
+ */
101
+ key: "remove",
102
+ value: function remove(id) {
103
+ this.pending.delete(id);
104
+ }
95
105
  }, {
96
106
  key: "listPending",
97
107
  value: function listPending() {
@@ -1 +1 @@
1
- {"version":3,"names":["Status","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","frappeSyncSequence","MutationJournal","MutationJournal2","options","Map","ttl","storage","loadSequenceNumber","autoCleanupEnabled","enableAutoCleanup","add","id","entry","sequence","getNextSequence","createdAt","Date","now","retryCount","pending","set","startAutoCleanup","persistSequenceNumber","get","isExpired","delete","confirm","status","Confirmed","fail","err","Failed","error","listPending","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","Pending","push","return","sort","a","b","getAllEntries","entries","cleanupExpired","cleaned","stopAutoCleanup","cleanupTimer","clearInterval","clear","dispose","sequenceNumber","_this","setInterval","size","stored","getItem","Number","parseInt","setItem","toString"],"sources":["mutationJournal.native.js"],"sourcesContent":["import { Status } from \"./types\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar frappeSyncSequence = \"frappe-sync-sequence\";\nvar MutationJournal = /* @__PURE__ */ (function() {\n \"use strict\";\n function MutationJournal2(options) {\n _class_call_check(this, MutationJournal2);\n _define_property(this, \"cleanupTimer\", void 0);\n _define_property(this, \"autoCleanupEnabled\", void 0);\n _define_property(this, \"ttl\", 24 * 60 * 60 * 1e3);\n _define_property(this, \"pending\", /* @__PURE__ */ new Map());\n _define_property(this, \"sequenceNumber\", 0);\n _define_property(this, \"storage\", void 0);\n if (options === null || options === void 0 ? void 0 : options.ttl) {\n this.ttl = options.ttl;\n }\n if (options === null || options === void 0 ? void 0 : options.storage) {\n this.storage = options.storage;\n this.loadSequenceNumber();\n }\n this.autoCleanupEnabled = (options === null || options === void 0 ? void 0 : options.enableAutoCleanup) !== false;\n }\n _create_class(MutationJournal2, [\n {\n key: \"add\",\n value: function add(id, entry) {\n if (entry.sequence === void 0) entry.sequence = this.getNextSequence();\n if (entry.createdAt === void 0) entry.createdAt = Date.now();\n if (entry.ttl === void 0) entry.ttl = this.ttl;\n if (entry.retryCount === void 0) entry.retryCount = 0;\n this.pending.set(id, entry);\n if (this.autoCleanupEnabled) this.startAutoCleanup();\n this.persistSequenceNumber();\n }\n },\n {\n key: \"get\",\n value: function get(id) {\n var entry = this.pending.get(id);\n if (!entry) return void 0;\n if (this.isExpired(entry)) {\n this.pending.delete(id);\n return void 0;\n }\n return entry;\n }\n },\n {\n key: \"confirm\",\n value: function confirm(id) {\n var entry = this.pending.get(id);\n if (!entry) return;\n entry.status = Status.Confirmed;\n this.pending.delete(id);\n }\n },\n {\n key: \"fail\",\n value: function fail(id, err) {\n var entry = this.pending.get(id);\n if (!entry) return;\n entry.status = Status.Failed;\n entry.error = err;\n entry.retryCount = (entry.retryCount || 0) + 1;\n this.pending.set(id, entry);\n }\n },\n {\n key: \"listPending\",\n value: function listPending() {\n var pending = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.pending[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [id, entry] = _step.value;\n if (this.isExpired(entry)) {\n this.pending.delete(id);\n continue;\n }\n if (entry.status === Status.Pending || entry.status === Status.Failed) {\n pending.push({\n id,\n entry\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n pending.sort(function(a, b) {\n return (a.entry.sequence || 0) - (b.entry.sequence || 0);\n });\n return pending;\n }\n },\n {\n key: \"getAllEntries\",\n value: function getAllEntries() {\n var entries = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.pending[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [id, entry] = _step.value;\n if (this.isExpired(entry)) continue;\n entries.push({\n id,\n entry\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return entries;\n }\n },\n {\n key: \"cleanupExpired\",\n value: function cleanupExpired() {\n var cleaned = 0;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.pending[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [id, entry] = _step.value;\n if (this.isExpired(entry)) {\n this.pending.delete(id);\n cleaned++;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return cleaned;\n }\n },\n {\n key: \"stopAutoCleanup\",\n value: function stopAutoCleanup() {\n if (this.cleanupTimer) {\n clearInterval(this.cleanupTimer);\n this.cleanupTimer = void 0;\n }\n }\n },\n {\n key: \"clear\",\n value: function clear() {\n this.pending.clear();\n this.stopAutoCleanup();\n }\n },\n {\n key: \"dispose\",\n value: function dispose() {\n this.stopAutoCleanup();\n this.clear();\n }\n },\n {\n key: \"getNextSequence\",\n value: function getNextSequence() {\n return ++this.sequenceNumber;\n }\n },\n {\n key: \"isExpired\",\n value: function isExpired(entry) {\n if (!entry.createdAt || !entry.ttl) return false;\n return Date.now() > entry.createdAt + entry.ttl;\n }\n },\n {\n key: \"startAutoCleanup\",\n value: function startAutoCleanup() {\n var _this = this;\n if (this.cleanupTimer) return;\n this.cleanupTimer = setInterval(function() {\n _this.cleanupExpired();\n if (_this.pending.size === 0) _this.stopAutoCleanup();\n }, 60 * 60 * 1e3);\n }\n },\n {\n key: \"loadSequenceNumber\",\n value: function loadSequenceNumber() {\n if (!this.storage) return;\n var stored = this.storage.getItem(frappeSyncSequence);\n if (stored) this.sequenceNumber = Number.parseInt(stored, 10) || 0;\n }\n },\n {\n key: \"persistSequenceNumber\",\n value: function persistSequenceNumber() {\n if (!this.storage) return;\n this.storage.setItem(frappeSyncSequence, this.sequenceNumber.toString());\n }\n }\n ]);\n return MutationJournal2;\n})();\nexport {\n MutationJournal,\n frappeSyncSequence\n};\n//# sourceMappingURL=mutationJournal.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Status","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","frappeSyncSequence","MutationJournal","MutationJournal2","options","Map","ttl","storage","loadSequenceNumber","autoCleanupEnabled","enableAutoCleanup","add","id","entry","sequence","getNextSequence","createdAt","Date","now","retryCount","pending","set","startAutoCleanup","persistSequenceNumber","get","isExpired","delete","confirm","status","Confirmed","fail","err","Failed","error","remove","listPending","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","Pending","push"],"sources":["../../../src/sync/mutationJournal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","NormalizedCache","NormalizedCache2","options","arguments","_options_maxSize","Map","maxSize","Infinity","onEvict","makeKey","doctype","name","parseKey","colonIndex","indexOf","slice","upsert","doc","bucket","state","byId","allIds","id","existing","isNew","push","replace","accessOrder","set","Date","now","evictIfNeeded","remove","filter","currentId","delete","get","_this_state_doc_doctype","result","getStats","size","doctypes","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","entries","Symbol","iterator","_step","next","done","count","err","return","_this","_loop","i2","sortedEntries","stats","sort","a","b","toEvict","clear"],"sources":["normalizedCache.native.js"],"sourcesContent":["function _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar NormalizedCache = /* @__PURE__ */ (function() {\n \"use strict\";\n function NormalizedCache2() {\n var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n _class_call_check(this, NormalizedCache2);\n var _options_maxSize;\n _define_property(this, \"state\", {});\n _define_property(this, \"accessOrder\", /* @__PURE__ */ new Map());\n _define_property(this, \"maxSize\", void 0);\n _define_property(this, \"onEvict\", void 0);\n this.maxSize = (_options_maxSize = options.maxSize) !== null && _options_maxSize !== void 0 ? _options_maxSize : Infinity;\n this.onEvict = options.onEvict;\n }\n _create_class(NormalizedCache2, [\n {\n key: \"makeKey\",\n value: function makeKey(doctype, name) {\n return `${doctype}:${name}`;\n }\n },\n {\n key: \"parseKey\",\n value: function parseKey(key) {\n var colonIndex = key.indexOf(\":\");\n return {\n doctype: key.slice(0, colonIndex),\n name: key.slice(colonIndex + 1)\n };\n }\n },\n {\n key: \"upsert\",\n value: function upsert(doc) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var bucket = this.state[doc.doctype];\n if (!bucket) {\n bucket = {\n byId: {},\n allIds: []\n };\n this.state[doc.doctype] = bucket;\n }\n var id = doc === null || doc === void 0 ? void 0 : doc.name;\n if (!id) return;\n var existing = bucket.byId[id];\n var isNew = !existing;\n if (isNew) {\n bucket.allIds.push(id);\n }\n bucket.byId[id] = existing && !options.replace ? {\n ...existing,\n ...doc\n } : doc;\n var key = this.makeKey(doc.doctype, id);\n this.accessOrder.set(key, Date.now());\n if (isNew && this.maxSize !== Infinity) {\n this.evictIfNeeded();\n }\n }\n },\n {\n key: \"remove\",\n value: function remove(doc) {\n var bucket = this.state[doc.doctype];\n if (!bucket) return;\n if (bucket.byId[doc.name]) delete bucket.byId[doc.name];\n bucket.allIds = bucket.allIds.filter(function(currentId) {\n return currentId !== doc.name;\n });\n var key = this.makeKey(doc.doctype, doc.name);\n this.accessOrder.delete(key);\n }\n },\n {\n key: \"get\",\n value: function get(doc) {\n var _this_state_doc_doctype;\n var result = (_this_state_doc_doctype = this.state[doc.doctype]) === null || _this_state_doc_doctype === void 0 ? void 0 : _this_state_doc_doctype.byId[doc.name];\n if (result) {\n var key = this.makeKey(doc.doctype, doc.name);\n this.accessOrder.set(key, Date.now());\n }\n return result;\n }\n },\n {\n key: \"getStats\",\n value: function getStats() {\n var size = 0;\n var doctypes = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(this.state)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [doctype, bucket] = _step.value;\n var count = bucket.allIds.length;\n size += count;\n doctypes.push({\n doctype,\n count\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return {\n size,\n doctypes\n };\n }\n },\n {\n key: \"evictIfNeeded\",\n value: (\n /**\n * Evicts least recently used documents if cache exceeds maxSize.\n */\n function evictIfNeeded() {\n var _this, _loop = function(i2) {\n var [key] = sortedEntries[i2];\n var { doctype, name } = _this.parseKey(key);\n var bucket = _this.state[doctype];\n if (bucket) {\n delete bucket.byId[name];\n bucket.allIds = bucket.allIds.filter(function(id) {\n return id !== name;\n });\n }\n _this.accessOrder.delete(key);\n if (_this.onEvict) {\n _this.onEvict(doctype, name);\n }\n };\n var stats = this.getStats();\n if (stats.size <= this.maxSize) return;\n var sortedEntries = [\n ...this.accessOrder.entries()\n ].sort(function(a, b) {\n return a[1] - b[1];\n });\n var toEvict = stats.size - this.maxSize;\n for (var i = 0; i < toEvict && i < sortedEntries.length; i++) _this = this, _loop(i);\n }\n )\n },\n {\n /**\n * Clears the entire cache.\n */\n key: \"clear\",\n value: function clear() {\n this.state = {};\n this.accessOrder.clear();\n }\n },\n {\n key: \"size\",\n get: (\n /**\n * Gets the current cache size.\n */\n function get() {\n return this.getStats().size;\n }\n )\n }\n ]);\n return NormalizedCache2;\n})();\nexport {\n NormalizedCache\n};\n//# sourceMappingURL=normalizedCache.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","NormalizedCache","NormalizedCache2","options","arguments","_options_maxSize","Map","maxSize","Infinity","onEvict","makeKey","doctype","name","parseKey","colonIndex","indexOf","slice","upsert","doc","bucket","state","byId","allIds","id","existing","isNew","push","replace","accessOrder","set","Date","now","evictIfNeeded","remove","filter","currentId"],"sources":["../../../src/sync/normalizedCache.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { Debouncer } from "@tanstack/pacer";
2
2
  import { isNative, onVisibilityChange } from "@multiplatform.one/platform";
3
- import { isGjs } from "../util";
4
- import { IndexedDBKV, PlatformStorageKV } from "./storage";
3
+ import { isGjs } from "../util.native.js";
4
+ import { IndexedDBKV, PlatformStorageKV } from "./storage.native.js";
5
5
  function _class_call_check(instance, Constructor) {
6
6
  if (!(instance instanceof Constructor)) {
7
7
  throw new TypeError("Cannot call a class as a function");
@@ -1 +1 @@
1
- {"version":3,"names":["Debouncer","isNative","onVisibilityChange","isGjs","IndexedDBKV","PlatformStorageKV","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","_type_of","Symbol","constructor","getLocalStorage","globalThis","localStorage","unused","PersistenceManager","PersistenceManager2","normalizedCache","mutationJournal","subscriptionManager","mutationEngine","_this","options","arguments","_ref","_ref1","_ref2","_options_tabCoordination","_options_tabCoordination1","_options_tabCoordination2","save","wait","generateTabId","Date","now","Set","Promise","resolve","tabCoordinationConfig","activeTabPriority","tabCoordination","leaderTimeout","handoffGracePeriod","setupPersistence","window","document","setupBroadcastChannel","persistKey","setupTabCoordination","whenReady","loadPromise","storage","persistenceStorage","indexedDB","console","debug","load","BroadcastChannel","broadcastChannel","onmessage","e","data","onResetCache","onBackfillAll","message","type","fromTab","tabId","broadcastToTabs","isVisible","visibilityState","isLeader","initiateGracefulHandoff","toTab","state","restoreStateFromHandoff","becomeLeader","mutation","handleRemoteMutation","doc","operation","remove","doctype","name","upsert","broadcastMutation","handoffState","cache","subscriptions","Array","isArray","getAllSubscriptions","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","subscription","id","set","err","return","tempMappings","tempMap","getTemporaryIdToRealNameMap","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","tempId","realId","scheduleSave","saveDebouncer","maybeExecute","gcRestoredSubscriptions","snapshot","subs","values","map","s","query","checkpoint","cursor","docIds","journal","listPending","temp","entries","setItem","JSON","stringify","warn","raw","getItem","snap","parse","bucket","byId","get","replace","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","restoreSubscription","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","entry","add","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_iterator4","_step4","broadcastReset","postMessage","broadcastBackfill","broadcastChange","hidden","cleanupVisibilityChange","visible","isDestroyed","wasVisible","lastVisibilityChange","evaluateLeadershipPriority","considerLeadershipHandoff","tryBecomeLeader","leaderData","getLeaderData","timestamp","leaderCheckInterval","clearInterval","setInterval","checkLeadership","updateLeaderTimestamp","onBecomeLeader","ls","leaderKey","error","onLoseLeadership","requestLeadershipHandoff","checkForActiveTabs","hasActiveTabs","handoffInProgress","acceptingNewWork","waitForPendingOperations","successor","findSuccessor","captureState","timeout","setTimeout","operations","all","pendingOperations","race","responses","handleResponse","handleResponse2","event","_event_data","push","addEventListener","responseTimer","_responses_","activeResponseTimers","delete","removeEventListener","visibleTab","find","r","callback","some","removeItem","Math","random","toString","slice","trackOperation","finally","catch","getIsLeader","destroy","_this_cleanupVisibilityChange","cancel","timer","clearTimeout","clear","call","close"],"sources":["persistence.native.js"],"sourcesContent":["import { Debouncer } from \"@tanstack/pacer\";\nimport { isNative, onVisibilityChange } from \"@multiplatform.one/platform\";\nimport { isGjs } from \"../util\";\nimport { IndexedDBKV, PlatformStorageKV } from \"./storage\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction getLocalStorage() {\n try {\n return typeof globalThis !== \"undefined\" && \"localStorage\" in globalThis ? globalThis.localStorage : void 0;\n } catch (unused) {\n return void 0;\n }\n}\nvar PersistenceManager = /* @__PURE__ */ (function() {\n \"use strict\";\n function PersistenceManager2(normalizedCache, mutationJournal, subscriptionManager, mutationEngine) {\n var _this = this;\n var options = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : {};\n _class_call_check(this, PersistenceManager2);\n var _ref, _ref1, _ref2;\n var _options_tabCoordination, _options_tabCoordination1, _options_tabCoordination2;\n _define_property(this, \"persistenceStorage\", void 0);\n _define_property(this, \"saveDebouncer\", new Debouncer(function() {\n return void _this.save();\n }, {\n wait: 50\n }));\n _define_property(this, \"broadcastChannel\", void 0);\n _define_property(this, \"isLeader\", false);\n _define_property(this, \"tabId\", this.generateTabId());\n _define_property(this, \"leaderCheckInterval\", void 0);\n _define_property(this, \"visibilityState\", \"visible\");\n _define_property(this, \"lastVisibilityChange\", Date.now());\n _define_property(this, \"pendingOperations\", /* @__PURE__ */ new Set());\n _define_property(this, \"acceptingNewWork\", true);\n _define_property(this, \"handoffInProgress\", false);\n _define_property(this, \"tabCoordinationConfig\", void 0);\n _define_property(this, \"leaderKey\", \"frappe-sync-leader\");\n _define_property(this, \"cleanupVisibilityChange\", void 0);\n _define_property(this, \"activeResponseTimers\", /* @__PURE__ */ new Set());\n _define_property(this, \"isDestroyed\", false);\n _define_property(this, \"loadPromise\", Promise.resolve());\n _define_property(this, \"normalizedCache\", void 0);\n _define_property(this, \"mutationJournal\", void 0);\n _define_property(this, \"subscriptionManager\", void 0);\n _define_property(this, \"mutationEngine\", void 0);\n _define_property(this, \"options\", void 0);\n this.normalizedCache = normalizedCache;\n this.mutationJournal = mutationJournal;\n this.subscriptionManager = subscriptionManager;\n this.mutationEngine = mutationEngine;\n this.options = options;\n this.tabCoordinationConfig = {\n activeTabPriority: (_ref = (_options_tabCoordination = options.tabCoordination) === null || _options_tabCoordination === void 0 ? void 0 : _options_tabCoordination.activeTabPriority) !== null && _ref !== void 0 ? _ref : true,\n leaderTimeout: (_ref1 = (_options_tabCoordination1 = options.tabCoordination) === null || _options_tabCoordination1 === void 0 ? void 0 : _options_tabCoordination1.leaderTimeout) !== null && _ref1 !== void 0 ? _ref1 : 5e3,\n handoffGracePeriod: (_ref2 = (_options_tabCoordination2 = options.tabCoordination) === null || _options_tabCoordination2 === void 0 ? void 0 : _options_tabCoordination2.handoffGracePeriod) !== null && _ref2 !== void 0 ? _ref2 : 2e3\n };\n if (isNative || isGjs()) {\n this.setupPersistence();\n return;\n }\n if (typeof window === \"undefined\" || typeof document === \"undefined\") {\n return;\n }\n this.setupPersistence();\n this.setupBroadcastChannel();\n if (this.options.persistKey && this.tabCoordinationConfig.activeTabPriority) {\n this.setupTabCoordination();\n }\n }\n _create_class(PersistenceManager2, [\n {\n /**\n * Resolves when the initial snapshot restore has completed (immediately if\n * persistence is off). `SyncModule.subscribe` awaits this so a fresh mount\n * can re-adopt a restored subscription instead of racing the async load.\n */\n key: \"whenReady\",\n value: function whenReady() {\n return this.loadPromise;\n }\n },\n {\n key: \"setupPersistence\",\n value: (\n /**\n * Sets up persistence storage based on environment and options.\n */\n function setupPersistence() {\n if (!this.options.persistKey) return;\n if (this.options.storage) {\n this.persistenceStorage = this.options.storage;\n } else if (typeof indexedDB !== \"undefined\") {\n this.persistenceStorage = new IndexedDBKV();\n } else {\n if (isGjs()) {\n console.debug(\"[frappe-sync] persistKey set but no storage adapter on GJS \\u2014 snapshots are in-memory only (pass SyncOptions.storage, e.g. a Gio file-backed KV, for real persistence)\");\n }\n this.persistenceStorage = new PlatformStorageKV();\n }\n this.loadPromise = this.load();\n }\n )\n },\n {\n key: \"setupBroadcastChannel\",\n value: (\n /**\n * Sets up BroadcastChannel for cross-tab coordination.\n * Handles both simple string messages and structured TabMessage types.\n */\n function setupBroadcastChannel() {\n var _this = this;\n if (!this.options.persistKey || typeof BroadcastChannel === \"undefined\") return;\n try {\n this.broadcastChannel = new BroadcastChannel(`frappe-sync:${this.options.persistKey}`);\n } catch (unused) {\n return;\n }\n this.broadcastChannel.onmessage = function(e) {\n if (typeof (e === null || e === void 0 ? void 0 : e.data) === \"string\") {\n if (e.data === \"reset\" && _this.options.onResetCache) {\n _this.options.onResetCache();\n }\n if (e.data === \"backfill\" && _this.options.onBackfillAll) {\n _this.options.onBackfillAll();\n }\n return;\n }\n var message = e === null || e === void 0 ? void 0 : e.data;\n if (!message || !message.type) return;\n switch (message.type) {\n case \"visibility-check\":\n if (message.fromTab !== _this.tabId) {\n _this.broadcastToTabs({\n type: \"visibility-response\",\n tabId: _this.tabId,\n isVisible: _this.visibilityState === \"visible\"\n });\n }\n break;\n case \"leadership-request\":\n if (_this.isLeader && message.visibilityState === \"visible\" && _this.visibilityState === \"hidden\") {\n _this.initiateGracefulHandoff();\n }\n break;\n case \"leadership-handoff\":\n if (message.toTab === _this.tabId) {\n if (message.state) {\n _this.restoreStateFromHandoff(message.state);\n }\n _this.becomeLeader();\n }\n break;\n case \"mutation\":\n if (!_this.isLeader && message.mutation) {\n _this.handleRemoteMutation(message.mutation);\n }\n break;\n case \"sync-state\":\n if (!_this.isLeader && message.state) {\n _this.restoreStateFromHandoff(message.state);\n }\n break;\n case \"heartbeat\":\n break;\n case \"visibility-response\":\n break;\n }\n };\n }\n )\n },\n {\n key: \"handleRemoteMutation\",\n value: (\n /**\n * Handles a mutation relayed from another tab.\n * Updates local cache with the mutation's effects.\n */\n function handleRemoteMutation(mutation) {\n if (mutation.doc) {\n if (mutation.operation === \"delete\") {\n this.normalizedCache.remove({\n doctype: mutation.doc.doctype,\n name: mutation.doc.name\n });\n } else {\n this.normalizedCache.upsert(mutation.doc);\n }\n }\n }\n )\n },\n {\n /**\n * Broadcasts a mutation to other tabs.\n * Called by SyncModule after a successful mutation.\n */\n key: \"broadcastMutation\",\n value: function broadcastMutation(mutation) {\n if (!this.isLeader) return;\n this.broadcastToTabs({\n type: \"mutation\",\n mutation\n });\n }\n },\n {\n key: \"restoreStateFromHandoff\",\n value: (\n /**\n * Restores state received from a leadership handoff or sync-state message.\n */\n function restoreStateFromHandoff(state) {\n if (!state || (typeof state === \"undefined\" ? \"undefined\" : _type_of(state)) !== \"object\") return;\n var handoffState = state;\n if (handoffState.cache) {\n this.normalizedCache.state = handoffState.cache;\n }\n if (handoffState.subscriptions && Array.isArray(handoffState.subscriptions)) {\n var subscriptions = this.subscriptionManager.getAllSubscriptions();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = handoffState.subscriptions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n if (subscription === null || subscription === void 0 ? void 0 : subscription.id) {\n subscriptions.set(subscription.id, subscription);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n if (handoffState.tempMappings && Array.isArray(handoffState.tempMappings)) {\n var tempMap = this.mutationEngine.getTemporaryIdToRealNameMap();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = handoffState.tempMappings[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [tempId, realId] = _step1.value;\n tempMap.set(tempId, realId);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n }\n )\n },\n {\n /**\n * Schedules a debounced save operation.\n */\n key: \"scheduleSave\",\n value: function scheduleSave() {\n if (!this.options.persistKey) return;\n this.saveDebouncer.maybeExecute();\n }\n },\n {\n key: \"save\",\n value: (\n /**\n * Persists a snapshot of subscriptions, cache, journal, and temp mappings.\n */\n async function save() {\n if (!this.options.persistKey || !this.persistenceStorage) return;\n try {\n this.subscriptionManager.gcRestoredSubscriptions();\n var snapshot = {\n subs: [\n ...this.subscriptionManager.getAllSubscriptions().values()\n ].map(function(s) {\n return {\n id: s.id,\n query: s.query,\n checkpoint: s.checkpoint,\n cursor: s.cursor,\n docIds: s.docIds\n };\n }),\n cache: this.normalizedCache.state,\n journal: this.mutationJournal.listPending(),\n temp: [\n ...this.mutationEngine.getTemporaryIdToRealNameMap().entries()\n ]\n };\n await this.persistenceStorage.setItem(this.options.persistKey, JSON.stringify(snapshot));\n } catch (err) {\n console.warn(\"Failed to save sync state:\", err);\n }\n }\n )\n },\n {\n key: \"load\",\n value: (\n /**\n * Loads a previously persisted snapshot if present.\n */\n async function load() {\n if (!this.options.persistKey || !this.persistenceStorage) return;\n try {\n var raw = await this.persistenceStorage.getItem(this.options.persistKey);\n if (!raw) return;\n var snap = JSON.parse(raw);\n if ((snap === null || snap === void 0 ? void 0 : snap.cache) && _type_of(snap.cache) === \"object\") {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.values(snap.cache)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var bucket = _step.value;\n var byId = bucket === null || bucket === void 0 ? void 0 : bucket.byId;\n if (!byId || (typeof byId === \"undefined\" ? \"undefined\" : _type_of(byId)) !== \"object\") continue;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = Object.values(byId)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var doc = _step1.value;\n if (!(doc === null || doc === void 0 ? void 0 : doc.doctype) || !(doc === null || doc === void 0 ? void 0 : doc.name)) continue;\n if (this.normalizedCache.get(doc)) continue;\n this.normalizedCache.upsert(doc, {\n replace: true\n });\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n if ((snap === null || snap === void 0 ? void 0 : snap.subs) && Array.isArray(snap.subs)) {\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = snap.subs[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var subscription = _step2.value;\n this.subscriptionManager.restoreSubscription(subscription);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n if ((snap === null || snap === void 0 ? void 0 : snap.journal) && Array.isArray(snap.journal)) {\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = snap.journal[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var { id, entry } = _step3.value;\n this.mutationJournal.add(id, entry);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n if ((snap === null || snap === void 0 ? void 0 : snap.temp) && Array.isArray(snap.temp)) {\n var tempMap = this.mutationEngine.getTemporaryIdToRealNameMap();\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n for (var _iterator4 = snap.temp[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var [tempId, realId] = _step4.value;\n tempMap.set(tempId, realId);\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n } catch (err) {\n console.warn(\"Failed to load sync state:\", err);\n }\n }\n )\n },\n {\n /**\n * Broadcasts a reset message to other tabs.\n */\n key: \"broadcastReset\",\n value: function broadcastReset() {\n if (this.broadcastChannel) {\n this.broadcastChannel.postMessage(\"reset\");\n }\n }\n },\n {\n /**\n * Broadcasts a backfill message to other tabs.\n */\n key: \"broadcastBackfill\",\n value: function broadcastBackfill() {\n if (this.broadcastChannel) {\n this.broadcastChannel.postMessage(\"backfill\");\n }\n }\n },\n {\n /**\n * Broadcasts a generic change message to other tabs.\n */\n key: \"broadcastChange\",\n value: function broadcastChange() {\n if (this.broadcastChannel) {\n this.broadcastChannel.postMessage(\"changed\");\n }\n }\n },\n {\n key: \"setupTabCoordination\",\n value: (\n /**\n * Sets up tab coordination with active tab priority.\n */\n function setupTabCoordination() {\n var _this = this;\n this.visibilityState = document.hidden ? \"hidden\" : \"visible\";\n this.cleanupVisibilityChange = onVisibilityChange(function(visible) {\n if (_this.isDestroyed) return;\n var wasVisible = _this.visibilityState === \"visible\";\n _this.visibilityState = visible ? \"visible\" : \"hidden\";\n _this.lastVisibilityChange = Date.now();\n if (!wasVisible && _this.visibilityState === \"visible\") {\n _this.evaluateLeadershipPriority();\n } else if (wasVisible && _this.visibilityState === \"hidden\" && _this.isLeader) {\n _this.considerLeadershipHandoff();\n }\n });\n this.tryBecomeLeader();\n }\n )\n },\n {\n key: \"tryBecomeLeader\",\n value: (\n /**\n * Attempts to become the leader tab.\n */\n function tryBecomeLeader() {\n var _this = this;\n if (!getLocalStorage() || this.isDestroyed) return;\n var now = Date.now();\n var leaderData = this.getLeaderData();\n if (!leaderData || now - leaderData.timestamp > this.tabCoordinationConfig.leaderTimeout || this.visibilityState === \"visible\" && leaderData.visibilityState === \"hidden\") {\n this.becomeLeader();\n } else {\n if (this.leaderCheckInterval) {\n clearInterval(this.leaderCheckInterval);\n }\n this.leaderCheckInterval = setInterval(function() {\n if (!_this.isDestroyed) {\n _this.checkLeadership();\n }\n }, this.tabCoordinationConfig.leaderTimeout / 2);\n }\n }\n )\n },\n {\n key: \"becomeLeader\",\n value: (\n /**\n * Becomes the leader tab.\n */\n function becomeLeader() {\n var _this = this;\n if (this.isDestroyed) return;\n this.isLeader = true;\n this.updateLeaderTimestamp();\n this.onBecomeLeader();\n if (this.leaderCheckInterval) {\n clearInterval(this.leaderCheckInterval);\n }\n this.leaderCheckInterval = setInterval(function() {\n if (!_this.isDestroyed) {\n _this.updateLeaderTimestamp();\n }\n }, this.tabCoordinationConfig.leaderTimeout / 2);\n }\n )\n },\n {\n key: \"updateLeaderTimestamp\",\n value: (\n /**\n * Updates leader timestamp in localStorage.\n */\n function updateLeaderTimestamp() {\n var ls = getLocalStorage();\n if (!ls) return;\n var leaderData = {\n tabId: this.tabId,\n timestamp: Date.now(),\n visibilityState: this.visibilityState,\n lastVisibilityChange: this.lastVisibilityChange\n };\n try {\n ls.setItem(this.leaderKey, JSON.stringify(leaderData));\n } catch (error) {\n console.warn(\"[PersistenceManager] Failed to update leader timestamp:\", error);\n }\n }\n )\n },\n {\n key: \"checkLeadership\",\n value: (\n /**\n * Checks if this tab should remain leader.\n */\n function checkLeadership() {\n var leaderData = this.getLeaderData();\n if (!leaderData) {\n this.tryBecomeLeader();\n return;\n }\n var now = Date.now();\n if (this.isLeader) {\n if (leaderData.tabId !== this.tabId) {\n this.isLeader = false;\n this.onLoseLeadership();\n }\n } else {\n if (now - leaderData.timestamp > this.tabCoordinationConfig.leaderTimeout || this.visibilityState === \"visible\" && leaderData.visibilityState === \"hidden\" && now - this.lastVisibilityChange > 1e3) {\n this.tryBecomeLeader();\n }\n }\n }\n )\n },\n {\n key: \"getLeaderData\",\n value: (\n /**\n * Gets current leader data from localStorage.\n */\n function getLeaderData() {\n var ls = getLocalStorage();\n if (!ls) return null;\n try {\n var data = ls.getItem(this.leaderKey);\n return data ? JSON.parse(data) : null;\n } catch (unused) {\n return null;\n }\n }\n )\n },\n {\n key: \"evaluateLeadershipPriority\",\n value: (\n /**\n * Evaluates if this tab should take leadership based on visibility priority.\n */\n function evaluateLeadershipPriority() {\n if (this.isLeader) return;\n var leaderData = this.getLeaderData();\n if (!leaderData) {\n this.tryBecomeLeader();\n return;\n }\n if (leaderData.visibilityState === \"hidden\" && this.visibilityState === \"visible\") {\n this.requestLeadershipHandoff();\n }\n }\n )\n },\n {\n key: \"considerLeadershipHandoff\",\n value: (\n /**\n * Considers handing off leadership when tab becomes hidden.\n */\n function considerLeadershipHandoff() {\n var _this = this;\n if (!this.isLeader) return;\n this.checkForActiveTabs(function(hasActiveTabs) {\n if (hasActiveTabs) {\n _this.initiateGracefulHandoff();\n }\n });\n }\n )\n },\n {\n key: \"requestLeadershipHandoff\",\n value: (\n // Otherwise, remain leader even though hidden\n /**\n * Requests leadership handoff from current leader.\n */\n function requestLeadershipHandoff() {\n this.broadcastToTabs({\n type: \"leadership-request\",\n tabId: this.tabId,\n visibilityState: this.visibilityState\n });\n }\n )\n },\n {\n key: \"initiateGracefulHandoff\",\n value: (\n /**\n * Initiates graceful handoff to another tab.\n */\n async function initiateGracefulHandoff() {\n if (!this.isLeader || this.handoffInProgress) return;\n this.handoffInProgress = true;\n this.acceptingNewWork = false;\n await this.waitForPendingOperations();\n var successor = await this.findSuccessor();\n if (successor) {\n var state = await this.captureState();\n this.broadcastToTabs({\n type: \"leadership-handoff\",\n fromTab: this.tabId,\n toTab: successor,\n state\n });\n this.isLeader = false;\n this.onLoseLeadership();\n }\n this.handoffInProgress = false;\n this.acceptingNewWork = true;\n }\n )\n },\n {\n key: \"waitForPendingOperations\",\n value: (\n /**\n * Waits for all pending operations to complete.\n */\n async function waitForPendingOperations() {\n var _this = this;\n var timeout = new Promise(function(resolve) {\n return setTimeout(resolve, _this.tabCoordinationConfig.handoffGracePeriod);\n });\n var operations = Promise.all(this.pendingOperations);\n await Promise.race([\n operations,\n timeout\n ]);\n }\n )\n },\n {\n key: \"findSuccessor\",\n value: (\n /**\n * Finds a suitable successor for leadership.\n */\n async function findSuccessor() {\n var _this = this;\n return new Promise(function(resolve) {\n if (_this.isDestroyed) {\n resolve(null);\n return;\n }\n var responses = [];\n var handleResponse = function handleResponse2(event) {\n var _event_data;\n if (((_event_data = event.data) === null || _event_data === void 0 ? void 0 : _event_data.type) === \"visibility-response\") {\n responses.push({\n tabId: event.data.tabId,\n isVisible: event.data.isVisible\n });\n }\n };\n window.addEventListener(\"message\", handleResponse);\n _this.broadcastToTabs({\n type: \"visibility-check\",\n fromTab: _this.tabId\n });\n var responseTimer = setTimeout(function() {\n var _responses_;\n _this.activeResponseTimers.delete(responseTimer);\n window.removeEventListener(\"message\", handleResponse);\n var visibleTab = responses.find(function(r) {\n return r.isVisible;\n });\n resolve(visibleTab ? visibleTab.tabId : ((_responses_ = responses[0]) === null || _responses_ === void 0 ? void 0 : _responses_.tabId) || null);\n }, 500);\n _this.activeResponseTimers.add(responseTimer);\n });\n }\n )\n },\n {\n key: \"checkForActiveTabs\",\n value: (\n /**\n * Checks if there are other active tabs.\n */\n function checkForActiveTabs(callback) {\n var _this = this;\n if (this.isDestroyed) {\n callback(false);\n return;\n }\n var responses = [];\n var handleResponse = function handleResponse2(event) {\n var _event_data;\n if (((_event_data = event.data) === null || _event_data === void 0 ? void 0 : _event_data.type) === \"visibility-response\") {\n responses.push(event.data.isVisible);\n }\n };\n window.addEventListener(\"message\", handleResponse);\n this.broadcastToTabs({\n type: \"visibility-check\",\n fromTab: this.tabId\n });\n var responseTimer = setTimeout(function() {\n _this.activeResponseTimers.delete(responseTimer);\n window.removeEventListener(\"message\", handleResponse);\n callback(responses.some(function(isVisible) {\n return isVisible;\n }));\n }, 500);\n this.activeResponseTimers.add(responseTimer);\n }\n )\n },\n {\n key: \"captureState\",\n value: (\n /**\n * Captures current state for handoff.\n */\n async function captureState() {\n return {\n cache: this.normalizedCache.state,\n journal: this.mutationJournal.listPending(),\n subscriptions: [\n ...this.subscriptionManager.getAllSubscriptions().values()\n ],\n tempMappings: [\n ...this.mutationEngine.getTemporaryIdToRealNameMap().entries()\n ]\n };\n }\n )\n },\n {\n key: \"broadcastToTabs\",\n value: (\n /**\n * Broadcasts message to other tabs.\n */\n function broadcastToTabs(message) {\n if (this.broadcastChannel) {\n this.broadcastChannel.postMessage(message);\n }\n var ls = getLocalStorage();\n if (ls) {\n try {\n var key = `frappe-sync-msg-${Date.now()}`;\n ls.setItem(key, JSON.stringify(message));\n setTimeout(function() {\n return ls.removeItem(key);\n }, 100);\n } catch (unused) {\n }\n }\n }\n )\n },\n {\n key: \"onBecomeLeader\",\n value: (\n /**\n * Handles becoming the leader.\n */\n function onBecomeLeader() {\n console.debug(`[PersistenceManager] Tab ${this.tabId} became leader`);\n if (this.options.onBecomeLeader) {\n this.options.onBecomeLeader();\n }\n }\n )\n },\n {\n key: \"onLoseLeadership\",\n value: (\n /**\n * Handles losing leadership.\n */\n function onLoseLeadership() {\n console.debug(`[PersistenceManager] Tab ${this.tabId} lost leadership`);\n if (this.leaderCheckInterval) {\n clearInterval(this.leaderCheckInterval);\n this.leaderCheckInterval = void 0;\n }\n if (this.options.onLoseLeadership) {\n this.options.onLoseLeadership();\n }\n }\n )\n },\n {\n key: \"generateTabId\",\n value: (\n /**\n * Generates a unique tab ID.\n */\n function generateTabId() {\n return `tab-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;\n }\n )\n },\n {\n /**\n * Tracks a pending operation.\n */\n key: \"trackOperation\",\n value: function trackOperation(operation) {\n var _this = this;\n this.pendingOperations.add(operation);\n operation.finally(function() {\n _this.pendingOperations.delete(operation);\n }).catch(function() {\n });\n return operation;\n }\n },\n {\n /**\n * Gets whether this tab is the leader.\n */\n key: \"getIsLeader\",\n value: function getIsLeader() {\n return this.isLeader;\n }\n },\n {\n /**\n * Cleans up timers, event listeners, and channels.\n */\n key: \"destroy\",\n value: function destroy() {\n var _this_cleanupVisibilityChange, _this;\n this.isDestroyed = true;\n this.saveDebouncer.cancel();\n if (this.leaderCheckInterval) {\n clearInterval(this.leaderCheckInterval);\n this.leaderCheckInterval = void 0;\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.activeResponseTimers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var timer = _step.value;\n clearTimeout(timer);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n this.activeResponseTimers.clear();\n (_this_cleanupVisibilityChange = (_this = this).cleanupVisibilityChange) === null || _this_cleanupVisibilityChange === void 0 ? void 0 : _this_cleanupVisibilityChange.call(_this);\n this.cleanupVisibilityChange = void 0;\n if (this.broadcastChannel) {\n this.broadcastChannel.close();\n this.broadcastChannel = void 0;\n }\n this.pendingOperations.clear();\n }\n }\n ]);\n return PersistenceManager2;\n})();\nexport {\n PersistenceManager\n};\n//# sourceMappingURL=persistence.js.map\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,EAAEC,kBAAkB,QAAQ,6BAA6B;AAC1E,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,WAAW,EAAEC,iBAAiB,QAAQ,WAAW;AAC1D,SAASC,iBAAiBA,CAACC,QAAQ,EAAEC,WAAW,EAAE;EAChD,IAAI,EAAED,QAAQ,YAAYC,WAAW,CAAC,EAAE;IACtC,MAAM,IAAIC,SAAS,CAAC,mCAAmC,CAAC;EAC1D;AACF;AACA,SAASC,iBAAiBA,CAACC,MAAM,EAAEC,KAAK,EAAE;EACxC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;IACrC,IAAIE,UAAU,GAAGH,KAAK,CAACC,CAAC,CAAC;IACzBE,UAAU,CAACC,UAAU,GAAGD,UAAU,CAACC,UAAU,IAAI,KAAK;IACtDD,UAAU,CAACE,YAAY,GAAG,IAAI;IAC9B,IAAI,OAAO,IAAIF,UAAU,EAAEA,UAAU,CAACG,QAAQ,GAAG,IAAI;IACrDC,MAAM,CAACC,cAAc,CAACT,MAAM,EAAEI,UAAU,CAACM,GAAG,EAAEN,UAAU,CAAC;EAC3D;AACF;AACA,SAASO,aAAaA,CAACd,WAAW,EAAEe,UAAU,EAAEC,WAAW,EAAE;EAC3D,IAAID,UAAU,EAAEb,iBAAiB,CAACF,WAAW,CAACiB,SAAS,EAAEF,UAAU,CAAC;EACpE,IAAIC,WAAW,EAAEd,iBAAiB,CAACF,WAAW,EAAEgB,WAAW,CAAC;EAC5D,OAAOhB,WAAW;AACpB;AACA,SAASkB,gBAAgBA,CAACC,GAAG,EAAEN,GAAG,EAAEO,KAAK,EAAE;EACzC,IAAIP,GAAG,IAAIM,GAAG,EAAE;IACdR,MAAM,CAACC,cAAc,CAACO,GAAG,EAAEN,GAAG,EAAE;MAC9BO,KAAK;MACLZ,UAAU,EAAE,IAAI;MAChBC,YAAY,EAAE,IAAI;MAClBC,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ,CAAC,MAAM;IACLS,GAAG,CAACN,GAAG,CAAC,GAAGO,KAAK;EAClB;EACA,OAAOD,GAAG;AACZ;AACA,SAASE,QAAQA,CAACF,GAAG,EAAE;EACrB,uBAAuB;;EACvB,OAAOA,GAAG,IAAI,OAAOG,MAAM,KAAK,WAAW,IAAIH,GAAG,CAACI,WAAW,KAAKD,MAAM,GAAG,QAAQ,GAAG,OAAOH,GAAG;AACnG;AACA,SAASK,eAAeA,CAAA,EAAG;EACzB,IAAI;IACF,OAAO,OAAOC,UAAU,KAAK,WAAW,IAAI,cAAc,IAAIA,UAAU,GAAGA,UAAU,CAACC,YAAY,GAAG,KAAK,CAAC;EAC7G,CAAC,CAAC,OAAOC,MAAM,EAAE;IACf,OAAO,KAAK,CAAC;EACf;AACF;AACA,IAAIC,kBAAkB,GAAG,eAAiB,YAAW;EACnD,YAAY;;EACZ,SAASC,mBAAmBA,CAACC,eAAe,EAAEC,eAAe,EAAEC,mBAAmB,EAAEC,cAAc,EAAE;IAClG,IAAIC,KAAK,GAAG,IAAI;IAChB,IAAIC,OAAO,GAAGC,SAAS,CAAC9B,MAAM,GAAG,CAAC,IAAI8B,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjFtC,iBAAiB,CAAC,IAAI,EAAE+B,mBAAmB,CAAC;IAC5C,IAAIQ,IAAI,EAAEC,KAAK,EAAEC,KAAK;IACtB,IAAIC,wBAAwB,EAAEC,yBAAyB,EAAEC,yBAAyB;IAClFxB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACpDA,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI1B,SAAS,CAAC,YAAW;MAC/D,OAAO,KAAK0C,KAAK,CAACS,IAAI,CAAC,CAAC;IAC1B,CAAC,EAAE;MACDC,IAAI,EAAE;IACR,CAAC,CAAC,CAAC;IACH1B,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAClDA,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC;IACzCA,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC2B,aAAa,CAAC,CAAC,CAAC;IACrD3B,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;IACrDA,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,SAAS,CAAC;IACpDA,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,EAAE4B,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;IAC1D7B,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,EAAE,eAAgB,IAAI8B,GAAG,CAAC,CAAC,CAAC;IACtE9B,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC;IAChDA,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,CAAC;IAClDA,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;IACvDA,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,CAAC;IACzDA,gBAAgB,CAAC,IAAI,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;IACzDA,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,EAAE,eAAgB,IAAI8B,GAAG,CAAC,CAAC,CAAC;IACzE9B,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC;IAC5CA,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE+B,OAAO,CAACC,OAAO,CAAC,CAAC,CAAC;IACxDhC,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjDA,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjDA,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;IACrDA,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAChDA,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,CAACY,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,mBAAmB,GAAGA,mBAAmB;IAC9C,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACE,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACgB,qBAAqB,GAAG;MAC3BC,iBAAiB,EAAE,CAACf,IAAI,GAAG,CAACG,wBAAwB,GAAGL,OAAO,CAACkB,eAAe,MAAM,IAAI,IAAIb,wBAAwB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,wBAAwB,CAACY,iBAAiB,MAAM,IAAI,IAAIf,IAAI,KAAK,KAAK,CAAC,GAAGA,IAAI,GAAG,IAAI;MAChOiB,aAAa,EAAE,CAAChB,KAAK,GAAG,CAACG,yBAAyB,GAAGN,OAAO,CAACkB,eAAe,MAAM,IAAI,IAAIZ,yBAAyB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,yBAAyB,CAACa,aAAa,MAAM,IAAI,IAAIhB,KAAK,KAAK,KAAK,CAAC,GAAGA,KAAK,GAAG,GAAG;MAC7NiB,kBAAkB,EAAE,CAAChB,KAAK,GAAG,CAACG,yBAAyB,GAAGP,OAAO,CAACkB,eAAe,MAAM,IAAI,IAAIX,yBAAyB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,yBAAyB,CAACa,kBAAkB,MAAM,IAAI,IAAIhB,KAAK,KAAK,KAAK,CAAC,GAAGA,KAAK,GAAG;IACtO,CAAC;IACD,IAAI9C,QAAQ,IAAIE,KAAK,CAAC,CAAC,EAAE;MACvB,IAAI,CAAC6D,gBAAgB,CAAC,CAAC;MACvB;IACF;IACA,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;MACpE;IACF;IACA,IAAI,CAACF,gBAAgB,CAAC,CAAC;IACvB,IAAI,CAACG,qBAAqB,CAAC,CAAC;IAC5B,IAAI,IAAI,CAACxB,OAAO,CAACyB,UAAU,IAAI,IAAI,CAACT,qBAAqB,CAACC,iBAAiB,EAAE;MAC3E,IAAI,CAACS,oBAAoB,CAAC,CAAC;IAC7B;EACF;EACA/C,aAAa,CAACe,mBAAmB,EAAE,CACjC;IACE;AACN;AACA;AACA;AACA;IACMhB,GAAG,EAAE,WAAW;IAChBO,KAAK,EAAE,SAAS0C,SAASA,CAAA,EAAG;MAC1B,OAAO,IAAI,CAACC,WAAW;IACzB;EACF,CAAC,EACD;IACElD,GAAG,EAAE,kBAAkB;IACvBO,KAAK;IACH;AACR;AACA;IACQ,SAASoC,gBAAgBA,CAAA,EAAG;MAC1B,IAAI,CAAC,IAAI,CAACrB,OAAO,CAACyB,UAAU,EAAE;MAC9B,IAAI,IAAI,CAACzB,OAAO,CAAC6B,OAAO,EAAE;QACxB,IAAI,CAACC,kBAAkB,GAAG,IAAI,CAAC9B,OAAO,CAAC6B,OAAO;MAChD,CAAC,MAAM,IAAI,OAAOE,SAAS,KAAK,WAAW,EAAE;QAC3C,IAAI,CAACD,kBAAkB,GAAG,IAAIrE,WAAW,CAAC,CAAC;MAC7C,CAAC,MAAM;QACL,IAAID,KAAK,CAAC,CAAC,EAAE;UACXwE,OAAO,CAACC,KAAK,CAAC,4KAA4K,CAAC;QAC7L;QACA,IAAI,CAACH,kBAAkB,GAAG,IAAIpE,iBAAiB,CAAC,CAAC;MACnD;MACA,IAAI,CAACkE,WAAW,GAAG,IAAI,CAACM,IAAI,CAAC,CAAC;IAChC,CAAC;EAEL,CAAC,EACD;IACExD,GAAG,EAAE,uBAAuB;IAC5BO,KAAK;IACH;AACR;AACA;AACA;IACQ,SAASuC,qBAAqBA,CAAA,EAAG;MAC/B,IAAIzB,KAAK,GAAG,IAAI;MAChB,IAAI,CAAC,IAAI,CAACC,OAAO,CAACyB,UAAU,IAAI,OAAOU,gBAAgB,KAAK,WAAW,EAAE;MACzE,IAAI;QACF,IAAI,CAACC,gBAAgB,GAAG,IAAID,gBAAgB,CAAC,eAAe,IAAI,CAACnC,OAAO,CAACyB,UAAU,EAAE,CAAC;MACxF,CAAC,CAAC,OAAOjC,MAAM,EAAE;QACf;MACF;MACA,IAAI,CAAC4C,gBAAgB,CAACC,SAAS,GAAG,UAASC,CAAC,EAAE;QAC5C,IAAI,QAAQA,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACC,IAAI,CAAC,KAAK,QAAQ,EAAE;UACtE,IAAID,CAAC,CAACC,IAAI,KAAK,OAAO,IAAIxC,KAAK,CAACC,OAAO,CAACwC,YAAY,EAAE;YACpDzC,KAAK,CAACC,OAAO,CAACwC,YAAY,CAAC,CAAC;UAC9B;UACA,IAAIF,CAAC,CAACC,IAAI,KAAK,UAAU,IAAIxC,KAAK,CAACC,OAAO,CAACyC,aAAa,EAAE;YACxD1C,KAAK,CAACC,OAAO,CAACyC,aAAa,CAAC,CAAC;UAC/B;UACA;QACF;QACA,IAAIC,OAAO,GAAGJ,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACC,IAAI;QAC1D,IAAI,CAACG,OAAO,IAAI,CAACA,OAAO,CAACC,IAAI,EAAE;QAC/B,QAAQD,OAAO,CAACC,IAAI;UAClB,KAAK,kBAAkB;YACrB,IAAID,OAAO,CAACE,OAAO,KAAK7C,KAAK,CAAC8C,KAAK,EAAE;cACnC9C,KAAK,CAAC+C,eAAe,CAAC;gBACpBH,IAAI,EAAE,qBAAqB;gBAC3BE,KAAK,EAAE9C,KAAK,CAAC8C,KAAK;gBAClBE,SAAS,EAAEhD,KAAK,CAACiD,eAAe,KAAK;cACvC,CAAC,CAAC;YACJ;YACA;UACF,KAAK,oBAAoB;YACvB,IAAIjD,KAAK,CAACkD,QAAQ,IAAIP,OAAO,CAACM,eAAe,KAAK,SAAS,IAAIjD,KAAK,CAACiD,eAAe,KAAK,QAAQ,EAAE;cACjGjD,KAAK,CAACmD,uBAAuB,CAAC,CAAC;YACjC;YACA;UACF,KAAK,oBAAoB;YACvB,IAAIR,OAAO,CAACS,KAAK,KAAKpD,KAAK,CAAC8C,KAAK,EAAE;cACjC,IAAIH,OAAO,CAACU,KAAK,EAAE;gBACjBrD,KAAK,CAACsD,uBAAuB,CAACX,OAAO,CAACU,KAAK,CAAC;cAC9C;cACArD,KAAK,CAACuD,YAAY,CAAC,CAAC;YACtB;YACA;UACF,KAAK,UAAU;YACb,IAAI,CAACvD,KAAK,CAACkD,QAAQ,IAAIP,OAAO,CAACa,QAAQ,EAAE;cACvCxD,KAAK,CAACyD,oBAAoB,CAACd,OAAO,CAACa,QAAQ,CAAC;YAC9C;YACA;UACF,KAAK,YAAY;YACf,IAAI,CAACxD,KAAK,CAACkD,QAAQ,IAAIP,OAAO,CAACU,KAAK,EAAE;cACpCrD,KAAK,CAACsD,uBAAuB,CAACX,OAAO,CAACU,KAAK,CAAC;YAC9C;YACA;UACF,KAAK,WAAW;YACd;UACF,KAAK,qBAAqB;YACxB;QACJ;MACF,CAAC;IACH,CAAC;EAEL,CAAC,EACD;IACE1E,GAAG,EAAE,sBAAsB;IAC3BO,KAAK;IACH;AACR;AACA;AACA;IACQ,SAASuE,oBAAoBA,CAACD,QAAQ,EAAE;MACtC,IAAIA,QAAQ,CAACE,GAAG,EAAE;QAChB,IAAIF,QAAQ,CAACG,SAAS,KAAK,QAAQ,EAAE;UACnC,IAAI,CAAC/D,eAAe,CAACgE,MAAM,CAAC;YAC1BC,OAAO,EAAEL,QAAQ,CAACE,GAAG,CAACG,OAAO;YAC7BC,IAAI,EAAEN,QAAQ,CAACE,GAAG,CAACI;UACrB,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAAClE,eAAe,CAACmE,MAAM,CAACP,QAAQ,CAACE,GAAG,CAAC;QAC3C;MACF;IACF,CAAC;EAEL,CAAC,EACD;IACE;AACN;AACA;AACA;IACM/E,GAAG,EAAE,mBAAmB;IACxBO,KAAK,EAAE,SAAS8E,iBAAiBA,CAACR,QAAQ,EAAE;MAC1C,IAAI,CAAC,IAAI,CAACN,QAAQ,EAAE;MACpB,IAAI,CAACH,eAAe,CAAC;QACnBH,IAAI,EAAE,UAAU;QAChBY;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EACD;IACE7E,GAAG,EAAE,yBAAyB;IAC9BO,KAAK;IACH;AACR;AACA;IACQ,SAASoE,uBAAuBA,CAACD,KAAK,EAAE;MACtC,IAAI,CAACA,KAAK,IAAI,CAAC,OAAOA,KAAK,KAAK,WAAW,GAAG,WAAW,GAAGlE,QAAQ,CAACkE,KAAK,CAAC,MAAM,QAAQ,EAAE;MAC3F,IAAIY,YAAY,GAAGZ,KAAK;MACxB,IAAIY,YAAY,CAACC,KAAK,EAAE;QACtB,IAAI,CAACtE,eAAe,CAACyD,KAAK,GAAGY,YAAY,CAACC,KAAK;MACjD;MACA,IAAID,YAAY,CAACE,aAAa,IAAIC,KAAK,CAACC,OAAO,CAACJ,YAAY,CAACE,aAAa,CAAC,EAAE;QAC3E,IAAIA,aAAa,GAAG,IAAI,CAACrE,mBAAmB,CAACwE,mBAAmB,CAAC,CAAC;QAClE,IAAIC,yBAAyB,GAAG,IAAI;UAAEC,iBAAiB,GAAG,KAAK;UAAEC,cAAc,GAAG,KAAK,CAAC;QACxF,IAAI;UACF,KAAK,IAAIC,SAAS,GAAGT,YAAY,CAACE,aAAa,CAAC/E,MAAM,CAACuF,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEL,yBAAyB,GAAG,CAACK,KAAK,GAAGF,SAAS,CAACG,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAEP,yBAAyB,GAAG,IAAI,EAAE;YAC3K,IAAIQ,YAAY,GAAGH,KAAK,CAAC1F,KAAK;YAC9B,IAAI6F,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACC,EAAE,EAAE;cAC/Eb,aAAa,CAACc,GAAG,CAACF,YAAY,CAACC,EAAE,EAAED,YAAY,CAAC;YAClD;UACF;QACF,CAAC,CAAC,OAAOG,GAAG,EAAE;UACZV,iBAAiB,GAAG,IAAI;UACxBC,cAAc,GAAGS,GAAG;QACtB,CAAC,SAAS;UACR,IAAI;YACF,IAAI,CAACX,yBAAyB,IAAIG,SAAS,CAACS,MAAM,IAAI,IAAI,EAAE;cAC1DT,SAAS,CAACS,MAAM,CAAC,CAAC;YACpB;UACF,CAAC,SAAS;YACR,IAAIX,iBAAiB,EAAE;cACrB,MAAMC,cAAc;YACtB;UACF;QACF;MACF;MACA,IAAIR,YAAY,CAACmB,YAAY,IAAIhB,KAAK,CAACC,OAAO,CAACJ,YAAY,CAACmB,YAAY,CAAC,EAAE;QACzE,IAAIC,OAAO,GAAG,IAAI,CAACtF,cAAc,CAACuF,2BAA2B,CAAC,CAAC;QAC/D,IAAIC,0BAA0B,GAAG,IAAI;UAAEC,kBAAkB,GAAG,KAAK;UAAEC,eAAe,GAAG,KAAK,CAAC;QAC3F,IAAI;UACF,KAAK,IAAIC,UAAU,GAAGzB,YAAY,CAACmB,YAAY,CAAChG,MAAM,CAACuF,QAAQ,CAAC,CAAC,CAAC,EAAEgB,MAAM,EAAE,EAAEJ,0BAA0B,GAAG,CAACI,MAAM,GAAGD,UAAU,CAACb,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAES,0BAA0B,GAAG,IAAI,EAAE;YAChL,IAAI,CAACK,MAAM,EAAEC,MAAM,CAAC,GAAGF,MAAM,CAACzG,KAAK;YACnCmG,OAAO,CAACJ,GAAG,CAACW,MAAM,EAAEC,MAAM,CAAC;UAC7B;QACF,CAAC,CAAC,OAAOX,GAAG,EAAE;UACZM,kBAAkB,GAAG,IAAI;UACzBC,eAAe,GAAGP,GAAG;QACvB,CAAC,SAAS;UACR,IAAI;YACF,IAAI,CAACK,0BAA0B,IAAIG,UAAU,CAACP,MAAM,IAAI,IAAI,EAAE;cAC5DO,UAAU,CAACP,MAAM,CAAC,CAAC;YACrB;UACF,CAAC,SAAS;YACR,IAAIK,kBAAkB,EAAE;cACtB,MAAMC,eAAe;YACvB;UACF;QACF;MACF;IACF,CAAC;EAEL,CAAC,EACD;IACE;AACN;AACA;IACM9G,GAAG,EAAE,cAAc;IACnBO,KAAK,EAAE,SAAS4G,YAAYA,CAAA,EAAG;MAC7B,IAAI,CAAC,IAAI,CAAC7F,OAAO,CAACyB,UAAU,EAAE;MAC9B,IAAI,CAACqE,aAAa,CAACC,YAAY,CAAC,CAAC;IACnC;EACF,CAAC,EACD;IACErH,GAAG,EAAE,MAAM;IACXO,KAAK;IACH;AACR;AACA;IACQ,eAAeuB,IAAIA,CAAA,EAAG;MACpB,IAAI,CAAC,IAAI,CAACR,OAAO,CAACyB,UAAU,IAAI,CAAC,IAAI,CAACK,kBAAkB,EAAE;MAC1D,IAAI;QACF,IAAI,CAACjC,mBAAmB,CAACmG,uBAAuB,CAAC,CAAC;QAClD,IAAIC,QAAQ,GAAG;UACbC,IAAI,EAAE,CACJ,GAAG,IAAI,CAACrG,mBAAmB,CAACwE,mBAAmB,CAAC,CAAC,CAAC8B,MAAM,CAAC,CAAC,CAC3D,CAACC,GAAG,CAAC,UAASC,CAAC,EAAE;YAChB,OAAO;cACLtB,EAAE,EAAEsB,CAAC,CAACtB,EAAE;cACRuB,KAAK,EAAED,CAAC,CAACC,KAAK;cACdC,UAAU,EAAEF,CAAC,CAACE,UAAU;cACxBC,MAAM,EAAEH,CAAC,CAACG,MAAM;cAChBC,MAAM,EAAEJ,CAAC,CAACI;YACZ,CAAC;UACH,CAAC,CAAC;UACFxC,KAAK,EAAE,IAAI,CAACtE,eAAe,CAACyD,KAAK;UACjCsD,OAAO,EAAE,IAAI,CAAC9G,eAAe,CAAC+G,WAAW,CAAC,CAAC;UAC3CC,IAAI,EAAE,CACJ,GAAG,IAAI,CAAC9G,cAAc,CAACuF,2BAA2B,CAAC,CAAC,CAACwB,OAAO,CAAC,CAAC;QAElE,CAAC;QACD,MAAM,IAAI,CAAC/E,kBAAkB,CAACgF,OAAO,CAAC,IAAI,CAAC9G,OAAO,CAACyB,UAAU,EAAEsF,IAAI,CAACC,SAAS,CAACf,QAAQ,CAAC,CAAC;MAC1F,CAAC,CAAC,OAAOhB,GAAG,EAAE;QACZjD,OAAO,CAACiF,IAAI,CAAC,4BAA4B,EAAEhC,GAAG,CAAC;MACjD;IACF,CAAC;EAEL,CAAC,EACD;IACEvG,GAAG,EAAE,MAAM;IACXO,KAAK;IACH;AACR;AACA;IACQ,eAAeiD,IAAIA,CAAA,EAAG;MACpB,IAAI,CAAC,IAAI,CAAClC,OAAO,CAACyB,UAAU,IAAI,CAAC,IAAI,CAACK,kBAAkB,EAAE;MAC1D,IAAI;QACF,IAAIoF,GAAG,GAAG,MAAM,IAAI,CAACpF,kBAAkB,CAACqF,OAAO,CAAC,IAAI,CAACnH,OAAO,CAACyB,UAAU,CAAC;QACxE,IAAI,CAACyF,GAAG,EAAE;QACV,IAAIE,IAAI,GAAGL,IAAI,CAACM,KAAK,CAACH,GAAG,CAAC;QAC1B,IAAI,CAACE,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACnD,KAAK,KAAK/E,QAAQ,CAACkI,IAAI,CAACnD,KAAK,CAAC,KAAK,QAAQ,EAAE;UACjG,IAAIK,yBAAyB,GAAG,IAAI;YAAEC,iBAAiB,GAAG,KAAK;YAAEC,cAAc,GAAG,KAAK,CAAC;UACxF,IAAI;YACF,KAAK,IAAIC,SAAS,GAAGjG,MAAM,CAAC2H,MAAM,CAACiB,IAAI,CAACnD,KAAK,CAAC,CAAC9E,MAAM,CAACuF,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEL,yBAAyB,GAAG,CAACK,KAAK,GAAGF,SAAS,CAACG,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAEP,yBAAyB,GAAG,IAAI,EAAE;cAC1K,IAAIgD,MAAM,GAAG3C,KAAK,CAAC1F,KAAK;cACxB,IAAIsI,IAAI,GAAGD,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACC,IAAI;cACtE,IAAI,CAACA,IAAI,IAAI,CAAC,OAAOA,IAAI,KAAK,WAAW,GAAG,WAAW,GAAGrI,QAAQ,CAACqI,IAAI,CAAC,MAAM,QAAQ,EAAE;cACxF,IAAIjC,0BAA0B,GAAG,IAAI;gBAAEC,kBAAkB,GAAG,KAAK;gBAAEC,eAAe,GAAG,KAAK,CAAC;cAC3F,IAAI;gBACF,KAAK,IAAIC,UAAU,GAAGjH,MAAM,CAAC2H,MAAM,CAACoB,IAAI,CAAC,CAACpI,MAAM,CAACuF,QAAQ,CAAC,CAAC,CAAC,EAAEgB,MAAM,EAAE,EAAEJ,0BAA0B,GAAG,CAACI,MAAM,GAAGD,UAAU,CAACb,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAES,0BAA0B,GAAG,IAAI,EAAE;kBAC1K,IAAI7B,GAAG,GAAGiC,MAAM,CAACzG,KAAK;kBACtB,IAAI,EAAEwE,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,GAAG,CAACG,OAAO,CAAC,IAAI,EAAEH,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,GAAG,CAACI,IAAI,CAAC,EAAE;kBACvH,IAAI,IAAI,CAAClE,eAAe,CAAC6H,GAAG,CAAC/D,GAAG,CAAC,EAAE;kBACnC,IAAI,CAAC9D,eAAe,CAACmE,MAAM,CAACL,GAAG,EAAE;oBAC/BgE,OAAO,EAAE;kBACX,CAAC,CAAC;gBACJ;cACF,CAAC,CAAC,OAAOxC,GAAG,EAAE;gBACZM,kBAAkB,GAAG,IAAI;gBACzBC,eAAe,GAAGP,GAAG;cACvB,CAAC,SAAS;gBACR,IAAI;kBACF,IAAI,CAACK,0BAA0B,IAAIG,UAAU,CAACP,MAAM,IAAI,IAAI,EAAE;oBAC5DO,UAAU,CAACP,MAAM,CAAC,CAAC;kBACrB;gBACF,CAAC,SAAS;kBACR,IAAIK,kBAAkB,EAAE;oBACtB,MAAMC,eAAe;kBACvB;gBACF;cACF;YACF;UACF,CAAC,CAAC,OAAOP,GAAG,EAAE;YACZV,iBAAiB,GAAG,IAAI;YACxBC,cAAc,GAAGS,GAAG;UACtB,CAAC,SAAS;YACR,IAAI;cACF,IAAI,CAACX,yBAAyB,IAAIG,SAAS,CAACS,MAAM,IAAI,IAAI,EAAE;gBAC1DT,SAAS,CAACS,MAAM,CAAC,CAAC;cACpB;YACF,CAAC,SAAS;cACR,IAAIX,iBAAiB,EAAE;gBACrB,MAAMC,cAAc;cACtB;YACF;UACF;QACF;QACA,IAAI,CAAC4C,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAClB,IAAI,KAAK/B,KAAK,CAACC,OAAO,CAACgD,IAAI,CAAClB,IAAI,CAAC,EAAE;UACvF,IAAIwB,0BAA0B,GAAG,IAAI;YAAEC,kBAAkB,GAAG,KAAK;YAAEC,eAAe,GAAG,KAAK,CAAC;UAC3F,IAAI;YACF,KAAK,IAAIC,UAAU,GAAGT,IAAI,CAAClB,IAAI,CAAC/G,MAAM,CAACuF,QAAQ,CAAC,CAAC,CAAC,EAAEoD,MAAM,EAAE,EAAEJ,0BAA0B,GAAG,CAACI,MAAM,GAAGD,UAAU,CAACjD,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAE6C,0BAA0B,GAAG,IAAI,EAAE;cAChK,IAAI5C,YAAY,GAAGgD,MAAM,CAAC7I,KAAK;cAC/B,IAAI,CAACY,mBAAmB,CAACkI,mBAAmB,CAACjD,YAAY,CAAC;YAC5D;UACF,CAAC,CAAC,OAAOG,GAAG,EAAE;YACZ0C,kBAAkB,GAAG,IAAI;YACzBC,eAAe,GAAG3C,GAAG;UACvB,CAAC,SAAS;YACR,IAAI;cACF,IAAI,CAACyC,0BAA0B,IAAIG,UAAU,CAAC3C,MAAM,IAAI,IAAI,EAAE;gBAC5D2C,UAAU,CAAC3C,MAAM,CAAC,CAAC;cACrB;YACF,CAAC,SAAS;cACR,IAAIyC,kBAAkB,EAAE;gBACtB,MAAMC,eAAe;cACvB;YACF;UACF;QACF;QACA,IAAI,CAACR,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACV,OAAO,KAAKvC,KAAK,CAACC,OAAO,CAACgD,IAAI,CAACV,OAAO,CAAC,EAAE;UAC7F,IAAIsB,0BAA0B,GAAG,IAAI;YAAEC,kBAAkB,GAAG,KAAK;YAAEC,eAAe,GAAG,KAAK,CAAC;UAC3F,IAAI;YACF,KAAK,IAAIC,UAAU,GAAGf,IAAI,CAACV,OAAO,CAACvH,MAAM,CAACuF,QAAQ,CAAC,CAAC,CAAC,EAAE0D,MAAM,EAAE,EAAEJ,0BAA0B,GAAG,CAACI,MAAM,GAAGD,UAAU,CAACvD,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAEmD,0BAA0B,GAAG,IAAI,EAAE;cACnK,IAAI;gBAAEjD,EAAE;gBAAEsD;cAAM,CAAC,GAAGD,MAAM,CAACnJ,KAAK;cAChC,IAAI,CAACW,eAAe,CAAC0I,GAAG,CAACvD,EAAE,EAAEsD,KAAK,CAAC;YACrC;UACF,CAAC,CAAC,OAAOpD,GAAG,EAAE;YACZgD,kBAAkB,GAAG,IAAI;YACzBC,eAAe,GAAGjD,GAAG;UACvB,CAAC,SAAS;YACR,IAAI;cACF,IAAI,CAAC+C,0BAA0B,IAAIG,UAAU,CAACjD,MAAM,IAAI,IAAI,EAAE;gBAC5DiD,UAAU,CAACjD,MAAM,CAAC,CAAC;cACrB;YACF,CAAC,SAAS;cACR,IAAI+C,kBAAkB,EAAE;gBACtB,MAAMC,eAAe;cACvB;YACF;UACF;QACF;QACA,IAAI,CAACd,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACR,IAAI,KAAKzC,KAAK,CAACC,OAAO,CAACgD,IAAI,CAACR,IAAI,CAAC,EAAE;UACvF,IAAIxB,OAAO,GAAG,IAAI,CAACtF,cAAc,CAACuF,2BAA2B,CAAC,CAAC;UAC/D,IAAIkD,0BAA0B,GAAG,IAAI;YAAEC,kBAAkB,GAAG,KAAK;YAAEC,eAAe,GAAG,KAAK,CAAC;UAC3F,IAAI;YACF,KAAK,IAAIC,UAAU,GAAGtB,IAAI,CAACR,IAAI,CAACzH,MAAM,CAACuF,QAAQ,CAAC,CAAC,CAAC,EAAEiE,MAAM,EAAE,EAAEJ,0BAA0B,GAAG,CAACI,MAAM,GAAGD,UAAU,CAAC9D,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAE0D,0BAA0B,GAAG,IAAI,EAAE;cAChK,IAAI,CAAC5C,MAAM,EAAEC,MAAM,CAAC,GAAG+C,MAAM,CAAC1J,KAAK;cACnCmG,OAAO,CAACJ,GAAG,CAACW,MAAM,EAAEC,MAAM,CAAC;YAC7B;UACF,CAAC,CAAC,OAAOX,GAAG,EAAE;YACZuD,kBAAkB,GAAG,IAAI;YACzBC,eAAe,GAAGxD,GAAG;UACvB,CAAC,SAAS;YACR,IAAI;cACF,IAAI,CAACsD,0BAA0B,IAAIG,UAAU,CAACxD,MAAM,IAAI,IAAI,EAAE;gBAC5DwD,UAAU,CAACxD,MAAM,CAAC,CAAC;cACrB;YACF,CAAC,SAAS;cACR,IAAIsD,kBAAkB,EAAE;gBACtB,MAAMC,eAAe;cACvB;YACF;UACF;QACF;MACF,CAAC,CAAC,OAAOxD,GAAG,EAAE;QACZjD,OAAO,CAACiF,IAAI,CAAC,4BAA4B,EAAEhC,GAAG,CAAC;MACjD;IACF,CAAC;EAEL,CAAC,EACD;IACE;AACN;AACA;IACMvG,GAAG,EAAE,gBAAgB;IACrBO,KAAK,EAAE,SAAS2J,cAAcA,CAAA,EAAG;MAC/B,IAAI,IAAI,CAACxG,gBAAgB,EAAE;QACzB,IAAI,CAACA,gBAAgB,CAACyG,WAAW,CAAC,OAAO,CAAC;MAC5C;IACF;EACF,CAAC,EACD;IACE;AACN;AACA;IACMnK,GAAG,EAAE,mBAAmB;IACxBO,KAAK,EAAE,SAAS6J,iBAAiBA,CAAA,EAAG;MAClC,IAAI,IAAI,CAAC1G,gBAAgB,EAAE;QACzB,IAAI,CAACA,gBAAgB,CAACyG,WAAW,CAAC,UAAU,CAAC;MAC/C;IACF;EACF,CAAC,EACD;IACE;AACN;AACA;IACMnK,GAAG,EAAE,iBAAiB;IACtBO,KAAK,EAAE,SAAS8J,eAAeA,CAAA,EAAG;MAChC,IAAI,IAAI,CAAC3G,gBAAgB,EAAE;QACzB,IAAI,CAACA,gBAAgB,CAACyG,WAAW,CAAC,SAAS,CAAC;MAC9C;IACF;EACF,CAAC,EACD;IACEnK,GAAG,EAAE,sBAAsB;IAC3BO,KAAK;IACH;AACR;AACA;IACQ,SAASyC,oBAAoBA,CAAA,EAAG;MAC9B,IAAI3B,KAAK,GAAG,IAAI;MAChB,IAAI,CAACiD,eAAe,GAAGzB,QAAQ,CAACyH,MAAM,GAAG,QAAQ,GAAG,SAAS;MAC7D,IAAI,CAACC,uBAAuB,GAAG1L,kBAAkB,CAAC,UAAS2L,OAAO,EAAE;QAClE,IAAInJ,KAAK,CAACoJ,WAAW,EAAE;QACvB,IAAIC,UAAU,GAAGrJ,KAAK,CAACiD,eAAe,KAAK,SAAS;QACpDjD,KAAK,CAACiD,eAAe,GAAGkG,OAAO,GAAG,SAAS,GAAG,QAAQ;QACtDnJ,KAAK,CAACsJ,oBAAoB,GAAG1I,IAAI,CAACC,GAAG,CAAC,CAAC;QACvC,IAAI,CAACwI,UAAU,IAAIrJ,KAAK,CAACiD,eAAe,KAAK,SAAS,EAAE;UACtDjD,KAAK,CAACuJ,0BAA0B,CAAC,CAAC;QACpC,CAAC,MAAM,IAAIF,UAAU,IAAIrJ,KAAK,CAACiD,eAAe,KAAK,QAAQ,IAAIjD,KAAK,CAACkD,QAAQ,EAAE;UAC7ElD,KAAK,CAACwJ,yBAAyB,CAAC,CAAC;QACnC;MACF,CAAC,CAAC;MACF,IAAI,CAACC,eAAe,CAAC,CAAC;IACxB,CAAC;EAEL,CAAC,EACD;IACE9K,GAAG,EAAE,iBAAiB;IACtBO,KAAK;IACH;AACR;AACA;IACQ,SAASuK,eAAeA,CAAA,EAAG;MACzB,IAAIzJ,KAAK,GAAG,IAAI;MAChB,IAAI,CAACV,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC8J,WAAW,EAAE;MAC5C,IAAIvI,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;MACpB,IAAI6I,UAAU,GAAG,IAAI,CAACC,aAAa,CAAC,CAAC;MACrC,IAAI,CAACD,UAAU,IAAI7I,GAAG,GAAG6I,UAAU,CAACE,SAAS,GAAG,IAAI,CAAC3I,qBAAqB,CAACG,aAAa,IAAI,IAAI,CAAC6B,eAAe,KAAK,SAAS,IAAIyG,UAAU,CAACzG,eAAe,KAAK,QAAQ,EAAE;QACzK,IAAI,CAACM,YAAY,CAAC,CAAC;MACrB,CAAC,MAAM;QACL,IAAI,IAAI,CAACsG,mBAAmB,EAAE;UAC5BC,aAAa,CAAC,IAAI,CAACD,mBAAmB,CAAC;QACzC;QACA,IAAI,CAACA,mBAAmB,GAAGE,WAAW,CAAC,YAAW;UAChD,IAAI,CAAC/J,KAAK,CAACoJ,WAAW,EAAE;YACtBpJ,KAAK,CAACgK,eAAe,CAAC,CAAC;UACzB;QACF,CAAC,EAAE,IAAI,CAAC/I,qBAAqB,CAACG,aAAa,GAAG,CAAC,CAAC;MAClD;IACF,CAAC;EAEL,CAAC,EACD;IACEzC,GAAG,EAAE,cAAc;IACnBO,KAAK;IACH;AACR;AACA;IACQ,SAASqE,YAAYA,CAAA,EAAG;MACtB,IAAIvD,KAAK,GAAG,IAAI;MAChB,IAAI,IAAI,CAACoJ,WAAW,EAAE;MACtB,IAAI,CAAClG,QAAQ,GAAG,IAAI;MACpB,IAAI,CAAC+G,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACC,cAAc,CAAC,CAAC;MACrB,IAAI,IAAI,CAACL,mBAAmB,EAAE;QAC5BC,aAAa,CAAC,IAAI,CAACD,mBAAmB,CAAC;MACzC;MACA,IAAI,CAACA,mBAAmB,GAAGE,WAAW,CAAC,YAAW;QAChD,IAAI,CAAC/J,KAAK,CAACoJ,WAAW,EAAE;UACtBpJ,KAAK,CAACiK,qBAAqB,CAAC,CAAC;QAC/B;MACF,CAAC,EAAE,IAAI,CAAChJ,qBAAqB,CAACG,aAAa,GAAG,CAAC,CAAC;IAClD,CAAC;EAEL,CAAC,EACD;IACEzC,GAAG,EAAE,uBAAuB;IAC5BO,KAAK;IACH;AACR;AACA;IACQ,SAAS+K,qBAAqBA,CAAA,EAAG;MAC/B,IAAIE,EAAE,GAAG7K,eAAe,CAAC,CAAC;MAC1B,IAAI,CAAC6K,EAAE,EAAE;MACT,IAAIT,UAAU,GAAG;QACf5G,KAAK,EAAE,IAAI,CAACA,KAAK;QACjB8G,SAAS,EAAEhJ,IAAI,CAACC,GAAG,CAAC,CAAC;QACrBoC,eAAe,EAAE,IAAI,CAACA,eAAe;QACrCqG,oBAAoB,EAAE,IAAI,CAACA;MAC7B,CAAC;MACD,IAAI;QACFa,EAAE,CAACpD,OAAO,CAAC,IAAI,CAACqD,SAAS,EAAEpD,IAAI,CAACC,SAAS,CAACyC,UAAU,CAAC,CAAC;MACxD,CAAC,CAAC,OAAOW,KAAK,EAAE;QACdpI,OAAO,CAACiF,IAAI,CAAC,yDAAyD,EAAEmD,KAAK,CAAC;MAChF;IACF,CAAC;EAEL,CAAC,EACD;IACE1L,GAAG,EAAE,iBAAiB;IACtBO,KAAK;IACH;AACR;AACA;IACQ,SAAS8K,eAAeA,CAAA,EAAG;MACzB,IAAIN,UAAU,GAAG,IAAI,CAACC,aAAa,CAAC,CAAC;MACrC,IAAI,CAACD,UAAU,EAAE;QACf,IAAI,CAACD,eAAe,CAAC,CAAC;QACtB;MACF;MACA,IAAI5I,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;MACpB,IAAI,IAAI,CAACqC,QAAQ,EAAE;QACjB,IAAIwG,UAAU,CAAC5G,KAAK,KAAK,IAAI,CAACA,KAAK,EAAE;UACnC,IAAI,CAACI,QAAQ,GAAG,KAAK;UACrB,IAAI,CAACoH,gBAAgB,CAAC,CAAC;QACzB;MACF,CAAC,MAAM;QACL,IAAIzJ,GAAG,GAAG6I,UAAU,CAACE,SAAS,GAAG,IAAI,CAAC3I,qBAAqB,CAACG,aAAa,IAAI,IAAI,CAAC6B,eAAe,KAAK,SAAS,IAAIyG,UAAU,CAACzG,eAAe,KAAK,QAAQ,IAAIpC,GAAG,GAAG,IAAI,CAACyI,oBAAoB,GAAG,GAAG,EAAE;UACnM,IAAI,CAACG,eAAe,CAAC,CAAC;QACxB;MACF;IACF,CAAC;EAEL,CAAC,EACD;IACE9K,GAAG,EAAE,eAAe;IACpBO,KAAK;IACH;AACR;AACA;IACQ,SAASyK,aAAaA,CAAA,EAAG;MACvB,IAAIQ,EAAE,GAAG7K,eAAe,CAAC,CAAC;MAC1B,IAAI,CAAC6K,EAAE,EAAE,OAAO,IAAI;MACpB,IAAI;QACF,IAAI3H,IAAI,GAAG2H,EAAE,CAAC/C,OAAO,CAAC,IAAI,CAACgD,SAAS,CAAC;QACrC,OAAO5H,IAAI,GAAGwE,IAAI,CAACM,KAAK,CAAC9E,IAAI,CAAC,GAAG,IAAI;MACvC,CAAC,CAAC,OAAO/C,MAAM,EAAE;QACf,OAAO,IAAI;MACb;IACF,CAAC;EAEL,CAAC,EACD;IACEd,GAAG,EAAE,4BAA4B;IACjCO,KAAK;IACH;AACR;AACA;IACQ,SAASqK,0BAA0BA,CAAA,EAAG;MACpC,IAAI,IAAI,CAACrG,QAAQ,EAAE;MACnB,IAAIwG,UAAU,GAAG,IAAI,CAACC,aAAa,CAAC,CAAC;MACrC,IAAI,CAACD,UAAU,EAAE;QACf,IAAI,CAACD,eAAe,CAAC,CAAC;QACtB;MACF;MACA,IAAIC,UAAU,CAACzG,eAAe,KAAK,QAAQ,IAAI,IAAI,CAACA,eAAe,KAAK,SAAS,EAAE;QACjF,IAAI,CAACsH,wBAAwB,CAAC,CAAC;MACjC;IACF,CAAC;EAEL,CAAC,EACD;IACE5L,GAAG,EAAE,2BAA2B;IAChCO,KAAK;IACH;AACR;AACA;IACQ,SAASsK,yBAAyBA,CAAA,EAAG;MACnC,IAAIxJ,KAAK,GAAG,IAAI;MAChB,IAAI,CAAC,IAAI,CAACkD,QAAQ,EAAE;MACpB,IAAI,CAACsH,kBAAkB,CAAC,UAASC,aAAa,EAAE;QAC9C,IAAIA,aAAa,EAAE;UACjBzK,KAAK,CAACmD,uBAAuB,CAAC,CAAC;QACjC;MACF,CAAC,CAAC;IACJ,CAAC;EAEL,CAAC,EACD;IACExE,GAAG,EAAE,0BAA0B;IAC/BO,KAAK;IACH;IACA;AACR;AACA;IACQ,SAASqL,wBAAwBA,CAAA,EAAG;MAClC,IAAI,CAACxH,eAAe,CAAC;QACnBH,IAAI,EAAE,oBAAoB;QAC1BE,KAAK,EAAE,IAAI,CAACA,KAAK;QACjBG,eAAe,EAAE,IAAI,CAACA;MACxB,CAAC,CAAC;IACJ;EAEJ,CAAC,EACD;IACEtE,GAAG,EAAE,yBAAyB;IAC9BO,KAAK;IACH;AACR;AACA;IACQ,eAAeiE,uBAAuBA,CAAA,EAAG;MACvC,IAAI,CAAC,IAAI,CAACD,QAAQ,IAAI,IAAI,CAACwH,iBAAiB,EAAE;MAC9C,IAAI,CAACA,iBAAiB,GAAG,IAAI;MAC7B,IAAI,CAACC,gBAAgB,GAAG,KAAK;MAC7B,MAAM,IAAI,CAACC,wBAAwB,CAAC,CAAC;MACrC,IAAIC,SAAS,GAAG,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC;MAC1C,IAAID,SAAS,EAAE;QACb,IAAIxH,KAAK,GAAG,MAAM,IAAI,CAAC0H,YAAY,CAAC,CAAC;QACrC,IAAI,CAAChI,eAAe,CAAC;UACnBH,IAAI,EAAE,oBAAoB;UAC1BC,OAAO,EAAE,IAAI,CAACC,KAAK;UACnBM,KAAK,EAAEyH,SAAS;UAChBxH;QACF,CAAC,CAAC;QACF,IAAI,CAACH,QAAQ,GAAG,KAAK;QACrB,IAAI,CAACoH,gBAAgB,CAAC,CAAC;MACzB;MACA,IAAI,CAACI,iBAAiB,GAAG,KAAK;MAC9B,IAAI,CAACC,gBAAgB,GAAG,IAAI;IAC9B,CAAC;EAEL,CAAC,EACD;IACEhM,GAAG,EAAE,0BAA0B;IAC/BO,KAAK;IACH;AACR;AACA;IACQ,eAAe0L,wBAAwBA,CAAA,EAAG;MACxC,IAAI5K,KAAK,GAAG,IAAI;MAChB,IAAIgL,OAAO,GAAG,IAAIjK,OAAO,CAAC,UAASC,OAAO,EAAE;QAC1C,OAAOiK,UAAU,CAACjK,OAAO,EAAEhB,KAAK,CAACiB,qBAAqB,CAACI,kBAAkB,CAAC;MAC5E,CAAC,CAAC;MACF,IAAI6J,UAAU,GAAGnK,OAAO,CAACoK,GAAG,CAAC,IAAI,CAACC,iBAAiB,CAAC;MACpD,MAAMrK,OAAO,CAACsK,IAAI,CAAC,CACjBH,UAAU,EACVF,OAAO,CACR,CAAC;IACJ,CAAC;EAEL,CAAC,EACD;IACErM,GAAG,EAAE,eAAe;IACpBO,KAAK;IACH;AACR;AACA;IACQ,eAAe4L,aAAaA,CAAA,EAAG;MAC7B,IAAI9K,KAAK,GAAG,IAAI;MAChB,OAAO,IAAIe,OAAO,CAAC,UAASC,OAAO,EAAE;QACnC,IAAIhB,KAAK,CAACoJ,WAAW,EAAE;UACrBpI,OAAO,CAAC,IAAI,CAAC;UACb;QACF;QACA,IAAIsK,SAAS,GAAG,EAAE;QAClB,IAAIC,cAAc,GAAG,SAASC,eAAeA,CAACC,KAAK,EAAE;UACnD,IAAIC,WAAW;UACf,IAAI,CAAC,CAACA,WAAW,GAAGD,KAAK,CAACjJ,IAAI,MAAM,IAAI,IAAIkJ,WAAW,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,WAAW,CAAC9I,IAAI,MAAM,qBAAqB,EAAE;YACzH0I,SAAS,CAACK,IAAI,CAAC;cACb7I,KAAK,EAAE2I,KAAK,CAACjJ,IAAI,CAACM,KAAK;cACvBE,SAAS,EAAEyI,KAAK,CAACjJ,IAAI,CAACQ;YACxB,CAAC,CAAC;UACJ;QACF,CAAC;QACDzB,MAAM,CAACqK,gBAAgB,CAAC,SAAS,EAAEL,cAAc,CAAC;QAClDvL,KAAK,CAAC+C,eAAe,CAAC;UACpBH,IAAI,EAAE,kBAAkB;UACxBC,OAAO,EAAE7C,KAAK,CAAC8C;QACjB,CAAC,CAAC;QACF,IAAI+I,aAAa,GAAGZ,UAAU,CAAC,YAAW;UACxC,IAAIa,WAAW;UACf9L,KAAK,CAAC+L,oBAAoB,CAACC,MAAM,CAACH,aAAa,CAAC;UAChDtK,MAAM,CAAC0K,mBAAmB,CAAC,SAAS,EAAEV,cAAc,CAAC;UACrD,IAAIW,UAAU,GAAGZ,SAAS,CAACa,IAAI,CAAC,UAASC,CAAC,EAAE;YAC1C,OAAOA,CAAC,CAACpJ,SAAS;UACpB,CAAC,CAAC;UACFhC,OAAO,CAACkL,UAAU,GAAGA,UAAU,CAACpJ,KAAK,GAAG,CAAC,CAACgJ,WAAW,GAAGR,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,IAAIQ,WAAW,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,WAAW,CAAChJ,KAAK,KAAK,IAAI,CAAC;QACjJ,CAAC,EAAE,GAAG,CAAC;QACP9C,KAAK,CAAC+L,oBAAoB,CAACxD,GAAG,CAACsD,aAAa,CAAC;MAC/C,CAAC,CAAC;IACJ,CAAC;EAEL,CAAC,EACD;IACElN,GAAG,EAAE,oBAAoB;IACzBO,KAAK;IACH;AACR;AACA;IACQ,SAASsL,kBAAkBA,CAAC6B,QAAQ,EAAE;MACpC,IAAIrM,KAAK,GAAG,IAAI;MAChB,IAAI,IAAI,CAACoJ,WAAW,EAAE;QACpBiD,QAAQ,CAAC,KAAK,CAAC;QACf;MACF;MACA,IAAIf,SAAS,GAAG,EAAE;MAClB,IAAIC,cAAc,GAAG,SAASC,eAAeA,CAACC,KAAK,EAAE;QACnD,IAAIC,WAAW;QACf,IAAI,CAAC,CAACA,WAAW,GAAGD,KAAK,CAACjJ,IAAI,MAAM,IAAI,IAAIkJ,WAAW,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,WAAW,CAAC9I,IAAI,MAAM,qBAAqB,EAAE;UACzH0I,SAAS,CAACK,IAAI,CAACF,KAAK,CAACjJ,IAAI,CAACQ,SAAS,CAAC;QACtC;MACF,CAAC;MACDzB,MAAM,CAACqK,gBAAgB,CAAC,SAAS,EAAEL,cAAc,CAAC;MAClD,IAAI,CAACxI,eAAe,CAAC;QACnBH,IAAI,EAAE,kBAAkB;QACxBC,OAAO,EAAE,IAAI,CAACC;MAChB,CAAC,CAAC;MACF,IAAI+I,aAAa,GAAGZ,UAAU,CAAC,YAAW;QACxCjL,KAAK,CAAC+L,oBAAoB,CAACC,MAAM,CAACH,aAAa,CAAC;QAChDtK,MAAM,CAAC0K,mBAAmB,CAAC,SAAS,EAAEV,cAAc,CAAC;QACrDc,QAAQ,CAACf,SAAS,CAACgB,IAAI,CAAC,UAAStJ,SAAS,EAAE;UAC1C,OAAOA,SAAS;QAClB,CAAC,CAAC,CAAC;MACL,CAAC,EAAE,GAAG,CAAC;MACP,IAAI,CAAC+I,oBAAoB,CAACxD,GAAG,CAACsD,aAAa,CAAC;IAC9C,CAAC;EAEL,CAAC,EACD;IACElN,GAAG,EAAE,cAAc;IACnBO,KAAK;IACH;AACR;AACA;IACQ,eAAe6L,YAAYA,CAAA,EAAG;MAC5B,OAAO;QACL7G,KAAK,EAAE,IAAI,CAACtE,eAAe,CAACyD,KAAK;QACjCsD,OAAO,EAAE,IAAI,CAAC9G,eAAe,CAAC+G,WAAW,CAAC,CAAC;QAC3CzC,aAAa,EAAE,CACb,GAAG,IAAI,CAACrE,mBAAmB,CAACwE,mBAAmB,CAAC,CAAC,CAAC8B,MAAM,CAAC,CAAC,CAC3D;QACDhB,YAAY,EAAE,CACZ,GAAG,IAAI,CAACrF,cAAc,CAACuF,2BAA2B,CAAC,CAAC,CAACwB,OAAO,CAAC,CAAC;MAElE,CAAC;IACH,CAAC;EAEL,CAAC,EACD;IACEnI,GAAG,EAAE,iBAAiB;IACtBO,KAAK;IACH;AACR;AACA;IACQ,SAAS6D,eAAeA,CAACJ,OAAO,EAAE;MAChC,IAAI,IAAI,CAACN,gBAAgB,EAAE;QACzB,IAAI,CAACA,gBAAgB,CAACyG,WAAW,CAACnG,OAAO,CAAC;MAC5C;MACA,IAAIwH,EAAE,GAAG7K,eAAe,CAAC,CAAC;MAC1B,IAAI6K,EAAE,EAAE;QACN,IAAI;UACF,IAAIxL,GAAG,GAAG,mBAAmBiC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;UACzCsJ,EAAE,CAACpD,OAAO,CAACpI,GAAG,EAAEqI,IAAI,CAACC,SAAS,CAACtE,OAAO,CAAC,CAAC;UACxCsI,UAAU,CAAC,YAAW;YACpB,OAAOd,EAAE,CAACoC,UAAU,CAAC5N,GAAG,CAAC;UAC3B,CAAC,EAAE,GAAG,CAAC;QACT,CAAC,CAAC,OAAOc,MAAM,EAAE,CACjB;MACF;IACF,CAAC;EAEL,CAAC,EACD;IACEd,GAAG,EAAE,gBAAgB;IACrBO,KAAK;IACH;AACR;AACA;IACQ,SAASgL,cAAcA,CAAA,EAAG;MACxBjI,OAAO,CAACC,KAAK,CAAC,4BAA4B,IAAI,CAACY,KAAK,gBAAgB,CAAC;MACrE,IAAI,IAAI,CAAC7C,OAAO,CAACiK,cAAc,EAAE;QAC/B,IAAI,CAACjK,OAAO,CAACiK,cAAc,CAAC,CAAC;MAC/B;IACF,CAAC;EAEL,CAAC,EACD;IACEvL,GAAG,EAAE,kBAAkB;IACvBO,KAAK;IACH;AACR;AACA;IACQ,SAASoL,gBAAgBA,CAAA,EAAG;MAC1BrI,OAAO,CAACC,KAAK,CAAC,4BAA4B,IAAI,CAACY,KAAK,kBAAkB,CAAC;MACvE,IAAI,IAAI,CAAC+G,mBAAmB,EAAE;QAC5BC,aAAa,CAAC,IAAI,CAACD,mBAAmB,CAAC;QACvC,IAAI,CAACA,mBAAmB,GAAG,KAAK,CAAC;MACnC;MACA,IAAI,IAAI,CAAC5J,OAAO,CAACqK,gBAAgB,EAAE;QACjC,IAAI,CAACrK,OAAO,CAACqK,gBAAgB,CAAC,CAAC;MACjC;IACF,CAAC;EAEL,CAAC,EACD;IACE3L,GAAG,EAAE,eAAe;IACpBO,KAAK;IACH;AACR;AACA;IACQ,SAASyB,aAAaA,CAAA,EAAG;MACvB,OAAO,OAAOC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAI2L,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;IACvE,CAAC;EAEL,CAAC,EACD;IACE;AACN;AACA;IACMhO,GAAG,EAAE,gBAAgB;IACrBO,KAAK,EAAE,SAAS0N,cAAcA,CAACjJ,SAAS,EAAE;MACxC,IAAI3D,KAAK,GAAG,IAAI;MAChB,IAAI,CAACoL,iBAAiB,CAAC7C,GAAG,CAAC5E,SAAS,CAAC;MACrCA,SAAS,CAACkJ,OAAO,CAAC,YAAW;QAC3B7M,KAAK,CAACoL,iBAAiB,CAACY,MAAM,CAACrI,SAAS,CAAC;MAC3C,CAAC,CAAC,CAACmJ,KAAK,CAAC,YAAW,CACpB,CAAC,CAAC;MACF,OAAOnJ,SAAS;IAClB;EACF,CAAC,EACD;IACE;AACN;AACA;IACMhF,GAAG,EAAE,aAAa;IAClBO,KAAK,EAAE,SAAS6N,WAAWA,CAAA,EAAG;MAC5B,OAAO,IAAI,CAAC7J,QAAQ;IACtB;EACF,CAAC,EACD;IACE;AACN;AACA;IACMvE,GAAG,EAAE,SAAS;IACdO,KAAK,EAAE,SAAS8N,OAAOA,CAAA,EAAG;MACxB,IAAIC,6BAA6B,EAAEjN,KAAK;MACxC,IAAI,CAACoJ,WAAW,GAAG,IAAI;MACvB,IAAI,CAACrD,aAAa,CAACmH,MAAM,CAAC,CAAC;MAC3B,IAAI,IAAI,CAACrD,mBAAmB,EAAE;QAC5BC,aAAa,CAAC,IAAI,CAACD,mBAAmB,CAAC;QACvC,IAAI,CAACA,mBAAmB,GAAG,KAAK,CAAC;MACnC;MACA,IAAItF,yBAAyB,GAAG,IAAI;QAAEC,iBAAiB,GAAG,KAAK;QAAEC,cAAc,GAAG,KAAK,CAAC;MACxF,IAAI;QACF,KAAK,IAAIC,SAAS,GAAG,IAAI,CAACqH,oBAAoB,CAAC3M,MAAM,CAACuF,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEL,yBAAyB,GAAG,CAACK,KAAK,GAAGF,SAAS,CAACG,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAEP,yBAAyB,GAAG,IAAI,EAAE;UAC1K,IAAI4I,KAAK,GAAGvI,KAAK,CAAC1F,KAAK;UACvBkO,YAAY,CAACD,KAAK,CAAC;QACrB;MACF,CAAC,CAAC,OAAOjI,GAAG,EAAE;QACZV,iBAAiB,GAAG,IAAI;QACxBC,cAAc,GAAGS,GAAG;MACtB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACX,yBAAyB,IAAIG,SAAS,CAACS,MAAM,IAAI,IAAI,EAAE;YAC1DT,SAAS,CAACS,MAAM,CAAC,CAAC;UACpB;QACF,CAAC,SAAS;UACR,IAAIX,iBAAiB,EAAE;YACrB,MAAMC,cAAc;UACtB;QACF;MACF;MACA,IAAI,CAACsH,oBAAoB,CAACsB,KAAK,CAAC,CAAC;MACjC,CAACJ,6BAA6B,GAAG,CAACjN,KAAK,GAAG,IAAI,EAAEkJ,uBAAuB,MAAM,IAAI,IAAI+D,6BAA6B,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,6BAA6B,CAACK,IAAI,CAACtN,KAAK,CAAC;MAClL,IAAI,CAACkJ,uBAAuB,GAAG,KAAK,CAAC;MACrC,IAAI,IAAI,CAAC7G,gBAAgB,EAAE;QACzB,IAAI,CAACA,gBAAgB,CAACkL,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAClL,gBAAgB,GAAG,KAAK,CAAC;MAChC;MACA,IAAI,CAAC+I,iBAAiB,CAACiC,KAAK,CAAC,CAAC;IAChC;EACF,CAAC,CACF,CAAC;EACF,OAAO1N,mBAAmB;AAC5B,CAAC,CAAE,CAAC;AACJ,SACED,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["Debouncer","isNative","onVisibilityChange","isGjs","IndexedDBKV","PlatformStorageKV","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","_type_of","Symbol","constructor","getLocalStorage","globalThis","localStorage","unused","PersistenceManager","PersistenceManager2","normalizedCache","mutationJournal","subscriptionManager","mutationEngine","_this","options","arguments","_ref","_ref1","_ref2","_options_tabCoordination","_options_tabCoordination1","_options_tabCoordination2","save","wait","generateTabId","Date","now","Set","Promise","resolve","tabCoordinationConfig","activeTabPriority","tabCoordination","leaderTimeout","handoffGracePeriod","setupPersistence","window","document","setupBroadcastChannel","persistKey","setupTabCoordination","whenReady","loadPromise","storage","persistenceStorage","indexedDB","console","debug","load","BroadcastChannel","broadcastChannel","onmessage","e","data","onResetCache","onBackfillAll","message","type","fromTab","tabId","broadcastToTabs","isVisible","visibilityState","isLeader","initiateGracefulHandoff","toTab","state","restoreStateFromHandoff","becomeLeader","mutation","handleRemoteMutation","doc","operation","remove","doctype","name","upsert","broadcastMutation","handoffState","cache","subscriptions","Array","isArray","getAllSubscriptions","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","subscription","id","set","err","return","tempMappings","tempMap","getTemporaryIdToRealNameMap","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","tempId","realId","scheduleSave","saveDebouncer","maybeExecute","gcRestoredSubscriptions","snapshot","subs","values","map","s","query","checkpoint","cursor","docIds","journal","listPending","temp","entries","setItem","JSON","stringify","warn","raw","getItem","snap","parse","bucket","byId","get","replace","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","restoreSubscription","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","entry","add","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_iterator4","_step4","broadcastReset","postMessage","broadcastBackfill","broadcastChange","hidden","cleanupVisibilityChange","visible","isDestroyed","wasVisible","lastVisibilityChange","evaluateLeadershipPriority","considerLeadershipHandoff","tryBecomeLeader","leaderData","getLeaderData","timestamp","leaderCheckInterval","clearInterval","setInterval","checkLeadership","updateLeaderTimestamp","onBecomeLeader","ls","leaderKey","error","onLoseLeadership"],"sources":["../../../src/sync/persistence.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { RealtimeEventType, RehydrationReason } from "./types";
1
+ import { RealtimeEventType, RehydrationReason } from "./types.native.js";
2
2
  function _class_call_check(instance, Constructor) {
3
3
  if (!(instance instanceof Constructor)) {
4
4
  throw new TypeError("Cannot call a class as a function");
@@ -1 +1 @@
1
- {"version":3,"names":["RealtimeEventType","RehydrationReason","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","RealtimeHandler","RealtimeHandler2","db","realtime","normalizedCache","subscriptionManager","rehydrationManager","options","arguments","_ref","_ref1","_ref2","_ref3","_options_connectionConfig","_options_connectionConfig1","_options_connectionConfig2","_options_connectionConfig3","Map","connectionConfig","reconnectBaseDelay","reconnectMaxDelay","reconnectJitter","exponentialBackoff","setupRealtimeHandlers","setupConnectionManagement","_this","_this_realtime","_this_realtime1","_this_realtime2","_this_realtime3","_this_realtime4","_this_realtime5","_this_realtime6","on","payload","onRealtimeEvent","type","DocUpdate","onDocChanged","ListUpdate","DocChanged","DocDeleted","onDocDeleted","PermEpochBump","onResetCache","onConnected","onDisconnected","attemptConnection","_this_options_onStoreChange","_this_options","hasConnected","connected","reconnectAttempts","reconnectTimer","clearTimeout","Connected","onBackfillAll","onStoreChange","call","console","debug","scheduleReconnection","delay","calculateReconnectDelay","setTimeout","Math","min","pow","jitterRange","jitter","random","round","max","watchDoctype","doctype","_this_watchedDoctypes_get","count","watchedDoctypes","get","set","Promise","resolve","subscribeList","catch","err","warn","unwatchDoctype","delete","unsubscribeList","unwatchAll","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","keys","Symbol","iterator","_step","next","done","return","clear","name","inflight","inflightFetches","fetchPromise","fetchAndReconcile","finally","document","getDoc","upsert","subscriptionsNeedingRehydration","updateSubscriptionMembership","subscription","_this_rehydrationManager","scheduleRehydration","RemoteCreate","status","remove","affectedSubscriptions","removeFromAllSubscriptions","Delete","isRealtimeHealthy","isHealthy","getIsConnected","getConnectionState","everConnected","dispose","disconnect"],"sources":["realtime.native.js"],"sourcesContent":["import { RealtimeEventType, RehydrationReason } from \"./types\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar RealtimeHandler = /* @__PURE__ */ (function() {\n \"use strict\";\n function RealtimeHandler2(db, realtime, normalizedCache, subscriptionManager, rehydrationManager) {\n var options = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : {};\n _class_call_check(this, RealtimeHandler2);\n var _ref, _ref1, _ref2, _ref3;\n var _options_connectionConfig, _options_connectionConfig1, _options_connectionConfig2, _options_connectionConfig3;\n _define_property(this, \"reconnectAttempts\", 0);\n _define_property(this, \"reconnectTimer\", void 0);\n _define_property(this, \"hasConnected\", false);\n _define_property(this, \"connected\", false);\n _define_property(this, \"connectionConfig\", void 0);\n _define_property(this, \"watchedDoctypes\", /* @__PURE__ */ new Map());\n _define_property(this, \"inflightFetches\", /* @__PURE__ */ new Map());\n _define_property(this, \"db\", void 0);\n _define_property(this, \"realtime\", void 0);\n _define_property(this, \"normalizedCache\", void 0);\n _define_property(this, \"subscriptionManager\", void 0);\n _define_property(this, \"rehydrationManager\", void 0);\n _define_property(this, \"options\", void 0);\n this.db = db;\n this.realtime = realtime;\n this.normalizedCache = normalizedCache;\n this.subscriptionManager = subscriptionManager;\n this.rehydrationManager = rehydrationManager;\n this.options = options;\n this.connectionConfig = {\n reconnectBaseDelay: (_ref = (_options_connectionConfig = options.connectionConfig) === null || _options_connectionConfig === void 0 ? void 0 : _options_connectionConfig.reconnectBaseDelay) !== null && _ref !== void 0 ? _ref : 1e3,\n reconnectMaxDelay: (_ref1 = (_options_connectionConfig1 = options.connectionConfig) === null || _options_connectionConfig1 === void 0 ? void 0 : _options_connectionConfig1.reconnectMaxDelay) !== null && _ref1 !== void 0 ? _ref1 : 3e4,\n reconnectJitter: (_ref2 = (_options_connectionConfig2 = options.connectionConfig) === null || _options_connectionConfig2 === void 0 ? void 0 : _options_connectionConfig2.reconnectJitter) !== null && _ref2 !== void 0 ? _ref2 : 0.25,\n exponentialBackoff: (_ref3 = (_options_connectionConfig3 = options.connectionConfig) === null || _options_connectionConfig3 === void 0 ? void 0 : _options_connectionConfig3.exponentialBackoff) !== null && _ref3 !== void 0 ? _ref3 : true\n };\n this.setupRealtimeHandlers();\n this.setupConnectionManagement();\n }\n _create_class(RealtimeHandler2, [\n {\n key: \"setupRealtimeHandlers\",\n value: (\n /**\n * Sets up realtime event handlers for document changes.\n *\n * Real Frappe (v15) wire protocol, verified live against a stock bench\n * (see .test-evidence/storybook-rubric/p-results/frappe-realtime-live-e2e.md):\n * - `doc_update` `{doctype, name, modified}` — emitted to the per-doc room\n * `doc:{doctype}/{name}` on every save.\n * - `list_update` `{doctype, name, user}` — emitted to the doctype room\n * `doctype:{doctype}` on every save of a non-single, non-child doctype.\n * - Deletion emits the SAME two events (payload indistinguishable from an\n * update) — there is NO `doc_deleted` event. Deletions are detected here\n * opportunistically when the authoritative re-fetch 404s, but the durable\n * deletion signal remains the tombstone/CDC backfill (`Deleted Document`\n * doctype maintained by the `live` app's on_trash hook).\n *\n * Both real events funnel into the same fetch-and-reconcile path, deduped\n * so a doc_update/list_update pair for the same doc costs one fetch.\n */\n function setupRealtimeHandlers() {\n var _this = this;\n var _this_realtime, _this_realtime1, _this_realtime2, _this_realtime3, _this_realtime4, _this_realtime5, _this_realtime6;\n if (!this.realtime) return;\n (_this_realtime = this.realtime) === null || _this_realtime === void 0 ? void 0 : _this_realtime.on(\"doc_update\", async function(payload) {\n if (_this.options.onRealtimeEvent) _this.options.onRealtimeEvent({\n type: RealtimeEventType.DocUpdate,\n payload\n });\n return _this.onDocChanged(payload);\n });\n (_this_realtime1 = this.realtime) === null || _this_realtime1 === void 0 ? void 0 : _this_realtime1.on(\"list_update\", async function(payload) {\n if (_this.options.onRealtimeEvent) _this.options.onRealtimeEvent({\n type: RealtimeEventType.ListUpdate,\n payload\n });\n return _this.onDocChanged(payload);\n });\n (_this_realtime2 = this.realtime) === null || _this_realtime2 === void 0 ? void 0 : _this_realtime2.on(\"doc_changed\", async function(payload) {\n if (_this.options.onRealtimeEvent) _this.options.onRealtimeEvent({\n type: RealtimeEventType.DocChanged,\n payload\n });\n return _this.onDocChanged(payload);\n });\n (_this_realtime3 = this.realtime) === null || _this_realtime3 === void 0 ? void 0 : _this_realtime3.on(\"doc_deleted\", async function(payload) {\n if (_this.options.onRealtimeEvent) _this.options.onRealtimeEvent({\n type: RealtimeEventType.DocDeleted,\n payload\n });\n return _this.onDocDeleted(payload);\n });\n (_this_realtime4 = this.realtime) === null || _this_realtime4 === void 0 ? void 0 : _this_realtime4.on(\"perm_epoch_bump\", function() {\n if (_this.options.onRealtimeEvent) _this.options.onRealtimeEvent({\n type: RealtimeEventType.PermEpochBump\n });\n if (_this.options.onResetCache) {\n _this.options.onResetCache();\n }\n });\n (_this_realtime5 = this.realtime) === null || _this_realtime5 === void 0 ? void 0 : _this_realtime5.on(\"connected\", function() {\n _this.onConnected();\n });\n (_this_realtime6 = this.realtime) === null || _this_realtime6 === void 0 ? void 0 : _this_realtime6.on(\"disconnect\", function() {\n _this.onDisconnected();\n });\n }\n )\n },\n {\n key: \"setupConnectionManagement\",\n value: (\n /**\n * Sets up connection management with exponential backoff and jitter.\n */\n function setupConnectionManagement() {\n if (!this.realtime) return;\n this.attemptConnection();\n }\n )\n },\n {\n key: \"onConnected\",\n value: (\n /**\n * Handles successful connection.\n */\n function onConnected() {\n var _this_options_onStoreChange, _this_options;\n this.hasConnected = true;\n this.connected = true;\n this.reconnectAttempts = 0;\n if (this.reconnectTimer) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = void 0;\n }\n if (this.options.onRealtimeEvent) {\n this.options.onRealtimeEvent({\n type: RealtimeEventType.Connected\n });\n }\n if (this.options.onBackfillAll) {\n this.options.onBackfillAll();\n }\n (_this_options_onStoreChange = (_this_options = this.options).onStoreChange) === null || _this_options_onStoreChange === void 0 ? void 0 : _this_options_onStoreChange.call(_this_options);\n console.debug(\"[RealtimeHandler] Connected to realtime server\");\n }\n )\n },\n {\n key: \"onDisconnected\",\n value: (\n /**\n * Handles disconnection with automatic reconnection.\n */\n function onDisconnected() {\n var _this_options_onStoreChange, _this_options;\n console.debug(\"[RealtimeHandler] Disconnected from realtime server\");\n this.connected = false;\n (_this_options_onStoreChange = (_this_options = this.options).onStoreChange) === null || _this_options_onStoreChange === void 0 ? void 0 : _this_options_onStoreChange.call(_this_options);\n if (this.hasConnected) {\n this.scheduleReconnection();\n }\n }\n )\n },\n {\n key: \"attemptConnection\",\n value: (\n /**\n * No-op placeholder retained for the disconnect backoff schedule below.\n * Transport reconnect is owned by Socket.IO inside RealtimeModule; this\n * layer only tracks attempts for logging / future health hooks.\n */\n function attemptConnection() {\n if (!this.realtime) return;\n }\n )\n },\n {\n key: \"scheduleReconnection\",\n value: (\n /**\n * Schedules a reconnection *watchdog* tick with exponential backoff and jitter.\n * Does not open sockets — RealtimeModule already reconnects. Kept so disconnect\n * storms remain observable (and existing unit tests stay meaningful).\n */\n function scheduleReconnection() {\n var _this = this;\n if (this.reconnectTimer) {\n clearTimeout(this.reconnectTimer);\n }\n var delay = this.calculateReconnectDelay();\n console.debug(`[RealtimeHandler] Scheduling reconnection attempt ${this.reconnectAttempts + 1} in ${delay}ms`);\n this.reconnectTimer = setTimeout(function() {\n _this.reconnectAttempts++;\n _this.attemptConnection();\n }, delay);\n }\n )\n },\n {\n key: \"calculateReconnectDelay\",\n value: (\n /**\n * Calculates the reconnection delay with exponential backoff and jitter.\n */\n function calculateReconnectDelay() {\n var delay = this.connectionConfig.reconnectBaseDelay;\n if (this.connectionConfig.exponentialBackoff) {\n delay = Math.min(this.connectionConfig.reconnectBaseDelay * Math.pow(2, this.reconnectAttempts), this.connectionConfig.reconnectMaxDelay);\n }\n var jitterRange = delay * this.connectionConfig.reconnectJitter;\n var jitter = (Math.random() * 2 - 1) * jitterRange;\n delay = Math.round(delay + jitter);\n return Math.max(this.connectionConfig.reconnectBaseDelay, Math.min(delay, this.connectionConfig.reconnectMaxDelay));\n }\n )\n },\n {\n /**\n * Join the realtime doctype room for a doctype (refcounted). Called by the\n * sync module whenever a subscription for the doctype is added. Room\n * membership survives reconnects — RealtimeModule re-joins tracked rooms on\n * every `connect`.\n *\n * Note: only doctype-level rooms are joined. `list_update` fires for every\n * save of a regular doctype, which covers doc updates too; per-doc rooms\n * would only add coverage for single/read-only doctypes.\n */\n key: \"watchDoctype\",\n value: function watchDoctype(doctype) {\n var _this_watchedDoctypes_get;\n var count = ((_this_watchedDoctypes_get = this.watchedDoctypes.get(doctype)) !== null && _this_watchedDoctypes_get !== void 0 ? _this_watchedDoctypes_get : 0) + 1;\n this.watchedDoctypes.set(doctype, count);\n if (count === 1 && this.realtime) {\n Promise.resolve(this.realtime.subscribeList(doctype)).catch(function(err) {\n return console.warn(`[RealtimeHandler] Failed to join doctype room ${doctype}:`, err);\n });\n }\n }\n },\n {\n /** Release one reference to a doctype room; leaves the room on the last one. */\n key: \"unwatchDoctype\",\n value: function unwatchDoctype(doctype) {\n var _this_watchedDoctypes_get;\n var _this_realtime;\n var count = ((_this_watchedDoctypes_get = this.watchedDoctypes.get(doctype)) !== null && _this_watchedDoctypes_get !== void 0 ? _this_watchedDoctypes_get : 0) - 1;\n if (count > 0) {\n this.watchedDoctypes.set(doctype, count);\n return;\n }\n this.watchedDoctypes.delete(doctype);\n (_this_realtime = this.realtime) === null || _this_realtime === void 0 ? void 0 : _this_realtime.unsubscribeList(doctype);\n }\n },\n {\n /** Leave all doctype rooms (used by cache resets/disposal). */\n key: \"unwatchAll\",\n value: function unwatchAll() {\n if (this.realtime) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.watchedDoctypes.keys()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doctype = _step.value;\n this.realtime.unsubscribeList(doctype);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n this.watchedDoctypes.clear();\n }\n },\n {\n key: \"onDocChanged\",\n value: (\n /**\n * Realtime handler: authoritative document changed.\n * Fetches document via REST with current user context to respect permissions,\n * updates cache, and reconciles subscription membership.\n *\n * Concurrent events for the same document (frappe emits doc_update AND\n * list_update per save) share a single in-flight fetch.\n */\n function onDocChanged(payload) {\n var _this = this;\n var key = `${payload === null || payload === void 0 ? void 0 : payload.doctype}\\0${payload === null || payload === void 0 ? void 0 : payload.name}`;\n var inflight = this.inflightFetches.get(key);\n if (inflight) return inflight;\n var fetchPromise = this.fetchAndReconcile(payload).finally(function() {\n _this.inflightFetches.delete(key);\n });\n this.inflightFetches.set(key, fetchPromise);\n return fetchPromise;\n }\n )\n },\n {\n key: \"fetchAndReconcile\",\n value: async function fetchAndReconcile(payload) {\n try {\n var _this_options_onStoreChange, _this_options;\n var document = await this.db.getDoc(payload.doctype, payload.name);\n this.normalizedCache.upsert(document);\n var subscriptionsNeedingRehydration = this.subscriptionManager.updateSubscriptionMembership(document);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = subscriptionsNeedingRehydration[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n var _this_rehydrationManager;\n (_this_rehydrationManager = this.rehydrationManager) === null || _this_rehydrationManager === void 0 ? void 0 : _this_rehydrationManager.scheduleRehydration(subscription, RehydrationReason.RemoteCreate);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n (_this_options_onStoreChange = (_this_options = this.options).onStoreChange) === null || _this_options_onStoreChange === void 0 ? void 0 : _this_options_onStoreChange.call(_this_options);\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.status) === 404) {\n await this.onDocDeleted(payload);\n return;\n }\n console.warn(`Failed to fetch document ${payload === null || payload === void 0 ? void 0 : payload.doctype}/${payload === null || payload === void 0 ? void 0 : payload.name} during realtime update:`, err);\n }\n }\n },\n {\n key: \"onDocDeleted\",\n value: (\n /**\n * Realtime handler: evicts document from cache and subscriptions.\n */\n async function onDocDeleted(payload) {\n try {\n var _this_options_onStoreChange, _this_options;\n this.normalizedCache.remove({\n doctype: payload.doctype,\n name: payload.name\n });\n var affectedSubscriptions = this.subscriptionManager.removeFromAllSubscriptions(payload.doctype, payload.name);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = affectedSubscriptions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var subscription = _step.value;\n var _this_rehydrationManager;\n (_this_rehydrationManager = this.rehydrationManager) === null || _this_rehydrationManager === void 0 ? void 0 : _this_rehydrationManager.scheduleRehydration(subscription, RehydrationReason.Delete);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n (_this_options_onStoreChange = (_this_options = this.options).onStoreChange) === null || _this_options_onStoreChange === void 0 ? void 0 : _this_options_onStoreChange.call(_this_options);\n } catch (err) {\n console.warn(`Failed to process doc_deleted for ${payload === null || payload === void 0 ? void 0 : payload.doctype}/${payload === null || payload === void 0 ? void 0 : payload.name}:`, err);\n }\n }\n )\n },\n {\n /**\n * Checks if realtime is healthy for echo suppression decisions.\n */\n key: \"isRealtimeHealthy\",\n value: function isRealtimeHealthy() {\n var _ref;\n var _this_realtime;\n return (_ref = (_this_realtime = this.realtime) === null || _this_realtime === void 0 ? void 0 : _this_realtime.isHealthy()) !== null && _ref !== void 0 ? _ref : false;\n }\n },\n {\n key: \"getIsConnected\",\n value: function getIsConnected() {\n return this.hasConnected;\n }\n },\n {\n /**\n * Live connection snapshot for reconnect indicators.\n * `connected` tracks the socket right now; `everConnected` distinguishes\n * \"reconnecting\" (was up, dropped) from \"never had realtime\" (fixtures,\n * SSR, no realtime module).\n */\n key: \"getConnectionState\",\n value: function getConnectionState() {\n return {\n connected: this.connected,\n everConnected: this.hasConnected\n };\n }\n },\n {\n /**\n * Disposes of resources and clears timers.\n */\n key: \"dispose\",\n value: function dispose() {\n if (this.reconnectTimer) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = void 0;\n }\n this.unwatchAll();\n if (this.realtime) {\n var _this_realtime;\n (_this_realtime = this.realtime) === null || _this_realtime === void 0 ? void 0 : _this_realtime.disconnect();\n }\n }\n }\n ]);\n return RealtimeHandler2;\n})();\nexport {\n RealtimeHandler\n};\n//# sourceMappingURL=realtime.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["RealtimeEventType","RehydrationReason","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","RealtimeHandler","RealtimeHandler2","db","realtime","normalizedCache","subscriptionManager","rehydrationManager","options","arguments","_ref","_ref1","_ref2","_ref3","_options_connectionConfig","_options_connectionConfig1","_options_connectionConfig2","_options_connectionConfig3","Map","connectionConfig","reconnectBaseDelay","reconnectMaxDelay","reconnectJitter","exponentialBackoff","setupRealtimeHandlers","setupConnectionManagement","_this","_this_realtime","_this_realtime1","_this_realtime2","_this_realtime3","_this_realtime4","_this_realtime5","_this_realtime6","on","payload","onRealtimeEvent","type","DocUpdate","onDocChanged","ListUpdate","DocChanged","DocDeleted","onDocDeleted","PermEpochBump","onResetCache","onConnected","onDisconnected","attemptConnection","_this_options_onStoreChange","_this_options","hasConnected","connected","reconnectAttempts","reconnectTimer","clearTimeout","Connected","onBackfillAll","onStoreChange","call","console","debug","scheduleReconnection","delay","calculateReconnectDelay","setTimeout","Math","min","pow","jitterRange","jitter","random","round","max","watchDoctype","doctype","_this_watchedDoctypes_get","count","watchedDoctypes","get","set","Promise","resolve","subscribeList","catch","err","warn","unwatchDoctype","delete","unsubscribeList","unwatchAll","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","keys","Symbol","iterator","_step","next","done","return"],"sources":["../../../src/sync/realtime.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { Debouncer } from "@tanstack/pacer";
2
- import { Operation, RehydrationReason, RehydrationStrategyType } from "./types";
2
+ import { Operation, RehydrationReason, RehydrationStrategyType } from "./types.native.js";
3
3
  function _class_call_check(instance, Constructor) {
4
4
  if (!(instance instanceof Constructor)) {
5
5
  throw new TypeError("Cannot call a class as a function");