node-opcua-server 2.167.0 → 2.168.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 (107) hide show
  1. package/dist/addressSpace_accessor.d.ts +6 -6
  2. package/dist/addressSpace_accessor.js +2 -2
  3. package/dist/addressSpace_accessor.js.map +1 -1
  4. package/dist/base_server.d.ts +14 -3
  5. package/dist/base_server.js +63 -41
  6. package/dist/base_server.js.map +1 -1
  7. package/dist/extract_password_from_blob.js +1 -3
  8. package/dist/extract_password_from_blob.js.map +1 -1
  9. package/dist/factory.d.ts +2 -3
  10. package/dist/factory.js.map +1 -1
  11. package/dist/filter/check_where_clause_on_address_space.d.ts +2 -2
  12. package/dist/filter/check_where_clause_on_address_space.js +1 -2
  13. package/dist/filter/check_where_clause_on_address_space.js.map +1 -1
  14. package/dist/filter/extract_event_fields.d.ts +3 -3
  15. package/dist/filter/extract_event_fields.js +1 -2
  16. package/dist/filter/extract_event_fields.js.map +1 -1
  17. package/dist/helper.d.ts +3 -3
  18. package/dist/helper.js +4 -8
  19. package/dist/helper.js.map +1 -1
  20. package/dist/i_address_space_accessor.d.ts +4 -4
  21. package/dist/i_channel_data.d.ts +1 -1
  22. package/dist/i_register_server_manager.d.ts +1 -1
  23. package/dist/i_server_side_publish_engine.d.ts +8 -6
  24. package/dist/i_server_side_publish_engine.js +7 -2
  25. package/dist/i_server_side_publish_engine.js.map +1 -1
  26. package/dist/index.d.ts +8 -7
  27. package/dist/index.js +8 -7
  28. package/dist/index.js.map +1 -1
  29. package/dist/invalidate_server_certificate_cache.d.ts +16 -0
  30. package/dist/invalidate_server_certificate_cache.js +28 -0
  31. package/dist/invalidate_server_certificate_cache.js.map +1 -0
  32. package/dist/monitored_item.d.ts +10 -11
  33. package/dist/monitored_item.js +38 -39
  34. package/dist/monitored_item.js.map +1 -1
  35. package/dist/node_sampler.d.ts +1 -1
  36. package/dist/node_sampler.js +2 -4
  37. package/dist/node_sampler.js.map +1 -1
  38. package/dist/opcua_server.d.ts +57 -62
  39. package/dist/opcua_server.js +7 -7
  40. package/dist/opcua_server.js.map +1 -1
  41. package/dist/register_server_manager_hidden.d.ts +1 -1
  42. package/dist/register_server_manager_hidden.js +2 -4
  43. package/dist/register_server_manager_hidden.js.map +1 -1
  44. package/dist/register_server_manager_mdns_only.d.ts +1 -1
  45. package/dist/register_server_manager_mdns_only.js.map +1 -1
  46. package/dist/sampling_func.d.ts +2 -2
  47. package/dist/server_capabilities.d.ts +3 -3
  48. package/dist/server_capabilities.js.map +1 -1
  49. package/dist/server_end_point.d.ts +45 -2
  50. package/dist/server_end_point.js +130 -32
  51. package/dist/server_end_point.js.map +1 -1
  52. package/dist/server_engine.js +29 -25
  53. package/dist/server_engine.js.map +1 -1
  54. package/dist/server_publish_engine.d.ts +5 -5
  55. package/dist/server_publish_engine.js +29 -23
  56. package/dist/server_publish_engine.js.map +1 -1
  57. package/dist/server_publish_engine_for_orphan_subscriptions.d.ts +2 -2
  58. package/dist/server_publish_engine_for_orphan_subscriptions.js.map +1 -1
  59. package/dist/server_session.d.ts +9 -10
  60. package/dist/server_session.js +11 -12
  61. package/dist/server_session.js.map +1 -1
  62. package/dist/server_subscription.d.ts +13 -13
  63. package/dist/server_subscription.js +100 -79
  64. package/dist/server_subscription.js.map +1 -1
  65. package/dist/sessions_compatible_for_transfer.d.ts +1 -1
  66. package/dist/sessions_compatible_for_transfer.js +1 -1
  67. package/dist/sessions_compatible_for_transfer.js.map +1 -1
  68. package/dist/user_manager.d.ts +4 -4
  69. package/dist/user_manager.js +1 -1
  70. package/dist/user_manager.js.map +1 -1
  71. package/dist/user_manager_ua.d.ts +2 -2
  72. package/dist/user_manager_ua.js +2 -2
  73. package/dist/user_manager_ua.js.map +1 -1
  74. package/dist/validate_filter.d.ts +7 -4
  75. package/dist/validate_filter.js +5 -6
  76. package/dist/validate_filter.js.map +1 -1
  77. package/package.json +46 -46
  78. package/source/addressSpace_accessor.ts +24 -24
  79. package/source/base_server.ts +73 -59
  80. package/source/extract_password_from_blob.ts +3 -11
  81. package/source/factory.ts +2 -4
  82. package/source/filter/check_where_clause_on_address_space.ts +4 -7
  83. package/source/filter/extract_event_fields.ts +4 -5
  84. package/source/helper.ts +9 -13
  85. package/source/i_address_space_accessor.ts +13 -4
  86. package/source/i_channel_data.ts +1 -1
  87. package/source/i_register_server_manager.ts +2 -4
  88. package/source/i_server_side_publish_engine.ts +16 -9
  89. package/source/index.ts +10 -9
  90. package/source/invalidate_server_certificate_cache.ts +26 -0
  91. package/source/monitored_item.ts +44 -42
  92. package/source/node_sampler.ts +9 -11
  93. package/source/opcua_server.ts +68 -88
  94. package/source/register_server_manager_hidden.ts +3 -5
  95. package/source/register_server_manager_mdns_only.ts +1 -3
  96. package/source/sampling_func.ts +2 -2
  97. package/source/server_capabilities.ts +9 -6
  98. package/source/server_end_point.ts +142 -42
  99. package/source/server_engine.ts +22 -22
  100. package/source/server_publish_engine.ts +35 -30
  101. package/source/server_publish_engine_for_orphan_subscriptions.ts +3 -3
  102. package/source/server_session.ts +36 -33
  103. package/source/server_subscription.ts +182 -184
  104. package/source/sessions_compatible_for_transfer.ts +9 -9
  105. package/source/user_manager.ts +7 -7
  106. package/source/user_manager_ua.ts +3 -5
  107. package/source/validate_filter.ts +9 -11
@@ -1,9 +1,11 @@
1
- import { PublishResponseOptions, StatusChangeNotification } from "node-opcua-types";
2
- import { Subscription } from "./server_subscription";
1
+ import type { ExtensionObject } from "node-opcua-extension-object";
2
+ import type { SequenceNumberGenerator } from "node-opcua-secure-channel";
3
+ import { type PublishResponseOptions, type StatusChangeNotification } from "node-opcua-types";
4
+ import type { Subscription } from "./server_subscription";
3
5
  export interface INotifMsg {
4
6
  subscriptionId: number;
5
7
  sequenceNumber: number;
6
- notificationData: any;
8
+ notificationData: (ExtensionObject | null)[] | null;
7
9
  moreNotifications: boolean;
8
10
  }
9
11
  export interface IServerSidePublishEngine {
@@ -21,13 +23,13 @@ export interface IClosedOrTransferredSubscription {
21
23
  }
22
24
  export declare class TransferredSubscription implements IClosedOrTransferredSubscription {
23
25
  id: number;
24
- publishEngine: any;
26
+ publishEngine: IServerSidePublishEngine | null;
25
27
  _pending_notification?: StatusChangeNotification;
26
28
  private _sequence_number_generator;
27
29
  constructor(options: {
28
30
  id: number;
29
- generator: any;
30
- publishEngine: any;
31
+ generator: SequenceNumberGenerator;
32
+ publishEngine: IServerSidePublishEngine;
31
33
  });
32
34
  get hasPendingNotifications(): boolean;
33
35
  dispose(): void;
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TransferredSubscription = void 0;
7
- const node_opcua_types_1 = require("node-opcua-types");
8
7
  const node_opcua_assert_1 = __importDefault(require("node-opcua-assert"));
8
+ const node_opcua_types_1 = require("node-opcua-types");
9
9
  class TransferredSubscription {
10
10
  id;
11
11
  publishEngine;
@@ -24,7 +24,9 @@ class TransferredSubscription {
24
24
  this.publishEngine = null;
25
25
  }
26
26
  _publish_pending_notifications() {
27
- (0, node_opcua_assert_1.default)(this._pending_notification);
27
+ if (!this._pending_notification) {
28
+ throw new Error("Internal Error: no pending notification");
29
+ }
28
30
  const notificationMessage = this._pending_notification;
29
31
  this._pending_notification = undefined;
30
32
  const moreNotifications = false;
@@ -47,6 +49,9 @@ class TransferredSubscription {
47
49
  (0, node_opcua_assert_1.default)(!response.notificationMessage ||
48
50
  availableSequenceNumbers[availableSequenceNumbers.length - 1] === response.notificationMessage.sequenceNumber);
49
51
  response.availableSequenceNumbers = availableSequenceNumbers;
52
+ if (!this.publishEngine) {
53
+ throw new Error("Internal Error: publishEngine is null");
54
+ }
50
55
  this.publishEngine._send_response(this, response);
51
56
  }
52
57
  _get_next_sequence_number() {
@@ -1 +1 @@
1
- {"version":3,"file":"i_server_side_publish_engine.js","sourceRoot":"","sources":["../source/i_server_side_publish_engine.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAqG;AACrG,0EAAuC;AAwBvC,MAAa,uBAAuB;IACzB,EAAE,CAAS;IACX,aAAa,CAAM;IACnB,qBAAqB,CAA4B;IAChD,0BAA0B,CAAM;IACxC,YAAY,OAA2D;QACnE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,0BAA0B,GAAG,OAAO,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC/C,CAAC;IACD,IAAW,uBAAuB;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;IACxC,CAAC;IACD,OAAO;QACH,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,8BAA8B;QAC1B,IAAA,2BAAM,EAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAsB,CAAC;QACxD,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,MAAM,iBAAiB,GAAG,KAAK,CAAC;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;QAE/B,MAAM,QAAQ,GAAG,IAAI,kCAAe,CAAC;YACjC,iBAAiB;YACjB,mBAAmB,EAAE;gBACjB,gBAAgB,EAAE,CAAC,mBAAmB,CAAC;gBACvC,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,cAAc,EAAE,UAAU;aAC7B;YACD,cAAc;SACjB,CAAC,CAAC;QAEH,8DAA8D;QAC9D,IAAA,2BAAM,EAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC;QACnE,QAAQ,CAAC,mBAAmB,CAAC,cAAc,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/E,sEAAsE;QACtE,iCAAiC;QACjC,MAAM,wBAAwB,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAC/E,IAAA,2BAAM,EACF,CAAC,QAAQ,CAAC,mBAAmB;YACzB,wBAAwB,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CACpH,CAAC;QACF,QAAQ,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QAC7D,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IACO,yBAAyB;QAC7B,OAAO,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;CACJ;AAlDD,0DAkDC"}
1
+ {"version":3,"file":"i_server_side_publish_engine.js","sourceRoot":"","sources":["../source/i_server_side_publish_engine.ts"],"names":[],"mappings":";;;;;;AAAA,0EAAuC;AAGvC,uDAA+G;AAwB/G,MAAa,uBAAuB;IACzB,EAAE,CAAS;IACX,aAAa,CAAkC;IAC/C,qBAAqB,CAA4B;IAChD,0BAA0B,CAAiC;IACnE,YAAY,OAAoG;QAC5G,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,0BAA0B,GAAG,OAAO,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC/C,CAAC;IACD,IAAW,uBAAuB;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;IACxC,CAAC;IACD,OAAO;QACH,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,8BAA8B;QAC1B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACvD,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,MAAM,iBAAiB,GAAG,KAAK,CAAC;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;QAE/B,MAAM,QAAQ,GAAG,IAAI,kCAAe,CAAC;YACjC,iBAAiB;YACjB,mBAAmB,EAAE;gBACjB,gBAAgB,EAAE,CAAC,mBAAmB,CAAC;gBACvC,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,cAAc,EAAE,UAAU;aAC7B;YACD,cAAc;SACjB,CAAC,CAAC;QAEH,8DAA8D;QAC9D,IAAA,2BAAM,EAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC;QACnE,QAAQ,CAAC,mBAAmB,CAAC,cAAc,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/E,sEAAsE;QACtE,iCAAiC;QACjC,MAAM,wBAAwB,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAC/E,IAAA,2BAAM,EACF,CAAC,QAAQ,CAAC,mBAAmB;YACzB,wBAAwB,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CACpH,CAAC;QACF,QAAQ,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAA+B,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;IACO,yBAAyB;QAC7B,OAAO,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;CACJ;AAvDD,0DAuDC"}
package/dist/index.d.ts CHANGED
@@ -24,15 +24,16 @@
24
24
  * @module node-opcua-server
25
25
  */
26
26
  export * from "./base_server";
27
- export * from "./server_end_point";
27
+ export * from "./helper";
28
+ export * from "./invalidate_server_certificate_cache";
29
+ export * from "./monitored_item";
30
+ export * from "./opcua_server";
28
31
  export * from "./register_server_manager";
29
32
  export * from "./register_server_manager_mdns_only";
30
- export * from "./server_publish_engine";
31
- export * from "./server_subscription";
32
- export * from "./server_session";
33
33
  export * from "./server_capabilities";
34
+ export * from "./server_end_point";
34
35
  export * from "./server_engine";
35
- export * from "./opcua_server";
36
- export * from "./monitored_item";
36
+ export * from "./server_publish_engine";
37
+ export * from "./server_session";
38
+ export * from "./server_subscription";
37
39
  export * from "./user_manager";
38
- export * from "./helper";
package/dist/index.js CHANGED
@@ -40,16 +40,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
40
40
  * @module node-opcua-server
41
41
  */
42
42
  __exportStar(require("./base_server"), exports);
43
- __exportStar(require("./server_end_point"), exports);
43
+ __exportStar(require("./helper"), exports);
44
+ __exportStar(require("./invalidate_server_certificate_cache"), exports);
45
+ __exportStar(require("./monitored_item"), exports);
46
+ __exportStar(require("./opcua_server"), exports);
44
47
  __exportStar(require("./register_server_manager"), exports);
45
48
  __exportStar(require("./register_server_manager_mdns_only"), exports);
46
- __exportStar(require("./server_publish_engine"), exports);
47
- __exportStar(require("./server_subscription"), exports);
48
- __exportStar(require("./server_session"), exports);
49
49
  __exportStar(require("./server_capabilities"), exports);
50
+ __exportStar(require("./server_end_point"), exports);
50
51
  __exportStar(require("./server_engine"), exports);
51
- __exportStar(require("./opcua_server"), exports);
52
- __exportStar(require("./monitored_item"), exports);
52
+ __exportStar(require("./server_publish_engine"), exports);
53
+ __exportStar(require("./server_session"), exports);
54
+ __exportStar(require("./server_subscription"), exports);
53
55
  __exportStar(require("./user_manager"), exports);
54
- __exportStar(require("./helper"), exports);
55
56
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;GAEG;AACH,gDAA8B;AAC9B,qDAAmC;AACnC,4DAA0C;AAC1C,sEAAoD;AACpD,0DAAwC;AACxC,wDAAsC;AACtC,mDAAiC;AACjC,wDAAsC;AACtC,kDAAgC;AAChC,iDAA+B;AAC/B,mDAAiC;AACjC,iDAA+B;AAC/B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;GAEG;AACH,gDAA8B;AAC9B,2CAAyB;AACzB,wEAAsD;AACtD,mDAAiC;AACjC,iDAA+B;AAC/B,4DAA0C;AAC1C,sEAAoD;AACpD,wDAAsC;AACtC,qDAAmC;AACnC,kDAAgC;AAChC,0DAAwC;AACxC,mDAAiC;AACjC,wDAAsC;AACtC,iDAA+B"}
@@ -0,0 +1,16 @@
1
+ import type { OPCUABaseServer } from "./base_server";
2
+ /**
3
+ * Invalidate all cached certificates on a running server so that
4
+ * subsequent GetEndpoints / OpenSecureChannel calls reflect the
5
+ * current on-disk certificate.
6
+ *
7
+ * Call this after replacing the server's certificate PEM file.
8
+ * Works with or without push certificate management.
9
+ *
10
+ * ```ts
11
+ * // 1. write new cert to disk (e.g. via CertificateManager)
12
+ * // 2. tell the server to pick it up:
13
+ * invalidateServerCertificateCache(server);
14
+ * ```
15
+ */
16
+ export declare function invalidateServerCertificateCache(server: OPCUABaseServer): void;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.invalidateServerCertificateCache = invalidateServerCertificateCache;
4
+ /**
5
+ * @module node-opcua-server
6
+ */
7
+ const node_opcua_common_1 = require("node-opcua-common");
8
+ /**
9
+ * Invalidate all cached certificates on a running server so that
10
+ * subsequent GetEndpoints / OpenSecureChannel calls reflect the
11
+ * current on-disk certificate.
12
+ *
13
+ * Call this after replacing the server's certificate PEM file.
14
+ * Works with or without push certificate management.
15
+ *
16
+ * ```ts
17
+ * // 1. write new cert to disk (e.g. via CertificateManager)
18
+ * // 2. tell the server to pick it up:
19
+ * invalidateServerCertificateCache(server);
20
+ * ```
21
+ */
22
+ function invalidateServerCertificateCache(server) {
23
+ (0, node_opcua_common_1.invalidateCachedSecrets)(server);
24
+ for (const ep of server.endpoints) {
25
+ ep.invalidateCertificates();
26
+ }
27
+ }
28
+ //# sourceMappingURL=invalidate_server_certificate_cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalidate_server_certificate_cache.js","sourceRoot":"","sources":["../source/invalidate_server_certificate_cache.ts"],"names":[],"mappings":";;AAoBA,4EAKC;AAzBD;;GAEG;AACH,yDAA4D;AAG5D;;;;;;;;;;;;;GAaG;AACH,SAAgB,gCAAgC,CAAC,MAAuB;IACpE,IAAA,2CAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAChC,EAAE,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;AACL,CAAC"}
@@ -2,22 +2,21 @@
2
2
  * @module node-opcua-server
3
3
  */
4
4
  import { EventEmitter } from "events";
5
- import { ISessionContext, UAMethod, UAObject } from "node-opcua-address-space-base";
6
- import { SessionContext, UAVariable } from "node-opcua-address-space";
7
- import { UInt32 } from "node-opcua-basic-types";
8
- import { NodeClass, QualifiedNameOptions } from "node-opcua-data-model";
9
- import { AttributeIds } from "node-opcua-data-model";
5
+ import { SessionContext, type UAVariable } from "node-opcua-address-space";
6
+ import type { ISessionContext, UAMethod, UAObject } from "node-opcua-address-space-base";
7
+ import type { UInt32 } from "node-opcua-basic-types";
8
+ import { AttributeIds, NodeClass, type QualifiedNameOptions } from "node-opcua-data-model";
10
9
  import { DataValue } from "node-opcua-data-value";
11
- import { ExtensionObject } from "node-opcua-extension-object";
12
- import { NodeId } from "node-opcua-nodeid";
10
+ import type { ExtensionObject } from "node-opcua-extension-object";
11
+ import type { NodeId } from "node-opcua-nodeid";
13
12
  import { NumericRange } from "node-opcua-numeric-range";
14
13
  import { ObjectRegistry } from "node-opcua-object-registry";
15
- import { TimestampsToReturn } from "node-opcua-service-read";
14
+ import { type TimestampsToReturn } from "node-opcua-service-read";
16
15
  import { MonitoredItemModifyResult, MonitoredItemNotification, MonitoringMode, MonitoringParameters } from "node-opcua-service-subscription";
17
16
  import { StatusCode } from "node-opcua-status-code";
18
- import { EventFieldList, MonitoringFilter, ReadValueIdOptions, SubscriptionDiagnosticsDataType } from "node-opcua-types";
19
- import { SamplingFunc } from "./sampling_func";
20
- import { MonitoredItemBase } from "./server_subscription";
17
+ import { EventFieldList, type MonitoringFilter, type ReadValueIdOptions, type SubscriptionDiagnosticsDataType } from "node-opcua-types";
18
+ import type { SamplingFunc } from "./sampling_func";
19
+ import type { MonitoredItemBase } from "./server_subscription";
21
20
  export type QueueItem = MonitoredItemNotification | EventFieldList;
22
21
  export interface MonitoredItemOptions extends MonitoringParameters {
23
22
  monitoringMode: MonitoringMode;
@@ -1,36 +1,33 @@
1
1
  "use strict";
2
+ /**
3
+ * @module node-opcua-server
4
+ */
2
5
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
6
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
7
  };
5
8
  Object.defineProperty(exports, "__esModule", { value: true });
6
9
  exports.MonitoredItem = void 0;
7
- /**
8
- * @module node-opcua-server
9
- */
10
- const events_1 = require("events");
11
10
  const chalk_1 = __importDefault(require("chalk"));
12
- const node_opcua_assert_1 = require("node-opcua-assert");
11
+ const events_1 = require("events");
13
12
  const node_opcua_address_space_1 = require("node-opcua-address-space");
14
- const node_opcua_service_filter_1 = require("node-opcua-service-filter");
13
+ const node_opcua_assert_1 = require("node-opcua-assert");
15
14
  const node_opcua_data_model_1 = require("node-opcua-data-model");
16
- const node_opcua_data_model_2 = require("node-opcua-data-model");
17
15
  const node_opcua_data_value_1 = require("node-opcua-data-value");
18
16
  const node_opcua_debug_1 = require("node-opcua-debug");
19
17
  const node_opcua_numeric_range_1 = require("node-opcua-numeric-range");
20
18
  const node_opcua_object_registry_1 = require("node-opcua-object-registry");
21
- const node_opcua_service_filter_2 = require("node-opcua-service-filter");
19
+ const node_opcua_service_filter_1 = require("node-opcua-service-filter");
22
20
  const node_opcua_service_read_1 = require("node-opcua-service-read");
23
21
  const node_opcua_service_subscription_1 = require("node-opcua-service-subscription");
24
- const node_opcua_service_subscription_2 = require("node-opcua-service-subscription");
25
22
  const node_opcua_status_code_1 = require("node-opcua-status-code");
26
23
  const node_opcua_types_1 = require("node-opcua-types");
27
24
  const node_opcua_variant_1 = require("node-opcua-variant");
25
+ const check_where_clause_on_address_space_1 = require("./filter/check_where_clause_on_address_space");
28
26
  const node_sampler_1 = require("./node_sampler");
29
27
  const validate_filter_1 = require("./validate_filter");
30
- const check_where_clause_on_address_space_1 = require("./filter/check_where_clause_on_address_space");
31
28
  const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
32
29
  const defaultItemToMonitor = new node_opcua_service_read_1.ReadValueId({
33
- attributeId: node_opcua_data_model_2.AttributeIds.Value,
30
+ attributeId: node_opcua_data_model_1.AttributeIds.Value,
34
31
  indexRange: undefined
35
32
  });
36
33
  const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
@@ -60,8 +57,8 @@ function _adjust_queue_size(queueSize) {
60
57
  }
61
58
  function _validate_parameters(monitoringParameters) {
62
59
  // xx assert(options instanceof MonitoringParameters);
63
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(monitoringParameters, "clientHandle"));
64
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(monitoringParameters, "samplingInterval"));
60
+ (0, node_opcua_assert_1.assert)(Object.hasOwn(monitoringParameters, "clientHandle"));
61
+ (0, node_opcua_assert_1.assert)(Object.hasOwn(monitoringParameters, "samplingInterval"));
65
62
  (0, node_opcua_assert_1.assert)(isFinite(monitoringParameters.clientHandle));
66
63
  (0, node_opcua_assert_1.assert)(isFinite(monitoringParameters.samplingInterval));
67
64
  (0, node_opcua_assert_1.assert)(typeof monitoringParameters.discardOldest === "boolean");
@@ -77,17 +74,17 @@ function valueHasChanged(newDataValue, oldDataValue, deadbandType, deadbandValue
77
74
  (0, node_opcua_assert_1.assert)(newDataValue instanceof node_opcua_data_value_1.DataValue);
78
75
  (0, node_opcua_assert_1.assert)(oldDataValue instanceof node_opcua_data_value_1.DataValue);
79
76
  switch (deadbandType) {
80
- case node_opcua_service_subscription_2.DeadbandType.None:
77
+ case node_opcua_service_subscription_1.DeadbandType.None:
81
78
  (0, node_opcua_assert_1.assert)(newDataValue.value instanceof node_opcua_variant_1.Variant);
82
79
  (0, node_opcua_assert_1.assert)(newDataValue.value instanceof node_opcua_variant_1.Variant);
83
80
  // No Deadband calculation should be applied.
84
- return (0, node_opcua_service_subscription_2.isOutsideDeadbandNone)(oldDataValue.value, newDataValue.value);
85
- case node_opcua_service_subscription_2.DeadbandType.Absolute:
81
+ return (0, node_opcua_service_subscription_1.isOutsideDeadbandNone)(oldDataValue.value, newDataValue.value);
82
+ case node_opcua_service_subscription_1.DeadbandType.Absolute:
86
83
  // AbsoluteDeadband
87
- return (0, node_opcua_service_subscription_2.isOutsideDeadbandAbsolute)(oldDataValue.value, newDataValue.value, deadbandValue);
84
+ return (0, node_opcua_service_subscription_1.isOutsideDeadbandAbsolute)(oldDataValue.value, newDataValue.value, deadbandValue);
88
85
  default: {
89
86
  // Percent_2 PercentDeadband (This type is specified in Part 8).
90
- (0, node_opcua_assert_1.assert)(deadbandType === node_opcua_service_subscription_2.DeadbandType.Percent);
87
+ (0, node_opcua_assert_1.assert)(deadbandType === node_opcua_service_subscription_1.DeadbandType.Percent);
91
88
  // The range of the deadbandValue is from 0.0 to 100.0 Percent.
92
89
  (0, node_opcua_assert_1.assert)(deadbandValue >= 0 && deadbandValue <= 100);
93
90
  // DeadbandType = PercentDeadband
@@ -108,7 +105,7 @@ function valueHasChanged(newDataValue, oldDataValue, deadbandType, deadbandValue
108
105
  if (euRangeNode && euRangeNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable) {
109
106
  // double,double
110
107
  const rangeVariant = euRangeNode.readValue().value;
111
- return (0, node_opcua_service_subscription_2.isOutsideDeadbandPercent)(oldDataValue.value, newDataValue.value, deadbandValue, rangeVariant.value);
108
+ return (0, node_opcua_service_subscription_1.isOutsideDeadbandPercent)(oldDataValue.value, newDataValue.value, deadbandValue, rangeVariant.value);
112
109
  }
113
110
  else {
114
111
  errorLog("EURange is not of type Variable");
@@ -128,23 +125,23 @@ function timestampHasChanged(t1, t2) {
128
125
  }
129
126
  function apply_dataChange_filter(newDataValue, oldDataValue) {
130
127
  /* c8 ignore next */
131
- if (!this.filter || !(this.filter instanceof node_opcua_service_subscription_2.DataChangeFilter)) {
128
+ if (!this.filter || !(this.filter instanceof node_opcua_service_subscription_1.DataChangeFilter)) {
132
129
  throw new Error("Internal Error");
133
130
  }
134
131
  const trigger = this.filter.trigger;
135
132
  // c8 ignore next
136
133
  if (doDebug) {
137
134
  try {
138
- debugLog("filter pass ?", node_opcua_service_subscription_2.DataChangeTrigger[trigger], this.oldDataValue?.toString(), newDataValue.toString());
139
- if (trigger === node_opcua_service_subscription_2.DataChangeTrigger.Status ||
140
- trigger === node_opcua_service_subscription_2.DataChangeTrigger.StatusValue ||
141
- trigger === node_opcua_service_subscription_2.DataChangeTrigger.StatusValueTimestamp) {
135
+ debugLog("filter pass ?", node_opcua_service_subscription_1.DataChangeTrigger[trigger], this.oldDataValue?.toString(), newDataValue.toString());
136
+ if (trigger === node_opcua_service_subscription_1.DataChangeTrigger.Status ||
137
+ trigger === node_opcua_service_subscription_1.DataChangeTrigger.StatusValue ||
138
+ trigger === node_opcua_service_subscription_1.DataChangeTrigger.StatusValueTimestamp) {
142
139
  debugLog("statusCodeHasChanged ", statusCodeHasChanged(newDataValue, oldDataValue));
143
140
  }
144
- if (trigger === node_opcua_service_subscription_2.DataChangeTrigger.StatusValue || trigger === node_opcua_service_subscription_2.DataChangeTrigger.StatusValueTimestamp) {
141
+ if (trigger === node_opcua_service_subscription_1.DataChangeTrigger.StatusValue || trigger === node_opcua_service_subscription_1.DataChangeTrigger.StatusValueTimestamp) {
145
142
  debugLog("valueHasChanged ", valueHasChanged.call(this, newDataValue, oldDataValue, this.filter.deadbandType, this.filter.deadbandValue));
146
143
  }
147
- if (trigger === node_opcua_service_subscription_2.DataChangeTrigger.StatusValueTimestamp) {
144
+ if (trigger === node_opcua_service_subscription_1.DataChangeTrigger.StatusValueTimestamp) {
148
145
  debugLog("timestampHasChanged ", timestampHasChanged(newDataValue.sourceTimestamp, oldDataValue.sourceTimestamp));
149
146
  }
150
147
  }
@@ -153,7 +150,7 @@ function apply_dataChange_filter(newDataValue, oldDataValue) {
153
150
  }
154
151
  }
155
152
  switch (trigger) {
156
- case node_opcua_service_subscription_2.DataChangeTrigger.Status: {
153
+ case node_opcua_service_subscription_1.DataChangeTrigger.Status: {
157
154
  //
158
155
  // Status
159
156
  // Report a notification ONLY if the StatusCode associated with
@@ -162,7 +159,7 @@ function apply_dataChange_filter(newDataValue, oldDataValue) {
162
159
  // valid in particular for device data.
163
160
  return statusCodeHasChanged(newDataValue, oldDataValue);
164
161
  }
165
- case node_opcua_service_subscription_2.DataChangeTrigger.StatusValue: {
162
+ case node_opcua_service_subscription_1.DataChangeTrigger.StatusValue: {
166
163
  // filtering value changes.
167
164
  // change. The Deadband filter can be used in addition for
168
165
  // Report a notification if either the StatusCode or the value
@@ -180,7 +177,7 @@ function apply_dataChange_filter(newDataValue, oldDataValue) {
180
177
  //
181
178
  // If the DataChangeFilter is not applied to the monitored item, STATUS_VALUE_1
182
179
  // is the default reporting behavior
183
- (0, node_opcua_assert_1.assert)(trigger === node_opcua_service_subscription_2.DataChangeTrigger.StatusValueTimestamp);
180
+ (0, node_opcua_assert_1.assert)(trigger === node_opcua_service_subscription_1.DataChangeTrigger.StatusValueTimestamp);
184
181
  return (timestampHasChanged(newDataValue.sourceTimestamp, oldDataValue.sourceTimestamp) ||
185
182
  statusCodeHasChanged(newDataValue, oldDataValue) ||
186
183
  valueHasChanged.call(this, newDataValue, oldDataValue, this.filter.deadbandType, this.filter.deadbandValue));
@@ -207,7 +204,7 @@ function apply_filter(newDataValue) {
207
204
  }
208
205
  // c8 ignore next
209
206
  doDebug && safeGuardVerify(this);
210
- if (this.filter instanceof node_opcua_service_subscription_2.DataChangeFilter) {
207
+ if (this.filter instanceof node_opcua_service_subscription_1.DataChangeFilter) {
211
208
  return apply_dataChange_filter.call(this, newDataValue, this.oldDataValue);
212
209
  }
213
210
  else {
@@ -264,7 +261,9 @@ class MonitoredItem extends events_1.EventEmitter {
264
261
  overflow;
265
262
  oldDataValue;
266
263
  #monitoringMode = node_opcua_service_subscription_1.MonitoringMode.Invalid;
267
- get monitoringMode() { return this.#monitoringMode; }
264
+ get monitoringMode() {
265
+ return this.#monitoringMode;
266
+ }
268
267
  timestampsToReturn;
269
268
  itemToMonitor;
270
269
  filter;
@@ -287,7 +286,7 @@ class MonitoredItem extends events_1.EventEmitter {
287
286
  _triggeredNotifications;
288
287
  constructor(options) {
289
288
  super();
290
- (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(options, "monitoredItemId"));
289
+ (0, node_opcua_assert_1.assert)(Object.hasOwn(options, "monitoredItemId"));
291
290
  (0, node_opcua_assert_1.assert)(!options.monitoringMode, "use setMonitoring mode explicitly to activate the monitored item");
292
291
  options.itemToMonitor = options.itemToMonitor || defaultItemToMonitor;
293
292
  this._samplingId = undefined;
@@ -772,7 +771,7 @@ class MonitoredItem extends events_1.EventEmitter {
772
771
  // ignore the Event content filtering associated with a Subscription and will always be
773
772
  // delivered to the Client.
774
773
  // c8 ignore next
775
- if (!this.filter || !(this.filter instanceof node_opcua_service_filter_2.EventFilter)) {
774
+ if (!this.filter || !(this.filter instanceof node_opcua_service_filter_1.EventFilter)) {
776
775
  throw new Error("Internal Error : a EventFilter is requested");
777
776
  }
778
777
  const addressSpace = eventData.$eventDataSource?.addressSpace;
@@ -811,7 +810,7 @@ class MonitoredItem extends events_1.EventEmitter {
811
810
  __acquireInitialValue(sessionContext, callback) {
812
811
  // acquire initial value from the variable/object not itself or from the last known value if we have
813
812
  // one already
814
- (0, node_opcua_assert_1.assert)(this.itemToMonitor.attributeId === node_opcua_data_model_2.AttributeIds.Value);
813
+ (0, node_opcua_assert_1.assert)(this.itemToMonitor.attributeId === node_opcua_data_model_1.AttributeIds.Value);
815
814
  (0, node_opcua_assert_1.assert)(this.node);
816
815
  if (this.node?.nodeClass !== node_opcua_data_model_1.NodeClass.Variable) {
817
816
  return callback(new Error("Invalid "));
@@ -843,7 +842,7 @@ class MonitoredItem extends events_1.EventEmitter {
843
842
  return;
844
843
  }
845
844
  this._stop_sampling();
846
- if (this.itemToMonitor.attributeId === node_opcua_data_model_2.AttributeIds.EventNotifier) {
845
+ if (this.itemToMonitor.attributeId === node_opcua_data_model_1.AttributeIds.EventNotifier) {
847
846
  // c8 ignore next
848
847
  if (doDebug) {
849
848
  debugLog("xxxxxx monitoring EventNotifier on", this.node.nodeId.toString(), this.node.browseName.toString());
@@ -857,7 +856,7 @@ class MonitoredItem extends events_1.EventEmitter {
857
856
  }
858
857
  return;
859
858
  }
860
- if (this.itemToMonitor.attributeId !== node_opcua_data_model_2.AttributeIds.Value) {
859
+ if (this.itemToMonitor.attributeId !== node_opcua_data_model_1.AttributeIds.Value) {
861
860
  // sampling interval only applies to Value Attributes.
862
861
  this.samplingInterval = 0; // turned to exception-based regardless of requested sampling interval
863
862
  // non value attribute only react on value change
@@ -937,7 +936,7 @@ class MonitoredItem extends events_1.EventEmitter {
937
936
  this.filter = monitoredParameters.filter || null;
938
937
  }
939
938
  _setOverflowBit(notification) {
940
- if (Object.prototype.hasOwnProperty.call(notification, "value")) {
939
+ if (Object.hasOwn(notification, "value")) {
941
940
  (0, node_opcua_assert_1.assert)(notification.value.statusCode.equals(node_opcua_status_code_1.StatusCodes.Good));
942
941
  notification.value.statusCode = node_opcua_status_code_1.StatusCode.makeStatusCode(notification.value.statusCode, "Overflow | InfoTypeDataValue");
943
942
  (0, node_opcua_assert_1.assert)((0, node_opcua_data_value_1.sameStatusCode)(notification.value.statusCode, node_opcua_status_code_1.StatusCodes.GoodWithOverflowBit));
@@ -993,8 +992,8 @@ class MonitoredItem extends events_1.EventEmitter {
993
992
  }
994
993
  const attributeId = this.itemToMonitor.attributeId;
995
994
  // if dataFilter is specified ....
996
- if (this.filter && this.filter instanceof node_opcua_service_subscription_2.DataChangeFilter) {
997
- if (this.filter.trigger === node_opcua_service_subscription_2.DataChangeTrigger.Status) {
995
+ if (this.filter && this.filter instanceof node_opcua_service_subscription_1.DataChangeFilter) {
996
+ if (this.filter.trigger === node_opcua_service_subscription_1.DataChangeTrigger.Status) {
998
997
  /** */
999
998
  }
1000
999
  }
@@ -1 +1 @@
1
- {"version":3,"file":"monitored_item.js","sourceRoot":"","sources":["../source/monitored_item.ts"],"names":[],"mappings":";;;;;;AAAA;;GAEG;AACH,mCAAsC;AACtC,kDAA0B;AAC1B,yDAA2C;AAE3C,uEAAkI;AAClI,yEAA+D;AAE/D,iEAAwE;AACxE,iEAAqD;AACrD,iEAO+B;AAC/B,uDAAiG;AAGjG,uEAAyE;AACzE,2EAA4D;AAC5D,yEAAwD;AACxD,qEAA0E;AAC1E,qFAKyC;AACzC,qFAQyC;AACzC,mEAA4E;AAC5E,uDAQ0B;AAC1B,2DAA4E;AAE5E,iDAAgE;AAChE,uDAAmD;AACnD,sGAA+H;AAI/H,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAI3C,MAAM,oBAAoB,GAAuB,IAAI,qCAAW,CAAC;IAC7D,WAAW,EAAE,oCAAY,CAAC,KAAK;IAC/B,UAAU,EAAE,SAAS;CACxB,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,CAAC;AAClC,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAE/C,SAAS,yBAAyB,CAAC,gBAAwB,EAAE,4BAAoC;IAC7F,IAAA,0BAAM,EAAC,OAAO,4BAA4B,KAAK,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAE/E,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,4BAA4B,KAAK,CAAC;YACrC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,uBAAuB,EAAE,4BAA4B,CAAC,CAAC;IACxF,CAAC;IACD,IAAA,0BAAM,EAAC,gBAAgB,IAAI,CAAC,EAAE,+CAA+C,CAAC,CAAC;IAC/E,gBAAgB,GAAG,gBAAgB,IAAI,aAAa,CAAC,uBAAuB,CAAC;IAC7E,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACrF,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACrF,gBAAgB;QACZ,4BAA4B,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;IAErH,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,SAAS,kBAAkB,CAAC,SAAiB;IACzC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACnC,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CAAC,oBAAyB;IACnD,sDAAsD;IACtD,IAAA,0BAAM,EAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC;IACnF,IAAA,0BAAM,EAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACvF,IAAA,0BAAM,EAAC,QAAQ,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC;IACpD,IAAA,0BAAM,EAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxD,IAAA,0BAAM,EAAC,OAAO,oBAAoB,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC;IAChE,IAAA,0BAAM,EAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,IAAA,0BAAM,EAAC,oBAAoB,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAuB,EAAE,YAAuB;IAC1E,IAAA,0BAAM,EAAC,YAAY,YAAY,iCAAS,CAAC,CAAC;IAC1C,IAAA,0BAAM,EAAC,YAAY,YAAY,iCAAS,CAAC,CAAC;IAC1C,OAAO,YAAY,CAAC,UAAU,CAAC,KAAK,KAAK,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC;AAC3E,CAAC;AAED,SAAS,eAAe,CAEpB,YAAuB,EACvB,YAAuB,EACvB,YAA0B,EAC1B,aAAqB;IAErB,IAAA,0BAAM,EAAC,YAAY,YAAY,iCAAS,CAAC,CAAC;IAC1C,IAAA,0BAAM,EAAC,YAAY,YAAY,iCAAS,CAAC,CAAC;IAC1C,QAAQ,YAAY,EAAE,CAAC;QACnB,KAAK,8CAAY,CAAC,IAAI;YAClB,IAAA,0BAAM,EAAC,YAAY,CAAC,KAAK,YAAY,4BAAO,CAAC,CAAC;YAC9C,IAAA,0BAAM,EAAC,YAAY,CAAC,KAAK,YAAY,4BAAO,CAAC,CAAC;YAC9C,6CAA6C;YAC7C,OAAO,IAAA,uDAAqB,EAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACzE,KAAK,8CAAY,CAAC,QAAQ;YACtB,mBAAmB;YACnB,OAAO,IAAA,2DAAyB,EAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC5F,OAAO,CAAC,CAAC,CAAC;YACN,mEAAmE;YACnE,IAAA,0BAAM,EAAC,YAAY,KAAK,8CAAY,CAAC,OAAO,CAAC,CAAC;YAE9C,+DAA+D;YAC/D,IAAA,0BAAM,EAAC,aAAa,IAAI,CAAC,IAAI,aAAa,IAAI,GAAG,CAAC,CAAC;YAEnD,iCAAiC;YACjC,oGAAoG;YACpG,uGAAuG;YACvG,2GAA2G;YAC3G,yGAAyG;YACzG,iBAAiB;YACjB,8EAA8E;YAC9E,6FAA6F;YAC7F,EAAE;YACF,sDAAsD;YACtD,yGAAyG;YACzG,gGAAgG;YAChG,yEAAyE;YACzE,IAAA,0BAAM,EAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,2EAA2E,CAAC,CAAC;YAExG,MAAM,WAAW,GAAG,IAAI,CAAC,IAAK,CAAC,cAAc,CAAC,SAAS,CAAe,CAAC;YACvE,IAAI,WAAW,IAAI,WAAW,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,EAAE,CAAC;gBAC9D,gBAAgB;gBAChB,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC;gBACnD,OAAO,IAAA,0DAAwB,EAC3B,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,KAAK,EAClB,aAAa,EACb,YAAY,CAAC,KAAoB,CACpC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,iCAAiC,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAY,EAAE,EAAY;IACnD,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAQ,EAAW,CAAC,OAAO,EAAE,KAAM,EAAW,CAAC,OAAO,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,uBAAuB,CAAsB,YAAuB,EAAE,YAAuB;IAClG,oBAAoB;IACpB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,YAAY,kDAAgB,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IACpC,iBAAiB;IACjB,IAAI,OAAO,EAAE,CAAC;QACV,IAAI,CAAC;YACD,QAAQ,CAAC,eAAe,EAAE,mDAAiB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9G,IACI,OAAO,KAAK,mDAAiB,CAAC,MAAM;gBACpC,OAAO,KAAK,mDAAiB,CAAC,WAAW;gBACzC,OAAO,KAAK,mDAAiB,CAAC,oBAAoB,EACpD,CAAC;gBACC,QAAQ,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,OAAO,KAAK,mDAAiB,CAAC,WAAW,IAAI,OAAO,KAAK,mDAAiB,CAAC,oBAAoB,EAAE,CAAC;gBAClG,QAAQ,CACJ,kBAAkB,EAClB,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,MAAO,CAAC,YAAY,EAAE,IAAI,CAAC,MAAO,CAAC,aAAa,CAAC,CAChH,CAAC;YACN,CAAC;YACD,IAAI,OAAO,KAAK,mDAAiB,CAAC,oBAAoB,EAAE,CAAC;gBACrD,QAAQ,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;YACtH,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,UAAU,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IACD,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,mDAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5B,EAAE;YACF,sBAAsB;YACtB,4EAA4E;YAC5E,2EAA2E;YAC3E,+EAA+E;YAC/E,oDAAoD;YACpD,OAAO,oBAAoB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,mDAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;YACjC,wCAAwC;YACxC,uEAAuE;YACvE,2EAA2E;YAC3E,2BAA2B;YAC3B,gEAAgE;YAChE,OAAO,CACH,oBAAoB,CAAC,YAAY,EAAE,YAAY,CAAC;gBAChD,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAC9G,CAAC;QACN,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACN,uBAAuB;YACvB,wEAAwE;YACxE,uCAAuC;YACvC,EAAE;YACF,uGAAuG;YACvG,EAAE;YACF,4FAA4F;YAC5F,iDAAiD;YACjD,IAAA,0BAAM,EAAC,OAAO,KAAK,mDAAiB,CAAC,oBAAoB,CAAC,CAAC;YAC3D,OAAO,CACH,mBAAmB,CAAC,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,eAAe,CAAC;gBAC/E,oBAAoB,CAAC,YAAY,EAAE,YAAY,CAAC;gBAChD,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAC9G,CAAC;QACN,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEpD,SAAS,iBAAiB,CAAC,aAA4B;IAClD,aAAa,CAAC,YAAoB,CAAC,eAAe,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5F,aAAqB,CAAC,WAAW,GAAG,CAAC,CAAE,aAAqB,CAAC,YAAY,CAAC,CAAC;AAChF,CAAC;AACD,SAAS,eAAe,CAAC,aAA4B;IACjD,IAAK,aAAqB,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,KAAM,aAAqB,CAAC,WAAW,EAAE,CAAC;YAC/C,QAAQ,CAAC,KAAK,EAAG,aAAqB,CAAC,WAAW,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;AACL,CAAC;AACD,SAAS,YAAY,CAAsB,YAAuB;IAC9D,IAAI,IAAI,CAAC,YAAY,KAAK,kBAAkB,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,CAAC,OAAO;IACxB,CAAC;IAED,iBAAiB;IACjB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,IAAI,CAAC,MAAM,YAAY,kDAAgB,EAAE,CAAC;QAC1C,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACJ,uEAAuE;QACvE,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,CAAC,0CAA0C;QAC3D,CAAC;QACD,OAAO,CAAC,IAAA,gCAAW,EAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAmC;IAC7D,IAAI,YAAY,YAAY,2DAAyB,EAAE,CAAC;QACpD,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,mCAAU,CAAC,cAAc,CACrD,YAAY,CAAC,KAAK,CAAC,UAAU,IAAI,oCAAW,CAAC,IAAI,EACjD,iBAAiB,CACpB,CAAC;IACN,CAAC;SAAM,IAAI,YAAY,YAAY,iCAAS,EAAE,CAAC;QAC3C,YAAY,CAAC,UAAU,GAAG,mCAAU,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,IAAI,oCAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACxH,CAAC;AACL,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,CAAC;AAqD5B,SAAS,iBAAiB,CAAC,CAAY,EAAE,CAAa;IAClD,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE7C,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IACrD,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,iCAAS,CAAC,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,kBAAkB;AAC5G;;;;;;;;GAQG;AACH,MAAa,aAAc,SAAQ,qBAAY;IAC3C,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,IAAI,CAAC,QAAiD;QAC7D,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,CAAC,QAAQ,GAAG,IAAI,2CAAc,EAAE,CAAC;IACvC,MAAM,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC,uCAAuC;IAC5E,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC,yCAAyC;IAChF,MAAM,CAAC,uBAAuB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW;IAE5D,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACtB,eAAe,CAAS;IACxB,QAAQ,CAAU;IAClB,YAAY,CAAY;IAG/B,eAAe,GAAmB,gDAAc,CAAC,OAAO,CAAC;IAEzD,IAAW,cAAc,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAErD,kBAAkB,CAAqB;IACvC,aAAa,CAAM;IACnB,MAAM,CAA0B;IAChC,aAAa,GAAG,IAAI,CAAC;IACrB,SAAS,GAAG,CAAC,CAAC;IACd,YAAY,CAAS;IACrB,aAAa,CAAiB;IAC9B,WAAW,CAA2B;IACtC,YAAY,GAAwB,IAAI,CAAC;IAExC,KAAK,CAA0C;IAChD,KAAK,CAAc;IAClB,iBAAiB,CAAS;IAC1B,YAAY,GAAG,KAAK,CAAC;IACrB,iCAAiC,CAAM;IACvC,2BAA2B,CAAM;IACjC,uBAAuB,CAAM;IAC7B,0BAA0B,CAAM;IAChC,0BAA0B,CAAM;IAChC,YAAY,CAAY;IACxB,uBAAuB,CAAe;IAE9C,YAAY,OAA6B;QACrC,KAAK,EAAE,CAAC;QAER,IAAA,0BAAM,EAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzE,IAAA,0BAAM,EAAC,CAAC,OAAO,CAAC,cAAc,EAAE,kEAAkE,CAAC,CAAC;QAEpG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,oBAAoB,CAAC;QAEtE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,UAAU;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE9B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,2BAA2B;QAE3E,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;QAEvC,qCAAqC;QACrC,IAAI,CAAC,eAAe,GAAG,gDAAc,CAAC,OAAO,CAAC;QAE9C,IAAI,CAAC,kBAAkB,GAAG,IAAA,gDAAwB,EAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAE/E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAE3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAE3B,iBAAiB;QACjB,IAAI,OAAO,EAAE,CAAC;YACV,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAEvC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEM,OAAO,CAAC,IAAsC;QACjD,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,iBAAiB,GAAI,IAAY,CAAC,gBAAgB,CAAC;QACxD,IAAI,CAAC,0BAA0B,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC5E,CAAC;IAEM,iBAAiB,CAAC,cAA8B;QAEnD,IAAI,cAAc,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,gBAAgB;YAChB,OAAO,oCAAW,CAAC,cAAc,CAAC;QACtC,CAAC;QACD,IAAI,cAAc,KAAK,gDAAc,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO,oCAAW,CAAC,kBAAkB,CAAC;QAC1C,CAAC;QACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;QAG/C,IAAI,cAAc,KAAK,gDAAc,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;YACtC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,8BAA8B;YAC9B,6EAA6E;YAC7E,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,cAAc,KAAK,gDAAc,CAAC,QAAQ,IAAI,cAAc,KAAK,gDAAc,CAAC,SAAS,EAAE,CAAC;YACnG,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;YAEtC,gCAAgC;YAChC,4FAA4F;YAC5F,kGAAkG;YAClG,iGAAiG;YACjG,qBAAqB;YACrB,MAAM,kBAAkB,GACpB,kBAAkB,KAAK,gDAAc,CAAC,OAAO,IAAI,kBAAkB,KAAK,gDAAc,CAAC,QAAQ,CAAC;YACpG,MAAM,mBAAmB,GAAG,kBAAkB,KAAK,gDAAc,CAAC,OAAO,CAAC;YAC1E,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,OAAO,oCAAW,CAAC,gBAAgB,CAAC;QACxC,CAAC;QAED,OAAO,oCAAW,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAEM,OAAO;QACV,iBAAiB;QACjB,IAAI,OAAO,EAAE,CAAC;YACV,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,KAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,IAAI,CAAC,KAAM,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAC3C,CAAC;QAED,kEAAkE;QAClE,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAE3B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAE/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;QAC9C,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;IAClD,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,CACH,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,OAAO,IAAI,CAAC,uBAAuB,KAAK,UAAU;YAClD,OAAO,IAAI,CAAC,2BAA2B,KAAK,UAAU,CACzD,CAAC;IACN,CAAC;IAEM,QAAQ;QACX,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,IAAI,2BAA2B,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;QACpE,GAAG,IAAI,2BAA2B,IAAI,CAAC,gBAAgB,KAAK,CAAC;QAC7D,GAAG,IAAI,2BAA2B,IAAI,CAAC,eAAe,KAAK,CAAC;QAC5D,OAAO,GAAG,CAAC;IACf,CAAC;IACD;;;;;;;;;;;;;;;;;;OAkBG;IACH,sDAAsD;IAC/C,WAAW,CAAC,SAAoB,EAAE,cAAwB,EAAE,UAAyB;QACxF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,sFAAsF;YACtF,iBAAiB;YACjB,OAAO,IAAI,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,2BAA2B,CAAC,CAAC;YAC9G,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,SAAS,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,QAAQ,CAAC,wDAAwD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,IAAA,0BAAM,EAAC,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,iCAAiC,CAAC,CAAC;QAEpG,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,IAAK,IAAI,CAAC,IAAY,CAAC,gBAAgB,KAAK,IAAI,CAAC,iBAAiB,CAAC;QAEvG,IAAI,CAAC,kBAAkB,IAAI,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YACrE,2DAA2D;YAC3D,sCAAsC;YACtC,IAAI,CAAC,uCAAY,CAAC,OAAO,CAAC,UAA6B,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtF,iBAAiB;gBACjB,OAAO,IAAI,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,+BAA+B,CAAC,CAAC;gBAClH,OAAO,KAAK,CAAC,CAAC,eAAe;YACjC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,SAAS,GAAG,IAAA,oCAAY,EAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEnE,iBAAiB;QACjB,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CACJ,2BAA2B,EAC3B,IAAI,CAAC,IAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC5B,IAAI,CAAC,IAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,EAChC,iBAAiB,EACjB,CAAC,IAAA,qCAAa,EAAC,SAAS,EAAE,IAAI,CAAC,YAAa,CAAC,EAC7C,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,CACrB,CAAC;QACN,CAAC;QAED,qFAAqF;QACrF,IAAI,kBAAkB,EAAE,CAAC;YACrB,QAAQ,CAAC,8CAA8C,CAAC,CAAC;YACzD,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,IAAmB,CAAC,gBAAgB,CAAC;YACpE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC/B,iBAAiB;YACjB,OAAO,IAAI,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,6BAA6B,CAAC,CAAC;YAC3G,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAEhG,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,CAAC,IAAA,qCAAa,EAAC,SAAS,EAAE,IAAI,CAAC,YAAa,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,iBAAiB;gBACjB,QAAQ;oBACJ,QAAQ,CACJ,0BAA0B,EAC1B,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAChC,2CAA2C,CAC9C,CAAC;gBACN,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YACzD,iBAAiB;YACjB,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,uBAAuB,CAAC,CAAC;gBAChG,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5D,QAAQ,CAAC,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAChH,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAChB,2EAA2E;YAC3E,+DAA+D;YAE/D,iBAAiB;YACjB,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACtD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,KAAK,kBAAkB,IAAI,IAAA,gCAAW,EAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpG,iBAAiB;gBACjB,OAAO;oBACH,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,uCAAuC,CAAC,CAAC;gBACpH,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,mBAAmB;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/B,iBAAiB;QACjB,OAAO,IAAI,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,WAAW,CAAC,qBAA6B;QAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC/E,CAAC;IACM,WAAW,CAAC,qBAA6B;QAC5C,IAAI,qBAAqB,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACjD,OAAO,oCAAW,CAAC,yBAAyB,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC1C,OAAO,oCAAW,CAAC,yBAAyB,CAAC,CAAC,gBAAgB;QAClE,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9C,OAAO,oCAAW,CAAC,IAAI,CAAC;IAC5B,CAAC;IACM,cAAc,CAAC,qBAA6B;QAC/C,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,qBAAqB,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACvE,OAAO,oCAAW,CAAC,yBAAyB,CAAC;QACjD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC;QAC9E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,OAAO,oCAAW,CAAC,yBAAyB,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,oCAAW,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD;;OAEG;IACK,kBAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,OAAO;QACX,CAAC;QACD,gFAAgF;QAChF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC1E,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvB,sCAAsC;gBACtC,SAAS;YACb,CAAC;YACD,IAAI,mBAAmB,CAAC,cAAc,KAAK,gDAAc,CAAC,QAAQ,EAAE,CAAC;gBACjE,SAAS;YACb,CAAC;YACD,IAAI,mBAAmB,CAAC,cAAc,KAAK,gDAAc,CAAC,SAAS,EAAE,CAAC;gBAClE,SAAS;YACb,CAAC;YACD,IAAA,0BAAM,EAAC,mBAAmB,CAAC,cAAc,KAAK,gDAAc,CAAC,QAAQ,CAAC,CAAC;YAEvE,iBAAiB;YACjB,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,wBAAwB,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClH,CAAC;YACD,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAED,IAAI,6BAA6B;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,KAAK,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5H,CAAC;IAED;;OAEG;IACK,OAAO;QACX,YAAY,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,IAAI,EAAE,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,uBAAuB,GAAI,EAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAwB,EAAE,aAAa,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,iCAAiC,CAAC,MAAM,GAAG,KAAK;QACnD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,KAAK,gDAAc,CAAC,QAAQ,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7F,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC;YACpD,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;YACzC,OAAO,cAAc,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,KAAK,gDAAc,CAAC,SAAS,EAAE,CAAC;YAC9D,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,0CAA0C;QAC1C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,IAAmB,CAAC,gBAAgB,EAAE,CAAC;YAC/G,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1D,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAChC,IAAA,0BAAM,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,IAAmB,CAAC,gBAAgB,CAAC;QACxE,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAEM,MAAM,CACT,kBAA6C,EAC7C,oBAAiD;QAEjD,IAAA,0BAAM,EAAC,oBAAoB,YAAY,sDAAoB,CAAC,CAAC;QAE7D,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEnD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC;QAExE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACxB,OAAO,IAAI,2DAAyB,CAAC;gBACjC,gBAAgB,EAAE,IAAI,CAAC,SAAS;gBAChC,uBAAuB,EAAE,IAAI,CAAC,gBAAgB;gBAC9C,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,oCAAW,CAAC,IAAI;aAC/B,CAAC,CAAC;QACP,CAAC;QACD,IAAI,oBAAoB,KAAK,CAAC,IAAI,oBAAoB,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC5E,oBAAoB,CAAC,gBAAgB,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC,mBAAmB;QACtG,CAAC;QAED,2GAA2G;QAC3G,6FAA6F;QAC7F,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QAE3C,IAAI,CAAC,qCAAqC,EAAE,CAAC;QAE7C,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QAE3C,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,gBAAgB,GAAG,IAAA,gCAAc,EAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAK,CAAC,CAAC;YACrG,IAAI,gBAAgB,CAAC,KAAK,CAAC,oCAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,OAAO,IAAI,2DAAyB,CAAC;oBACjC,UAAU,EAAE,gBAAgB;iBAC/B,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,kBAAkB;QAClB,4EAA4E;QAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,4CAA4C;QAEvE,OAAO,IAAI,2DAAyB,CAAC;YACjC,YAAY;YACZ,gBAAgB,EAAE,IAAI,CAAC,SAAS;YAChC,uBAAuB,EAAE,IAAI,CAAC,gBAAgB;YAC9C,UAAU,EAAE,oCAAW,CAAC,IAAI;SAC/B,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC3B,6GAA6G;QAC7G,qFAAqF;QACrF,6GAA6G;QAC7G,sCAAsC;QACtC,uFAAuF;QAEvF,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QAEvB,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,yCAAc,CAAC,cAAc,CAAC;QAEjF,iBAAiB;QACjB,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,uDAAuD;QACvD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAElC,MAAM,gBAAgB,GAClB,IAAI,CAAC,YAAY,KAAK,kBAAkB;YACpC,CAAC,CAAC,IAAI,CAAC,YAAY;YACnB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAEO,iBAAiB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,cAAc,GAAoB,OAAQ,CAAC,cAAc,CAAC;QAChE,OAAO,cAAc,CAAC;IAC1B,CAAC;IACD;;OAEG;IACK,kBAAkB;QACtB,IAAI,IAAI,CAAC,cAAc,KAAK,gDAAc,CAAC,QAAQ,EAAE,CAAC;YAClD,OAAO;QACX,CAAC;QAED,kDAAkD;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,yCAAc,CAAC,cAAc,CAAC;QAEjF,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,UAAU,CAAC,qCAAqC,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACvG,OAAO;QACX,CAAC;QACD,iBAAiB;QACjB,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CACJ,kCAAkC,EAClC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,EAChD,eAAe,EACf,IAAI,CAAC,YAAY,CACpB,CAAC;QACN,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAA,0BAAM,EAAC,IAAI,CAAC,cAAc,KAAK,gDAAc,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,gDAAc,CAAC,SAAS,CAAC,CAAC;YAE5G,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,gDAAgD;gBAChD,sEAAsE;gBACtE,uCAAuC;gBAEvC,8CAA8C;gBAC9C,MAAM,UAAU,GAAG,oCAAW,CAAC,YAAY,CAAC;gBAE5C,OAAO;YACX,CAAC;YACD,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,YAAY,EAAE,iDAAiD,CAAC,CAAC;YAE9E,iBAAiB;YACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,GAAiB,EAAE,YAAwB,EAAE,EAAE;gBAC5G,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACpB,6FAA6F;oBAC7F,wCAAwC;oBACxC,OAAO;gBACX,CAAC;gBACD,iBAAiB;gBACjB,IAAI,GAAG,EAAE,CAAC;oBACN,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACJ,iDAAiD;oBACjD,+EAA+E;oBAC/E,IAAI,CAAC,iBAAiB,CAAC,YAAa,CAAC,CAAC;oBACtC,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,oBAAoB;YACpB,QAAQ,CAAC,oEAAoE,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;IAEO,cAAc;QAClB,4CAA4C;QAC5C,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,iCAAiC,EAAE,CAAC;YACzC,IAAA,0BAAM,EAAC,OAAO,IAAI,CAAC,iCAAiC,KAAK,UAAU,CAAC,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC1E,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,IAAA,0BAAM,EAAC,OAAO,IAAI,CAAC,2BAA2B,KAAK,UAAU,CAAC,CAAC;YAE/D,MAAM,UAAU,GAAG,IAAA,iDAAsB,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACvE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,yDAAyD;YACzD,wDAAwD;YACxD,IAAA,0BAAM,EAAC,OAAO,IAAI,CAAC,uBAAuB,KAAK,UAAU,CAAC,CAAC;YAC3D,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE1B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACxE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,IAAA,0BAAM,EAAC,OAAO,IAAI,CAAC,0BAA0B,KAAK,UAAU,CAAC,CAAC;YAC9D,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC9E,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;QAED,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACpD,CAAC;IAEO,iBAAiB,CAAC,SAAoB,EAAE,UAAyB;QACrE,IAAA,0BAAM,EAAC,SAAS,YAAY,iCAAS,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAEO,oBAAoB;QACxB,MAAM,SAAS,GAAe,IAAI,CAAC,IAAoB,CAAC,SAAS,EAAE,CAAC;QACpE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEO,eAAe,CAAC,SAAqB;QACzC,0DAA0D;QAC1D,kDAAkD;QAClD,sCAAsC;QACtC,sEAAsE;QACtE,4EAA4E;QAC5E,uFAAuF;QACvF,2BAA2B;QAE3B,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,YAAY,uCAAW,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAAiB,SAAS,CAAC,gBAAgB,EAAE,YAA4B,CAAC;QAE5F,IAAI,CAAC,IAAA,mEAA8B,EAAC,YAAY,EAAE,yCAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;YACnH,OAAO;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAE,EAA+B,CAAC;QAE/G,MAAM,WAAW,GAAc,IAAA,8CAAkB,EAAC,yCAAc,CAAC,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAE3G,iBAAiB;QACjB,IAAI,OAAO,EAAE,CAAC;YACV,QAAQ,CAAC,iDAAiD,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC7D,WAAW,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC3B,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;IACvC,CAAC;IAEO,eAAe,CAAC,kBAA2B;QAC/C,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,CAAC,kCAAkC;QAC9C,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;QACvC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,qBAAqB,CAAC,cAA+B,EAAE,QAA8B;QACzF,oGAAoG;QACpG,cAAc;QACd,IAAA,0BAAM,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,KAAK,oCAAY,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAA,0BAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,iCAAS,CAAC,QAAQ,EAAE,CAAC;YAC9C,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAkB,CAAC;QACzC,IAAI,IAAI,CAAC,YAAY,IAAI,kBAAkB,EAAE,CAAC;YAC1C,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,GAAiB,EAAE,SAAqB,EAAE,EAAE;gBACjF,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACvC,iBAAiB;YACjB,IAAI,OAAO,EAAE,CAAC;gBACV,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IACO,gBAAgB,CAAC,kBAA4B;QACjD,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,OAAO,CAAC,kCAAkC;QAC9C,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,yCAAc,CAAC,cAAc,CAAC;QACjF,iBAAiB;QACjB,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,KAAK,oCAAY,CAAC,aAAa,EAAE,CAAC;YAChE,iBAAiB;YACjB,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjH,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC;gBAC1C,gCAAgC;gBAChC,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,iCAAS,CAAC,MAAM,EAAE,CAAC;oBACvD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAClE,CAAC;YACL,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,KAAK,oCAAY,CAAC,KAAK,EAAE,CAAC;YACxD,sDAAsD;YACtD,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sEAAsE;YAEjG,iDAAiD;YACjD,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACpC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrE,MAAM,UAAU,GAAG,IAAA,iDAAsB,EAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACzE,IAAI,CAAC,IAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC7E,CAAC;YAED,IAAI,kBAAkB,EAAE,CAAC;gBACrB,qBAAqB;gBACrB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC1F,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC9B,oFAAoF;YACpF,+CAA+C;YAC/C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAChC,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACzC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,iCAAS,CAAC,QAAQ,EAAE,CAAC;oBAC5C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAC5D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACtE,CAAC;YACL,CAAC;YAED,sBAAsB;YACtB,IAAI,kBAAkB,EAAE,CAAC;gBACrB,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC,GAAiB,EAAE,SAAqB,EAAE,EAAE;oBACpF,IAAI,GAAG,EAAE,CAAC;wBACN,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,CAAC;oBACD,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;wBACpB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC9C,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,kBAAkB,EAAE,CAAC;gBACrB,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC,GAAiB,EAAE,SAAqB,EAAE,EAAE;oBACpF,IAAI,GAAG,EAAE,CAAC;wBACN,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5B,CAAC;oBACD,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;wBACpB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBACtC,CAAC;oBACD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtB,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,CAAC;QACL,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,mBAAyC;QAC7D,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QAC1C,oDAAoD;QACpD,IAAI,mBAAmB,CAAC,YAAY,KAAK,CAAC,IAAI,mBAAmB,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YAC5F,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC;QACzD,CAAC;QAED,mGAAmG;QACnG,oGAAoG;QACpG,qGAAqG;QACrG,6FAA6F;QAC7F,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,iCAAS,CAAC,QAAQ,EAAE,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAkB,CAAC;YACzC,IAAI,CAAC,gBAAgB,GAAG,yBAAyB,CAC7C,mBAAmB,CAAC,gBAAgB,EACpC,QAAQ,CAAC,uBAAuB,IAAI,CAAC,CACxC,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,gBAAgB,GAAG,yBAAyB,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAEnE,gBAAgB;QAChB,IAAI,CAAC,MAAM,GAAI,mBAAmB,CAAC,MAA2B,IAAI,IAAI,CAAC;IAC3E,CAAC;IAEO,eAAe,CAAC,YAAiB;QACrC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAA,0BAAM,EAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,oCAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,mCAAU,CAAC,cAAc,CACrD,YAAY,CAAC,KAAK,CAAC,UAAU,EAC7B,8BAA8B,CACjC,CAAC;YACF,IAAA,0BAAM,EAAC,IAAA,sCAAc,EAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,oCAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACvF,IAAA,0BAAM,EAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC;YACnE,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,4BAA4B,EAAE,CAAC;QAC9E,CAAC;QACD,iCAAiC;IACrC,CAAC;IAEO,qBAAqB,CAAC,YAAuB;QACjD,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACvB,4EAA4E;YAC5E,uFAAuF;YACvF,sFAAsF;YACtF,mFAAmF;YACnF,yEAAyE;YACzE,0DAA0D;YAC1D,oBAAoB;YACpB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;YAC7B,IAAA,0BAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,0BAA0B;gBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE9B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAErB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,uBAAuB;oBAE3C,mBAAmB;oBACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAErB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;oBACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAA,0BAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IAEO,2BAA2B,CAAC,SAAoB;QACpD,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YAC/D,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;QACnD,kCAAkC;QAClC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,YAAY,kDAAgB,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,mDAAiB,CAAC,MAAM,EAAE,CAAC;gBACnD,MAAM;YACV,CAAC;QACL,CAAC;QACD,SAAS,GAAG,IAAA,wCAAgB,EAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAC9E,OAAO,IAAI,2DAAyB,CAAC;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,SAAS;SACnB,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,SAAoB;QACtC,iBAAiB;QACjB,OAAO,IAAI,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/D,yFAAyF;QACzF,OAAO,IAAI,IAAA,0BAAM,EAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,SAAS,CAAC,KAAK,YAAY,4BAAO,CAAC,CAAC;QAC3F,2DAA2D;QAC3D,iGAAiG;QACjG,OAAO,IAAI,IAAA,0BAAM,EAAC,SAAS,KAAK,IAAI,CAAC,YAAY,EAAE,4CAA4C,CAAC,CAAC;QAEjG,2DAA2D;QAC3D,iGAAiG;QACjG,IACI,CAAC,CACG,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK;YACxB,CAAC,SAAS,CAAC,KAAK;YAChB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,YAAY,MAAM,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAC1D;YACD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,YAAY,IAAI,CAAC,EAC1C,CAAC;YACC,MAAM,IAAI,KAAK,CACX,yDAAyD;gBACzD,IAAI,CAAC,IAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAChC,GAAG;gBACH,SAAS,CAAC,QAAQ,EAAE;gBACpB,IAAI;gBACJ,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAC3C,CAAC;QACN,CAAC;QAED,iBAAiB;QACjB,IAAI,OAAO,EAAE,CAAC;YACV,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC,IAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvE,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QACtC,iBAAiB;QACjB,IAAI,OAAO,EAAE,CAAC;YACV,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAEO,mBAAmB,CAAC,WAAkB;QAC1C,OAAO,IAAI,iCAAc,CAAC;YACtB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAEO,cAAc,CAAC,WAAkB;QACrC,iBAAiB;QACjB,IAAI,OAAO,EAAE,CAAC;YACV,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAEO,YAAY;QAChB,cAAc;QACd,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEO,YAAY;QAChB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAA,8BAAe,EAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACJ,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QACjC,CAAC;IACL,CAAC;IAEO,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,gCAAgC;YAChC,+BAA+B;YAC/B,OAAO;QACX,CAAC;QAED,IAAA,0BAAM,EAAC,IAAI,CAAC,gBAAgB,IAAI,aAAa,CAAC,uBAAuB,CAAC,CAAC;QACvE,IAAA,0BAAM,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1B,IAAI,cAAc,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,IAAA,4BAAa,EAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,2BAA2B;YAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;gBAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9B,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAEO,qCAAqC;QACzC,iCAAiC;QACjC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACJ,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACtD,oDAAoD;gBACpD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;YACpD,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,oBAAoB;YACpB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,2DAAyB,EAAE,CAAC;oBACrD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAA8B,CAAC;oBACtD,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;wBACpC,EAAE,CAAC,KAAK,CAAC,UAAkB,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBACvE,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAA,0BAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAEO,eAAe,CAAC,oBAA4B;QAChD,IAAI,oBAAoB,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,IAAc;QACpC,IAAI,CAAC,iBAAiB,CAClB,IAAI,iCAAS,CAAC;YACV,eAAe,EAAE,IAAI,IAAI,EAAE;YAC3B,UAAU,EAAE,oCAAW,CAAC,gBAAgB;SAC3C,CAAC,CACL,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAChE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAC3C,CAAC;;AArhCL,sCAshCC"}
1
+ {"version":3,"file":"monitored_item.js","sourceRoot":"","sources":["../source/monitored_item.ts"],"names":[],"mappings":"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"}