diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..cc49d16 --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,5 @@ +export * from './kafka.server'; +export * from './kafka.client'; +export * from './kafka.context'; +export * from './kafka.deserializer'; +export * from './kafka.decorators'; diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..9475d15 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,22 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./kafka.server"), exports); +__exportStar(require("./kafka.client"), exports); +__exportStar(require("./kafka.context"), exports); +__exportStar(require("./kafka.deserializer"), exports); +__exportStar(require("./kafka.decorators"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map new file mode 100644 index 0000000..8d1892c --- /dev/null +++ b/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC;AAChC,uDAAqC;AACrC,qDAAmC"} \ No newline at end of file diff --git a/dist/kafka.client.d.ts b/dist/kafka.client.d.ts new file mode 100644 index 0000000..c59c72d --- /dev/null +++ b/dist/kafka.client.d.ts @@ -0,0 +1,17 @@ +import { ClientKafka, ReadPacket } from '@nestjs/microservices'; +import { Observable } from 'rxjs'; +export type NestjsKafkaBatchTopicMessage = { + pattern: any; + data: TInput[]; +}; +export declare class KafkaBatchClient extends ClientKafka { + protected publish(): () => void; + emitBatch(pattern: any, data: { + messages: TInput[]; + }): Observable; + protected dispatchBatchEvent(packets: ReadPacket<{ + messages: TInput[]; + }>): Promise; + emitBatchTopics(topicMessages: NestjsKafkaBatchTopicMessage[]): Observable; + protected dispatchBatchTopics(topicMessages: NestjsKafkaBatchTopicMessage[]): Promise; +} diff --git a/dist/kafka.client.js b/dist/kafka.client.js new file mode 100644 index 0000000..fdf9add --- /dev/null +++ b/dist/kafka.client.js @@ -0,0 +1,66 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.KafkaBatchClient = void 0; +const microservices_1 = require("@nestjs/microservices"); +const rxjs_1 = require("rxjs"); +const invalid_message_exception_1 = require("@nestjs/microservices/errors/invalid-message.exception"); +const shared_utils_1 = require("@nestjs/common/utils/shared.utils"); +class KafkaBatchClient extends microservices_1.ClientKafka { + publish() { + throw new Error('Do not use message pattern with batch processing'); + } + emitBatch(pattern, data) { + if ((0, shared_utils_1.isNil)(pattern) || (0, shared_utils_1.isNil)(data)) { + return (0, rxjs_1.throwError)(() => new invalid_message_exception_1.InvalidMessageException()); + } + const source = (0, rxjs_1.defer)(async () => this.connect()).pipe((0, rxjs_1.mergeMap)(() => this.dispatchBatchEvent({ pattern, data }))); + const connectableSource = (0, rxjs_1.connectable)(source, { + connector: () => new rxjs_1.Subject(), + resetOnDisconnect: false, + }); + connectableSource.connect(); + return connectableSource; + } + async dispatchBatchEvent(packets) { + if (packets.data.messages.length === 0) { + return; + } + const pattern = this.normalizePattern(packets.pattern); + const outgoingEvents = await Promise.all(packets.data.messages.map(message => { + return this.serializer.serialize(message, { pattern }); + })); + const message = Object.assign({ + topic: pattern, + messages: outgoingEvents, + }, this.options.send || {}); + return this.producer.send(message); + } + emitBatchTopics(topicMessages) { + if ((0, shared_utils_1.isNil)(topicMessages) || (0, shared_utils_1.isEmpty)(topicMessages)) { + return (0, rxjs_1.throwError)(() => new invalid_message_exception_1.InvalidMessageException()); + } + const source = (0, rxjs_1.defer)(async () => this.connect()).pipe((0, rxjs_1.mergeMap)(() => this.dispatchBatchTopics(topicMessages))); + const connectableSource = (0, rxjs_1.connectable)(source, { + connector: () => new rxjs_1.Subject(), + resetOnDisconnect: false, + }); + connectableSource.connect(); + return connectableSource; + } + async dispatchBatchTopics(topicMessages) { + const serializedTopicMessages = await Promise.all(topicMessages.map(async (topicMessage) => { + return { + topic: this.normalizePattern(topicMessage.pattern), + messages: await Promise.all(topicMessage.data.map(async (message) => { + return this.serializer.serialize(message, { pattern: topicMessage.pattern }); + })), + }; + })); + const message = Object.assign({ + topicMessages: serializedTopicMessages, + }, this.options.send || {}); + return this.producer.sendBatch(message); + } +} +exports.KafkaBatchClient = KafkaBatchClient; +//# sourceMappingURL=kafka.client.js.map \ No newline at end of file diff --git a/dist/kafka.client.js.map b/dist/kafka.client.js.map new file mode 100644 index 0000000..813640d --- /dev/null +++ b/dist/kafka.client.js.map @@ -0,0 +1 @@ +{"version":3,"file":"kafka.client.js","sourceRoot":"","sources":["../lib/kafka.client.ts"],"names":[],"mappings":";;;AACA,yDAAgE;AAChE,+BAOc;AACd,sGAAiG;AACjG,oEAAmE;AAQnE,MAAa,gBAAiB,SAAQ,2BAAW;IACtC,OAAO;QAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IAEM,SAAS,CACf,OAAY,EACZ,IAA4B;QAE5B,IAAI,IAAA,oBAAK,EAAC,OAAO,CAAC,IAAI,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAI,mDAAuB,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,YAAK,EAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CACpD,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1D,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAA,kBAAW,EAAC,MAAM,EAAE;YAC7C,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,cAAO,EAAE;YAC9B,iBAAiB,EAAE,KAAK;SACxB,CAAC,CAAC;QACH,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,kBAAkB,CACjC,OAA2C;QAE3C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO;QACR,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAc,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC5B;YACC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,cAAc;SACxB,EACD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CACvB,CAAC;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,eAAe,CACrB,aAAqD;QAErD,IAAI,IAAA,oBAAK,EAAC,aAAa,CAAC,IAAI,IAAA,sBAAO,EAAC,aAAa,CAAC,EAAE,CAAC;YACpD,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAI,mDAAuB,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,YAAK,EAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CACpD,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CACvD,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAA,kBAAW,EAAC,MAAM,EAAE;YAC7C,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,cAAO,EAAE;YAC9B,iBAAiB,EAAE,KAAK;SACxB,CAAC,CAAC;QACH,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,mBAAmB,CAClC,aAAqD;QAGrD,MAAM,uBAAuB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;YACxF,OAAO;gBACN,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC;gBAClD,QAAQ,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;oBACjE,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAc,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrF,CAAC,CAAC,CAAC;aACH,CAAA;QACF,CAAC,CAAC,CAAC,CAAA;QAEH,MAAM,OAAO,GAAkB,MAAM,CAAC,MAAM,CAC3C;YACC,aAAa,EAAE,uBAAuB;SACtC,EACD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CACvB,CAAC;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;CACD;AAtFD,4CAsFC"} \ No newline at end of file diff --git a/dist/kafka.context.d.ts b/dist/kafka.context.d.ts new file mode 100644 index 0000000..3bc0ce2 --- /dev/null +++ b/dist/kafka.context.d.ts @@ -0,0 +1,26 @@ +import { BaseRpcContext } from '@nestjs/microservices'; +import type { Consumer, KafkaMessage, Offsets, OffsetsByTopicPartition } from 'kafkajs'; +type KafkaBatchContextArgs = [ + messages: KafkaMessage[], + consumer: Consumer, + resolveOffset: (offset: string) => void, + heartbeat: () => Promise, + pause: () => void, + commitOffsetsIfNecessary: (offsets?: Offsets) => Promise, + uncommittedOffsets: () => OffsetsByTopicPartition, + isRunning: () => boolean, + isStale: () => boolean +]; +export declare class KafkaBatchContext extends BaseRpcContext { + constructor(args: KafkaBatchContextArgs); + getMessages(): KafkaMessage[]; + getConsumer(): Consumer; + getResolveOffset(): (offset: string) => void; + getHeartbeat(): () => Promise; + getPause(): () => void; + getCommitOffsetsIfNecessary(): (offsets?: Offsets) => Promise; + getUncommittedOffsets(): OffsetsByTopicPartition; + getIsRunning(): boolean; + getIsStale(): boolean; +} +export {}; diff --git a/dist/kafka.context.js b/dist/kafka.context.js new file mode 100644 index 0000000..c4353bf --- /dev/null +++ b/dist/kafka.context.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.KafkaBatchContext = void 0; +const microservices_1 = require("@nestjs/microservices"); +class KafkaBatchContext extends microservices_1.BaseRpcContext { + constructor(args) { + super(args); + } + getMessages() { + return this.getArgByIndex(0); + } + getConsumer() { + return this.getArgByIndex(1); + } + getResolveOffset() { + return this.getArgByIndex(2); + } + getHeartbeat() { + return this.getArgByIndex(3); + } + getPause() { + return this.getArgByIndex(4); + } + getCommitOffsetsIfNecessary() { + return this.getArgByIndex(5); + } + getUncommittedOffsets() { + return this.getArgByIndex(6)(); + } + getIsRunning() { + return this.getArgByIndex(7)(); + } + getIsStale() { + return this.getArgByIndex(8)(); + } +} +exports.KafkaBatchContext = KafkaBatchContext; +//# sourceMappingURL=kafka.context.js.map \ No newline at end of file diff --git a/dist/kafka.context.js.map b/dist/kafka.context.js.map new file mode 100644 index 0000000..0864792 --- /dev/null +++ b/dist/kafka.context.js.map @@ -0,0 +1 @@ +{"version":3,"file":"kafka.context.js","sourceRoot":"","sources":["../lib/kafka.context.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAoBvD,MAAa,iBAAkB,SAAQ,8BAAqC;IAC1E,YAAY,IAA2B;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,2BAA2B;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,CAAC;CACF;AAxCD,8CAwCC"} \ No newline at end of file diff --git a/dist/kafka.decorators.d.ts b/dist/kafka.decorators.d.ts new file mode 100644 index 0000000..c417344 --- /dev/null +++ b/dist/kafka.decorators.d.ts @@ -0,0 +1 @@ +export declare const BatchProcessor: (event: T) => (target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor) => void; diff --git a/dist/kafka.decorators.js b/dist/kafka.decorators.js new file mode 100644 index 0000000..194499c --- /dev/null +++ b/dist/kafka.decorators.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BatchProcessor = void 0; +const common_1 = require("@nestjs/common"); +const microservices_1 = require("@nestjs/microservices"); +const BatchProcessor = (event) => { + return (0, common_1.applyDecorators)((0, microservices_1.EventPattern)(event)); +}; +exports.BatchProcessor = BatchProcessor; +//# sourceMappingURL=kafka.decorators.js.map \ No newline at end of file diff --git a/dist/kafka.decorators.js.map b/dist/kafka.decorators.js.map new file mode 100644 index 0000000..a31f537 --- /dev/null +++ b/dist/kafka.decorators.js.map @@ -0,0 +1 @@ +{"version":3,"file":"kafka.decorators.js","sourceRoot":"","sources":["../lib/kafka.decorators.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AACjD,yDAAqD;AAE9C,MAAM,cAAc,GAAG,CAAa,KAAQ,EAAE,EAAE;IACrD,OAAO,IAAA,wBAAe,EAAC,IAAA,4BAAY,EAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"} \ No newline at end of file diff --git a/dist/kafka.deserializer.d.ts b/dist/kafka.deserializer.d.ts new file mode 100644 index 0000000..7dc848f --- /dev/null +++ b/dist/kafka.deserializer.d.ts @@ -0,0 +1,6 @@ +import { IncomingEvent, IncomingRequest } from '@nestjs/microservices'; +import { IncomingRequestDeserializer } from '@nestjs/microservices/deserializers/incoming-request.deserializer'; +import { KafkaMessage } from 'kafkajs'; +export declare class KafkaBatchDeserializer extends IncomingRequestDeserializer { + mapToSchema(data: KafkaMessage[], options: Record): IncomingRequest | IncomingEvent; +} diff --git a/dist/kafka.deserializer.js b/dist/kafka.deserializer.js new file mode 100644 index 0000000..9fa116b --- /dev/null +++ b/dist/kafka.deserializer.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.KafkaBatchDeserializer = void 0; +const incoming_request_deserializer_1 = require("@nestjs/microservices/deserializers/incoming-request.deserializer"); +class KafkaBatchDeserializer extends incoming_request_deserializer_1.IncomingRequestDeserializer { + mapToSchema(data, options) { + if (!options) { + return { + pattern: undefined, + data: undefined, + }; + } + return { + pattern: options.channel, + data: data?.map((message) => message.value), + }; + } +} +exports.KafkaBatchDeserializer = KafkaBatchDeserializer; +//# sourceMappingURL=kafka.deserializer.js.map \ No newline at end of file diff --git a/dist/kafka.deserializer.js.map b/dist/kafka.deserializer.js.map new file mode 100644 index 0000000..b377b31 --- /dev/null +++ b/dist/kafka.deserializer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"kafka.deserializer.js","sourceRoot":"","sources":["../lib/kafka.deserializer.ts"],"names":[],"mappings":";;;AACA,qHAAgH;AAGhH,MAAa,sBAAuB,SAAQ,2DAA2B;IACrE,WAAW,CACT,IAAoB,EACpB,OAA4B;QAE5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,SAAS;aAChB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;SAC5C,CAAC;IACJ,CAAC;CACF;AAjBD,wDAiBC"} \ No newline at end of file diff --git a/dist/kafka.server.d.ts b/dist/kafka.server.d.ts new file mode 100644 index 0000000..bdb9655 --- /dev/null +++ b/dist/kafka.server.d.ts @@ -0,0 +1,22 @@ +import { KafkaOptions, ServerKafka } from '@nestjs/microservices'; +import { Consumer, EachBatchHandler, EachBatchPayload } from '@nestjs/microservices/external/kafka.interface'; +import { Logger } from '@nestjs/common'; +export interface BatchKafkaOptionsConfig extends Omit { + run?: BatchConsumerRunConfig; +} +export type BatchConsumerRunConfig = { + autoCommit?: boolean; + autoCommitInterval?: number; + autoCommitThreshold?: number; + eachBatchAutoResolve?: boolean; + partitionsConsumedConcurrently?: number; +}; +export declare class KafkaBatchServer extends ServerKafka { + readonly options: BatchKafkaOptionsConfig; + logger: Logger; + constructor(options: BatchKafkaOptionsConfig); + bindEvents(consumer: Consumer): Promise; + getMessageHandler(): EachBatchHandler; + handleMessage(payload: EachBatchPayload): Promise; + protected initializeDeserializer(options: BatchKafkaOptionsConfig): void; +} diff --git a/dist/kafka.server.js b/dist/kafka.server.js new file mode 100644 index 0000000..df96bc9 --- /dev/null +++ b/dist/kafka.server.js @@ -0,0 +1,69 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.KafkaBatchServer = void 0; +const microservices_1 = require("@nestjs/microservices"); +const kafka_deserializer_1 = require("./kafka.deserializer"); +const kafka_context_1 = require("./kafka.context"); +const common_1 = require("@nestjs/common"); +class KafkaBatchServer extends microservices_1.ServerKafka { + constructor(options) { + super(options); + this.options = options; + this.logger = new common_1.Logger(KafkaBatchServer.name); + } + async bindEvents(consumer) { + const registeredPatterns = [...this.messageHandlers.keys()]; + const consumerSubscribeOptions = this.options.subscribe || {}; + if (registeredPatterns.length > 0) { + await this.consumer.subscribe({ + ...consumerSubscribeOptions, + topics: registeredPatterns, + }); + } + console.log(JSON.stringify(this.options.run, null, 2), 'CHECK: this.options.run'); + const consumerRunOptions = Object.assign(this.options.run || {}, { + eachBatch: this.getMessageHandler(), + }); + await consumer.run(consumerRunOptions); + } + getMessageHandler() { + return async (payload) => this.handleMessage(payload); + } + async handleMessage(payload) { + this.logger.log('[KAFKA] Batch messages received', 'handleMessage', { + topicName: payload.batch.topic, + partition: payload.batch.partition, + numberOfMessages: payload.batch.messages.length, + firstOffset: payload.batch.firstOffset(), + lastOffset: payload.batch.lastOffset(), + }); + const channel = payload.batch.topic; + const rawMessages = []; + for (const message of payload.batch.messages) { + rawMessages.push(this.parser.parse(Object.assign(message, { + topic: channel, + partition: payload.batch.partition, + }))); + } + const packet = await this.deserializer.deserialize(rawMessages, { + channel, + }); + const kafkaContext = new kafka_context_1.KafkaBatchContext([ + rawMessages, + this.consumer, + payload.resolveOffset, + payload.heartbeat, + payload.pause, + payload.commitOffsetsIfNecessary, + payload.uncommittedOffsets, + payload.isRunning, + payload.isStale, + ]); + return this.handleEvent(packet.pattern, packet, kafkaContext); + } + initializeDeserializer(options) { + this.deserializer = options.deserializer ?? new kafka_deserializer_1.KafkaBatchDeserializer(); + } +} +exports.KafkaBatchServer = KafkaBatchServer; +//# sourceMappingURL=kafka.server.js.map \ No newline at end of file diff --git a/dist/kafka.server.js.map b/dist/kafka.server.js.map new file mode 100644 index 0000000..00056b3 --- /dev/null +++ b/dist/kafka.server.js.map @@ -0,0 +1 @@ +{"version":3,"file":"kafka.server.js","sourceRoot":"","sources":["../lib/kafka.server.ts"],"names":[],"mappings":";;;AAAA,yDAAkE;AAOlE,6DAA8D;AAC9D,mDAAoD;AACpD,2CAAwC;AAexC,MAAa,gBAAiB,SAAQ,2BAAW;IAE/C,YAAqB,OAAgC;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,YAAO,GAAP,OAAO,CAAyB;QADrD,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAG3C,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,QAAkB;QACxC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAE9D,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC5B,GAAG,wBAAwB;gBAC3B,MAAM,EAAE,kBAAkB;aAC3B,CAAC,CAAC;QACL,CAAC;QACJ,OAAO,CAAC,GAAG,CACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EACzC,yBAAyB,CACzB,CAAC;QACC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;YAC/D,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACpC,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACzC,CAAC;IAGM,iBAAiB;QACtB,OAAO,KAAK,EAAE,OAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAGM,KAAK,CAAC,aAAa,CAAC,OAAyB;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACd,iCAAiC,EACjC,eAAe,EACf;YACC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAC9B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;YAClC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;YAC/C,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;YACxC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE;SACtC,CACD,CAAA;QACE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QACpC,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7C,WAAW,CAAC,IAAI,CACd,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;gBACrB,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;aACnC,CAAC,CACH,CACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE;YAC9D,OAAO;SACR,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,iCAAiB,CAAC;YACzC,WAAW;YACX,IAAI,CAAC,QAAQ;YACb,OAAO,CAAC,aAAa;YACrB,OAAO,CAAC,SAAS;YACjB,OAAO,CAAC,KAAK;YACb,OAAO,CAAC,wBAAwB;YAChC,OAAO,CAAC,kBAAkB;YAC1B,OAAO,CAAC,SAAS;YACjB,OAAO,CAAC,OAAO;SAChB,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC;IAES,sBAAsB,CAAC,OAAgC;QAC/D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,2CAAsB,EAAE,CAAC;IAC3E,CAAC;CACF;AA/ED,4CA+EC"} \ No newline at end of file diff --git a/dist/tsconfig.build.tsbuildinfo b/dist/tsconfig.build.tsbuildinfo new file mode 100644 index 0000000..f90f537 --- /dev/null +++ b/dist/tsconfig.build.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2021.full.d.ts","../node_modules/reflect-metadata/index.d.ts","../node_modules/@nestjs/common/services/logger.service.d.ts","../node_modules/rxjs/dist/types/internal/subscription.d.ts","../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../node_modules/rxjs/dist/types/internal/operator.d.ts","../node_modules/rxjs/dist/types/internal/observable.d.ts","../node_modules/rxjs/dist/types/internal/types.d.ts","../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../node_modules/rxjs/dist/types/internal/subject.d.ts","../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../node_modules/rxjs/dist/types/internal/notification.d.ts","../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../node_modules/rxjs/dist/types/operators/index.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../node_modules/rxjs/dist/types/testing/index.d.ts","../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../node_modules/rxjs/dist/types/internal/config.d.ts","../node_modules/rxjs/dist/types/index.d.ts","../node_modules/@nestjs/microservices/interfaces/client-grpc.interface.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@nestjs/common/cache/cache.constants.d.ts","../node_modules/@nestjs/common/interfaces/abstract.interface.d.ts","../node_modules/@nestjs/common/interfaces/controllers/controller-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/controllers/controller.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/arguments-host.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/ws-exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validation-error.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/execution-context.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/can-activate.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/custom-route-param-factory.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/nest-interceptor.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/paramtype.interface.d.ts","../node_modules/@nestjs/common/interfaces/type.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/pipe-transform.interface.d.ts","../node_modules/@nestjs/common/enums/request-method.enum.d.ts","../node_modules/@nestjs/common/enums/http-status.enum.d.ts","../node_modules/@nestjs/common/enums/shutdown-signal.enum.d.ts","../node_modules/@nestjs/common/enums/version-type.enum.d.ts","../node_modules/@nestjs/common/enums/index.d.ts","../node_modules/@nestjs/common/interfaces/version-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-configuration.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-consumer.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-config-proxy.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/nest-middleware.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/index.d.ts","../node_modules/@nestjs/common/interfaces/global-prefix-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/before-application-shutdown.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-application-bootstrap.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-application-shutdown.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-destroy.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-init.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/index.d.ts","../node_modules/@nestjs/common/interfaces/external/cors-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/https-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-context-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/http-server.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/message-event.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/raw-body-request.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/index.d.ts","../node_modules/@nestjs/common/interfaces/injectable.interface.d.ts","../node_modules/@nestjs/common/interfaces/microservices/nest-hybrid-application-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/forward-reference.interface.d.ts","../node_modules/@nestjs/common/interfaces/scope-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/injection-token.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/optional-factory-dependency.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/provider.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/dynamic-module.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/introspection-result.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/nest-module.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/index.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-context.interface.d.ts","../node_modules/@nestjs/common/interfaces/websockets/web-socket-adapter.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-microservice.interface.d.ts","../node_modules/@nestjs/common/interfaces/index.d.ts","../node_modules/@nestjs/common/module-utils/constants.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-async-options.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-cls.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-host.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/index.d.ts","../node_modules/@nestjs/common/module-utils/configurable-module.builder.d.ts","../node_modules/@nestjs/common/module-utils/index.d.ts","../node_modules/@nestjs/common/cache/interfaces/cache-manager.interface.d.ts","../node_modules/@nestjs/common/cache/interfaces/cache-module.interface.d.ts","../node_modules/@nestjs/common/cache/cache.module-definition.d.ts","../node_modules/@nestjs/common/cache/cache.module.d.ts","../node_modules/@nestjs/common/decorators/core/bind.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/catch.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/controller.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/dependencies.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/exception-filters.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/inject.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/injectable.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/optional.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/set-metadata.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-guards.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-interceptors.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-pipes.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/apply-decorators.d.ts","../node_modules/@nestjs/common/decorators/core/version.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/index.d.ts","../node_modules/@nestjs/common/decorators/modules/global.decorator.d.ts","../node_modules/@nestjs/common/decorators/modules/module.decorator.d.ts","../node_modules/@nestjs/common/decorators/modules/index.d.ts","../node_modules/@nestjs/common/decorators/http/request-mapping.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/route-params.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/http-code.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/create-route-param-metadata.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/render.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/header.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/redirect.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/sse.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/index.d.ts","../node_modules/@nestjs/common/decorators/index.d.ts","../node_modules/@nestjs/common/cache/decorators/cache-key.decorator.d.ts","../node_modules/@nestjs/common/cache/decorators/cache-ttl.decorator.d.ts","../node_modules/@nestjs/common/cache/decorators/index.d.ts","../node_modules/@nestjs/common/cache/interceptors/cache.interceptor.d.ts","../node_modules/@nestjs/common/cache/interceptors/index.d.ts","../node_modules/@nestjs/common/cache/interfaces/index.d.ts","../node_modules/@nestjs/common/cache/index.d.ts","../node_modules/@nestjs/common/exceptions/http.exception.d.ts","../node_modules/@nestjs/common/exceptions/bad-request.exception.d.ts","../node_modules/@nestjs/common/exceptions/unauthorized.exception.d.ts","../node_modules/@nestjs/common/exceptions/method-not-allowed.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-found.exception.d.ts","../node_modules/@nestjs/common/exceptions/forbidden.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-acceptable.exception.d.ts","../node_modules/@nestjs/common/exceptions/request-timeout.exception.d.ts","../node_modules/@nestjs/common/exceptions/conflict.exception.d.ts","../node_modules/@nestjs/common/exceptions/gone.exception.d.ts","../node_modules/@nestjs/common/exceptions/payload-too-large.exception.d.ts","../node_modules/@nestjs/common/exceptions/unsupported-media-type.exception.d.ts","../node_modules/@nestjs/common/exceptions/unprocessable-entity.exception.d.ts","../node_modules/@nestjs/common/exceptions/internal-server-error.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-implemented.exception.d.ts","../node_modules/@nestjs/common/exceptions/http-version-not-supported.exception.d.ts","../node_modules/@nestjs/common/exceptions/bad-gateway.exception.d.ts","../node_modules/@nestjs/common/exceptions/service-unavailable.exception.d.ts","../node_modules/@nestjs/common/exceptions/gateway-timeout.exception.d.ts","../node_modules/@nestjs/common/exceptions/im-a-teapot.exception.d.ts","../node_modules/@nestjs/common/exceptions/precondition-failed.exception.d.ts","../node_modules/@nestjs/common/exceptions/misdirected.exception.d.ts","../node_modules/@nestjs/common/exceptions/index.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/streamable-options.interface.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/streamable-handler-response.interface.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/index.d.ts","../node_modules/@nestjs/common/file-stream/streamable-file.d.ts","../node_modules/@nestjs/common/file-stream/index.d.ts","../node_modules/@nestjs/common/pipes/default-value.pipe.d.ts","../node_modules/@nestjs/common/interfaces/external/class-transform-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/transformer-package.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validator-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validator-package.interface.d.ts","../node_modules/@nestjs/common/utils/http-error-by-code.util.d.ts","../node_modules/@nestjs/common/pipes/validation.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-array.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-bool.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-int.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-float.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-enum.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-uuid.pipe.d.ts","../node_modules/@nestjs/common/pipes/file/file-validator.interface.d.ts","../node_modules/@nestjs/common/pipes/file/file-type.validator.d.ts","../node_modules/@nestjs/common/pipes/file/max-file-size.validator.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file-options.interface.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file.pipe.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file-pipe.builder.d.ts","../node_modules/@nestjs/common/pipes/file/index.d.ts","../node_modules/@nestjs/common/pipes/index.d.ts","../node_modules/@nestjs/common/serializer/class-serializer.interfaces.d.ts","../node_modules/@nestjs/common/serializer/class-serializer.interceptor.d.ts","../node_modules/@nestjs/common/serializer/decorators/serialize-options.decorator.d.ts","../node_modules/@nestjs/common/serializer/decorators/index.d.ts","../node_modules/@nestjs/common/serializer/index.d.ts","../node_modules/@nestjs/common/services/console-logger.service.d.ts","../node_modules/@nestjs/common/services/index.d.ts","../node_modules/@nestjs/common/utils/forward-ref.util.d.ts","../node_modules/@nestjs/common/utils/index.d.ts","../node_modules/@nestjs/common/index.d.ts","../node_modules/@nestjs/microservices/helpers/tcp-socket.d.ts","../node_modules/@nestjs/microservices/helpers/json-socket.d.ts","../node_modules/@nestjs/microservices/helpers/kafka-logger.d.ts","../node_modules/@nestjs/microservices/helpers/kafka-parser.d.ts","../node_modules/@nestjs/microservices/external/kafka.interface.d.ts","../node_modules/@nestjs/microservices/interfaces/packet.interface.d.ts","../node_modules/@nestjs/microservices/interfaces/deserializer.interface.d.ts","../node_modules/@nestjs/microservices/interfaces/serializer.interface.d.ts","../node_modules/@nestjs/microservices/client/client-proxy.d.ts","../node_modules/@nestjs/microservices/client/client-kafka.d.ts","../node_modules/@nestjs/microservices/helpers/kafka-reply-partition-assigner.d.ts","../node_modules/@nestjs/microservices/helpers/index.d.ts","../node_modules/@nestjs/microservices/enums/transport.enum.d.ts","../node_modules/@nestjs/microservices/external/grpc-options.interface.d.ts","../node_modules/@nestjs/microservices/external/mqtt-options.interface.d.ts","../node_modules/@nestjs/microservices/external/redis.interface.d.ts","../node_modules/@nestjs/microservices/external/rmq-url.interface.d.ts","../node_modules/@nestjs/microservices/enums/kafka-headers.enum.d.ts","../node_modules/@nestjs/microservices/enums/index.d.ts","../node_modules/@nestjs/microservices/interfaces/custom-transport-strategy.interface.d.ts","../node_modules/@nestjs/microservices/interfaces/microservice-configuration.interface.d.ts","../node_modules/@nestjs/microservices/interfaces/client-metadata.interface.d.ts","../node_modules/@nestjs/microservices/interfaces/closeable.interface.d.ts","../node_modules/@nestjs/microservices/interfaces/message-handler.interface.d.ts","../node_modules/@nestjs/microservices/interfaces/pattern-metadata.interface.d.ts","../node_modules/@nestjs/microservices/interfaces/pattern.interface.d.ts","../node_modules/@nestjs/microservices/ctx-host/base-rpc.context.d.ts","../node_modules/@nestjs/microservices/interfaces/request-context.interface.d.ts","../node_modules/@nestjs/microservices/interfaces/index.d.ts","../node_modules/@nestjs/microservices/client/client-grpc.d.ts","../node_modules/@nestjs/microservices/external/mqtt-client.interface.d.ts","../node_modules/@nestjs/microservices/record-builders/mqtt.record-builder.d.ts","../node_modules/@nestjs/microservices/client/client-mqtt.d.ts","../node_modules/@nestjs/microservices/external/nats-client.interface.d.ts","../node_modules/@nestjs/microservices/client/client-nats.d.ts","../node_modules/@nestjs/microservices/client/client-proxy-factory.d.ts","../node_modules/@nestjs/microservices/client/client-redis.d.ts","../node_modules/@nestjs/microservices/client/client-rmq.d.ts","../node_modules/@nestjs/microservices/client/client-tcp.d.ts","../node_modules/@nestjs/microservices/client/index.d.ts","../node_modules/@nestjs/microservices/ctx-host/kafka.context.d.ts","../node_modules/@nestjs/microservices/ctx-host/mqtt.context.d.ts","../node_modules/@nestjs/microservices/ctx-host/nats.context.d.ts","../node_modules/@nestjs/microservices/ctx-host/redis.context.d.ts","../node_modules/@nestjs/microservices/ctx-host/rmq.context.d.ts","../node_modules/@nestjs/microservices/ctx-host/tcp.context.d.ts","../node_modules/@nestjs/microservices/ctx-host/index.d.ts","../node_modules/@nestjs/microservices/decorators/client.decorator.d.ts","../node_modules/@nestjs/microservices/decorators/ctx.decorator.d.ts","../node_modules/@nestjs/microservices/decorators/event-pattern.decorator.d.ts","../node_modules/@nestjs/microservices/decorators/grpc-service.decorator.d.ts","../node_modules/@nestjs/microservices/decorators/message-pattern.decorator.d.ts","../node_modules/@nestjs/microservices/decorators/payload.decorator.d.ts","../node_modules/@nestjs/microservices/decorators/index.d.ts","../node_modules/@nestjs/microservices/exceptions/base-rpc-exception-filter.d.ts","../node_modules/@nestjs/microservices/exceptions/rpc-exception.d.ts","../node_modules/@nestjs/microservices/exceptions/kafka-retriable-exception.d.ts","../node_modules/@nestjs/microservices/exceptions/index.d.ts","../node_modules/@nestjs/microservices/module/interfaces/clients-module.interface.d.ts","../node_modules/@nestjs/microservices/module/interfaces/index.d.ts","../node_modules/@nestjs/microservices/module/clients.module.d.ts","../node_modules/@nestjs/microservices/module/index.d.ts","../node_modules/@nestjs/common/interfaces/microservices/nest-microservice-options.interface.d.ts","../node_modules/@nestjs/common/constants.d.ts","../node_modules/@nestjs/core/inspector/interfaces/edge.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/entrypoint.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/extras.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/node.interface.d.ts","../node_modules/@nestjs/core/injector/injector.d.ts","../node_modules/@nestjs/core/inspector/interfaces/serialized-graph-metadata.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/serialized-graph-json.interface.d.ts","../node_modules/@nestjs/core/inspector/serialized-graph.d.ts","../node_modules/@nestjs/core/injector/module-token-factory.d.ts","../node_modules/@nestjs/core/injector/compiler.d.ts","../node_modules/@nestjs/core/injector/modules-container.d.ts","../node_modules/@nestjs/core/adapters/http-adapter.d.ts","../node_modules/@nestjs/core/adapters/index.d.ts","../node_modules/@nestjs/core/constants.d.ts","../node_modules/@nestjs/core/discovery/discovery-module.d.ts","../node_modules/@nestjs/core/discovery/discovery-service.d.ts","../node_modules/@nestjs/core/discovery/index.d.ts","../node_modules/@nestjs/core/helpers/http-adapter-host.d.ts","../node_modules/@nestjs/core/exceptions/base-exception-filter.d.ts","../node_modules/@nestjs/core/exceptions/index.d.ts","../node_modules/@nestjs/core/helpers/context-id-factory.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/exception-filter-metadata.interface.d.ts","../node_modules/@nestjs/core/exceptions/exceptions-handler.d.ts","../node_modules/@nestjs/core/router/router-proxy.d.ts","../node_modules/@nestjs/core/helpers/context-creator.d.ts","../node_modules/@nestjs/core/exceptions/base-exception-filter-context.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/index.d.ts","../node_modules/@nestjs/core/exceptions/external-exception-filter.d.ts","../node_modules/@nestjs/core/exceptions/external-exceptions-handler.d.ts","../node_modules/@nestjs/core/exceptions/external-exception-filter-context.d.ts","../node_modules/@nestjs/core/guards/constants.d.ts","../node_modules/@nestjs/core/helpers/execution-context-host.d.ts","../node_modules/@nestjs/core/guards/guards-consumer.d.ts","../node_modules/@nestjs/core/guards/guards-context-creator.d.ts","../node_modules/@nestjs/core/guards/index.d.ts","../node_modules/@nestjs/core/interceptors/interceptors-consumer.d.ts","../node_modules/@nestjs/core/interceptors/interceptors-context-creator.d.ts","../node_modules/@nestjs/core/interceptors/index.d.ts","../node_modules/@nestjs/common/enums/route-paramtypes.enum.d.ts","../node_modules/@nestjs/core/pipes/params-token-factory.d.ts","../node_modules/@nestjs/core/pipes/pipes-consumer.d.ts","../node_modules/@nestjs/core/pipes/pipes-context-creator.d.ts","../node_modules/@nestjs/core/pipes/index.d.ts","../node_modules/@nestjs/core/helpers/context-utils.d.ts","../node_modules/@nestjs/core/injector/inquirer/inquirer-constants.d.ts","../node_modules/@nestjs/core/injector/inquirer/index.d.ts","../node_modules/@nestjs/core/inspector/interfaces/enhancer-metadata-cache-entry.interface.d.ts","../node_modules/@nestjs/core/inspector/graph-inspector.d.ts","../node_modules/@nestjs/core/metadata-scanner.d.ts","../node_modules/@nestjs/core/scanner.d.ts","../node_modules/@nestjs/core/injector/instance-loader.d.ts","../node_modules/@nestjs/core/injector/instance-links-host.d.ts","../node_modules/@nestjs/core/injector/abstract-instance-resolver.d.ts","../node_modules/@nestjs/core/injector/module-ref.d.ts","../node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader-options.interface.d.ts","../node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader.d.ts","../node_modules/@nestjs/core/injector/index.d.ts","../node_modules/@nestjs/core/helpers/interfaces/external-handler-metadata.interface.d.ts","../node_modules/@nestjs/core/helpers/interfaces/params-metadata.interface.d.ts","../node_modules/@nestjs/core/helpers/external-context-creator.d.ts","../node_modules/@nestjs/core/helpers/index.d.ts","../node_modules/@nestjs/core/inspector/initialize-on-preview.allowlist.d.ts","../node_modules/@nestjs/core/inspector/partial-graph.host.d.ts","../node_modules/@nestjs/core/inspector/index.d.ts","../node_modules/@nestjs/core/middleware/route-info-path-extractor.d.ts","../node_modules/@nestjs/core/middleware/routes-mapper.d.ts","../node_modules/@nestjs/core/middleware/builder.d.ts","../node_modules/@nestjs/core/middleware/index.d.ts","../node_modules/@nestjs/core/nest-application-context.d.ts","../node_modules/@nestjs/core/nest-application.d.ts","../node_modules/@nestjs/core/nest-factory.d.ts","../node_modules/@nestjs/core/repl/repl.d.ts","../node_modules/@nestjs/core/repl/index.d.ts","../node_modules/@nestjs/core/router/interfaces/routes.interface.d.ts","../node_modules/@nestjs/core/router/interfaces/index.d.ts","../node_modules/@nestjs/core/router/request/request-constants.d.ts","../node_modules/@nestjs/core/router/request/index.d.ts","../node_modules/@nestjs/core/router/router-module.d.ts","../node_modules/@nestjs/core/router/index.d.ts","../node_modules/@nestjs/core/services/reflector.service.d.ts","../node_modules/@nestjs/core/services/index.d.ts","../node_modules/@nestjs/core/index.d.ts","../node_modules/@nestjs/core/injector/container.d.ts","../node_modules/@nestjs/core/injector/module.d.ts","../node_modules/@nestjs/core/injector/instance-wrapper.d.ts","../node_modules/@nestjs/core/router/interfaces/exclude-route-metadata.interface.d.ts","../node_modules/@nestjs/core/application-config.d.ts","../node_modules/@nestjs/microservices/nest-microservice.d.ts","../node_modules/@nestjs/microservices/record-builders/nats.record-builder.d.ts","../node_modules/@nestjs/microservices/record-builders/rmq.record-builder.d.ts","../node_modules/@nestjs/microservices/record-builders/index.d.ts","../node_modules/@nestjs/microservices/server/server.d.ts","../node_modules/@nestjs/microservices/server/server-grpc.d.ts","../node_modules/@nestjs/microservices/server/server-kafka.d.ts","../node_modules/@nestjs/microservices/server/server-mqtt.d.ts","../node_modules/@nestjs/microservices/server/server-nats.d.ts","../node_modules/@nestjs/microservices/server/server-redis.d.ts","../node_modules/@nestjs/microservices/server/server-rmq.d.ts","../node_modules/@nestjs/microservices/server/server-tcp.d.ts","../node_modules/@nestjs/microservices/server/index.d.ts","../node_modules/@nestjs/microservices/tokens.d.ts","../node_modules/@nestjs/microservices/index.d.ts","../node_modules/@nestjs/microservices/deserializers/incoming-request.deserializer.d.ts","../node_modules/kafkajs/types/index.d.ts","../lib/kafka.deserializer.ts","../lib/kafka.context.ts","../lib/kafka.server.ts","../node_modules/@nestjs/core/errors/exceptions/runtime.exception.d.ts","../node_modules/@nestjs/microservices/errors/invalid-message.exception.d.ts","../node_modules/@nestjs/common/utils/shared.utils.d.ts","../lib/kafka.client.ts","../lib/kafka.decorators.ts","../lib/index.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/body-parser/index.d.ts","../node_modules/@types/cookiejar/index.d.ts","../node_modules/@types/eslint/helpers.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/eslint/index.d.ts","../node_modules/@types/eslint-scope/index.d.ts","../node_modules/@types/mime/index.d.ts","../node_modules/@types/send/index.d.ts","../node_modules/@types/qs/index.d.ts","../node_modules/@types/range-parser/index.d.ts","../node_modules/@types/express-serve-static-core/index.d.ts","../node_modules/@types/http-errors/index.d.ts","../node_modules/@types/serve-static/index.d.ts","../node_modules/@types/express/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/methods/index.d.ts","../node_modules/@types/parse-json/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/superagent/lib/agent-base.d.ts","../node_modules/@types/superagent/lib/node/response.d.ts","../node_modules/@types/superagent/types.d.ts","../node_modules/@types/superagent/lib/node/agent.d.ts","../node_modules/@types/superagent/lib/request-base.d.ts","../node_modules/@types/superagent/lib/node/index.d.ts","../node_modules/@types/superagent/index.d.ts","../node_modules/@types/supertest/types.d.ts","../node_modules/@types/supertest/lib/agent.d.ts","../node_modules/@types/supertest/lib/test.d.ts","../node_modules/@types/supertest/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"c1e8d979afc15d66e2bd5a58c732d5a2ba3ccaae41ac7d5a2c539e6de66a8e51",{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true},"d901aa6c9e16f0e98d27c3eb3c36ce7391fe91ab1e923799c0cdabe8d50e7a82","ecf5cb089ea438f2545e04b6c52828c68d0b0f4bfaa661986faf36da273e9892","95444fb6292d5e2f7050d7021383b719c0252bf5f88854973977db9e3e3d8006","241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","06540a9f3f2f88375ada0b89712de1c4310f7398d821c4c10ab5c6477dafb4bc",{"version":"de2d3120ed0989dbc776de71e6c0e8a6b4bf1935760cf468ff9d0e9986ef4c09","affectsGlobalScope":true},"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","97bdf234f5db52085d99c6842db560bca133f8a0413ff76bf830f5f38f088ce3","a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","b493ff8a5175cbbb4e6e8bcfa9506c08f5a7318b2278365cfca3b397c9710ebc","e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","303ee143a869e8f605e7b1d12be6c7269d4cab90d230caba792495be595d4f56","89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","a5eb4835ab561c140ffc4634bb039387d5d0cceebb86918f1696c7ac156d26fd","c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","4252b852dd791305da39f6e1242694c2e560d5e46f9bb26e2aca77252057c026","0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","ba13c7d46a560f3d4df8ffb1110e2bbec5801449af3b1240a718514b5576156e","6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","05c4e2a992bb83066a3a648bad1c310cecd4d0628d7e19545bb107ac9596103a","b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","dd6c3362aaaec60be028b4ba292806da8e7020eef7255c7414ce4a5c3a7138ef","8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","3114b315cd0687aad8b57cff36f9c8c51f5b1bc6254f1b1e8446ae583d8e2474","0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","af733cb878419f3012f0d4df36f918a69ba38d73f3232ba1ab46ef9ede6cb29c","cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","0a01b0b5a9e87d04737084731212106add30f63ec640169f1462ba2e44b6b3a8","06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","e07d62a8a9a3bb65433a62e9bbf400c6bfd2df4de60652af4d738303ee3670a1","bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","851e8d57d6dd17c71e9fa0319abd20ab2feb3fb674d0801611a09b7a25fd281c","c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","748e79252a7f476f8f28923612d7696b214e270cc909bc685afefaac8f052af0","9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","c3f32a185cd27ac232d3428a8d9b362c3f7b4892a58adaaa022828a7dcd13eed","3139c3e5e09251feec7a87f457084bee383717f3626a7f1459d053db2f34eb76","4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","3be870c8e17ec14f1c18fc248f5d2c4669e576404744ff5c63e6dafcf05b97ea","56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","6ab380571d87bd1d6f644fb6ab7837239d54b59f07dc84347b1341f866194214","547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","7c9ed7ffdc6f843ab69e5b2a3e7f667b050dd8d24d0052db81e35480f6d4e15d","7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","3656f0584d5a7ee0d0f2cc2b9cffbb43af92e80186b2ce160ebd4421d1506655","a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","90f690a1c5fcb4c2d19c80fea05c8ab590d8f6534c4c296d70af6293ede67366","be95e987818530082c43909be722a838315a0fc5deb6043de0a76f5221cbad24","9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","1f6058d60eaa8825f59d4b76bbf6cc0e6ad9770948be58de68587b0931da00cc","5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","50100b1a91f61d81ca3329a98e64b7f05cddc5e3cb26b3411adc137c9c631aca","11aceaee5663b4ed597544567d6e6a5a94b66857d7ebd62a9875ea061018cd2c","6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","669b754ec246dd7471e19b655b73bda6c2ca5bb7ccb1a4dff44a9ae45b6a716a","4bb6035e906946163ecfaec982389d0247ceeac6bdee7f1d07c03d9c224db3aa","8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","c82857a876075e665bbcc78213abfe9e9b0206d502379576d7abd481ade3a569","4f71d883ed6f398ba8fe11fcd003b44bb5f220f840b3eac3c395ad91304e4620","5229c3934f58413f34f1b26c01323c93a5a65a2d9f2a565f216590dfbed1fe32","9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","4c754b03f36ff35fc539f9ebb5f024adbb73ec2d3e4bfb35b385a05abb36a50e","59507446213e73654d6979f3b82dadc4efb0ed177425ae052d96a3f5a5be0d35","a914be97ca7a5be670d1545fc0691ac3fbabd023d7d084b338f6934349798a1f","8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","87437ca9dabab3a41d483441696ff9220a19e713f58e0b6a99f1731af10776d7","26c5dfa9aa4e6428f4bb7d14cbf72917ace69f738fa92480b9749eebce933370","8e94328e7ca1a7a517d1aa3c569eac0f6a44f67473f6e22c2c4aff5f9f4a9b38","d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","299f0af797897d77685d606502be72846b3d1f0dc6a2d8c964e9ea3ccbacf5bc","12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","3c97b5ea66276cf463525a6aa9d5bb086bf5e05beac70a0597cda2575503b57b","b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","a31383256374723b47d8b5497a9558bbbcf95bcecfb586a36caf7bfd3693eb0e","06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","64aa66c7458cbfd0f48f88070b08c2f66ae94aba099dac981f17c2322d147c06","11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","9814545517193cf51127d7fbdc3b7335688206ec04ee3a46bba2ee036bd0dcac","0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","991dca71f63a50d246e93c4cb3d40648fc229a3c125d6a169af0e836a1bced04","efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"e2eb1ce13a9c0fa7ab62c63909d81973ef4b707292667c64f1e25e6e53fa7afa","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","f1ace2d2f98429e007d017c7a445efad2aaebf8233135abdb2c88b8c0fef91ab","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"55e4dd9e99dc8c0e0c157720f009c20299be773d4b3249249ef0c051471b84dc","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","2a3938a64e7feda38e8e969c8927c52eb1a63a3a9629ae237f449b91c6b11881","e89535c3ec439608bcd0f68af555d0e5ddf121c54abe69343549718bd7506b9c","622a984b60c294ffb2f9152cf1d4d12e91d2b733d820eec949cf54d63a3c1025","81aae92abdeaccd9c1723cef39232c90c1aed9d9cf199e6e2a523b7d8e058a11","6f82246edf7cb59b907091903fa16a609a24035d01dc61b0f66a574c77b8b46e","75b57b109d774acca1e151df21cf5cb54c7a1df33a273f0457b9aee4ebd36fb9","795a08ae4e193f345073b49f68826ab6a9b280400b440906e4ec5c237ae777e6","8153df63cf65122809db17128e5918f59d6bb43a371b5218f4430c4585f64085","a8150bc382dd12ce58e00764d2366e1d59a590288ee3123af8a4a2cb4ef7f9df","5adfaf2f9f33957264ad199a186456a4676b2724ed700fc313ff945d03372169","d5c41a741cd408c34cb91f84468f70e9bda3dfeabf33251a61039b3cdb8b22d8","c91d3f9753a311284e76cdcb348cbb50bca98733336ec726b54d77b7361b34de","cbaf4a4aa8a8c02aa681c5870d5c69127974de29b7e01df570edec391a417959","c7135e329a18b0e712378d5c7bc2faec6f5ab0e955ea0002250f9e232af8b3e4","340a45cd77b41d8a6deda248167fa23d3dc67ec798d411bd282f7b3d555b1695","fae330f86bc10db6841b310f32367aaa6f553036a3afc426e0389ddc5566cd74","0ed6417b905cddb85f98281cb3b5b137d393955521993d9ce069d5e2d6b26ee8","54c3822eaf6436f2eddc92dd6e410750465aba218adbf8ce5d488d773919ec01","99d99a765426accf8133737843fb024a154dc6545fc0ffbba968a7c0b848959d","c782c5fd5fa5491c827ecade05c3af3351201dd1c7e77e06711c8029b7a9ee4d","883d2104e448bb351c49dd9689a7e8117b480b614b2622732655cef03021bf6d","d9b00ee2eca9b149663fdba1c1956331841ae296ee03eaaff6c5becbc0ff1ea8","09a7e04beb0547c43270b327c067c85a4e2154372417390731dfe092c4350998","eee530aaa93e9ec362e3941ee8355e2d073c7b21d88c2af4713e3d701dab8fef","b5ef97d6974dc1246197361e661027adb2625a8544bb406d5ad1daae0fe47a22","8b8b92781a6bf150f9ee83f3d8ee278b6cdb98b8308c7ab3413684fc5d9078ef","7a0e4cd92545ad03910fd019ae9838718643bd4dde39881c745f236914901dfa","c99ebd20316217e349004ee1a0bc74d32d041fb6864093f10f31984c737b8cad","6f622e7f054f5ab86258362ac0a64a2d6a27f1e88732d6f5f052f422e08a70e7","d62d2ef93ceeb41cf9dfab25989a1e5f9ca5160741aac7f1453c69a6c14c69be","1491e80d72873fc586605283f2d9056ee59b166333a769e64378240df130d1c9","c32c073d389cfaa3b3e562423e16c2e6d26b8edebbb7d73ccffff4aa66f2171d","eca72bf229eecadb63e758613c62fab13815879053539a22477d83a48a21cd73","633db46fd1765736409a4767bfc670861468dde60dbb9a501fba4c1b72f8644d","a2d8505de5a285a95212b0e7d8abb5a85944bbc76c50804d5fe2d001b9f5dcac","a314a39426700ba2b5a76c01bab321bbe79cfef898dae996e930b017fc2b0af9","22cca068109eb0e6b4f8acc3fe638d1e6ac277e2044246438763319792b546a1","8776e64e6165838ac152fa949456732755b0976d1867ae5534ce248f0ccd7f41","8f36167f4c3f3e9d385902c94b7e860974c5f17e98fbafd0951d21ef5bed0325","5c4c5b49bbb01828402bb04af1d71673b18852c11b7e95bfd5cf4c3d80d352c8","b1879b3db28afe9ba769e84058e7d544c55322e69f34b928df96ec50f17a051d","72afd0094250e7f765576466170a299d0959a4799dbf28eb56ba70ca4772a8b4","d12cc0e5b09943c4cd0848f787eb9d07bf78b60798e4588c50582db9d4decc70","53b094f1afe442490555eeeb0384fc1ceb487560c83e31f9c64fb934c2dccd94","19c3760af3cbc9da99d5b7763b9e33aaf8d018bc2ed843287b7ff4343adf4634","9d1e38aeb76084848d2fcd39b458ec88246de028c0f3f448b304b15d764b23d2","f3f6fea3a0e4a276e272c2c5d837225588465c54314fba70920886c1cf214036","4898c93890a136da9156c75acd1a80a941a961b3032a0cf14e1fa09a764448b7","f5d7a845e3e1c6c27351ea5f358073d0b0681537a2da6201fab254aa434121d3","9ddf8e9069327faa75d20135cab675779844f66590249769c3d35dd2a38c2ba9","d7c30f0abfe9e197e376b016086cf66b2ffb84015139963f37301ed0da9d3d0d","ff75bba0148f07775bcb54bf4823421ed4ebdb751b3bf79cc003bd22e49d7d73","d40d20ac633703a7333770bfd60360126fc3302d5392d237bbb76e8c529a4f95","35a9867207c488061fb4f6fe4715802fbc164b4400018d2fa0149ad02db9a61c","91bf47a209ad0eae090023c3ebc1165a491cf9758799368ffcbee8dbe7448f33","0abe2cd72812bbfc509975860277c7cd6f6e0be95d765a9da77fee98264a7e32","4894a2c13e65af4fea49a2013e9123fe767a26ae51adb156e1a48dffba1e82f7","fc2a131847515b3dff2f0e835633d9a00a9d03ed59e690e27eec85b7b0522f92","90433c678bc26751eb7a5d54a2bb0a14be6f5717f69abb5f7a04afc75dce15a4","55ae9554811525f24818e19bdc8779fa99df434be7c03e5fc47fa441315f0226","24abac81e9c60089a126704e936192b2309413b40a53d9da68dadd1dd107684e","f13310c360ecffddb3858dcb33a7619665369d465f55e7386c31d45dfc3847bf","e7bde95a05a0564ee1450bc9a53797b0ac7944bf24d87d6f645baca3aa60df48","62e68ce120914431a7d34232d3eca643a7ddd67584387936a5202ae1c4dd9a1b","4e49cb98e2c4e546dd90fb6a867ef88978dea05502df92cb252078cdd407cd1d","e1cb8168c7e0bd4857a66558fe7fe6c66d08432a0a943c51bacdac83773d5745","e01fb136bf292484f25fac577cb6250cf1db560a86b1326e554099ec55b54eeb","542c82d80b4d946c72425742177ece52de77fecdecac63e6c1070729204ca457","2dc0750a27be939a2355119131bd4d11dc927c6d9760b08e2ad77eb752774418","0c90ab49d2fde21d62f9e861f792be2623f4a1698130c1d99a13735e0ec59b9c","6d8dedbec739bc79642c1e96e9bfc0b83b25b104a0486aebf016fc7b85b39f48","cd0565ace87a2d7802bf4c20ea23a997c54e598b9eb89f9c75e69478c1f7a0b4","738020d2c8fc9df92d5dee4b682d35a776eaedfe2166d12bc8f186e1ea57cc52","86dd7c5657a0b0bc6bee8002edcfd544458d3d3c60974555746eb9b2583dc35e","d97b96b6ecd4ee03f9f1170722c825ef778430a6a0d7aab03b8929012bf773cd","e0edbc41128958780ebe267c34e299424cf06469a4306e8179d4c8adfb7dce5b","272dbfe04cfa965d6fff63fdaba415c1b5a515b1881ae265148f8a84ddeb318f","167527ff615d4150be4242dfd75ffc74e8ea939d8166621fb132e06057426db5","e7f68ad89f943f167d40e045423f035beed4f91d4ceeec02381289211af1c644","72636f59b635c378dc9ea5246b9b3517b1214e340e468e54cb80126353053b2e","ebb79f267a3bf2de5f8edc1995c5d31777b539935fab8b7d863e8efb06c8e9ea","ada033e6a4c7f4e147e6d76bb881069dc66750619f8cc2472d65beeec1100145","52ff5e1ea35c54428b46c75fd14f87b7a7158a8f4a1ecfc4a9b996a03185c738","605d29d619180fbec287d1701e8b1f51f2d16747ec308d20aba3e9a0dac43a0f","67c19848b442d77c767414084fc571ce118b08301c4ddff904889d318f3a3363","c704ff0e0cb86d1b791767a88af21dadfee259180720a14c12baee668d0eb8fb","195c50e15d5b3ea034e01fbdca6f8ad4b35ad47463805bb0360bdffd6fce3009","da665f00b6877ae4adb39cd548257f487a76e3d99e006a702a4f38b4b39431cb","0d276d377a0bf0f35e8d7a5b871922ebfa6aff1757d1bbe27a7982b15ce78516","79cfed5eb33a189e2a590d4b4bb53ec0edd0624779d51126caae6395620a717d","d7a4309673b06223537bc9544b1a5fe9425628e1c8ab5605f3c5ebc27ecb8074","a1ca31e02359442c3e254204445cded3a4712e8830663a0fe06f894b8982ab7c","3eadfd083d40777b403f4f4eecfa40f93876f2a01779157cc114b2565a7afb51","3ac0b94ba8f884f63d38450ce9e29ecd59ff00805ffdd609193d7532b8605459","a3684ea9719122f9477902acd08cd363a6f3cff6d493df89d4dc12fa58204e27","2828dabf17a6507d39ebcc58fef847e111dcf2d51b8e4ff0d32732c72be032b3","c0c46113b4cd5ec9e7cf56e6dbfb3930ef6cbba914c0883eeced396988ae8320","118ea3f4e7b9c12e92551be0766706f57a411b4f18a1b4762cfde3cd6d4f0a96","177786b3c224d1f01950ac607274c83f93919c07aae331b419a4f712db50cd71","22056482baf1222bb2fba8f585c62e38e9150eee9b1a6fb681c58d6997167513","eeb24fa259f000f6b51a1fe89123f55de081eb2a0ef8d8f847afd67af49cfb68","cdc5cbcba8c60ce5ed09d125e029bb68afa420d3625defecac45241059183e42","e21bb2cfbcdd8ce7eebb72422f3660806724f2b16cd6ce126d527511abb3a379","c04146836a55ea071b435298335e47f569db0e4d3ae420e35c83e448f944192f","31f71fe23daabea143fc8bd21dae0d5908227180fcda38ad3674df70351f9761","517168a194de5ffaf307e9f8d9eea05952997e795c2f21f8fbc37c64bc8c3872","6305acbe492b9882ec940f8f0c8e5d1e1395258852f99328efcb1cf1683ca817","7619b1f6087a4e9336b2c42bd784b05aa4a2204a364b60171e5a628f817a381e","15be9120572c9fbcd3c267bd93b4140354514c9e70734e6fcca65ff4a246f83a","412482ab85893cec1d6f26231359474d1f59f6339e2743c08da1b05fc1d12767","858e2315e58af0d28fcd7f141a2505aba6a76fd10378ba0ad169b0336fee33fc","02da6c1b34f4ae2120d70cf5f9268bf1aedf62e55529d34f5974f5a93655ce38","3ecf179ef1cc28f7f9b46c8d2e496d50b542c176e94ed0147bab147b4a961cd6","b145da03ce7e174af5ced2cbbd16e96d3d5c2212f9a90d3657b63a5650a73b7f","c7aadab66a2bc90eeb0ab145ca4daebcbc038e24359263de3b40e7b1c7affba6","99518dc06286877a7b716e0f22c1a72d3c62be42701324b49f27bcc03573efff","f4575fd196a7e33c7be9773a71bcc5fbe7182a2152be909f6b8e8e7ba2438f06","05cba5acd77a4384389b9c62739104b5a1693efd66e6abac6c5ffc53280ae777","acacda82ebd929fe2fe9e31a37f193fc8498a7393a1c31dc5ceb656e2b45b708","1b13e7c5c58ab894fe65b099b6d19bb8afae6d04252db1bf55fe6ba95a0af954","4355d326c3129e5853b56267903f294ad03e34cc28b75f96b80734882dedac80","37139a8d45342c05b6a5aa1698a2e8e882d6dca5fb9a77aa91f05ac04e92e70b","e37191297f1234d3ae54edbf174489f9a3091a05fe959724db36f8e58d21fb17","3fca8fb3aab1bc7abb9b1420f517e9012fdddcbe18803bea2dd48fad6c45e92e","d0b0779e0cac4809a9a3c764ba3bd68314de758765a8e3b9291fe1671bfeb8a1","d2116b5f989aa68e585ae261b9d6d836be6ed1be0b55b47336d9f3db34674e86","d79a227dd654be16d8006eac8b67212679d1df494dfe6da22ea0bd34a13e010c","b9c89b4a2435c171e0a9a56668f510a376cb7991eaecef08b619e6d484841735","e2efbe9ad735950e0536a93120106219a25f45ba0ab7984d58497b5c9d19330e","6a79b61f57699de0a381c8a13f4c4bcd120556bfab0b4576994b6917cb62948b","c5133d7bdec65f465df12f0b507fbc0d96c78bfa5a012b0eb322cf1ff654e733","ac417fa503b647015b710d1a12263a0b806941f817e1da7bf984a1c3c4c809b8","89049878a456b5e0870bb50289ea8ece28a2abd0255301a261fa8ab6a3e9a07d","a464510505f31a356e9833963d89ce39f37a098715fc2863e533255af4410525","ebbe6765a836bfa7f03181bc433c8984ca29626270ca1e240c009851222cb8a7","ac10457b51ee4a3173b7165c87c795eadd094e024f1d9f0b6f0c131126e3d903","468df9d24a6e2bc6b4351417e3b5b4c2ca08264d6d5045fe18eb42e7996e58b4","954523d1f4856180cbf79b35bd754e14d3b2aea06c7efd71b254c745976086e9","a8af4739274959d70f7da4bfdd64f71cfc08d825c2d5d3561bc7baed760b33ef","3e1e58eff1981ef808ead362d1586c132b309247cd14e3929fbd36d9ca80d3fe","cc32874a27100c32e3706d347eb4f435d6dd5c0d83e547c157352f977bbc6385","a09567a488bd983272237b452028e67baad3ab7aac24ca83272f4f61400457f9","cd8e72cf93f1877bf738e0256016c8220d0a123b3089df7a5f2f8e3948ceeb9f","b4b56fbf462dd43f620d94a35980294d6448ed23be326f43febe49870bd1975e","39638596dd5adcebe44e694b77819ca75202bcfc7ec32284d70ef71792a57a37","bf6304f9601f5d64e1d5400f4409b493524fddb0cb9cbb4341641a32686cd41a","b0dcf28329f04e586275faab9086ca9f8e45eeea0dc531f6da24d91f46fd4c6d","4a24dbeffe6031f12d5d74a9e96e3fa86ef607e1dbf8487107503f6816597579","982476b86f043638156f14e35411e700845f098f0d53be81291292d90487bc46","99193bafaa9ce112889698de25c4b8c80b1209bb7402189aea1c7ada708a8a54","07b47ab8350b539e0a440dbf0e3bc5c9d607e339226e73892bf4450e2a3071b1","c48932ab06a4e7531bdca7b0f739ace5fa273f9a1b9009bcd26902f8c0b851f0","df6c83e574308f6540c19e3409370482a7d8f448d56c65790b4ac0ab6f6fedd8","32f19b665839b1382b21afc41917cda47a56e744cd3df9986b13a72746d1c522","8db1ed144dd2304b9bd6e41211e22bad5f4ab1d8006e6ac127b29599f4b36083","843a5e3737f2abbbbd43bf2014b70f1c69a80530814a27ae1f8be213ae9ec222","6fc1be224ad6b3f3ec11535820def2d21636a47205c2c9de32238ba1ac8d82e6","5a44788293f9165116c9c183be66cefef0dc5d718782a04847de53bf664f3cc1","afd653ae63ce07075b018ba5ce8f4e977b6055c81cc65998410b904b94003c0a","ff479d52c3152f7d6621f3957b3dff90cc8624993b2c18e6f26810cf074e1576","9f96b9fd0362a7bfe6a3aa70baa883c47ae167469c904782c99ccc942f62f0dc","9172155acfeb17b9d75f65b84f36cb3eb0ff3cd763db3f0d1ad5f6d10d55662f","71807b208e5f15feffb3ff530bec5b46b1217af0d8cc96dde00d549353bcb864","67f7637f370ee8c18fe060c901e071db2c4368de90a5c58cf1f959d12b0c2f7e","cf8ebc0a3d3a08ad8abb8b7af880d1f045a446c9da9dbd5842d3eab38c36ba98","3e2b63598f0df7049ead22336ce488939ea9f0c84002aa54f4b47c32a024892e","b420a50534e8769f04610534ddfbc5f71cec931f9c00ce6415db7d5a71517baa","dc812ca733bf1c3d8270dd17ed0396cbdae1c653ab0a03ecda19aeaa09329c6b","9a1ff6fcb04450775ee755b710c7038732298df1eb27dae1c1462818a52834da","2ee3ce165361ebb9223ac786585fec66c88812bd06e169477c6b720e0f5f59d6","240a7a364e8c97a56890cc9c062c21ad36be2c9e65ed43b4d93b9a09241e3a33","cecf0cfaa838d1f12ab65cd5c3c426b95bb13b88b4a9cbc2d4c42d6d975f894a","5b7eb240540b3b893139a7c07ac3b58c300bc82fe0b922ab1fde75b051fa1bf7","e65afbd156fdd28596894abbd633ec4ee4731f215ddfd1f1b9a911df54f2c19e","969f4c6717a50bbf2a88b88196529e9ddc13f7d0285eb6c0c31984e1bdae5c02","894710a15d1d4723d5e7a30f1bc2979b57535d9851713347d88f4eb62dbc6e0b","adc6974bb6588dfecba07e0384031c4b6569871db22597e3bd2e2caf8c0501db","f2bc549817ffbf49512f8c53b452104c2a44c062d41c755d40d1b52e8b883c68","d3635adcedc7d852ac8bab0303ed1be48f07451cccb3b6cac376b7f17aae7597","310e6c782e4bed20d14731cca117f7b2bc809f505136c01e7b7bd5e11eac838b","f4f0ebc40ef3932fdef7754645e72bf432df51999a823d541f4b6b78a837af93","a2384708f89e165eb50ec60c4f2ae2b34f6741396847af1ea7030efde5ec7504","fd68ec89794433cb0171e5c6474654dc291789a3e3257c78bedd4e5836f59278","cf5b901f33bfdf4a4bfbd9028b9a42a7dcf43f6ae10fd3318d16281caf6864cb","03c06db77190f62ad134245497cff7159654c03abab17e2af5a613889d2ffafc","cd4d5ca11f29830fa4f41a86197626bc03a8af64fa2b7f5c25f7086315573744","17cba22c12cb6929e4645922b79683d5f842479d2952380a656f3d5bf56f5ee6","2d4ae2d55c3d16d2816e05d7a6426bfacc676fdb2dd548d51084cfa6379ca9c5","d319ef69302c708260a63f058f5dedf939b962644ea1cb82d4f24b4049925981","107278717e50dba422492278c86869043296559da6b2a73b5ed93b539933463c","4901dccb0f6bd199e820104322c4015f187d14bce3a3d42f073ac7b97baf883a","877fb70d6d0d1482a15ce5f9daf6bf8751c6cb27719674f25ab8e5f383806531","57c4e669a81405bfdb1df871a5b1879446483fcd9540862c0e42b90e99e632a8","366fbb02a85b48e2ddc83d223bf1cdea1a78d13cf9ede9090a0be8abff0302fa","52fb145640b1c8937d04886042382081c51d585b6ce105b7c5cf54c482ec0576","cbdface9d2b109667ab1511c7688aff2eac46dc1356f3fc6ae0c039ce3511171","d3e13e03f21024ea55efdb27a9edf2d6e0a5ed4efd98b2675898f5216eee768d","48dbab43f91b7c69f858acf809e4ca2b000aacff26008291aa0f23b18cbcd610","5a5eb3eeb54337565aba85be14188229cae6e65f1728fcf7954ea56cbc07f030","f464038869283aacde9429cf7a5dde28fad72afb92ba793956c3507492691c61","efe2543bca916d4868a140f5af46eff0bafb2c9000654fdc1f0e269e1be5569b","0fd333d6afab9684e08ce4fbce8c8b9da774b472efbd610d7a6df33c14487ab5","0ce8bc427ee39ccfad8b1ea6a522cb178aeb95fa61e70257b1a9f296794d6139","6ac5233c95cb514dd7bf4797260e1f221ed0ddfe4153f9b0267cc28d9af7d9b2","ff0f66cbd41c77eee6efe50a4ae461e51675aace5b831267f36d522577450a97","4e5e9372ce5346cc7a1e554653104a7a45c7d0e5b03ad198d2027d937d12057f","2cff7d61ca1b48d7843ba7e43999e078476563bafe31b3bb9d99fdf17637dbe4","02f2f3ca3bf06336f90014a7afddc621a11fd23211da7c4a66d6b4facfb4c91d","f926273308f262880c3c3f08f827a4fad02ab84445356a8ee6e5c69cd680850a","c02c9bc678170bc8bfdc2c37794b5d546c13fc902106e252b1be95f1c9479019","905b0cea2b94535bd0a95ff9892e589bc07217cb00126be9bc937448e68490b7","bb362768aef0a1eacc2ec15be24555b8f4d201c6a415d8ee5efe4c5f3ca5952f","8c47c4dc236954c94f90c021e692f943e923e286043d1f1d0103943bac422f50","cc174e03736ad98cae4c795da28ba18194a8ed7e44eb72480acb8362b75eb96b","e0b2609c423883d2eccb3ee87034755351f20b3d1a1dc51f117cbeff4d3c0cc2","dab8857ec152d25731b402b0ff4a998caa4f45c885412dca7f3d3ad1858aa702","16d6ebeae3b39565f5546efb7bf1c5dccc9c5f275baab445d979956fb1199d39","f23a3f3cd403758f611beb621b2560d1a3472725038473a820010487e5c23c02","7ce30c87b77917ba91db70476677b6fd3ed16b9ee5b7e5498b59d4d76f63efca","0fd31364612236bcab4deb1390440574608fb6da8946cae07acf8322bf3dd3e8","72e488dd47430be1907dc7e94845888505062c6a43bb7ad88446c056366e6cab","31481f5b6f5db0cbd7a58357acc76bbdb901d1fe4dc14960455c1e8ce8786ab8","2b3fdd1a1dca7c6d26a89c08c89948d30a7f34bf5af19b32364974a20137c323","0232ccf6acd7eedd387374b78026cf210c2fc8f84ba859d88abb7cfe99e4d6ba","d0d2cfabc04d096c0dd9e5f7514f9add50765c09ee14875565f275f9e2227434","dc58cf370cd637b7bfa342c946a40e3c461bba12093c5019fec7a79ee2c41caa","1b33478647aa1b771314745807397002a410c746480e9447db959110999873ce","02b67db59fa2ece3a1a3b35dd0ae2a0d18d0a29107aea16d6408a185760080f4","192a0c215bffe5e4ac7b9ff1e90e94bf4dfdad4f0f69a5ae07fccc36435ebb87","3ef8565e3d254583cced37534f161c31e3a8f341ff005c98b582c6d8c9274538","d7e42a3800e287d2a1af8479c7dd58c8663e80a01686cb89e0068be6c777d687","1098034333d3eb3c1d974435cacba9bd5a625711453412b3a514774fec7ca748","a31b46e0100c8ea188ca66b0cb6c967964c661527a2100f4a839a3003fc9b925","f477375e6f0bf2a638a71d4e7a3da8885e3a03f3e5350688541d136b10b762a6","a44d6ea4dc70c3d789e9cef3cc42b79c78d17d3ce07f5fd278a7e1cbe824da56","a74519588a22a1c254c2853ba4dc82d0dfc1da22ad7ac7fd6feb6a91236ef5d1","c93d8bc910212402ef392e810dd28b1e6d5148f2a78137d6a0a04db5db3bc156","875c43c5409e197e72ee517cb1f8fd358406b4adf058dbdc1e50c8db93d68f26","8854713984b9588eac1cab69c9e2a6e1a33760d9a2d182169059991914dd8577","e9cba458ea179833bba7b180c10e7293b4986d2f66a7bd99c13f243d91bab3d4","8b0b6a4c032a56d5651f7dd02ba3f05fbfe4131c4095093633cda3cae0991972","53ce488a97f0b50686ade64252f60a1e491591dd7324f017b86d78239bd232ca","50fd11b764194f06977c162c37e5a70bcf0d3579bf82dd4de4eee3ac68d0f82f","ad5ad568f2f537a43dcc1588b2379f9dc79539ae36b8821b13a5d03625211eb2","99579aa074ed298e7a3d6a47e68f0cd099e92411212d5081ce88344a5b1b528d","d2d58166965f631fa203f405f3713b0f86f1f8b80755e9daea43057a25311e16","ce7dbf31739cc7bca35ca50e4f0cbd75cd31fd6c05c66841f8748e225dc73aaf","942ab34f62ac3f3d20014615b6442b6dc51815e30a878ebc390dd70e0dec63bf","7a671bf8b4ad81b8b8aea76213ca31b8a5de4ba39490fbdee249fc5ba974a622","8e07f13fb0f67e12863b096734f004e14c5ebfd34a524ed4c863c80354c25a44","9fdae68f5014445584ba6c1d49b7d4716ca6a85e6eb9c9b6ef624eef848439bc","aa2d6531a04d6379318d29891de396f61ccc171bfd2f8448cc1649c184becdf2","d422f0c340060a53cb56d0db24dd170e31e236a808130ab106f7ab2c846f1cdb","424403ef35c4c97a7f00ea85f4a5e2f088659c731e75dbe0c546137cb64ef8d8","16900e9a60518461d7889be8efeca3fe2cbcd3f6ce6dee70fea81dfbf8990a76","6daf17b3bd9499bd0cc1733ab227267d48cd0145ed9967c983ccb8f52eb72d6e","e4177e6220d0fef2500432c723dbd2eb9a27dcb491344e6b342be58cc1379ec0","83ecc0755f6126b449fafb29740e74493e1f0fcc296fd8322c7e98be0d7aca05","db7ff3459e80382c61441ea9171f183252b6acc82957ecb6285fff4dca55c585","4a168e11fe0f46918721d2f6fcdb676333395736371db1c113ae30b6fde9ccd2","2a899aef0c6c94cc3537fe93ec8047647e77a3f52ee7cacda95a8c956d3623fb","ef2c1585cad462bdf65f2640e7bcd75cd0dbc45bae297e75072e11fe3db017fa","6a52170a5e4600bbb47a94a1dd9522dca7348ce591d8cdbb7d4fe3e23bbea461","6f6eadb32844b0ec7b322293b011316486894f110443197c4c9fbcba01b3b2fa","a51e08f41e3e948c287268a275bfe652856a10f68ddd2bf3e3aaf5b8cdb9ef85","16c144a21cd99926eeba1605aec9984439e91aa864d1c210e176ca668f5f586a","af48a76b75041e2b3e7bd8eed786c07f39ea896bb2ff165e27e18208d09b8bee","ef1aa3da0d6bc679154169c3830ab65441b615641a6e982410ee3cbdc66fa290","deb092bc337b2cb0a1b14f3d43f56bc663e1447694e6d479d6df8296bdd452d6","aa4e4a68ce82cb642b78a1efa5768fb717ba3a019641d161c803a09c748813d1","77165b117f552be305d3bc2ef83424ff1e67afb22bfabd14ebebb3468c21fcaa","128e7c2ffd37aa29e05367400d718b0e4770cefb1e658d8783ec80a16bc0643a","076ac4f2d642c473fa7f01c8c1b7b4ef58f921130174d9cf78430651f44c43ec","396c1e5a39706999ec8cc582916e05fcb4f901631d2c192c1292e95089a494d9","89df75d28f34fc698fe261f9489125b4e5828fbd62d863bbe93373d3ed995056","a0c6216075f54cafdfa90412596b165ff85e2cadd319c49557cc8410f487b77c","3c359d811ec0097cba00fb2afd844b125a2ddf4cad88afaf864e88c8d3d358bd","d8ec19be7d6d3950992c3418f3a4aa2bcad144252bd7c0891462b5879f436e4e","fc41a87f0424444cd670d034669debf43dfc0a692bedd8e8f8bee2d3f561a8e4","d62f09256941e92a95b78ae2267e4cf5ff2ca8915d62b9561b1bc85af1baf428","8949f85fb38104d50011076ac359186889d6e18e230b0cf8256230e802e8c4ed","fe4613c6c0d23edc04cd8585bdd86bc7337dc6265fb52037d11ca19eeb5e5aaf","e07dc93779a5b5f0bef88a7c942bf5e0045c48978d2b8447e64de231d19d53ad","e6223b7263dd7a49f4691bf8df2b1e69f764fb46972937e6f9b28538d050b1ba","bf6599adc97713bc0eefb924accc7cb92c4415718650166fcf6157a1ef024f01","1db014db736a09668e0c0576585174dbcfd6471bb5e2d79f151a241e0d18d66b","8a153d30edde9cefd102e5523b5a9673c298fc7cf7af5173ae946cbb8dd48f11","abaaf8d606990f505ee5f76d0b45a44df60886a7d470820fcfb2c06eafa99659","8109e0580fc71dbefd6091b8825acf83209b6c07d3f54c33afeafab5e1f88844","d92a80c2c05cf974704088f9da904fe5eadc0b3ad49ddd1ef70ca8028b5adda1","fbd7450f20b4486c54f8a90486c395b14f76da66ba30a7d83590e199848f0660","ece5b0e45c865645ab65880854899a5422a0b76ada7baa49300c76d38a530ee1","62d89ac385aeab821e2d55b4f9a23a277d44f33c67fefe4859c17b80fdb397ea","fdf7c509d71aa2449602687f9689ce294510985f701e97b014f5aef69f5cbec7","073a6ce395062555d9efb5e6fe19ff4d0346a135b23037a82aff0965b1fa632f","df29ade4994de2d9327a5f44a706bbe6103022a8f40316839afa38d3e078ee06","82d3e00d56a71fc169f3cf9ec5f5ffcc92f6c0e67d4dfc130dafe9f1886d5515","f06737e21dd482dc9ea719299a665460aaa9d0f185c7302703468f46002cc16e","4c30a5cb3097befb9704d16aa4670e64e39ea69c5964a1433b9ffd32e1a5a3a1","7b3a5e25bf3c51af55cb2986b89949317aa0f6cbfb5317edd7d4037fa52219a9","b4f1cc43cdf2f75f62ea43ab32ac29e26649920906712d9605cef4849f48065b","9fac6ebf3c60ced53dd21def30a679ec225fc3ff4b8d66b86326c285a4eebb5a","f3372851e708211ee805349e38c96a7c89dc797ca7ca711c380a55e851c2c4bd","07bc8a3551e39e70c38e7293b1a09916867d728043e352b119f951742cb91624","e47adc2176f43c617c0ab47f2d9b2bb1706d9e0669bf349a30c3fe09ddd63261","7fec79dfd7319fec7456b1b53134edb54c411ba493a0aef350eee75a4f223eeb","189c489705bb96a308dcde9b3336011d08bfbca568bcaf5d5d55c05468e9de7a","98f4b1074567341764b580bf14c5aabe82a4390d11553780814f7e932970a6f7","abdc0a8843b28c3cafbefb90079690b17b7b4e2a9c9bbf2cd8762e11a3958034","2e252235037a2cd8feebfbf74aa460f783e5d423895d13f29a934d7655a1f8be","763f4ac187891a6d71ae8821f45eef7ff915b5d687233349e2c8a76c22b3bf2a","1e6a1b9497acf32b7a94243114b78b9474efcfb2374290b126b00a812bce05e4","290f704ccc103e6e44d9419a72bd35098aed307fcaf56b86f9bf34148a8cf11b","f14ea3285e1ac0da3649fa96e03721aed45839f1baa022afc86dc1683468e3e7","8c59d8256086ed17676139ee43c1155673e357ab956fb9d00711a7cac73e059d","cfe88132f67aa055a3f49d59b01585fa8d890f5a66a0a13bb71973d57573eee7","d64319891ac496ddadecef7e55d50282eb6cd0ee283825f6b3c1ed94cdf2b6b4","4f8c8e58a79e5a00a92c436fc2638fc66c046c616ff91ac47135cc34765568e4","d14577d1a577019b30158edf7a8fff18567db324000af392d69495bedd92def4","f25658f5ef0dda34117d429357d954b3d64707b9476a2c5a4c995c247c8daac7","7c648b735f86cae1265fb473e0cd243bf33096e1b75f1bfb9d5ca4bae59046ae","3fe7c235fdf13229b5ab429af7982f5898fa1fe53e79f38fd723fa93e0a247b3","406bfb31ff765a25d4784d4228c2dfcd491202ee13c73bd6bd49c4f0abf42318","1a5ddaa59c41d5445d9cbd0b0b631a38dfc2f7ab76d3a7cf1f778b45a90ad79b","e4904558e17f559daad4ec1544791f86ace06c0197b3599c92b2b360803c1b40","9d774a818a804bb20190221aaa6b6704331449a485576a190dcbe5c48bc0093b","a5c47b4bc00ad57381d199f11e8c208cd264565ce6f472189fe0a306683a81bf","dd5f86d84847edbd93f4472cc4c767e5c554f679f45b1ea8a154815befeefb54","233f8ec3666bd34686634570c86df0fe6128dd2ec8f682e0f46bddc982cdfd57","67ae5eaf9ef6ed32a30aced05943e9f83df215d62f80076f7cce3a55d08c8722","bcccb99dcb910e80c76de4c511ff0d1d62b8ee6d77af97257d9174be8c7655da","277c5f588aec03c0dd55cb5363a4f5ee4afda869dde807b7e0f40245974e21af","c724034e22cbbde98550aca4ee32006f7f4c566885328949ac16ff9ff2f76e89","809d90f35b18b3db6b9e8b1cd03dd83e20a39e2b791a7c7e6f801c9010bc639b","2c67a22bcda6fa1ed6fcec0004e5c7a483a82a26855416432115244d8fbe1c9d","b026ac7cf41eaf911c99a020f9f8e0a6028acdc55aeacbe1dc0a882f9ecc1029","0cfba391d7c2d33e0f5fc70390ea5e5d80b203d0bfb01ad53972dfd68dd391c6","8c1acb9e52057fec074d73f3fdbcd9ec7357264d755dac53453854f961de070f","c8f139a3bded5ea7490ddf0a7657254373e10c7819a3ae8567ac4e414c5cff29","7dd83ea3e9b9e1515a376e327b4767e508688475835ad0af4e02d3c63d21c8cc","a0aaeafd591328335a3d5585c8809b25e857941b00ae966011ff32733d08e06f","1c3d83d1f46014ac3928559b2e815e4db765d619e57fb4f4918e5d699233ef0f","ddb0b9fcd2670bce028e60ca5768719c5d21508b00dc83acf6af25cbe1fcc5ec","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9d38964b57191567a14b396422c87488cecd48f405c642daa734159875ee81d9","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","0dc6940ff35d845686a118ee7384713a84024d60ef26f25a2f87992ec7ddbd64",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","0c5a621a8cf10464c2020f05c99a86d8ac6875d9e17038cb8522cc2f604d539f","1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","dcc9081d68c2ade5c51ac7bf5f37cce630359408e713999269b77f611a30d871","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"2c3f7a5c19b6725d484f809ac416f88531dfeec945fbb5e5dd72d1f38d824edb","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","5c45abf1e13e4463eacfd5dedda06855da8748a6a6cb3334f582b52e219acc04","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"46894b2a21a60f8449ca6b2b7223b7179bba846a61b1434bed77b34b2902c306","affectsGlobalScope":true},"b0f9ef6423d6b29dde29fd60d83d215796b2c1b76bfca28ac374ae18702cfb8e","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","5b5337f28573ffdbc95c3653c4a7961d0f02fdf4788888253bf74a3b5a05443e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","85f8ebd7f245e8bf29da270e8b53dcdd17528826ffd27176c5fc7e426213ef5a","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","6dd20f5b39d29f0dabf7798cdbf772c03c5d6721e60a09e7706afddf5599fad9","a0371a3673b043959143ecba86874ad0d53b5241189c4321cafb0b7f0cb8198d","966e5379af55eb4be9366a43b5e589e82a77de5b4ee2eaf5dff84318b32546b6","24bd01a91f187b22456c7171c07dbf44f3ad57ebd50735aab5c13fa23d7114b4","4738eefeaaba4d4288a08c1c226a76086095a4d5bcc7826d2564e7c29da47671","992efcb9585b1019601baea9d3fefab34db8f2f8d6319eb5d6c1a068fdf721c7","8f75e211a2e83ff216eb66330790fb6412dcda2feb60c4f165c903cf375633ee","5adcc724bcfdac3c86ace088e93e1ee605cbe986be5e63ddf04d05b4afdeee71","a9155c6deffc2f6a69e69dc12f0950ba1b4db03b3d26ab7a523efc89149ce979","c99faf0d7cb755b0424a743ea0cbf195606bf6cd023b5d10082dba8d3714673c","21942c5a654cc18ffc2e1e063c8328aca3b127bbf259c4e97906d4696e3fa915","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e"],"root":[[667,669],[673,675]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strictBindCallApply":false,"strictNullChecks":false,"target":8},"fileIdsList":[[667,668,669,673,674],[245,502,664,671,672],[664,666],[497,664],[664,665,666],[497,502,664,667,668],[676],[704],[399,401],[392,401,402],[431],[343,431],[432,433],[334,403,434,436,437],[245,392],[435],[392,399,400],[400,401],[392],[497],[404,405,406,407,408,409,410,411,412,413,414,415,416,417],[348,379],[355],[345,392,497],[422,423,424,425,426,427,428,429],[350],[392,497],[418,421,430],[419,420],[383],[350,351,352,353],[439],[439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460],[465],[462,463],[314,333,464],[55,354,392,399,431,438,461,466,487,492,494,496],[339,348],[338],[339,340,341,583,588],[340,348],[245,338],[348,468],[342,470],[245,343],[338,392],[347,348],[360],[362,363,364,365,366],[354,355,368,371],[372,373,374],[333],[335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,355,360,361,367,371,375,376,377,379,387,388,389,390,391],[370],[356,357,358,359],[348,356,357],[348,354,355],[348,358],[348,383],[378,380,381,382,383,384,385,386],[335,348],[379],[335,348,378,382,384],[357],[380],[348,379,380,381],[56],[56,348,352,387],[368,369,370],[344,346,355,361,368,372,388,389,392],[339,344,346,349,388,389],[353],[245],[56,392,393,397],[397,398],[392,393],[392,393,394],[394,395],[394,395,396],[349],[480],[480,481,482,483,484,485],[472,480],[480,481,482,483,484],[349,480,483],[467,473,474,475,476,477,478,479,486],[349,392,473],[349,472],[349,472,497],[342,348,349,468,469,470,471,472],[245,392,468,469,488],[392,468],[490],[431,488],[488,489,491],[56,493],[378],[354,392],[495],[368,371,392,497],[573],[392,497,647,648],[561],[572,646,647],[576,577],[339,392,586,645,647],[497,574,579],[338,497,580,583],[392,585,587,591,645,647,649],[338,589,590],[580],[245,392,497,594],[392,497,586,645,647,649],[593,595,596],[392,647],[647],[392,497,594],[338,392,497],[392,497,572,592,594,597,600,605,606,620,621,645,647],[579,582,622],[606,619],[55,574,575,578,581,611,619,623,626,630,631,632,633,635,641,643,649],[392,497,566,614,646,647],[392,570],[392,497,561,569,570,571,572,644,646,647,649],[572,608,616,618,645,647],[392,497,646,647],[607],[645,646,647],[497,566,610,645,646],[392,497,561,646],[497,571,572,612,613,616,617],[497,566,614,615,645,646,647],[348,497],[392,561,616,645,647],[646],[563,564,565,609,645,646,647],[569,610,624,625],[497,561,647],[497,561],[562,563,564,565,567,569],[566],[568,569],[497,562,563,564,565,567,568],[598,599],[392,586,645,647,649],[376],[360,392,627,628],[629],[392,649],[392,645],[370,392,497,566,614,615,645,646,647],[56,368,392,497,574,610,631,645,649],[370,371,497,560,573],[602,603,604],[497,601],[634],[313,333,497],[637,639,640],[636],[638],[497,572,637,646],[584],[392,497,561,610,611,645,646,647,649],[642],[56,245,506,526],[56,502,506,509,526],[56,245,333,506,526,528,529],[56,506,526,531],[506,510,519,520,527],[245,504,505,526],[56,506,526],[56,245,296,333,506,514,526],[322,333,506,509,519,526],[506,507,527,530,532,533,534,535,536],[524,538,539,540,541,542,543],[502,524],[524],[509,524],[519],[516],[545,546,547,548,549,550],[516,522],[526],[510,515],[670],[245,497],[552,553,554],[553],[304,322,333],[296,333],[322,333],[498,499,500,501,508],[284,333,498],[333,526],[333,502,507],[284,304,333],[55,509,516,526,537,544,551,555,559,650,653,662,663],[322,333,497,504,505,509,510,518,537],[503],[246,503,504,505,517,518,519,520,521,522,523,525],[322,333,497,502,504,505,509,510,511,512,513,514,517],[497,557],[557,558],[392,526],[556],[56,497,518,560,610,631,645,649],[529,651,652],[654,655,656,657,658,659,660,661],[516,518,526,551,654],[56,502,509,516,526,544,654],[333,516,518,526,528,654],[516,518,526,531,654],[516,526,654],[503,514,516,526,544,654],[304,333,509,516,518,526,654],[56,245,504,505,524,526],[676,677,678,679,680],[676,678],[299,333,682],[299,333],[686,688],[685,686,687],[296,299,333,691,692,693],[683,692,694,696],[297,333],[699],[700],[706,709],[247],[283],[284,289,317],[285,296,297,304,314,325],[285,286,296,304],[287,326],[288,289,297,305],[289,314,322],[290,292,296,304],[283,291],[292,293],[296],[294,296],[283,296],[296,297,298,314,325],[296,297,298,311,314,317],[281,284,330],[292,296,299,304,314,325],[296,297,299,300,304,314,322,325],[299,301,314,322,325],[247,248,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332],[296,302],[303,325,330],[292,296,304,314],[305],[306],[283,307],[308,324,330],[309],[310],[296,311,312],[311,313,326,328],[284,296,314,315,316,317],[284,314,316],[314,315],[317],[318],[283,314],[296,320,321],[320,321],[289,304,314,322],[323],[304,324],[284,299,310,325],[289,326],[314,327],[303,328],[329],[284,289,296,298,307,314,325,328,330],[314,331],[713,752],[713,737,752],[752],[713],[713,738,752],[713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751],[738,752],[297,314,333,690],[299,333,690,695],[759],[684,711,754,756,760],[284,297,299,300,301,304,314,325,711,755,756,757,758],[299,314,333],[284,297,755,756],[755],[760,761,762,763],[760,761,764],[760,761],[299,300,304,711,760],[765],[702,708],[706],[703,707],[705],[57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,176,177,178,180,189,191,192,193,194,195,196,198,199,201,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244],[102],[58,61],[60],[60,61],[57,58,59,61],[58,60,61,218],[61],[57,60,102],[60,61,218],[60,226],[58,60,61],[70],[93],[114],[60,61,102],[61,109],[60,61,102,120],[60,61,120],[61,161],[61,102],[57,61,179],[57,61,180],[202],[186,188],[197],[186],[57,61,179,186,187],[179,180,188],[200],[57,61,186,187,188],[59,60,61],[57,61],[58,60,180,181,182,183],[102,180,181,182,183],[180,182],[60,181,182,184,185,189],[57,60],[61,204],[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],[190],[258,262,325],[258,314,325],[253],[255,258,322,325],[304,322],[253,333],[255,258,304,325],[250,251,254,257,284,296,314,325],[250,256],[254,258,284,317,325,333],[284,333],[274,284,333],[252,253,333],[258],[252,253,254,255,256,257,258,259,260,262,263,264,265,266,267,268,269,270,271,272,273,275,276,277,278,279,280],[258,265,266],[256,258,266,267],[257],[250,253,258],[258,262,266,267],[262],[256,258,261,325],[250,255,256,258,262,265],[284,314],[253,258,274,284,330,333]],"referencedMap":[[675,1],[673,2],[668,3],[674,4],[667,5],[669,6],[678,7],[705,8],[402,9],[403,10],[432,11],[433,12],[434,13],[438,14],[435,15],[436,16],[401,17],[437,18],[405,19],[406,19],[408,20],[418,21],[410,22],[413,19],[414,19],[415,19],[417,23],[425,24],[430,25],[422,26],[423,27],[431,28],[421,29],[420,30],[354,31],[455,32],[440,32],[447,32],[444,32],[457,32],[448,32],[454,32],[458,32],[461,33],[452,32],[442,32],[460,32],[445,32],[443,32],[453,32],[449,32],[459,32],[446,32],[456,32],[441,32],[451,32],[450,32],[466,34],[464,35],[465,36],[497,37],[583,38],[339,39],[589,40],[588,41],[340,42],[341,39],[469,43],[471,44],[344,45],[343,46],[346,45],[349,47],[361,48],[367,49],[372,50],[375,51],[374,52],[392,53],[560,54],[360,55],[358,56],[356,57],[357,58],[384,59],[387,60],[380,61],[385,62],[383,63],[386,64],[381,65],[382,66],[370,67],[388,68],[371,69],[390,70],[391,71],[355,72],[389,73],[398,74],[399,75],[394,76],[395,77],[396,78],[397,79],[467,80],[481,81],[486,82],[482,81],[483,83],[485,84],[484,85],[487,86],[474,87],[475,88],[478,89],[477,89],[476,88],[479,88],[473,90],[489,91],[488,92],[491,93],[490,94],[492,95],[493,67],[494,96],[495,97],[472,98],[496,99],[573,100],[574,101],[649,102],[575,103],[577,104],[578,105],[587,106],[580,107],[584,108],[592,109],[590,20],[591,110],[581,111],[595,112],[596,113],[597,114],[586,115],[582,116],[606,117],[594,118],[622,119],[579,101],[623,120],[620,121],[621,20],[644,122],[615,123],[571,124],[645,125],[619,126],[566,127],[608,128],[614,129],[613,130],[647,131],[618,132],[616,133],[570,134],[646,135],[572,136],[610,137],[626,138],[624,20],[562,20],[609,139],[563,27],[564,103],[565,140],[568,141],[567,142],[625,143],[569,144],[600,145],[598,112],[599,146],[611,147],[629,148],[630,149],[627,150],[628,151],[631,152],[632,153],[633,154],[605,155],[602,156],[603,19],[604,146],[635,157],[634,158],[641,159],[648,20],[637,160],[636,20],[639,161],[640,162],[585,163],[612,164],[643,165],[642,20],[527,166],[507,167],[530,168],[532,169],[533,170],[506,171],[534,172],[535,173],[536,174],[537,175],[544,176],[538,177],[539,178],[540,178],[541,178],[542,178],[543,179],[545,180],[547,181],[548,20],[551,182],[549,183],[550,20],[665,184],[516,185],[671,186],[552,187],[555,188],[554,189],[502,190],[528,191],[512,52],[513,192],[509,193],[499,194],[501,195],[508,196],[498,197],[664,198],[519,199],[517,181],[504,200],[526,201],[521,73],[518,202],[525,178],[505,200],[558,203],[559,204],[556,205],[557,206],[650,207],[653,208],[529,52],[662,209],[655,210],[656,211],[657,212],[658,213],[659,214],[660,215],[661,216],[654,217],[681,218],[677,7],[679,219],[680,7],[683,220],[682,221],[689,222],[688,223],[694,224],[697,225],[698,226],[700,227],[701,228],[710,229],[247,230],[248,230],[283,231],[284,232],[285,233],[286,234],[287,235],[288,236],[289,237],[290,238],[291,239],[292,240],[293,240],[295,241],[294,242],[296,243],[297,244],[298,245],[282,246],[299,247],[300,248],[301,249],[333,250],[302,251],[303,252],[304,253],[305,254],[306,255],[307,256],[308,257],[309,258],[310,259],[311,260],[312,260],[313,261],[314,262],[316,263],[315,264],[317,265],[318,266],[319,267],[320,268],[321,269],[322,270],[323,271],[324,272],[325,273],[326,274],[327,275],[328,276],[329,277],[330,278],[331,279],[737,280],[738,281],[713,282],[716,282],[735,280],[736,280],[726,280],[725,283],[723,280],[718,280],[731,280],[729,280],[733,280],[717,280],[730,280],[734,280],[719,280],[720,280],[732,280],[714,280],[721,280],[722,280],[724,280],[728,280],[739,284],[727,280],[715,280],[752,285],[746,284],[748,286],[747,284],[740,284],[741,284],[743,284],[745,284],[749,286],[750,286],[742,286],[744,286],[691,287],[696,288],[760,289],[757,290],[759,291],[755,292],[758,293],[756,294],[764,295],[762,296],[763,297],[761,298],[766,299],[709,300],[707,301],[708,302],[666,190],[706,303],[245,304],[196,305],[194,305],[244,306],[209,307],[208,307],[109,308],[60,309],[216,308],[217,308],[219,310],[220,308],[221,311],[120,312],[222,308],[193,308],[223,308],[224,313],[225,308],[226,307],[227,314],[228,308],[229,308],[230,308],[231,308],[232,307],[233,308],[234,308],[235,308],[236,308],[237,315],[238,308],[239,308],[240,308],[241,308],[242,308],[59,306],[62,311],[63,311],[64,311],[65,311],[66,311],[67,311],[68,311],[69,308],[71,316],[72,311],[70,311],[73,311],[74,311],[75,311],[76,311],[77,311],[78,311],[79,308],[80,311],[81,311],[82,311],[83,311],[84,311],[85,308],[86,311],[87,311],[88,311],[89,311],[90,311],[91,311],[92,308],[94,317],[93,311],[95,311],[96,311],[97,311],[98,311],[99,315],[100,308],[101,308],[115,318],[103,319],[104,311],[105,311],[106,308],[107,311],[108,311],[110,320],[111,311],[112,311],[113,311],[114,311],[116,311],[117,311],[118,311],[119,311],[121,321],[122,311],[123,311],[124,311],[125,308],[126,311],[127,322],[128,322],[129,322],[130,308],[131,311],[132,311],[133,311],[138,311],[134,311],[135,308],[136,311],[137,308],[139,311],[140,311],[141,311],[142,311],[143,311],[144,311],[145,308],[146,311],[147,311],[148,311],[149,311],[150,311],[151,311],[152,311],[153,311],[154,311],[155,311],[156,311],[157,311],[158,311],[159,311],[160,311],[161,311],[162,323],[163,311],[164,311],[165,311],[166,311],[167,311],[168,311],[169,308],[170,308],[171,308],[172,308],[173,308],[174,311],[175,311],[176,311],[177,311],[195,324],[243,308],[180,325],[179,326],[203,327],[202,328],[198,329],[197,328],[199,330],[188,331],[186,332],[201,333],[200,330],[189,334],[102,335],[58,336],[57,311],[184,337],[185,338],[183,339],[181,311],[190,340],[61,341],[207,307],[205,342],[178,343],[191,344],[265,345],[272,346],[264,345],[279,347],[256,348],[255,349],[278,52],[273,350],[276,351],[258,352],[257,353],[253,354],[252,355],[275,356],[254,357],[259,358],[263,358],[281,359],[280,358],[267,360],[268,361],[270,362],[266,363],[269,364],[274,52],[261,365],[262,366],[271,367],[251,368],[277,369]],"exportedModulesMap":[[675,1],[673,2],[668,3],[674,4],[667,5],[669,6],[678,7],[705,8],[402,9],[403,10],[432,11],[433,12],[434,13],[438,14],[435,15],[436,16],[401,17],[437,18],[405,19],[406,19],[408,20],[418,21],[410,22],[413,19],[414,19],[415,19],[417,23],[425,24],[430,25],[422,26],[423,27],[431,28],[421,29],[420,30],[354,31],[455,32],[440,32],[447,32],[444,32],[457,32],[448,32],[454,32],[458,32],[461,33],[452,32],[442,32],[460,32],[445,32],[443,32],[453,32],[449,32],[459,32],[446,32],[456,32],[441,32],[451,32],[450,32],[466,34],[464,35],[465,36],[497,37],[583,38],[339,39],[589,40],[588,41],[340,42],[341,39],[469,43],[471,44],[344,45],[343,46],[346,45],[349,47],[361,48],[367,49],[372,50],[375,51],[374,52],[392,53],[560,54],[360,55],[358,56],[356,57],[357,58],[384,59],[387,60],[380,61],[385,62],[383,63],[386,64],[381,65],[382,66],[370,67],[388,68],[371,69],[390,70],[391,71],[355,72],[389,73],[398,74],[399,75],[394,76],[395,77],[396,78],[397,79],[467,80],[481,81],[486,82],[482,81],[483,83],[485,84],[484,85],[487,86],[474,87],[475,88],[478,89],[477,89],[476,88],[479,88],[473,90],[489,91],[488,92],[491,93],[490,94],[492,95],[493,67],[494,96],[495,97],[472,98],[496,99],[573,100],[574,101],[649,102],[575,103],[577,104],[578,105],[587,106],[580,107],[584,108],[592,109],[590,20],[591,110],[581,111],[595,112],[596,113],[597,114],[586,115],[582,116],[606,117],[594,118],[622,119],[579,101],[623,120],[620,121],[621,20],[644,122],[615,123],[571,124],[645,125],[619,126],[566,127],[608,128],[614,129],[613,130],[647,131],[618,132],[616,133],[570,134],[646,135],[572,136],[610,137],[626,138],[624,20],[562,20],[609,139],[563,27],[564,103],[565,140],[568,141],[567,142],[625,143],[569,144],[600,145],[598,112],[599,146],[611,147],[629,148],[630,149],[627,150],[628,151],[631,152],[632,153],[633,154],[605,155],[602,156],[603,19],[604,146],[635,157],[634,158],[641,159],[648,20],[637,160],[636,20],[639,161],[640,162],[585,163],[612,164],[643,165],[642,20],[527,166],[507,167],[530,168],[532,169],[533,170],[506,171],[534,172],[535,173],[536,174],[537,175],[544,176],[538,177],[539,178],[540,178],[541,178],[542,178],[543,179],[545,180],[547,181],[548,20],[551,182],[549,183],[550,20],[665,184],[516,185],[671,186],[552,187],[555,188],[554,189],[502,190],[528,191],[512,52],[513,192],[509,193],[499,194],[501,195],[508,196],[498,197],[664,198],[519,199],[517,181],[504,200],[526,201],[521,73],[518,202],[525,178],[505,200],[558,203],[559,204],[556,205],[557,206],[650,207],[653,208],[529,52],[662,209],[655,210],[656,211],[657,212],[658,213],[659,214],[660,215],[661,216],[654,217],[681,218],[677,7],[679,219],[680,7],[683,220],[682,221],[689,222],[688,223],[694,224],[697,225],[698,226],[700,227],[701,228],[710,229],[247,230],[248,230],[283,231],[284,232],[285,233],[286,234],[287,235],[288,236],[289,237],[290,238],[291,239],[292,240],[293,240],[295,241],[294,242],[296,243],[297,244],[298,245],[282,246],[299,247],[300,248],[301,249],[333,250],[302,251],[303,252],[304,253],[305,254],[306,255],[307,256],[308,257],[309,258],[310,259],[311,260],[312,260],[313,261],[314,262],[316,263],[315,264],[317,265],[318,266],[319,267],[320,268],[321,269],[322,270],[323,271],[324,272],[325,273],[326,274],[327,275],[328,276],[329,277],[330,278],[331,279],[737,280],[738,281],[713,282],[716,282],[735,280],[736,280],[726,280],[725,283],[723,280],[718,280],[731,280],[729,280],[733,280],[717,280],[730,280],[734,280],[719,280],[720,280],[732,280],[714,280],[721,280],[722,280],[724,280],[728,280],[739,284],[727,280],[715,280],[752,285],[746,284],[748,286],[747,284],[740,284],[741,284],[743,284],[745,284],[749,286],[750,286],[742,286],[744,286],[691,287],[696,288],[760,289],[757,290],[759,291],[755,292],[758,293],[756,294],[764,295],[762,296],[763,297],[761,298],[766,299],[709,300],[707,301],[708,302],[666,190],[706,303],[245,304],[196,305],[194,305],[244,306],[209,307],[208,307],[109,308],[60,309],[216,308],[217,308],[219,310],[220,308],[221,311],[120,312],[222,308],[193,308],[223,308],[224,313],[225,308],[226,307],[227,314],[228,308],[229,308],[230,308],[231,308],[232,307],[233,308],[234,308],[235,308],[236,308],[237,315],[238,308],[239,308],[240,308],[241,308],[242,308],[59,306],[62,311],[63,311],[64,311],[65,311],[66,311],[67,311],[68,311],[69,308],[71,316],[72,311],[70,311],[73,311],[74,311],[75,311],[76,311],[77,311],[78,311],[79,308],[80,311],[81,311],[82,311],[83,311],[84,311],[85,308],[86,311],[87,311],[88,311],[89,311],[90,311],[91,311],[92,308],[94,317],[93,311],[95,311],[96,311],[97,311],[98,311],[99,315],[100,308],[101,308],[115,318],[103,319],[104,311],[105,311],[106,308],[107,311],[108,311],[110,320],[111,311],[112,311],[113,311],[114,311],[116,311],[117,311],[118,311],[119,311],[121,321],[122,311],[123,311],[124,311],[125,308],[126,311],[127,322],[128,322],[129,322],[130,308],[131,311],[132,311],[133,311],[138,311],[134,311],[135,308],[136,311],[137,308],[139,311],[140,311],[141,311],[142,311],[143,311],[144,311],[145,308],[146,311],[147,311],[148,311],[149,311],[150,311],[151,311],[152,311],[153,311],[154,311],[155,311],[156,311],[157,311],[158,311],[159,311],[160,311],[161,311],[162,323],[163,311],[164,311],[165,311],[166,311],[167,311],[168,311],[169,308],[170,308],[171,308],[172,308],[173,308],[174,311],[175,311],[176,311],[177,311],[195,324],[243,308],[180,325],[179,326],[203,327],[202,328],[198,329],[197,328],[199,330],[188,331],[186,332],[201,333],[200,330],[189,334],[102,335],[58,336],[57,311],[184,337],[185,338],[183,339],[181,311],[190,340],[61,341],[207,307],[205,342],[178,343],[191,344],[265,345],[272,346],[264,345],[279,347],[256,348],[255,349],[278,52],[273,350],[276,351],[258,352],[257,353],[253,354],[252,355],[275,356],[254,357],[259,358],[263,358],[281,359],[280,358],[267,360],[268,361],[270,362],[266,363],[269,364],[274,52],[261,365],[262,366],[271,367],[251,368],[277,369]]},"version":"5.3.3"} \ No newline at end of file diff --git a/lib/kafka.server.ts b/lib/kafka.server.ts index ebd66a5..354a736 100644 --- a/lib/kafka.server.ts +++ b/lib/kafka.server.ts @@ -7,6 +7,7 @@ import { } from '@nestjs/microservices/external/kafka.interface'; import { KafkaBatchDeserializer } from './kafka.deserializer'; import { KafkaBatchContext } from './kafka.context'; +import { Logger } from '@nestjs/common'; export interface BatchKafkaOptionsConfig extends Omit { @@ -22,6 +23,7 @@ export type BatchConsumerRunConfig = { }; export class KafkaBatchServer extends ServerKafka { + logger = new Logger(KafkaBatchServer.name); constructor(readonly options: BatchKafkaOptionsConfig) { super(options); } @@ -36,7 +38,10 @@ export class KafkaBatchServer extends ServerKafka { topics: registeredPatterns, }); } - + console.log( + JSON.stringify(this.options.run, null, 2), + 'CHECK: this.options.run', + ); const consumerRunOptions = Object.assign(this.options.run || {}, { eachBatch: this.getMessageHandler(), }); @@ -50,6 +55,17 @@ export class KafkaBatchServer extends ServerKafka { // @ts-expect-error Different interface with parent class (EachMessagePayload vs EachBatchPayload) public async handleMessage(payload: EachBatchPayload) { + this.logger.log( + '[KAFKA] Batch messages received', + 'handleMessage', + { + topicName: payload.batch.topic, + partition: payload.batch.partition, + numberOfMessages: payload.batch.messages.length, + firstOffset: payload.batch.firstOffset(), + lastOffset: payload.batch.lastOffset(), + } + ) const channel = payload.batch.topic; const rawMessages = []; for (const message of payload.batch.messages) {