@ductape/sdk 0.1.94 → 0.1.97

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 (33) hide show
  1. package/dist/brokers/brokers.service.d.ts +1 -0
  2. package/dist/brokers/brokers.service.js +14 -0
  3. package/dist/brokers/brokers.service.js.map +1 -1
  4. package/dist/brokers/utils/providers/azure-servicebus.service.d.ts +6 -3
  5. package/dist/brokers/utils/providers/azure-servicebus.service.js +25 -4
  6. package/dist/brokers/utils/providers/azure-servicebus.service.js.map +1 -1
  7. package/dist/brokers/utils/providers/kafka.service.d.ts +3 -3
  8. package/dist/brokers/utils/providers/kafka.service.js +14 -3
  9. package/dist/brokers/utils/providers/kafka.service.js.map +1 -1
  10. package/dist/brokers/utils/providers/nats.service.d.ts +3 -3
  11. package/dist/brokers/utils/providers/nats.service.js +4 -4
  12. package/dist/brokers/utils/providers/nats.service.js.map +1 -1
  13. package/dist/brokers/utils/providers/rabbitmq.service.d.ts +4 -3
  14. package/dist/brokers/utils/providers/rabbitmq.service.js +14 -8
  15. package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -1
  16. package/dist/brokers/utils/providers/redis.service.d.ts +3 -3
  17. package/dist/brokers/utils/providers/redis.service.js +4 -4
  18. package/dist/brokers/utils/providers/redis.service.js.map +1 -1
  19. package/dist/cloud/types/cloud.types.d.ts +2 -2
  20. package/dist/index.d.ts +16 -0
  21. package/dist/index.js +18 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/notifications/index.d.ts +1 -1
  24. package/dist/notifications/index.js.map +1 -1
  25. package/dist/notifications/types/notifications.types.d.ts +38 -0
  26. package/dist/processor/services/processor.service.js +10 -0
  27. package/dist/processor/services/processor.service.js.map +1 -1
  28. package/dist/products/validators/joi-validators/create.productNotification.validator.js +8 -2
  29. package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/dist/types/processor.types.d.ts +2 -0
  32. package/dist/types/processor.types.js.map +1 -1
  33. package/package.json +1 -1
@@ -89,6 +89,7 @@ export declare class BrokersService {
89
89
  * Initialize product and get broker configuration (with caching)
90
90
  */
91
91
  private initializeBroker;
92
+ private assertSqsQueueIsUnique;
92
93
  /**
93
94
  * Initialize logging service
94
95
  */
@@ -330,6 +330,7 @@ class BrokersService {
330
330
  let topicUrl = topic.tag;
331
331
  if (cached.brokerEnv.type === types_1.MessageBrokerTypes.AWS_SQS) {
332
332
  topicUrl = (0, broker_util_1.getSqsQueueUrl)(topic, envSlug);
333
+ this.assertSqsQueueIsUnique(cached.broker, topic.tag, envSlug, topicUrl);
333
334
  }
334
335
  else if (cached.brokerEnv.type === types_1.MessageBrokerTypes.GOOGLE_PUBSUB) {
335
336
  const cfg = cached.brokerEnv.config;
@@ -418,6 +419,7 @@ class BrokersService {
418
419
  let topicUrl = topic.tag;
419
420
  if (brokerEnv.type === types_1.MessageBrokerTypes.AWS_SQS) {
420
421
  topicUrl = (0, broker_util_1.getSqsQueueUrl)(topic, envSlug);
422
+ this.assertSqsQueueIsUnique(broker, topic.tag, envSlug, topicUrl);
421
423
  }
422
424
  else if (brokerEnv.type === types_1.MessageBrokerTypes.GOOGLE_PUBSUB) {
423
425
  const cfg = resolvedConfig;
@@ -436,6 +438,18 @@ class BrokersService {
436
438
  });
437
439
  return { broker, topic, brokerEnv: resolvedBrokerEnv, topicUrl };
438
440
  }
441
+ assertSqsQueueIsUnique(broker, logicalTopic, envSlug, queueUrl) {
442
+ var _a;
443
+ const collision = (_a = broker.topics) === null || _a === void 0 ? void 0 : _a.find((candidate) => {
444
+ var _a;
445
+ return candidate.tag !== logicalTopic
446
+ && ((_a = candidate.queueUrls) === null || _a === void 0 ? void 0 : _a.some((entry) => entry.env_slug === envSlug && entry.url === queueUrl));
447
+ });
448
+ if (collision) {
449
+ throw new BrokerError(`AWS SQS queue URL is shared by logical topics '${logicalTopic}' and '${collision.tag}'. `
450
+ + 'SQS cannot filter competing consumers; configure a distinct queue URL per logical topic.', 'SHARED_SQS_QUEUE_UNSAFE');
451
+ }
452
+ }
439
453
  /**
440
454
  * Initialize logging service
441
455
  */
@@ -1 +1 @@
1
- {"version":3,"file":"brokers.service.js","sourceRoot":"","sources":["../../src/brokers/brokers.service.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;AAoBH,qDAAqG;AACrG,6FAAwG;AACxG,oCAAiG;AACjG,wEAAiE;AACjE,oCAAyD;AACzD,wEAAwF;AACxF,+EAAiG;AACjG,wCAAoE;AACpE,oEAAuE;AAEvE,0DAA8E;AAC9E,0CAGqB;AAErB,uCAAuC;AACvC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAEtC,+EAA+E;AAC/E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAiC,CAAC;AACtE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA0C,CAAC;AAE/E,SAAS,kBAAkB,CAAC,WAAmB,EAAE,OAAe,EAAE,OAAe;IAC/E,OAAO,GAAG,WAAW,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAa,WAAY,SAAQ,KAAK;IACpC,YACE,OAAe,EACR,IAAY,EACZ,OAAiB;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AATD,kCASC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAa,cAAc;IA0CzB,YAAY,MAA4B;;QAtChC,eAAU,GAAwB,IAAI,CAAC;QACvC,cAAS,GAAW,EAAE,CAAC;QACvB,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAW,EAAE,CAAC;QAEhC,uCAAuC;QAC/B,iBAAY,GAAwB,IAAI,CAAC;QACjD,oDAAoD;QAC5C,gBAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;QAErD,+EAA+E;QACvE,sBAAiB,GAAuC,IAAI,GAAG,EAAE,CAAC;QAE1E,qGAAqG;QAC7F,uBAAkB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAE5D,qFAAqF;QAC7E,2BAAsB,GAKzB,IAAI,GAAG,EAAE,CAAC;QAEf,2DAA2D;QACnD,wBAAmB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAErD,iHAAiH;QACzG,wBAAmB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAErD,uEAAuE;QAC/D,qBAAgB,GAAuD,IAAI,GAAG,EAAE,CAAC;QAEzF,gIAAgI;QACxH,6BAAwB,GAAkB,IAAI,CAAC;QAC/C,8BAAyB,GAAW,CAAC,CAAC;QA42C9C,+EAA+E;QAC/E,+DAA+D;QAC/D,+EAA+E;QAE/E;;;WAGG;QACH,aAAQ,GAAG;YACT;;;eAGG;YACH,KAAK,EAAE,KAAK,EAAE,OAYb,EAA8F,EAAE;gBAC/F,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAEvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAC/D;wBACE,WAAW,EAAE,OAAO,CAAC,OAAO;wBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,UAAU,EAAE,OAAO,CAAC,SAAS;wBAC7B,SAAS,EAAE,OAAO,CAAC,QAAQ;wBAC3B,YAAY,EAAE,OAAO,CAAC,WAAW;wBACjC,YAAY,EAAE,OAAO,CAAC,WAAW;wBACjC,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,UAAU,EAAE,OAAO,CAAC,SAAS;wBAC7B,QAAQ,EAAE,OAAO,CAAC,OAAO;wBACzB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;oBAEF,2CAA2C;oBAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,iCAC9C,GAAG,KACN,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;4BACtC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC;4BAC5C,CAAC,CAAC,SAAS,IACb,CAAC,CAAC;oBAEJ,OAAO;wBACL,QAAQ;wBACR,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,WAAW;wBAAE,MAAM,KAAK,CAAC;oBAC9C,MAAM,IAAI,WAAW,CACnB,oCAAoC,KAAK,EAAE,EAC3C,uBAAuB,EACvB,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;YAED;;eAEG;YACH,YAAY,EAAE,KAAK,EAAE,OAOpB,EAA+F,EAAE;gBAChG,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAEvD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CACtD;wBACE,WAAW,EAAE,OAAO,CAAC,OAAO;wBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,UAAU,EAAE,OAAO,CAAC,SAAS;wBAC7B,SAAS,EAAE,OAAO,CAAC,QAAQ;wBAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,WAAW;wBAAE,MAAM,KAAK,CAAC;oBAC9C,MAAM,IAAI,WAAW,CACnB,mCAAmC,KAAK,EAAE,EAC1C,sBAAsB,EACtB,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;YAED;;eAEG;YACH,YAAY,EAAE,KAAK,EAAE,OAOpB,EAA+F,EAAE;gBAChG,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAEvD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CACtD;wBACE,WAAW,EAAE,OAAO,CAAC,OAAO;wBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,UAAU,EAAE,OAAO,CAAC,SAAS;wBAC7B,SAAS,EAAE,OAAO,CAAC,QAAQ;wBAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,WAAW;wBAAE,MAAM,KAAK,CAAC;oBAC9C,MAAM,IAAI,WAAW,CACnB,mCAAmC,KAAK,EAAE,EAC1C,sBAAsB,EACtB,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;YAED;;;eAGG;YACH,cAAc,EAAE,KAAK,EAAE,OAUtB,EAAiG,EAAE;gBAClG,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAEvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAChE;wBACE,WAAW,EAAE,OAAO,CAAC,OAAO;wBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,UAAU,EAAE,OAAO,CAAC,SAAS;wBAC7B,SAAS,EAAE,OAAO,CAAC,QAAQ;wBAC3B,YAAY,EAAE,OAAO,CAAC,WAAW;wBACjC,UAAU,EAAE,OAAO,CAAC,SAAS;wBAC7B,QAAQ,EAAE,OAAO,CAAC,OAAO;wBACzB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;oBAEF,2CAA2C;oBAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,iCACnD,EAAE,KACL,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,iCAClC,EAAE,CAAC,gBAAgB,KACtB,iBAAiB,EAAE,EAAE,CAAC,gBAAgB,CAAC,iBAAiB;gCACtD,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;gCAC5D,CAAC,CAAC,SAAS,IACb,CAAC,CAAC,EAAE,CAAC,gBAAgB,IACvB,CAAC,CAAC;oBAEJ,OAAO;wBACL,WAAW;wBACX,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,WAAW;wBAAE,MAAM,KAAK,CAAC;oBAC9C,MAAM,IAAI,WAAW,CACnB,sCAAsC,KAAK,EAAE,EAC7C,yBAAyB,EACzB,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;YAED;;eAEG;YACH,QAAQ,EAAE,KAAK,EAAE,OAIhB,EAAgB,EAAE;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAEvD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,2BAA2B,CAC/D;wBACE,WAAW,EAAE,OAAO,CAAC,OAAO;wBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,UAAU,EAAE,OAAO,CAAC,SAAS;qBAC9B,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,WAAW;wBAAE,MAAM,KAAK,CAAC;oBAC9C,MAAM,IAAI,WAAW,CACnB,+BAA+B,KAAK,EAAE,EACtC,kBAAkB,EAClB,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;YAED;;;eAGG;YACH,YAAY,EAAE,KAAK,EAAE,OAIpB,EAAgB,EAAE;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAEvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAC9D;wBACE,WAAW,EAAE,OAAO,CAAC,OAAO;wBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,UAAU,EAAE,OAAO,CAAC,SAAS;qBAC9B,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;oBAEF,0BAA0B;oBAC1B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,iCACnE,GAAG,KACN,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;4BACtC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC;4BAC5C,CAAC,CAAC,SAAS,IACb,CAAC,CAAC;oBAEJ,uCACK,MAAM,KACT,eAAe,EAAE,cAAc,IAC/B;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,WAAW;wBAAE,MAAM,KAAK,CAAC;oBAC9C,MAAM,IAAI,WAAW,CACnB,mCAAmC,KAAK,EAAE,EAC1C,sBAAsB,EACtB,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC;QAznDA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,qBAAqB,GAAG,MAAA,MAAM,CAAC,4BAA4B,mCAAI,IAAI,0BAAsB,CAAC;YAC7F,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAe;YAChC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,IAAI,0CAAmB,CAAC,MAAM,CAAC,QAAe,CAAC,CAAC;QAE3E,sDAAsD;QACtD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC;gBACnC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;gBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,UAAkB,EAClB,OAAe,EACf,KAAa,EACb,OAAiC;;QAOjC,2CAA2C;QAC3C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAA,8BAAgB,EAAC,KAAK,CAAC,CAAC;QAExD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEzD,IAAI,MAAM,EAAE,CAAC;YACX,sEAAsE;YACtE,IAAI,KAAK,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC3D,CAAC;gBACD,KAAK,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;YACnE,CAAC;YAED,sBAAsB;YACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;YACzB,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,0BAAkB,CAAC,OAAO,EAAE,CAAC;gBACzD,QAAQ,GAAG,IAAA,4BAAc,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;iBAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,0BAAkB,CAAC,aAAa,EAAE,CAAC;gBACtE,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,MAA4C,CAAC;gBAC1E,QAAQ,GAAG,MAAM,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,KAAI,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,CAAC;iBAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,0BAAkB,CAAC,iBAAiB,EAAE,CAAC;gBAC1E,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,MAA4C,CAAC;gBAC1E,QAAQ,GAAG,MAAM,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,KAAI,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,CAAC;YAED,uCAAY,MAAM,KAAE,KAAK,EAAE,QAAQ,IAAG;QACxC,CAAC;QAED,+EAA+E;QAC/E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;YAC5D,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;QACtF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;QACzF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAA+B,CAAC;QAEpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,WAAW,CAAC,kBAAkB,SAAS,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,WAAW,CAAC,kBAAkB,SAAS,iCAAiC,EAAE,gBAAgB,CAAC,CAAC;QACxG,CAAC;QAED,yCAAyC;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CAAC,0BAA0B,OAAO,YAAY,EAAE,sBAAsB,CAAC,CAAC;QAC/F,CAAC;QAED,iDAAiD;QACjD,IAAI,KAAK,GAAG,MAAA,MAAM,CAAC,MAAM,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;QAEzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;YACD,KAAK,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;QACnE,CAAC;QAED,yEAAyE;QACzE,IAAI,cAAc,GAAQ,SAAS,CAAC,MAAM,CAAC;QAC3C,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,yBAAO,EAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACxE,CAAC;YAAC,WAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QACD,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,cAAc,GAAG,CAAC,MAAM,IAAA,6CAAwB,EAC9C,cAA6C,EAC7C;oBACE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAe;oBACxC,IAAI,EAAE;wBACJ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;wBACxB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;wBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;wBAC5B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;wBACtC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;qBACnC;oBACD,UAAU;oBACV,YAAY,EAAE,SAAS;oBACvB,OAAO;iBACR,CACF,CAA0B,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,IAAA,6BAAmB,EAAC,cAAc,CAAC,EAAE,CAAC;oBACxC,MAAM,cAAc,GAAG,IAAA,2BAAiB,GAAE,CAAC;oBAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,MAAM,IAAI,WAAW,CACnB,yFAAyF,EACzF,yBAAyB,CAC1B,CAAC;oBACJ,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;oBAChF,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,WAAW,CACnB,iDAAkD,GAAa,CAAC,OAAO,EAAE,EACzE,4BAA4B,EAC5B,GAAG,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,iBAAiB,mCAAQ,SAAS,KAAE,MAAM,EAAE,cAAc,GAAE,CAAC;QAEnE,+BAA+B;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;QACzB,IAAI,SAAS,CAAC,IAAI,KAAK,0BAAkB,CAAC,OAAO,EAAE,CAAC;YAClD,QAAQ,GAAG,IAAA,4BAAc,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,0BAAkB,CAAC,aAAa,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,cAAoD,CAAC;YACjE,QAAQ,GAAG,MAAM,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,KAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,0BAAkB,CAAC,iBAAiB,EAAE,CAAC;YACnE,MAAM,GAAG,GAAG,cAAoD,CAAC;YACjE,QAAQ,GAAG,MAAM,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,KAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE;YACxC,MAAM;YACN,KAAK,EAAE,0DAA0D;YACjE,SAAS,EAAE,iBAAiB;YAC5B,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;IACnE,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAW,CAAC;gBAChC,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAe;gBACrC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB;aACzD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAAC,QAAgB;QAC1C,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QAE7C,sCAAsC;QACtC,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,EAAE,CAAC;YACnD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC;QAED,sCAAsC;QACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,WAAW,CACnB,wBAAwB,QAAQ,kBAAkB,EAClD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9E,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAwB,EAAE,MAAW;;QAC5D,qEAAqE;QACrE,MAAM,SAAS,GACb,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG;aACX,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA;aACZ,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;aACjB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;aACjB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAA;aACxB,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAG,CAAC,CAAC,CAAA;YACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;IAChC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAC5B,IAAwB,EACxB,MAAW,EACX,KAAkD;;QAElD,IAAI,IAAA,uBAAS,GAAE,EAAE,CAAC;YAChB,MAAM,IAAI,WAAW,CACnB,4DAA4D,EAC5D,uBAAuB,CACxB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAE5C,MAAM,WAAW,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,mCAAI,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,WAAW,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,CAAC;QAEvD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAChD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAChD,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;gBAChC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC/D,IAAI,kBAAkB,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,IAAI,OAAO,kBAAkB,CAAC,UAAU,KAAK,UAAU;4BAAE,MAAM,kBAAkB,CAAC,UAAU,EAAE,CAAC;oBACjG,CAAC;oBAAC,WAAM,CAAC;wBACP,YAAY;oBACd,CAAC;oBACD,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM,mBAAmB,GAAG,MAAM,IAAA,+BAAiB,GAAE,CAAC;gBACtD,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,MAAM,IAAI,WAAW,CAAC,+BAA+B,EAAE,4BAA4B,CAAC,CAAC;gBACvF,CAAC;gBACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAClD,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzD,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC;wBACH,IAAI,OAAO,YAAY,CAAC,UAAU,KAAK,UAAU;4BAAE,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;oBACrF,CAAC;oBAAC,WAAM,CAAC;wBACP,YAAY;oBACd,CAAC;oBACD,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzC,CAAC;gBACD,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC7C,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,EAAE,CAAC;YACL,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC;gBACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAChD,OAAO,OAAO,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACT,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,MAAM,mBAAmB,GAAG,MAAM,IAAA,+BAAiB,GAAE,CAAC;QACtD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,IAAI,WAAW,CAAC,+BAA+B,EAAE,4BAA4B,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YAClE,IAAI,CAAC;gBACH,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,UAAU;oBAAE,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3E,CAAC;YAAC,WAAM,CAAC;gBACP,YAAY;YACd,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,SAAS;gBAAE,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAI3B;;QACC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC7C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,SAAS,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC1F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE;oBAC5E,WAAW,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY;oBACtC,OAAO;iBACR,CAAC,CAAC;gBACH,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU;oBAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACrE,CAAC;YAAC,WAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAC3B,SAAiB,EACjB,QAAgB,EAChB,OAAgC;QAEhC,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;QAE3C,yDAAyD;QACzD,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC;YAClD,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,6BAA6B,OAAO,EAAE;YACnD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;YACrC,UAAU,EAAE,KAAK;SACX,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACnB,qEAAqE;YACrE,yCAAyC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CACpC,SAAiB,EACjB,QAAgB,EAChB,OAA+D;QAE/D,MAAM,GAAG,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,KAAI,YAAY,SAAS,IAAI,QAAQ,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACrG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,qBAAqB,CAAC,2BAA2B,CAAC;oBAC3D,GAAG;oBACH,KAAK;oBACL,WAAW,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,gCAAgC,KAAK,EAAE;iBAC7E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,gFAAgF;QAClF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CACpC,SAAiB,EACjB,QAAgB,EAChB,OAA+D;QAE/D,MAAM,GAAG,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,KAAI,YAAY,SAAS,IAAI,QAAQ,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACrG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,qBAAqB,CAAC,2BAA2B,CAAC;oBAC3D,GAAG;oBACH,KAAK;oBACL,WAAW,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,gCAAgC,KAAK,EAAE;iBAC7E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,gFAAgF;QAClF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAwB;;QACpC,MAAM,UAAU,GAAG,IAAA,kCAAgB,GAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC1B,IAAI,gBAAgB,GAAsB,EAAE,CAAC;QAC7C,IAAI,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;QAEtC,iFAAiF;QACjF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAA,8BAAgB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACxE,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,OAAO,CAChB,CAAC;YAEF,yCAAyC;YACzC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,CAAC;YAED,yEAAyE;YACzE,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvC,qEAAqE;gBACrE,MAAM,YAAY,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACvE,MAAM,aAAa,GAAG,MAAM,IAAA,qCAA0B,EACpD,YAAY,EACZ,IAAI,CAAC,UAAU,EACf,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAC5B,OAAO,CAAC,GAAG,EACX;oBACE,oBAAoB,EAAE,KAAK,EAAE,UAAkB,EAAE,EAAE;wBACjD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;wBAChF,OAAO,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAC;oBACjC,CAAC;iBACF,CACF,CAAC;gBAEF,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;oBACxB,MAAM,IAAI,WAAW,CAAC,8BAA8B,aAAa,CAAC,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAChG,CAAC;gBAED,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC;gBAC3C,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;YAChD,CAAC;YAED,uCAAuC;YACvC,MAAM,IAAI,CAAC,wBAAwB,CACjC,SAAS,EACT,QAAQ,EACR,OAAO,CAAC,QAAQ,CACjB,CAAC;YAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,MAAM,QAAQ,mBACZ,WAAW,EAAE,OAAO,CAAC,OAAO,EAC5B,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EACtC,GAAG,EAAE,OAAO,CAAC,GAAG,EAChB,UAAU,EACV,IAAI,EAAE,qBAAa,CAAC,QAAQ,EAC5B,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,QAAQ,EACnB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAC3B,gBAAgB,CACpB,CAAC;YAEF,IAAI,CAAC,UAAW,CAAC,GAAG,iCACf,QAAQ,KACX,KAAK,EACL,OAAO,EAAE,+BAA+B,EACxC,MAAM,EAAE,sBAAc,CAAC,UAAU,IACjC,CAAC;YAEH,2EAA2E;YAC3E,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM,YAAY,GAA2B;oBAC3C,SAAS,EAAE,KAAK;oBAChB,WAAW,EAAE,OAAO,CAAC,OAAO;oBAC5B,aAAa,EAAE,GAAG,SAAS,IAAI,QAAQ,EAAE;oBACzC,cAAc,EAAE,QAAQ;oBACxB,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;oBACzD,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAiB,YAAY,CAAC,CAAC;gBAC3E,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,UAAW,CAAC,GAAG,iCACf,QAAQ,KACX,KAAK;wBACL,GAAG,EACH,OAAO,EAAE,kCAAkC,MAAM,CAAC,MAAM,GAAG,EAC3D,oBAAoB,EAAE,IAAI,EAC1B,MAAM,EAAE,sBAAc,CAAC,OAAO,EAC9B,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,EAC3D,SAAS,EAAE,KAAK,EAChB,SAAS,EAAE,MAAM,CAAC,GAAG,EACrB,YAAY,EAAE,IAAI,IAClB,CAAC;oBACH,IAAI,CAAC,UAAW,CAAC,OAAO,EAAE,CAAC;oBAC3B,OAAO,MAAM,CAAC,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,6EAA6E;YAC7E,MAAM,WAAW,GAAG,CAAA,MAAA,OAAO,CAAC,QAAQ,0CAAE,GAAG,KAAI,YAAY,SAAS,IAAI,QAAQ,EAAE,CAAC;YACjF,MAAM,SAAS,GAAG,IAAA,kCAAgB,GAAE,CAAC;YAErC,iEAAiE;YACjE,MAAM,gBAAgB,GAAG,IAAA,yBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAEnF,iEAAiE;YACjE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CACzC;gBACE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,WAAW,EAAE,OAAO,CAAC,OAAO;gBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,YAAY,EAAE,WAAW;gBACzB,iBAAiB,EAAE,gBAAgB;gBACnC,UAAU;gBACV,WAAW,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,GAAG;gBACjC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;gBAClC,UAAU,EAAE,SAAS;aACtB,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC,KAAK,CAAC,GAAG,EAAE;gBACX,iDAAiD;YACnD,CAAC,CAAC,CAAC;YAEH,8DAA8D;YAC9D,MAAM,mBAAmB,mCACpB,eAAe,KAClB,oBAAoB,EAAE,SAAS,GAChC,CAAC;YAEF,iCAAiC;YACjC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE;gBAClF,WAAW,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY;gBACtC,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;YACH,IAAI,OAAO,aAAa,CAAC,OAAO,KAAK,UAAU;gBAAE,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;YAC/E,MAAM,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEvF,MAAM,MAAM,GAAmB;gBAC7B,OAAO,EAAE,IAAI;gBACb,UAAU;aACX,CAAC;YAEF,mDAAmD;YACnD,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;oBACtB,SAAS,EAAE,KAAK;oBAChB,WAAW,EAAE,OAAO,CAAC,OAAO;oBAC5B,aAAa,EAAE,GAAG,SAAS,IAAI,QAAQ,EAAE;oBACzC,cAAc,EAAE,QAAQ;oBACxB,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;oBACzD,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B,EAAE,MAAM,CAAC,CAAC;YACb,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,qBAAqB,GACzB,IAAI,CAAC,wBAAwB,KAAK,aAAa;gBAC/C,GAAG,GAAG,IAAI,CAAC,yBAAyB,GAAG,cAAc,CAAC,6BAA6B,CAAC;YACtF,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAW,CAAC,GAAG,iCACf,QAAQ,KACX,KAAK;oBACL,GAAG,EACH,OAAO,EAAE,6BAA6B,EACtC,oBAAoB,EAAE,IAAI,EAC1B,MAAM,EAAE,sBAAc,CAAC,OAAO,IAC9B,CAAC;gBACH,IAAI,CAAC,wBAAwB,GAAG,aAAa,CAAC;gBAC9C,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,UAAW,CAAC,OAAO,EAAE,CAAC;YAE3B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAA,IAAI,CAAC,UAAU,0CAAE,GAAG,iBAClB,WAAW,EAAE,OAAO,CAAC,OAAO,EAC5B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EACtC,GAAG,EAAE,OAAO,CAAC,GAAG,EAChB,UAAU;gBACV,KAAK;gBACL,GAAG,EACH,IAAI,EAAE,qBAAa,CAAC,QAAQ,EAC5B,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,4BAA4B,EACrC,gBAAgB,EAAE,IAAI,EACtB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACpD,MAAM,EAAE,sBAAc,CAAC,IAAI,IACxB,gBAAgB,EACnB,CAAC;YACH,MAAM,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,EAAE,CAAA,CAAC;YAEjC,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,WAAW,CACnB,8BAA8B,KAAK,EAAE,EACrC,gBAAgB,EAChB,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAA0B;;QACxC,MAAM,UAAU,GAAG,IAAA,kCAAgB,GAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,2EAA2E;YAC3E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACxE,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,KAAK,EACb,SAAS,CACV,CAAC;YAEF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAA,8BAAgB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEhE,uCAAuC;YACvC,MAAM,IAAI,CAAC,wBAAwB,CACjC,SAAS,EACT,QAAQ,EACR,OAAO,CAAC,QAAQ,CACjB,CAAC;YAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,MAAM,QAAQ,GAAG;gBACf,WAAW,EAAE,OAAO,CAAC,OAAO;gBAC5B,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,UAAU;gBACV,IAAI,EAAE,qBAAa,CAAC,QAAQ;gBAC5B,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE,QAAQ;gBACnB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;aAC/B,CAAC;YAEF,IAAI,CAAC,UAAW,CAAC,GAAG,iCACf,QAAQ,KACX,KAAK,EACL,OAAO,EAAE,iCAAiC,EAC1C,MAAM,EAAE,sBAAc,CAAC,UAAU,IACjC,CAAC;YAEH,iEAAiE;YACjE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE;gBAClF,WAAW,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY;gBACtC,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;YACH,IAAI,OAAO,aAAa,CAAC,OAAO,KAAK,UAAU;gBAAE,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;YAC/E,MAAM,WAAW,GAAG,CAAA,MAAA,OAAO,CAAC,QAAQ,0CAAE,GAAG,KAAI,YAAY,SAAS,IAAI,QAAQ,EAAE,CAAC;YAEjF,gEAAgE;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAExC,6EAA6E;YAC7E,MAAM,eAAe,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;gBAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtC,MAAM,gBAAgB,GAAG,IAAA,kCAAgB,GAAE,CAAC;gBAE5C,sCAAsC;gBACtC,MAAM,SAAS,GAAG,OAA4C,CAAC;gBAC/D,MAAM,SAAS,GAAG,SAAS,CAAC,oBAAoB,CAAC;gBAEjD,0DAA0D;gBAC1D,IAAI,eAAe,GAAG,IAAI,CAAC;gBAC3B,IAAI,aAAgC,CAAC;gBAErC,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,eAAe,GAAG,KAAK,CAAC;oBACxB,aAAa,GAAG,GAAY,CAAC;gBAC/B,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE/B,+EAA+E;gBAC/E,8EAA8E;gBAC9E,YAAY,CAAC,GAAG,EAAE;;oBAChB,MAAM,eAAe,GAAG;wBACtB,WAAW,EAAE,OAAO,CAAC,OAAO;wBAC5B,UAAU,EAAE,IAAI,CAAC,SAAS;wBAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;wBACtC,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,UAAU,EAAE,gBAAgB;wBAC5B,IAAI,EAAE,qBAAa,CAAC,QAAQ;wBAC5B,UAAU,EAAE,SAAS;wBACrB,SAAS,EAAE,QAAQ;wBACnB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE;qBACjF,CAAC;oBAEF,IAAI,SAAS,EAAE,CAAC;wBACd,4CAA4C;wBAC5C,MAAM,cAAc,GAAG,WAAW,GAAG,kBAAkB,CAAC;wBAExD,mFAAmF;wBACnF,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAC7C;4BACE,UAAU,EAAE,SAAS;4BACrB,YAAY,EAAE,WAAW;yBAC1B,EACD,UAAU,CACX,CAAC,IAAI,CAAC,GAAG,EAAE;4BACV,6CAA6C;4BAC7C,OAAO,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CACxD;gCACE,UAAU,EAAE,SAAS;gCACrB,YAAY,EAAE,WAAW;gCACzB,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;gCAC9C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;gCACxD,eAAe,EAAE,cAAc;6BAChC,EACD,UAAU,CACX,CAAC;wBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,kCAAkC;oBAC9D,CAAC;oBAED,oCAAoC;oBACpC,MAAA,IAAI,CAAC,UAAU,0CAAE,GAAG,+CACf,eAAe,KAClB,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,SAAS;4BAChB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,2BAA2B,CAAC;4BAChF,CAAC,CAAC,8CAA8C,EAClD,oBAAoB,EAAE,eAAe,EACrC,gBAAgB,EAAE,CAAC,eAAe,EAClC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,sBAAc,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAc,CAAC,IAAI,KACnE,CAAC,aAAa,IAAI,EAAE,IAAI,kCAAO,eAAe,CAAC,IAAI,KAAE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,GAAE,EAAE,CAAC,EACzF,CAAC;oBACH,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,EAAE,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBAEH,qEAAqE;gBACrE,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,aAAa,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YAErF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,UAAW,CAAC,GAAG,iCACf,QAAQ,KACX,KAAK;gBACL,GAAG,EACH,OAAO,EAAE,+BAA+B,EACxC,oBAAoB,EAAE,IAAI,EAC1B,MAAM,EAAE,sBAAc,CAAC,OAAO,IAC9B,CAAC;YAEH,IAAI,CAAC,UAAW,CAAC,OAAO,EAAE,CAAC;YAE3B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,UAAU;aACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAA,IAAI,CAAC,UAAU,0CAAE,GAAG,CAAC;gBACnB,WAAW,EAAE,OAAO,CAAC,OAAO;gBAC5B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,UAAU;gBACV,KAAK;gBACL,GAAG;gBACH,IAAI,EAAE,qBAAa,CAAC,QAAQ;gBAC5B,OAAO,EAAE,8BAA8B;gBACvC,gBAAgB,EAAE,IAAI;gBACtB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACpD,MAAM,EAAE,sBAAc,CAAC,IAAI;aAC5B,CAAC,CAAC;YACH,MAAM,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,EAAE,CAAA,CAAC;YAEjC,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,WAAW,CACnB,wBAAwB,KAAK,EAAE,EAC/B,kBAAkB,EAClB,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,SAAiB;QACnD,MAAM,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,SAAiB;QACnD,MAAM,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,KAAa;QAC9C,MAAM,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,cAAc,CAAC,OAIpB;;QACC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;gBAC5D,WAAW,EAAE,OAAO,CAAC,OAAO;gBAC5B,QAAQ,EAAE,OAAO,CAAC,GAAG;gBACrB,UAAU,EAAE,OAAO,CAAC,MAAM;aAC3B,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YAEzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAA+B,CAAC;YAEpD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAC/B,KAAK,EAAE,mBAAmB,OAAO,CAAC,MAAM,aAAa;iBACtD,CAAC;YACJ,CAAC;YAED,yCAAyC;YACzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;YAEpE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO;oBACL,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAC/B,KAAK,EAAE,uBAAuB,OAAO,CAAC,GAAG,aAAa;iBACvD,CAAC;YACJ,CAAC;YAED,iDAAiD;YACjD,IAAI,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC;YACtC,IAAI,cAAc,IAAI,IAAA,6BAAmB,EAAC,cAAc,CAAC,EAAE,CAAC;gBAC1D,MAAM,cAAc,GAAG,IAAA,2BAAiB,GAAE,CAAC;gBAC3C,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;oBACpF,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,OAAO;wBACL,SAAS,EAAE,KAAK;wBAChB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAC/B,KAAK,EAAE,wFAAwF;qBAChG,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,+CAA+C;YAC/C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE;gBAChF,WAAW,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY;gBACtC,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;YAEH,qBAAqB;YACrB,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;YAE9B,mCAAmC;YACnC,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;YAEjC,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aAChC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAC/B,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,yBAAyB;IACzB,+EAA+E;IAE/E;;OAEG;IACK,KAAK,CAAC,0BAA0B,CAAC,UAAkB;QACzD,MAAM,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC;IACjE,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,IAA6B;QAClD,OAAO,IAAA,yBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,aAAqB;QAC1C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,yBAAO,EAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,SAAS,CAAC,OAAgC;;QAC9C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAC3D;gBACE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,0CAAE,WAAW,EAAE;gBAC3C,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,0CAAE,WAAW,EAAE;gBACvC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YAEF,+CAA+C;YAC/C,MAAM,MAAM,GAAmB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,iCAC5D,KAAK,KACR,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EACpC,YAAY,EAAE,KAAK,CAAC,sBAAsB;oBACxC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,sBAAsB,CAAC;oBACnD,CAAC,CAAC,KAAK,CAAC,YAAY,EACtB,aAAa,EAAE,KAAK,CAAC,uBAAuB;oBAC1C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC;oBACpD,CAAC,CAAC,KAAK,CAAC,aAAa,IACvB,CAAC,CAAC;YAEJ,OAAO;gBACL,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,MAAM,IAAI,WAAW,CACnB,gCAAgC,KAAK,EAAE,EACvC,mBAAmB,EACnB,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,QAAQ,CAAC,OAA+B;QAC5C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CACzD,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EACtD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;YAEF,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAExB,gCAAgC;YAChC,uCACK,KAAK,KACR,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EACpC,YAAY,EAAE,KAAK,CAAC,sBAAsB;oBACxC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,sBAAsB,CAAC;oBACnD,CAAC,CAAC,KAAK,CAAC,YAAY,EACtB,aAAa,EAAE,KAAK,CAAC,uBAAuB;oBAC1C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,uBAAuB,CAAC;oBACpD,CAAC,CAAC,KAAK,CAAC,aAAa,IACvB;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,MAAM,IAAI,WAAW,CACnB,+BAA+B,KAAK,EAAE,EACtC,kBAAkB,EAClB,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,WAAW,CAAC,OAA4B;QAC5C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEvD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CACrD;gBACE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,MAAM,IAAI,WAAW,CACnB,kCAAkC,KAAK,EAAE,EACzC,qBAAqB,EACrB,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,aAAa,CAAC,OAInB;QACC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEvD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CACvD;gBACE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,MAAM,IAAI,WAAW,CACnB,qCAAqC,KAAK,EAAE,EAC5C,wBAAwB,EACxB,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,YAAY,CAAC,OAA6B;QAC9C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEvD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAChD;gBACE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,MAAM,IAAI,WAAW,CACnB,4BAA4B,KAAK,EAAE,EACnC,sBAAsB,EACtB,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAItB;QACC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEvD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CACpD;gBACE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,EACD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,MAAM,IAAI,WAAW,CACnB,gCAAgC,KAAK,EAAE,EACvC,0BAA0B,EAC1B,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAkC;QACxD,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC;gBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,QAAQ,CAAC,QAAQ;oBAC7B,KAAK,EAAE,gCAAgC;iBACxC,CAAC;YACJ,CAAC;YAED,mEAAmE;YACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,iCAC5B,OAAO,KACV,OAAO,kCACF,OAAO,CAAC,OAAO,KAClB,iBAAiB,EAAE,OAAO,CAAC,cAAc,EACzC,iBAAiB,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK,OAEpD,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9C,MAAM,IAAI,WAAW,CACnB,uCAAuC,KAAK,EAAE,EAC9C,2BAA2B,EAC3B,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;;AAj5CH,wCAqqDC;AA7nDyB,4CAA6B,GAAG,IAAI,AAAP,CAAQ;AA+nD/D,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"brokers.service.js","sourceRoot":"","sources":["../../src/brokers/brokers.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IMessageBrokerService } from '../../types';
1
+ import type { IBrokerMessageRoutingOptions, IMessageBrokerService } from '../../types';
2
2
  export interface AzureServiceBusConfig {
3
3
  connectionString: string;
4
4
  queueName: string;
@@ -7,11 +7,14 @@ export interface AzureServiceBusConfig {
7
7
  export declare class AzureServiceBusService implements IMessageBrokerService {
8
8
  private config;
9
9
  private client;
10
+ private administration;
10
11
  private receiver;
11
12
  private readonly queueName;
12
13
  constructor(config: AzureServiceBusConfig);
13
14
  connect(): Promise<void>;
14
- publish(topic: string, message: object): Promise<void>;
15
- subscribe(queueOrTopic: string, callback: (message: object) => Promise<void>): Promise<void>;
15
+ publish(topic: string, message: object, options?: IBrokerMessageRoutingOptions): Promise<void>;
16
+ subscribe(queueOrTopic: string, callback: (message: object) => Promise<void>, options?: IBrokerMessageRoutingOptions): Promise<void>;
16
17
  disconnect(): Promise<void>;
18
+ private logicalQueue;
19
+ private ensureQueue;
17
20
  }
@@ -7,13 +7,15 @@ class AzureServiceBusService {
7
7
  this.config = config;
8
8
  this.receiver = null;
9
9
  this.client = new service_bus_1.ServiceBusClient(config.connectionString);
10
+ this.administration = new service_bus_1.ServiceBusAdministrationClient(config.connectionString);
10
11
  this.queueName = config.queueName;
11
12
  }
12
13
  async connect() {
13
14
  // Service Bus client connects lazily on first send/receive
14
15
  }
15
- async publish(topic, message) {
16
- const queue = this.queueName || topic;
16
+ async publish(topic, message, options = {}) {
17
+ const queue = this.logicalQueue(topic, options.logicalTopic);
18
+ await this.ensureQueue(queue);
17
19
  const sender = this.client.createSender(queue);
18
20
  try {
19
21
  await sender.sendMessages({ body: message });
@@ -22,8 +24,9 @@ class AzureServiceBusService {
22
24
  await sender.close();
23
25
  }
24
26
  }
25
- async subscribe(queueOrTopic, callback) {
26
- const queue = this.queueName || queueOrTopic;
27
+ async subscribe(queueOrTopic, callback, options = {}) {
28
+ const queue = this.logicalQueue(queueOrTopic, options.logicalTopic);
29
+ await this.ensureQueue(queue);
27
30
  this.receiver = this.client.createReceiver(queue);
28
31
  this.receiver.subscribe({
29
32
  processMessage: async (msg) => {
@@ -46,6 +49,24 @@ class AzureServiceBusService {
46
49
  }
47
50
  await this.client.close();
48
51
  }
52
+ logicalQueue(physicalQueue, logicalTopic) {
53
+ const base = this.queueName || physicalQueue;
54
+ if (!logicalTopic || base === logicalTopic)
55
+ return base;
56
+ const suffix = logicalTopic.replace(/[^a-zA-Z0-9._-]/g, '-');
57
+ return `${base}-${suffix}`.slice(0, 260);
58
+ }
59
+ async ensureQueue(queue) {
60
+ if (!(await this.administration.queueExists(queue))) {
61
+ try {
62
+ await this.administration.createQueue(queue);
63
+ }
64
+ catch (error) {
65
+ if ((error === null || error === void 0 ? void 0 : error.code) !== 'MessagingEntityAlreadyExists')
66
+ throw error;
67
+ }
68
+ }
69
+ }
49
70
  }
50
71
  exports.AzureServiceBusService = AzureServiceBusService;
51
72
  //# sourceMappingURL=azure-servicebus.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"azure-servicebus.service.js","sourceRoot":"","sources":["../../../../src/brokers/utils/providers/azure-servicebus.service.ts"],"names":[],"mappings":";;;AAAA,oDAA0E;AAS1E,MAAa,sBAAsB;IAKjC,YAAoB,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;QAHzC,aAAQ,GAA8B,IAAI,CAAC;QAIjD,IAAI,CAAC,MAAM,GAAG,IAAI,8BAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,2DAA2D;IAC7D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAe;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,YAAoB,EACpB,QAA4C;QAE5C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACtB,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC5B,MAAM,IAAI,GACR,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;oBAC1B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;oBACtB,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;wBACjD,CAAC,CAAC,GAAG,CAAC,IAAI;wBACV,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrC,MAAM,QAAQ,CAAC,IAAc,CAAC,CAAC;YACjC,CAAC;YACD,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC3B,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF;AArDD,wDAqDC"}
1
+ {"version":3,"file":"azure-servicebus.service.js","sourceRoot":"","sources":["../../../../src/brokers/utils/providers/azure-servicebus.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IMessageBrokerService } from '../../types';
1
+ import type { IBrokerMessageRoutingOptions, IMessageBrokerService } from '../../types';
2
2
  export declare class KafkaService implements IMessageBrokerService {
3
3
  private config;
4
4
  private kafka;
@@ -17,7 +17,7 @@ export declare class KafkaService implements IMessageBrokerService {
17
17
  };
18
18
  });
19
19
  connect(): Promise<void>;
20
- publish(topic: string, message: object): Promise<void>;
21
- subscribe(topic: string, callback: (message: object) => Promise<void>): Promise<void>;
20
+ publish(topic: string, message: object, options?: IBrokerMessageRoutingOptions): Promise<void>;
21
+ subscribe(topic: string, callback: (message: object) => Promise<void>, options?: IBrokerMessageRoutingOptions): Promise<void>;
22
22
  disconnect(): Promise<void>;
23
23
  }
@@ -48,7 +48,7 @@ class KafkaService {
48
48
  throw error;
49
49
  }
50
50
  }
51
- async publish(topic, message) {
51
+ async publish(topic, message, options = {}) {
52
52
  console.log(`${this.logPrefix} Publishing message to topic: ${topic}`);
53
53
  const startTime = Date.now();
54
54
  if (!this.producer) {
@@ -60,7 +60,7 @@ class KafkaService {
60
60
  console.log(`${this.logPrefix} Sending message (${messageValue.length} bytes) to topic: ${topic}`);
61
61
  await this.producer.send({
62
62
  topic,
63
- messages: [{ value: messageValue }],
63
+ messages: [Object.assign({ value: messageValue }, (options.logicalTopic && { headers: { ductape_topic: options.logicalTopic } }))],
64
64
  });
65
65
  console.log(`${this.logPrefix} Message published successfully to ${topic} (${Date.now() - startTime}ms)`);
66
66
  }
@@ -69,7 +69,7 @@ class KafkaService {
69
69
  throw error;
70
70
  }
71
71
  }
72
- async subscribe(topic, callback) {
72
+ async subscribe(topic, callback, options = {}) {
73
73
  console.log(`${this.logPrefix} Subscribing to topic: ${topic}`);
74
74
  const startTime = Date.now();
75
75
  if (!this.consumer) {
@@ -77,6 +77,11 @@ class KafkaService {
77
77
  await this.connect();
78
78
  }
79
79
  try {
80
+ if (options.logicalTopic && options.logicalTopic !== topic) {
81
+ const logicalGroup = `${this.config.groupId || 'default-group'}-${options.logicalTopic}`
82
+ .replace(/[^a-zA-Z0-9._-]/g, '-');
83
+ this.consumer = this.kafka.consumer({ groupId: logicalGroup });
84
+ }
80
85
  console.log(`${this.logPrefix} Connecting consumer...`);
81
86
  await this.consumer.connect();
82
87
  console.log(`${this.logPrefix} Consumer connected, subscribing to topic: ${topic}`);
@@ -84,7 +89,13 @@ class KafkaService {
84
89
  console.log(`${this.logPrefix} Subscribed to topic: ${topic}, starting consumer...`);
85
90
  await this.consumer.run({
86
91
  eachMessage: async ({ message, partition, topic: msgTopic }) => {
92
+ var _a, _b;
87
93
  if (message.value) {
94
+ const routedTopic = (_b = (_a = message.headers) === null || _a === void 0 ? void 0 : _a.ductape_topic) === null || _b === void 0 ? void 0 : _b.toString();
95
+ if (options.logicalTopic && routedTopic && routedTopic !== options.logicalTopic)
96
+ return;
97
+ if (options.logicalTopic && options.logicalTopic !== topic && !routedTopic)
98
+ return;
88
99
  const messageStartTime = Date.now();
89
100
  console.log(`${this.logPrefix} Received message from ${msgTopic}:${partition} (${message.value.length} bytes)`);
90
101
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"kafka.service.js","sourceRoot":"","sources":["../../../../src/brokers/utils/providers/kafka.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kafka.service.js","sourceRoot":"","sources":["../../../../src/brokers/utils/providers/kafka.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IMessageBrokerService } from '../../types';
1
+ import type { IBrokerMessageRoutingOptions, IMessageBrokerService } from '../../types';
2
2
  export declare class NatsService implements IMessageBrokerService {
3
3
  private config;
4
4
  private connection;
@@ -12,7 +12,7 @@ export declare class NatsService implements IMessageBrokerService {
12
12
  tls?: boolean;
13
13
  });
14
14
  connect(): Promise<void>;
15
- publish(topic: string, message: object): Promise<void>;
16
- subscribe(topic: string, callback: (message: object) => Promise<void>): Promise<void>;
15
+ publish(topic: string, message: object, options?: IBrokerMessageRoutingOptions): Promise<void>;
16
+ subscribe(topic: string, callback: (message: object) => Promise<void>, options?: IBrokerMessageRoutingOptions): Promise<void>;
17
17
  disconnect(): Promise<void>;
18
18
  }
@@ -23,17 +23,17 @@ class NatsService {
23
23
  tls: this.config.tls ? {} : undefined,
24
24
  });
25
25
  }
26
- async publish(topic, message) {
26
+ async publish(topic, message, options = {}) {
27
27
  if (!this.connection) {
28
28
  await this.connect();
29
29
  }
30
- this.connection.publish(topic, this.sc.encode(JSON.stringify(message)));
30
+ this.connection.publish(options.logicalTopic || topic, this.sc.encode(JSON.stringify(message)));
31
31
  }
32
- async subscribe(topic, callback) {
32
+ async subscribe(topic, callback, options = {}) {
33
33
  if (!this.connection) {
34
34
  await this.connect();
35
35
  }
36
- const subscription = this.connection.subscribe(topic);
36
+ const subscription = this.connection.subscribe(options.logicalTopic || topic);
37
37
  (async () => {
38
38
  var _a, e_1, _b, _c;
39
39
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"nats.service.js","sourceRoot":"","sources":["../../../../src/brokers/utils/providers/nats.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,+BAA4D;AAG5D,MAAa,WAAW;IAItB,YACU,MAOP;QAPO,WAAM,GAAN,MAAM,CAOb;QAVK,OAAE,GAAG,IAAA,kBAAW,GAAE,CAAC;IAWxB,CAAC;IAEJ,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,UAAU,GAAG,MAAM,IAAA,cAAO,EAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;SACtC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAe;QAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,SAAS,CACb,KAAa,EACb,QAA4C;QAE5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC,KAAK,IAAI,EAAE;;;gBACV,KAAwB,eAAA,iBAAA,cAAA,YAAY,CAAA,kBAAA,8FAAE,CAAC;oBAAf,4BAAY;oBAAZ,WAAY;oBAAzB,MAAM,GAAG,KAAA,CAAA;oBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrD,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC;;;;;;;;;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF;AApDD,kCAoDC"}
1
+ {"version":3,"file":"nats.service.js","sourceRoot":"","sources":["../../../../src/brokers/utils/providers/nats.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,+BAA4D;AAG5D,MAAa,WAAW;IAItB,YACU,MAOP;QAPO,WAAM,GAAN,MAAM,CAOb;QAVK,OAAE,GAAG,IAAA,kBAAW,GAAE,CAAC;IAWxB,CAAC;IAEJ,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,UAAU,GAAG,MAAM,IAAA,cAAO,EAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;SACtC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAe,EAAE,UAAwC,EAAE;QACtF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,SAAS,CACb,KAAa,EACb,QAA4C,EAC5C,UAAwC,EAAE;QAE1C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC;QAC9E,CAAC,KAAK,IAAI,EAAE;;;gBACV,KAAwB,eAAA,iBAAA,cAAA,YAAY,CAAA,kBAAA,8FAAE,CAAC;oBAAf,4BAAY;oBAAZ,WAAY;oBAAzB,MAAM,GAAG,KAAA,CAAA;oBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrD,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC;;;;;;;;;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF;AArDD,kCAqDC"}
@@ -1,4 +1,4 @@
1
- import { IMessageBrokerService } from '../../types';
1
+ import type { IBrokerMessageRoutingOptions, IMessageBrokerService } from '../../types';
2
2
  /** Config can be a full url or host/port/auth (we build amqp URL) */
3
3
  type RabbitMQConfig = {
4
4
  url: string;
@@ -18,8 +18,9 @@ export declare class RabbitMQService implements IMessageBrokerService {
18
18
  constructor(config: RabbitMQConfig);
19
19
  private maskUrl;
20
20
  connect(): Promise<void>;
21
- publish(topic: string, message: object): Promise<void>;
22
- subscribe(topic: string, callback: (message: object) => Promise<void>): Promise<void>;
21
+ publish(topic: string, message: object, options?: IBrokerMessageRoutingOptions): Promise<void>;
22
+ subscribe(topic: string, callback: (message: object) => Promise<void>, options?: IBrokerMessageRoutingOptions): Promise<void>;
23
+ private logicalQueue;
23
24
  disconnect(): Promise<void>;
24
25
  }
25
26
  export {};
@@ -83,26 +83,28 @@ class RabbitMQService {
83
83
  }
84
84
  }
85
85
  }
86
- async publish(topic, message) {
86
+ async publish(topic, message, options = {}) {
87
87
  if (!this.channel) {
88
88
  await this.connect();
89
89
  }
90
90
  try {
91
- await this.channel.assertQueue(topic, { durable: true });
91
+ const queue = this.logicalQueue(topic, options.logicalTopic);
92
+ await this.channel.assertQueue(queue, { durable: true });
92
93
  const messageBuffer = Buffer.from(JSON.stringify(message));
93
- this.channel.sendToQueue(topic, messageBuffer, { persistent: true });
94
+ this.channel.sendToQueue(queue, messageBuffer, { persistent: true });
94
95
  }
95
96
  catch (error) {
96
97
  throw error;
97
98
  }
98
99
  }
99
- async subscribe(topic, callback) {
100
+ async subscribe(topic, callback, options = {}) {
100
101
  if (!this.channel) {
101
102
  await this.connect();
102
103
  }
103
104
  try {
104
- await this.channel.assertQueue(topic, { durable: true });
105
- this.channel.consume(topic, async (msg) => {
105
+ const queue = this.logicalQueue(topic, options.logicalTopic);
106
+ await this.channel.assertQueue(queue, { durable: true });
107
+ this.channel.consume(queue, async (msg) => {
106
108
  if (msg) {
107
109
  try {
108
110
  const content = JSON.parse(msg.content.toString());
@@ -110,8 +112,7 @@ class RabbitMQService {
110
112
  this.channel.ack(msg);
111
113
  }
112
114
  catch (error) {
113
- // Note: Message will not be acked, allowing redelivery
114
- throw error;
115
+ this.channel.nack(msg, false, true);
115
116
  }
116
117
  }
117
118
  });
@@ -120,6 +121,11 @@ class RabbitMQService {
120
121
  throw error;
121
122
  }
122
123
  }
124
+ logicalQueue(physicalQueue, logicalTopic) {
125
+ if (!logicalTopic || physicalQueue === logicalTopic)
126
+ return physicalQueue;
127
+ return `${physicalQueue}-${logicalTopic}`.replace(/[^a-zA-Z0-9._:-]/g, '-');
128
+ }
123
129
  async disconnect() {
124
130
  try {
125
131
  if (this.channel) {
@@ -1 +1 @@
1
- {"version":3,"file":"rabbitmq.service.js","sourceRoot":"","sources":["../../../../src/brokers/utils/providers/rabbitmq.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rabbitmq.service.js","sourceRoot":"","sources":["../../../../src/brokers/utils/providers/rabbitmq.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IMessageBrokerService } from '../../types';
1
+ import type { IBrokerMessageRoutingOptions, IMessageBrokerService } from '../../types';
2
2
  export declare class RedisService implements IMessageBrokerService {
3
3
  private config;
4
4
  private client;
@@ -12,7 +12,7 @@ export declare class RedisService implements IMessageBrokerService {
12
12
  });
13
13
  private loadRedis;
14
14
  connect(): Promise<void>;
15
- publish(topic: string, message: object): Promise<void>;
16
- subscribe(topic: string, callback: (message: object) => Promise<void>): Promise<void>;
15
+ publish(topic: string, message: object, options?: IBrokerMessageRoutingOptions): Promise<void>;
16
+ subscribe(topic: string, callback: (message: object) => Promise<void>, options?: IBrokerMessageRoutingOptions): Promise<void>;
17
17
  disconnect(): Promise<void>;
18
18
  }
@@ -58,23 +58,23 @@ class RedisService {
58
58
  await this.client.connect();
59
59
  await this.subscriber.connect();
60
60
  }
61
- async publish(topic, message) {
61
+ async publish(topic, message, options = {}) {
62
62
  if (!this.isServer) {
63
63
  throw new Error('RedisService can only be used in a server environment');
64
64
  }
65
65
  if (!this.client) {
66
66
  await this.connect();
67
67
  }
68
- await this.client.publish(topic, JSON.stringify(message));
68
+ await this.client.publish(options.logicalTopic || topic, JSON.stringify(message));
69
69
  }
70
- async subscribe(topic, callback) {
70
+ async subscribe(topic, callback, options = {}) {
71
71
  if (!this.isServer) {
72
72
  throw new Error('RedisService can only be used in a server environment');
73
73
  }
74
74
  if (!this.subscriber) {
75
75
  await this.connect();
76
76
  }
77
- await this.subscriber.subscribe(topic, async (message) => {
77
+ await this.subscriber.subscribe(options.logicalTopic || topic, async (message) => {
78
78
  await callback(JSON.parse(message));
79
79
  });
80
80
  }