@formo/analytics 1.14.2 → 1.15.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 (178) hide show
  1. package/dist/cjs/src/FormoAnalytics.d.ts +10 -0
  2. package/dist/cjs/src/FormoAnalytics.d.ts.map +1 -1
  3. package/dist/cjs/src/FormoAnalytics.js +181 -102
  4. package/dist/cjs/src/FormoAnalytics.js.map +1 -1
  5. package/dist/cjs/src/FormoAnalyticsProvider.d.ts.map +1 -1
  6. package/dist/cjs/src/FormoAnalyticsProvider.js +6 -5
  7. package/dist/cjs/src/FormoAnalyticsProvider.js.map +1 -1
  8. package/dist/cjs/src/constants/base.d.ts +3 -1
  9. package/dist/cjs/src/constants/base.d.ts.map +1 -1
  10. package/dist/cjs/src/constants/base.js +7 -3
  11. package/dist/cjs/src/constants/base.js.map +1 -1
  12. package/dist/cjs/src/constants/config.d.ts +6 -1
  13. package/dist/cjs/src/constants/config.d.ts.map +1 -1
  14. package/dist/cjs/src/constants/config.js +9 -3
  15. package/dist/cjs/src/constants/config.js.map +1 -1
  16. package/dist/cjs/src/lib/fetch.d.ts +3 -0
  17. package/dist/cjs/src/lib/fetch.d.ts.map +1 -0
  18. package/dist/cjs/src/lib/fetch.js +8 -0
  19. package/dist/cjs/src/lib/fetch.js.map +1 -0
  20. package/dist/cjs/src/lib/index.d.ts +4 -2
  21. package/dist/cjs/src/lib/index.d.ts.map +1 -1
  22. package/dist/cjs/src/lib/index.js +6 -4
  23. package/dist/cjs/src/lib/index.js.map +1 -1
  24. package/dist/cjs/src/lib/logger.d.ts +22 -0
  25. package/dist/cjs/src/lib/logger.d.ts.map +1 -0
  26. package/dist/cjs/src/lib/logger.js +114 -0
  27. package/dist/cjs/src/lib/logger.js.map +1 -0
  28. package/dist/cjs/src/lib/queue.d.ts +2 -3
  29. package/dist/cjs/src/lib/queue.d.ts.map +1 -1
  30. package/dist/cjs/src/lib/queue.js +42 -64
  31. package/dist/cjs/src/lib/queue.js.map +1 -1
  32. package/dist/cjs/src/lib/storage/index.d.ts +3 -0
  33. package/dist/cjs/src/lib/storage/index.d.ts.map +1 -0
  34. package/dist/cjs/src/lib/storage/index.js +11 -0
  35. package/dist/cjs/src/lib/storage/index.js.map +1 -0
  36. package/dist/cjs/src/lib/storage/local.d.ts +4 -0
  37. package/dist/cjs/src/lib/storage/local.d.ts.map +1 -0
  38. package/dist/cjs/src/lib/storage/local.js +8 -0
  39. package/dist/cjs/src/lib/storage/local.js.map +1 -0
  40. package/dist/cjs/src/lib/storage/native.d.ts +15 -0
  41. package/dist/cjs/src/lib/storage/native.d.ts.map +1 -0
  42. package/dist/cjs/src/lib/storage/native.js +83 -0
  43. package/dist/cjs/src/lib/storage/native.js.map +1 -0
  44. package/dist/cjs/src/lib/storage/session.d.ts +4 -0
  45. package/dist/cjs/src/lib/storage/session.d.ts.map +1 -0
  46. package/dist/cjs/src/lib/storage/session.js +8 -0
  47. package/dist/cjs/src/lib/storage/session.js.map +1 -0
  48. package/dist/cjs/src/types/base.d.ts +5 -0
  49. package/dist/cjs/src/types/base.d.ts.map +1 -1
  50. package/dist/cjs/src/types/events.d.ts +6 -0
  51. package/dist/cjs/src/types/events.d.ts.map +1 -1
  52. package/dist/cjs/src/types/events.js.map +1 -1
  53. package/dist/cjs/src/{lib/utils.d.ts → utils/base.d.ts} +4 -3
  54. package/dist/cjs/src/utils/base.d.ts.map +1 -0
  55. package/dist/cjs/src/utils/base.js +113 -0
  56. package/dist/cjs/src/utils/base.js.map +1 -0
  57. package/dist/cjs/src/utils/index.d.ts +3 -0
  58. package/dist/cjs/src/utils/index.d.ts.map +1 -0
  59. package/dist/cjs/src/utils/index.js +19 -0
  60. package/dist/cjs/src/utils/index.js.map +1 -0
  61. package/dist/cjs/src/utils/is.d.ts +3 -0
  62. package/dist/cjs/src/utils/is.d.ts.map +1 -0
  63. package/dist/cjs/src/utils/is.js +11 -0
  64. package/dist/cjs/src/utils/is.js.map +1 -0
  65. package/dist/cjs/test/lib.spec.js +5 -5
  66. package/dist/cjs/test/lib.spec.js.map +1 -1
  67. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  68. package/dist/esm/src/FormoAnalytics.d.ts +10 -0
  69. package/dist/esm/src/FormoAnalytics.d.ts.map +1 -1
  70. package/dist/esm/src/FormoAnalytics.js +179 -100
  71. package/dist/esm/src/FormoAnalytics.js.map +1 -1
  72. package/dist/esm/src/FormoAnalyticsProvider.d.ts.map +1 -1
  73. package/dist/esm/src/FormoAnalyticsProvider.js +6 -5
  74. package/dist/esm/src/FormoAnalyticsProvider.js.map +1 -1
  75. package/dist/esm/src/constants/base.d.ts +3 -1
  76. package/dist/esm/src/constants/base.d.ts.map +1 -1
  77. package/dist/esm/src/constants/base.js +6 -2
  78. package/dist/esm/src/constants/base.js.map +1 -1
  79. package/dist/esm/src/constants/config.d.ts +6 -1
  80. package/dist/esm/src/constants/config.d.ts.map +1 -1
  81. package/dist/esm/src/constants/config.js +7 -2
  82. package/dist/esm/src/constants/config.js.map +1 -1
  83. package/dist/esm/src/lib/fetch.d.ts +3 -0
  84. package/dist/esm/src/lib/fetch.d.ts.map +1 -0
  85. package/dist/esm/src/lib/fetch.js +3 -0
  86. package/dist/esm/src/lib/fetch.js.map +1 -0
  87. package/dist/esm/src/lib/index.d.ts +4 -2
  88. package/dist/esm/src/lib/index.d.ts.map +1 -1
  89. package/dist/esm/src/lib/index.js +4 -2
  90. package/dist/esm/src/lib/index.js.map +1 -1
  91. package/dist/esm/src/lib/logger.d.ts +22 -0
  92. package/dist/esm/src/lib/logger.d.ts.map +1 -0
  93. package/dist/esm/src/lib/logger.js +111 -0
  94. package/dist/esm/src/lib/logger.js.map +1 -0
  95. package/dist/esm/src/lib/queue.d.ts +2 -3
  96. package/dist/esm/src/lib/queue.d.ts.map +1 -1
  97. package/dist/esm/src/lib/queue.js +42 -64
  98. package/dist/esm/src/lib/queue.js.map +1 -1
  99. package/dist/esm/src/lib/storage/index.d.ts +3 -0
  100. package/dist/esm/src/lib/storage/index.d.ts.map +1 -0
  101. package/dist/esm/src/lib/storage/index.js +3 -0
  102. package/dist/esm/src/lib/storage/index.js.map +1 -0
  103. package/dist/esm/src/lib/storage/local.d.ts +4 -0
  104. package/dist/esm/src/lib/storage/local.d.ts.map +1 -0
  105. package/dist/esm/src/lib/storage/local.js +3 -0
  106. package/dist/esm/src/lib/storage/local.js.map +1 -0
  107. package/dist/esm/src/lib/storage/native.d.ts +15 -0
  108. package/dist/esm/src/lib/storage/native.d.ts.map +1 -0
  109. package/dist/esm/src/lib/storage/native.js +80 -0
  110. package/dist/esm/src/lib/storage/native.js.map +1 -0
  111. package/dist/esm/src/lib/storage/session.d.ts +4 -0
  112. package/dist/esm/src/lib/storage/session.d.ts.map +1 -0
  113. package/dist/esm/src/lib/storage/session.js +3 -0
  114. package/dist/esm/src/lib/storage/session.js.map +1 -0
  115. package/dist/esm/src/types/base.d.ts +5 -0
  116. package/dist/esm/src/types/base.d.ts.map +1 -1
  117. package/dist/esm/src/types/events.d.ts +6 -0
  118. package/dist/esm/src/types/events.d.ts.map +1 -1
  119. package/dist/esm/src/types/events.js.map +1 -1
  120. package/dist/esm/src/{lib/utils.d.ts → utils/base.d.ts} +4 -3
  121. package/dist/esm/src/utils/base.d.ts.map +1 -0
  122. package/dist/esm/src/{lib/fingerprint.js → utils/base.js} +66 -23
  123. package/dist/esm/src/utils/base.js.map +1 -0
  124. package/dist/esm/src/utils/index.d.ts +3 -0
  125. package/dist/esm/src/utils/index.d.ts.map +1 -0
  126. package/dist/esm/src/utils/index.js +3 -0
  127. package/dist/esm/src/utils/index.js.map +1 -0
  128. package/dist/esm/src/utils/is.d.ts +3 -0
  129. package/dist/esm/src/utils/is.d.ts.map +1 -0
  130. package/dist/esm/src/utils/is.js +6 -0
  131. package/dist/esm/src/utils/is.js.map +1 -0
  132. package/dist/esm/test/lib.spec.js +1 -1
  133. package/dist/esm/test/lib.spec.js.map +1 -1
  134. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  135. package/dist/index.umd.min.js +1 -1
  136. package/dist/index.umd.min.js.map +1 -1
  137. package/package.json +1 -2
  138. package/src/FormoAnalytics.ts +176 -89
  139. package/src/FormoAnalyticsProvider.tsx +6 -5
  140. package/src/constants/base.ts +12 -2
  141. package/src/constants/config.ts +9 -2
  142. package/src/lib/fetch.ts +3 -0
  143. package/src/lib/index.ts +4 -2
  144. package/src/lib/logger.ts +93 -0
  145. package/src/lib/queue.ts +27 -48
  146. package/src/lib/storage/index.ts +2 -0
  147. package/src/lib/storage/local.ts +3 -0
  148. package/src/lib/storage/native.ts +93 -0
  149. package/src/lib/storage/session.ts +3 -0
  150. package/src/types/base.ts +5 -0
  151. package/src/types/events.ts +8 -0
  152. package/src/{lib/utils.ts → utils/base.ts} +16 -8
  153. package/src/utils/index.ts +2 -0
  154. package/src/utils/is.ts +8 -0
  155. package/test/lib.spec.ts +1 -1
  156. package/dist/cjs/src/lib/fingerprint.d.ts +0 -4
  157. package/dist/cjs/src/lib/fingerprint.d.ts.map +0 -1
  158. package/dist/cjs/src/lib/fingerprint.js +0 -63
  159. package/dist/cjs/src/lib/fingerprint.js.map +0 -1
  160. package/dist/cjs/src/lib/session-storage.d.ts +0 -11
  161. package/dist/cjs/src/lib/session-storage.d.ts.map +0 -1
  162. package/dist/cjs/src/lib/session-storage.js +0 -52
  163. package/dist/cjs/src/lib/session-storage.js.map +0 -1
  164. package/dist/cjs/src/lib/utils.d.ts.map +0 -1
  165. package/dist/cjs/src/lib/utils.js +0 -63
  166. package/dist/cjs/src/lib/utils.js.map +0 -1
  167. package/dist/esm/src/lib/fingerprint.d.ts +0 -4
  168. package/dist/esm/src/lib/fingerprint.d.ts.map +0 -1
  169. package/dist/esm/src/lib/fingerprint.js.map +0 -1
  170. package/dist/esm/src/lib/session-storage.d.ts +0 -11
  171. package/dist/esm/src/lib/session-storage.d.ts.map +0 -1
  172. package/dist/esm/src/lib/session-storage.js +0 -49
  173. package/dist/esm/src/lib/session-storage.js.map +0 -1
  174. package/dist/esm/src/lib/utils.d.ts.map +0 -1
  175. package/dist/esm/src/lib/utils.js +0 -53
  176. package/dist/esm/src/lib/utils.js.map +0 -1
  177. package/src/lib/fingerprint.ts +0 -9
  178. package/src/lib/session-storage.ts +0 -53
@@ -45,32 +45,34 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
45
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
46
  }
47
47
  };
48
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
- if (ar || !(i in from)) {
51
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
- ar[i] = from[i];
53
- }
54
- }
55
- return to.concat(ar || Array.prototype.slice.call(from));
56
- };
57
48
  import { createStore } from "mipd";
58
- import { COUNTRY_LIST, CURRENT_URL_KEY, EVENTS_API_URL, Event, } from "./constants";
49
+ import { LOCAL_ANONYMOUS_ID_KEY, COUNTRY_LIST, SESSION_CURRENT_URL_KEY, EVENTS_API_URL, Event, SESSION_USER_ID_KEY, EVENTS_API_REQUEST_HEADER, USER_API_URL, } from "./constants";
59
50
  import { SignatureStatus, TransactionStatus, } from "./types";
60
- import { session, isLocalhost, toSnakeCase, isAddress } from "./lib";
51
+ import { session, local, logger, EventQueue, fetch } from "./lib";
52
+ import { isLocalhost, isAddress, toSnakeCase, generateNativeUUID, } from "./utils";
61
53
  import { SESSION_IDENTIFIED_KEY } from "./constants";
62
- import { EventQueue } from "./lib/queue";
63
54
  var FormoAnalytics = /** @class */ (function () {
64
55
  function FormoAnalytics(writeKey, options) {
65
56
  if (options === void 0) { options = {}; }
57
+ var _this = this;
66
58
  this.writeKey = writeKey;
67
59
  this.options = options;
68
60
  this._providerListeners = {};
61
+ this.anonymousId = null;
62
+ this.userId = null;
69
63
  this.config = {
70
64
  writeKey: writeKey,
71
65
  trackLocalhost: options.trackLocalhost || false,
72
66
  };
73
67
  this.session = new FormoAnalyticsSession();
68
+ // Initialize logger with configuration from options
69
+ var loggerConfig = options.logger || {
70
+ enabled: false,
71
+ };
72
+ logger.setEnabled(loggerConfig.enabled);
73
+ if (loggerConfig.levels) {
74
+ logger.setEnabledLevels(loggerConfig.levels);
75
+ }
74
76
  this.eventQueue = new EventQueue(this.config.writeKey, {
75
77
  url: EVENTS_API_URL,
76
78
  flushAt: options.flushAt,
@@ -78,6 +80,8 @@ var FormoAnalytics = /** @class */ (function () {
78
80
  maxQueueSize: options.maxQueueSize,
79
81
  flushInterval: options.flushInterval,
80
82
  });
83
+ this.anonymousId = this.getAnonymousId();
84
+ this.getUserId(null).then(function (userId) { return (_this.userId = userId); });
81
85
  // TODO: replace with eip6963
82
86
  var provider = options.provider || (window === null || window === void 0 ? void 0 : window.ethereum);
83
87
  if (provider) {
@@ -123,6 +127,16 @@ var FormoAnalytics = /** @class */ (function () {
123
127
  });
124
128
  });
125
129
  };
130
+ /**
131
+ * Reset the current user session.
132
+ * @returns {void}
133
+ */
134
+ FormoAnalytics.prototype.reset = function () {
135
+ this.anonymousId = this.getAnonymousId();
136
+ this.userId = null;
137
+ local.remove(LOCAL_ANONYMOUS_ID_KEY);
138
+ session.remove(SESSION_USER_ID_KEY);
139
+ };
126
140
  /**
127
141
  * Emits a wallet connect event.
128
142
  * @param {ChainID} params.chainId
@@ -137,10 +151,10 @@ var FormoAnalytics = /** @class */ (function () {
137
151
  switch (_c.label) {
138
152
  case 0:
139
153
  if (!chainId) {
140
- throw new Error("FormoAnalytics::connect: chain ID cannot be empty");
154
+ logger.warn("Connect: Chain ID cannot be empty");
141
155
  }
142
156
  if (!address) {
143
- throw new Error("FormoAnalytics::connect: address cannot be empty");
157
+ logger.warn("Connect: Address cannot be empty");
144
158
  }
145
159
  this.currentChainId = chainId;
146
160
  this.currentConnectedAddress = address;
@@ -270,7 +284,7 @@ var FormoAnalytics = /** @class */ (function () {
270
284
  switch (_c.label) {
271
285
  case 0:
272
286
  if (this.session.isIdentified())
273
- return [2 /*return*/, console.warn("FormoAnalytics::identify: Wallet already identified in this session")];
287
+ return [2 /*return*/, logger.warn("Identify: Wallet already identified in this session")];
274
288
  this.session.identify();
275
289
  return [4 /*yield*/, this.trackEvent(Event.IDENTIFY, {
276
290
  address: address,
@@ -306,26 +320,31 @@ var FormoAnalytics = /** @class */ (function () {
306
320
  SDK tracking and event listener functions
307
321
  */
308
322
  FormoAnalytics.prototype.trackProvider = function (provider) {
309
- if (provider === this._provider) {
310
- console.warn("FormoAnalytics::trackProvider: Provider already tracked.");
311
- return;
312
- }
313
- this.currentChainId = undefined;
314
- this.currentConnectedAddress = undefined;
315
- if (this._provider) {
316
- var actions = Object.keys(this._providerListeners);
317
- for (var _i = 0, actions_1 = actions; _i < actions_1.length; _i++) {
318
- var action = actions_1[_i];
319
- this._provider.removeListener(action, this._providerListeners[action]);
320
- delete this._providerListeners[action];
323
+ try {
324
+ if (provider === this._provider) {
325
+ logger.warn("TrackProvider: Provider already tracked.");
326
+ return;
321
327
  }
328
+ this.currentChainId = undefined;
329
+ this.currentConnectedAddress = undefined;
330
+ if (this._provider) {
331
+ var actions = Object.keys(this._providerListeners);
332
+ for (var _i = 0, actions_1 = actions; _i < actions_1.length; _i++) {
333
+ var action = actions_1[_i];
334
+ this._provider.removeListener(action, this._providerListeners[action]);
335
+ delete this._providerListeners[action];
336
+ }
337
+ }
338
+ this._provider = provider;
339
+ // Register listeners for web3 provider events
340
+ this.registerAddressChangedListener();
341
+ this.registerChainChangedListener();
342
+ this.registerSignatureListener();
343
+ this.registerTransactionListener();
344
+ }
345
+ catch (error) {
346
+ logger.error("Error tracking provider:", error);
322
347
  }
323
- this._provider = provider;
324
- // Register listeners for web3 provider events
325
- this.registerAddressChangedListener();
326
- this.registerChainChangedListener();
327
- this.registerSignatureListener();
328
- this.registerTransactionListener();
329
348
  };
330
349
  FormoAnalytics.prototype.registerAddressChangedListener = function () {
331
350
  var _this = this;
@@ -360,12 +379,12 @@ var FormoAnalytics = /** @class */ (function () {
360
379
  var _this = this;
361
380
  var _a;
362
381
  if (!this.provider) {
363
- console.error("_trackSigning: provider not found");
382
+ logger.error("Provider not found for signature tracking");
364
383
  return;
365
384
  }
366
385
  if (((_a = Object.getOwnPropertyDescriptor(this.provider, "request")) === null || _a === void 0 ? void 0 : _a.writable) ===
367
386
  false) {
368
- console.warn("_trackSigning: provider.request is not writable");
387
+ logger.warn("Provider.request is not writable");
369
388
  return;
370
389
  }
371
390
  var request = this.provider.request.bind(this.provider);
@@ -408,12 +427,12 @@ var FormoAnalytics = /** @class */ (function () {
408
427
  var _this = this;
409
428
  var _a;
410
429
  if (!this.provider) {
411
- console.error("_trackTransactions: provider not found");
430
+ logger.error("Provider not found for transaction tracking");
412
431
  return;
413
432
  }
414
433
  if (((_a = Object.getOwnPropertyDescriptor(this.provider, "request")) === null || _a === void 0 ? void 0 : _a.writable) ===
415
434
  false) {
416
- console.warn("_trackTransactions: provider.request is not writable");
435
+ logger.warn("Provider.request is not writable");
417
436
  return;
418
437
  }
419
438
  var request = this.provider.request.bind(this.provider);
@@ -441,8 +460,8 @@ var FormoAnalytics = /** @class */ (function () {
441
460
  return [2 /*return*/];
442
461
  case 4:
443
462
  error_2 = _c.sent();
444
- console.log("transaction listener catch");
445
- console.log(error_2);
463
+ logger.info("Transaction listener catch");
464
+ logger.error("Transaction error:", error_2);
446
465
  rpcError = error_2;
447
466
  if (rpcError && (rpcError === null || rpcError === void 0 ? void 0 : rpcError.code) === 4001) {
448
467
  // Emit transaction rejected event
@@ -474,13 +493,10 @@ var FormoAnalytics = /** @class */ (function () {
474
493
  return __generator(this, function (_b) {
475
494
  switch (_b.label) {
476
495
  case 0:
477
- if (address === this.currentConnectedAddress) {
496
+ if (address === this.currentConnectedAddress)
478
497
  // We have already reported this address
479
498
  return [2 /*return*/];
480
- }
481
- else {
482
- this.currentConnectedAddress = address;
483
- }
499
+ this.currentConnectedAddress = address;
484
500
  _a = this;
485
501
  return [4 /*yield*/, this.getCurrentChainId()];
486
502
  case 1:
@@ -503,6 +519,7 @@ var FormoAnalytics = /** @class */ (function () {
503
519
  };
504
520
  this.currentChainId = undefined;
505
521
  this.currentConnectedAddress = undefined;
522
+ session.remove(SESSION_USER_ID_KEY);
506
523
  return [4 /*yield*/, this.trackEvent(Event.DISCONNECT, payload)];
507
524
  case 1:
508
525
  _a.sent();
@@ -525,26 +542,30 @@ var FormoAnalytics = /** @class */ (function () {
525
542
  };
526
543
  FormoAnalytics.prototype.onChainChanged = function (chainIdHex) {
527
544
  return __awaiter(this, void 0, void 0, function () {
528
- var address;
529
- return __generator(this, function (_a) {
530
- switch (_a.label) {
545
+ var address, _a;
546
+ return __generator(this, function (_b) {
547
+ switch (_b.label) {
531
548
  case 0:
532
549
  this.currentChainId = parseInt(chainIdHex);
533
- if (!!this.currentConnectedAddress) return [3 /*break*/, 2];
550
+ if (!!this.currentConnectedAddress) return [3 /*break*/, 3];
534
551
  if (!this.provider) {
535
- console.log("FormoAnalytics::onChainChanged: provider not found. CHAIN_CHANGED not reported");
552
+ logger.info("OnChainChanged: Provider not found. CHAIN_CHANGED not reported");
536
553
  return [2 /*return*/, Promise.resolve()];
537
554
  }
538
555
  return [4 /*yield*/, this.getAddress()];
539
556
  case 1:
540
- address = _a.sent();
557
+ address = _b.sent();
541
558
  if (!address) {
542
- console.log("FormoAnalytics::onChainChanged: Unable to fetch or store connected address");
559
+ logger.info("OnChainChanged: Unable to fetch or store connected address");
543
560
  return [2 /*return*/, Promise.resolve()];
544
561
  }
545
562
  this.currentConnectedAddress = address;
546
- _a.label = 2;
563
+ _a = this;
564
+ return [4 /*yield*/, this.getUserId(address)];
547
565
  case 2:
566
+ _a.userId = _b.sent();
567
+ _b.label = 3;
568
+ case 3:
548
569
  // Proceed only if the address exists
549
570
  if (this.currentConnectedAddress) {
550
571
  return [2 /*return*/, this.chain({
@@ -553,7 +574,7 @@ var FormoAnalytics = /** @class */ (function () {
553
574
  })];
554
575
  }
555
576
  else {
556
- console.log("FormoAnalytics::onChainChanged: currentConnectedAddress is null despite fetch attempt");
577
+ logger.info("OnChainChanged: Current connected address is null despite fetch attempt");
557
578
  }
558
579
  return [2 /*return*/];
559
580
  }
@@ -563,8 +584,8 @@ var FormoAnalytics = /** @class */ (function () {
563
584
  FormoAnalytics.prototype.trackFirstPageHit = function () {
564
585
  return __awaiter(this, void 0, void 0, function () {
565
586
  return __generator(this, function (_a) {
566
- if (session.get(CURRENT_URL_KEY) === null) {
567
- session.set(CURRENT_URL_KEY, window.location.href);
587
+ if (session.get(SESSION_CURRENT_URL_KEY) === null) {
588
+ session.set(SESSION_CURRENT_URL_KEY, window.location.href);
568
589
  }
569
590
  return [2 /*return*/, this.trackPageHit()];
570
591
  });
@@ -605,9 +626,9 @@ var FormoAnalytics = /** @class */ (function () {
605
626
  return __awaiter(this, void 0, void 0, function () {
606
627
  var currentUrl;
607
628
  return __generator(this, function (_a) {
608
- currentUrl = session.get(CURRENT_URL_KEY);
629
+ currentUrl = session.get(SESSION_CURRENT_URL_KEY);
609
630
  if (currentUrl !== window.location.href) {
610
- session.set(CURRENT_URL_KEY, window.location.href);
631
+ session.set(SESSION_CURRENT_URL_KEY, window.location.href);
611
632
  this.trackPageHit();
612
633
  }
613
634
  return [2 /*return*/];
@@ -619,7 +640,7 @@ var FormoAnalytics = /** @class */ (function () {
619
640
  var pathname = window.location.pathname;
620
641
  var hash = window.location.hash;
621
642
  if (!this.config.trackLocalhost && isLocalhost()) {
622
- return console.warn("FormoAnalytics::trackPageHit: Ignoring event because website is running locally");
643
+ return logger.warn("Track page hit: Ignoring event because website is running locally");
623
644
  }
624
645
  setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
625
646
  return __generator(this, function (_a) {
@@ -633,33 +654,45 @@ var FormoAnalytics = /** @class */ (function () {
633
654
  };
634
655
  FormoAnalytics.prototype.trackEvent = function (action, payload) {
635
656
  return __awaiter(this, void 0, void 0, function () {
636
- var address, requestData;
657
+ var address, user_id, requestData, error_3;
637
658
  var _a;
638
659
  return __generator(this, function (_b) {
639
660
  switch (_b.label) {
640
- case 0: return [4 /*yield*/, this.getAddress()];
661
+ case 0:
662
+ _b.trys.push([0, 5, , 6]);
663
+ return [4 /*yield*/, this.getAddress()];
641
664
  case 1:
642
665
  address = _b.sent();
666
+ return [4 /*yield*/, this.getUserId(address)];
667
+ case 2:
668
+ user_id = _b.sent();
643
669
  _a = {
670
+ anonymous_id: this.anonymousId,
671
+ user_id: user_id,
644
672
  address: address,
645
673
  timestamp: new Date().toISOString(),
646
674
  action: action,
647
675
  version: "1"
648
676
  };
649
677
  return [4 /*yield*/, this.buildEventPayload(toSnakeCase(payload))];
650
- case 2:
678
+ case 3:
651
679
  requestData = (_a.payload = _b.sent(),
652
680
  _a);
653
681
  return [4 /*yield*/, this.eventQueue.enqueue(requestData, function (err, _, data) {
654
682
  if (err) {
655
- console.error(err);
683
+ logger.error("Error sending events:", err);
656
684
  }
657
685
  else
658
- console.log("Events sent successfully: ".concat(data.length, " events"));
686
+ logger.info("Events sent successfully: ".concat(data.length, " events"));
659
687
  })];
660
- case 3:
688
+ case 4:
661
689
  _b.sent();
662
- return [2 /*return*/];
690
+ return [3 /*break*/, 6];
691
+ case 5:
692
+ error_3 = _b.sent();
693
+ logger.error("Error tracking event:", error_3);
694
+ return [3 /*break*/, 6];
695
+ case 6: return [2 /*return*/];
663
696
  }
664
697
  });
665
698
  });
@@ -672,12 +705,12 @@ var FormoAnalytics = /** @class */ (function () {
672
705
  var store, providers;
673
706
  return __generator(this, function (_a) {
674
707
  store = createStore();
675
- providers = __spreadArray([], store.getProviders(), true);
708
+ providers = store.getProviders();
676
709
  // TODO: consider using store.subscribe to detect changes to providers list
677
- // store.subscribe(providers => (state.providers = providers))
710
+ store.subscribe(function (providerDetails) { return (providers = providerDetails); });
678
711
  // Fallback to injected provider if no providers are found
679
712
  if (providers.length === 0) {
680
- return [2 /*return*/, [window === null || window === void 0 ? void 0 : window.ethereum]];
713
+ return [2 /*return*/, (window === null || window === void 0 ? void 0 : window.ethereum) ? [window.ethereum] : []];
681
714
  }
682
715
  return [2 /*return*/, providers];
683
716
  });
@@ -685,55 +718,57 @@ var FormoAnalytics = /** @class */ (function () {
685
718
  };
686
719
  FormoAnalytics.prototype.identifyAll = function (providers) {
687
720
  return __awaiter(this, void 0, void 0, function () {
688
- var _i, providers_1, _a, provider, info, accounts, _b, accounts_1, address, err_1;
689
- return __generator(this, function (_c) {
690
- switch (_c.label) {
721
+ var _i, providers_1, eip6963ProviderDetail, accounts, _a, accounts_1, address, err_1;
722
+ return __generator(this, function (_b) {
723
+ switch (_b.label) {
691
724
  case 0:
692
- _c.trys.push([0, 11, , 12]);
725
+ _b.trys.push([0, 11, , 12]);
693
726
  _i = 0, providers_1 = providers;
694
- _c.label = 1;
727
+ _b.label = 1;
695
728
  case 1:
696
729
  if (!(_i < providers_1.length)) return [3 /*break*/, 10];
697
- _a = providers_1[_i], provider = _a.provider, info = _a.info;
698
- return [4 /*yield*/, this.getAccounts(provider)];
730
+ eip6963ProviderDetail = providers_1[_i];
731
+ if (!eip6963ProviderDetail)
732
+ return [3 /*break*/, 9];
733
+ return [4 /*yield*/, this.getAccounts(eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.provider)];
699
734
  case 2:
700
- accounts = _c.sent();
735
+ accounts = _b.sent();
701
736
  if (!(accounts && accounts.length > 0)) return [3 /*break*/, 7];
702
- _b = 0, accounts_1 = accounts;
703
- _c.label = 3;
737
+ _a = 0, accounts_1 = accounts;
738
+ _b.label = 3;
704
739
  case 3:
705
- if (!(_b < accounts_1.length)) return [3 /*break*/, 6];
706
- address = accounts_1[_b];
740
+ if (!(_a < accounts_1.length)) return [3 /*break*/, 6];
741
+ address = accounts_1[_a];
707
742
  return [4 /*yield*/, this.identify({
708
743
  address: address,
709
- providerName: info.name,
710
- rdns: info.rdns,
744
+ providerName: eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.info.name,
745
+ rdns: eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.info.rdns,
711
746
  })];
712
747
  case 4:
713
- _c.sent();
714
- _c.label = 5;
748
+ _b.sent();
749
+ _b.label = 5;
715
750
  case 5:
716
- _b++;
751
+ _a++;
717
752
  return [3 /*break*/, 3];
718
753
  case 6: return [3 /*break*/, 9];
719
754
  case 7:
720
755
  // Identify without accounts
721
756
  return [4 /*yield*/, this.identify({
722
757
  address: null,
723
- providerName: info.name,
724
- rdns: info.rdns,
758
+ providerName: eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.info.name,
759
+ rdns: eip6963ProviderDetail === null || eip6963ProviderDetail === void 0 ? void 0 : eip6963ProviderDetail.info.rdns,
725
760
  })];
726
761
  case 8:
727
762
  // Identify without accounts
728
- _c.sent();
729
- _c.label = 9;
763
+ _b.sent();
764
+ _b.label = 9;
730
765
  case 9:
731
766
  _i++;
732
767
  return [3 /*break*/, 1];
733
768
  case 10: return [3 /*break*/, 12];
734
769
  case 11:
735
- err_1 = _c.sent();
736
- console.log("identifying all => err", err_1);
770
+ err_1 = _b.sent();
771
+ logger.error("Error identifying all:", err_1);
737
772
  return [3 /*break*/, 12];
738
773
  case 12: return [2 /*return*/];
739
774
  }
@@ -747,6 +782,47 @@ var FormoAnalytics = /** @class */ (function () {
747
782
  enumerable: false,
748
783
  configurable: true
749
784
  });
785
+ FormoAnalytics.prototype.getAnonymousId = function () {
786
+ var storedAnonymousId = local.get(LOCAL_ANONYMOUS_ID_KEY);
787
+ if (storedAnonymousId && typeof storedAnonymousId === "string")
788
+ return storedAnonymousId;
789
+ var newAnonymousId = generateNativeUUID();
790
+ local.set(LOCAL_ANONYMOUS_ID_KEY, newAnonymousId);
791
+ return newAnonymousId;
792
+ };
793
+ FormoAnalytics.prototype.getUserId = function (address) {
794
+ return __awaiter(this, void 0, void 0, function () {
795
+ var storedUserId, res, data, userId, newUserId;
796
+ var _a, _b;
797
+ return __generator(this, function (_c) {
798
+ switch (_c.label) {
799
+ case 0:
800
+ storedUserId = session.get(SESSION_USER_ID_KEY);
801
+ if (storedUserId && typeof storedUserId === "string")
802
+ return [2 /*return*/, storedUserId];
803
+ if (!address) return [3 /*break*/, 3];
804
+ return [4 /*yield*/, fetch("".concat(USER_API_URL, "?address=").concat(address), {
805
+ headers: EVENTS_API_REQUEST_HEADER(this.writeKey),
806
+ method: "GET",
807
+ })];
808
+ case 1:
809
+ res = _c.sent();
810
+ return [4 /*yield*/, res.json()];
811
+ case 2:
812
+ data = _c.sent();
813
+ userId = (_b = (_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.user_id;
814
+ if (userId) {
815
+ session.set(SESSION_USER_ID_KEY, userId);
816
+ return [2 /*return*/, userId];
817
+ }
818
+ newUserId = generateNativeUUID();
819
+ session.set(SESSION_USER_ID_KEY, newUserId);
820
+ return [2 /*return*/, newUserId];
821
+ case 3: return [2 /*return*/, null];
822
+ }
823
+ });
824
+ });
825
+ };
750
826
  FormoAnalytics.prototype.getAddress = function () {
751
827
  return __awaiter(this, void 0, void 0, function () {
752
828
  var accounts, err_2;
@@ -756,7 +832,7 @@ var FormoAnalytics = /** @class */ (function () {
756
832
  if (this.currentConnectedAddress)
757
833
  return [2 /*return*/, this.currentConnectedAddress];
758
834
  if (!(this === null || this === void 0 ? void 0 : this.provider)) {
759
- console.log("FormoAnalytics::getAddress: the provider is not set");
835
+ logger.info("The provider is not set");
760
836
  return [2 /*return*/, null];
761
837
  }
762
838
  _a.label = 1;
@@ -766,12 +842,15 @@ var FormoAnalytics = /** @class */ (function () {
766
842
  case 2:
767
843
  accounts = _a.sent();
768
844
  if (accounts && accounts.length > 0) {
769
- return [2 /*return*/, isAddress(accounts[0]) ? accounts[0] : null];
845
+ // TODO: fetch userId if account is valid, generate userId if no userId matches address from tinybird
846
+ if (isAddress(accounts[0])) {
847
+ return [2 /*return*/, accounts[0]];
848
+ }
770
849
  }
771
850
  return [3 /*break*/, 4];
772
851
  case 3:
773
852
  err_2 = _a.sent();
774
- console.log("Failed to fetch accounts from provider:", err_2);
853
+ logger.error("Failed to fetch accounts from provider:", err_2);
775
854
  return [2 /*return*/, null];
776
855
  case 4: return [2 /*return*/, null];
777
856
  }
@@ -799,7 +878,7 @@ var FormoAnalytics = /** @class */ (function () {
799
878
  case 3:
800
879
  err_3 = _a.sent();
801
880
  if (err_3.code !== 4001) {
802
- console.log("FormoAnalytics::getAccounts: eth_accounts threw an error", err_3);
881
+ logger.error("FormoAnalytics::getAccounts: eth_accounts threw an error", err_3);
803
882
  }
804
883
  return [2 /*return*/, null];
805
884
  case 4: return [2 /*return*/];
@@ -815,7 +894,7 @@ var FormoAnalytics = /** @class */ (function () {
815
894
  switch (_b.label) {
816
895
  case 0:
817
896
  if (!this.provider) {
818
- console.error("FormoAnalytics::getCurrentChainId: provider not set");
897
+ logger.error("Provider not set for chain ID");
819
898
  }
820
899
  _b.label = 1;
821
900
  case 1:
@@ -826,13 +905,13 @@ var FormoAnalytics = /** @class */ (function () {
826
905
  case 2:
827
906
  chainIdHex = _b.sent();
828
907
  if (!chainIdHex) {
829
- console.log("FormoAnalytics::fetchChainId: chain id not found");
908
+ logger.info("Chain id not found");
830
909
  return [2 /*return*/, 0];
831
910
  }
832
911
  return [2 /*return*/, parseInt(chainIdHex, 16)];
833
912
  case 3:
834
913
  err_4 = _b.sent();
835
- console.log("FormoAnalytics::fetchChainId: eth_chainId threw an error", err_4);
914
+ logger.error("eth_chainId threw an error:", err_4);
836
915
  return [2 /*return*/, 0];
837
916
  case 4: return [2 /*return*/];
838
917
  }
@@ -847,7 +926,7 @@ var FormoAnalytics = /** @class */ (function () {
847
926
  return timezone;
848
927
  }
849
928
  catch (error) {
850
- console.error("Error resolving timezone:", error);
929
+ logger.error("Error resolving timezone:", error);
851
930
  return "";
852
931
  }
853
932
  };
@@ -858,7 +937,7 @@ var FormoAnalytics = /** @class */ (function () {
858
937
  : navigator.language) || "en");
859
938
  }
860
939
  catch (error) {
861
- console.error("Error resolving language:", error);
940
+ logger.error("Error resolving language:", error);
862
941
  return "en";
863
942
  }
864
943
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FormoAnalytics.js","sourceRoot":"","sources":["../../../src/FormoAnalytics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,MAAM,CAAC;AAC1D,OAAO,EACL,YAAY,EACZ,eAAe,EACf,cAAc,EACd,KAAK,GACN,MAAM,aAAa,CAAC;AACrB,OAAO,EAQL,eAAe,EACf,iBAAiB,GAElB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyCzC;IAUE,wBACkB,QAAgB,EACzB,OAAqB;QAArB,wBAAA,EAAA,YAAqB;QADZ,aAAQ,GAAR,QAAQ,CAAQ;QACzB,YAAO,GAAP,OAAO,CAAc;QAVtB,uBAAkB,GAAiD,EAAE,CAAC;QAY5E,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,UAAA;YACR,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;SAChD,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAE3C,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACrD,GAAG,EAAE,cAAc;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEY,mBAAI,GAAjB,UACE,QAAgB,EAChB,OAAiB;;;;;;wBAEX,SAAS,GAAG,IAAI,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBAGtC,qBAAM,SAAS,CAAC,YAAY,EAAE,EAAA;;wBAA1C,SAAS,GAAG,SAA8B;wBAChD,qBAAM,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;wBAEvC,sBAAO,SAAS,EAAC;;;;KAClB;IAED;;MAEE;IAEF;;;OAGG;IACG,6BAAI,GAAV;;;;4BACE,qBAAM,IAAI,CAAC,YAAY,EAAE,EAAA;;wBAAzB,SAAyB,CAAC;;;;;KAC3B;IAED;;;;;;OAMG;IACG,gCAAO,GAAb;4DAAc,EAMb;gBALC,OAAO,aAAA,EACP,OAAO,aAAA;;;;wBAKP,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;wBACvE,CAAC;wBACD,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;wBACtE,CAAC;wBAED,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;wBAC9B,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC;wBAEvC,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;gCACnC,OAAO,SAAA;gCACP,OAAO,SAAA;6BACR,CAAC,EAAA;;wBAHF,SAGE,CAAC;;;;;KACJ;IAED;;;;;OAKG;IACG,mCAAU,GAAhB,UAAiB,MAGhB;;;;;;wBACO,OAAO,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,IAAI,CAAC,uBAAuB,CAAC;wBAC1D,OAAO,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,IAAI,CAAC,cAAc,CAAC;wBAEvD,qBAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAA;;wBAA7C,SAA6C,CAAC;;;;;KAC/C;IAED;;;;;;;OAOG;IACG,8BAAK,GAAX;4DAAY,EAMX;gBALC,OAAO,aAAA,EACP,OAAO,aAAA;;;;wBAKP,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;4BACtC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;wBACzE,CAAC;wBACD,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;4BAC3B,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;wBACJ,CAAC;wBACD,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BAC9C,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;wBACJ,CAAC;wBAED,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;wBAE9B,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE;gCACzC,OAAO,SAAA;gCACP,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,uBAAuB;6BACjD,CAAC,EAAA;;wBAHF,SAGE,CAAC;;;;;KACJ;IAED;;;;;;;;OAQG;IACG,kCAAS,GAAf;4DAAgB,EAYf;gBAXC,MAAM,YAAA,EACN,OAAO,aAAA,EACP,OAAO,aAAA,EACP,OAAO,aAAA,EACP,aAAa,mBAAA;;;4BAQb,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,aACnC,MAAM,QAAA,EACN,OAAO,SAAA,EACP,OAAO,SAAA,EACP,OAAO,SAAA,IACJ,CAAC,aAAa,IAAI,EAAE,aAAa,eAAA,EAAE,CAAC,EACvC,EAAA;;wBANF,SAME,CAAC;;;;;KACJ;IAED;;;;;;;;;;OAUG;IACG,oCAAW,GAAjB;4DAAkB,EAgBjB;gBAfC,MAAM,YAAA,EACN,OAAO,aAAA,EACP,OAAO,aAAA,EACP,IAAI,UAAA,EACJ,EAAE,QAAA,EACF,KAAK,WAAA,EACL,eAAe,qBAAA;;;4BAUf,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,aACrC,MAAM,QAAA,EACN,OAAO,SAAA,EACP,OAAO,SAAA,EACP,IAAI,MAAA,EACJ,EAAE,IAAA,EACF,KAAK,OAAA,IACF,CAAC,eAAe,IAAI,EAAE,eAAe,iBAAA,EAAE,CAAC,EAC3C,EAAA;;wBARF,SAQE,CAAC;;;;;KACJ;IAED;;;;OAIG;IACU,iCAAQ,GAArB;4DAAsB,EAQrB;gBAPC,OAAO,aAAA,EACP,YAAY,kBAAA,EACZ,IAAI,UAAA;;;;wBAMJ,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;4BAC7B,sBAAO,OAAO,CAAC,IAAI,CACjB,qEAAqE,CACtE,EAAC;wBAEJ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACxB,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE;gCACpC,OAAO,SAAA;gCACP,YAAY,cAAA;gCACZ,IAAI,MAAA;6BACL,CAAC,EAAA;;wBAJF,SAIE,CAAC;;;;;KACJ;IAED;;;;;OAKG;IACG,8BAAK,GAAX,UAAY,MAAc,EAAE,OAA4B;;;;4BACtD,qBAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAED;;MAEE;IAEM,sCAAa,GAArB,UAAsB,QAAyB;QAC7C,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;QAEzC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrD,KAAqB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE,CAAC;gBAA1B,IAAM,MAAM,gBAAA;gBACf,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvE,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,8CAA8C;QAC9C,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAEO,uDAA8B,GAAtC;QAAA,iBAUC;;QATC,IAAM,QAAQ,GAAG;YAAC,cAAkB;iBAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;gBAAlB,yBAAkB;;YAClC,OAAA,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;QAA1C,CAA0C,CAAC;QAE7C,MAAA,IAAI,CAAC,SAAS,0CAAE,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC;QAEtD,IAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAA,IAAI,CAAC,SAAS,0CAAE,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;QACxD,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAAC;IAChE,CAAC;IAEO,qDAA4B,GAApC;QAAA,iBAKC;;QAJC,IAAM,QAAQ,GAAG;YAAC,cAAkB;iBAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;gBAAlB,yBAAkB;;YAClC,OAAA,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;QAAtC,CAAsC,CAAC;QACzC,MAAA,IAAI,CAAC,QAAQ,0CAAE,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;IACrD,CAAC;IAEO,kDAAyB,GAAjC;QAAA,iBAqDC;;QApDC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QACD,IACE,CAAA,MAAA,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,0CAAE,QAAQ;YACnE,KAAK,EACL,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,gEAAU,EAGf;;gBAFjB,MAAM,YAAA,EACN,MAAM,YAAA;;;;6BAGJ,CAAA,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;4BACrB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,EAD1D,wBAC0D;wBAE1D,+BAA+B;wBAC/B,IAAI,CAAC,SAAS,YACZ,MAAM,EAAE,eAAe,CAAC,SAAS,IAC9B,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,EAClD,CAAC;;;;wBAGiB,qBAAM,OAAO,CAAC,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,CAAC,EAAA;;wBAA7C,QAAQ,GAAG,CAAC,SAAiC,CAAM;wBACzD,IAAI,QAAQ,EAAE,CAAC;4BACb,iCAAiC;4BACjC,IAAI,CAAC,SAAS,YACZ,MAAM,EAAE,eAAe,CAAC,SAAS,IAC9B,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC5D,CAAC;wBACL,CAAC;wBACD,sBAAO,QAAQ,EAAC;;;wBAEV,QAAQ,GAAG,OAAiB,CAAC;wBACnC,IAAI,QAAQ,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,IAAI,EAAE,CAAC;4BACxC,gCAAgC;4BAChC,IAAI,CAAC,SAAS,YACZ,MAAM,EAAE,eAAe,CAAC,QAAQ,IAC7B,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,EAClD,CAAC;wBACL,CAAC;wBACD,MAAM,OAAK,CAAC;4BAGhB,sBAAO,OAAO,CAAC,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,CAAC,EAAC;;;aACpC,CAAC;QACF,OAAO;IACT,CAAC;IAEO,oDAA2B,GAAnC;QAAA,iBAyDC;;QAxDC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IACE,CAAA,MAAA,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,0CAAE,QAAQ;YACnE,KAAK,EACL,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,gEAAU,EAGf;;gBAFjB,MAAM,YAAA,EACN,MAAM,YAAA;;;;6BAGJ,CAAA,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;4BACrB,MAAM,KAAK,qBAAqB;4BAChC,MAAM,CAAC,CAAC,CAAC,CAAA,EAFT,wBAES;wBAGO,qBAAM,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAA;;wBAAzD,OAAO,GAAG,SAA+C;wBAC/D,IAAI,CAAC,WAAW,YAAG,MAAM,EAAE,iBAAiB,CAAC,OAAO,IAAK,OAAO,EAAG,CAAC;;;;wBAIzC,qBAAM,OAAO,CAAC,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,CAAC,EAAA;;wBAApD,eAAe,GAAG,CAAC,SAAiC,CAAW;wBAErE,8BAA8B;wBAC9B,IAAI,CAAC,WAAW,qBACd,MAAM,EAAE,iBAAiB,CAAC,WAAW,IAClC,OAAO,KACV,eAAe,iBAAA,IACf,CAAC;wBAEH,sBAAO;;;wBAEP,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,OAAK,CAAC,CAAC;wBACb,QAAQ,GAAG,OAAiB,CAAC;wBACnC,IAAI,QAAQ,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,IAAI,EAAE,CAAC;4BACxC,kCAAkC;4BAClC,IAAI,CAAC,WAAW,YACd,MAAM,EAAE,iBAAiB,CAAC,QAAQ,IAC/B,OAAO,EACV,CAAC;wBACL,CAAC;wBACD,MAAM,OAAK,CAAC;4BAIhB,sBAAO,OAAO,CAAC,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,CAAC,EAAC;;;aACpC,CAAC;QAEF,OAAO;IACT,CAAC;IAEa,yCAAgB,GAA9B,UAA+B,SAAoB;;;gBACjD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,CAAC;;;;KACF;IAEa,2CAAkB,GAAhC,UAAiC,OAAgB;;;;;;wBAC/C,IAAI,OAAO,KAAK,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BAC7C,wCAAwC;4BACxC,sBAAO;wBACT,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC;wBACzC,CAAC;wBAED,KAAA,IAAI,CAAA;wBAAkB,qBAAM,IAAI,CAAC,iBAAiB,EAAE,EAAA;;wBAApD,GAAK,cAAc,GAAG,SAA8B,CAAC;wBACrD,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;;;;;KACzD;IAEa,yCAAgB,GAA9B,UACE,OAAiB,EACjB,OAAiB;;;;;;wBAEX,OAAO,GAAG;4BACd,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,cAAc;4BACxC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,uBAAuB;yBACjD,CAAC;wBACF,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;wBAChC,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;wBAEzC,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,EAAA;;wBAAhD,SAAgD,CAAC;;;;;KAClD;IAEa,8CAAqB,GAAnC;;;;4BACE,qBAAM,IAAI,CAAC,gBAAgB,CACzB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,uBAAuB,CAC7B,EAAA;;wBAHD,SAGC,CAAC;;;;;KACH;IAEa,uCAAc,GAA5B,UAA6B,UAAkB;;;;;;wBAC7C,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;6BACvC,CAAC,IAAI,CAAC,uBAAuB,EAA7B,wBAA6B;wBAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACnB,OAAO,CAAC,GAAG,CACT,gFAAgF,CACjF,CAAC;4BACF,sBAAO,OAAO,CAAC,OAAO,EAAE,EAAC;wBAC3B,CAAC;wBAEe,qBAAM,IAAI,CAAC,UAAU,EAAE,EAAA;;wBAAjC,OAAO,GAAG,SAAuB;wBACvC,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,OAAO,CAAC,GAAG,CACT,4EAA4E,CAC7E,CAAC;4BACF,sBAAO,OAAO,CAAC,OAAO,EAAE,EAAC;wBAC3B,CAAC;wBAED,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC;;;wBAGzC,qCAAqC;wBACrC,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BACjC,sBAAO,IAAI,CAAC,KAAK,CAAC;oCAChB,OAAO,EAAE,IAAI,CAAC,cAAc;oCAC5B,OAAO,EAAE,IAAI,CAAC,uBAAuB;iCACtC,CAAC,EAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,GAAG,CACT,uFAAuF,CACxF,CAAC;wBACJ,CAAC;;;;;KACF;IAEa,0CAAiB,GAA/B;;;gBACE,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACrD,CAAC;gBAED,sBAAO,IAAI,CAAC,YAAY,EAAE,EAAC;;;KAC5B;IAEa,sCAAa,GAA3B;;;;;gBACQ,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;gBACvC,OAAO,CAAC,SAAS,GAAG,SAAS,SAAS;oBAAC,cAAO;yBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;wBAAP,yBAAO;;oBAC5C,IAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC3C,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACzD,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC;gBAEI,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;gBAC7C,OAAO,CAAC,YAAY,GAAG,SAAS,YAAY;oBAAC,cAAO;yBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;wBAAP,yBAAO;;oBAClD,IAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC9C,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACzD,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC;gBAEF,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAM,OAAA,KAAI,CAAC,gBAAgB,EAAE,EAAvB,CAAuB,CAAC,CAAC;gBACnE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,cAAM,OAAA,KAAI,CAAC,gBAAgB,EAAE,EAAvB,CAAuB,CAAC,CAAC;;;;KAC1E;IAEa,yCAAgB,GAA9B;;;;gBACQ,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAEhD,IAAI,UAAU,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACxC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACnD,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC;;;;KACF;IAEO,qCAAY,GAApB;QAAA,iBAgBC;QAfC,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC1C,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,WAAW,EAAE,EAAE,CAAC;YACjD,OAAO,OAAO,CAAC,IAAI,CACjB,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAED,UAAU,CAAC;;gBACT,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE;oBAC1B,QAAQ,UAAA;oBACR,IAAI,MAAA;iBACL,CAAC,CAAC;;;aACJ,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAEa,mCAAU,GAAxB,UAAyB,MAAc,EAAE,OAAY;;;;;;4BACnC,qBAAM,IAAI,CAAC,UAAU,EAAE,EAAA;;wBAAjC,OAAO,GAAG,SAAuB;;4BAGrC,OAAO,SAAA;4BACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,MAAM,QAAA;4BACN,OAAO,EAAE,GAAG;;wBACH,qBAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAA;;wBALvD,WAAW,IAKf,UAAO,GAAE,SAAkD;+BAC5D;wBAED,qBAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,UAAC,GAAG,EAAE,CAAC,EAAE,IAAI;gCACtD,IAAI,GAAG,EAAE,CAAC;oCACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCACrB,CAAC;;oCAAM,OAAO,CAAC,GAAG,CAAC,oCAA6B,IAAI,CAAC,MAAM,YAAS,CAAC,CAAC;4BACxE,CAAC,CAAC,EAAA;;wBAJF,SAIE,CAAC;;;;;KACJ;IAED;;MAEE;IAEY,qCAAY,GAA1B;;;;gBACQ,KAAK,GAAG,WAAW,EAAE,CAAC;gBACtB,SAAS,qBAAO,KAAK,CAAC,YAAY,EAAE,OAAC,CAAC;gBAC5C,2EAA2E;gBAC3E,8DAA8D;gBAE9D,0DAA0D;gBAC1D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,sBAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,EAAC;gBAC5B,CAAC;gBACD,sBAAO,SAAS,EAAC;;;KAClB;IAEa,oCAAW,GAAzB,UAA0B,SAAkC;;;;;;;8BAEd,EAAT,uBAAS;;;6BAAT,CAAA,uBAAS,CAAA;wBAA/B,oBAAkB,EAAhB,QAAQ,cAAA,EAAE,IAAI,UAAA;wBACR,qBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAA;;wBAA3C,QAAQ,GAAG,SAAgC;6BAE7C,CAAA,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA,EAA/B,wBAA+B;8BACH,EAAR,qBAAQ;;;6BAAR,CAAA,sBAAQ,CAAA;wBAAnB,OAAO;wBAChB,qBAAM,IAAI,CAAC,QAAQ,CAAC;gCAClB,OAAO,SAAA;gCACP,YAAY,EAAE,IAAI,CAAC,IAAI;gCACvB,IAAI,EAAE,IAAI,CAAC,IAAI;6BAChB,CAAC,EAAA;;wBAJF,SAIE,CAAC;;;wBALiB,IAAQ,CAAA;;;;oBAQ9B,4BAA4B;oBAC5B,qBAAM,IAAI,CAAC,QAAQ,CAAC;4BAClB,OAAO,EAAE,IAAI;4BACb,YAAY,EAAE,IAAI,CAAC,IAAI;4BACvB,IAAI,EAAE,IAAI,CAAC,IAAI;yBAChB,CAAC,EAAA;;wBALF,4BAA4B;wBAC5B,SAIE,CAAC;;;wBAjB0B,IAAS,CAAA;;;;;wBAqB1C,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAG,CAAC,CAAC;;;;;;KAE9C;IAED,sBAAI,oCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;;;OAAA;IAEa,mCAAU,GAAxB;;;;;;wBACE,IAAI,IAAI,CAAC,uBAAuB;4BAAE,sBAAO,IAAI,CAAC,uBAAuB,EAAC;wBACtE,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAA,EAAE,CAAC;4BACpB,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;4BACnE,sBAAO,IAAI,EAAC;wBACd,CAAC;;;;wBAGkB,qBAAM,IAAI,CAAC,WAAW,EAAE,EAAA;;wBAAnC,QAAQ,GAAG,SAAwB;wBACzC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpC,sBAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAC;wBACrD,CAAC;;;;wBAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAG,CAAC,CAAC;wBAC5D,sBAAO,IAAI,EAAC;4BAEd,sBAAO,IAAI,EAAC;;;;KACb;IAEa,oCAAW,GAAzB,UACE,QAA0B;;;;;;wBAEpB,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;;;;wBAEO,qBAAM,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAC;gCACxD,MAAM,EAAE,cAAc;6BACvB,CAAC,CAAA,EAAA;;wBAFI,GAAG,GAAgC,SAEvC;wBACF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;4BAAE,sBAAO,IAAI,EAAC;wBAC1C,sBAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAC;;;wBAE7B,IAAK,KAAW,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;4BAC/B,OAAO,CAAC,GAAG,CACT,0DAA0D,EAC1D,KAAG,CACJ,CAAC;wBACJ,CAAC;wBACD,sBAAO,IAAI,EAAC;;;;;KAEf;IAEa,0CAAiB,GAA/B;;;;;;;wBACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACnB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;wBACvE,CAAC;;;;wBAIc,qBAAM,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAS;gCAChD,MAAM,EAAE,aAAa;6BACtB,CAAC,CAAA,EAAA;;wBAFF,UAAU,GAAG,SAEX,CAAC;wBACH,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;4BAChE,sBAAO,CAAC,EAAC;wBACX,CAAC;wBACD,sBAAO,QAAQ,CAAC,UAAoB,EAAE,EAAE,CAAC,EAAC;;;wBAE1C,OAAO,CAAC,GAAG,CACT,0DAA0D,EAC1D,KAAG,CACJ,CAAC;wBACF,sBAAO,CAAC,EAAC;;;;;KAEZ;IAEO,oCAAW,GAAnB;QACE,IAAI,CAAC;YACH,IAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;YAClE,IAAI,QAAQ,IAAI,YAAY;gBAC1B,OAAO,YAAY,CAAC,QAAqC,CAAC,CAAC;YAC7D,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,oCAAW,GAAnB;QACE,IAAI,CAAC;YACH,OAAO,CACL,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM;gBAChD,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;gBACxB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAChC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,uDAAuD;IACzC,0CAAiB,GAA/B;4DACE,oBAAkD;;YAAlD,qCAAA,EAAA,yBAAkD;;gBAE5C,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAEzC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9B,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEpC,4BAA4B;gBAC5B,iCACE,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,EACxC,IAAI,EAAE,GAAG,CAAC,IAAI,EACd,MAAM,EAAE,QAAQ,EAChB,QAAQ,UAAA,EACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EACpC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EACpC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EACxC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EACtC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAChC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IACnB,oBAAoB,GACvB;;;KACH;IAEO,mDAA0B,GAAlC,UACE,MAAc,EACd,MAAiB,EACjB,QAAkB;QAElB,IAAM,WAAW,GAAG;YAClB,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,OAAO,EACL,MAAM,KAAK,eAAe;gBACxB,CAAC,CAAE,MAAM,CAAC,CAAC,CAAa;gBACxB,CAAC,CAAE,MAAM,CAAC,CAAC,CAAa;SAC7B,CAAC;QAEF,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YAC/B,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACxB,MAAM,CAAC,CAAC,CAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAC9B,KAAK,CACN,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnB,sCACK,WAAW,KACd,OAAO,SAAA,KACJ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,QAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1D;QACJ,CAAC;QAED,sCACK,WAAW,KACd,OAAO,EAAE,MAAM,CAAC,CAAC,CAAW,KACzB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,QAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1D;IACJ,CAAC;IAEa,qDAA4B,GAA1C,UAA2C,MAAiB;;;;;;;wBACpD,KAA4B,MAAM,CAAC,CAAC,CAKzC,EALO,IAAI,UAAA,EAAE,IAAI,UAAA,EAAE,EAAE,QAAA,EAAE,KAAK,WAAA,CAK3B;;wBAES,KAAA,IAAI,CAAC,cAAc,CAAA;gCAAnB,wBAAmB;wBAAK,qBAAM,IAAI,CAAC,iBAAiB,EAAE,EAAA;;wBAA/B,KAAA,CAAC,SAA8B,CAAC,CAAA;;4BADlE,uBACE,UAAO,KAAyD;4BAChE,OAAI,OAAA;4BACJ,UAAO,GAAE,IAAI;4BACb,KAAE,KAAA;4BACF,QAAK,QAAA;iCACL;;;;KACH;IACH,qBAAC;AAAD,CAAC,AAvwBD,IAuwBC;;AAOD;IACE;IAAe,CAAC;IAET,4CAAY,GAAnB;QACE,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;IACtD,CAAC;IAEM,wCAAQ,GAAf;QACE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IACH,4BAAC;AAAD,CAAC,AAVD,IAUC"}
1
+ {"version":3,"file":"FormoAnalytics.js","sourceRoot":"","sources":["../../../src/FormoAnalytics.ts"],"names":[],"mappings":"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"}