@toon-protocol/connector 1.8.0 → 1.8.1
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.
- package/dist/btp/inbound-claim-validator.d.ts.map +1 -1
- package/dist/btp/inbound-claim-validator.js.map +1 -1
- package/dist/core/connector-node.d.ts.map +1 -1
- package/dist/core/connector-node.js +31 -21
- package/dist/core/connector-node.js.map +1 -1
- package/dist/settlement/claim-receiver.d.ts +7 -1
- package/dist/settlement/claim-receiver.d.ts.map +1 -1
- package/dist/settlement/claim-receiver.js +12 -1
- package/dist/settlement/claim-receiver.js.map +1 -1
- package/dist/settlement/settlement-monitor.d.ts +8 -7
- package/dist/settlement/settlement-monitor.d.ts.map +1 -1
- package/dist/settlement/settlement-monitor.js +56 -87
- package/dist/settlement/settlement-monitor.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbound-claim-validator.d.ts","sourceRoot":"","sources":["../../src/btp/inbound-claim-validator.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAM9C,MAAM,MAAM,uBAAuB,GAAG,CACpC,YAAY,EAAE,eAAe,EAAE,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;AASrC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAG9B,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,cAAc;IAgB3B,QAAQ,CACZ,YAAY,EAAE,eAAe,EAAE,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"inbound-claim-validator.d.ts","sourceRoot":"","sources":["../../src/btp/inbound-claim-validator.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAM9C,MAAM,MAAM,uBAAuB,GAAG,CACpC,YAAY,EAAE,eAAe,EAAE,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;AASrC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAG9B,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,cAAc;IAgB3B,QAAQ,CACZ,YAAY,EAAE,eAAe,EAAE,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA+HlC,OAAO,CAAC,YAAY;CASrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbound-claim-validator.js","sourceRoot":"","sources":["../../src/btp/inbound-claim-validator.ts"],"names":[],"mappings":";;;AAeA,uDAA6E;AAG7E,kDAAiE;AAuBjE,MAAa,qBAAqB;IACf,MAAM,CAAS;IACf,iBAAiB,CAAoB;IACrC,cAAc,CAAkB;IAChC,MAAM,CAAS;IAEhC,YACE,iBAAoC,EACpC,MAAc,EACd,MAAc,EACd,cAA+B;QAE/B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAUD,KAAK,CAAC,QAAQ,CACZ,YAA+B,EAC/B,SAA2B,EAC3B,MAAc;QAGd,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,KAAK,EAAE,yBAAyB,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,EAChF,kDAAkD,CACnD,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"inbound-claim-validator.js","sourceRoot":"","sources":["../../src/btp/inbound-claim-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector-node.d.ts","sourceRoot":"","sources":["../../src/core/connector-node.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAI7D,OAAO,EACL,iBAAiB,EAIjB,gBAAgB,EAChB,eAAe,EAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EAEf,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAA+B,MAAM,mBAAmB,CAAC;AAchF,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"connector-node.d.ts","sourceRoot":"","sources":["../../src/core/connector-node.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAI7D,OAAO,EACL,iBAAiB,EAIjB,gBAAgB,EAChB,eAAe,EAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EAEf,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAA+B,MAAM,mBAAmB,CAAC;AAchF,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAuB/D,qBAAa,aAAc,YAAW,oBAAoB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,qBAAqB,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgD;IACjF,OAAO,CAAC,aAAa,CAAoD;IACzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,yBAAyB,CAAiB;IAMlD,IAAI,wBAAwB,IAAI,MAAM,CAErC;gBAQW,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM;IA0G5D,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI;IAqBnE,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAgDtD,iBAAiB,IAAI,cAAc;IA8CnC,UAAU,IAAI,OAAO;IAwBrB,YAAY,IAAI,OAAO;IAYjB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAiDjF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqrBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0H3B,eAAe,IAAI,YAAY;IA6B/B,IAAI,YAAY,IAAI,YAAY,CAE/B;IAMD,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAMD,IAAI,iBAAiB,IAAI,iBAAiB,GAAG,IAAI,CAEhD;IAMD,IAAI,cAAc,IAAI,cAAc,GAAG,IAAI,CAE1C;IAMD,IAAI,cAAc,IAAI,cAAc,GAAG,IAAI,CAE1C;IASD,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;YAUzD,6BAA6B;IA4F3C,OAAO,CAAC,mBAAmB;IA+ErB,YAAY,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2HhE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,GAAE,OAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkDzF,SAAS,IAAI,QAAQ,EAAE;IAqCjB,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAuC,GAC/C,OAAO,CAAC,kBAAkB,CAAC;IAyB9B,UAAU,IAAI,SAAS,EAAE;IAiBzB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAmChC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA0B3B,WAAW,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA6D5C,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;QAClD,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAgCF,OAAO,CAAC,sBAAsB;IA2D9B,eAAe,IAAI,iBAAiB,EAAE;CAGvC"}
|
|
@@ -18,6 +18,8 @@ const channel_manager_1 = require("../settlement/channel-manager");
|
|
|
18
18
|
const settlement_executor_1 = require("../settlement/settlement-executor");
|
|
19
19
|
const account_manager_1 = require("../settlement/account-manager");
|
|
20
20
|
const settlement_monitor_1 = require("../settlement/settlement-monitor");
|
|
21
|
+
const claim_receiver_1 = require("../settlement/claim-receiver");
|
|
22
|
+
const claim_receiver_db_schema_1 = require("../settlement/claim-receiver-db-schema");
|
|
21
23
|
const key_manager_1 = require("../security/key-manager");
|
|
22
24
|
const optional_require_1 = require("../utils/optional-require");
|
|
23
25
|
const tigerbeetle_client_1 = require("../settlement/tigerbeetle-client");
|
|
@@ -342,22 +344,18 @@ class ConnectorNode {
|
|
|
342
344
|
}
|
|
343
345
|
const peerIds = Array.from(peerIdToAddressMap.keys());
|
|
344
346
|
const settlementThreshold = BigInt(this._config.settlementInfra?.threshold ?? process.env.SETTLEMENT_THRESHOLD ?? '1000000');
|
|
345
|
-
const settlementPollingInterval = this._config.settlementInfra?.pollingIntervalMs ??
|
|
346
|
-
parseInt(process.env.SETTLEMENT_POLLING_INTERVAL ?? '30000', 10);
|
|
347
347
|
this._logger.info({
|
|
348
348
|
event: 'settlement_monitor_config',
|
|
349
349
|
peerIds,
|
|
350
350
|
threshold: settlementThreshold.toString(),
|
|
351
|
-
|
|
352
|
-
}, 'Initializing settlement monitor with peer list');
|
|
351
|
+
}, 'Initializing event-driven settlement monitor with peer list');
|
|
353
352
|
const settlementMonitor = new settlement_monitor_1.SettlementMonitor({
|
|
354
353
|
thresholds: {
|
|
355
354
|
defaultThreshold: settlementThreshold,
|
|
356
|
-
pollingInterval: settlementPollingInterval,
|
|
357
355
|
},
|
|
358
356
|
peers: peerIds,
|
|
359
357
|
tokenIds: [this._defaultSettlementTokenId],
|
|
360
|
-
},
|
|
358
|
+
}, this._logger);
|
|
361
359
|
this._settlementMonitor = settlementMonitor;
|
|
362
360
|
this._settlementExecutor = new settlement_executor_1.SettlementExecutor({
|
|
363
361
|
nodeId: this._config.nodeId,
|
|
@@ -374,21 +372,12 @@ class ConnectorNode {
|
|
|
374
372
|
}, accountManager, this._paymentChannelSDK, settlementMonitor, this._logger);
|
|
375
373
|
this._settlementExecutor.start();
|
|
376
374
|
this._logger.info({ event: 'settlement_executor_started' }, 'Automatic settlement execution enabled');
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
peerCount: peerIds.length,
|
|
384
|
-
pollingInterval: settlementPollingInterval,
|
|
385
|
-
}, 'Settlement threshold monitoring started');
|
|
386
|
-
}
|
|
387
|
-
catch (error) {
|
|
388
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
389
|
-
this._logger.error({ event: 'settlement_monitor_start_failed', error: errorMessage }, 'Failed to start settlement monitor');
|
|
390
|
-
}
|
|
391
|
-
}, 5000);
|
|
375
|
+
settlementMonitor.start();
|
|
376
|
+
this._logger.info({
|
|
377
|
+
event: 'settlement_monitor_started',
|
|
378
|
+
threshold: settlementThreshold.toString(),
|
|
379
|
+
peerCount: peerIds.length,
|
|
380
|
+
}, 'Event-driven settlement monitoring started');
|
|
392
381
|
this._channelManager = new channel_manager_1.ChannelManager({
|
|
393
382
|
nodeId: this._config.nodeId,
|
|
394
383
|
defaultSettlementTimeout,
|
|
@@ -432,6 +421,27 @@ class ConnectorNode {
|
|
|
432
421
|
const inboundClaimValidator = new inbound_claim_validator_1.InboundClaimValidator(this._paymentChannelSDK, this._config.nodeId, this._logger, this._channelManager ?? undefined);
|
|
433
422
|
this._btpServer.setInboundClaimValidator((protocolData, ilpPacket, peerId) => inboundClaimValidator.validate(protocolData, ilpPacket, peerId));
|
|
434
423
|
this._logger.info({ event: 'inbound_claim_validator_enabled' }, 'Inbound claim validator wired to BTP server');
|
|
424
|
+
if (this._paymentChannelSDK) {
|
|
425
|
+
try {
|
|
426
|
+
const BetterSqlite3Module = await (0, optional_require_1.requireOptional)('better-sqlite3', 'claim receiver persistence');
|
|
427
|
+
const BetterSqlite3 = BetterSqlite3Module.default;
|
|
428
|
+
const receivedClaimDbPath = `./data/received-claims-${this._config.nodeId}.db`;
|
|
429
|
+
const receivedClaimDb = new BetterSqlite3(receivedClaimDbPath);
|
|
430
|
+
(0, claim_receiver_db_schema_1.initializeClaimReceiverSchema)(receivedClaimDb);
|
|
431
|
+
const claimReceiver = new claim_receiver_1.ClaimReceiver(receivedClaimDb, this._paymentChannelSDK, this._logger, this._channelManager ?? undefined);
|
|
432
|
+
claimReceiver.registerWithBTPServer(this._btpServer);
|
|
433
|
+
if (this._settlementMonitor) {
|
|
434
|
+
this._settlementMonitor.setClaimReceiver(claimReceiver);
|
|
435
|
+
this._settlementMonitor.stop();
|
|
436
|
+
this._settlementMonitor.start();
|
|
437
|
+
}
|
|
438
|
+
this._logger.info({ event: 'claim_receiver_enabled' }, 'ClaimReceiver wired to BTP server and SettlementMonitor');
|
|
439
|
+
}
|
|
440
|
+
catch (error) {
|
|
441
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
442
|
+
this._logger.error({ event: 'claim_receiver_init_failed', error: errorMessage }, 'Failed to initialize ClaimReceiver');
|
|
443
|
+
}
|
|
444
|
+
}
|
|
435
445
|
if (accountManager) {
|
|
436
446
|
const settlementConfig = {
|
|
437
447
|
connectorFeePercentage: this._config.settlement?.connectorFeePercentage ?? 0.1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector-node.js","sourceRoot":"","sources":["../../src/core/connector-node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connector-node.js","sourceRoot":"","sources":["../../src/core/connector-node.ts"],"names":[],"mappings":";;;;AAMA,4DAAwD;AACxD,kEAA6D;AAC7D,kDAA8C;AAC9C,qDAAiD;AAEjD,kDAS+B;AAa/B,uDAAgF;AAChF,+CAI6B;AAC7B,iDAA6D;AAC7D,2DAIiC;AACjC,yDAAqD;AACrD,uDAAmD;AAEnD,2EAAsE;AACtE,mEAA+D;AAC/D,2EAAuE;AACvE,mEAA+D;AAC/D,yEAAqE;AACrE,iEAA6D;AAC7D,qFAAuF;AACvF,yDAAqD;AACrD,gEAA4D;AAC5D,yEAAqE;AACrE,mFAA6E;AAC7E,qFAA+E;AAC/E,iFAG8C;AAC9C,4EAAuE;AACvE,6BAAsC;AAEtC,8EAA6C;AAO7C,MAAa,aAAa;IACP,OAAO,CAAkB;IACzB,OAAO,CAAS;IAChB,aAAa,CAAe;IAC5B,iBAAiB,CAAmB;IACpC,cAAc,CAAgB;IAC9B,UAAU,CAAY;IACtB,aAAa,CAAe;IACrC,YAAY,GAAuB,IAAI,CAAC;IACxC,kBAAkB,GAA6B,IAAI,CAAC;IACpD,UAAU,GAAmC,IAAI,GAAG,EAAE,CAAC;IACvD,eAAe,GAA0B,IAAI,CAAC;IAC9C,eAAe,GAA0B,IAAI,CAAC;IAC9C,kBAAkB,GAA6B,IAAI,CAAC;IACpD,mBAAmB,GAA8B,IAAI,CAAC;IACtD,kBAAkB,GAA6B,IAAI,CAAC;IACpD,qBAAqB,GAAgC,IAAI,CAAC;IACjD,gBAAgB,GAAsC,IAAI,GAAG,EAAE,CAAC;IACzE,aAAa,GAAyC,UAAU,CAAC;IACxD,UAAU,GAAS,IAAI,IAAI,EAAE,CAAC;IACvC,iBAAiB,GAAY,KAAK,CAAC;IACnC,yBAAyB,GAAW,KAAK,CAAC;IAMlD,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAQD,YAAY,MAAgC,EAAE,MAAc;QAE1D,IAAI,cAA+B,CAAC;QACpC,IAAI,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,cAAc,GAAG,4BAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,4BAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,kCAAkB,EAAE,CAAC;gBACxC,MAAM,UAAU,GACd,OAAO,MAAM,KAAK,QAAQ;oBACxB,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;oBACzE,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9E,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;gBACzD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3F,MAAM,gBAAgB,GACpB,OAAO,MAAM,KAAK,QAAQ;YACxB,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE;YAC7E,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC;QAClF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,mCAAmC,CAAC,CAAC;QAGzE,MAAM,mBAAmB,GAAwB,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrF,MAAM,EAAE,KAAK,CAAC,MAAoB;YAClC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC,CAAC;QAGJ,IAAI,CAAC,aAAa,GAAG,IAAI,4BAAY,CACnC,mBAAmB,EACnB,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAC5C,CAAC;QAGF,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAgB,CAC3C,cAAc,CAAC,MAAM,EACrB,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAChD,CAAC;QAGF,IAAI,CAAC,cAAc,GAAG,IAAI,8BAAa,CACrC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,iBAAiB,EACtB,cAAc,CAAC,MAAM,EACrB,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAC7C,CAAC;QAGF,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAG/F,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAGlD,MAAM,oBAAoB,GACxB,cAAc,CAAC,aAAa,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM,CAAC;QACzF,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,mBAAmB,GAAG;gBAC1B,OAAO,EAAE,IAAI;gBACb,UAAU,EACR,cAAc,CAAC,aAAa,EAAE,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE;gBAClF,OAAO,EACL,cAAc,CAAC,aAAa,EAAE,OAAO;oBACrC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,EAAE,EAAE,CAAC;gBAC7D,SAAS,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB;gBAC3F,kBAAkB,EAChB,cAAc,CAAC,aAAa,EAAE,kBAAkB;oBAChD,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,MAAM;aAC7D,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAC5D,CAAC;QAGD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAG7D,IAAI,CAAC,aAAa,GAAG,IAAI,4BAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAEzF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;YACE,KAAK,EAAE,uBAAuB;YAC9B,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM;YACvC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM;SAC1C,EACD,4BAA4B,CAC7B,CAAC;IACJ,CAAC;IASD,uBAAuB,CAAC,OAAoC;QAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,EAAE,EACrE,OAAO;YACL,CAAC,CAAC,4CAA4C;YAC9C,CAAC,CAAC,yCAAyC,CAC9C,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAaD,gBAAgB,CAAC,OAA8B;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,EAAE,EAC7D,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,wBAAwB,CACjE,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,IAAA,6CAA2B,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAqCD,iBAAiB;QAEf,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACrC,CAAC;QAGD,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;QAG5D,IAAI,gBAAgB,IAAI,WAAW,EAAE,CAAC;YACpC,OAAO,YAAY,CAAC;QACtB,CAAC;QAGD,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,UAAU,CAAC;QACpB,CAAC;QAID,OAAO,UAAU,CAAC;IACpB,CAAC;IAuBD,UAAU;QACR,OAAO,IAAI,CAAC,iBAAiB,EAAE,KAAK,UAAU,CAAC;IACjD,CAAC;IAsBD,YAAY;QACV,OAAO,IAAI,CAAC,iBAAiB,EAAE,KAAK,YAAY,CAAC;IACnD,CAAC;IAUD,KAAK,CAAC,UAAU,CAAC,MAAwB;QACvC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,wCAAwB,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAqB;YAC/B,IAAI,EAAE,mBAAU,CAAC,OAAO;YACxB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACrC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;YACE,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAChC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;SAC1C,EACD,+BAA+B,CAChC,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,EACD,iCAAiC,CAClC,CAAC;YACF,OAAO;gBACL,IAAI,EAAE,mBAAU,CAAC,MAAM;gBACvB,IAAI,EAAE,qBAAY,CAAC,kBAAkB;gBACrC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAChC,OAAO,EAAE,0BAA0B;gBACnC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACH,CAAC;QACvB,CAAC;IACH,CAAC;IAMD,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;YACE,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;YACrC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;SACxC,EACD,yBAAyB,CAC1B,CAAC;QAEF,IAAI,CAAC;YAGH,MAAM,iBAAiB,GACrB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,CAAC;YACrF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YACvF,MAAM,eAAe,GACnB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACtF,MAAM,eAAe,GACnB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAC9E,MAAM,kBAAkB,GACtB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAEnF,IACE,iBAAiB;gBACjB,UAAU;gBACV,eAAe;gBACf,eAAe;gBACf,kBAAkB,EAClB,CAAC;gBACD,IAAI,CAAC;oBAGH,MAAM,UAAU,GAAG,IAAI,wBAAU,CAC/B;wBACE,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;wBAC3B,aAAa,EAAE,kBAAkB;qBAClC,EACD,IAAI,CAAC,OAAO,CACb,CAAC;oBAGF,MAAM,QAAQ,GAAG,KAAK,CAAC;oBAGvB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,kCAAe,EACtC,QAAQ,EACR,gBAAgB,CACjB,CAAC;oBACF,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBACxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAiB,CAC7C,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,eAAe,EACf,IAAI,CAAC,OAAO,CACb,CAAC;oBAGF,IAAI,CAAC;wBACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;wBACrF,IAAI,cAAc,EAAE,CAAC;4BACnB,IAAI,CAAC,yBAAyB,GAAG,cAAc,CAAC;4BAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gCACE,KAAK,EAAE,uBAAuB;gCAC9B,MAAM,EAAE,cAAc;gCACtB,YAAY,EAAE,eAAe;6BAC9B,EACD,mCAAmC,cAAc,EAAE,CACpD,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,EAC9D,4DAA4D,CAC7D,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;4BACE,KAAK,EAAE,gCAAgC;4BACvC,YAAY,EAAE,eAAe;4BAC7B,KAAK,EAAE,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;yBAChF,EACD,8DAA8D,CAC/D,CAAC;oBACJ,CAAC;oBAGD,MAAM,cAAc,GAClB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC;oBACvF,IAAI,cAAc,EAAE,CAAC;wBACnB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBAC/D,CAAC;oBAGD,MAAM,aAAa,GAGd,EAAE,CAAC;oBACR,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;wBAC3E,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7E,CAAC;oBACD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;wBACnF,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACrF,CAAC;oBAED,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;wBAElC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC9C,SAAS;wBACX,CAAC;wBAGD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;wBACxC,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,IAAI,eAAe,CAAC;wBAC7E,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,kBAAkB,CAAC;wBAGtE,MAAM,eAAe,GACnB,eAAe,KAAK,kBAAkB;4BACpC,CAAC,CAAC,IAAI,wBAAU,CACZ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,EAC/E,IAAI,CAAC,OAAO,CACb;4BACH,CAAC,CAAC,UAAU,CAAC;wBAEjB,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;wBAC9D,MAAM,QAAQ,GAAG,IAAI,uCAAiB,CACpC,aAAa,EACb,eAAe,EACf,QAAQ,EACR,oBAAoB,EACpB,IAAI,CAAC,OAAO,CACb,CAAC;wBACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBAEpD,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;4BACE,KAAK,EAAE,uBAAuB;4BAC9B,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;4BAC7B,MAAM,EAAE,WAAW;yBACpB,EACD,qCAAqC,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CACrF,CAAC;oBACJ,CAAC;oBAGD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;oBACrD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BACpB,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;4BACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAC7C,qCAAqC,CACtC,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAID,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;wBACxD,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;wBAC1B,IAAI,WAAW,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;4BACnD,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;4BAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAChC,iDAAiD,CAClD,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAGD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;oBAClD,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;oBACrE,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;oBAGtD,MAAM,wBAAwB,GAC5B,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,qBAAqB,IAAI,KAAK,CAAC;oBAC/D,MAAM,wBAAwB,GAC5B,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,wBAAwB;wBACtD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;oBAI9D,IAAI,cAA8B,CAAC;oBACnC,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;oBAChE,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAE7D,IAAI,oBAAoB,IAAI,mBAAmB,EAAE,CAAC;wBAChD,IAAI,CAAC;4BAEH,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4BACzE,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gCAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gCAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;gCAEhC,IAAI,sCAAsC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oCAC1D,OAAO,IAAI,CAAC;gCACd,CAAC;gCAED,IAAI,CAAC;oCACH,MAAM,MAAM,GAAG,MAAM,cAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oCAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,EAC1C,qCAAqC,CACtC,CAAC;oCACF,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gCACrC,CAAC;gCAAC,OAAO,QAAQ,EAAE,CAAC;oCAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EACvC,qDAAqD,CACtD,CAAC;oCACF,OAAO,IAAI,CAAC;gCACd,CAAC;4BACH,CAAC,CAAC,CACH,CAAC;4BAGF,MAAM,kBAAkB,GAAG,QAAQ,CACjC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,OAAO,EACpD,EAAE,CACH,CAAC;4BACF,MAAM,iBAAiB,GAAG,IAAI,sCAAiB,CAC7C;gCACE,SAAS,EAAE,QAAQ,CAAC,oBAAoB,EAAE,EAAE,CAAC;gCAC7C,gBAAgB,EAAE,iBAAiB;gCACnC,iBAAiB,EAAE,IAAI;gCACvB,gBAAgB,EAAE,kBAAkB;6BACrC,EACD,IAAI,CAAC,OAAO,CACb,CAAC;4BAGF,MAAM,iBAAiB,CAAC,UAAU,EAAE,CAAC;4BACrC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;4BAG5C,cAAc,GAAG,IAAI,gCAAc,CACjC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAC/B,iBAAiB,EACjB,IAAI,CAAC,OAAO,CACb,CAAC;4BAEF,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;4BAEtC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gCACE,KAAK,EAAE,yCAAyC;gCAChD,SAAS,EAAE,oBAAoB;gCAC/B,QAAQ,EAAE,mBAAmB;6BAC9B,EACD,6CAA6C,oBAAoB,eAAe,mBAAmB,GAAG,CACvG,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAEf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gCACE,KAAK,EAAE,yBAAyB;gCAChC,KAAK,EAAE,YAAY;gCACnB,SAAS,EAAE,oBAAoB;gCAC/B,QAAQ,EAAE,mBAAmB;6BAC9B,EACD,2DAA2D,CAC5D,CAAC;4BAEF,cAAc,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;4BAC5D,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;wBACxC,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,4BAA4B,EAAE,EACvC,6GAA6G,CAC9G,CAAC;wBAEF,cAAc,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;wBAC5D,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;oBACxC,CAAC;oBAID,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;oBAKtD,MAAM,mBAAmB,GAAG,MAAM,CAChC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,SAAS,CACzF,CAAC;oBAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;wBACE,KAAK,EAAE,2BAA2B;wBAClC,OAAO;wBACP,SAAS,EAAE,mBAAmB,CAAC,QAAQ,EAAE;qBAC1C,EACD,6DAA6D,CAC9D,CAAC;oBAEF,MAAM,iBAAiB,GAAG,IAAI,sCAAiB,CAC7C;wBACE,UAAU,EAAE;4BACV,gBAAgB,EAAE,mBAAmB;yBACtC;wBACD,KAAK,EAAE,OAAO;wBACd,QAAQ,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;qBAC3C,EACD,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;oBAE5C,IAAI,CAAC,mBAAmB,GAAG,IAAI,wCAAkB,CAC/C;wBACE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;wBAC3B,wBAAwB;wBACxB,wBAAwB;wBACxB,mBAAmB,EAAE,GAAG;wBACxB,UAAU,EAAE,CAAC;wBACb,YAAY,EAAE,IAAI;wBAClB,eAAe;wBACf,kBAAkB;wBAClB,eAAe;wBACf,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,kBAAkB;qBAC/B,EACD,cAAc,EACd,IAAI,CAAC,kBAAkB,EACvB,iBAAiB,EACjB,IAAI,CAAC,OAAO,CACb,CAAC;oBAGF,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;oBACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,6BAA6B,EAAE,EACxC,wCAAwC,CACzC,CAAC;oBAIF,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;wBACE,KAAK,EAAE,4BAA4B;wBACnC,SAAS,EAAE,mBAAmB,CAAC,QAAQ,EAAE;wBACzC,SAAS,EAAE,OAAO,CAAC,MAAM;qBAC1B,EACD,4CAA4C,CAC7C,CAAC;oBAEF,IAAI,CAAC,eAAe,GAAG,IAAI,gCAAc,CACvC;wBACE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;wBAC3B,wBAAwB;wBACxB,wBAAwB;wBACxB,oBAAoB,EAAE,KAAK;wBAC3B,mBAAmB,EAAE,GAAG;wBACxB,iBAAiB,EAAE,IAAI;wBACvB,eAAe;wBACf,kBAAkB;wBAClB,eAAe;wBACf,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,kBAAkB;qBAC/B,EACD,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,OAAO,CACb,CAAC;oBAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;wBACE,KAAK,EAAE,iCAAiC;wBACxC,eAAe;wBACf,YAAY,EAAE,eAAe;wBAC7B,SAAS,EAAE,kBAAkB,CAAC,IAAI;qBACnC,EACD,4CAA4C,CAC7C,CAAC;oBAGF,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACpD,IAAI,CAAC;4BACH,MAAM,mBAAmB,GAAG,MAAM,IAAA,kCAAe,EAE9C,gBAAgB,EAAE,+BAA+B,CAAC,CAAC;4BACtD,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC;4BAElD,MAAM,WAAW,GAAG,iBAAiB,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;4BAC9D,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;4BAC/C,OAAO,CAAC,IAAI,CAAC,iDAAwB,CAAC,CAAC;4BACvC,KAAK,MAAM,QAAQ,IAAI,4CAAmB,EAAE,CAAC;gCAC3C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACzB,CAAC;4BAED,MAAM,qBAAqB,GAAG,IAAI,gDAAqB,CACrD,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,eAAe,EACpB,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,CAAC,MAAM,CACpB,CAAC;4BACF,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;4BACpE,IAAI,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;4BAE1E,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,2BAA2B,EAAE,EACtC,wEAAwE,CACzE,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,KAAK,EAAE,+BAA+B,EAAE,KAAK,EAAE,YAAY,EAAE,EAC/D,+CAA+C,CAChD,CAAC;4BACF,MAAM,KAAK,CAAC;wBACd,CAAC;oBACH,CAAC;oBAKD,MAAM,qBAAqB,GAAG,IAAI,+CAAqB,CACrD,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,eAAe,IAAI,SAAS,CAClC,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAC3E,qBAAqB,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAChE,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAC5C,6CAA6C,CAC9C,CAAC;oBAKF,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC5B,IAAI,CAAC;4BACH,MAAM,mBAAmB,GAAG,MAAM,IAAA,kCAAe,EAE9C,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;4BACnD,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC;4BAElD,MAAM,mBAAmB,GAAG,0BAA0B,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;4BAC/E,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,mBAAmB,CAAC,CAAC;4BAC/D,IAAA,wDAA6B,EAAC,eAAe,CAAC,CAAC;4BAE/C,MAAM,aAAa,GAAG,IAAI,8BAAa,CACrC,eAAe,EACf,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,eAAe,IAAI,SAAS,CAClC,CAAC;4BAGF,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BAGrD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gCAC5B,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gCAExD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;gCAC/B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;4BAClC,CAAC;4BAED,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,wBAAwB,EAAE,EACnC,yDAAyD,CAC1D,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,YAAY,EAAE,EAC5D,oCAAoC,CACrC,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAGD,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,gBAAgB,GAAqB;4BACzC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,sBAAsB,IAAI,GAAG;4BAC9E,gBAAgB,EAAE,iBAAiB;4BACnC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;4BACnF,mBAAmB,EAAE,mBAAmB;gCACtC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gCACrD,CAAC,CAAC,EAAE;yBACP,CAAC;wBAEF,IAAI,CAAC,cAAc,CAAC,aAAa,CAC/B,cAAc,EACd,gBAAgB,EAChB,IAAI,CAAC,yBAAyB,CAC/B,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAEf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,KAAK,EAAE,6BAA6B,EAAE,KAAK,EAAE,YAAY,EAAE,EAC7D,4FAA4F,CAC7F,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,2BAA2B,EAAE,EACtC,iEAAiE,CAClE,CAAC;YACJ,CAAC;YAGD,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACxD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,KAAK,EAAE,oBAAoB;gBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;aACjC,EACD,oBAAoB,CACrB,CAAC;YAGF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;YAC7D,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,eAAe;aACtB,EACD,uBAAuB,CACxB,CAAC;YAGF,MAAM,eAAe,GACnB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC;YAC7E,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG;oBAClB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,EAAE,EAAE,CAAC;oBACvF,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,SAAS;oBAC5E,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;iBACnE,CAAC;gBAEF,IAAI,CAAC,YAAY,GAAG,IAAI,0BAAW,CAAC;oBAClC,YAAY,EAAE,IAAI,CAAC,aAAa;oBAChC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;oBACxC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAC3B,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,eAAe,EAAE,IAAI,CAAC,gBAAgB;oBACtC,cAAc,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;oBACjD,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,IAAI,SAAS;oBACvD,cAAc,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;oBACjD,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,IAAI,SAAS;oBACvD,wBAAwB,EAAE,IAAI,CAAC,yBAAyB;oBACxD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBACjD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB;iBACtC,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,gBAAgB,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM;iBACvC,EACD,0BAA0B,CAC3B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAC/B,oFAAoF,CACrF,CAAC;YACJ,CAAC;YAID,MAAM,eAAe,GAAoB,EAAE,CAAC;YAC5C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAS;oBACjB,EAAE,EAAE,UAAU,CAAC,EAAE;oBACjB,GAAG,EAAE,UAAU,CAAC,GAAG;oBACnB,SAAS,EAAE,UAAU,CAAC,SAAS;oBAC/B,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,IAAI,IAAI,EAAE;iBACrB,CAAC;gBACF,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC;YAID,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YACvE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;oBACE,KAAK,EAAE,0BAA0B;oBACjC,WAAW,EAAE,WAAW,CAAC,MAAM;oBAC/B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;iBACtC,EACD,wEAAwE,CACzE,CAAC;YACJ,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YAC9D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAGlF,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,2BAA2B,EAAE,cAAc,EAAE,EACtD,+CAA+C,CAChD,CAAC;gBAEF,MAAM,uBAAuB,GAAoB,EAAE,CAAC;gBACpD,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,SAAS;oBACX,CAAC;oBAGD,MAAM,cAAc,GAAG,CAAC,KAAK,IAAI,EAAE;wBACjC,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC;4BAC/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAgB,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;4BACnF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE,EACrD,gCAAgC,CACjC,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAEf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,iCAAiC,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EACzE,kEAAkE,CACnE,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC,EAAE,CAAC;oBAEL,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/C,CAAC;gBAGD,MAAM,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;gBAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,8BAA8B,EAAE,EACzC,oCAAoC,CACrC,CAAC;YACJ,CAAC;YAGD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3B,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,KAAK,EAAE,iBAAiB;gBACxB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,cAAc,EAAE,cAAc;gBAC9B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;gBACrC,YAAY,EAAE,IAAI,CAAC,aAAa;aACjC,EACD,sBAAsB,CACvB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,KAAK,EAAE,YAAY;aACpB,EACD,gCAAgC,CACjC,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;YACjC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAMD,KAAK,CAAC,IAAI;QAER,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,KAAK,EAAE,2BAA2B,EAAE,EACtC,qCAAqC,CACtC,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;YACE,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAC5B,EACD,yBAAyB,CAC1B,CAAC;QAEF,IAAI,CAAC;YAGH,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,4BAA4B,CAAC,CAAC;gBACzF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACjC,CAAC;YAID,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,6BAA6B,CAAC,CAAC;gBAC3F,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAClC,CAAC;YAGD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,yBAAyB,CAAC,CAAC;gBACnF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC;YAGD,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvD,GAAG,CAAC,kBAAkB,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,EACvC,+BAA+B,OAAO,GAAG,CAC1C,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAGxB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAE5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,6BAA6B,CAAC,CAAC;gBAC3F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACjC,CAAC;YAGD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE,2BAA2B,CAAC,CAAC;gBACvF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACjC,CAAC;YAGD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,gCAAgC,CAAC,CAAC;gBAC1F,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAG5B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;YACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YAGD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,0BAA0B,CAAC,CAAC;gBACjF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC;YAGD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAGhC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAE7B,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,EACD,wBAAwB,CACzB,CAAC;YAEF,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,KAAK,EAAE,YAAY;aACpB,EACD,0CAA0C,CAC3C,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAMD,eAAe;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAE3E,MAAM,YAAY,GAAiB;YACjC,MAAM,EAAE,IAAI,CAAC,aAAa;YAC1B,MAAM;YACN,cAAc;YACd,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,OAAO,EAAE,sBAAW,CAAC,OAAO;SAC7B,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;IAYD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAMD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAMD,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAMD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAMD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IASD,4BAA4B,CAAC,OAAe;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAQO,KAAK,CAAC,6BAA6B;QACzC,MAAM,YAAY,GAChB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,kBAAkB;YAChD,OAAO,CAAC,GAAG,CAAC,oBAAoB;YAChC,6BAA6B,CAAC;QAChC,MAAM,iBAAiB,GACrB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,uBAAuB;YACrD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;QAElE,IAAI,cAAoC,CAAC;QAEzC,IAAI,CAAC;YAEH,cAAc,GAAG,IAAI,8CAAoB,CACvC;gBACE,YAAY;gBACZ,iBAAiB;aAClB,EACD,IAAI,CAAC,OAAO,CACb,CAAC;YAGF,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;YAElC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,KAAK,EAAE,8BAA8B;gBACrC,YAAY;gBACZ,iBAAiB;aAClB,EACD,mDAAmD,YAAY,GAAG,CACnE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,KAAK,EAAE,0CAA0C;gBACjD,KAAK,EAAE,YAAY;gBACnB,YAAY;aACb,EACD,uEAAuE,CACxE,CAAC;YAEF,IAAI,CAAC;gBAEH,cAAc,GAAG,IAAI,8CAAoB,CACvC;oBACE,YAAY,EAAE,GAAG,YAAY,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE;oBACnD,iBAAiB;iBAClB,EACD,IAAI,CAAC,OAAO,CACb,CAAC;gBAEF,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;gBAElC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;oBACE,KAAK,EAAE,8BAA8B;oBACrC,YAAY;iBACb,EACD,2CAA2C,CAC5C,CAAC;YACJ,CAAC;YAAC,OAAO,cAAc,EAAE,CAAC;gBAGxB,MAAM,iBAAiB,GACrB,cAAc,YAAY,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACpF,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB;oBACE,KAAK,EAAE,oCAAoC;oBAC3C,KAAK,EAAE,iBAAiB;iBACzB,EACD,wDAAwD,CACzD,CAAC;gBACF,MAAM,cAAc,CAAC;YACvB,CAAC;QACH,CAAC;QAGD,IAAI,CAAC,qBAAqB,GAAG,cAAc,CAAC;QAE5C,MAAM,cAAc,GAAG,IAAI,gCAAc,CACvC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAC/B,cAAc,EACd,IAAI,CAAC,OAAO,CACb,CAAC;QAEF,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,mBAAmB;QAEzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,SAAS,EAAE,IAAI,CAAC,aAAa;oBAC7B,SAAS,EAAE,UAAU;oBACrB,MAAM,EAAE,wBAAwB;iBACjC,EACD,uBAAuB,CACxB,CAAC;gBACF,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;YAClC,CAAC;YACD,OAAO;QACT,CAAC;QAGD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC7C,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,SAAS,EAAE,IAAI,CAAC,aAAa;oBAC7B,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,uCAAuC;iBAChD,EACD,uBAAuB,CACxB,CAAC;gBACF,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YACjC,CAAC;YACD,OAAO;QACT,CAAC;QAGD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC9E,MAAM,oBAAoB,GAAG,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;QAGjE,IAAI,SAA+C,CAAC;QACpD,IAAI,MAAc,CAAC;QAEnB,IAAI,oBAAoB,GAAG,EAAE,EAAE,CAAC;YAC9B,SAAS,GAAG,WAAW,CAAC;YACxB,MAAM,GAAG,QAAQ,cAAc,IAAI,UAAU,yBAAyB,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,SAAS,CAAC;YACtB,MAAM,GAAG,GAAG,cAAc,IAAI,UAAU,yBAAyB,CAAC;QACpE,CAAC;QAGD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,EACpF,uBAAuB,CACxB,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;IACH,CAAC;IAkBD,KAAK,CAAC,YAAY,CAAC,MAA+B;QAChD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,wCAAwB,CAChC,+DAA+D,CAChE,CAAC;QACJ,CAAC;QAGD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IACE,MAAM,CAAC,SAAS,KAAK,SAAS;YAC9B,MAAM,CAAC,SAAS,KAAK,IAAI;YACzB,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EACpC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAGD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAGD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACtD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBACD,IAAI,CAAC,IAAA,0BAAiB,EAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAGD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,IAAA,oCAAwB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpE,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAGD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAGnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,GAAS;gBACjB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,IAAI,IAAI,EAAE;aACrB,CAAC;YACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,EAChE,oBAAoB,MAAM,CAAC,EAAE,EAAE,CAChC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EACjD,wBAAwB,MAAM,CAAC,EAAE,EAAE,CACpC,CAAC;QACJ,CAAC;QAGD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAoB,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,EAClE,gBAAgB,KAAK,CAAC,MAAM,OAAO,MAAM,CAAC,EAAE,EAAE,CAC/C,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrF,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,QAAQ,GAAa;YACzB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,SAAS;YACT,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7C,UAAU,EAAE,UAAU,CAAC,MAAM;SAC9B,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,CAAC,UAAU,GAAG;gBACpB,UAAU,EAAE,UAAU,CAAC,oBAAoB;gBAC3C,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,OAAO,EAAE,UAAU,CAAC,OAAO;aAC5B,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAYD,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,eAAwB,IAAI;QAC3D,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,wCAAwB,CAChC,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAGD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;QAC1D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QAGD,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,iBAAiB,MAAM,EAAE,CAAC,CAAC;QAGhF,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,2BAA2B,EAAE,MAAM,EAAE,EAC9C,uCAAuC,MAAM,EAAE,CAChD,CAAC;QACJ,CAAC;QAGD,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;oBAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC7C,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAChD,kBAAkB,KAAK,CAAC,MAAM,EAAE,CACjC,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;IAQD,SAAS;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAEjD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAa;gBACzB,EAAE,EAAE,MAAM;gBACV,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK;gBAC1C,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7C,UAAU,EAAE,UAAU,CAAC,MAAM;aAC9B,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,UAAU,EAAE,CAAC;gBACf,QAAQ,CAAC,UAAU,GAAG;oBACpB,UAAU,EAAE,UAAU,CAAC,oBAAoB;oBAC3C,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,OAAO,EAAE,UAAU,CAAC,OAAO;iBAC5B,CAAC;YACJ,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAWD,KAAK,CAAC,UAAU,CACd,MAAc,EACd,UAAkB,IAAI,CAAC,yBAAyB;QAEhD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO;YACL,MAAM;YACN,QAAQ,EAAE;gBACR;oBACE,OAAO;oBACP,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;oBAC7C,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE;oBAC/C,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC;IAQD,UAAU;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAUD,QAAQ,CAAC,KAAgB;QAEvB,IAAI,CAAC,IAAA,0BAAiB,EAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;QAGD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAGD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;QAC1D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAChF,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAoB,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAE5F,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EACtE,gBAAgB,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,OAAO,EAAE,CACnD,CAAC;IACJ,CAAC;IASD,WAAW,CAAC,MAAc;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAoB,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,kBAAkB,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IAiBD,KAAK,CAAC,WAAW,CAAC,MAQjB;QACC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,wCAAwB,CAChC,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAGD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;QAC1D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,CAAC,MAAM,8CAA8C,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC;QAGxC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;QAC/F,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,mCAAmC,MAAM,CAAC,MAAM,eAAe,OAAO,aAAa,MAAM,CAAC,KAAK,EAAE,CAClG,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;YACvF,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,GAAG,CAAC;YACpD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW;SACZ,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAsB,EAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5F,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,EAClF,+BAA+B,CAChC,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAYD,KAAK,CAAC,eAAe,CAAC,SAAiB;QAKrC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,wCAAwB,CAChC,kEAAkE,CACnE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,MAAM,EAAE,IAAA,8BAAsB,EAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAI/C;YACb,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC;IACJ,CAAC;IAOO,sBAAsB,CAC5B,MAAc,EACd,CAAwB,EACxB,MAAgE,EAChE,QAAiB;QAEjB,MAAM,UAAU,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAGxE,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACnB,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,CAAC,UAAU;gBAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAyB;YACtC,MAAM;YACN,OAAO,EAAE,UAAU;YACnB,oBAAoB,EAAE,CAAC,CAAC,UAAU;YAClC,gBAAgB;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;YAC1C,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,cAAc,EAAE,CAAC,CAAC,cAAc;SACjC,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAyB,EAAE,GAAG,cAAc,EAAE,CAAC;gBACjE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACvB,YAAmD,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACpE,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,EACvE,sCAAsC,MAAM,EAAE,CAC/C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,EAAE,KAAK,EAAE,yBAAyB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,EACtE,qCAAqC,MAAM,EAAE,CAC9C,CAAC;QACJ,CAAC;IACH,CAAC;IAMD,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;CACF;AAt2DD,sCAs2DC"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
1
2
|
import type { Database } from 'better-sqlite3';
|
|
2
3
|
import type { Logger } from 'pino';
|
|
3
4
|
import type { BTPServer } from '../btp/btp-server';
|
|
4
5
|
import type { PaymentChannelSDK } from './payment-channel-sdk';
|
|
5
6
|
import type { ChannelManager } from './channel-manager';
|
|
6
7
|
import { type BTPClaimMessage, type BlockchainType } from '../btp/btp-claim-types';
|
|
8
|
+
export interface ClaimReceivedEvent {
|
|
9
|
+
peerId: string;
|
|
10
|
+
channelId: string;
|
|
11
|
+
cumulativeAmount: bigint;
|
|
12
|
+
}
|
|
7
13
|
export declare const ERRORS: {
|
|
8
14
|
readonly MISSING_SELF_DESCRIBING_FIELDS: "Missing self-describing fields for unknown channel (chainId, tokenNetworkAddress, tokenAddress required)";
|
|
9
15
|
readonly CHANNEL_NOT_FOUND: "Channel does not exist on-chain";
|
|
@@ -16,7 +22,7 @@ export interface ClaimVerificationResult {
|
|
|
16
22
|
messageId: string;
|
|
17
23
|
error?: string;
|
|
18
24
|
}
|
|
19
|
-
export declare class ClaimReceiver {
|
|
25
|
+
export declare class ClaimReceiver extends EventEmitter {
|
|
20
26
|
private readonly db;
|
|
21
27
|
private readonly evmChannelSDK;
|
|
22
28
|
private readonly logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-receiver.d.ts","sourceRoot":"","sources":["../../src/settlement/claim-receiver.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,cAAc,EAGpB,MAAM,wBAAwB,CAAC;AAMhC,eAAO,MAAM,MAAM;;;;;;CAOT,CAAC;AAKX,MAAM,WAAW,uBAAuB;IAEtC,KAAK,EAAE,OAAO,CAAC;IAEf,SAAS,EAAE,MAAM,CAAC;IAElB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuBD,qBAAa,
|
|
1
|
+
{"version":3,"file":"claim-receiver.d.ts","sourceRoot":"","sources":["../../src/settlement/claim-receiver.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,cAAc,EAGpB,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,kBAAkB;IAEjC,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,MAAM,CAAC;IAElB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAMD,eAAO,MAAM,MAAM;;;;;;CAOT,CAAC;AAKX,MAAM,WAAW,uBAAuB;IAEtC,KAAK,EAAE,OAAO,CAAC;IAEf,SAAS,EAAE,MAAM,CAAC;IAElB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuBD,qBAAa,aAAc,SAAQ,YAAY;IAE3C,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAHf,EAAE,EAAE,QAAQ,EACZ,aAAa,EAAE,iBAAiB,EAChC,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,cAAc,YAAA;IAalD,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;YA4BnC,kBAAkB;YA4DlB,cAAc;IAiM5B,OAAO,CAAC,qBAAqB;IAsDvB,sBAAsB,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;CA0BnC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ClaimReceiver = exports.ERRORS = void 0;
|
|
4
|
+
const events_1 = require("events");
|
|
4
5
|
const btp_types_1 = require("../btp/btp-types");
|
|
5
6
|
const btp_claim_types_1 = require("../btp/btp-claim-types");
|
|
6
7
|
exports.ERRORS = {
|
|
@@ -10,12 +11,13 @@ exports.ERRORS = {
|
|
|
10
11
|
SIGNER_NOT_PARTICIPANT: 'Signer is not a channel participant',
|
|
11
12
|
ON_CHAIN_VERIFICATION_FAILED: 'On-chain channel verification failed',
|
|
12
13
|
};
|
|
13
|
-
class ClaimReceiver {
|
|
14
|
+
class ClaimReceiver extends events_1.EventEmitter {
|
|
14
15
|
db;
|
|
15
16
|
evmChannelSDK;
|
|
16
17
|
logger;
|
|
17
18
|
channelManager;
|
|
18
19
|
constructor(db, evmChannelSDK, logger, channelManager) {
|
|
20
|
+
super();
|
|
19
21
|
this.db = db;
|
|
20
22
|
this.evmChannelSDK = evmChannelSDK;
|
|
21
23
|
this.logger = logger;
|
|
@@ -49,6 +51,15 @@ class ClaimReceiver {
|
|
|
49
51
|
if (verificationResult.valid) {
|
|
50
52
|
this._persistReceivedClaim(peerId, claimMessage, true);
|
|
51
53
|
childLogger.info({ messageId }, 'Claim verified and stored');
|
|
54
|
+
if ((0, btp_claim_types_1.isEVMClaim)(claimMessage)) {
|
|
55
|
+
const event = {
|
|
56
|
+
peerId,
|
|
57
|
+
channelId: claimMessage.channelId,
|
|
58
|
+
cumulativeAmount: BigInt(claimMessage.transferredAmount),
|
|
59
|
+
};
|
|
60
|
+
this.emit('CLAIM_RECEIVED', event);
|
|
61
|
+
childLogger.debug({ channelId: event.channelId, cumulativeAmount: event.cumulativeAmount.toString() }, 'CLAIM_RECEIVED event emitted');
|
|
62
|
+
}
|
|
52
63
|
}
|
|
53
64
|
else {
|
|
54
65
|
this._persistReceivedClaim(peerId, claimMessage, false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-receiver.js","sourceRoot":"","sources":["../../src/settlement/claim-receiver.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"claim-receiver.js","sourceRoot":"","sources":["../../src/settlement/claim-receiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
2
|
import type { Logger } from 'pino';
|
|
3
|
-
import type { AccountManager } from './account-manager';
|
|
4
3
|
import type { SettlementThresholdConfig } from '../config/types';
|
|
5
4
|
import { SettlementState } from '../config/types';
|
|
5
|
+
import type { ClaimReceiver } from './claim-receiver';
|
|
6
6
|
export interface SettlementMonitorConfig {
|
|
7
7
|
thresholds?: SettlementThresholdConfig;
|
|
8
8
|
peers: string[];
|
|
@@ -10,17 +10,18 @@ export interface SettlementMonitorConfig {
|
|
|
10
10
|
}
|
|
11
11
|
export declare class SettlementMonitor extends EventEmitter {
|
|
12
12
|
private readonly _config;
|
|
13
|
-
private readonly _accountManager;
|
|
14
13
|
private readonly _logger;
|
|
15
14
|
private readonly _settlementStates;
|
|
16
15
|
private readonly _lastSettlementTime;
|
|
17
|
-
private
|
|
16
|
+
private _claimReceiver;
|
|
17
|
+
private readonly _boundHandleClaimReceived;
|
|
18
18
|
private _isRunning;
|
|
19
|
-
constructor(config: SettlementMonitorConfig,
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
constructor(config: SettlementMonitorConfig, logger: Logger);
|
|
20
|
+
setClaimReceiver(claimReceiver: ClaimReceiver): void;
|
|
21
|
+
start(): void;
|
|
22
|
+
stop(): void;
|
|
22
23
|
private _getThresholdForPeer;
|
|
23
|
-
private
|
|
24
|
+
private _handleClaimReceived;
|
|
24
25
|
getSettlementState(peerId: string, tokenId: string): SettlementState;
|
|
25
26
|
markSettlementInProgress(peerId: string, tokenId: string): void;
|
|
26
27
|
markSettlementCompleted(peerId: string, tokenId: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settlement-monitor.d.ts","sourceRoot":"","sources":["../../src/settlement/settlement-monitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settlement-monitor.d.ts","sourceRoot":"","sources":["../../src/settlement/settlement-monitor.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,yBAAyB,EAA0B,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AAW1E,MAAM,WAAW,uBAAuB;IAMtC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IAOvC,KAAK,EAAE,MAAM,EAAE,CAAC;IAOhB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAoCD,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+B;IACjE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAsC;IAChF,OAAO,CAAC,UAAU,CAAU;gBAQhB,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM;IAuC3D,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAapD,KAAK,IAAI,IAAI;IAuBb,IAAI,IAAI,IAAI;IAwBZ,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,oBAAoB;IA+E5B,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe;IAcpE,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAiB/D,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAe9D,sBAAsB,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;CAIvD"}
|
|
@@ -5,20 +5,20 @@ const events_1 = require("events");
|
|
|
5
5
|
const types_1 = require("../config/types");
|
|
6
6
|
class SettlementMonitor extends events_1.EventEmitter {
|
|
7
7
|
_config;
|
|
8
|
-
_accountManager;
|
|
9
8
|
_logger;
|
|
10
9
|
_settlementStates;
|
|
11
10
|
_lastSettlementTime;
|
|
12
|
-
|
|
11
|
+
_claimReceiver;
|
|
12
|
+
_boundHandleClaimReceived;
|
|
13
13
|
_isRunning;
|
|
14
|
-
constructor(config,
|
|
14
|
+
constructor(config, logger) {
|
|
15
15
|
super();
|
|
16
16
|
this._config = config;
|
|
17
|
-
this._accountManager = accountManager;
|
|
18
17
|
this._logger = logger.child({ component: 'settlement-monitor' });
|
|
19
18
|
this._settlementStates = new Map();
|
|
20
19
|
this._lastSettlementTime = new Map();
|
|
21
|
-
this.
|
|
20
|
+
this._claimReceiver = null;
|
|
21
|
+
this._boundHandleClaimReceived = this._handleClaimReceived.bind(this);
|
|
22
22
|
this._isRunning = false;
|
|
23
23
|
for (const peerId of this._config.peers) {
|
|
24
24
|
for (const tokenId of this._config.tokenIds) {
|
|
@@ -27,30 +27,32 @@ class SettlementMonitor extends events_1.EventEmitter {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
this._logger.info({
|
|
30
|
-
pollingInterval: this._config.thresholds?.pollingInterval ?? 30000,
|
|
31
30
|
defaultThreshold: this._config.thresholds?.defaultThreshold?.toString(),
|
|
32
31
|
peerCount: this._config.peers.length,
|
|
33
32
|
tokenCount: this._config.tokenIds.length,
|
|
34
|
-
}, 'Settlement monitor initialized');
|
|
33
|
+
}, 'Settlement monitor initialized (event-driven)');
|
|
35
34
|
}
|
|
36
|
-
|
|
35
|
+
setClaimReceiver(claimReceiver) {
|
|
36
|
+
this._claimReceiver = claimReceiver;
|
|
37
|
+
this._logger.info('ClaimReceiver set for event-driven settlement monitoring');
|
|
38
|
+
}
|
|
39
|
+
start() {
|
|
37
40
|
if (this._isRunning) {
|
|
38
41
|
throw new Error('Settlement monitor already running');
|
|
39
42
|
}
|
|
40
43
|
this._isRunning = true;
|
|
41
|
-
this.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
44
|
+
if (this._claimReceiver) {
|
|
45
|
+
this._claimReceiver.on('CLAIM_RECEIVED', this._boundHandleClaimReceived);
|
|
46
|
+
this._logger.info('Settlement monitor started (subscribed to ClaimReceiver events)');
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
this._logger.warn('Settlement monitor started without ClaimReceiver — no events will be processed. ' +
|
|
50
|
+
'Call setClaimReceiver() and restart to enable event-driven settlement.');
|
|
51
|
+
}
|
|
49
52
|
}
|
|
50
|
-
|
|
51
|
-
if (this.
|
|
52
|
-
|
|
53
|
-
this._pollingIntervalId = null;
|
|
53
|
+
stop() {
|
|
54
|
+
if (this._claimReceiver) {
|
|
55
|
+
this._claimReceiver.off('CLAIM_RECEIVED', this._boundHandleClaimReceived);
|
|
54
56
|
}
|
|
55
57
|
this._isRunning = false;
|
|
56
58
|
this._logger.info('Settlement monitor stopped');
|
|
@@ -71,74 +73,41 @@ class SettlementMonitor extends events_1.EventEmitter {
|
|
|
71
73
|
}
|
|
72
74
|
return this._config.thresholds.defaultThreshold;
|
|
73
75
|
}
|
|
74
|
-
|
|
76
|
+
_handleClaimReceived(event) {
|
|
75
77
|
try {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
if (
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
this._logger.debug({ peerId, tokenId, state: currentState }, 'Settlement already pending/in-progress, skipping duplicate trigger');
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
else if (balance.creditBalance <= threshold) {
|
|
112
|
-
const hasTimeBasedTrigger = !!this._config.thresholds?.timeBasedIntervalMs && balance.creditBalance > 0n;
|
|
113
|
-
if (currentState === types_1.SettlementState.SETTLEMENT_PENDING && !hasTimeBasedTrigger) {
|
|
114
|
-
this._settlementStates.set(stateKey, types_1.SettlementState.IDLE);
|
|
115
|
-
this._logger.info({ peerId, tokenId }, 'Balance returned below threshold, resetting to IDLE');
|
|
116
|
-
}
|
|
78
|
+
const { peerId, channelId, cumulativeAmount } = event;
|
|
79
|
+
this._logger.debug({ peerId, channelId, cumulativeAmount: cumulativeAmount.toString() }, 'Processing claim for settlement threshold check');
|
|
80
|
+
for (const tokenId of this._config.tokenIds) {
|
|
81
|
+
const threshold = this._getThresholdForPeer(peerId, tokenId);
|
|
82
|
+
if (!threshold) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
const stateKey = `${peerId}:${tokenId}`;
|
|
86
|
+
const currentState = this._settlementStates.get(stateKey) ?? types_1.SettlementState.IDLE;
|
|
87
|
+
if (cumulativeAmount > threshold) {
|
|
88
|
+
if (currentState === types_1.SettlementState.IDLE) {
|
|
89
|
+
const exceedsBy = cumulativeAmount - threshold;
|
|
90
|
+
const triggerEvent = {
|
|
91
|
+
peerId,
|
|
92
|
+
tokenId,
|
|
93
|
+
currentBalance: cumulativeAmount,
|
|
94
|
+
threshold,
|
|
95
|
+
exceedsBy,
|
|
96
|
+
timestamp: new Date(),
|
|
97
|
+
};
|
|
98
|
+
this.emit('SETTLEMENT_REQUIRED', triggerEvent);
|
|
99
|
+
this._settlementStates.set(stateKey, types_1.SettlementState.SETTLEMENT_PENDING);
|
|
100
|
+
this._logger.warn({
|
|
101
|
+
peerId,
|
|
102
|
+
tokenId,
|
|
103
|
+
channelId,
|
|
104
|
+
cumulativeAmount: cumulativeAmount.toString(),
|
|
105
|
+
threshold: threshold.toString(),
|
|
106
|
+
exceedsBy: exceedsBy.toString(),
|
|
107
|
+
}, 'Settlement threshold exceeded — triggering claimFromChannel()');
|
|
117
108
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (timeInterval &&
|
|
121
|
-
stateAfterAmountCheck === types_1.SettlementState.IDLE &&
|
|
122
|
-
balance.creditBalance > 0n) {
|
|
123
|
-
const lastTime = this._lastSettlementTime.get(stateKey) ?? 0;
|
|
124
|
-
if (Date.now() - lastTime >= timeInterval) {
|
|
125
|
-
const event = {
|
|
126
|
-
peerId,
|
|
127
|
-
tokenId,
|
|
128
|
-
currentBalance: balance.creditBalance,
|
|
129
|
-
threshold: threshold ?? 0n,
|
|
130
|
-
exceedsBy: balance.creditBalance,
|
|
131
|
-
timestamp: new Date(),
|
|
132
|
-
};
|
|
133
|
-
this.emit('SETTLEMENT_REQUIRED', event);
|
|
134
|
-
this._settlementStates.set(stateKey, types_1.SettlementState.SETTLEMENT_PENDING);
|
|
135
|
-
this._logger.info({
|
|
136
|
-
peerId,
|
|
137
|
-
tokenId,
|
|
138
|
-
balance: balance.creditBalance.toString(),
|
|
139
|
-
intervalMs: timeInterval,
|
|
140
|
-
}, 'Time-based settlement triggered');
|
|
141
|
-
}
|
|
109
|
+
else {
|
|
110
|
+
this._logger.debug({ peerId, tokenId, state: currentState }, 'Settlement already pending/in-progress, skipping duplicate trigger');
|
|
142
111
|
}
|
|
143
112
|
}
|
|
144
113
|
}
|
|
@@ -146,7 +115,7 @@ class SettlementMonitor extends events_1.EventEmitter {
|
|
|
146
115
|
catch (error) {
|
|
147
116
|
this._logger.error({
|
|
148
117
|
error: error instanceof Error ? error.message : String(error),
|
|
149
|
-
}, 'Settlement threshold check failed');
|
|
118
|
+
}, 'Settlement threshold check failed for claim event');
|
|
150
119
|
}
|
|
151
120
|
}
|
|
152
121
|
getSettlementState(peerId, tokenId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settlement-monitor.js","sourceRoot":"","sources":["../../src/settlement/settlement-monitor.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"settlement-monitor.js","sourceRoot":"","sources":["../../src/settlement/settlement-monitor.ts"],"names":[],"mappings":"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"}
|